Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Zib-AnatomicalLocation #6

Open
wants to merge 26 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
a7dd6b5
Initial commit of new profiling for AnatomicalLocation including a du…
ArdonToonstra Sep 12, 2024
9aa499b
Moved some of the implementation guidance to the purpose of the profi…
ArdonToonstra Oct 1, 2024
215796d
Moved binding from coding to root CodeableConcept and fixed missing b…
ArdonToonstra Oct 8, 2024
90d5b36
Added release-notes
ArdonToonstra Oct 8, 2024
f52fabb
Fixed nl-core profile based on QA and improved wording in zib-Anatomi…
ArdonToonstra Oct 8, 2024
1fe5d69
Satisfy nl-core-overwrite QA
ArdonToonstra Oct 9, 2024
c6615cb
Satisfy 2.0 nl-core-overwrite QA
ArdonToonstra Oct 9, 2024
44ebe9a
Merge branch 'ZIBFHIR2024-216' into zib-AnatomicalLocation
ArdonToonstra Oct 9, 2024
6574c3b
Added space before seperator
ArdonToonstra Oct 9, 2024
07a58e8
Merge remote-tracking branch 'origin/ZIBFHIR2024-216' into zib-Anatom…
ArdonToonstra Oct 11, 2024
4307cdd
Updated release notes
ArdonToonstra Oct 11, 2024
af0cdd7
Removed binding from root datatype profile added instructions for pro…
ArdonToonstra Nov 26, 2024
e06bb1d
Updated release-notes to latest convention
ArdonToonstra Nov 26, 2024
d9a1400
New profiling approach - mapped location on coding slice
ArdonToonstra Nov 26, 2024
0c5c0b7
updated release-notes
ArdonToonstra Nov 26, 2024
02d4b9c
Merge branch 'main' into zib-AnatomicalLocation
ArdonToonstra Nov 26, 2024
27e1594
Textual improvements upon feedback
ArdonToonstra Nov 26, 2024
2d29ca5
Added invariant to check for at least having a code from the codesyst…
ArdonToonstra Nov 26, 2024
2f13827
implemented differnt approach: removed slicing on coding and replace …
ArdonToonstra Nov 28, 2024
d16a102
Merge branch 'main' into zib-AnatomicalLocation
ArdonToonstra Nov 28, 2024
34235de
Tweak documentation
pieter-edelman-nictiz Nov 29, 2024
a74cad7
Add the constraint back in
pieter-edelman-nictiz Nov 29, 2024
0f0c5ce
Tweak comments
pieter-edelman-nictiz Nov 29, 2024
8f6ba93
Add sanity check to see if the proper ValueSet is bound when using zi…
pieter-edelman-nictiz Nov 29, 2024
afc5e39
Merge branch 'main' into zib-AnatomicalLocation
ArdonToonstra Dec 26, 2024
eb8f2ef
Added mapping to nl-core profiles
ArdonToonstra Dec 26, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="nl-core-AnatomicalLocation-BodyStructure" />
<text>
<status value="empty" /><div xmlns="http://www.w3.org/1999/xhtml">No narrative is provided for definitional resources. A human-readable rendering can be found in the implementation guide(s) where this resource is used.</div></text>
<url value="http://nictiz.nl/fhir/StructureDefinition/nl-core-AnatomicalLocation-BodyStructure" />
<name value="NlcoreAnatomicalLocationBodyStructure" />
<title value="nl core AnatomicalLocation BodyStructure" />
<status value="draft" />
<publisher value="Nictiz" />
<contact>
<name value="Nictiz" />
<telecom>
<system value="url" />
<value value="https://www.nictiz.nl" />
<use value="work" />
</telecom>
</contact>
<description value="An anatomical location specifies the location (e.g. foot) and laterality (e.g. left) of a body part." />
<purpose value="A derived profile from [zib-AnatomicalLocation-BodyStructure](http://nictiz.nl/fhir/StructureDefinition/zib-AnatomicalLocation-BodyStructure) to provide a version better suited for implementation purposes. This profile augments the base profile with elements found in the various use cases that have adopted the zib." />
<copyright value="Copyright and related rights waived via CC0, https://creativecommons.org/publicdomain/zero/1.0/. This does not apply to information from third parties, for example a medical terminology system. The implementer alone is responsible for identifying and obtaining any necessary licenses or authorizations to utilize third party IP in connection with the specification or otherwise." />
<fhirVersion value="4.0.1" />
<mapping>
<identity value="zib-anatomicallocation-v1.0.3-2024EN" />
<uri value="https://zibs.nl/wiki/AnatomicalLocation-v1.0.3(2024EN)" />
<name value="zib AnatomicalLocation-v1.0.3(2024EN)" />
</mapping>
<kind value="resource" />
<abstract value="false" />
<type value="BodyStructure" />
<baseDefinition value="http://nictiz.nl/fhir/StructureDefinition/zib-AnatomicalLocation-BodyStructure" />
<derivation value="constraint" />
<differential>
<element id="BodyStructure">
<path value="BodyStructure" />
<definition value="AnatomicalLocation is mapped to both a profile on CodeableConcept (&lt;http://nictiz.nl/fhir/StructureDefinition/nl-core-AnatomicalLocation&gt;) and this BodyStructure profile. &#xA;&#xA;When it is required to convey a discrete Laterality (NL-CM:20.7.3) next to (or in absence of) the Location (NL-CM:20.7.4), this BodyStructure profile should be used and referenced from the relevant resource. In cases where Laterality is either unnecessary or embedded within the location code itself, it can be conveyed directly in the relevant resource.&#xD;&#xA;&#xD;&#xA;**Note:** Receiving systems must support both the BodyStructure resource and the CodeableConcept in host resources, as either mechanism may be employed. Providing systems can select the appropriate mechanism based on their data requirements." />
<alias value="nl-core-AnatomicalLocation-BodyStructure" />
</element>
</differential>
</StructureDefinition>
51 changes: 51 additions & 0 deletions nl-core/StructureDefinitions/nl-core-AnatomicalLocation.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="nl-core-AnatomicalLocation" />
<text>
<status value="empty" /><div xmlns="http://www.w3.org/1999/xhtml">No narrative is provided for definitional resources. A human-readable rendering can be found in the implementation guide(s) where this resource is used.</div></text>
<url value="http://nictiz.nl/fhir/StructureDefinition/nl-core-AnatomicalLocation" />
<name value="NlcoreAnatomicalLocation" />
<title value="nl core AnatomicalLocation" />
<status value="draft" />
<publisher value="Nictiz" />
<contact>
<name value="Nictiz" />
<telecom>
<system value="url" />
<value value="https://www.nictiz.nl" />
<use value="work" />
</telecom>
</contact>
<description value="An anatomical location specifies the location (e.g. foot) and laterality (e.g. left) of a body part." />
<purpose value="A derived profile from [zib-AnatomicalLocation](http://nictiz.nl/fhir/StructureDefinition/zib-AnatomicalLocation) to provide a version better suited for implementation purposes. This profile augments the base profile with elements found in the various use cases that have adopted the zib.&#xD;&#xA;&#xD;&#xA;Profilers can use this profile in places where AnatomicalLocation is instantiated. In addition to using this profile, the binding should be set to ValueSet &quot;LocatieCodelijsten&quot; (&lt;http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.121.11.11--20240415000000&gt;) with a binding strength of _extensible_. The binding strength differs from the zib's original binding strength of _required_ to support the use of the BodyStructure reference extension as an alternative to a coded value." />
<copyright value="Copyright and related rights waived via CC0, https://creativecommons.org/publicdomain/zero/1.0/. This does not apply to information from third parties, for example a medical terminology system. The implementer alone is responsible for identifying and obtaining any necessary licenses or authorizations to utilize third party IP in connection with the specification or otherwise." />
<fhirVersion value="4.0.1" />
<mapping>
<identity value="zib-anatomicallocation-v1.0.3-2024EN" />
<uri value="https://zibs.nl/wiki/AnatomicalLocation-v1.0.3(2024EN)" />
<name value="zib AnatomicalLocation-v1.0.3(2024EN)" />
</mapping>
<kind value="complex-type" />
<abstract value="false" />
<type value="CodeableConcept" />
<baseDefinition value="http://nictiz.nl/fhir/StructureDefinition/zib-AnatomicalLocation" />
<derivation value="constraint" />
<differential>
<element id="CodeableConcept">
<path value="CodeableConcept" />
<alias value="nl-core-AnatomicalLocation" />
</element>
<element id="CodeableConcept.extension:bodyStructureReference">
<path value="CodeableConcept.extension" />
<sliceName value="bodyStructureReference" />
</element>
<element id="CodeableConcept.extension:bodyStructureReference.value[x]">
<path value="CodeableConcept.extension.value[x]" />
<type>
<code value="Reference" />
<targetProfile value="http://nictiz.nl/fhir/StructureDefinition/nl-core-AnatomicalLocation-BodyStructure" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/BodyStructure" />
</type>
</element>
</differential>
</StructureDefinition>
6 changes: 6 additions & 0 deletions qa.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ ignored issues: known-issues.yml
igs:
- zib
- nl-core
- util/qa
script dir: util/qa

