Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
99 commits
Select commit Hold shift + click to select a range
60f4e11
Merged master into release branch for 2026.2 after merge of release 2…
Jan 27, 2026
aa0cb70
CCR0262: add search parameter 'topic' for ehealth-message and update …
BastianTrifork Feb 4, 2026
90d53aa
updated IG dependency "dk.core" to 3.5.0
BastianTrifork Feb 6, 2026
abb865c
added dk.core 3.5.0 upgrade to changelog
BastianTrifork Feb 6, 2026
42c6226
Merge branch 'release_2026.2' into CCR0297-dk.core-3.5.0
BastianTrifork Feb 6, 2026
64514cb
FUT1-22435,FUT1-22151 ConceptMap validation
tyfoni-systematic Feb 6, 2026
a1ec54f
Merge pull request #229 from fut-infrastructure/CCR0297-dk.core-3.5.0
BastianTrifork Feb 10, 2026
0e653c4
Merge branch 'release_2026.2' into CCR0262
BastianTrifork Feb 10, 2026
419cedf
Merge pull request #228 from fut-infrastructure/CCR0262
BastianTrifork Feb 10, 2026
cc86563
FUT1-19959 Update SKS CodeSystem with wounds codes, add new ValueSet …
sysMATGS Feb 10, 2026
5dd74d8
FUT1-19959 Added Danish designations for SKS where "UNS" is written o…
sysMATGS Feb 11, 2026
d8cff35
FUT1-19959 Handled review comments
sysMATGS Feb 11, 2026
473a554
FUT1-22442
Feb 11, 2026
615657a
FUT1-22442
Feb 11, 2026
e1e50e4
FUT1-22442
Feb 12, 2026
676972a
Merge pull request #232 from fut-infrastructure/CCR0297_update_profil…
sys-alex-matic Feb 12, 2026
7a56df5
FUT1-19959 Handled review comments and corrections fra Wound project
sysMATGS Feb 12, 2026
ee4b87d
FUT1-22438 Update DkCore dependency version and test using DkCoreOrga…
sysMATGS Feb 12, 2026
4845d74
FUT1-22438 Update ehealth-patient to use DkCoreOrganization Reference
sysMATGS Feb 12, 2026
9d2df2f
FUT1-22442
Feb 12, 2026
ea968b9
FUT1-15818 Add "fob" as ehealth-program
sysMATGS Feb 18, 2026
3830cd3
Merge pull request #234 from fut-infrastructure/FUT1-15919_add_fob_pr…
sysMATGS Feb 18, 2026
9e0fc09
FUT1-19959 Update VS with codes from Wounds excel sheet
sysMATGS Feb 20, 2026
c28895b
Merge pull request #231 from fut-infrastructure/CCR0297_FUT1-19959_wo…
sysMATGS Feb 20, 2026
11a7ca1
FUT1-22209
Feb 20, 2026
a9348bb
Merge branch 'CCR0297' into CCR0297_S1_extra_annotations_terminology
Feb 20, 2026
10f295e
FUT1-22209
Feb 20, 2026
dd781f5
FUT1-22209
Feb 20, 2026
0b35709
FUT1-22209
Feb 20, 2026
98a192c
communication-topic search-parameter to use the hl7 topic instead of …
BastianTrifork Mar 3, 2026
1f4c9c8
Merge branch 'release_2026.2' into FUT1-22151-upgrade-to-hapi-fhir-8.6.1
tyfoni-systematic Mar 3, 2026
e10ad0a
add communication topic searchparameter
BastianTrifork Mar 4, 2026
ca141df
Merge pull request #238 from fut-infrastructure/CCR0262.1
BastianTrifork Mar 4, 2026
8fc6b03
Merge branch 'release_2026.2' into FUT1-22151-upgrade-to-hapi-fhir-8.6.1
tyfoni-systematic Mar 5, 2026
fb5f185
Merge pull request #239 from fut-infrastructure/FUT1-22151-upgrade-to…
tyfoni-systematic Mar 5, 2026
3dd9dca
feat: CCR0303 add application-event medium and document EHealthApplic…
jhntrifork Mar 10, 2026
61e3f59
fix: address PR review feedback for EHealthApplicationEvent docs
jhntrifork Mar 11, 2026
148f94f
Merge master into release_2026.2
jhntrifork Mar 11, 2026
03f472a
Merge branch 'release_2026.2' into feat/CCR0303-application-event-medium
jhntrifork Mar 11, 2026
454897f
Merge pull request #241 from fut-infrastructure/feat/CCR0303-applicat…
jhntrifork Mar 11, 2026
456f8d5
Merge branch 'CCR0297' into CCR0297_FUT1-22438_DK_Core
sysMATGS Mar 12, 2026
ceb8c97
FUT1-22438 Bump DkCore to 3.6.0
sysMATGS Mar 12, 2026
8af6c99
Update DK Core dependency from 3.5.0 to 3.6.0
jhntrifork Mar 12, 2026
2260ae2
Set version to 8.0.2-SNAPSHOT
jhntrifork Mar 17, 2026
8da47d2
CCR0224: add POWATT to RelationshipTypes
BastianTrifork Mar 17, 2026
0a31d34
FUT1-22151 upgrade to hapi-fhir 8.6.5
tyfoni-systematic Mar 19, 2026
44ece25
FUT1-21707 FOB Treatment Areas and system
sysMATGS Mar 20, 2026
50e282e
FUT1-21707 Remove double "-" in changelog
sysMATGS Mar 20, 2026
2b58a75
Merge pull request #248 from fut-infrastructure/FUT1-22151-upgrade-to…
tyfoni-systematic Mar 20, 2026
1d7e50c
Merge pull request #244 from fut-infrastructure/update/dk-core-3.6
jhntrifork Mar 23, 2026
0cc916b
Merge pull request #246 from fut-infrastructure/CCR0224-power-of-atto…
BastianTrifork Mar 23, 2026
c330772
Merge pull request #250 from fut-infrastructure/release_2026.2
BastianTrifork Mar 23, 2026
7f2a6d8
FUT1-22209
Mar 23, 2026
95a7707
Merge pull request #249 from fut-infrastructure/FUT1-21707_FOB_tag_an…
sysMATGS Mar 24, 2026
ed37d57
FUT1-19959 Added CodeSystem for wound types
sysMATGS Mar 26, 2026
1bc1aec
Merge pull request #252 from fut-infrastructure/FUT1-19959_wound-types
sys-alex-matic Mar 26, 2026
5c066bd
Merge branch 'CCR0297' into CCR0297_S1_extra_annotations_terminology
Mar 26, 2026
2127998
FUT1-22209
Mar 26, 2026
1224abd
Merge branch 'release_2026.2' into release_2026.2-SNAPSHOT
jhntrifork Mar 26, 2026
4fdf606
FUT1-22209
Mar 27, 2026
5bec3e3
FUT1-22209
Mar 27, 2026
333939a
Merge pull request #235 from fut-infrastructure/CCR0297_S1_extra_anno…
sys-alex-matic Mar 27, 2026
26137e7
FUT1-22209
Mar 27, 2026
6a59076
Merge branch 'release_2026.2' into CCR0297
Mar 27, 2026
6c43071
Merge branch 'CCR0297' into CCR0297_FUT1-22438_DK_Core
sysMATGS Mar 27, 2026
4d3d31e
Merge pull request #245 from fut-infrastructure/CCR0297_FUT1-22438_DK…
sysMATGS Mar 27, 2026
559b9e5
FUT1-22439
Mar 27, 2026
8397c41
FUT1-22439
Mar 27, 2026
ea80d05
FUT1-22408 Added icd11-foundation-entity-id properties to ICD-11 MMS …
sysMATGS Mar 30, 2026
fd16e66
CCR0224: poa-privilege in ehealth-relatedperson (#251)
BastianTrifork Mar 30, 2026
6385513
FUT1-22439
Apr 7, 2026
89ba506
FUT1-22439
Apr 7, 2026
d345f9f
Merge pull request #254 from fut-infrastructure/FUT1-22439_CCR0297S03…
sys-alex-matic Apr 7, 2026
6d9a7df
Merge pull request #255 from fut-infrastructure/CCR0297_FUT1-22408_IC…
sysMATGS Apr 7, 2026
647ce8d
FUT1-21919
Apr 9, 2026
eb729d1
Merge pull request #257 from fut-infrastructure/CCR0297
sys-alex-matic Apr 9, 2026
b640600
FUT1-22618
Apr 10, 2026
95e4be8
FUT1-22618
Apr 10, 2026
0c1bef1
FUT1-22618
Apr 13, 2026
48d4c7e
FUT1-22618
Apr 13, 2026
cebd57f
FUT1-22618
Apr 13, 2026
f629252
FUT1-22618
Apr 13, 2026
5f86706
Merge branch 'release_2026.2-SNAPSHOT' into release_2026.2
jhntrifork Apr 13, 2026
84e6fb7
Merge pull request #258 from fut-infrastructure/CCR0297_documentation…
sys-alex-matic Apr 13, 2026
8d20935
FUT1-23057 avoid jq formatting of json
tyfoni-systematic Apr 15, 2026
bb9b78c
FUT1-23057 update capability statements for 2026.2
tyfoni-systematic Apr 15, 2026
f98ed4b
FUT1-23057 lineendings should be nl
tyfoni-systematic Apr 15, 2026
13db97f
FUT1-23057 reindex poll operation
tyfoni-systematic Apr 16, 2026
7738c6f
FUT1-23057 capability statement (meta)
tyfoni-systematic Apr 16, 2026
af1f000
FUT1-23057 Binary expunge for cleanup after bulk export
tyfoni-systematic Apr 16, 2026
1bc9188
FUT1-23057 Migrate operation
tyfoni-systematic Apr 16, 2026
9c44516
FUT1-23057 handle token timeout by login more frequent
tyfoni-systematic Apr 16, 2026
a20b518
FUT1-23057 hide non-exposed provider binary-access-
tyfoni-systematic Apr 16, 2026
48e88e7
FUT1-23057 operation examples
tyfoni-systematic Apr 17, 2026
a65fcd1
FUT1-23057 add operation examples
tyfoni-systematic Apr 17, 2026
6866905
FUT1-23057 messages
tyfoni-systematic Apr 17, 2026
3281f29
FUT1-23057 changes from PROD
tyfoni-systematic Apr 17, 2026
0cc9236
FUT1-23057 release 9.0.0 (2026.2)
tyfoni-systematic Apr 17, 2026
39aaf67
Added small segment about getting total from search result bundles
Mar 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
386 changes: 386 additions & 0 deletions _build.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,386 @@
@ECHO OFF
setlocal enabledelayedexpansion

SET "dlurl=https://github.com/HL7/fhir-ig-publisher/releases/latest/download/publisher.jar"
SET "publisher_jar=publisher.jar"
SET "input_cache_path=%CD%\input-cache\"
SET "skipPrompts=false"
SET "upper_path=..\"
SET "scriptdlroot=https://raw.githubusercontent.com/HL7/ig-publisher-scripts/main"
SET "build_bat_url=%scriptdlroot%/_build.bat"
SET "build_sh_url=%scriptdlroot%/_build.sh"



:: Debugging statements to check jar file location
ECHO Checking for publisher.jar in %input_cache_path%
IF EXIST "%input_cache_path%%publisher_jar%" (
SET "jar_location=%input_cache_path%%publisher_jar%"
ECHO Found publisher.jar in input-cache
) ELSE (
ECHO Checking for publisher.jar in %upper_path%
IF EXIST "%upper_path%%publisher_jar%" (
SET "jar_location=%upper_path%%publisher_jar%"
ECHO Found publisher.jar in parent folder
) ELSE (
SET "jar_location=not_found"
SET "default_choice=1"
ECHO publisher.jar not found in input-cache or parent folder
)
)


:: Handle command-line argument to bypass the menu
IF NOT "%~1"=="" (
IF /I "%~1"=="update" SET "userChoice=1"
IF /I "%~1"=="build" SET "userChoice=2"
IF /I "%~1"=="nosushi" SET "userChoice=3"
IF /I "%~1"=="notx" SET "userChoice=4"
IF /I "%~1"=="jekyll" SET "userChoice=5"
IF /I "%~1"=="clean" SET "userChoice=6"
IF /I "%~1"=="exit" SET "userChoice=0"
GOTO executeChoice
)

echo ---------------------------------------------------------------
ECHO Checking internet connection...
PING tx.fhir.org -4 -n 1 -w 4000 >nul 2>&1 && SET "online_status=true" || SET "online_status=false"

IF "%online_status%"=="true" (
ECHO We're online and tx.fhir.org is available.
FOR /F "tokens=2 delims=:" %%a IN ('curl -s https://api.github.com/repos/HL7/fhir-ig-publisher/releases/latest ^| findstr "tag_name"') DO SET "latest_version=%%a"
SET "latest_version=!latest_version:"=!"
SET "latest_version=!latest_version: =!"
SET "latest_version=!latest_version:~0,-1!"
) ELSE (
ECHO We're offline or tx.fhir.org is not available, can only run the publisher without TX...
SET "txoption=-tx n/a"
SET "latest_version=unknown"
SET "default_choice=4"
)

echo ---------------------------------------------------------------


IF NOT "%jar_location%"=="not_found" (
FOR /F "tokens=*" %%i IN ('java "-Dfile.encoding=UTF-8" -jar "%jar_location%" -v 2^>^&1') DO SET "publisher_version=%%i"
SET "publisher_version=!publisher_version:"=!"
ECHO Detected publisher version: !publisher_version!
) ELSE (
SET "publisher_version=unknown"
ECHO publisher.jar location is not found
)

ECHO Publisher version: !publisher_version!; Latest is !latest_version!

IF NOT "%online_status%"=="true" (
ECHO We're offline.
) ELSE (
IF NOT "!publisher_version!"=="!latest_version!" (
ECHO An update is recommended.
SET "default_choice=1"
) ELSE (
ECHO Publisher is up to date.
SET "default_choice=2"
)
)

echo ---------------------------------------------------------------
echo.

echo Please select an option:
echo 1. Download or update publisher
echo 2. Build IG
echo 3. Build IG - no sushi
echo 4. Build IG - force no TX server
echo 5. Jekyll build
echo 6. Clean up temp directories
echo 0. Exit
:: echo [Press Enter for default (%default_choice%) or type an option number:]
echo.

:: Using CHOICE to handle input with timeout
:: ECHO [Enter=Continue, 1-7=Option, 0=Exit]
choice /C 12345670 /N /CS /D %default_choice% /T 5 /M "Choose an option number or wait 5 seconds for default (%default_choice%):"
SET "userChoice=%ERRORLEVEL%"


:executeChoice
echo You selected: %userChoice%

IF "%userChoice%"=="1" GOTO downloadpublisher
IF "%userChoice%"=="2" GOTO publish_once
IF "%userChoice%"=="3" GOTO publish_nosushi
IF "%userChoice%"=="4" GOTO publish_notx
IF "%userChoice%"=="5" GOTO debugjekyll
IF "%userChoice%"=="6" GOTO clean
IF "%userChoice%"=="0" EXIT /B

:end



:debugjekyll
echo Running Jekyll build...
jekyll build -s temp/pages -d output
GOTO end


:clean
echo Cleaning up directories...
if exist ".\input-cache\publisher.jar" (
echo Preserving publisher.jar and removing other files in .\input-cache...
move ".\input-cache\publisher.jar" ".\"
rmdir /s /q ".\input-cache"
mkdir ".\input-cache"
move ".\publisher.jar" ".\input-cache"
) else (
if exist ".\input-cache\" (
rmdir /s /q ".\input-cache"
)
)
if exist ".\temp\" (
rmdir /s /q ".\temp"
echo Removed: .\temp
)
if exist ".\output\" (
rmdir /s /q ".\output"
echo Removed: .\output
)
if exist ".\template\" (
rmdir /s /q ".\template"
echo Removed: .\template
)

