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-Patient #8

Draft
wants to merge 35 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 21 commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
e6f1a5d
Zib-Patient: base profile
AmyKoo1 Sep 11, 2024
b45381a
zib-Patient: base profile, added valueset
AmyKoo1 Sep 16, 2024
b9a1e1c
zib-Patient: removed package.json
AmyKoo1 Sep 17, 2024
2f6c3bf
zib-Patient: added conceptmap, knownissues, removed mapping
AmyKoo1 Sep 17, 2024
4938e94
Added GenderidentiteitCodelijst
AmyKoo1 Sep 19, 2024
92b694f
Added release notes and known issues
AmyKoo1 Sep 25, 2024
51af961
zib ContactInformation-EmailAddresses en zib ContactInformation-Telep…
AmyKoo1 Sep 25, 2024
d6e5ebb
Merge branch 'main' into zib-ContactInformation
AmyKoo1 Sep 26, 2024
36fe60c
added valuesets, codesystem, conceptmaps and release notes
AmyKoo1 Sep 26, 2024
8bc87d2
Merge branch 'main' into zib-Patient
AmyKoo1 Sep 26, 2024
397fcbe
updated release-notes to conform to convention
ArdonToonstra Sep 30, 2024
c52ebbd
updated patient.gender
AmyKoo1 Oct 1, 2024
c08954a
added extension
AmyKoo1 Oct 7, 2024
13e4b3a
add ext-CodeSpecification
AmyKoo1 Oct 8, 2024
e224c07
Merge branch 'zib-ContactInformation' into zib-Patient
AmyKoo1 Oct 14, 2024
630f4e5
Revert "Merge branch 'zib-ContactInformation' into zib-Patient"
AmyKoo1 Oct 16, 2024
2bd6d52
Updated mappings, added terminology and known-issues
AmyKoo1 Oct 16, 2024
2ec21df
updated terminology
AmyKoo1 Oct 16, 2024
8223d7d
Added mapping
AmyKoo1 Oct 16, 2024
0beb5c1
Removed incorrect mappings, added narrative for LanguageProficiency.c…
AmyKoo1 Oct 21, 2024
1a2537a
textual changes
AmyKoo1 Oct 21, 2024
6d7f7b3
Align cardinality with zib concept and textual align SD.purpose field
ArdonToonstra Oct 24, 2024
4c0267d
fix incorrect extension details
ArdonToonstra Oct 24, 2024
fae910c
Finetuned Patient profile
LuudSlagter Oct 31, 2024
587810d
remove deprecated codesystem
ArdonToonstra Oct 31, 2024
286a07d
remove not used codesystem
ArdonToonstra Oct 31, 2024
a2d736c
rerunned terminology script
ArdonToonstra Oct 31, 2024
5825448
Added Patient examples
LuudSlagter Oct 31, 2024
07f4a67
added narratives
ArdonToonstra Oct 31, 2024
099e4bf
Added missed binding and some textual alignments
ArdonToonstra Oct 31, 2024
ecd2949
updated release notes
AmyKoo1 Nov 4, 2024
e60e24e
Finetuned Patient profile
LuudSlagter Nov 6, 2024
660215c
Added missing mappings to nl-core-Patient
LuudSlagter Nov 6, 2024
ddf3661
Finetuned LanguageProficiency extensions
LuudSlagter Nov 6, 2024
996c6d1
Finetuned release notes and known issues
LuudSlagter Nov 7, 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
43 changes: 43 additions & 0 deletions known-issues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,52 @@

issues should occur: true

ext-LanguageProficiency.CommunicationDetails:
zib deviations:
Extension.value[x]:
- cardinality: 0..1 instead of 0..*
reason: FHIR restricts Extension.value to a max cardinality of 0..1. To use it more than once, the extension is added 0..* in the hosting element.