patterns:
Expand Down Expand Up @@ -70,6 +71,11 @@ steps:
validate examples:
description: Validate examples using the generic FHIR validation rules
patterns: examples
additional package checks:
description: Additional profile checks specifically for this package
patterns:
- zib profiles
profile: "http://nictiz.nl/fhir/StructureDefinition/zib2024-PackageChecks"
check zib compliance:
patterns:
- zib profiles
Expand Down
11 changes: 10 additions & 1 deletion release-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,15 @@
* `.line.extension:houseNumberIndication.value[x]` ; constraint ; Removed houseNumberIndication for HouseNumberIndication. ; ZIB-2218
* `.country.extension:countryCode.value[x]` ; terminology ; Changed codes in LandCodelijsten (LandGBACodelijst and LandISOCodelijst). ; ZIB-2218

## AnatomicalLocation
### zib-AnatomicalLocation, nl-core-AnatomicalLocation
* `CodeableConcept` ; textual ; Refined guidance for Location and Laterality ; ZIBFHIR-113
* `.extension:bodyStructureReference` ; extension ; Replaced ExtAnatomicalLocationLaterality with BodyStructureReference for Laterality ; ZIBFHIR-113
* `.extension:bodyStructureReference` ; mapping ; Moved mapping of Laterality to `BodyStructure.locationQualifier` ; ZIBFHIR-113

