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-LaboratoryTestResult #14

Draft
wants to merge 54 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 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
fd24586
Merge branch 'zib-AnatomicalLocation' into zib-LaboratoryTestResult
AmyKoo1 Sep 30, 2024
9aa499b
Moved some of the implementation guidance to the purpose of the profi…
ArdonToonstra Oct 1, 2024
e1604f7
draft base profile and valuesets
AmyKoo1 Oct 7, 2024
215796d
Moved binding from coding to root CodeableConcept and fixed missing b…
ArdonToonstra Oct 8, 2024
2875333
Renamed profile, added ext-EdifactReferenceNumber
AmyKoo1 Oct 8, 2024
0192b13
Merge branch 'zib-AnatomicalLocation' into zib-LaboratoryTestResult
AmyKoo1 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
9b00b4c
Updated Id and comment
AmyKoo1 Oct 8, 2024
6ce70c2
Merge branch 'zib-AnatomicalLocation' into zib-LaboratoryTestResult
AmyKoo1 Oct 8, 2024
96a78f6
Merge branch 'zib-HealthcareProvider' into zib-LaboratoryTestResult
AmyKoo1 Oct 8, 2024
df9396a
Removed unneccesary CodeSystem, updated metadata
AmyKoo1 Oct 8, 2024
0ccd1b2
Merge branch 'zib-HealthcareProvider' into zib-LaboratoryTestResult
AmyKoo1 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
0075dc7
Merge branch 'zib-AnatomicalLocation' into zib-LaboratoryTestResult
AmyKoo1 Oct 9, 2024
326bf9b
Added terminology and known-issues.
AmyKoo1 Oct 9, 2024
44ebe9a
Merge branch 'ZIBFHIR2024-216' into zib-AnatomicalLocation
ArdonToonstra Oct 9, 2024
6574c3b
Added space before seperator
ArdonToonstra Oct 9, 2024
79c5178
Merge branch 'zib-HealthcareProvider' into zib-LaboratoryTestResult
AmyKoo1 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
bdd7f1c
added dependency
AmyKoo1 Oct 14, 2024
3f3a704
added release notes, mapping guidance
AmyKoo1 Oct 14, 2024
58b1c6d
removed incorrect mappings
AmyKoo1 Oct 14, 2024
d8f730d
Cardinality adjusted in profile
AmyKoo1 Oct 14, 2024
9f5dc09
updated release notes
AmyKoo1 Oct 21, 2024
649546f
updated release notes, removed incorrect mapping, added nl-core-Labor…
AmyKoo1 Oct 23, 2024
5d241d2
Added ext CopyIndicator
AmyKoo1 Oct 24, 2024
20b41c8
fix nl-core overrides
AmyKoo1 Oct 25, 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
04e41cc
Added extension for SpecimenSource, changed binding valueset Anatomic…
AmyKoo1 Nov 28, 2024
4064f19
Merge branch 'main' into zib-LaboratoryTestResult
AmyKoo1 Nov 28, 2024
c79c928
added valueset
AmyKoo1 Nov 28, 2024
d16a102
Merge branch 'main' into zib-AnatomicalLocation
ArdonToonstra Nov 28, 2024
cbbedd5
Adjusted known issues
AmyKoo1 Nov 28, 2024
763b963
removed whitespaces to satisfy QA
AmyKoo1 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
9f4c130
updated mappings
AmyKoo1 Dec 4, 2024
52d73a8
textual changes
AmyKoo1 Dec 4, 2024
afa9e95
Merge branch 'main' into zib-LaboratoryTestResult
ArdonToonstra Dec 6, 2024
125c893
Merge branch 'zib-AnatomicalLocation' into zib-LaboratoryTestResult
ArdonToonstra Dec 6, 2024
395f89a
removed informatiestandaarden mappings and updated release notes
AmyKoo1 Dec 11, 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
31 changes: 31 additions & 0 deletions known-issues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,33 @@ zib-HealthcareProvider:
for: NL-CM:20.5.1 (AddressInformation)
reason: An address in FHIR is represented using the Address datatype, not as a separate resource.