GOTO end





:downloadpublisher
ECHO Downloading Publisher...
:processflags
SET ARG=%1
IF DEFINED ARG (
IF "%ARG%"=="-f" SET FORCE=true
IF "%ARG%"=="--force" SET FORCE=true
SHIFT
GOTO processflags
)

FOR %%x IN ("%CD%") DO SET upper_path=%%~dpx

ECHO.
IF NOT EXIST "%input_cache_path%%publisher_jar%" (
IF NOT EXIST "%upper_path%%publisher_jar%" (
SET jarlocation="%input_cache_path%%publisher_jar%"
SET jarlocationname=Input Cache
ECHO IG Publisher is not yet in input-cache or parent folder.
REM we don't use jarlocation below because it will be empty because we're in a bracketed if statement
GOTO create
) ELSE (
ECHO IG Publisher FOUND in parent folder
SET jarlocation="%upper_path%%publisher_jar%"
SET jarlocationname=Parent folder
GOTO upgrade
)
) ELSE (
ECHO IG Publisher FOUND in input-cache
SET jarlocation="%input_cache_path%%publisher_jar%"
SET jarlocationname=Input Cache
GOTO upgrade
)

:create
IF DEFINED FORCE (
MKDIR "%input_cache_path%" 2> NUL
GOTO download
)