### zib-AnatomicalLocation-BodyStructure, nl-core-AnatomicalLocation-BodyStructure
* New profile that maps Laterality to a native FHIR element inside the BodyStructure resource instead of a custom extension. ; ZIBFHIR-113

## BodyHeight (zib-BodyHeight, nl-core-BodyHeight)
* `.value[x]` ; textual ; Changed definition of HeightValue. ; ZIB-1887
* `.value[x]` ; textual ; Added guidance for HeightValue. ; ZIB-1887
Expand Down Expand Up @@ -148,4 +157,4 @@
## Patient (zib-Patient, nl-core-Patient)
* `.extension:genderIdentity.value[x]` ; extension ; Added extension genderIdentity for GenderIdentity. ; ZIB-1693
* `.gender` ; terminology ; Changed code description in GeslachtCodelijst. ; ZIB-1239
* `.multipleBirth[x]:multipleBirthInteger` ; mapping ; Added mapping of MultipleBirthSequence. ; ZIB-1670
* `.multipleBirth[x]:multipleBirthInteger` ; mapping ; Added mapping of MultipleBirthSequence. ; ZIB-1670
43 changes: 43 additions & 0 deletions util/qa/zib2024-PacakgeChecks.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="zib2024-PackageChecks" />
<text>
<status value="empty" /><div xmlns="http://www.w3.org/1999/xhtml">No narrative is provided for definitional resources. A human-readable rendering can be found in the implementation guide(s) where this resource is used.</div></text>
<url value="http://nictiz.nl/fhir/StructureDefinition/zib2024-PackageChecks" />
<name value="Zib2024PackageChecks" />
<status value="draft" />
<publisher value="Nictiz" />
<contact>
<name value="Nictiz" />
<telecom>
<system value="url" />
<value value="http://www.nictiz.nl" />
<use value="work" />
</telecom>
</contact>
<description value="Profile to perform checks specific to the zib2024 package" />
<copyright value="Copyright and related rights waived via CC0, https://creativecommons.org/publicdomain/zero/1.0/. This does not apply to information from third parties, for example a medical terminology system. The implementer alone is responsible for identifying and obtaining any necessary licenses or authorizations to utilize third party IP in connection with the specification or otherwise." />
<fhirVersion value="4.0.1" />
<kind value="resource" />
<abstract value="false" />
<type value="StructureDefinition" />
<baseDefinition value="http://hl7.org/fhir/StructureDefinition/StructureDefinition" />
<derivation value="constraint" />
<differential>
<element id="StructureDefinition.differential.element">
<path value="StructureDefinition.differential.element" />
<constraint>
<key value="Zib2024PackageChecks-01" />
<severity value="error" />
<human value="When applying data type profile zib-AnatomicalLocation, the associated ValueSet should be bound" />
<expression value="'http://nictiz.nl/fhir/StructureDefinition/zib-AnatomicalLocation' in type.profile implies binding.valueSet = 'http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.121.11.11--20240415000000'" />
</constraint>
<constraint>
<key value="Zib2024PackageChecks-02" />
<severity value="error" />
<human value="When applying data type profile zib-AnatomicalLocation, the associated ValueSet should have binding strength extensible" />
<expression value="'http://nictiz.nl/fhir/StructureDefinition/zib-AnatomicalLocation' in type.profile implies binding.strength = 'extensible'" />
</constraint>
</element>
</differential>
</StructureDefinition>
77 changes: 77 additions & 0 deletions zib/StructureDefinitions/zib-AnatomicalLocation-BodyStructure.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="utf-8"?>
<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="zib-AnatomicalLocation-BodyStructure" />
<text>
<status value="empty" /><div xmlns="http://www.w3.org/1999/xhtml">No narrative is provided for definitional resources. A human-readable rendering can be found in the implementation guide(s) where this resource is used.</div></text>
<url value="http://nictiz.nl/fhir/StructureDefinition/zib-AnatomicalLocation-BodyStructure" />
<name value="ZibAnatomicalLocationBodyStructure" />
<title value="zib AnatomicalLocation BodyStructure" />
<status value="draft" />
<publisher value="Nictiz" />
<contact>
<name value="Nictiz" />
<telecom>
<system value="url" />
<value value="https://www.nictiz.nl" />
<use value="work" />
</telecom>
</contact>
<description value="An anatomical location specifies the location (e.g. foot) and laterality (e.g. left) of a body part." />
<purpose value="This BodyStructure resource represents the complete Dutch [zib ('Zorginformatiebouwsteen', i.e. Health and Care Information Model) AnatomicalLocation v1.0.3 (2024)](https://zibs.nl/wiki/AnatomicalLocation-v1.0.3(2024EN))." />
<copyright value="Copyright and related rights waived via CC0, https://creativecommons.org/publicdomain/zero/1.0/. This does not apply to information from third parties, for example a medical terminology system. The implementer alone is responsible for identifying and obtaining any necessary licenses or authorizations to utilize third party IP in connection with the specification or otherwise." />
<fhirVersion value="4.0.1" />
<mapping>
<identity value="zib-anatomicallocation-v1.0.3-2024EN" />
<uri value="https://zibs.nl/wiki/AnatomicalLocation-v1.0.3(2024EN)" />
<name value="zib AnatomicalLocation-v1.0.3(2024EN)" />
</mapping>
<kind value="resource" />
<abstract value="true" />
<type value="BodyStructure" />
<baseDefinition value="http://hl7.org/fhir/StructureDefinition/BodyStructure" />
<derivation value="constraint" />
<differential>
<element id="BodyStructure">
<path value="BodyStructure" />
<short value="AnatomicalLocation" />
<definition value="Zib AnatomicalLocation is mapped to both a profile on CodeableConcept (&lt;http://nictiz.nl/fhir/StructureDefinition/zib-AnatomicalLocation&gt;) and this BodyStructure profile. &#xA;&#xA;When it is required to convey a discrete Laterality (NL-CM:20.7.3) next to (or in absence of) the Location (NL-CM:20.7.4), this BodyStructure profile should be used and referenced from the relevant resource. In cases where Laterality is either unnecessary or embedded within the location code itself, it can be conveyed directly in the relevant resource.&#xD;&#xA;&#xD;&#xA;**Note:** Receiving systems must support both the BodyStructure resource and the CodeableConcept in host resources, as either mechanism may be employed. Providing systems can select the appropriate mechanism based on their data requirements." />
<alias value="AnatomischeLocatie" />
<mapping>
<identity value="zib-anatomicallocation-v1.0.3-2024EN" />
<map value="NL-CM:20.7.1" />
<comment value="AnatomicalLocation" />
</mapping>
</element>
<element id="BodyStructure.location">
<path value="BodyStructure.location" />
<short value="Location" />
<definition value="Localisation on/in the body." />
<alias value="Locatie" />
<binding>
<strength value="required" />
<valueSet value="http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.121.11.11--20240415000000" />
</binding>
<mapping>
<identity value="zib-anatomicallocation-v1.0.3-2024EN" />
<map value="NL-CM:20.7.4" />
<comment value="Location" />
</mapping>
</element>
<element id="BodyStructure.locationQualifier">
<path value="BodyStructure.locationQualifier" />
<short value="Laterality" />
<definition value="Laterality adds information about the body side to the anatomic location, e.g. left." />
<alias value="Lateraliteit" />
<max value="1" />
<binding>
<strength value="required" />
<valueSet value="http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.20.7.2--20240415000000" />
</binding>
<mapping>
<identity value="zib-anatomicallocation-v1.0.3-2024EN" />
<map value="NL-CM:20.7.3" />
<comment value="Laterality" />
</mapping>
</element>
</differential>
</StructureDefinition>
Loading
Loading