Skip to content

Commit

Permalink
Merge branch 'cda-core-2-0' into lab_r5
Browse files Browse the repository at this point in the history
  • Loading branch information
oliveregger committed Nov 29, 2022
2 parents 06577ab + 0a4d9ff commit 2d20abb
Show file tree
Hide file tree
Showing 517 changed files with 282,952 additions and 12,179 deletions.
8 changes: 6 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,9 @@ resources/ig-expansion-parameters.json
resources/ig-new.json
resources/ig-new.xml
resources/ig-validation-parameters.json
org.hl7.fhir.validation.cli.jar
package.tgz
org.hl7.fhir.publisher.jar
input-cache/schemas/
.DS_Store
input-cache/workgroups.xml
input-cache/txcache/
input-cache/publisher.jar
27 changes: 27 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# cda-core-2.0

CDA Schema and FHIR Logical model for CDA (supports the CCDA on FHIR guide, and other CDA/FHIR mapping projects)

## CDA Schema

The `schema/normative` folder contains the original published CDA Schema. This is the schema which is published with the base/core standard. This is mainly used for historical reference. See "CDA Schema Extensions" below for the latest version that includes all extensions; which most people will want to use.

### CDA Stylesheet

The CDA Stylesheet is located [here](https://github.com/HL7/cda-core-xsl). It is currently being managed by Alex Henket for SDWG.

## CDA Schema Extensions

The `schema/extensions` folder contains an `SDTC` folder which has the updated CDA schema with all SDTC extensions that are approved by HL7.

## FHIR Logical Models for CDA

The `input` directory contains FHIR artifacts representing the core CDA logic models (in StructureDefinition resources).
The FHIR logical models for CDA are currently in development and do not yet include all approved CDA/SDTC extensions. It is the goal to eventually have all approved extensions represented in the FHIR logical models for CDA, at which point the two sets of artifacts will be aligned. Until this time, releases within this repository will include FHIR logical models for CDA that do not perfectly represent the CDA schema in the release.

Files/folders related to the FHIR logical models:
* input/
* input-cache/
* _updatePublisher.bat
* ig.ini
* publish.bat
28 changes: 28 additions & 0 deletions _genonce.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/bin/bash
publisher_jar=publisher.jar
input_cache_path=./input-cache/
echo Checking internet connection...
curl -sSf tx.fhir.org > /dev/null

if [ $? -eq 0 ]; then
echo "Online"
txoption=""
else
echo "Offline"
txoption="-tx n/a"
fi

echo "$txoption"

publisher=$input_cache_path/$publisher_jar
if test -f "$publisher"; then
java -jar $publisher -ig . $txoption $*

else
publisher=../$publisher_jar
if test -f "$publisher"; then
java -jar $publisher -ig . $txoption $*
else
echo IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting...
fi
fi
6 changes: 6 additions & 0 deletions _updatePublisher.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

@MKDIR input-cache
@ECHO "Downloading most recent publisher - it's ~100 MB, so this may take a bit
@POWERSHELL -command (new-object System.Net.WebClient).DownloadFile(\"https://github.com/HL7/fhir-ig-publisher/releases/latest/download/publisher.jar\",\"org.hl7.fhir.publisher.jar\")
@ECHO "Done"
@PAUSE
129 changes: 129 additions & 0 deletions _updatePublisher.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
#!/bin/bash
pubsource=https://github.com/HL7/fhir-ig-publisher/releases/latest/download/
publisher_jar=publisher.jar
dlurl=$pubsource$publisher_jar

input_cache_path=$PWD/input-cache/

scriptdlroot=https://raw.githubusercontent.com/HL7/ig-publisher-scripts/main
update_bat_url=$scriptdlroot/_updatePublisher.bat
gen_bat_url=$scriptdlroot/_genonce.bat
gencont_bat_url=$scriptdlroot/_gencontinuous.bat
gencont_sh_url=$scriptdlroot/_gencontinuous.sh
gen_sh_url=$scriptdlroot/_genonce.sh
update_sh_url=$scriptdlroot/_updatePublisher.sh

skipPrompts=false
FORCE=false

if ! type "curl" > /dev/null; then
echo "ERROR: Script needs curl to download latest IG Publisher. Please install curl."
exit 1
fi

while [ "$#" -gt 0 ]; do
case $1 in
-f|--force) FORCE=true ;;
-y|--yes) skipPrompts=true ; FORCE=true ;;
*) echo "Unknown parameter passed: $1. Exiting"; exit 1 ;;
esac
shift
done