zib-Patient:
zib deviations:
Patient.name*:
- datatype: HumanName instead of a reference
reason: A name in FHIR is represented using the HumanName datatype, not as a separate resource.
Patient.name:
- cardinality: 0..* instead of 0..1
reason: The name information according to zib NameInformation may be split up over multiple instances of Patient.name.
Patient.telecom*:
- datatype: ContactPoint instead of a reference
reason: ContactInformation in FHIR is represented using the ContactPoint datatype, not as a separate resource.
Patient.telecom:
- cardinality: 0..* instead of 0..1
for: NL-CM:0.1.5 (Patient.ContactInformation)
reason: The cardinality mismatch between the zib (0..1) and FHIR (0..*) is explained by the missing root element of zib part ContactInformation in FHIR. Instead, the two containers of the zib (TelephoneNumbers and EmailAddresses), which both have a cardinality of 0..*, are mapped directly into the resource. Thereby this mapping is still honoring the cardinality requirements of the zib.
Patient.address:
- datatype: Address instead of a reference
reason: An address in FHIR is represented using the Address datatype, not as a separate resource.
Patient.deceased[x]:deceasedDateTime:
- short: DateOfDeath instead of DateOfDeath / DeathIndicator
reason: This element is mapped to two zib concepts, DateOfDeath and DeathIndicator. However, the latter is implicit -- although the zib recognizes both concepts, FHIR supports populating just one of them, thus DeathIndicator is assumed to be true when DateOfDeath is populated. For clarity reasons, the .deceasedDateTime slice has only DateOfDeath mapped to it.
- datatype: dateTime instead of boolean
reason: The boolean expected by DeathIndicator is only assumed; see the explanation above.
Patient.multipleBirth[x]:multipleBirthInteger:
- short: MultipleBirthSequence instead of MultipleBirthSequence / MultipleBirthIndicator
reason: This element is mapped to two zib concepts, MultipleBirthSequence and MultipleBirthIndicator. However, the latter is implicit -- although the zib recognizes both concepts, FHIR supports populating just one of them, thus MultipleBirthIndicator is assumed to be true when MultipleBirthSequence is populated. For clarity reasons, the .multipleBirthInteger slice has only MultipleBirthSequence mapped to it.
- datatype: integer instead of boolean
reason: The boolean expected by MultipleBirthIndicator is only assumed; see the explanation above.

---
# 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.
# These might occur in one or more profiles, or in none if they have been fixed in the meantime.

issues should occur: false

