commit
a390a2eded
@ -3,7 +3,7 @@ SET publisher_jar=org.hl7.fhir.publisher.jar
|
||||
SET input_cache_path=%CD%\input-cache
|
||||
|
||||
ECHO Checking internet connection...
|
||||
PING tx.fhir.org -n 1 -w 1000 | FINDSTR TTL && GOTO isonline
|
||||
PING tx.fhir.org -4 -n 1 -w 1000 | FINDSTR TTL && GOTO isonline
|
||||
ECHO We're offline...
|
||||
SET txoption=-tx n/a
|
||||
GOTO igpublish
|
||||
@ -24,4 +24,4 @@ IF EXIST "%input_cache_path%\%publisher_jar%" (
|
||||
ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting...
|
||||
)
|
||||
|
||||
PAUSE
|
||||
PAUSE
|
||||
|
||||
@ -16,7 +16,15 @@ set update_sh_url=https://raw.githubusercontent.com/FHIR/sample-ig/master/_updat
|
||||
|
||||
IF "%~1"=="/f" SET skipPrompts=true
|
||||
|
||||
ECHO "%skipPrompts%"
|
||||
|
||||
ECHO.
|
||||
ECHO Checking internet connection...
|
||||
PING tx.fhir.org -4 -n 1 -w 1000 | FINDSTR TTL && GOTO isonline
|
||||
ECHO We're offline, nothing to do...
|
||||
GOTO end
|
||||
|
||||
:isonline
|
||||
ECHO We're online
|
||||
|
||||
|
||||
:processflags
|
||||
@ -30,6 +38,7 @@ IF DEFINED ARG (
|
||||
|
||||
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%"
|
||||
@ -41,31 +50,32 @@ IF NOT EXIST "%input_cache_path%%publisher_jar%" (
|
||||
ECHO IG Publisher FOUND in parent folder
|
||||
SET jarlocation="%upper_path%%publisher_jar%"
|
||||
SET jarlocationname=Parent folder
|
||||
GOTO:upgrade
|
||||
GOTO upgrade
|
||||
)
|
||||
) ELSE (
|
||||
ECHO IG Publisher FOUND in input-cache
|
||||
SET jarlocation="%input_cache_path%%publisher_jar%"
|
||||
SET jarlocationname=Input Cache
|
||||
GOTO:upgrade
|
||||
GOTO upgrade
|
||||
)
|
||||
|
||||
:create
|
||||
IF DEFINED FORCE (
|
||||
MKDIR "%input_cache_path%" 2> NUL
|
||||
GOTO:download
|
||||
GOTO download
|
||||
)
|
||||
ECHO Will place publisher jar here: %input_cache_path%%publisher_jar%
|
||||
|
||||
IF "%skipPrompts%"=="true" (
|
||||
SET create="Y"
|
||||
) ELSE (
|
||||
SET /p create="Ok? (Y/N) "
|
||||
)
|
||||
IF /I %create%=="Y" (
|
||||
IF /I "%create%"=="Y" (
|
||||
ECHO Will place publisher jar here: %input_cache_path%%publisher_jar%
|
||||
MKDIR "%input_cache_path%" 2> NUL
|
||||
GOTO:download
|
||||
GOTO download
|
||||
)
|
||||
GOTO:done
|
||||
GOTO done
|
||||
|
||||
:upgrade
|
||||
IF "%skipPrompts%"=="true" (
|
||||
@ -74,10 +84,10 @@ IF "%skipPrompts%"=="true" (
|
||||
SET /p overwrite="Overwrite %jarlocation%? (Y/N) "
|
||||
)
|
||||
|
||||
IF /I %overwrite%=="Y" (
|
||||
GOTO:download
|
||||
IF /I "%overwrite%"=="Y" (
|
||||
GOTO download
|
||||
)
|
||||
GOTO:done
|
||||
GOTO done
|
||||
|
||||
:download
|
||||
ECHO Downloading most recent publisher to %jarlocationname% - it's ~100 MB, so this may take a bit
|
||||
@ -98,33 +108,110 @@ CALL POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object Sys
|
||||
GOTO done
|
||||
|
||||
:win7
|
||||
CALL bitsadmin /transfer GetPublisher /download /priority normal "%dlurl%" "%jarlocation%"
|
||||
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
|
||||
ECHO This script does not yet support Windows %winver%. Please ask for help on http://chat.fhir.org
|
||||
GOTO done
|
||||
|
||||
|
||||
|
||||
:done
|
||||
|
||||
|
||||
|
||||
|
||||
ECHO.
|
||||
ECHO Updating scripts
|
||||
IF "%skipPrompts%"=="true" (
|
||||
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
|
||||
|
||||
REM ==== For getting the sources online...
|
||||
POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%update_bat_url%\",\"_updatePublisher.new.bat\") } else { Invoke-WebRequest -Uri "%update_bat_url%" -Outfile "_updatePublisher.new.bat" }
|
||||
POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%gen_bat_url%\",\"_genonce.bat\") } else { Invoke-WebRequest -Uri "%gen_bat_url%" -Outfile "_genonce.bat" }
|
||||
POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%gencont_bat_url%\",\"_gencontinuous.bat\") } else { Invoke-WebRequest -Uri "%gencont_bat_url%" -Outfile "_gencontinuous.bat" }
|
||||
|
||||
POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%update_sh_url%\",\"_updatePublisher.sh\") } else { Invoke-WebRequest -Uri "%update_sh_url%" -Outfile "_updatePublisher.new.sh" }
|
||||
POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%gen_sh_url%\",\"_genonce.sh\") } else { Invoke-WebRequest -Uri "%gen_sh_url%" -Outfile "_genonce.sh" }
|
||||
POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%gencont_sh_url%\",\"_gencontinuous.sh\") } else { Invoke-WebRequest -Uri "%gencont_sh_url%" -Outfile "_gencontinuous.sh" }
|
||||
|
||||
ECHO Updating this file...
|
||||
:dl_script_1
|
||||
ECHO Updating _updatePublisher.sh
|
||||
call POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%update_sh_url%\",\"_updatePublisher.new.sh\") } else { Invoke-WebRequest -Uri "%update_sh_url%" -Outfile "_updatePublisher.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 "_updatePublisher.new.sh" "_updatePublisher.sh" ^&^& del "_updatePublisher.new.sh" ^&^& exit
|
||||
|
||||
|
||||
:dl_script_2
|
||||
ECHO Updating _genonce.bat
|
||||
call POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%gen_bat_url%\",\"_genonce.new.bat\") } else { Invoke-WebRequest -Uri "%gen_bat_url%" -Outfile "_genonce.bat" }
|
||||
if %ERRORLEVEL% == 0 goto upd_script_2
|
||||
echo "Errors encountered during download: %errorlevel%"
|
||||
goto dl_script_3
|
||||
:upd_script_2
|
||||
start copy /y "_genonce.new.bat" "_genonce.bat" ^&^& del "_genonce.new.bat" ^&^& exit
|
||||
|
||||
:dl_script_3
|
||||
ECHO Updating _gencontinuous.bat
|
||||
call POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%gencont_bat_url%\",\"_gencontinuous.new.bat\") } else { Invoke-WebRequest -Uri "%gencont_bat_url%" -Outfile "_gencontinuous.bat" }
|
||||
if %ERRORLEVEL% == 0 goto upd_script_3
|
||||
echo "Errors encountered during download: %errorlevel%"
|
||||
goto dl_script_4
|
||||
:upd_script_3
|
||||
start copy /y "_gencontinuous.new.bat" "_gencontinuous.bat" ^&^& del "_gencontinuous.new.bat" ^&^& exit
|
||||
|
||||
|
||||
:dl_script_4
|
||||
ECHO Updating _genonce.sh
|
||||
call POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%gen_sh_url%\",\"_genonce.new.sh\") } else { Invoke-WebRequest -Uri "%gen_sh_url%" -Outfile "_genonce.sh" }
|
||||
if %ERRORLEVEL% == 0 goto upd_script_4
|
||||
echo "Errors encountered during download: %errorlevel%"
|
||||
goto dl_script_5
|
||||
:upd_script_4
|
||||
start copy /y "_genonce.new.sh" "_genonce.sh" ^&^& del "_genonce.new.sh" ^&^& exit
|
||||
|
||||
:dl_script_5
|
||||
ECHO Updating _gencontinuous.sh
|
||||
call POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%gencont_sh_url%\",\"_gencontinuous.new.sh\") } else { Invoke-WebRequest -Uri "%gencont_sh_url%" -Outfile "_gencontinuous.sh" }
|
||||
if %ERRORLEVEL% == 0 goto upd_script_5
|
||||
echo "Errors encountered during download: %errorlevel%"
|
||||
goto dl_script_6
|
||||
:upd_script_5
|
||||
start copy /y "_gencontinuous.new.sh" "_gencontinuous.sh" ^&^& del "_gencontinuous.new.sh" ^&^& exit
|
||||
|
||||
|
||||
|
||||
:dl_script_6
|
||||
ECHO Updating _updatePublisher.bat
|
||||
call POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%update_bat_url%\",\"_updatePublisher.new.bat\") } else { Invoke-WebRequest -Uri "%update_bat_url%" -Outfile "_updatePublisher.new.bat" }
|
||||
if %ERRORLEVEL% == 0 goto upd_script_6
|
||||
echo "Errors encountered during download: %errorlevel%"
|
||||
goto end
|
||||
:upd_script_6
|
||||
start copy /y "_updatePublisher.new.bat" "_updatePublisher.bat" ^&^& del "_updatePublisher.new.bat" ^&^& exit
|
||||
REM ============================
|
||||
|
||||
|
||||
:end
|
||||
|
||||
|
||||
IF "%skipPrompts%"=="true" (
|
||||
PAUSE
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
||||
-------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"code" : "http://hl7.org/fhirpath/System.String"
|
||||
}, "valueSet" :{
|
||||
@ -11,10 +11,74 @@
|
||||
"system" : "http://hl7.org/fhir/resource-types"
|
||||
}]
|
||||
}
|
||||
}, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS"}####
|
||||
v: {
|
||||
"display" : "",
|
||||
"severity" : "error",
|
||||
"error" : "The code system \"\" is not known (encountered paired with code = \"http://hl7.org/fhirpath/System.String\"); The code provided (#http://hl7.org/fhirpath/System.String) is not valid in the value set FHIRDefinedType"
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
}, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS"}####
|
||||
v: {
|
||||
"display" : "",
|
||||
"severity" : "error",
|
||||
"error" : "The code system \"\" is not known (encountered paired with code = \"http://hl7.org/fhirpath/System.String\"); The code provided (#http://hl7.org/fhirpath/System.String) is not valid in the value set FHIRDefinedType"
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"code" : "text/cql"
|
||||
}, "valueSet" :{
|
||||
"resourceType" : "ValueSet",
|
||||
"compose" : {
|
||||
"include" : [{
|
||||
"system" : "urn:ietf:bcp:13"
|
||||
}]
|
||||
}
|
||||
}, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"true", "valueSetMode":"ALL_CHECKS"}####
|
||||
v: {
|
||||
"display" : "text/cql",
|
||||
"severity" : null,
|
||||
"error" : ""
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"code" : "application/elm+xml"
|
||||
}, "valueSet" :{
|
||||
"resourceType" : "ValueSet",
|
||||
"compose" : {
|
||||
"include" : [{
|
||||
"system" : "urn:ietf:bcp:13"
|
||||
}]
|
||||
}
|
||||
}, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"true", "valueSetMode":"ALL_CHECKS"}####
|
||||
v: {
|
||||
"display" : "application/elm+xml",
|
||||
"severity" : null,
|
||||
"error" : ""
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"code" : "application/pdf"
|
||||
}, "valueSet" :{
|
||||
"resourceType" : "ValueSet",
|
||||
"compose" : {
|
||||
"include" : [{
|
||||
"system" : "urn:ietf:bcp:13"
|
||||
}]
|
||||
}
|
||||
}, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"true", "valueSetMode":"ALL_CHECKS"}####
|
||||
v: {
|
||||
"display" : "application/pdf",
|
||||
"severity" : null,
|
||||
"error" : ""
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"code" : "application/elm+json"
|
||||
}, "valueSet" :{
|
||||
"resourceType" : "ValueSet",
|
||||
"compose" : {
|
||||
"include" : [{
|
||||
"system" : "urn:ietf:bcp:13"
|
||||
}]
|
||||
}
|
||||
}, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"true", "valueSetMode":"ALL_CHECKS"}####
|
||||
v: {
|
||||
"display" : "application/elm+json",
|
||||
"severity" : null,
|
||||
"error" : ""
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
|
||||
@ -1,33 +1,43 @@
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
|
||||
"code" : "001"
|
||||
}, "valueSet" :{
|
||||
"resourceType" : "ValueSet",
|
||||
"compose" : {
|
||||
"include" : [{
|
||||
"system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
|
||||
"filter" : [{
|
||||
"property" : "class",
|
||||
"op" : "=",
|
||||
"value" : "region"
|
||||
}]
|
||||
}]
|
||||
}
|
||||
}, "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS"}####
|
||||
v: {
|
||||
"display" : "",
|
||||
"severity" : "error",
|
||||
"error" : "Not done yet @ TAreaCodeServices.Close"
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
|
||||
"code" : "001"
|
||||
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS"}####
|
||||
v: {
|
||||
"display" : "World",
|
||||
"severity" : null,
|
||||
"error" : ""
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
|
||||
"code" : "001"
|
||||
}, "valueSet" :{
|
||||
"resourceType" : "ValueSet",
|
||||
"compose" : {
|
||||
"include" : [{
|
||||
"system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
|
||||
"filter" : [{
|
||||
"property" : "class",
|
||||
"op" : "=",
|
||||
"value" : "region"
|
||||
}]
|
||||
}]
|
||||
}
|
||||
}, "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS"}####
|
||||
v: {
|
||||
"display" : "",
|
||||
"severity" : "error",
|
||||
"error" : "Not done yet @ TAreaCodeServices.Close"
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
|
||||
"code" : "001"
|
||||
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS"}####
|
||||
v: {
|
||||
"display" : "World",
|
||||
"severity" : null,
|
||||
"error" : ""
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
|
||||
"code" : "001"
|
||||
}, "valueSet" :null, "lang":"en-US", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS"}####
|
||||
v: {
|
||||
"display" : "World",
|
||||
"severity" : null,
|
||||
"error" : ""
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
|
||||
@ -1,31 +1,31 @@
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"system" : "http://loinc.org",
|
||||
"code" : "85354-9"
|
||||
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS"}####
|
||||
v: {
|
||||
"display" : "Blood pressure panel with all children optional",
|
||||
"severity" : null,
|
||||
"error" : ""
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"system" : "http://loinc.org",
|
||||
"code" : "8480-6"
|
||||
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS"}####
|
||||
v: {
|
||||
"display" : "Systolic blood pressure",
|
||||
"severity" : null,
|
||||
"error" : ""
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"system" : "http://loinc.org",
|
||||
"code" : "8462-4"
|
||||
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS"}####
|
||||
v: {
|
||||
"display" : "Diastolic blood pressure",
|
||||
"severity" : null,
|
||||
"error" : ""
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"system" : "http://loinc.org",
|
||||
"code" : "85354-9"
|
||||
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS"}####
|
||||
v: {
|
||||
"display" : "Blood pressure panel with all children optional",
|
||||
"severity" : null,
|
||||
"error" : ""
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"system" : "http://loinc.org",
|
||||
"code" : "8480-6"
|
||||
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS"}####
|
||||
v: {
|
||||
"display" : "Systolic blood pressure",
|
||||
"severity" : null,
|
||||
"error" : ""
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
{"code" : {
|
||||
"system" : "http://loinc.org",
|
||||
"code" : "8462-4"
|
||||
}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS"}####
|
||||
v: {
|
||||
"display" : "Diastolic blood pressure",
|
||||
"severity" : null,
|
||||
"error" : ""
|
||||
}
|
||||
-------------------------------------------------------------------------------------
|
||||
|
||||
@ -1 +1 @@
|
||||
1.0.308
|
||||
1.0.329
|
||||
17
input/cql/cql-options.json
Normal file
17
input/cql/cql-options.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"options":[
|
||||
"EnableAnnotations",
|
||||
"EnableLocators",
|
||||
"DisableListDemotion",
|
||||
"DisableListPromotion"
|
||||
|
||||
],
|
||||
"formats":[
|
||||
"XML",
|
||||
"JXSON"
|
||||
],
|
||||
"validateUnits":true,
|
||||
"verifyOnly":false,
|
||||
"errorLevel":"Info",
|
||||
"signatureLevel":"None"
|
||||
}
|
||||
@ -1,14 +1,24 @@
|
||||
{
|
||||
"resourceType" : "Library",
|
||||
"id": "example",
|
||||
"url" : "http://somewhere.org/fhir/uv/myig/Library/example",
|
||||
"version" : "1.0.0",
|
||||
"name": "example",
|
||||
"title": "Example CQL Library",
|
||||
"status" : "draft",
|
||||
"experimental": true,
|
||||
"type" : {
|
||||
"coding" : [{
|
||||
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
|
||||
"code" : "logic-library"
|
||||
}]
|
||||
},
|
||||
"subject": {
|
||||
"coding": [{
|
||||
"system": "hl7.org/fhir/resource-types",
|
||||
"code": "Patient"
|
||||
}]
|
||||
},
|
||||
"content" : [{
|
||||
"id" : "ig-loader-example.cql"
|
||||
}]
|
||||
|
||||
@ -2,39 +2,46 @@
|
||||
"resourceType" : "Bundle",
|
||||
"id" : "h1",
|
||||
"type" : "collection",
|
||||
"entry" : [{
|
||||
"resource" : {
|
||||
"resourceType" : "AuditEvent",
|
||||
"id" : "h1-1",
|
||||
"type" : {
|
||||
"system": "http://terminology.hl7.org/CodeSystem/iso-21089-lifecycle",
|
||||
"code" : "amend"
|
||||
},
|
||||
"action" : "U",
|
||||
"period" : { "end" : "2015-11-30" },
|
||||
"purposeOfEvent" : [{
|
||||
"text": "Add \"conductible\" property to ActRelationshipType and ParticipationType codes.for ContextConduction RIM Change. And create Concept domain CodeSystem and ValueSet for ContextConductionStyle"
|
||||
}],
|
||||
"agent" : [{
|
||||
"type" : {
|
||||
"coding": {
|
||||
"system": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType",
|
||||
"code":"AUT"
|
||||
}
|
||||
},
|
||||
"name" : "Rob Hausam"
|
||||
},{
|
||||
"type" : {
|
||||
"coding": {
|
||||
"system": "http://terminology.hl7.org/CodeSystem/contractsignertypecodes",
|
||||
"code":"REVIEWER"
|
||||
}
|
||||
},
|
||||
"name" : "Vocab"
|
||||
}],
|
||||
"entity" : [{
|
||||
"what" : { "reference" : "StructureDefinition/myObservation" }
|
||||
}]
|
||||
}
|
||||
}]
|
||||
}
|
||||
"entry" : [
|
||||
{
|
||||
"fullUrl" : "http://somewhere.org/fhir/uv/myig/Provenance/h1-1",
|
||||
"resource" : {
|
||||
"resourceType" : "Provenance",
|
||||
"id" : "h1-1",
|
||||
"target" : [ { "reference" : "StructureDefinition/myObservation" } ],
|
||||
"occurredDateTime" : "2015-11-30",
|
||||
"reason" : [
|
||||
{
|
||||
"text" : "Add \"conductible\" property to ActRelationshipType and ParticipationType codes.for ContextConduction RIM Change. And create Concept domain CodeSystem and ValueSet for ContextConductionStyle"
|
||||
}
|
||||
],
|
||||
"activity" : {
|
||||
"coding" : [{
|
||||
"system" : "http://terminology.hl7.org/CodeSystem/v3-DataOperation",
|
||||
"code" : "UPDATE"
|
||||
}]
|
||||
},
|
||||
"agent" : [
|
||||
{
|
||||
"type" : {
|
||||
"coding" : {
|
||||
"system" : "http://terminology.hl7.org/CodeSystem/provenance-participant-type",
|
||||
"code" : "author"
|
||||
}
|
||||
},
|
||||
"who" : { "display" : "Rob Hausam" }
|
||||
},
|
||||
{
|
||||
"type" : {
|
||||
"coding" : {
|
||||
"system" : "http://terminology.hl7.org/CodeSystem/provenance-participant-type",
|
||||
"code" : "verifier"
|
||||
}
|
||||
},
|
||||
"who" : { "display" : "Vocab" }
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -38,11 +38,6 @@
|
||||
<license value="CC0-1.0"/>
|
||||
<!-- This is whatever FHIR version(s) the IG artifacts are targeting (not the version of this file, which should always be 'current release') -->
|
||||
<fhirVersion value="4.0.1"/>
|
||||
<!-- <dependsOn>
|
||||
<uri value="http://somethign"/>
|
||||
<packageId value="de.basisprofil.r4"/>
|
||||
<version value="0.9.2"/>
|
||||
</dependsOn> -->
|
||||
<definition>
|
||||
<!-- You don't need to define any groupings. The IGPublisher will define them for you. You only need to do so if your IG is 'special' and it's
|
||||
inappropriate to use the defaults. Feel free to provide feedback about the defaults... -->
|
||||
@ -67,9 +62,9 @@
|
||||
</resource>
|
||||
<resource>
|
||||
<reference>
|
||||
<reference value="Bundle/h1"/>
|
||||
<reference value="ValueSet/valueset-no-codesystem"/>
|
||||
</reference>
|
||||
<name value="History"/>
|
||||
<name value="Value set for no code system"/>
|
||||
</resource>
|
||||
<!-- <resource>
|
||||
<reference>
|
||||
@ -131,6 +126,10 @@
|
||||
<code value="path-binary"/>
|
||||
<value value="input\cql"/>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<code value="path-liquid"/>
|
||||
<value value="templates\liquid"/>
|
||||
</parameter>
|
||||
<!-- Uncomment one or more of these if you want to limit which syntaxes are supported or want to disable the display of mappings
|
||||
<parameter>
|
||||
<code value="excludexml"/>
|
||||
|
||||
@ -1,2 +1,4 @@
|
||||
### A Heading
|
||||
You can also use markdown if that's your thing
|
||||
You can also use markdown if that's your thing
|
||||
|
||||
And an icon: 
|
||||
|
||||
20
input/resources/valueset-no-codesystem.xml
Normal file
20
input/resources/valueset-no-codesystem.xml
Normal file
@ -0,0 +1,20 @@
|
||||
<ValueSet xmlns="http://hl7.org/fhir">
|
||||
<id value="valueset-no-codesystem"/>
|
||||
<url value="http://somewhere.org/fhir/uv/myig/ValueSet/valueset-no-codesystem"/>
|
||||
<name value="ValueSetWithNoCodeSystem"/>
|
||||
<status value="draft"/>
|
||||
<experimental value="true"/>
|
||||
<date value="2015-06-22"/>
|
||||
<compose>
|
||||
<include>
|
||||
<system value="http://not-a-known-code-system"/>
|
||||
<version value="2.36"/>
|
||||
<concept>
|
||||
<code value="not-known-code"/>
|
||||
</concept>
|
||||
<concept>
|
||||
<code value="not-known-code"/>
|
||||
</concept>
|
||||
</include>
|
||||
</compose>
|
||||
</ValueSet>
|
||||
325
templates/liquid/Library.liquid
Normal file
325
templates/liquid/Library.liquid
Normal file
@ -0,0 +1,325 @@
|
||||
<div>
|
||||
<table class="grid dict">
|
||||
{% if Library.id.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Id: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.id}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.url.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Url: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.url}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.version.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Version: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.version}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% for identifier in Library.identifier %}
|
||||
<tr>
|
||||
<th scope="row"><b>Identifier: </b></th>
|
||||
<td style="padding-left: 25px;">
|
||||
{% if identifier.type.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>type: </b> <span>{{identifier.type.value}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if identifier.value.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>value: </b> <span>{{identifier.value}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% if Library.name.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Name: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.name}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.title.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Title: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.title}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.subtitle.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Subtitle: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.subtitle}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.status.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Status: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.status.value}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.experimental.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Experimental: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.experimental.value}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.type.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Type: </b></th>
|
||||
<td style="padding-left: 25px;">
|
||||
{% if Library.type.coding.exists() %}
|
||||
{% for coding in Library.type.coding %}
|
||||
{% if coding.system.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>system: </b> <span>{{coding.system}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if coding.code.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>code: </b> <span>{{coding.code}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if coding.display.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>display: </b> <span>{{coding.display}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if Library.type.coding.exists().not and Library.type.text.exists() %}
|
||||
{{Library.type.text}}
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.subject.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Subject: </b></th>
|
||||
{%if Library.subject is CodeableConcept %}
|
||||
<td style="padding-left: 25px;">
|
||||
{% if Library.subject.coding.exists() %}
|
||||
{% for coding in Library.subject.coding %}
|
||||
{% if coding.system.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>system: </b> <span>{{coding.system}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if coding.code.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>code: </b> <span>{{coding.code}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if coding.display.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>display: </b> <span>{{coding.display}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if Library.subject.coding.exists().not and Library.subject.text.exists() %}
|
||||
{{Library.subject.text}}
|
||||
{% endif %}
|
||||
</td>
|
||||
{% endif %}
|
||||
{% if Library.subject is Reference %}
|
||||
<td style="padding-left: 25px;">
|
||||
{% if Library.subject.reference.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>reference: </b> <span>{{Library.subject.reference}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if Library.subject.type.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>type: </b> <span>{{Library.subject.type}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if Library.subject.display.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>code: </b> <span>{{Library.subject.display}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.date.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Date: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.date}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.publisher.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Publisher: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.publisher}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.description.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Description: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.description}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.useContext.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Use Context: </b></th>
|
||||
<td style="padding-left: 25px;">
|
||||
<table class="grid-dict">
|
||||
<tr><th><b>code</b></th><th><b>value</b></th></tr>
|
||||
{% for useContext in Library.useContext %}
|
||||
<tr>
|
||||
<td>{{useContext.code.code}}</td>
|
||||
<td>{{(useContext.value as CodeableConcept).coding.first().code}}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.jurisdiction.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Jurisdiction: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.jurisdiction.first().coding.first().code}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.purpose.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Purpose: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.purpose}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.usage.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Usage: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.usage}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.copyright.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Copyright: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.copyright}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.approvalDate.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Approval Date: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.approvalDate}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.lastReviewDate.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Last Review Date: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.lastReviewDate}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.effectivePeriod.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Effective Period: </b></th>
|
||||
<td style="padding-left: 25px;">{{Library.effectivePeriod.start}}..{{Library.effectivePeriod.end}}</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.relatedArtifact.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Related Artifacts: </b></th>
|
||||
<td style="padding-left: 25px;">
|
||||
<table class="grid-dict">
|
||||
<tr><th><b>Type</b></th><th><b>Resource</b></th></tr>
|
||||
{% for artifact in Library.relatedArtifact %}
|
||||
<tr><td>{{artifact.type.value}}</td><td>{{artifact.resource}}</td></tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.parameter.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Parameters: </b></th>
|
||||
<td style="padding-left: 25px;">
|
||||
<table class="grid-dict">
|
||||
<tr><th><b>Name</b></th><th><b>Type</b></th><th><b>Min</b></th><th><b>Max</b></th><th><b>In/Out</b></th></tr>
|
||||
{% for param in Library.parameter %}
|
||||
<tr><th>{{param.name}}</th><th>{{param.type}}</th><th>{{param.min}}</th><th>{{param.max}}</th><th>{{param.use}}</th></tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if Library.dataRequirement.exists() %}
|
||||
<tr>
|
||||
<th scope="row"><b>Data Requirements:</b></th>
|
||||
<td style="padding-left: 25px;">
|
||||
<table class="grid-dict">
|
||||
<tr><th><b>Type</b></th><th><b>Profile</b></th><th><b>MS</b></th><th><b>Code Filter</b></th></tr>
|
||||
{% for requirement in Library.dataRequirement %}
|
||||
<tr>
|
||||
<th>{{requirement.type.value}}</th>
|
||||
<th>{% for profile in requirement.profile %}{{profile.value}}{% endfor %}</th>
|
||||
<th>{% for support in requirement.mustSupport %}{{mustSupport}};{% endfor %}</th>
|
||||
<th>
|
||||
{% for cfilter in requirement.codeFilter %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>code filter: </b>
|
||||
{% if cfilter.path.exists() or cfilter.valueSet.exists() or cfilter.code.exists() %}
|
||||
<br/>
|
||||
{% endif %}
|
||||
{% if cfilter.path.exists() %}
|
||||
<span style="padding-left: 25px;">
|
||||
<b>path: </b><span>{{cfilter.path}}</span>
|
||||
</span>
|
||||
{% if cfilter.valueSet.exists() or cfilter.code.exists() %}
|
||||
<br/>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if cfilter.valueSet.exists() %}
|
||||
<span style="padding-left: 25px;">
|
||||
<b>value set: </b><span>{{cfilter.valueSet.value}}</span>
|
||||
</span>
|
||||
{% endif %}
|
||||
{% for coding in cfilter.code %}
|
||||
{% if coding.system.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>system: </b> <span>{{coding.system}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if coding.code.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>code: </b> <span>{{coding.code}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if coding.display.exists() %}
|
||||
<p style="margin-bottom: 5px;">
|
||||
<b>display: </b> <span>{{coding.display}}</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</p>
|
||||
{% endfor %}
|
||||
</th>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% for c in Library.content %}
|
||||
{% if c.contentType = 'text/cql' %}
|
||||
<tr>
|
||||
<table>
|
||||
<tr><th><b>Content: </b> {{c.contentType}}</th></tr>
|
||||
<tr><td><pre><code>{{c.data.decode('base64').escape('html')}}</code></pre></td></tr>
|
||||
</table>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% if c.contentType != 'text/cql' %}
|
||||
<tr>
|
||||
<table>
|
||||
<tr><th><b>Content: </b> {{c.contentType}}</th></tr>
|
||||
<tr><td><pre><code>{{'Encoded data (' + c.data.length().toString() + ' characters)'}}</code></pre></td></tr>
|
||||
</table>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</table>
|
||||
</div>
|
||||
Loading…
Reference in New Issue
Block a user