zib-LaboratoryTestResult:
zib deviations:
Observation.status:
- cardinality: 1..1 instead of 0..1
reason: Although the equivalent concept is optional in the zib, this element is required in FHIR.
Observation.code:
- cardinality: 1..1 instead of 0..1
reason: This element is mapped to the concepts PanelOrBattery and TestCode at the same time. PanelOrBattery is marked as optional in the zib, but this is strictly not true; it must be absent if the zib instantiates a singular laboratory test, but is required if the zib instantiates a panel. Therefore, both mappings to this element are in fact required.
Observation.value[x]:
- datatype: Quantity instead of ANY
reason: In FHIR there's no datatype ANY. All stated datatypes in the description can be accommodated using this element (Quantity and CodeableConcept are in fact both supported).
Observation.referenceRange.*:
- datatype: Quantity instead of ANY
reason: The zib concepts ReferenceRangeUpperLimit and ReferenceRangeLowerLimit are defined as datatype ANY, but these concepts only have meaning when they apply to a Quantity. See https://bits.nictiz.nl/browse/ZIB-1703.

zib-LaboratoryTestResult.Specimen:
zib deviations:
Specimen.identifier:
- cardinality: 0..* instead of 0..1
reason: Although a single SpecimenId is allowed according to the zib, .identifier is often used for additional identifiers outside the scope of the zib. It's not possible to create a slice or pattern specifically for SpecimenId without further formal requirements by the zib.
Specimen.collection.bodySite:
- datatype: CodeableConcept instead of a reference
reason: Zib AnatomicalLocation is implemented as a datatype profile on CodeableConcept, so the datatype is not a Reference.
Specimen.container.extension:specimenNumberExtension.value[x]:
- cardinality: 1..1 instead of 0..1
reason: The value in the extension is 1..1, but the extension itself is 0..1, effectively matching the zib cardinality.

zib-NameInformation:
zib deviations:
HumanName.prefix:
Expand Down Expand Up @@ -101,3 +128,7 @@ zib-NameInformation:
HumanName.extension:nameUsage.value[x]:
- cardinality: 0..* instead of 0..1
reason: The cardinality of the extension itself is 0..1, making the effective cardinality 0..1 as required by the zib. It seems the QA tooling does not take into account the cardinality of the extension element itself.




