## Profile Comparison between http://fhir.hl7.nl/zorgviewer/StructureDefinition/Practitioner vs http://fhir.hl7.nl/zorgviewer/StructureDefinition/Practitioner

Left: | Practitioner (http://fhir.hl7.nl/zorgviewer/StructureDefinition/Practitioner)
Right: | Practitioner (http://fhir.hl7.nl/zorgviewer/StructureDefinition/Practitioner)

### Messages

Information | StructureDefinition.comment | Values for comment differ: 'The selection of the use property should ensure that there is a single usual name specified, and others use the nickname (alias), old, or other values as appropriate. In general select the value to be used in the ResourceReference.display based on this: 1. There is more than 1 name 2. Use = usual 3. Period is current to the date of the usage 4. Use = official 5. Other order as decided by internal business rules.' vs 'Dutch names require that certain name parts are separately communicable. For this reason, extensions are added onto the base HumanName element to mark the meaning of each part. A Dutch HumanName is still a proper FHIR HumanName; however, there might be an incompatibilty with the default FHIR mechanism for communicating given names. See the compatibility note below for more information. The extension elements cover birth name (NL: eigennaam / geslachtsnaam) and partner/spouse name. Both may have a prefix (NL: voorvoegsel). When a person marries, he or she may keep their own name, assume the partner name, append the partner name to their own name, or the other way around. **Incompatibility note**: It has come to light that this specification deviates from the way that the HumanName datatype is normally used. This will be fixed in a future release. However, current implementations should be aware of the special considerations regarding the use of this specification. The issue at hand is the way alternative representations of a name, like initials or a nickname, are communicated. Normally this is done using multiple HumanName instances, which are differentiated using the `.use` element. However, this specification allows for including all alternative representations in the _same_ HumanName instance, with the expectation that the extensions provide enough information for receiving systems to differentiate them. However, this means that contrary to the normal usage of this datatype, repetitions of `.given` names cannot be concatenated to get the full list of given names; the list might be a mix of full names, nicknames and initials. Since multiple implementations are based on this specification, sending systems are advised (but not required) to keep the approach with one HumanName instance, while receiving systems should be able to handle this one-instance approach. More specifically: * Sending and receiving systems SHOULD always use the specified extensions when using this datatype. * Sending systems are encouraged to populate the `.text` element to unambigiously communicate the person's name. * Sending systems are encouraged to send either the full given names or the initials, but not both. This alleviates the duplication of names in `.given`. * When a sending system uses the current one-instance approach for communicating multiple representations, `.use` MAY NOT be populated. After all, it is not possible to select a single `.use` when the instance contains different representations. * When a receiving system interprets the instance as the single-instance-multiple-representations approach, the `.given` names marked as initials SHOULD be interpreted as alternatives to the full given names. Note the underlying HCIM expects both the _list_ of full names and _list_ of initials to be a single string; there's no match for an initial to a full name. The instance SHOULD be regarded as using this approach when: * They encounter a single instance * And the `.use` element is absent * And all the name parts are differentiated using the specified extensions * In any other circumstance, receiving systems SHOULD interpret the usage as the normal use. Example: miss Irma XXX_Helleman marries mister de Haas and assumes the name Irma XXX_Helleman-de Haas: * `.family` = 'XXX_Helleman-de Haas' * `.given` = 'Irma' (with `.given:iso21090EnQualifier` = _BR_) * `.family:humannameOwnName` = 'XXX_Helleman' * `.family:humannamePartnerPrefix` = 'de ' * `.family:humannamePartnerName` = 'Haas''
Error | Practitioner.name | Type Mismatch: HumanName([CanonicalType[http://fhir.nl/fhir/StructureDefinition/nl-core-humanname]]) vs HumanName([CanonicalType[http://fhir.nl/fhir/StructureDefinition/nl-core-humanname]])
Information | StructureDefinition.short | Values for short differ: 'A contact detail for the practitioner (that apply to all roles)' vs 'ContactInformation'
Information | StructureDefinition.definition | Values for definition differ: 'A contact detail for the practitioner, e.g. a telephone number or an email address.' vs 'Contact information includes a person's telephone numbers and email addresses. This datatype defines a common basis for expressing all contact information around the world, but adds extensions to express Dutch contacts specifically, according to the HCIM ContactInformation (v1.0, 2017). A Dutch ContactPoint still is a proper FHIR ContactPoint, which means that systems that cannot interpret the extensions will still be able to render and work with this datatype. The table below explains how the HCIM concepts are mapped to the various FHIR elements. The HCIM code itself should also be included using the TelecomType extension. | HCIM | `.ext:TelecomType` | `.system` | `.use` | |----------------------------------------------------|:------------------:|:---------:|:--------:| | Primary Home Land Line | _LL_ | _phone_ | _home_ | | Temporary Land Line | _LL_ | _phone_ | _temp_ | | Primary Work Land Line | _LL_ | _phone_ | _work_ | | | | | | | Primary Home Fax | _FAX_ | _fax_ | _home_ | | Temporary Fax | _FAX_ | _fax_ | _temp_ | | Primary Work Fax | _FAX_ | _fax_ | _work_ | | | | | | | Primary Home Mobile Phone | _MC_ | _phone_ | _home_ | | Temporary Mobile Phone | _MC_ | _phone_ | _temp_ | | Primary Work Mobile Phone | _MC_ | _phone_ | _work_ | | | | | | | Primary Home Pager | _PG_ | _pager_ | _home_ | | Temporary Pager | _PG_ | _pager_ | _temp_ | | Primary Work Pager | _PG_ | _pager_ | _work_ | | | | | | | Private email address | | _email_ | _home_ | | Work email address | | _email_ | _work_ | | | | | | | Mobile phone number undetermined private/business | | _phone_ | _mobile_ |'
Error | Practitioner.telecom | Type Mismatch: ContactPoint([CanonicalType[http://fhir.nl/fhir/StructureDefinition/nl-core-contactpoint]]) vs ContactPoint([CanonicalType[http://fhir.nl/fhir/StructureDefinition/nl-core-contactpoint]])
Information | Practitioner.telecom | StructureDefinition Practitioner has added constraint that is not found in Practitioner and it is uncertain whether they are compatible (hasValue() | (children().count() > id.count()))
Information | Practitioner.telecom | StructureDefinition Practitioner has added constraint that is not found in Practitioner and it is uncertain whether they are compatible (value.empty() or system.exists())
Information | StructureDefinition.definition | Values for definition differ: 'Address(es) of the practitioner that are not role specific (typically home address). Work addresses are not typically entered in this property as they are usually role dependent.' vs 'This datatype defines a common basis for expressing all addresses around the world, but adds extensions to express Dutch addresses specifically, according to the HCIM AddressInformation (v1.0, 2017). A Dutch Address still is a proper FHIR Address, which means that systems that cannot interpret the extensions will still be able to render and work with this datatype. To have true compatibility an implementer SHOULD use the core Address parts as intended. To have addresses work for Dutch context, the implementer SHOULD in addition use the extension elements. **Separate address parts** The first addition is that Dutch addresses make certain address parts separately communicable. These parts are required for use in true Dutch systems when dealing with Dutch addresses, but may not have value for international systems when information gets sent abroad. **Custom address types** The second addition is that the HCIM defines its own ValueSet for address types, which can only be partially expressed using the FHIR Address datatype and requires a mapping to multiple elements. The table below explains how the HCIM concepts are mapped to the various FHIR elements (see the ConceptMaps <http://nictiz.nl/fhir/ConceptMap/AdresSoortCodelijst-to-AddressUse> and <http://nictiz.nl/fhir/ConceptMap/AdresSoortCodelijst-to-AddressType> as well). The HCIM code itself should also be included using the AddressType extension. | HCIM |` .ext:AddressType` | `.ext:official` | `.use` | `.type` | |-----------------------------------|:------------------:|:---------------:|:------:|:----------:| | Postal Address/Postadres | _PST_ | | | _postal_ | | Primary Home/Officieel adres | _HP_ | true | _home_ | | | Visit Address/Woon-/verblijfadres | _PHYS_ | | _home_ | _physical_ | | Temporary Address/Tijdelijk adres | _TMP_ | | _temp_ | | | Work Place/Werkadres | _WP_ | | _work_ | | | Vacation Home/Vakantie adres | _HV_ | | _temp_ | | If Address.type is _both_ then this is to be understood as a dual purpose address (postal and physical). Systems that support importing it like this are encouraged to do so, otherwise they may need to import this as two separate addresses. NOTE: FHIR core defines the AD-use extension to further specify the postal address type. However, the ValueSet used in that extension doesn't completely match the HCIM ValueSet. Therefore, a custom extension has been made. This doesn't preclude the use of the AD-use extension.'
Information | StructureDefinition.comment | Values for comment differ: 'The PractitionerRole does not have an address value on it, as it is expected that the location property be used for this purpose (which has an address).' vs 'Note: address is for postal addresses, not physical locations.'
Error | Practitioner.address | Type Mismatch: Address([CanonicalType[http://fhir.nl/fhir/StructureDefinition/nl-core-address]]) vs Address([CanonicalType[http://fhir.nl/fhir/StructureDefinition/nl-core-address]])
Information | Practitioner.address | StructureDefinition Practitioner has added constraint that is not found in Practitioner and it is uncertain whether they are compatible (hasValue() | (children().count() > id.count()))
Information | Practitioner.address | StructureDefinition Practitioner has added constraint that is not found in Practitioner and it is uncertain whether they are compatible ((extension.where(url = 'http://fhir.nl/fhir/StructureDefinition/nl-core-address-official').where(value = true)).empty() or (line.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName').empty().not() and (line.extension.where(url='http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber').empty().not() or line.extension.where(url='http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-buildingNumberSuffix').empty().not() or line.extension.where(url='http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-additionalLocator').empty().not())))

### Metadata

Name | Value | Comments
--- | --- | ---
abstract | false |
baseDefinition | http://fhir.nl/fhir/StructureDefinition/nl-core-practitioner |
copyright |  |
description | Zorgverlener |
experimental |  |
fhirVersion | 3.0.2 |
jurisdiction |  |
jurisdiction[0] | urn:iso:std:iso:3166#NL |
kind | resource |
name | Practitioner |
publisher | RIVO-NN HL7NL |
purpose |  |
status | active |
title | Practitioner |
type | Practitioner |
url | http://fhir.hl7.nl/zorgviewer/StructureDefinition/Practitioner |

### Structure

Name | L Flags | L Card. | L Type | L Description & Constraints | R Flags | R Card. | R Type | R Description & Constraints | Comments
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
Practitioner | C | 0..* | nl-core-practitioner(2.0.7) | HealthProfessional Constraints: zv-pra-3 | C | 0..* | nl-core-practitioner(2.0.7) | HealthProfessional Constraints: zv-pra-3 |
id | Σ | 0..1 | id | Logical id of this artifact | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language |  | 0..1 | code | Language of the resource content Binding: ?? (extensible): A human language.
Additional Bindings | Purpose
?? | Max Binding
|  | 0..1 | code | Language of the resource content Binding: ?? (extensible): A human language.
Additional Bindings | Purpose
?? | Max Binding
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 |  | 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 |  | 0..* | Resource | Contained, inline Resources |
extension |  | 0..* | Extension | Additional Content defined by implementations |  | 0..* | Extension | Additional Content defined by implementations |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ?! | 0..* | Extension | Extensions that cannot be ignored |
Slices for identifier | Σ | 1..* | Identifier | HealthProfessionalIdentificationNumber Slice: Unordered, Open by value:system | Σ | 1..* | Identifier | HealthProfessionalIdentificationNumber Slice: Unordered, Open by value:system |
active | Σ | 0..1 | boolean | Whether this practitioner's record is in active use | Σ | 0..1 | boolean | Whether this practitioner's record is in active use |
name | S Σ C | 1..* | ?? | NameInformation Constraints: zv-pra-1, zv-pra-2 | S Σ C | 1..* | ?? | NameInformation Constraints: zv-pra-1, zv-pra-2 Example Structured HumanName (preferred above unstructured): {"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/humanname-assembly-order","valueCode":"NL4"}],"text":"Irma XXX_Helleman-de Haas","family":"XXX_Helleman-de Haas","_family":{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/humanname-own-name","valueString":"XXX_Helleman"},{"url":"http://hl7.org/fhir/StructureDefinition/humanname-partner-prefix","valueString":"de"},{"url":"http://hl7.org/fhir/StructureDefinition/humanname-partner-name","valueString":"Haas"}]},"given":["Irma"],"_given":[{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier","valueCode":"CL"}]}]} Example Unstructured HumanName: {"text":"Irma XXX_Helleman-de Haas"} | Type Mismatch: HumanName([CanonicalType[http://fhir.nl/fhir/StructureDefinition/nl-core-humanname]]) vs HumanName([CanonicalType[http://fhir.nl/fhir/StructureDefinition/nl-core-humanname]])
telecom | Σ | 0..* | ?? | A contact detail for the practitioner (that apply to all roles) | Σ C | 0..* | ?? | ContactInformation Example Mobile business phone number. Note: the mobile nature stems from the number being an 06-* number.: {"system":"phone","value":"+31611234567","use":"work"} Example Mobile phone number undetermined private/business. Note: the mobile nature stems from the number being an 06-* number.: {"system":"phone","value":"+31611234567","use":"mobile"} Example Primary Home Land Line: {"extension":[{"url":"http://nictiz.nl/fhir/StructureDefinition/zib-ContactInformation-TelecomType","valueCodeableConcept":{"coding":[{"system":"urn:oid:2.16.840.1.113883.2.4.3.11.60.40.4.22.1","code":"LL","display":"Land Line"}]}}],"system":"phone","value":"...","use":"home"} Example Temporary Land Line: {"extension":[{"url":"http://nictiz.nl/fhir/StructureDefinition/zib-ContactInformation-TelecomType","valueCodeableConcept":{"coding":[{"system":"urn:oid:2.16.840.1.113883.2.4.3.11.60.40.4.22.1","code":"LL","display":"Land Line"}]}}],"system":"phone","value":"...","use":"temp"} Example Primary Work Land Line: {"extension":[{"url":"http://nictiz.nl/fhir/StructureDefinition/zib-ContactInformation-TelecomType","valueCodeableConcept":{"coding":[{"system":"urn:oid:2.16.840.1.113883.2.4.3.11.60.40.4.22.1","code":"LL","display":"Land Line"}]}}],"system":"phone","value":"...","use":"work"} Example Primary Home Fax: {"extension":[{"url":"http://nictiz.nl/fhir/StructureDefinition/zib-ContactInformation-TelecomType","valueCodeableConcept":{"coding":[{"system":"urn:oid:2.16.840.1.113883.2.4.3.11.60.40.4.22.1","code":"FAX","display":"Fax"}]}}],"system":"fax","value":"...","use":"home"} Example Temporary Fax: {"extension":[{"url":"http://nictiz.nl/fhir/StructureDefinition/zib-ContactInformation-TelecomType","valueCodeableConcept":{"coding":[{"system":"urn:oid:2.16.840.1.113883.2.4.3.11.60.40.4.22.1","code":"FAX","display":"Fax"}]}}],"system":"fax","value":"...","use":"temp"} Example Primary Work Fax: {"extension":[{"url":"http://nictiz.nl/fhir/StructureDefinition/zib-ContactInformation-TelecomType","valueCodeableConcept":{"coding":[{"system":"urn:oid:2.16.840.1.113883.2.4.3.11.60.40.4.22.1","code":"FAX","display":"Fax"}]}}],"system":"fax","value":"...","use":"work"} Example Primary Home Mobile Phone: {"extension":[{"url":"http://nictiz.nl/fhir/StructureDefinition/zib-ContactInformation-TelecomType","valueCodeableConcept":{"coding":[{"system":"http://hl7.org/fhir/v3/AddressUse","code":"MC","display":"Mobile Phone"}]}}],"system":"phone","value":"...","use":"home"} Example Temporary Mobile Phone: {"extension":[{"url":"http://nictiz.nl/fhir/StructureDefinition/zib-ContactInformation-TelecomType","valueCodeableConcept":{"coding":[{"system":"http://hl7.org/fhir/v3/AddressUse","code":"MC","display":"Mobile Phone"}]}}],"system":"phone","value":"...","use":"temp"} Example Primary Work Mobile Phone: {"extension":[{"url":"http://nictiz.nl/fhir/StructureDefinition/zib-ContactInformation-TelecomType","valueCodeableConcept":{"coding":[{"system":"http://hl7.org/fhir/v3/AddressUse","code":"MC","display":"Mobile Phone"}]}}],"system":"phone","value":"...","use":"work"} Example Primary Home Pager: {"extension":[{"url":"http://nictiz.nl/fhir/StructureDefinition/zib-ContactInformation-TelecomType","valueCodeableConcept":{"coding":[{"system":"http://hl7.org/fhir/v3/AddressUse","code":"PG","display":"Pager"}]}}],"system":"pager","value":"...","use":"home"} Example Temporary Pager: {"extension":[{"url":"http://nictiz.nl/fhir/StructureDefinition/zib-ContactInformation-TelecomType","valueCodeableConcept":{"coding":[{"system":"http://hl7.org/fhir/v3/AddressUse","code":"PG","display":"Pager"}]}}],"system":"pager","value":"...","use":"temp"} Example Primary Work Pager: {"extension":[{"url":"http://nictiz.nl/fhir/StructureDefinition/zib-ContactInformation-TelecomType","valueCodeableConcept":{"coding":[{"system":"http://hl7.org/fhir/v3/AddressUse","code":"PG","display":"Pager"}]}}],"system":"pager","value":"...","use":"work"} Example Private email address: {"system":"email","value":"giesput@myweb.nl","use":"home"} Example Work email address: {"system":"email","value":"example@workplace.nl","use":"work"} | Type Mismatch: ContactPoint([CanonicalType[http://fhir.nl/fhir/StructureDefinition/nl-core-contactpoint]]) vs ContactPoint([CanonicalType[http://fhir.nl/fhir/StructureDefinition/nl-core-contactpoint]]) StructureDefinition Practitioner has added constraint that is not found in Practitioner and it is uncertain whether they are compatible (hasValue() | (children().count() > id.count())) StructureDefinition Practitioner has added constraint that is not found in Practitioner and it is uncertain whether they are compatible (value.empty() or system.exists())
address | Σ | 0..* | ?? | AddressInformation | Σ C | 0..* | ?? | AddressInformation Example Example of a Vacation Home address: {"extension":[{"url":"http://nictiz.nl/fhir/StructureDefinition/zib-AddressInformation-AddressType","valueCodeableConcept":{"coding":[{"system":"http://hl7.org/fhir/v3/AddressUse","code":"HV","display":"Vakantie adres"}]}}],"use":"temp","line":["Binnenkant 12A Hoog"],"_line":[{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName","valueString":"Binnenkant"},{"url":"http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber","valueString":"12"},{"url":"http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-buildingNumberSuffix","valueString":"A"},{"url":"http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-unitID","valueString":"Hoog"}]}],"city":"Amsterdam","state":"NH","postalCode":"1000AA","country":"NLD"} Example Example of a Primary Home address: {"extension":[{"url":"http://nictiz.nl/fhir/StructureDefinition/zib-AddressInformation-AddressType","valueCodeableConcept":{"coding":[{"system":"http://hl7.org/fhir/v3/AddressUse","code":"HP","display":"Officieel adres"}]}},{"url":"http://fhir.nl/fhir/StructureDefinition/nl-core-address-official","valueBoolean":true}],"use":"home","line":["Binnenkant to 10"],"_line":[{"extension":[{"url":"http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName","valueString":"Binnenkant"},{"url":"http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-additionalLocator","valueString":"to"},{"url":"http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber","valueString":"10"}]}],"city":"Amsterdam","state":"NH","postalCode":"1001AA","country":"NLD"} | Type Mismatch: Address([CanonicalType[http://fhir.nl/fhir/StructureDefinition/nl-core-address]]) vs Address([CanonicalType[http://fhir.nl/fhir/StructureDefinition/nl-core-address]]) StructureDefinition Practitioner has added constraint that is not found in Practitioner and it is uncertain whether they are compatible (hasValue() | (children().count() > id.count())) StructureDefinition Practitioner has added constraint that is not found in Practitioner and it is uncertain whether they are compatible ((extension.where(url = 'http://fhir.nl/fhir/StructureDefinition/nl-core-address-official').where(value = true)).empty() or (line.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName').empty().not() and (line.extension.where(url='http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber').empty().not() or line.extension.where(url='http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-buildingNumberSuffix').empty().not() or line.extension.where(url='http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-additionalLocator').empty().not())))
gender | Σ | 0..1 | code | male | female | other | unknown Binding: ?? (required): The gender of a person used for administrative purposes. | Σ | 0..1 | code | male | female | other | unknown Binding: ?? (required): The gender of a person used for administrative purposes. |
birthDate | Σ | 0..1 | date | The date on which the practitioner was born | Σ | 0..1 | date | The date on which the practitioner was born |
photo |  | 0..* | Attachment | Image of the person |  | 0..* | Attachment | Image of the person |
qualification | S C | 0..* | BackboneElement | Qualifications obtained by training and certification Constraints: zv-pra-4 | S C | 0..* | BackboneElement | Qualifications obtained by training and certification Constraints: zv-pra-4 |
id |  | 0..1 | string | xml:id (or equivalent in JSON) |  | 0..1 | string | xml:id (or equivalent in JSON) |
extension |  | 0..* | Extension | Additional Content defined by implementations |  | 0..* | Extension | Additional Content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
identifier |  | 0..* | Identifier | An identifier for this qualification for the practitioner |  | 0..* | Identifier | An identifier for this qualification for the practitioner |
code |  | 1..1 | CodeableConcept | Coded representation of the qualification Binding: ?? (example): Specific qualification the practitioner has to provide a service |  | 1..1 | CodeableConcept | Coded representation of the qualification Binding: ?? (example): Specific qualification the practitioner has to provide a service |
period |  | 0..1 | Period | Period during which the qualification is valid |  | 0..1 | Period | Period during which the qualification is valid |
issuer |  | 0..1 | Reference(Organization) | Organization that regulates and issues the qualification |  | 0..1 | Reference(Organization) | Organization that regulates and issues the qualification |
communication |  | 0..* | CodeableConcept | A language the practitioner is able to use in patient communication Binding: ?? (extensible): A human language.
Additional Bindings | Purpose
?? | Max Binding
|  | 0..* | CodeableConcept | A language the practitioner is able to use in patient communication Binding: ?? (extensible): A human language.
Additional Bindings | Purpose
?? | Max Binding
Documentation for this format