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-NameInformation #13

Merged
merged 13 commits into from
Nov 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
78 changes: 78 additions & 0 deletions examples/nl-core-NameInformation-complete.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
<!-- An example of a complete name, with:
* official first names (voornamen)
* a given name (roepnaam)
* a family name built from the person's last name and the last name of her partner
* a scientific title.

This example is about Ms. Johanna Petronelle Maria van Putten, commonly known as "Jo", who has a PhD. When she married
Mr. van der Giessen, she adopted the last name of her partner, and added her own last name to it.
--><Patient xmlns="http://hl7.org/fhir">

Check warning on line 9 in examples/nl-core-NameInformation-complete.xml

View workflow job for this annotation

GitHub Actions / Strict QA on changed materials

Profile reference 'http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient' has not been checked because it could not be found, and fetching it resulted in the error java.net.SocketTimeoutException: timeout (at Patient.meta.profile[0])

Check warning on line 9 in examples/nl-core-NameInformation-complete.xml

View workflow job for this annotation

GitHub Actions / Loose QA on the entire repo

Profile reference 'http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient' has not been checked because it could not be found, and fetching it resulted in the error java.net.SocketTimeoutException: timeout (at Patient.meta.profile[0])
<id value="nl-core-NameInformation-complete"/>
<meta>
<profile value="http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient"/>

Check notice on line 12 in examples/nl-core-NameInformation-complete.xml

View workflow job for this annotation

GitHub Actions / Strict QA on changed materials

Canonical URL 'http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient' does not resolve (at Patient.meta.profile[0])
</meta>
<text>
<status value="extensions"/>
<div xmlns="http://www.w3.org/1999/xhtml">
<div>
<span title="Naamsamenstelling: Partnernaam gevolgd door eigennaam">Johanna Petronella Maria van der Giessen-van Putten</span>
</div>
</div>
</text>
<!-- The information about the offical names is communicated using a .name instance where .name.use is
set to "official". -->
<name>
<!-- The extension is used to indicate that the person's family name is built up from the partner's last name
followed by the person's own last name -->
<extension url="http://hl7.org/fhir/StructureDefinition/humanname-assembly-order">
<valueCode value="NL3"/>
</extension>
<use value="official"/>
<!-- The rendered name of the person -->
<text value="Johanna Petronella Maria van der Giessen-van Putten"/>
<!-- The person's combined family name. The individual parts are repeated using the appropriate extensions. -->
<family value="van der Giessen-van Putten">
<!-- The person's own last name prefix -->
<extension url="http://hl7.org/fhir/StructureDefinition/humanname-own-prefix">
<valueString value="van"/>
</extension>
<!-- The person's own last name -->
<extension url="http://hl7.org/fhir/StructureDefinition/humanname-own-name">
<valueString value="Putten"/>
</extension>
<!-- The partner's last name prefix -->
<extension url="http://hl7.org/fhir/StructureDefinition/humanname-partner-prefix">
<valueString value="van der"/>
</extension>
<!-- The partner's last name -->
<extension url="http://hl7.org/fhir/StructureDefinition/humanname-partner-name">
<valueString value="Giessen"/>
</extension>
</family>
<!-- Each official first name is communicated individually, augmented with the iso21090-EN-qualifier
extension set to "BR" (Birth) to indicate that it is a complete and official first name. -->
<given value="Johanna">
<extension url="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier">
<valueCode value="BR"/>
</extension>
</given>
<given value="Petronella">
<extension url="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier">
<valueCode value="BR"/>
</extension>
</given>
<given value="Maria">
<extension url="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier">
<valueCode value="BR"/>
</extension>
</given>
<!-- The scientific title of the person. -->
<prefix value="PhD"/>
</name>
<!-- The given name (roepnaam, nickname) of the person is communicated using an additional .name instance with
.name.use set to "usual". -->
<name>
<use value="usual"/>
<given value="Jo"/>
</name>
</Patient>
46 changes: 46 additions & 0 deletions examples/nl-core-NameInformation-firstNames.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<Patient xmlns="http://hl7.org/fhir">

Check warning on line 1 in examples/nl-core-NameInformation-firstNames.xml

View workflow job for this annotation

GitHub Actions / Strict QA on changed materials

Profile reference 'http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient' has not been checked because it could not be found, and fetching it resulted in the error java.net.SocketTimeoutException: timeout (at Patient.meta.profile[0])

