From 0a7e1644d30ada367c424d46560a7bf303ca033e Mon Sep 17 00:00:00 2001 From: dotasek Date: Tue, 14 Nov 2023 14:07:46 -0500 Subject: [PATCH] Add NZ IPS preset (#153) --- .../static-content/polyglot/de_DE.json | 1 + .../resources/static-content/polyglot/en.json | 1 + .../resources/static-content/polyglot/es.json | 1 + src/jsMain/kotlin/utils/Preset.kt | 29 +++++++++++++++++++ 4 files changed, 32 insertions(+) diff --git a/src/commonMain/resources/static-content/polyglot/de_DE.json b/src/commonMain/resources/static-content/polyglot/de_DE.json index 07103ef9..38ffbbd2 100644 --- a/src/commonMain/resources/static-content/polyglot/de_DE.json +++ b/src/commonMain/resources/static-content/polyglot/de_DE.json @@ -93,6 +93,7 @@ "preset_fhir_resource" : "FHIR Resource -German", "preset_ips" : "IPS Document -German", "preset_ips_au" : "Australian IPS Document -German", + "preset_ips_nz" : "New Zealand IPS Document -German", "present_cda" : "CDA Document -German", "preset_us_ccda" : "US CCDA Document -German", "preset_sql_view": "SQL View Definition -German", diff --git a/src/commonMain/resources/static-content/polyglot/en.json b/src/commonMain/resources/static-content/polyglot/en.json index 1c93c3af..b32d6a84 100644 --- a/src/commonMain/resources/static-content/polyglot/en.json +++ b/src/commonMain/resources/static-content/polyglot/en.json @@ -95,6 +95,7 @@ "preset_fhir_resource" : "FHIR Resource", "preset_ips" : "IPS Document", "preset_ips_au" : "Australian IPS Document", + "preset_ips_nz" : "New Zealand IPS Document", "present_cda" : "CDA Document", "preset_us_ccda" : "US CCDA Document", "preset_sql_view": "SQL View Definition", diff --git a/src/commonMain/resources/static-content/polyglot/es.json b/src/commonMain/resources/static-content/polyglot/es.json index 2aeb3e58..4c55a597 100644 --- a/src/commonMain/resources/static-content/polyglot/es.json +++ b/src/commonMain/resources/static-content/polyglot/es.json @@ -93,6 +93,7 @@ "preset_fhir_resource" : "FHIR Resource -Spanish", "preset_ips" : "IPS Document -Spanish", "preset_ips_au" : "Australian IPS Document -Spanish", + "preset_ips_nz" : "New Zealand IPS Document -Spanish", "present_cda" : "CDA Document -Spanish", "preset_us_ccda" : "US CCDA Document -Spanish", "preset_sql_view": "SQL View Definition -Spanish", diff --git a/src/jsMain/kotlin/utils/Preset.kt b/src/jsMain/kotlin/utils/Preset.kt index fc473896..9e528d2f 100644 --- a/src/jsMain/kotlin/utils/Preset.kt +++ b/src/jsMain/kotlin/utils/Preset.kt @@ -22,6 +22,13 @@ val IPS_AU_IG = PackageInfo( "http://hl7.org.au/fhir/ips/ImplementationGuide/hl7.fhir.au.ips" ) +val IPS_NZ_IG = PackageInfo( + "tewhatuora.fhir.nzps", + "current", + "4.0.1", + "https://standards.digital.health.nz/ImplementationGuide/tewhatuora.fhir.ig.fhir-nzps" +) + val CDA_IG = PackageInfo( "hl7.cda.uv.core", "2.0.0-sd-ballot", @@ -47,6 +54,8 @@ val IPS_BUNDLE_PROFILE = "http://hl7.org/fhir/uv/ips/StructureDefinition/Bundle- val IPS_AU_BUNDLE_PROFILE = "http://hl7.org.au/fhir/ips/StructureDefinition/Bundle-au-ips" +val IPS_NZ_BUNDLE_PROFILE = "https://standards.digital.health.nz/fhir/StructureDefinition/nzps-bundle" + val IPS_CONTEXT = CliContext() .setSv("4.0.1") .addIg(PackageInfo.igLookupString(IPS_IG)) @@ -69,6 +78,18 @@ val IPS_AU_CONTEXT = CliContext() .setProfile("http://hl7.org.au/fhir/ips/StructureDefinition/Composition-au-ips") )) +val IPS_NZ_CONTEXT = CliContext() + .setSv("4.0.1") + .addIg(PackageInfo.igLookupString(IPS_NZ_IG)) + .setExtensions(listOf(ANY_EXTENSION)) + .setCheckIPSCodes(true) + .setBundleValidationRules(listOf( + BundleValidationRule() + .setRule("Composition:0") + .setProfile("https://standards.digital.health.nz/fhir/StructureDefinition/nzps-composition") + )) + + val CDA_CONTEXT = CliContext() .setSv("5.0.0") .addIg(PackageInfo.igLookupString(CDA_IG)) @@ -113,6 +134,14 @@ enum class Preset( setOf(ANY_EXTENSION), setOf(IPS_AU_BUNDLE_PROFILE) ), + IPS_NZ( + "IPS_NZ", + "preset_ips_nz", + IPS_NZ_CONTEXT, + setOf(IPS_NZ_IG), + setOf(ANY_EXTENSION), + setOf(IPS_NZ_BUNDLE_PROFILE) + ), CDA( "CDA", "present_cda",