Koppeltaal 2.0 Implementation Guide (Full Documentation)
0.15.0 - ci-build NL

Koppeltaal 2.0 Implementation Guide (Full Documentation) - Local Development build (v0.15.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: KT2_RelatedPerson

Official URL: http://koppeltaal.nl/fhir/StructureDefinition/KT2RelatedPerson Version: 0.15.0
Draft as of 2026-01-16 Realm: Netherlands flag Computable Name: KT2_RelatedPerson

Copyright/Legal: VZVZ

The RelatedPerson resource represents an individual who has a personal or professional relationship with a patient and may be involved in their care. This includes family members, caregivers, legal guardians, and other support persons who assist in the patient's therapy and treatment. The profile extends the NlcoreContactPerson profile with Koppeltaal-specific requirements.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. RelatedPerson 0..* NlcoreContactPerson Contact
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:resource-origin 0..1 Reference(KT2_Device) Extension
URL: http://koppeltaal.nl/fhir/StructureDefinition/resource-origin
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... active ?!Σ 1..1 boolean Whether this related person's record is in active use
... patient Σ 1..1 Reference(KT2_Patient) The patient this person is related to
... Slices for relationship Σ 1..* CodeableConcept The nature of the relationship
Slice: Unordered, Closed by value:$this
Binding: PatientRelationshipType (preferred): The nature of the relationship between a patient and the related person.
.... relationship:role ΣC 0..* CodeableConcept Role
Binding: RolCodelijst (required): The nature of the relationship between a patient and the related person.
Constraints: kt2-role-display-validation
.... relationship:relationship Σ 0..* CodeableConcept Relationship
Binding: RelatieCodelijst (required): The nature of the relationship between a patient and the related person.
... Slices for name Σ 1..* HumanName NameInformation / PayerName
Slice: Unordered, Open by value:use
.... name:nameInformation ΣC 0..2 NlcoreNameInformation NameInformation
Constraints: zib-NameInformation-1, zib-NameInformation-2, nl-core-NameInformation-01
.... name:nameInformation-GivenName ΣN 0..* NlcoreNameInformationGivenName Name of a human - parts and usage
... Slices for telecom Σ 0..* ContactPoint ContactInformation
Slice: Unordered, Open by profile:$this
.... telecom:telephoneNumbers ΣCN 0..* NlcoreContactInformationTelephoneNumbers TelephoneNumbers
Constraints: cpt-2
.... telecom:emailAddresses ΣCN 0..* NlcoreContactInformationEmailAddresses EmailAddresses
Constraints: cpt-2
... gender Σ 1..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
... birthDate Σ 1..1 date The date on which the related person was born

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
RelatedPerson.relationshippreferredPatientRelationshipType
http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype
From the FHIR Standard
RelatedPerson.relationship:rolerequiredRolCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.3.1.2--20200901000000
RelatedPerson.relationship:relationshiprequiredRelatieCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.3.1.1--20200901000000
RelatedPerson.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cpt-2errorRelatedPerson.telecom:telephoneNumbers, RelatedPerson.telecom:emailAddressesA system is required if a value is provided.
: value.empty() or system.exists()
dom-2errorRelatedPersonIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorRelatedPersonIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorRelatedPersonIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorRelatedPersonIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceRelatedPersonA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
kt2-role-display-validationerrorRelatedPerson.relationship:roleDisplay values for role codes 21 and 24 (COD472) must match the CodeSystem definitions exactly
: coding.where(system='urn:oid:2.16.840.1.113883.2.4.3.11.22.472').all( (code='23' and display='Contactpersoon') or (code='24' and display='Wettelijke vertegenwoordiger') or code!='23' and code!='24' )
nl-core-NameInformation-01warningRelatedPerson.name:nameInformationIf parts of the name are specified using one or more of the structured elements, the `.text` element SHOULD be populated with a rendered version of the full name. This ensures compatibility with common FHIR usage.
: (family.exists() or given.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier').where(value != 'IN').exists()) implies text.hasValue()
zib-NameInformation-1errorRelatedPerson.name:nameInformationIf a prefix for a family name is specified, the family name is expected as well
: family.extension('http://hl7.org/fhir/StructureDefinition/humanname-own-prefix').empty().not() implies family.extension('http://hl7.org/fhir/StructureDefinition/humanname-own-name').empty().not()
zib-NameInformation-2errorRelatedPerson.name:nameInformationIf the prefix for a partner family name is specified, the partner family name is expected as well
: family.extension('http://hl7.org/fhir/StructureDefinition/humanname-partner-prefix').empty().not() implies family.extension('http://hl7.org/fhir/StructureDefinition/humanname-partner-name').empty().not()

This structure is derived from NlcoreContactPerson

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. RelatedPerson NlcoreContactPerson
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:resource-origin 0..1 Reference(KT2_Device) Extension
URL: http://koppeltaal.nl/fhir/StructureDefinition/resource-origin
... identifier 1..* Identifier A human identifier for this person
... active 1..1 boolean Whether this related person's record is in active use
... Slices for relationship 1..* CodeableConcept The nature of the relationship
Slice: Unordered, Closed by value:$this
.... relationship:role C 0..* CodeableConcept Role
Constraints: kt2-role-display-validation
... name 1..* HumanName NameInformation / PayerName
... Slices for name Content/Rules for all slices
.... name:nameInformation 0..2 NlcoreNameInformation NameInformation
... gender 1..1 code male | female | other | unknown
... birthDate 1..1 date The date on which the related person was born
... photo 0..0

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
kt2-role-display-validationerrorRelatedPerson.relationship:roleDisplay values for role codes 21 and 24 (COD472) must match the CodeSystem definitions exactly
: coding.where(system='urn:oid:2.16.840.1.113883.2.4.3.11.22.472').all( (code='23' and display='Contactpersoon') or (code='24' and display='Wettelijke vertegenwoordiger') or code!='23' and code!='24' )
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. RelatedPerson 0..* NlcoreContactPerson Contact
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:resource-origin 0..1 Reference(KT2_Device) Extension
URL: http://koppeltaal.nl/fhir/StructureDefinition/resource-origin
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 1..* Identifier A human identifier for this person
... active ?!Σ 1..1 boolean Whether this related person's record is in active use
... patient Σ 1..1 Reference(KT2_Patient) The patient this person is related to
... Slices for relationship Σ 1..* CodeableConcept The nature of the relationship
Slice: Unordered, Closed by value:$this
Binding: PatientRelationshipType (preferred): The nature of the relationship between a patient and the related person.
.... relationship:role ΣC 0..* CodeableConcept Role
Binding: RolCodelijst (required): The nature of the relationship between a patient and the related person.
Constraints: kt2-role-display-validation
.... relationship:relationship Σ 0..* CodeableConcept Relationship
Binding: RelatieCodelijst (required): The nature of the relationship between a patient and the related person.
... Slices for name Σ 1..* HumanName NameInformation / PayerName
Slice: Unordered, Open by value:use
.... name:nameInformation ΣC 0..2 NlcoreNameInformation NameInformation
Constraints: zib-NameInformation-1, zib-NameInformation-2, nl-core-NameInformation-01
.... name:nameInformation-GivenName ΣN 0..* NlcoreNameInformationGivenName Name of a human - parts and usage
... Slices for telecom Σ 0..* ContactPoint ContactInformation
Slice: Unordered, Open by profile:$this
.... telecom:telephoneNumbers ΣCN 0..* NlcoreContactInformationTelephoneNumbers TelephoneNumbers
Constraints: cpt-2
.... telecom:emailAddresses ΣCN 0..* NlcoreContactInformationEmailAddresses EmailAddresses
Constraints: cpt-2
... gender Σ 1..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
... birthDate Σ 1..1 date The date on which the related person was born
... address Σ 0..* NlcoreAddressInformation AddressInformation
... period 0..1 Period Period of time that this relationship is considered valid
... communication 0..* BackboneElement A language which may be used to communicate with about the patient's health
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... language 1..1 CodeableConcept The language which can be used to communicate with the patient about his or her health
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
.... preferred 0..1 boolean Language preference indicator

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
RelatedPerson.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
From the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
RelatedPerson.relationshippreferredPatientRelationshipType
http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype
From the FHIR Standard
RelatedPerson.relationship:rolerequiredRolCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.3.1.2--20200901000000
RelatedPerson.relationship:relationshiprequiredRelatieCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.3.1.1--20200901000000
RelatedPerson.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
From the FHIR Standard
RelatedPerson.communication.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
From the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding

Constraints

IdGradePath(s)DetailsRequirements
cpt-2errorRelatedPerson.telecom:telephoneNumbers, RelatedPerson.telecom:emailAddressesA system is required if a value is provided.
: value.empty() or system.exists()
dom-2errorRelatedPersonIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorRelatedPersonIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorRelatedPersonIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorRelatedPersonIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceRelatedPersonA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
kt2-role-display-validationerrorRelatedPerson.relationship:roleDisplay values for role codes 21 and 24 (COD472) must match the CodeSystem definitions exactly
: coding.where(system='urn:oid:2.16.840.1.113883.2.4.3.11.22.472').all( (code='23' and display='Contactpersoon') or (code='24' and display='Wettelijke vertegenwoordiger') or code!='23' and code!='24' )
nl-core-NameInformation-01warningRelatedPerson.name:nameInformationIf parts of the name are specified using one or more of the structured elements, the `.text` element SHOULD be populated with a rendered version of the full name. This ensures compatibility with common FHIR usage.
: (family.exists() or given.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier').where(value != 'IN').exists()) implies text.hasValue()
zib-NameInformation-1errorRelatedPerson.name:nameInformationIf a prefix for a family name is specified, the family name is expected as well
: family.extension('http://hl7.org/fhir/StructureDefinition/humanname-own-prefix').empty().not() implies family.extension('http://hl7.org/fhir/StructureDefinition/humanname-own-name').empty().not()
zib-NameInformation-2errorRelatedPerson.name:nameInformationIf the prefix for a partner family name is specified, the partner family name is expected as well
: family.extension('http://hl7.org/fhir/StructureDefinition/humanname-partner-prefix').empty().not() implies family.extension('http://hl7.org/fhir/StructureDefinition/humanname-partner-name').empty().not()

This structure is derived from NlcoreContactPerson

Summary

Mandatory: 6 elements
Prohibited: 1 element

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of RelatedPerson.relationship (Closed)

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. RelatedPerson 0..* NlcoreContactPerson Contact
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:resource-origin 0..1 Reference(KT2_Device) Extension
URL: http://koppeltaal.nl/fhir/StructureDefinition/resource-origin
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... active ?!Σ 1..1 boolean Whether this related person's record is in active use
... patient Σ 1..1 Reference(KT2_Patient) The patient this person is related to
... Slices for relationship Σ 1..* CodeableConcept The nature of the relationship
Slice: Unordered, Closed by value:$this
Binding: PatientRelationshipType (preferred): The nature of the relationship between a patient and the related person.
.... relationship:role ΣC 0..* CodeableConcept Role
Binding: RolCodelijst (required): The nature of the relationship between a patient and the related person.
Constraints: kt2-role-display-validation
.... relationship:relationship Σ 0..* CodeableConcept Relationship
Binding: RelatieCodelijst (required): The nature of the relationship between a patient and the related person.
... Slices for name Σ 1..* HumanName NameInformation / PayerName
Slice: Unordered, Open by value:use
.... name:nameInformation ΣC 0..2 NlcoreNameInformation NameInformation
Constraints: zib-NameInformation-1, zib-NameInformation-2, nl-core-NameInformation-01
.... name:nameInformation-GivenName ΣN 0..* NlcoreNameInformationGivenName Name of a human - parts and usage
... Slices for telecom Σ 0..* ContactPoint ContactInformation
Slice: Unordered, Open by profile:$this
.... telecom:telephoneNumbers ΣCN 0..* NlcoreContactInformationTelephoneNumbers TelephoneNumbers
Constraints: cpt-2
.... telecom:emailAddresses ΣCN 0..* NlcoreContactInformationEmailAddresses EmailAddresses
Constraints: cpt-2
... gender Σ 1..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
... birthDate Σ 1..1 date The date on which the related person was born

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
RelatedPerson.relationshippreferredPatientRelationshipType
http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype
From the FHIR Standard
RelatedPerson.relationship:rolerequiredRolCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.3.1.2--20200901000000
RelatedPerson.relationship:relationshiprequiredRelatieCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.3.1.1--20200901000000
RelatedPerson.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cpt-2errorRelatedPerson.telecom:telephoneNumbers, RelatedPerson.telecom:emailAddressesA system is required if a value is provided.
: value.empty() or system.exists()
dom-2errorRelatedPersonIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorRelatedPersonIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorRelatedPersonIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorRelatedPersonIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceRelatedPersonA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
kt2-role-display-validationerrorRelatedPerson.relationship:roleDisplay values for role codes 21 and 24 (COD472) must match the CodeSystem definitions exactly
: coding.where(system='urn:oid:2.16.840.1.113883.2.4.3.11.22.472').all( (code='23' and display='Contactpersoon') or (code='24' and display='Wettelijke vertegenwoordiger') or code!='23' and code!='24' )
nl-core-NameInformation-01warningRelatedPerson.name:nameInformationIf parts of the name are specified using one or more of the structured elements, the `.text` element SHOULD be populated with a rendered version of the full name. This ensures compatibility with common FHIR usage.
: (family.exists() or given.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier').where(value != 'IN').exists()) implies text.hasValue()
zib-NameInformation-1errorRelatedPerson.name:nameInformationIf a prefix for a family name is specified, the family name is expected as well
: family.extension('http://hl7.org/fhir/StructureDefinition/humanname-own-prefix').empty().not() implies family.extension('http://hl7.org/fhir/StructureDefinition/humanname-own-name').empty().not()
zib-NameInformation-2errorRelatedPerson.name:nameInformationIf the prefix for a partner family name is specified, the partner family name is expected as well
: family.extension('http://hl7.org/fhir/StructureDefinition/humanname-partner-prefix').empty().not() implies family.extension('http://hl7.org/fhir/StructureDefinition/humanname-partner-name').empty().not()

Differential View

This structure is derived from NlcoreContactPerson

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. RelatedPerson NlcoreContactPerson
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:resource-origin 0..1 Reference(KT2_Device) Extension
URL: http://koppeltaal.nl/fhir/StructureDefinition/resource-origin
... identifier 1..* Identifier A human identifier for this person
... active 1..1 boolean Whether this related person's record is in active use
... Slices for relationship 1..* CodeableConcept The nature of the relationship
Slice: Unordered, Closed by value:$this
.... relationship:role C 0..* CodeableConcept Role
Constraints: kt2-role-display-validation
... name 1..* HumanName NameInformation / PayerName
... Slices for name Content/Rules for all slices
.... name:nameInformation 0..2 NlcoreNameInformation NameInformation
... gender 1..1 code male | female | other | unknown
... birthDate 1..1 date The date on which the related person was born
... photo 0..0

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
kt2-role-display-validationerrorRelatedPerson.relationship:roleDisplay values for role codes 21 and 24 (COD472) must match the CodeSystem definitions exactly
: coding.where(system='urn:oid:2.16.840.1.113883.2.4.3.11.22.472').all( (code='23' and display='Contactpersoon') or (code='24' and display='Wettelijke vertegenwoordiger') or code!='23' and code!='24' )

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. RelatedPerson 0..* NlcoreContactPerson Contact
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:resource-origin 0..1 Reference(KT2_Device) Extension
URL: http://koppeltaal.nl/fhir/StructureDefinition/resource-origin
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 1..* Identifier A human identifier for this person
... active ?!Σ 1..1 boolean Whether this related person's record is in active use
... patient Σ 1..1 Reference(KT2_Patient) The patient this person is related to
... Slices for relationship Σ 1..* CodeableConcept The nature of the relationship
Slice: Unordered, Closed by value:$this
Binding: PatientRelationshipType (preferred): The nature of the relationship between a patient and the related person.
.... relationship:role ΣC 0..* CodeableConcept Role
Binding: RolCodelijst (required): The nature of the relationship between a patient and the related person.
Constraints: kt2-role-display-validation
.... relationship:relationship Σ 0..* CodeableConcept Relationship
Binding: RelatieCodelijst (required): The nature of the relationship between a patient and the related person.
... Slices for name Σ 1..* HumanName NameInformation / PayerName
Slice: Unordered, Open by value:use
.... name:nameInformation ΣC 0..2 NlcoreNameInformation NameInformation
Constraints: zib-NameInformation-1, zib-NameInformation-2, nl-core-NameInformation-01
.... name:nameInformation-GivenName ΣN 0..* NlcoreNameInformationGivenName Name of a human - parts and usage
... Slices for telecom Σ 0..* ContactPoint ContactInformation
Slice: Unordered, Open by profile:$this
.... telecom:telephoneNumbers ΣCN 0..* NlcoreContactInformationTelephoneNumbers TelephoneNumbers
Constraints: cpt-2
.... telecom:emailAddresses ΣCN 0..* NlcoreContactInformationEmailAddresses EmailAddresses
Constraints: cpt-2
... gender Σ 1..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
... birthDate Σ 1..1 date The date on which the related person was born
... address Σ 0..* NlcoreAddressInformation AddressInformation
... period 0..1 Period Period of time that this relationship is considered valid
... communication 0..* BackboneElement A language which may be used to communicate with about the patient's health
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... language 1..1 CodeableConcept The language which can be used to communicate with the patient about his or her health
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
.... preferred 0..1 boolean Language preference indicator

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
RelatedPerson.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
From the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
RelatedPerson.relationshippreferredPatientRelationshipType
http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype
From the FHIR Standard
RelatedPerson.relationship:rolerequiredRolCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.3.1.2--20200901000000
RelatedPerson.relationship:relationshiprequiredRelatieCodelijst
http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.3.1.1--20200901000000
RelatedPerson.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
From the FHIR Standard
RelatedPerson.communication.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
From the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding

Constraints

IdGradePath(s)DetailsRequirements
cpt-2errorRelatedPerson.telecom:telephoneNumbers, RelatedPerson.telecom:emailAddressesA system is required if a value is provided.
: value.empty() or system.exists()
dom-2errorRelatedPersonIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorRelatedPersonIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorRelatedPersonIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorRelatedPersonIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceRelatedPersonA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
kt2-role-display-validationerrorRelatedPerson.relationship:roleDisplay values for role codes 21 and 24 (COD472) must match the CodeSystem definitions exactly
: coding.where(system='urn:oid:2.16.840.1.113883.2.4.3.11.22.472').all( (code='23' and display='Contactpersoon') or (code='24' and display='Wettelijke vertegenwoordiger') or code!='23' and code!='24' )
nl-core-NameInformation-01warningRelatedPerson.name:nameInformationIf parts of the name are specified using one or more of the structured elements, the `.text` element SHOULD be populated with a rendered version of the full name. This ensures compatibility with common FHIR usage.
: (family.exists() or given.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier').where(value != 'IN').exists()) implies text.hasValue()
zib-NameInformation-1errorRelatedPerson.name:nameInformationIf a prefix for a family name is specified, the family name is expected as well
: family.extension('http://hl7.org/fhir/StructureDefinition/humanname-own-prefix').empty().not() implies family.extension('http://hl7.org/fhir/StructureDefinition/humanname-own-name').empty().not()
zib-NameInformation-2errorRelatedPerson.name:nameInformationIf the prefix for a partner family name is specified, the partner family name is expected as well
: family.extension('http://hl7.org/fhir/StructureDefinition/humanname-partner-prefix').empty().not() implies family.extension('http://hl7.org/fhir/StructureDefinition/humanname-partner-name').empty().not()

This structure is derived from NlcoreContactPerson

Summary

Mandatory: 6 elements
Prohibited: 1 element

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of RelatedPerson.relationship (Closed)

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Relationship

The relationship(s) that the Patient has with the RelatedPerson can be documented using various code systems. A Patient can maintain multiple relationship types with a RelatedPerson.

Example:

{
  "relationship": [
    {
      "coding": [
        {
          "system": "http://terminology.h17.org/Codesystem/v3-RoleCode",
          "code": "MTH",
          "display": "Mother"
        }
      ]
    },
    {
      "coding": [
        {
          "system": "urn:oid:2.16.840.1.113883.2.4.3.11.22.472",
          "code": "21",
          "display": "Cliëntondersteuner"
        }
      ]
    }
  ]
}

Patient Reference

The patient element contains the reference to the Patient to which the given RelatedPerson is linked:

{
  "patient": {
    "reference": "Patient/${PatientID}"
  }
}

Required Elements

The following elements are mandatory:

  • identifier - At least one identifier for the related person
  • active - Indicates whether the record is in active use
  • patient - Reference to the associated KT2_Patient
  • relationship - At least one relationship code
  • name - Name information following Dutch conventions
  • gender - Gender of the related person
  • birthDate - Birth date of the related person

Validation Warnings

Due to an issue with the FHIR profile, validation warnings may be generated for the KT2_RelatedPerson resource:

This element does not match any known slice defined in the profile

These warnings should be ignored when the creation or update of the resource is successful. Focus on actual errors in the OperationOutcome resource rather than these informational warnings.