Check warning on line 1 in examples/nl-core-NameInformation-firstNames.xml

View workflow job for this annotation

GitHub Actions / Loose QA on the entire repo

Profile reference 'http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient' has not been checked because it could not be found, and fetching it resulted in the error java.net.SocketTimeoutException: timeout (at Patient.meta.profile[0])
<!-- An example of a person where the official first names (voornamen) are known.-->
<id value="nl-core-NameInformation-firstNames"/>
<meta>
<profile value="http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient"/>

Check notice on line 5 in examples/nl-core-NameInformation-firstNames.xml

View workflow job for this annotation

GitHub Actions / Strict QA on changed materials

Canonical URL 'http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient' does not resolve (at Patient.meta.profile[0])
</meta>
<text>
<status value="extensions"/>
<div xmlns="http://www.w3.org/1999/xhtml">
<div>Hendrik Johan Willem Schemer</div>
</div>
</text>
<!-- The official name information is communicated in a .name instance with .name.use set to "official" -->
<name>
<use value="official"/>
<!-- The rendered name of the person -->
<text value="Hendrik Johan Willem Schemer"/>
<family value="Schemer">
<extension url="http://hl7.org/fhir/StructureDefinition/humanname-own-name">
<valueString value="Schemer"/>
</extension>
</family>
<!-- Each official first name is communicated individually, augmented with the iso21090-EN-qualifier
extension set to "BR" (Birth) to indicate that it is a complete and official first name. -->
<given value="Hendrik">
<extension url="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier">
<valueCode value="BR"/>
</extension>
</given>
<given value="Johan">
<extension url="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier">
<valueCode value="BR"/>
</extension>
</given>
<given value="Willem">
<extension url="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier">
<valueCode value="BR"/>
</extension>
</given>
</name>
<!-- The given name (roepnaam) is communicated using an additional .name instance with .name.use set to "usual" -->
<name>
<use value="usual"/>
<given value="Henk"/>
</name>
</Patient>
47 changes: 47 additions & 0 deletions examples/nl-core-NameInformation-firstNamesAndInitials.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<Patient xmlns="http://hl7.org/fhir">

Check warning on line 1 in examples/nl-core-NameInformation-firstNamesAndInitials.xml

View workflow job for this annotation

GitHub Actions / Strict QA on changed materials

Profile reference 'http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient' has not been checked because it could not be found, and fetching it resulted in the error java.net.SocketTimeoutException: timeout (at Patient.meta.profile[0])

Check warning on line 1 in examples/nl-core-NameInformation-firstNamesAndInitials.xml

View workflow job for this annotation

GitHub Actions / Loose QA on the entire repo

Profile reference 'http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient' has not been checked because it could not be found, and fetching it resulted in the error java.net.SocketTimeoutException: timeout (at Patient.meta.profile[0])
<!-- An example of a situation where just the first official name is fully known while for the additional first
names just an initial is known. . -->
<id value="nl-core-NameInformation-firstNamesAndInitials"/>
<meta>
<profile value="http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient"/>

Check notice on line 6 in examples/nl-core-NameInformation-firstNamesAndInitials.xml

View workflow job for this annotation

GitHub Actions / Strict QA on changed materials

Canonical URL 'http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient' does not resolve (at Patient.meta.profile[0])
</meta>
<text>
<status value="extensions"/>
<div xmlns="http://www.w3.org/1999/xhtml">
<div>Hendrik J.W. Schemer</div>
</div>
</text>
<!-- Both full names and initials are communicated along with other official name information in a .name element
with .name.use set to "official". -->
<name>
<use value="official"/>
<text value="Hendrik J.W. Schemer"/>
<family value="Schemer">
<extension url="http://hl7.org/fhir/StructureDefinition/humanname-own-name">
<valueString value="Schemer"/>
</extension>
</family>
<!-- Each official first name is communicated individually, augmented with the iso21090-EN-qualifier
extension set to "BR" (Birth) for complete names or "IN" for initials. -->
<given value="Hendrik">
<extension url="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier">
<valueCode value="BR"/>
</extension>
</given>
<given value="J.">
<extension url="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier">
<valueCode value="IN"/>
</extension>
</given>
<given value="W.">
<extension url="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier">
<valueCode value="IN"/>
</extension>
</given>
</name>
<!-- The given name (roepnaam) is communicated using an additional .name instance with .name.use set to usual -->
<name>
<use value="usual"/>
<given value="Henk"/>
</name>
</Patient>
66 changes: 66 additions & 0 deletions examples/nl-core-NameInformation-firstNamesAndInitialsSeparate.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<Patient xmlns="http://hl7.org/fhir">