IF "%skipPrompts%"=="y" (
SET create=Y
) ELSE (
SET /p create="Download? (Y/N) "
)
IF /I "%create%"=="Y" (
ECHO Will place publisher jar here: %input_cache_path%%publisher_jar%
MKDIR "%input_cache_path%" 2> NUL
GOTO download
)
GOTO done

:upgrade
IF "%skipPrompts%"=="y" (
SET overwrite=Y
) ELSE (
SET /p overwrite="Overwrite %jarlocation%? (Y/N) "
)

IF /I "%overwrite%"=="Y" (
GOTO download
)
GOTO done

:download
ECHO Downloading most recent publisher to %jarlocationname% - it's ~200 MB, so this may take a bit

FOR /f "tokens=4-5 delims=. " %%i IN ('ver') DO SET VERSION=%%i.%%j
IF "%version%" == "10.0" GOTO win10
IF "%version%" == "6.3" GOTO win8.1
IF "%version%" == "6.2" GOTO win8
IF "%version%" == "6.1" GOTO win7
IF "%version%" == "6.0" GOTO vista

ECHO Unrecognized version: %version%
GOTO done

:win10
CALL POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%dlurl%\",\"%jarlocation%\") } else { Invoke-WebRequest -Uri "%dlurl%" -Outfile "%jarlocation%" }