zib-Patient:
ignored issues:
Patient.address:
- message: "Constraint failed: sd-pg-02: 'If mapping.map exists and the mapping is not implicit, short should exist'"
reason: The short description is defined on the datatype profile and not repeated in the differential.
- message: "Constraint failed: sd-pg-04: 'If mapping.map exists and the mapping is not implicit, alias should exist.'"
reason: The alias is defined on the datatype profile and not repeated in the differential.
89 changes: 89 additions & 0 deletions nl-core/StructureDefinitions/nl-core-Patient.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
<?xml version="1.0" encoding="utf-8"?>
<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="nl-core-Patient" />
<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-Patient" />
<name value="NlcorePatient" />
<title value="nl core Patient" />
<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="A person who receives medical, psychological, paramedical or nursing care. In some care settings, the term client or participant is used instead of the term patient." />
<purpose value="A derived profile from [zib-Patient](http://nictiz.nl/fhir/StructureDefinition/zib-Patient) 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-patient-v4.3-2024EN" />
<uri value="https://zibs.nl/wiki/Patient-v4.3(2024EN)" />
<name value="zib Patient-v4.3(2024EN)" />
</mapping>
<kind value="resource" />
<abstract value="false" />
<type value="Patient" />
<baseDefinition value="http://nictiz.nl/fhir/StructureDefinition/zib-Patient" />
<derivation value="constraint" />
<differential>
<element id="Patient">
<path value="Patient" />
<alias value="nl-core-Patient" />
</element>
<element id="Patient.name:nameInformation">
<path value="Patient.name" />
<sliceName value="nameInformation" />
<type>
<code value="HumanName" />
<profile value="http://nictiz.nl/fhir/StructureDefinition/nl-core-NameInformation" />
</type>
</element>
<element id="Patient.name:nameInformation-GivenName">
<path value="Patient.name" />
<sliceName value="nameInformation-GivenName" />
<type>
<code value="HumanName" />
<profile value="http://nictiz.nl/fhir/StructureDefinition/nl-core-NameInformation.GivenName" />
</type>
</element>
<element id="Patient.telecom:telephoneNumbers">
<path value="Patient.telecom" />
<sliceName value="telephoneNumbers" />
<type>
<code value="ContactPoint" />
<profile value="http://nictiz.nl/fhir/StructureDefinition/nl-core-ContactInformation-TelephoneNumbers" />
</type>
</element>
<element id="Patient.telecom:emailAddresses">
<path value="Patient.telecom" />
<sliceName value="emailAddresses" />
<type>
<code value="ContactPoint" />
<profile value="http://nictiz.nl/fhir/StructureDefinition/nl-core-ContactInformation-EmailAddresses" />
</type>
</element>
<element id="Patient.address">
<path value="Patient.address" />
<type>
<code value="Address" />
<profile value="http://nictiz.nl/fhir/StructureDefinition/nl-core-AddressInformation" />
</type>
</element>
<element id="Patient.generalPractitioner">
<path value="Patient.generalPractitioner" />
<type>
<code value="Reference" />
<profile value="http://nictiz.nl/fhir/StructureDefinition/pattern-NlCoreHealthProfessionalReference" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/PractitionerRole" />
<targetProfile value="http://nictiz.nl/fhir/StructureDefinition/nl-core-HealthProfessional-PractitionerRole" />
</type>
</element>
</differential>
</StructureDefinition>
4 changes: 4 additions & 0 deletions release-notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
## Patient (zib-Patient)
AmyKoo1 marked this conversation as resolved.
Show resolved Hide resolved
* `.extension:genderIdentity.value[x]` ; extension ; Added GenderIdentity for GenderIdentity ; ZIB-1693
* `.gender` ; terminology ; Added guidance in GeslachtCodelijst-to-AdministrativeGender ConceptMap ; ZIB-1239
* `.multipleBirth[x]:multipleBirthInteger` ; mapping ; Added mapping of MultipleBirthSequence ; ZIB-1670
57 changes: 57 additions & 0 deletions zib/StructureDefinitions/ext-LanguageProficiency.Comment.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="ext-LanguageProficiency.Comment" />
<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-LanguageProficiency.Comment" />
<name value="ExtLanguageProficiencyComment" />
<title value="ext LanguageProficiency.Comment" />
<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 a method to extend the LanguageProficiency profile with a comment element." />
<purpose value="This extension represents the LanguageProficiency Comment concept (NL-CM:7.12.5) of the Dutch [zib ('Zorginformatiebouwsteen', i.e. Health and Care Information Model) LanguageProficiency v4.0 (2024)](https://zibs.nl/wiki/LanguageProficiency-v4.0(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-languageproficiency-v4.0-2024EN" />
<uri value="https://zibs.nl/wiki/LanguageProficiency-v4.0(2024EN)" />
<name value="zib LanguageProficiency-v4.0(2024EN)" />
</mapping>
<kind value="complex-type" />
<abstract value="false" />
<context>
<type value="element" />
<expression value="Patient.communication" />
</context>
<type value="Extension" />
<baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
<derivation value="constraint" />
<differential>
<element id="Extension.url">
<path value="Extension.url" />
<fixedUri value="http://nictiz.nl/fhir/StructureDefinition/ext-LanguageProficiency.Comment" />
</element>
<element id="Extension.value[x]">
<path value="Extension.value[x]" />
<short value="Comment" />
<definition value="A comment on the linguistic proficiency. When using sign language, this field can be used to clarify, for example, which sign language is used. This can be informative, as there is not always a one-to-one relationship between the spoken language and sign language." />
<alias value="Toelichting" />
<type>
<code value="string" />
</type>
<mapping>
<identity value="zib-languageproficiency-v4.0-2024EN" />
<map value="NL-CM:7.12.5" />
<comment value="Comment" />
</mapping>
</element>
</differential>
</StructureDefinition>
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
<?xml version="1.0" encoding="utf-8"?>
<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="ext-LanguageProficiency.CommunicationDetails" />
<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-LanguageProficiency.CommunicationDetails" />
<name value="ExtLanguageProficiencyCommunicationDetails" />
<title value="ext LanguageProficiency.CommunicationDetails" />
<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 extension to provide additional ways or tools that the person uses to communicate, such as braille, sign language, etc." />
<purpose value="This extension represents the CommunicationDetails concept of the Dutch [zib ('Zorginformatiebouwsteen', i.e. Health and Care Information Model) LanguageProficiency v4.0 (2024)](https://zibs.nl/wiki/LanguageProficiency-v4.0(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-languageproficiency-v4.0-2024EN" />
<uri value="https://zibs.nl/wiki/LanguageProficiency-v4.0(2024EN)" />
<name value="zib LanguageProficiency-v4.0(2024EN)" />
</mapping>
<kind value="complex-type" />
<abstract value="false" />
<context>
<type value="element" />
<expression value="Patient.communication" />
</context>
<type value="Extension" />
<baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
<derivation value="constraint" />
<differential>
<element id="Extension.url">
<path value="Extension.url" />
<fixedUri value="http://nictiz.nl/fhir/StructureDefinition/ext-LanguageProficiency.CommunicationDetails" />
</element>
<element id="Extension.value[x]">
<path value="Extension.value[x]" />
<short value="CommunicationDetails" />
<definition value="Additional ways or tools that the person uses to communicate, such as braille, sign language, etc." />
<alias value="CommunicatieBijzonderheden" />
<type>
<code value="CodeableConcept" />
</type>
<binding>
<strength value="extensible" />
<valueSet value="http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.7.12.6--20240415000000" />
</binding>
<mapping>
<identity value="zib-languageproficiency-v4.0-2024EN" />
<map value="NL-CM:7.12.9" />
<comment value="CommunicationDetails" />
</mapping>
</element>
</differential>
</StructureDefinition>
Loading