Check warning on line 1 in examples/nl-core-NameInformation-firstNamesAndInitialsSeparate.xml

View workflow job for this annotation

GitHub Actions / Strict QA on changed materials

Profile reference 'http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient' has not been checked because it could not be found, and fetching it resulted in the error java.net.SocketTimeoutException: timeout (at Patient.meta.profile[0])

Check warning on line 1 in examples/nl-core-NameInformation-firstNamesAndInitialsSeparate.xml

View workflow job for this annotation

GitHub Actions / Loose QA on the entire repo

Profile reference 'http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient' has not been checked because it could not be found, and fetching it resulted in the error java.net.SocketTimeoutException: timeout (at Patient.meta.profile[0])
<!-- An example of the corner case where both official first names (voornamen) and initials of official first names
(initialen) are given, but they don't match and the sending system has no information on the relationship
between these two distinct sets of information. -->
<id value="nl-core-NameInformation-firstNamesAndInitialsSeparate"/>
<meta>
<profile value="http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient"/>

Check notice on line 7 in examples/nl-core-NameInformation-firstNamesAndInitialsSeparate.xml

View workflow job for this annotation

GitHub Actions / Strict QA on changed materials

Canonical URL 'http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient' does not resolve (at Patient.meta.profile[0])
</meta>
<text>
<status value="extensions"/>
<div xmlns="http://www.w3.org/1999/xhtml">
<div>Hendrik Willem Schemer</div>
</div>
</text>
<!-- The full names are communicated along with other official name information in the first .name element with
.name.use set to "official". -->
<name>
<use value="official"/>
<text value="Hendrik Willem Schemer"/>
<family value="Schemer">
<extension url="http://hl7.org/fhir/StructureDefinition/humanname-own-name">
<valueString value="Schemer"/>
</extension>
</family>
<!-- Each official first name is communicated individually, augmented with the iso21090-EN-qualifier
extension set to "BR" (Birth) to indicate that it is a complete and official first name. -->
<given value="Hendrik">
<extension url="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier">
<valueCode value="BR"/>
</extension>
</given>
<given value="Willem">
<extension url="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier">
<valueCode value="BR"/>
</extension>
</given>
</name>
<!-- The initials are then communicated in a second .name instance with .name.use set to "official", which contains
no other name information. Because this is a corner case, sending systems are not required to create this
instance and receiving systems are not required to process it. -->
<name>
<use value="official"/>
<!-- Each official first name initial is communicated individually, augmented with the iso21090-EN-qualifier
extension set to "IN" (Initial). -->
<given value="H.">
<extension url="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier">
<valueCode value="IN"/>
</extension>
</given>
<given value="J.">
<extension url="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier">
<valueCode value="IN"/>
</extension>
</given>
<given value="W.">
<extension url="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier">
<valueCode value="IN"/>
</extension>
</given>
</name>
<!-- The given name (roepnaam) is communicated using an additional .name instance with .name.use set to usual -->
<name>
<use value="usual"/>
<given value="Henk"/>
</name>
</Patient>
46 changes: 46 additions & 0 deletions examples/nl-core-NameInformation-initials.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<Patient xmlns="http://hl7.org/fhir">

Check warning on line 1 in examples/nl-core-NameInformation-initials.xml

View workflow job for this annotation

GitHub Actions / Strict QA on changed materials

Profile reference 'http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient' has not been checked because it could not be found, and fetching it resulted in the error java.net.SocketTimeoutException: timeout (at Patient.meta.profile[0])

Check warning on line 1 in examples/nl-core-NameInformation-initials.xml

View workflow job for this annotation

GitHub Actions / Loose QA on the entire repo

Profile reference 'http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient' has not been checked because it could not be found, and fetching it resulted in the error java.net.SocketTimeoutException: timeout (at Patient.meta.profile[0])
<!-- An example of a person where the initials of the official first names (initialen) are known.-->
<id value="nl-core-NameInformation-initials"/>
<meta>
<profile value="http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient"/>