GOTO done

:win7
rem this may be triggering the antivirus - bitsadmin.exe is a known threat
rem CALL bitsadmin /transfer GetPublisher /download /priority normal "%dlurl%" "%jarlocation%"

rem this didn't work in win 10
rem CALL Start-BitsTransfer /priority normal "%dlurl%" "%jarlocation%"

rem this should work - untested
call (New-Object Net.WebClient).DownloadFile('%dlurl%', '%jarlocation%')
GOTO done

:win8.1
:win8
:vista
GOTO done



:done




ECHO.
ECHO Updating scripts
IF "%skipPrompts%"=="y" (
SET updateScripts=Y
) ELSE (
SET /p updateScripts="Update scripts? (Y/N) "
)
IF /I "%updateScripts%"=="Y" (
GOTO scripts
)
GOTO end


:scripts

REM Download all batch files (and this one with a new name)

SETLOCAL DisableDelayedExpansion



:dl_script_1
ECHO Updating _build.sh
call POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%build_sh_url%\",\"_build.new.sh\") } else { Invoke-WebRequest -Uri "%build_sh_url%" -Outfile "_build.new.sh" }
if %ERRORLEVEL% == 0 goto upd_script_1
echo "Errors encountered during download: %errorlevel%"
goto dl_script_2
:upd_script_1
start copy /y "_build.new.sh" "_build.sh" ^&^& del "_build.new.sh" ^&^& exit


