From 69a08b666b097a1ba1d5095b0cefaf99feee2aad Mon Sep 17 00:00:00 2001 From: Ole Vilstrup Date: Wed, 5 Mar 2025 17:48:32 +0100 Subject: [PATCH 1/5] added DkCoreDocumentReference --- ...DkCoreDocumentHomeCommunityidExtension.fsh | 8 ++ input/fsh/DkCoreDocumentReference.fsh | 103 ++++++++++++++++++ input/fsh/DkDocumentVersionIDExtension.fsh | 5 + 3 files changed, 116 insertions(+) create mode 100644 input/fsh/DkCoreDocumentHomeCommunityidExtension.fsh create mode 100644 input/fsh/DkCoreDocumentReference.fsh create mode 100644 input/fsh/DkDocumentVersionIDExtension.fsh diff --git a/input/fsh/DkCoreDocumentHomeCommunityidExtension.fsh b/input/fsh/DkCoreDocumentHomeCommunityidExtension.fsh new file mode 100644 index 000000000..6463b0407 --- /dev/null +++ b/input/fsh/DkCoreDocumentHomeCommunityidExtension.fsh @@ -0,0 +1,8 @@ +Extension: DkCoreDocumentHomeCommunityID +Id: dk-core-document-homecommunityid-extension +Title: "HL7 Denmark core Document HomeCommunityID extension" +Description: "Extension containing information about operational and in production home communities (XCA) in Danish Document Sharing" +* valueCoding 1..1 MS +* valueCoding.system 1.. MS +* valueCoding.code 1.. MS + diff --git a/input/fsh/DkCoreDocumentReference.fsh b/input/fsh/DkCoreDocumentReference.fsh new file mode 100644 index 000000000..bc0126609 --- /dev/null +++ b/input/fsh/DkCoreDocumentReference.fsh @@ -0,0 +1,103 @@ +Profile: DkCoreDocumentReference +Parent: DocumentReference +Id: dk-core-documentreference +Description: "HL7 Denmark core profile for xds-metatada (DocumentReference) for a Danish FHIR document." +* masterIdentifier 1..1 MS +* masterIdentifier.value 1..1 MS +* masterIdentifier ^short = "[DocumentEntry.uniqueId] Master Version Specific Identifier" +* identifier 0..1 MS +* identifier.value 0..1 MS +* identifier ^short = "[DocumentEntry.entryUUID] Identifier for the document" +* identifier obeys dk-core-uuid +* status MS +* status ^short = "[DocumentEntry.availabilityStatus] current = active | superseded = deprecated" +// TypeCode +* type 1.. MS +* type ^short = "[DocumentEntry.typeCode] Kind of document" +* type.coding.system 1.. MS +* type.coding.code 1.. MS +* authenticator 0..1 MS +* authenticator ^short = "[DocumentEntry.legalAuthenticator] Who authenticated the document" +* authenticator only Reference(DkCorePractitioner) +* authenticator ^type.aggregation = #contained +// ClassCode +* category 1..1 MS +* category from $ClassCodeVS (extensible) +//* category.coding.code 1.. MS +//* category.coding.system 1.. MS +* category ^short = "[DocumentEntry.class] Categorization of document" +* author 1..2 MS +* author ^type.aggregation = #contained +* author ^short = "[DocumentEntry.author] Who and/or what authored the document" +* author ^slicing.discriminator.type = #type + * ^slicing.discriminator.path = "$this.resolve()" + * ^slicing.rules = #closed +* author contains + institution 1..1 and + person 0..1 +* author[institution] MS +* author[institution] only Reference(DkCoreOrganization) +* author[institution] ^short = "[DocumentEntry.author.authorInstitution] The organization who authored the document" +* author[person] MS +* author[person] only Reference(DkCorePractitioner) +* author[person] ^short = "[DocumentEntry.author.authorPerson] The person who authored the document" +* securityLabel 1.. MS +* securityLabel ^short = "[DocumentEntry.confidentialityCode] Document security-tags" +* subject 1..1 MS +* subject only Reference(DkCorePatient) +* subject ^type.aggregation = #contained +* subject ^short = "[DocumentEntry.sourcePatientInfo, DocumentEntry.sourcePatientId] Who/what is the subject of the document" +* content MS +* content.attachment.contentType ^short = "[DocumentEntry.mimeType] Mime type of the content, with charset etc." +* content.attachment.contentType 1.. MS +* content.attachment.contentType from $ContentTypeVS +* content.attachment.language ^short = "[DocumentEntry.languageCode] Human language of the content" +* content.attachment.language 1.. MS +* content.attachment.language from $LanguageVS (extensible) +* content.attachment.creation ^short = "[DocumentEntry.creationTime] Date attachment was first created" +* content.attachment.creation 1.. MS +* content.attachment.hash 0.. MS +* content.attachment.hash ^short = "[DocumentEntry.hash] Hash of the data (sha-1)" +* content.format ^short = "[DocumentEntry.formatCode] Format/content rules for the document" +* content.format 1.. MS +/* * content.format.coding.code 1.. MS +* content.format.coding.system 1.. MS */ +* content.attachment.size 0.. MS +* content.attachment.title 1.. MS +* content.attachment.url 0.. MS +* content.attachment.size ^short = "[DocumentEntry.size] Number of bytes of content" +* content.attachment.title ^short = "[DocumentEntry.title] Label to display in place of the data" +* content.attachment.url ^short = "[DocumentEntry.URI] Uri where the data can be found" +* context 1.. MS +* context.event 0..1 MS +* context.event.coding.code 1.. MS +* context.event.coding.system 1.. MS +* context.event ^short = "[DocumentEntry.eventCodeList] Main clinical acts documented" +* context.period MS +* context.period.start MS +* context.period.end MS +* context.period ^short = "[DocumentEntry.serviceStartTime, DocumentEntry.serviceStopTime] Time of service that is being documented" +* context.facilityType 1.. MS +* context.facilityType.coding.code 1.. MS +* context.facilityType.coding.system 1.. MS +* context.facilityType.coding.system from $FacilityTypeVS (extensible) +* context.facilityType ^short = "[DocumentEntry.healthcareFacilityTypeCode] Kind of facility where patient was seen" +* context.practiceSetting 1.. MS +* context.practiceSetting.coding.code 1.. MS +* context.practiceSetting.coding.system 1.. MS +* context.practiceSetting.coding.system from $PracticeSettingVS (extensible) +* context.practiceSetting ^short = "[DocumentEntry.practiceSettingCode] Additional details about where the content was created (e.g. clinical specialty)" +* context.related 0..* MS +* context.related ^short = "[DocumentEntry.referenceIdList] Related identifiers or resources" +* context.sourcePatientInfo 1..1 MS +* context.sourcePatientInfo ^short = "[DocumentEntry.sourcePatientId and DocumentEntry.sourcePatientInfo] Patient demographics from source. Must be the same reference as in DocumentReference.subject." +* extension contains + dk-core-document-homecommunityid-extension named homeCommunityid 1..1 MS SU and + dk-core-documentreference-version-id-extension named versionid 1..1 MS SU +* extension[homeCommunityid] ^short = "[DocumentEntry.homeCommunityId] A unique identifier for a community where the DocumentEntry and document can be accessed" +* extension[versionid] ^short = "Specifies the version of the DocumentReference for a standard." + +Invariant: dk-core-uuid +Description: "General UUID expression" +Severity: #error +Expression: "value.matches('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')" diff --git a/input/fsh/DkDocumentVersionIDExtension.fsh b/input/fsh/DkDocumentVersionIDExtension.fsh new file mode 100644 index 000000000..c2fef9e4b --- /dev/null +++ b/input/fsh/DkDocumentVersionIDExtension.fsh @@ -0,0 +1,5 @@ +Extension: DkCoreDocumentReferenceVersionID +Id: dk-core-documentreference-version-id-extension +Title: "HL7 Denmark core DocumentReference Version ID extension" +Description: "Extension containing information about the version of the DocumentReference for a specific standard. The version is included in the R5 version of the resource." +* valueString 1..1 MS From 38cd2daa34c2cb94632a3decb87def63a15e2190 Mon Sep 17 00:00:00 2001 From: Ole Vilstrup Date: Wed, 5 Mar 2025 22:46:03 +0100 Subject: [PATCH 2/5] Update aliases.fsh --- input/fsh/aliases.fsh | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/input/fsh/aliases.fsh b/input/fsh/aliases.fsh index 1b8cb0837..2a86c2169 100644 --- a/input/fsh/aliases.fsh +++ b/input/fsh/aliases.fsh @@ -27,3 +27,24 @@ Alias: $observation-bp = http://hl7.org/fhir/StructureDefinition/bp Alias: $LOINC-vitalsigns = http://hl7.org/fhir/ValueSet/observation-vitalsignresult Alias: $v3-Confidentiality = http://terminology.hl7.org/CodeSystem/v3-Confidentiality Alias: $v3-RoleCode = http://terminology.hl7.org/CodeSystem/v3-RoleCode + +Alias: $ClassCodeCS = http://medcomfhir.dk/ig/xdsmetadata/CodeSystem/MedCom-ihe-classcode-CS +Alias: $TypeCodeCS = http://medcomfhir.dk/ig/xdsmetadata/CodeSystem/MedCom-ihe-core-typecode-CS +Alias: $ContentTypeCS = http://medcomfhir.dk/ig/xdsmetadata/CodeSystem/MedCom-ihe-mimeType-CS +Alias: $LanguageCS = http://medcomfhir.dk/ig/xdsmetadata/CodeSystem/MedCom-ihe-LanguageCode-CS +Alias: $FormatCodeCS = http://medcomfhir.dk/ig/xdsmetadata/CodeSystem/MedCom-ihe-formatcode-CS +Alias: $EventCodeCS = http://medcomfhir.dk/ig/xdsmetadata/CodeSystem/MedCom-ihe-episodeOfCare-CS +Alias: $FacilityTypeCS = http://medcomfhir.dk/ig/xdsmetadata/CodeSystem/MedCom-ihe-snomed-CS +Alias: $PracticeSettingCS = http://medcomfhir.dk/ig/xdsmetadata/CodeSystem/MedCom-ihe-snomed-CS +Alias: $HomeCommunityIDCS = http://medcomfhir.dk/ig/xdsmetadata/CodeSystem/MedCom-ihe-homeCommunityId-CS +Alias: $StatusCS = http://hl7.org/fhir/document-reference-status + +Alias: $ClassCodeVS = http://medcomfhir.dk/ig/xdsmetadata/ValueSet/MedCom-ihe-core-classcode-VS +Alias: $ContentTypeVS = http://medcomfhir.dk/ig/xdsmetadata/ValueSet/MedCom-ihe-core-mimetype-VS +Alias: $LanguageVS = http://medcomfhir.dk/ig/xdsmetadata/ValueSet/MedCom-ihe-core-languagecode-VS +Alias: $FormatCodeVS = http://medcomfhir.dk/ig/xdsmetadata/ValueSet/MedCom-ihe-core-formatcode-VS +Alias: $HomeCommunityIDVS = http://medcomfhir.dk/ig/xdsmetadata/ValueSet/MedCom-ihe-core-homeCommunityId-VS +Alias: $PracticeSettingVS = http://medcomfhir.dk/ig/xdsmetadata/ValueSet/MedCom-ihe-core-PracticeSettingCode-VS +Alias: $FacilityTypeVS = http://medcomfhir.dk/ig/xdsmetadata/ValueSet/MedCom-ihe-core-HealthcareFacilityTypeCode-VS + + From 8cfcd786a9ae5d71bbaea40160f072163fbdc1bf Mon Sep 17 00:00:00 2001 From: Jens Kristian Villadsen Date: Tue, 25 Mar 2025 16:20:16 +0100 Subject: [PATCH 3/5] Alternative DocRef approach (#158) * Alternative DocRef approach * Further danish constraints * Removed unused alias --- input/fsh/DkCoreDocumentReference.fsh | 107 ++------------------------ input/fsh/aliases.fsh | 19 ----- input/fsh/valueSets.fsh | 61 +++++++++++++++ sushi-config.yaml | 3 + 4 files changed, 71 insertions(+), 119 deletions(-) diff --git a/input/fsh/DkCoreDocumentReference.fsh b/input/fsh/DkCoreDocumentReference.fsh index bc0126609..6ac5f132e 100644 --- a/input/fsh/DkCoreDocumentReference.fsh +++ b/input/fsh/DkCoreDocumentReference.fsh @@ -1,103 +1,10 @@ Profile: DkCoreDocumentReference -Parent: DocumentReference +Parent: MinimalDocumentReference Id: dk-core-documentreference -Description: "HL7 Denmark core profile for xds-metatada (DocumentReference) for a Danish FHIR document." -* masterIdentifier 1..1 MS -* masterIdentifier.value 1..1 MS -* masterIdentifier ^short = "[DocumentEntry.uniqueId] Master Version Specific Identifier" -* identifier 0..1 MS -* identifier.value 0..1 MS -* identifier ^short = "[DocumentEntry.entryUUID] Identifier for the document" -* identifier obeys dk-core-uuid -* status MS -* status ^short = "[DocumentEntry.availabilityStatus] current = active | superseded = deprecated" -// TypeCode -* type 1.. MS -* type ^short = "[DocumentEntry.typeCode] Kind of document" -* type.coding.system 1.. MS -* type.coding.code 1.. MS -* authenticator 0..1 MS -* authenticator ^short = "[DocumentEntry.legalAuthenticator] Who authenticated the document" -* authenticator only Reference(DkCorePractitioner) -* authenticator ^type.aggregation = #contained -// ClassCode -* category 1..1 MS -* category from $ClassCodeVS (extensible) -//* category.coding.code 1.. MS -//* category.coding.system 1.. MS -* category ^short = "[DocumentEntry.class] Categorization of document" -* author 1..2 MS -* author ^type.aggregation = #contained -* author ^short = "[DocumentEntry.author] Who and/or what authored the document" -* author ^slicing.discriminator.type = #type - * ^slicing.discriminator.path = "$this.resolve()" - * ^slicing.rules = #closed -* author contains - institution 1..1 and - person 0..1 -* author[institution] MS -* author[institution] only Reference(DkCoreOrganization) -* author[institution] ^short = "[DocumentEntry.author.authorInstitution] The organization who authored the document" -* author[person] MS -* author[person] only Reference(DkCorePractitioner) -* author[person] ^short = "[DocumentEntry.author.authorPerson] The person who authored the document" -* securityLabel 1.. MS -* securityLabel ^short = "[DocumentEntry.confidentialityCode] Document security-tags" -* subject 1..1 MS -* subject only Reference(DkCorePatient) -* subject ^type.aggregation = #contained -* subject ^short = "[DocumentEntry.sourcePatientInfo, DocumentEntry.sourcePatientId] Who/what is the subject of the document" -* content MS -* content.attachment.contentType ^short = "[DocumentEntry.mimeType] Mime type of the content, with charset etc." -* content.attachment.contentType 1.. MS -* content.attachment.contentType from $ContentTypeVS -* content.attachment.language ^short = "[DocumentEntry.languageCode] Human language of the content" -* content.attachment.language 1.. MS -* content.attachment.language from $LanguageVS (extensible) -* content.attachment.creation ^short = "[DocumentEntry.creationTime] Date attachment was first created" -* content.attachment.creation 1.. MS -* content.attachment.hash 0.. MS -* content.attachment.hash ^short = "[DocumentEntry.hash] Hash of the data (sha-1)" -* content.format ^short = "[DocumentEntry.formatCode] Format/content rules for the document" -* content.format 1.. MS -/* * content.format.coding.code 1.. MS -* content.format.coding.system 1.. MS */ -* content.attachment.size 0.. MS -* content.attachment.title 1.. MS -* content.attachment.url 0.. MS -* content.attachment.size ^short = "[DocumentEntry.size] Number of bytes of content" -* content.attachment.title ^short = "[DocumentEntry.title] Label to display in place of the data" -* content.attachment.url ^short = "[DocumentEntry.URI] Uri where the data can be found" -* context 1.. MS -* context.event 0..1 MS -* context.event.coding.code 1.. MS -* context.event.coding.system 1.. MS -* context.event ^short = "[DocumentEntry.eventCodeList] Main clinical acts documented" -* context.period MS -* context.period.start MS -* context.period.end MS -* context.period ^short = "[DocumentEntry.serviceStartTime, DocumentEntry.serviceStopTime] Time of service that is being documented" -* context.facilityType 1.. MS -* context.facilityType.coding.code 1.. MS -* context.facilityType.coding.system 1.. MS -* context.facilityType.coding.system from $FacilityTypeVS (extensible) -* context.facilityType ^short = "[DocumentEntry.healthcareFacilityTypeCode] Kind of facility where patient was seen" -* context.practiceSetting 1.. MS -* context.practiceSetting.coding.code 1.. MS -* context.practiceSetting.coding.system 1.. MS -* context.practiceSetting.coding.system from $PracticeSettingVS (extensible) -* context.practiceSetting ^short = "[DocumentEntry.practiceSettingCode] Additional details about where the content was created (e.g. clinical specialty)" -* context.related 0..* MS -* context.related ^short = "[DocumentEntry.referenceIdList] Related identifiers or resources" -* context.sourcePatientInfo 1..1 MS -* context.sourcePatientInfo ^short = "[DocumentEntry.sourcePatientId and DocumentEntry.sourcePatientInfo] Patient demographics from source. Must be the same reference as in DocumentReference.subject." -* extension contains - dk-core-document-homecommunityid-extension named homeCommunityid 1..1 MS SU and - dk-core-documentreference-version-id-extension named versionid 1..1 MS SU -* extension[homeCommunityid] ^short = "[DocumentEntry.homeCommunityId] A unique identifier for a community where the DocumentEntry and document can be accessed" -* extension[versionid] ^short = "Specifies the version of the DocumentReference for a standard." +* extension contains http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.version named version 1..1 +* context.facilityType from SorOrganizationType (extensible) +* context.practiceSetting from SorPracticeSettingCode (extensible) +* author only Reference(DkCorePatient or DkCorePractitioner or DkCorePractitionerRole or DkCoreRelatedPerson or DkCoreOrganization or Device) -Invariant: dk-core-uuid -Description: "General UUID expression" -Severity: #error -Expression: "value.matches('[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')" +* authenticator only Reference(DkCorePractitioner) +* subject only Reference(DkCorePatient) \ No newline at end of file diff --git a/input/fsh/aliases.fsh b/input/fsh/aliases.fsh index 2a86c2169..eb36b2459 100644 --- a/input/fsh/aliases.fsh +++ b/input/fsh/aliases.fsh @@ -28,23 +28,4 @@ Alias: $LOINC-vitalsigns = http://hl7.org/fhir/ValueSet/observation-vitalsignres Alias: $v3-Confidentiality = http://terminology.hl7.org/CodeSystem/v3-Confidentiality Alias: $v3-RoleCode = http://terminology.hl7.org/CodeSystem/v3-RoleCode -Alias: $ClassCodeCS = http://medcomfhir.dk/ig/xdsmetadata/CodeSystem/MedCom-ihe-classcode-CS -Alias: $TypeCodeCS = http://medcomfhir.dk/ig/xdsmetadata/CodeSystem/MedCom-ihe-core-typecode-CS -Alias: $ContentTypeCS = http://medcomfhir.dk/ig/xdsmetadata/CodeSystem/MedCom-ihe-mimeType-CS -Alias: $LanguageCS = http://medcomfhir.dk/ig/xdsmetadata/CodeSystem/MedCom-ihe-LanguageCode-CS -Alias: $FormatCodeCS = http://medcomfhir.dk/ig/xdsmetadata/CodeSystem/MedCom-ihe-formatcode-CS -Alias: $EventCodeCS = http://medcomfhir.dk/ig/xdsmetadata/CodeSystem/MedCom-ihe-episodeOfCare-CS -Alias: $FacilityTypeCS = http://medcomfhir.dk/ig/xdsmetadata/CodeSystem/MedCom-ihe-snomed-CS -Alias: $PracticeSettingCS = http://medcomfhir.dk/ig/xdsmetadata/CodeSystem/MedCom-ihe-snomed-CS -Alias: $HomeCommunityIDCS = http://medcomfhir.dk/ig/xdsmetadata/CodeSystem/MedCom-ihe-homeCommunityId-CS -Alias: $StatusCS = http://hl7.org/fhir/document-reference-status - -Alias: $ClassCodeVS = http://medcomfhir.dk/ig/xdsmetadata/ValueSet/MedCom-ihe-core-classcode-VS -Alias: $ContentTypeVS = http://medcomfhir.dk/ig/xdsmetadata/ValueSet/MedCom-ihe-core-mimetype-VS -Alias: $LanguageVS = http://medcomfhir.dk/ig/xdsmetadata/ValueSet/MedCom-ihe-core-languagecode-VS -Alias: $FormatCodeVS = http://medcomfhir.dk/ig/xdsmetadata/ValueSet/MedCom-ihe-core-formatcode-VS -Alias: $HomeCommunityIDVS = http://medcomfhir.dk/ig/xdsmetadata/ValueSet/MedCom-ihe-core-homeCommunityId-VS -Alias: $PracticeSettingVS = http://medcomfhir.dk/ig/xdsmetadata/ValueSet/MedCom-ihe-core-PracticeSettingCode-VS -Alias: $FacilityTypeVS = http://medcomfhir.dk/ig/xdsmetadata/ValueSet/MedCom-ihe-core-HealthcareFacilityTypeCode-VS - diff --git a/input/fsh/valueSets.fsh b/input/fsh/valueSets.fsh index ce39f430c..555438843 100644 --- a/input/fsh/valueSets.fsh +++ b/input/fsh/valueSets.fsh @@ -841,3 +841,64 @@ Description: "Value set used for indicating the organization type for organizati * $sct#255203001 * $sct#264372000 + +ValueSet: SorPracticeSettingCode +Id: dk-core-practice-setting-code +Title: "DK SOR Practice Setting Code" +Description: "Values used for the document metadata attribute practiceSettingCode, which is an attribute specifying the clinical specialty where the act that resulted in the document was performed (e.g., Family Practice, Laboratory, Radiology). The value set is based on a subset of the code list from the SOR lookup table 'SOR-Kliniske specialer' (https://sor.sum.dsdn.dk/lookupdata/#clinical_speciality, accessable on Sundhedsdatanettet (SDN)), which is based on SNOMED CT codes." +* ^status = #active +* ^experimental = false +* $sct#773568002 +* $sct#408443003 +* $sct#394577000 +* $sct#394821009 +* $sct#394588006 +* $sct#394582007 +* $sct#394914008 +* $sct#394583002 +* $sct#394811001 +* $sct#394585009 +* $sct#408472002 +* $sct#394803006 +* $sct#394807007 +* $sct#419192003 +* $sct#394579002 +* $sct#408463005 +* $sct#394609007 +* $sct#551411000005104 +* $sct#394596001 +* $sct#394600006 +* $sct#394601005 +* $sct#394580004 +* $sct#421661004 +* $sct#408454008 +* $sct#394809005 +* $sct#394592004 +* $sct#418112009 +* $sct#394805004 +* $sct#394584008 +* $sct#394589003 +* $sct#394610002 +* $sct#394591006 +* $sct#394812008 +* $sct#394594003 +* $sct#394608004 +* $sct#394801008 +* $sct#394604002 +* $sct#394915009 +* $sct#394611003 +* $sct#394587001 +* $sct#394537008 +* $sct#394810000 +* $sct#394581000 +* $sct#394605001 +* $sct#394603008 +* $sct#408448007 +* $sct#394612005 +* $sct#658171000005102 +* $sct#658161000005107 +* $sct#658151000005105 +* $sct#658191000005101 +* $sct#658201000005103 +* $sct#658141000005108 +* $sct#658181000005104 \ No newline at end of file diff --git a/sushi-config.yaml b/sushi-config.yaml index fe1bbdbbc..795516d65 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -38,8 +38,11 @@ parameters: path-expansion-params: Parameters-expParam.json dependencies: + hl7.fhir.extensions.r5: 4.0.1 hl7.fhir.uv.phd: 1.1.0 hl7.fhir.uv.ipa: 1.0.0 + ihe.iti.mhd: 4.2.2 + # ╭────────────────────────────────────────────releasing───────────────────────────────────────────╮ From 8ee65d3557fc03fb93fa1c9d812811c419974c2a Mon Sep 17 00:00:00 2001 From: Jens Kristian Villadsen Date: Sat, 29 Mar 2025 15:06:59 +0100 Subject: [PATCH 4/5] update scripts --- _gencontinuous.sh | 4 ++-- _updatePublisher.bat | 15 ++++++++++++++- _updatePublisher.sh | 12 +++++++++++- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/_gencontinuous.sh b/_gencontinuous.sh index b9ac5933d..970747668 100755 --- a/_gencontinuous.sh +++ b/_gencontinuous.sh @@ -1,2 +1,2 @@ -#!/bin/bash -./_genonce.sh -watch +#!/bin/bash +./_genonce.sh -watch diff --git a/_updatePublisher.bat b/_updatePublisher.bat index 67aebf583..10fee3815 100644 --- a/_updatePublisher.bat +++ b/_updatePublisher.bat @@ -8,6 +8,8 @@ SET input_cache_path=%CD%\input-cache\ SET skipPrompts=false 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 SET update_bat_url=%scriptdlroot%/_updatePublisher.bat SET gen_bat_url=%scriptdlroot%/_genonce.bat SET gencont_bat_url=%scriptdlroot%/_gencontinuous.bat @@ -20,7 +22,7 @@ IF "%~1"=="/f" SET skipPrompts=y ECHO. ECHO Checking internet connection... -PING tx.fhir.org -4 -n 1 -w 1000 | FINDSTR TTL && GOTO isonline +PING tx.fhir.org -4 -n 1 -w 4000 | FINDSTR TTL && GOTO isonline ECHO We're offline, nothing to do... GOTO end @@ -69,6 +71,7 @@ IF DEFINED FORCE ( IF "%skipPrompts%"=="y" ( SET create=Y ) ELSE ( + ECHO Will place publisher jar here: %input_cache_path%%publisher_jar% SET /p create="Ok? (Y/N) " ) IF /I "%create%"=="Y" ( @@ -211,6 +214,16 @@ goto end start copy /y "_updatePublisher.new.bat" "_updatePublisher.bat" ^&^& del "_updatePublisher.new.bat" ^&^& exit +:dl_script_7 +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 "%update_bat_url%" -Outfile "_build.new.bat" } +if %ERRORLEVEL% == 0 goto upd_script_6 +echo "Errors encountered during download: %errorlevel%" +goto end +:upd_script_6 +start copy /y "_build.new.bat" "_build.bat" ^&^& del "_build.new.bat" ^&^& exit + + :end diff --git a/_updatePublisher.sh b/_updatePublisher.sh index 0f9ecbed9..56ec40435 100755 --- a/_updatePublisher.sh +++ b/_updatePublisher.sh @@ -103,6 +103,16 @@ if [[ $skipPrompts != true ]]; then if [[ $skipPrompts == true ]] || [[ $response =~ ^[yY].*$ ]]; then echo "Downloading most recent scripts " + curl -L $build_bat_url -o /tmp/_build.new + cp /tmp/_build.new _build.bat + rm /tmp/_build.new + + + curl -L $build_sh_url -o /tmp/_build.new + cp /tmp/_build.new _build.sh + chmod +x _build.sh + rm /tmp/_build.new + curl -L $update_bat_url -o /tmp/_updatePublisher.new cp /tmp/_updatePublisher.new _updatePublisher.bat rm /tmp/_updatePublisher.new @@ -129,4 +139,4 @@ if [[ $skipPrompts == true ]] || [[ $response =~ ^[yY].*$ ]]; then cp /tmp/_updatePublisher.new _updatePublisher.sh chmod +x _updatePublisher.sh rm /tmp/_updatePublisher.new -fi +fi \ No newline at end of file From afb0a5df782a8e0c881d4b1015de398b29feb140 Mon Sep 17 00:00:00 2001 From: Jens Kristian Villadsen Date: Wed, 9 Apr 2025 10:57:29 +0200 Subject: [PATCH 5/5] Update DkCoreDocumentReference.fsh --- input/fsh/DkCoreDocumentReference.fsh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/input/fsh/DkCoreDocumentReference.fsh b/input/fsh/DkCoreDocumentReference.fsh index 6ac5f132e..da89cd2e2 100644 --- a/input/fsh/DkCoreDocumentReference.fsh +++ b/input/fsh/DkCoreDocumentReference.fsh @@ -1,10 +1,11 @@ Profile: DkCoreDocumentReference Parent: MinimalDocumentReference Id: dk-core-documentreference +Title: "Danish Core DocumentReference Profile" * extension contains http://hl7.org/fhir/5.0/StructureDefinition/extension-DocumentReference.version named version 1..1 * context.facilityType from SorOrganizationType (extensible) * context.practiceSetting from SorPracticeSettingCode (extensible) * author only Reference(DkCorePatient or DkCorePractitioner or DkCorePractitionerRole or DkCoreRelatedPerson or DkCoreOrganization or Device) * authenticator only Reference(DkCorePractitioner) -* subject only Reference(DkCorePatient) \ No newline at end of file +* subject only Reference(DkCorePatient)