echo "Checking internet connection"
curl -sSf tx.fhir.org > /dev/null

if [ $? -ne 0 ] ; then
echo "Offline (or the terminology server is down), unable to update. Exiting"
exit 1
fi

if [ ! -d "$input_cache_path" ] ; then
if [ $FORCE != true ]; then
echo "$input_cache_path does not exist"
message="create it?"
read -r -p "$message" response
else
response=y
fi
fi

if [[ $response =~ ^[yY].*$ ]] ; then
mkdir ./input-cache
fi

publisher="$input_cache_path$publisher_jar"

if test -f "$publisher" ; then
echo "IG Publisher FOUND in input-cache"
jarlocation="$publisher"
jarlocationname="Input Cache"
upgrade=true
else
publisher="../$publisher_jar"
upgrade=true
if test -f "$publisher"; then
echo "IG Publisher FOUND in parent folder"
jarlocation="$publisher"
jarlocationname="Parent Folder"
upgrade=true
else
echo "IG Publisher NOT FOUND in input-cache or parent folder"
jarlocation=$input_cache_path$publisher_jar
jarlocationname="Input Cache"
upgrade=false
fi
fi

if [[ $skipPrompts == false ]]; then

if [[ $upgrade == true ]]; then
message="Overwrite $jarlocation? (Y/N) "
else
echo Will place publisher jar here: "$jarlocation"
message="Ok (enter 'y' or 'Y' to continue, any other key to cancel)?"
fi
read -r -p "$message" response
else
response=y
fi
if [[ $skipPrompts == true ]] || [[ $response =~ ^[yY].*$ ]]; then

echo "Downloading most recent publisher to $jarlocationname - it's ~100 MB, so this may take a bit"
curl -L $dlurl -o "$jarlocation" --create-dirs
else
echo cancelled publisher update
fi

if [[ $skipPrompts != true ]]; then
message="Update scripts? (enter 'y' or 'Y' to continue, any other key to cancel)?"
read -r -p "$message" response
fi

if [[ $skipPrompts == true ]] || [[ $response =~ ^[yY].*$ ]]; then
echo "Downloading most recent scripts "

curl -L $update_bat_url -o /tmp/_updatePublisher.new
cp /tmp/_updatePublisher.new _updatePublisher.bat
rm /tmp/_updatePublisher.new

curl -L $gen_bat_url -o /tmp/_genonce.new
cp /tmp/_genonce.new _genonce.bat
rm /tmp/_genonce.new

curl -L $gencont_bat_url -o /tmp/_gencontinuous.new
cp /tmp/_gencontinuous.new _gencontinuous.bat
rm /tmp/_gencontinuous.new

curl -L $gencont_sh_url -o /tmp/_gencontinuous.new
cp /tmp/_gencontinuous.new _gencontinuous.sh
rm /tmp/_gencontinuous.new

curl -L $gen_sh_url -o /tmp/_genonce.new
cp /tmp/_genonce.new _genonce.sh
rm /tmp/_genonce.new

curl -L $update_sh_url -o /tmp/_updatePublisher.new
cp /tmp/_updatePublisher.new _updatePublisher.sh
rm /tmp/_updatePublisher.new
fi
File renamed without changes.
File renamed without changes.
12 changes: 11 additions & 1 deletion ig.ini
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
[IG]
ig = input\hl7.fhir.cda.xml
template = ch.fhir.ig.template#current
template = hl7.cda.template#current
usage-stats-opt-out = false
copyrightyear = 2019+
license = CC0-1.0
version = 2.1.0
ballotstatus = CI Build
fhirspec = http://build.fhir.org/
#excludexml = Yes
#excludejson = Yes
#excludettl = Yes
#excludeMaps = Yes
Loading

0 comments on commit 2d20abb

Please sign in to comment.