82 changes: 82 additions & 0 deletions nl-core/StructureDefinitions/ext-CopyIndicator.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="ext-CopyIndicator" />
<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/ext-CopyIndicator" />
<name value="ExtCopyIndicator" />
<title value="ext CopyIndicator" />
<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="This extension provides an indication whether the resource is original (false) or a copy from a different source (true)." />
<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="lu-dataset-laboratory-exchange-20210222" />
<uri value="https://decor.nictiz.nl/ad/#/lu-/datasets/dataset/2.16.840.1.113883.2.4.3.11.60.25.1.2/2021-02-22T00:00:00" />
<name value="ART-DECOR Dataset Lab Exchange 20210222T00:00:00" />
</mapping>
<kind value="complex-type" />
<abstract value="false" />
<context>
<type value="element" />
<expression value="MedicationStatement" />
</context>
<context>
<type value="element" />
<expression value="MedicationDispense" />
</context>
<context>
<type value="element" />
<expression value="Observation" />
</context>
<context>
<type value="element" />
<expression value="Specimen" />
</context>
<context>
<type value="element" />
<expression value="Device" />
</context>
<context>
<type value="element" />
<expression value="AllergyIntolerance.reaction" />
</context>
<type value="Extension" />
<baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
<derivation value="constraint" />
<differential>
<element id="Extension">
<path value="Extension" />
<max value="1" />
</element>
<element id="Extension.url">
<path value="Extension.url" />
<fixedUri value="http://nictiz.nl/fhir/StructureDefinition/ext-CopyIndicator" />
</element>
<element id="Extension.value[x]">
<path value="Extension.value[x]" />
<short value="CopyIndicator" />
<definition value="An indication whether the resource is original (false) or a copy from a different source (true)." />
<alias value="KopieIndicator" />
<type>
<code value="boolean" />
</type>
<mapping>
<identity value="lu-dataset-laboratory-exchange-20210222" />
AmyKoo1 marked this conversation as resolved.
Show resolved Hide resolved
<map value="lu-concept-v2-4297" />
<comment value="CopyIndicator" />
</mapping>
</element>
</differential>
</StructureDefinition>
63 changes: 63 additions & 0 deletions nl-core/StructureDefinitions/ext-EdifactReferenceNumber.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="ext-EdifactReferenceNumber" />
<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/ext-EdifactReferenceNumber" />
<name value="ExtEdifactReferenceNumber" />
<title value="ext EdifactReferenceNumber" />
<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="This extension can be used to register the reference number of the Edifact message from which (a part of) this healthcare information originates." />
<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="lu-dataset-laboratory-exchange-20210222" />
AmyKoo1 marked this conversation as resolved.
Show resolved Hide resolved
<uri value="https://decor.nictiz.nl/ad/#/lu-/datasets/dataset/2.16.840.1.113883.2.4.3.11.60.25.1.2/2021-02-22T00:00:00" />
<name value="ART-DECOR Dataset Lab Exchange 20210222T00:00:00" />
</mapping>
<kind value="complex-type" />
<abstract value="false" />
<context>
<type value="element" />
<expression value="Observation" />
</context>
<type value="Extension" />
<baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
<derivation value="constraint" />
<differential>
<element id="Extension">
<path value="Extension" />
<max value="1" />
</element>
<element id="Extension.url">
<path value="Extension.url" />
<fixedUri value="http://nictiz.nl/fhir/StructureDefinition/ext-EdifactReferenceNumber" />
</element>
<element id="Extension.value[x]">
<path value="Extension.value[x]" />
<short value="EdifactReferenceNumber" />
<definition value="A reference number of the Edifact message from which (a part of) this healthcare information originates." />
<comment value="Edifact MEDLAB 1.0 has the intended reference number in segment IDE 'Identificatie materiaal/aanvraag' field 2 Identificatienummer" />
<alias value="EdifactReferentienummer" />
<type>
<code value="string" />
</type>
<mapping>
<identity value="lu-dataset-laboratory-exchange-20210222" />
<map value="lu-concept-v2-4409" />
<comment value="EdifactReferenceNumber" />
</mapping>
</element>
</differential>
</StructureDefinition>
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?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" />
<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="Zib 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>
46 changes: 46 additions & 0 deletions nl-core/StructureDefinitions/nl-core-AnatomicalLocation.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<?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" />
<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>
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-LaboratoryTestResult.Specimen-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-LaboratoryTestResult.Specimen-BodyStructure" />
<name value="NlcoreLaboratoryTestResultSpecimenBodyStructure" />
<title value="nl core LaboratoryTestResult.Specimen 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="Obtained specimen material or a microbial isolate that is used in a laboratory analysis." />
<purpose value="A derived profile from [zib-LaboratoryTestResult.Specimen-BodyStructure](http://nictiz.nl/fhir/StructureDefinition/zib-LaboratoryTestResult.Specimen-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-laboratorytestresult-v7.0-2024EN" />
<uri value="https://zibs.nl/wiki/LaboratoryTestResult-v7.0(2024EN)" />
<name value="zib LaboratoryTestResult-v7.0(2024EN)" />
</mapping>
<kind value="resource" />
<abstract value="false" />
<type value="BodyStructure" />
<baseDefinition value="http://nictiz.nl/fhir/StructureDefinition/zib-LaboratoryTestResult.Specimen-BodyStructure" />
<derivation value="constraint" />
<differential>
<element id="BodyStructure">
<path value="BodyStructure" />
<definition value="The nl-core AnatomicalLocation is mapped to both a profile on CodeableConcept (&lt;http://nictiz.nl/fhir/StructureDefinition/nl-core-AnatomicalLocation&gt;) and this BodyStructure profile. While the CodeableConcept profile covers anatomical location, the BodyStructure resource is used to capture both the location and its laterality.&#xA;&#xA;When laterality and/or morphology are required, this BodyStructure profile should be used. In cases where laterality and morphology are not needed, the CodeableConcept `Specimen.collection.bodySite` can be used within the resource `nl-core-LaboratoryTestResult.Specimen`.&#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-LaboratoryTestResult.Specimen-BodyStructure" />
</element>
</differential>
</StructureDefinition>
Loading
Loading