:dl_script_2
ECHO Updating _build.bat
call POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%build_bat_url%\",\"_build.new.bat\") } else { Invoke-WebRequest -Uri "%build_bat_url%" -Outfile "_build.new.bat" }
if %ERRORLEVEL% == 0 goto upd_script_2
echo "Errors encountered during download: %errorlevel%"
goto end
:upd_script_2
start copy /y "_build.new.bat" "_build.bat" ^&^& del "_build.new.bat" ^&^& exit


GOTO end


:publish_once

SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8

:: Debugging statements before running publisher
ECHO 1jar_location is: %jar_location%
IF NOT "%jar_location%"=="not_found" (
java %JAVA_OPTS% -jar "%jar_location%" -ig . %txoption% %*
) ELSE (
ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting...
)

GOTO end



:publish_nosushi

SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8

:: Debugging statements before running publisher
ECHO 3jar_location is: %jar_location%
IF NOT "%jar_location%"=="not_found" (
java %JAVA_OPTS% -jar "%jar_location%" -ig . %txoption% -no-sushi %*
) ELSE (
ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting...
)

GOTO end


:publish_notx
SET txoption=-tx n/a

SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8

:: Debugging statements before running publisher
ECHO 2jar_location is: %jar_location%
IF NOT "%jar_location%"=="not_found" (
java %JAVA_OPTS% -jar "%jar_location%" -ig . %txoption% %*
) ELSE (
ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting...
)

GOTO end




:publish_continuous

SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8

:: Debugging statements before running publisher
ECHO Checking %input_cache_path% for publisher.jar
IF EXIST "%input_cache_path%\%publisher_jar%" (
java %JAVA_OPTS% -jar "%input_cache_path%\%publisher_jar%" -ig . %txoption% -watch %*
) ELSE (
ECHO Checking %upper_path% for publisher.jar
IF EXIST "..\%publisher_jar%" (
java %JAVA_OPTS% -jar "..\%publisher_jar%" -ig . %txoption% -watch %*
) ELSE (
ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting...
)
)

GOTO end


:end

:: Pausing at the end


IF NOT "%skipPrompts%"=="true" (
PAUSE
)
Loading
Loading