Check notice on line 5 in examples/nl-core-NameInformation-initials.xml

View workflow job for this annotation

GitHub Actions / Strict QA on changed materials

Canonical URL 'http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient' does not resolve (at Patient.meta.profile[0])
</meta>
<text>
<status value="extensions"/>
<div xmlns="http://www.w3.org/1999/xhtml">
<div>H.J.W. Schemer</div>
</div>
</text>
<!-- The official name information is communicated in a .name instance with .name.use set to "official" -->
<name>
<use value="official"/>
<!-- The rendered name of the person -->
<text value="H.J.W. Schemer"/>
<family value="Schemer">
<extension url="http://hl7.org/fhir/StructureDefinition/humanname-own-name">
<valueString value="Schemer"/>
</extension>
</family>
<!-- Each initial is communicated individually, augmented with the iso21090-EN-qualifier
extension set to "IN" (Initial). -->
<given value="H.">
<extension url="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier">
<valueCode value="IN"/>
</extension>
</given>
<given value="J.">
<extension url="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier">
<valueCode value="IN"/>
</extension>
</given>
<given value="W.">
<extension url="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier">
<valueCode value="IN"/>
</extension>
</given>
</name>
<!-- The given name (roepnaam) is communicated using a second .name instance with .name.use set to "usual" -->
<name>
<use value="usual"/>
<given value="Henk"/>
</name>
</Patient>
25 changes: 25 additions & 0 deletions known-issues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,31 @@

issues should occur: true

zib-NameInformation:
zib deviations:
HumanName.prefix:
- cardinality: 0..* instead of 0..1
reason: Both prefix and suffix are mapped to the Titles concept from the zib. There's a mismatch however in the way this information is represented in the zib and in FHIR. The mapping is documented in the profile.
HumanName.suffix:
- cardinality: 0..* instead of 0..1
reason: Both prefix and suffix are mapped to the Titles concept from the zib. There's a mismatch however in the way this information is represented in the zib and in FHIR. The mapping is documented in the profile.
HumanName.given:
- short: FirstName / Initial
reason: The zib defines both the complete list of first names and of initials as a single string. In FHIR this is done fundamentally different, by using separate names. Hence, the short has been changed to the singular form.
- alias: first name,middle name,Voornaam,Initiaal
reason: The first two initials are provided by FHIR. For the singular form of the latter two, see the remark above.
- cardinality: 0..* instead of 0..1
reason: See the remark above.
HumanName.family.extension:*.value[x]:
- cardinality: 1..1 instead of 0..1
reason: The value of the extension is required, but the extension itself is optional, making the effective cardinality 0..1 as required by the zib.

zib-NameInformation.GivenName:
zib deviations:
HumanName.given:
- cardinality: 1..* instead of 0..1
reason: The GivenName is optional according to the zib, but when this datatype profile is used, a name should be provided.

---
# 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
39 changes: 39 additions & 0 deletions nl-core/StructureDefinitions/nl-core-NameInformation.GivenName.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="nl-core-NameInformation.GivenName" />
<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-NameInformation.GivenName" />
<name value="NlcoreNameInformationGivenName" />
<title value="nl core NameInformation.GivenName" />
<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="The name normally used to address the person." />
<purpose value="A derived profile from [zib-NameInformation.GivenName](http://nictiz.nl/fhir/StructureDefinition/zib-NameInformation.GivenName) 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;For the entire zib, the complementary profile [nl-core-NameInformation](http://nictiz.nl/fhir/StructureDefinition/nl-core-NameInformation) should be used. Both profiles can be added in a slice with the discriminator set to `value`/`use`." />
<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-nameinformation-v1.1.1-2024EN" />
<uri value="https://zibs.nl/wiki/NameInformation-v1.1.1(2024EN)" />
<name value="zib NameInformation-v1.1.1(2024EN)" />
</mapping>
<kind value="complex-type" />
<abstract value="false" />
<type value="HumanName" />
<baseDefinition value="http://nictiz.nl/fhir/StructureDefinition/zib-NameInformation.GivenName" />
<derivation value="constraint" />
<differential>
<element id="HumanName">
<path value="HumanName" />
<alias value="nl-core-NameInformation.GivenName" />
</element>
</differential>
</StructureDefinition>
Loading