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 60 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 23 commits
Commits
Show all changes
60 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
e55b507
Added slices to be conformant with IPS
AmyKoo1 Dec 16, 2024
b5d4d88
updated release notes, changed binding strength
AmyKoo1 Dec 16, 2024
afc5e39
Merge branch 'main' into zib-AnatomicalLocation
ArdonToonstra Dec 26, 2024
eb8f2ef
Added mapping to nl-core profiles
ArdonToonstra Dec 26, 2024
6f11eac
Merge branch 'main' into zib-LaboratoryTestResult
ArdonToonstra Dec 26, 2024
a80f96b
Merge branch 'zib-AnatomicalLocation' into zib-LaboratoryTestResult
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
25 changes: 25 additions & 0 deletions known-issues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,32 @@ unmapped zib concepts:
- NL-CM:17.2.10: HealthcareProvider.LocationNumber
reason: This zib concept is problematic to map cleanly to FHIR and it has been deemed too uncommon in practice to warrant an extension.

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.
---
# The following issues are not "real" deviations stemming from design choices, but rather problems that pop up due to
# shortcomings in tooling, the used terminology server, etc.
Expand Down
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="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 is required, this BodyStructure profile should be used. In cases where laterality is either unnecessary or embedded within the location code, the CodeableConcept can be used within the 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 zib 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--20200901000000&gt;) with a binding strength of _required_." />
<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>
74 changes: 74 additions & 0 deletions nl-core/nl-core-LaboratoryTestResult.Specimen.xml
AmyKoo1 marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="utf-8"?>
<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="nl-core-LaboratoryTestResult.Specimen" />
<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" />
<name value="NlcoreLaboratoryTestResultSpecimen" />
<title value="nl core LaboratoryTestResult.Specimen" />
<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](http://nictiz.nl/fhir/StructureDefinition/zib-LaboratoryTestResult.Specimen) 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-v5.1-2022EN" />
<uri value="https://zibs.nl/wiki/LaboratoryTestResult-v5.1(2022EN)" />
<name value="zib LaboratoryTestResult-v5.1(2022EN)" />
</mapping>
<kind value="resource" />
<abstract value="false" />
<type value="Specimen" />
<baseDefinition value="http://nictiz.nl/fhir/StructureDefinition/zib-LaboratoryTestResult.Specimen" />
<derivation value="constraint" />
<differential>
<element id="Specimen">
<path value="Specimen" />
<alias value="nl-core-LaboratoryTestResult.Specimen" />
</element>
<element id="Specimen.subject">
<path value="Specimen.subject" />
<type>
<code value="Reference" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Group" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Device" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Substance" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Location" />
<targetProfile value="http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient" />
</type>
</element>
<element id="Specimen.parent">
<path value="Specimen.parent" />
<type>
<code value="Reference" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Specimen" />
<targetProfile value="http://nictiz.nl/fhir/StructureDefinition/nl-core-LaboratoryTestResult.Specimen" />
</type>
</element>
<element id="Specimen.collection.bodySite">
<path value="Specimen.collection.bodySite" />
<type>
<code value="CodeableConcept" />
<profile value="http://nictiz.nl/fhir/StructureDefinition/nl-core-AnatomicalLocation" />
</type>
</element>
<element id="Specimen.container.type">
<path value="Specimen.container.type" />
<mapping>
<identity value="zib-laboratorytestresult-v5.1-2022EN" />
<map value="NL-CM:13.1.21" />
<comment value="ContainerType" />
</mapping>
</element>
</differential>
</StructureDefinition>
Loading
Loading