HL7 FHIR Implementation Guide: DK Core
3.5.0 - ci-build
HL7 FHIR Implementation Guide: DK Core, published by HL7 Denmark. This guide is not an authorized publication; it is the continuous build for version 3.5.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7dk/dk-core/ and changes regularly. See the Directory of published versions
Official URL: http://hl7.dk/fhir/core/StructureDefinition/ipa-dk-core-patient | Version: 3.5.0 | |||
Draft as of 2025-08-20 | Computable Name: IpaDkCorePatient |
HL7 Denmark core profile for IPA and DK Core compliant patients
The Danish IPA Core Patient profile is intended to encapsulate the combined data model of a patient as used in a Danish context DKCorePatient and as used in an international context International Patient Access (IPA) specification. The profile does this by extending the definition for dk-core-patient and imposing the IPA-Patient profile.
Marital status in DKCorePatient is aligned with the Danish CPR registry definition and extends the official FHIR valueset with additional values (see valueset DKCoreMaritalStatus for details). These values are not expected to be understood outside Denmark and should be mapped to other values that match the use case at hand.
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
C | 0..* | DkCorePatient | Information about an individual or animal receiving health care services This profile also imposes the profile IPA-Patient Constraints: marital-status-unknown-usage |
![]() ![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() ![]() |
Σ | 1..* | Identifier | An identifier for this patient Slice: Unordered, Open by value:system |
![]() ![]() ![]() ![]() |
Σ | 0..1 | DkCoreCprIdentifier | [DA] cpr-nummer, som det fremgår af CPR registeret |
![]() ![]() ![]() ![]() |
Σ | 0..1 | DkCoreXeCprIdentifier | [DA] X-eCPR, tildelt fra den nationale eCPR service |
![]() ![]() ![]() ![]() |
Σ | 0..1 | DkCoreDeCprIdentifier | [DA] D-eCPR, decentral eCPR |
![]() ![]() ![]() |
?!Σ | 0..1 | boolean | Whether this patient's record is in active use |
![]() ![]() ![]() |
Σ | 0..* | HumanName | A name associated with the patient Slice: Unordered, Open by value:use |
![]() ![]() ![]() ![]() |
Σ | 0..1 | HumanName | [DA] Officielt navn, som det fremgår af CPR registeret |
![]() ![]() ![]() ![]() ![]() |
?!Σ | 1..1 | code | usual | official | temp | nickname | anonymous | old | maiden Binding: NameUse (required): The use of a human name. Fixed Value: official |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Family name (often called 'Surname') |
![]() ![]() ![]() |
?!Σ | 0..1 | Indicates if the individual is deceased or not | |
![]() ![]() ![]() ![]() |
boolean | |||
![]() ![]() ![]() ![]() |
dateTime | |||
![]() ![]() ![]() |
0..* | Reference(Danish Core Organization Profile | Danish Core Practitioner Profile | Danish Core PractitionerRole Profile) | Patient's nominated primary care provider Slice: Unordered, Open by value:identifier.system | |
![]() ![]() ![]() ![]() |
0..* | Reference(Organization | Practitioner | PractitionerRole) | [DA] Praktiserende læges SOR-id på sundhedsinstistutionsniveau | |
![]() ![]() ![]() |
?!Σ | 0..* | BackboneElement | Link to another patient resource that concerns the same actual person |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | Reference(Danish Core Patient Profile | Danish Core Related Person Profile) | The other patient or related person resource that the link refers to |
![]() ![]() ![]() ![]() |
Σ | 1..1 | code | replaced-by | replaces | refer | seealso Binding: LinkType (required): The type of link between this patient resource and another patient resource. |
![]() |
Path | Conformance | ValueSet / Code | URI |
Patient.name:official.use | required | Fixed Value: officialhttp://hl7.org/fhir/ValueSet/name-use|4.0.1 From the FHIR Standard | |
Patient.link.type | required | LinkTypehttp://hl7.org/fhir/ValueSet/link-type|4.0.1 From the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Patient | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Patient | If 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-4 | error | Patient | If 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-5 | error | Patient | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Patient | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
marital-status-unknown-usage | warning | Patient | The constraint ensures that only permitted forms of marriage can be used in the Danish context, as there will be no authority for other forms. See https://cpr.dk/borgere/hvad-staar-der-om-mig-i-cpr-registerindsigt/hvad-og-hvem-er-registreret-i-cpr-og-hvem-opdaterer-oplysninger-om-dig-i-cpr/ : maritalStatus.coding.where(code = 'P' and system = 'http://terminology.hl7.org/CodeSystem/v3-MaritalStatus').empty() or maritalStatus.coding.where(code = 'A' and system = 'http://terminology.hl7.org/CodeSystem/v3-MaritalStatus').empty() | Marital status is legally unknown in Denmark |
This structure is derived from DkCorePatient
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
0..* | DkCorePatient | Information about an individual or animal receiving health care services This profile also imposes the profile IPA-Patient | |
![]() |
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
---|---|---|---|---|---|---|---|---|
![]() ![]() |
C | 0..* | DkCorePatient | Information about an individual or animal receiving health care services This profile also imposes the profile IPA-Patient Constraints: marital-status-unknown-usage | ||||
![]() ![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() ![]() |
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..* | Resource | Contained, inline Resources | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() ![]() |
Σ | 1..* | Identifier | An identifier for this patient Slice: Unordered, Open by value:system | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | DkCoreCprIdentifier | [DA] cpr-nummer, som det fremgår af CPR registeret | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | DkCoreXeCprIdentifier | [DA] X-eCPR, tildelt fra den nationale eCPR service | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | DkCoreDeCprIdentifier | [DA] D-eCPR, decentral eCPR | ||||
![]() ![]() ![]() |
?!Σ | 0..1 | boolean | Whether this patient's record is in active use | ||||
![]() ![]() ![]() |
Σ | 0..* | HumanName | A name associated with the patient Slice: Unordered, Open by value:use | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | HumanName | [DA] Officielt navn, som det fremgår af CPR registeret | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
?!Σ | 1..1 | code | usual | official | temp | nickname | anonymous | old | maiden Binding: NameUse (required): The use of a human name. Fixed Value: official | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Text representation of the full name | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Family name (often called 'Surname') | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | string | Given names (not always 'first'). Includes middle names This repeating element order: Given Names appear in the correct order for presenting the name | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | string | Parts that come before the name This repeating element order: Prefixes appear in the correct order for presenting the name | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | string | Parts that come after the name This repeating element order: Suffixes appear in the correct order for presenting the name | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | Period | Time period when name was/is in use | ||||
![]() ![]() ![]() |
Σ | 0..* | ContactPoint | A contact detail for the individual | ||||
![]() ![]() ![]() |
Σ | 0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. | ||||
![]() ![]() ![]() |
Σ | 0..1 | date | The date of birth for the individual | ||||
![]() ![]() ![]() |
?!Σ | 0..1 | Indicates if the individual is deceased or not | |||||
![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() |
Σ | 0..* | Address | An address for the individual | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | [DA] Kommunekode URL: http://hl7.dk/fhir/core/StructureDefinition/dk-core-municipalityCodes | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | [DA] Regionskode URL: http://hl7.dk/fhir/core/StructureDefinition/dk-core-RegionalSubDivisionCodes | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | boolean | Indicate that this address is meant to be the 'official' address for that person. This can be indicated by setting the boolean to 'true' or adding a code for the country, e.g. 'DK'. In Denmark the official is the address registered in the CPR-register, see: https://www.retsinformation.dk/eli/lta/2023/1010. URL: http://hl7.org/fhir/StructureDefinition/address-official | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | code | postal | physical | both Binding: AddressType (required): The type of an address (physical / postal). Example General: both | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Text representation of the address Example General: 137 Nowhere Street, Erewhon 9132 | ||||
![]() ![]() ![]() ![]() |
Σ | 0..* | string | Street name, number, direction & P.O. Box etc. This repeating element order: The order in which lines should appear in an address label Example General: 137 Nowhere Street | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Name of city, town etc. Example General: Erewhon | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | District name (aka county) Example General: Madison | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Sub-unit of country (abbreviations ok) | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Postal code for area Example General: 9132 | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Country (e.g. can be ISO 3166 2 or 3 letter code) | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Period | Time period when address was/is in use Example General: {"start":"2010-03-23","end":"2010-07-01"} | ||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Marital (civil) status of a patient Binding: DK MaritalStatus (extensible) | |||||
![]() ![]() ![]() |
0..1 | Whether patient is part of a multiple birth | ||||||
![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() |
0..* | Attachment | Image of the patient | |||||
![]() ![]() ![]() |
C | 0..* | BackboneElement | A contact party (e.g. guardian, partner, friend) for the patient Constraints: pat-1 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
0..* | CodeableConcept | The kind of relationship Binding: DK Extended Patient Contact Relationship (extensible) | |||||
![]() ![]() ![]() ![]() |
0..1 | HumanName | A name associated with the contact person | |||||
![]() ![]() ![]() ![]() |
0..* | ContactPoint | A contact detail for the person | |||||
![]() ![]() ![]() ![]() |
0..1 | Address | Address for the contact person | |||||
![]() ![]() ![]() ![]() |
0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. | |||||
![]() ![]() ![]() ![]() |
C | 0..1 | Reference(Organization) | Organization that is associated with the contact | ||||
![]() ![]() ![]() ![]() |
0..1 | Period | The period during which this contact person or organization is valid to be contacted relating to this patient | |||||
![]() ![]() ![]() |
0..* | BackboneElement | A language which may be used to communicate with the patient about his or her health | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
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.
| |||||
![]() ![]() ![]() ![]() |
0..1 | boolean | Language preference indicator | |||||
![]() ![]() ![]() |
0..* | Reference(Danish Core Organization Profile | Danish Core Practitioner Profile | Danish Core PractitionerRole Profile) | Patient's nominated primary care provider Slice: Unordered, Open by value:identifier.system | |||||
![]() ![]() ![]() ![]() |
0..* | Reference(Organization | Practitioner | PractitionerRole) | [DA] Praktiserende læges SOR-id på sundhedsinstistutionsniveau | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | Literal reference, Relative, internal or absolute URL | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model). | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | SORIdentifier | Logical reference, when literal reference is not known | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Text alternative for the resource | ||||
![]() ![]() ![]() |
Σ | 0..1 | Reference(Danish Core Organization Profile) | Organization that is the custodian of the patient record | ||||
![]() ![]() ![]() |
?!Σ | 0..* | BackboneElement | Link to another patient resource that concerns the same actual person | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | Reference(Danish Core Patient Profile | Danish Core Related Person Profile) | The other patient or related person resource that the link refers to | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | code | replaced-by | replaces | refer | seealso Binding: LinkType (required): The type of link between this patient resource and another patient resource. | ||||
![]() |
Path | Conformance | ValueSet / Code | URI | |||
Patient.language | preferred | CommonLanguageshttp://hl7.org/fhir/ValueSet/languages From the FHIR Standard
| ||||
Patient.name:official.use | required | Fixed Value: officialhttp://hl7.org/fhir/ValueSet/name-use|4.0.1 From the FHIR Standard | ||||
Patient.gender | required | AdministrativeGenderhttp://hl7.org/fhir/ValueSet/administrative-gender|4.0.1 From the FHIR Standard | ||||
Patient.address.use | required | AddressUsehttp://hl7.org/fhir/ValueSet/address-use|4.0.1 From the FHIR Standard | ||||
Patient.address.type | required | AddressTypehttp://hl7.org/fhir/ValueSet/address-type|4.0.1 From the FHIR Standard | ||||
Patient.maritalStatus | extensible | http://hl7.dk/fhir/core/ValueSet/dk-marital-status From this IG | ||||
Patient.contact.relationship | extensible | extended-patient-contactrelationshiphttp://hl7.dk/fhir/core/ValueSet/extended-patient-contactrelationship From this IG | ||||
Patient.contact.gender | required | AdministrativeGenderhttp://hl7.org/fhir/ValueSet/administrative-gender|4.0.1 From the FHIR Standard | ||||
Patient.communication.language | preferred | CommonLanguageshttp://hl7.org/fhir/ValueSet/languages From the FHIR Standard
| ||||
Patient.generalPractitioner:referencedSORUnit.type | extensible | ResourceTypehttp://hl7.org/fhir/ValueSet/resource-types From the FHIR Standard | ||||
Patient.link.type | required | LinkTypehttp://hl7.org/fhir/ValueSet/link-type|4.0.1 From the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Patient | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Patient | If 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-4 | error | Patient | If 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-5 | error | Patient | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Patient | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
marital-status-unknown-usage | warning | Patient | The constraint ensures that only permitted forms of marriage can be used in the Danish context, as there will be no authority for other forms. See https://cpr.dk/borgere/hvad-staar-der-om-mig-i-cpr-registerindsigt/hvad-og-hvem-er-registreret-i-cpr-og-hvem-opdaterer-oplysninger-om-dig-i-cpr/ : maritalStatus.coding.where(code = 'P' and system = 'http://terminology.hl7.org/CodeSystem/v3-MaritalStatus').empty() or maritalStatus.coding.where(code = 'A' and system = 'http://terminology.hl7.org/CodeSystem/v3-MaritalStatus').empty() | Marital status is legally unknown in Denmark |
pat-1 | error | Patient.contact | SHALL at least contain a contact's details or a reference to an organization : name.exists() or telecom.exists() or address.exists() or organization.exists() |
This structure is derived from DkCorePatient
Key Elements View
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
C | 0..* | DkCorePatient | Information about an individual or animal receiving health care services This profile also imposes the profile IPA-Patient Constraints: marital-status-unknown-usage |
![]() ![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() ![]() |
Σ | 1..* | Identifier | An identifier for this patient Slice: Unordered, Open by value:system |
![]() ![]() ![]() ![]() |
Σ | 0..1 | DkCoreCprIdentifier | [DA] cpr-nummer, som det fremgår af CPR registeret |
![]() ![]() ![]() ![]() |
Σ | 0..1 | DkCoreXeCprIdentifier | [DA] X-eCPR, tildelt fra den nationale eCPR service |
![]() ![]() ![]() ![]() |
Σ | 0..1 | DkCoreDeCprIdentifier | [DA] D-eCPR, decentral eCPR |
![]() ![]() ![]() |
?!Σ | 0..1 | boolean | Whether this patient's record is in active use |
![]() ![]() ![]() |
Σ | 0..* | HumanName | A name associated with the patient Slice: Unordered, Open by value:use |
![]() ![]() ![]() ![]() |
Σ | 0..1 | HumanName | [DA] Officielt navn, som det fremgår af CPR registeret |
![]() ![]() ![]() ![]() ![]() |
?!Σ | 1..1 | code | usual | official | temp | nickname | anonymous | old | maiden Binding: NameUse (required): The use of a human name. Fixed Value: official |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Family name (often called 'Surname') |
![]() ![]() ![]() |
?!Σ | 0..1 | Indicates if the individual is deceased or not | |
![]() ![]() ![]() ![]() |
boolean | |||
![]() ![]() ![]() ![]() |
dateTime | |||
![]() ![]() ![]() |
0..* | Reference(Danish Core Organization Profile | Danish Core Practitioner Profile | Danish Core PractitionerRole Profile) | Patient's nominated primary care provider Slice: Unordered, Open by value:identifier.system | |
![]() ![]() ![]() ![]() |
0..* | Reference(Organization | Practitioner | PractitionerRole) | [DA] Praktiserende læges SOR-id på sundhedsinstistutionsniveau | |
![]() ![]() ![]() |
?!Σ | 0..* | BackboneElement | Link to another patient resource that concerns the same actual person |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() ![]() |
Σ | 1..1 | Reference(Danish Core Patient Profile | Danish Core Related Person Profile) | The other patient or related person resource that the link refers to |
![]() ![]() ![]() ![]() |
Σ | 1..1 | code | replaced-by | replaces | refer | seealso Binding: LinkType (required): The type of link between this patient resource and another patient resource. |
![]() |
Path | Conformance | ValueSet / Code | URI |
Patient.name:official.use | required | Fixed Value: officialhttp://hl7.org/fhir/ValueSet/name-use|4.0.1 From the FHIR Standard | |
Patient.link.type | required | LinkTypehttp://hl7.org/fhir/ValueSet/link-type|4.0.1 From the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Patient | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Patient | If 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-4 | error | Patient | If 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-5 | error | Patient | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Patient | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
marital-status-unknown-usage | warning | Patient | The constraint ensures that only permitted forms of marriage can be used in the Danish context, as there will be no authority for other forms. See https://cpr.dk/borgere/hvad-staar-der-om-mig-i-cpr-registerindsigt/hvad-og-hvem-er-registreret-i-cpr-og-hvem-opdaterer-oplysninger-om-dig-i-cpr/ : maritalStatus.coding.where(code = 'P' and system = 'http://terminology.hl7.org/CodeSystem/v3-MaritalStatus').empty() or maritalStatus.coding.where(code = 'A' and system = 'http://terminology.hl7.org/CodeSystem/v3-MaritalStatus').empty() | Marital status is legally unknown in Denmark |
Differential View
This structure is derived from DkCorePatient
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
---|---|---|---|---|
![]() ![]() |
0..* | DkCorePatient | Information about an individual or animal receiving health care services This profile also imposes the profile IPA-Patient | |
![]() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
---|---|---|---|---|---|---|---|---|
![]() ![]() |
C | 0..* | DkCorePatient | Information about an individual or animal receiving health care services This profile also imposes the profile IPA-Patient Constraints: marital-status-unknown-usage | ||||
![]() ![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() ![]() |
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..* | Resource | Contained, inline Resources | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() ![]() |
Σ | 1..* | Identifier | An identifier for this patient Slice: Unordered, Open by value:system | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | DkCoreCprIdentifier | [DA] cpr-nummer, som det fremgår af CPR registeret | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | DkCoreXeCprIdentifier | [DA] X-eCPR, tildelt fra den nationale eCPR service | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | DkCoreDeCprIdentifier | [DA] D-eCPR, decentral eCPR | ||||
![]() ![]() ![]() |
?!Σ | 0..1 | boolean | Whether this patient's record is in active use | ||||
![]() ![]() ![]() |
Σ | 0..* | HumanName | A name associated with the patient Slice: Unordered, Open by value:use | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | HumanName | [DA] Officielt navn, som det fremgår af CPR registeret | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
?!Σ | 1..1 | code | usual | official | temp | nickname | anonymous | old | maiden Binding: NameUse (required): The use of a human name. Fixed Value: official | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Text representation of the full name | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Family name (often called 'Surname') | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | string | Given names (not always 'first'). Includes middle names This repeating element order: Given Names appear in the correct order for presenting the name | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | string | Parts that come before the name This repeating element order: Prefixes appear in the correct order for presenting the name | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | string | Parts that come after the name This repeating element order: Suffixes appear in the correct order for presenting the name | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | Period | Time period when name was/is in use | ||||
![]() ![]() ![]() |
Σ | 0..* | ContactPoint | A contact detail for the individual | ||||
![]() ![]() ![]() |
Σ | 0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. | ||||
![]() ![]() ![]() |
Σ | 0..1 | date | The date of birth for the individual | ||||
![]() ![]() ![]() |
?!Σ | 0..1 | Indicates if the individual is deceased or not | |||||
![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() |
Σ | 0..* | Address | An address for the individual | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | [DA] Kommunekode URL: http://hl7.dk/fhir/core/StructureDefinition/dk-core-municipalityCodes | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | [DA] Regionskode URL: http://hl7.dk/fhir/core/StructureDefinition/dk-core-RegionalSubDivisionCodes | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | boolean | Indicate that this address is meant to be the 'official' address for that person. This can be indicated by setting the boolean to 'true' or adding a code for the country, e.g. 'DK'. In Denmark the official is the address registered in the CPR-register, see: https://www.retsinformation.dk/eli/lta/2023/1010. URL: http://hl7.org/fhir/StructureDefinition/address-official | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | code | postal | physical | both Binding: AddressType (required): The type of an address (physical / postal). Example General: both | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Text representation of the address Example General: 137 Nowhere Street, Erewhon 9132 | ||||
![]() ![]() ![]() ![]() |
Σ | 0..* | string | Street name, number, direction & P.O. Box etc. This repeating element order: The order in which lines should appear in an address label Example General: 137 Nowhere Street | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Name of city, town etc. Example General: Erewhon | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | District name (aka county) Example General: Madison | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Sub-unit of country (abbreviations ok) | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Postal code for area Example General: 9132 | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Country (e.g. can be ISO 3166 2 or 3 letter code) | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Period | Time period when address was/is in use Example General: {"start":"2010-03-23","end":"2010-07-01"} | ||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Marital (civil) status of a patient Binding: DK MaritalStatus (extensible) | |||||
![]() ![]() ![]() |
0..1 | Whether patient is part of a multiple birth | ||||||
![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() |
0..* | Attachment | Image of the patient | |||||
![]() ![]() ![]() |
C | 0..* | BackboneElement | A contact party (e.g. guardian, partner, friend) for the patient Constraints: pat-1 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
0..* | CodeableConcept | The kind of relationship Binding: DK Extended Patient Contact Relationship (extensible) | |||||
![]() ![]() ![]() ![]() |
0..1 | HumanName | A name associated with the contact person | |||||
![]() ![]() ![]() ![]() |
0..* | ContactPoint | A contact detail for the person | |||||
![]() ![]() ![]() ![]() |
0..1 | Address | Address for the contact person | |||||
![]() ![]() ![]() ![]() |
0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. | |||||
![]() ![]() ![]() ![]() |
C | 0..1 | Reference(Organization) | Organization that is associated with the contact | ||||
![]() ![]() ![]() ![]() |
0..1 | Period | The period during which this contact person or organization is valid to be contacted relating to this patient | |||||
![]() ![]() ![]() |
0..* | BackboneElement | A language which may be used to communicate with the patient about his or her health | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
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.
| |||||
![]() ![]() ![]() ![]() |
0..1 | boolean | Language preference indicator | |||||
![]() ![]() ![]() |
0..* | Reference(Danish Core Organization Profile | Danish Core Practitioner Profile | Danish Core PractitionerRole Profile) | Patient's nominated primary care provider Slice: Unordered, Open by value:identifier.system | |||||
![]() ![]() ![]() ![]() |
0..* | Reference(Organization | Practitioner | PractitionerRole) | [DA] Praktiserende læges SOR-id på sundhedsinstistutionsniveau | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | Literal reference, Relative, internal or absolute URL | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model). | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | SORIdentifier | Logical reference, when literal reference is not known | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Text alternative for the resource | ||||
![]() ![]() ![]() |
Σ | 0..1 | Reference(Danish Core Organization Profile) | Organization that is the custodian of the patient record | ||||
![]() ![]() ![]() |
?!Σ | 0..* | BackboneElement | Link to another patient resource that concerns the same actual person | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | Reference(Danish Core Patient Profile | Danish Core Related Person Profile) | The other patient or related person resource that the link refers to | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | code | replaced-by | replaces | refer | seealso Binding: LinkType (required): The type of link between this patient resource and another patient resource. | ||||
![]() |
Path | Conformance | ValueSet / Code | URI | |||
Patient.language | preferred | CommonLanguageshttp://hl7.org/fhir/ValueSet/languages From the FHIR Standard
| ||||
Patient.name:official.use | required | Fixed Value: officialhttp://hl7.org/fhir/ValueSet/name-use|4.0.1 From the FHIR Standard | ||||
Patient.gender | required | AdministrativeGenderhttp://hl7.org/fhir/ValueSet/administrative-gender|4.0.1 From the FHIR Standard | ||||
Patient.address.use | required | AddressUsehttp://hl7.org/fhir/ValueSet/address-use|4.0.1 From the FHIR Standard | ||||
Patient.address.type | required | AddressTypehttp://hl7.org/fhir/ValueSet/address-type|4.0.1 From the FHIR Standard | ||||
Patient.maritalStatus | extensible | http://hl7.dk/fhir/core/ValueSet/dk-marital-status From this IG | ||||
Patient.contact.relationship | extensible | extended-patient-contactrelationshiphttp://hl7.dk/fhir/core/ValueSet/extended-patient-contactrelationship From this IG | ||||
Patient.contact.gender | required | AdministrativeGenderhttp://hl7.org/fhir/ValueSet/administrative-gender|4.0.1 From the FHIR Standard | ||||
Patient.communication.language | preferred | CommonLanguageshttp://hl7.org/fhir/ValueSet/languages From the FHIR Standard
| ||||
Patient.generalPractitioner:referencedSORUnit.type | extensible | ResourceTypehttp://hl7.org/fhir/ValueSet/resource-types From the FHIR Standard | ||||
Patient.link.type | required | LinkTypehttp://hl7.org/fhir/ValueSet/link-type|4.0.1 From the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Patient | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Patient | If 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-4 | error | Patient | If 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-5 | error | Patient | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Patient | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
marital-status-unknown-usage | warning | Patient | The constraint ensures that only permitted forms of marriage can be used in the Danish context, as there will be no authority for other forms. See https://cpr.dk/borgere/hvad-staar-der-om-mig-i-cpr-registerindsigt/hvad-og-hvem-er-registreret-i-cpr-og-hvem-opdaterer-oplysninger-om-dig-i-cpr/ : maritalStatus.coding.where(code = 'P' and system = 'http://terminology.hl7.org/CodeSystem/v3-MaritalStatus').empty() or maritalStatus.coding.where(code = 'A' and system = 'http://terminology.hl7.org/CodeSystem/v3-MaritalStatus').empty() | Marital status is legally unknown in Denmark |
pat-1 | error | Patient.contact | SHALL at least contain a contact's details or a reference to an organization : name.exists() or telecom.exists() or address.exists() or organization.exists() |
This structure is derived from DkCorePatient
Other representations of profile: CSV, Excel, Schematron