Danish XDS Documents profiles
1.0.0-trial-use-1 - release
This page is part of the DK MedCom XDS Documents (v1.0.0-trial-use-1: Trial Uses) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version. For a full list of available versions, see the Directory of published versions
| Official URL: http://medcomfhir.dk/ig/xdsdocuments/StructureDefinition/medcom-document-patient | Version: 1.0.0-trial-use-1 | |||
| Draft as of 2026-06-01 | Computable Name: MedComDocumentPatient | |||
A profile including requirements for a MedCom Document Patient.
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..* | MedComCorePatient | Information about an individual or animal receiving health care services Constraints: marital-status-unknown-usage | ||||
![]() ![]() |
SOΣ | 1..1 | id | Logical id of this artifact | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
S | 1..1 | Narrative | The narrative text SHALL always be included when exchanging a MedCom FHIR Bundle. This profile does not constrain the narrative in regard to content, language, or traceability to data elements | ||||
![]() ![]() ![]() |
S | 1..1 | code | generated | extensions | additional | empty Binding: NarrativeStatus (required): The status of a resource narrative. | ||||
![]() ![]() ![]() |
SC | 1..1 | xhtml | Limited xhtml content Constraints: txt-1, txt-2 | ||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
SΣ | 1..1 | Identifier | An identifier for this patient Slice: Unordered, Open by value:system | ||||
![]() ![]() ![]() |
SΣ | 1..1 | DkCoreCprIdentifier(3.6.0) | Unique identification number for all citizens in Denmark, called civil person register (CPR-number). | ||||
![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . Fixed Value: official | ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | uri | The namespace for the identifier value Fixed Value: urn:oid:1.2.208.176.1.2 | ||||
![]() ![]() ![]() ![]() |
SOΣC | 1..1 | string | The value that is unique Constraints: cpr Example General: 123456 Max Length:10 | ||||
![]() ![]() |
?!Σ | 0..1 | boolean | Whether this patient's record is in active use | ||||
![]() ![]() |
SΣ | 1..1 | HumanName | A name associated with the patient Slice: Unordered, Open by value:use | ||||
![]() ![]() ![]() |
SΣ | 1..1 | HumanName | [DA] Officielt navn, som det fremgår af CPR registeret | ||||
![]() ![]() ![]() ![]() |
?!SOΣ | 1..1 | code | usual | official | temp | nickname | anonymous | old | maiden Binding: NameUse (required): The use of a human name. Fixed Value: official | ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | string | Family name (often called 'Surname') | ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..* | string | Given names (not always 'first'). Includes middle names This repeating element order: Given Names appear in the correct order for presenting the name | ||||
![]() ![]() |
SOΣ | 1..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
| ||||
![]() ![]() |
SOΣ | 1..1 | date | The date of birth for the individual
| ||||
![]() ![]() |
?!Σ | 0..1 | Indicates if the individual is deceased or not | |||||
![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() |
0..* | Reference(Danish Core Organization Profile(3.6.0) | Danish Core Practitioner Profile(3.6.0) | Danish Core PractitionerRole Profile(3.6.0)) | 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(3.6.0) | Danish Core Related Person Profile(3.6.0)) | 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. | ||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Patient.text.status | Base | required | NarrativeStatus | 📍4.0.1 | FHIR Std. |
| Patient.identifier:cpr.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| Patient.identifier:x-ecpr.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| Patient.identifier:d-ecpr.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| Patient.identifier:d-ecpr.system | Base | required | DK D-eCPR OID values | 📍3.6.0 | HL7 FHIR Implementation Guide: DK Core v3.6 |
| Patient.name:official.use | Base | required | NameUse | 📍4.0.1 | FHIR Std. |
| Patient.gender | Base | required | AdministrativeGender | 📍4.0.1 | FHIR Std. |
| Patient.link.type | Base | required | LinkType | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| cpr | error | Patient.identifier:cpr.value |
Requirement of danish civil registration numbers. See https://cpr.dk/cpr-systemet/opbygning-af-cpr-nummeret/#:~:text=5%20%2D%206%20position%20angiver%20personens,i%20personnummeret%20angiver%20personens%20k%C3%B8n. Requirements: Requirement of danish civil registration numbers |
matches('^((((0[1-9]|1[0-9]|2[0-9]|3[0-1])(01|03|05|07|08|10|12))|((0[1-9]|1[0-9]|2[0-9]|30)(04|06|09|11))|((0[1-9]|1[0-9]|2[0-9])(02)))[0-9]{6})$')
|
| d-ecpr | error | Patient.identifier:d-ecpr.value | Requirement of danish D-eCPR. See https://www.nspop.dk/pages/viewpage.action?pageId=226757583#eCPRFormater(XeCPRogDeCPR)-Formatetfordecentraleerstatningspersonnumre-D-eCPR |
value.matches('^((((0[1-9]|1[0-9]|2[0-9]|3[0-1])(01|03|05|07|08|10|12))|((0[1-9]|1[0-9]|2[0-9]|30)(04|06|09|11))|((0[1-9]|1[0-9]|2[0-9])(02)))([0-9]{2})((0|5|6){1})([A-Z]{2})([0-9]{1}))$')
|
| 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/ Requirements: Marital status is legally unknown in Denmark |
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()
|
| txt-1 | error | Patient.text.div | The narrative SHALL contain only the basic html formatting elements and attributes described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes |
htmlChecks()
|
| txt-2 | error | Patient.text.div | The narrative SHALL have some non-whitespace content |
htmlChecks()
|
| x-ecpr | error | Patient.identifier:x-ecpr.value | Requirement of danish X-eCPR. See https://www.nspop.dk/pages/viewpage.action?pageId=226757583#eCPRFormater(XeCPRogDeCPR)-Formatetfornationaleerstatningspersonnumre-X-eCPR |
value.matches('^((((0[1-9]|1[0-9]|2[0-9]|3[0-1])(01|03|05|07|08|10|12))|((0[1-9]|1[0-9]|2[0-9]|30)(04|06|09|11))|((0[1-9]|1[0-9]|2[0-9])(02)))([0-9]{2})((1|7){1})([A-Z]{2})([0-9]{1}))$')
|
This structure is derived from MedComCorePatient
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | MedComCorePatient | Information about an individual or animal receiving health care services | |||||
![]() ![]() |
1..1 | Identifier | An identifier for this patient | |||||
![]() ![]() |
Content/Rules for all slices | |||||||
![]() ![]() ![]() |
1..1 | DkCoreCprIdentifier(3.6.0) | Unique identification number for all citizens in Denmark, called civil person register (CPR-number). | |||||
![]() ![]() ![]() |
0..0 | [DA] X-eCPR, tildelt fra den nationale eCPR service | ||||||
![]() ![]() ![]() |
0..0 | [DA] D-eCPR, decentral eCPR | ||||||
![]() ![]() |
1..1 | HumanName | A name associated with the patient | |||||
![]() ![]() |
Content/Rules for all slices | |||||||
![]() ![]() ![]() |
1..1 | HumanName | [DA] Officielt navn, som det fremgår af CPR registeret | |||||
![]() ![]() ![]() ![]() |
1..* | string | Given names (not always 'first'). Includes middle names | |||||
![]() ![]() |
SO | 1..1 | code | male | female | other | unknown
| ||||
![]() ![]() |
SO | 1..1 | date | The date of birth for the individual
| ||||
Documentation for this format | ||||||||
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | MedComCorePatient | Information about an individual or animal receiving health care services Constraints: marital-status-unknown-usage | ||||
![]() ![]() |
SOΣ | 1..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.
| |||||
![]() ![]() |
S | 1..1 | Narrative | The narrative text SHALL always be included when exchanging a MedCom FHIR Bundle. This profile does not constrain the narrative in regard to content, language, or traceability to data elements | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
S | 1..1 | code | generated | extensions | additional | empty Binding: NarrativeStatus (required): The status of a resource narrative. | ||||
![]() ![]() ![]() |
SC | 1..1 | xhtml | Limited xhtml content Constraints: txt-1, txt-2 | ||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
SΣ | 1..1 | Identifier | An identifier for this patient Slice: Unordered, Open by value:system | ||||
![]() ![]() ![]() |
SΣ | 1..1 | DkCoreCprIdentifier(3.6.0) | Unique identification number for all citizens in Denmark, called civil person register (CPR-number). | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . Fixed Value: official | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | uri | The namespace for the identifier value Fixed Value: urn:oid:1.2.208.176.1.2 | ||||
![]() ![]() ![]() ![]() |
SOΣC | 1..1 | string | The value that is unique Constraints: cpr Example General: 123456 Max Length:10 | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Period | Time period when id is/was valid for use | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | ||||
![]() ![]() |
?!Σ | 0..1 | boolean | Whether this patient's record is in active use | ||||
![]() ![]() |
SΣ | 1..1 | HumanName | A name associated with the patient Slice: Unordered, Open by value:use | ||||
![]() ![]() ![]() |
SΣ | 1..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 | |||||
![]() ![]() ![]() ![]() |
?!SOΣ | 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 | ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | string | Family name (often called 'Surname') | ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..* | 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 | ||||
![]() ![]() |
SOΣ | 1..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
| ||||
![]() ![]() |
SOΣ | 1..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: null (3.6.0) (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: extended-patient-contactrelationship (3.6.0) (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(3.6.0) | Danish Core Practitioner Profile(3.6.0) | Danish Core PractitionerRole Profile(3.6.0)) | 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(3.6.0) | Logical reference, when literal reference is not known | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Text alternative for the resource | ||||
![]() ![]() |
Σ | 0..1 | Reference(MedComCoreOrganization) {b} | 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(3.6.0) | Danish Core Related Person Profile(3.6.0)) | 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. | ||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Patient.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Patient.text.status | Base | required | NarrativeStatus | 📍4.0.1 | FHIR Std. |
| Patient.identifier:cpr.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| Patient.identifier:cpr.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std. |
| Patient.identifier:x-ecpr.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| Patient.identifier:x-ecpr.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std. |
| Patient.identifier:d-ecpr.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| Patient.identifier:d-ecpr.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std. |
| Patient.identifier:d-ecpr.system | Base | required | DK D-eCPR OID values | 📍3.6.0 | HL7 FHIR Implementation Guide: DK Core v3.6 |
| Patient.name:official.use | Base | required | NameUse | 📍4.0.1 | FHIR Std. |
| Patient.gender | Base | required | AdministrativeGender | 📍4.0.1 | FHIR Std. |
| Patient.address.use | Base | required | AddressUse | 📍4.0.1 | FHIR Std. |
| Patient.address.type | Base | required | AddressType | 📍4.0.1 | FHIR Std. |
| Patient.maritalStatus | Base | extensible | DK MaritalStatus | 📍3.6.0 | HL7 FHIR Implementation Guide: DK Core v3.6 |
| Patient.contact.relationship | Base | extensible | DK Extended Patient Contact Relationship | 📍3.6.0 | HL7 FHIR Implementation Guide: DK Core v3.6 |
| Patient.contact.gender | Base | required | AdministrativeGender | 📍4.0.1 | FHIR Std. |
| Patient.communication.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Patient.generalPractitioner:referencedSORUnit.type | Base | extensible | ResourceType | 📍4.0.1 | FHIR Std. |
| Patient.link.type | Base | required | LinkType | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| cpr | error | Patient.identifier:cpr.value |
Requirement of danish civil registration numbers. See https://cpr.dk/cpr-systemet/opbygning-af-cpr-nummeret/#:~:text=5%20%2D%206%20position%20angiver%20personens,i%20personnummeret%20angiver%20personens%20k%C3%B8n. Requirements: Requirement of danish civil registration numbers |
matches('^((((0[1-9]|1[0-9]|2[0-9]|3[0-1])(01|03|05|07|08|10|12))|((0[1-9]|1[0-9]|2[0-9]|30)(04|06|09|11))|((0[1-9]|1[0-9]|2[0-9])(02)))[0-9]{6})$')
|
| d-ecpr | error | Patient.identifier:d-ecpr.value | Requirement of danish D-eCPR. See https://www.nspop.dk/pages/viewpage.action?pageId=226757583#eCPRFormater(XeCPRogDeCPR)-Formatetfordecentraleerstatningspersonnumre-D-eCPR |
value.matches('^((((0[1-9]|1[0-9]|2[0-9]|3[0-1])(01|03|05|07|08|10|12))|((0[1-9]|1[0-9]|2[0-9]|30)(04|06|09|11))|((0[1-9]|1[0-9]|2[0-9])(02)))([0-9]{2})((0|5|6){1})([A-Z]{2})([0-9]{1}))$')
|
| 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/ Requirements: Marital status is legally unknown in Denmark |
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()
|
| 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()
|
| txt-1 | error | Patient.text.div | The narrative SHALL contain only the basic html formatting elements and attributes described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes |
htmlChecks()
|
| txt-2 | error | Patient.text.div | The narrative SHALL have some non-whitespace content |
htmlChecks()
|
| x-ecpr | error | Patient.identifier:x-ecpr.value | Requirement of danish X-eCPR. See https://www.nspop.dk/pages/viewpage.action?pageId=226757583#eCPRFormater(XeCPRogDeCPR)-Formatetfornationaleerstatningspersonnumre-X-eCPR |
value.matches('^((((0[1-9]|1[0-9]|2[0-9]|3[0-1])(01|03|05|07|08|10|12))|((0[1-9]|1[0-9]|2[0-9]|30)(04|06|09|11))|((0[1-9]|1[0-9]|2[0-9])(02)))([0-9]{2})((1|7){1})([A-Z]{2})([0-9]{1}))$')
|
This structure is derived from MedComCorePatient
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | MedComCorePatient | Information about an individual or animal receiving health care services Constraints: marital-status-unknown-usage | ||||
![]() ![]() |
SOΣ | 1..1 | id | Logical id of this artifact | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
S | 1..1 | Narrative | The narrative text SHALL always be included when exchanging a MedCom FHIR Bundle. This profile does not constrain the narrative in regard to content, language, or traceability to data elements | ||||
![]() ![]() ![]() |
S | 1..1 | code | generated | extensions | additional | empty Binding: NarrativeStatus (required): The status of a resource narrative. | ||||
![]() ![]() ![]() |
SC | 1..1 | xhtml | Limited xhtml content Constraints: txt-1, txt-2 | ||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
SΣ | 1..1 | Identifier | An identifier for this patient Slice: Unordered, Open by value:system | ||||
![]() ![]() ![]() |
SΣ | 1..1 | DkCoreCprIdentifier(3.6.0) | Unique identification number for all citizens in Denmark, called civil person register (CPR-number). | ||||
![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . Fixed Value: official | ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | uri | The namespace for the identifier value Fixed Value: urn:oid:1.2.208.176.1.2 | ||||
![]() ![]() ![]() ![]() |
SOΣC | 1..1 | string | The value that is unique Constraints: cpr Example General: 123456 Max Length:10 | ||||
![]() ![]() |
?!Σ | 0..1 | boolean | Whether this patient's record is in active use | ||||
![]() ![]() |
SΣ | 1..1 | HumanName | A name associated with the patient Slice: Unordered, Open by value:use | ||||
![]() ![]() ![]() |
SΣ | 1..1 | HumanName | [DA] Officielt navn, som det fremgår af CPR registeret | ||||
![]() ![]() ![]() ![]() |
?!SOΣ | 1..1 | code | usual | official | temp | nickname | anonymous | old | maiden Binding: NameUse (required): The use of a human name. Fixed Value: official | ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | string | Family name (often called 'Surname') | ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..* | string | Given names (not always 'first'). Includes middle names This repeating element order: Given Names appear in the correct order for presenting the name | ||||
![]() ![]() |
SOΣ | 1..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
| ||||
![]() ![]() |
SOΣ | 1..1 | date | The date of birth for the individual
| ||||
![]() ![]() |
?!Σ | 0..1 | Indicates if the individual is deceased or not | |||||
![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() |
0..* | Reference(Danish Core Organization Profile(3.6.0) | Danish Core Practitioner Profile(3.6.0) | Danish Core PractitionerRole Profile(3.6.0)) | 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(3.6.0) | Danish Core Related Person Profile(3.6.0)) | 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. | ||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Patient.text.status | Base | required | NarrativeStatus | 📍4.0.1 | FHIR Std. |
| Patient.identifier:cpr.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| Patient.identifier:x-ecpr.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| Patient.identifier:d-ecpr.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| Patient.identifier:d-ecpr.system | Base | required | DK D-eCPR OID values | 📍3.6.0 | HL7 FHIR Implementation Guide: DK Core v3.6 |
| Patient.name:official.use | Base | required | NameUse | 📍4.0.1 | FHIR Std. |
| Patient.gender | Base | required | AdministrativeGender | 📍4.0.1 | FHIR Std. |
| Patient.link.type | Base | required | LinkType | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| cpr | error | Patient.identifier:cpr.value |
Requirement of danish civil registration numbers. See https://cpr.dk/cpr-systemet/opbygning-af-cpr-nummeret/#:~:text=5%20%2D%206%20position%20angiver%20personens,i%20personnummeret%20angiver%20personens%20k%C3%B8n. Requirements: Requirement of danish civil registration numbers |
matches('^((((0[1-9]|1[0-9]|2[0-9]|3[0-1])(01|03|05|07|08|10|12))|((0[1-9]|1[0-9]|2[0-9]|30)(04|06|09|11))|((0[1-9]|1[0-9]|2[0-9])(02)))[0-9]{6})$')
|
| d-ecpr | error | Patient.identifier:d-ecpr.value | Requirement of danish D-eCPR. See https://www.nspop.dk/pages/viewpage.action?pageId=226757583#eCPRFormater(XeCPRogDeCPR)-Formatetfordecentraleerstatningspersonnumre-D-eCPR |
value.matches('^((((0[1-9]|1[0-9]|2[0-9]|3[0-1])(01|03|05|07|08|10|12))|((0[1-9]|1[0-9]|2[0-9]|30)(04|06|09|11))|((0[1-9]|1[0-9]|2[0-9])(02)))([0-9]{2})((0|5|6){1})([A-Z]{2})([0-9]{1}))$')
|
| 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/ Requirements: Marital status is legally unknown in Denmark |
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()
|
| txt-1 | error | Patient.text.div | The narrative SHALL contain only the basic html formatting elements and attributes described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes |
htmlChecks()
|
| txt-2 | error | Patient.text.div | The narrative SHALL have some non-whitespace content |
htmlChecks()
|
| x-ecpr | error | Patient.identifier:x-ecpr.value | Requirement of danish X-eCPR. See https://www.nspop.dk/pages/viewpage.action?pageId=226757583#eCPRFormater(XeCPRogDeCPR)-Formatetfornationaleerstatningspersonnumre-X-eCPR |
value.matches('^((((0[1-9]|1[0-9]|2[0-9]|3[0-1])(01|03|05|07|08|10|12))|((0[1-9]|1[0-9]|2[0-9]|30)(04|06|09|11))|((0[1-9]|1[0-9]|2[0-9])(02)))([0-9]{2})((1|7){1})([A-Z]{2})([0-9]{1}))$')
|
Differential View
This structure is derived from MedComCorePatient
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | MedComCorePatient | Information about an individual or animal receiving health care services | |||||
![]() ![]() |
1..1 | Identifier | An identifier for this patient | |||||
![]() ![]() |
Content/Rules for all slices | |||||||
![]() ![]() ![]() |
1..1 | DkCoreCprIdentifier(3.6.0) | Unique identification number for all citizens in Denmark, called civil person register (CPR-number). | |||||
![]() ![]() ![]() |
0..0 | [DA] X-eCPR, tildelt fra den nationale eCPR service | ||||||
![]() ![]() ![]() |
0..0 | [DA] D-eCPR, decentral eCPR | ||||||
![]() ![]() |
1..1 | HumanName | A name associated with the patient | |||||
![]() ![]() |
Content/Rules for all slices | |||||||
![]() ![]() ![]() |
1..1 | HumanName | [DA] Officielt navn, som det fremgår af CPR registeret | |||||
![]() ![]() ![]() ![]() |
1..* | string | Given names (not always 'first'). Includes middle names | |||||
![]() ![]() |
SO | 1..1 | code | male | female | other | unknown
| ||||
![]() ![]() |
SO | 1..1 | date | The date of birth for the individual
| ||||
Documentation for this format | ||||||||
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | MedComCorePatient | Information about an individual or animal receiving health care services Constraints: marital-status-unknown-usage | ||||
![]() ![]() |
SOΣ | 1..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.
| |||||
![]() ![]() |
S | 1..1 | Narrative | The narrative text SHALL always be included when exchanging a MedCom FHIR Bundle. This profile does not constrain the narrative in regard to content, language, or traceability to data elements | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
S | 1..1 | code | generated | extensions | additional | empty Binding: NarrativeStatus (required): The status of a resource narrative. | ||||
![]() ![]() ![]() |
SC | 1..1 | xhtml | Limited xhtml content Constraints: txt-1, txt-2 | ||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
SΣ | 1..1 | Identifier | An identifier for this patient Slice: Unordered, Open by value:system | ||||
![]() ![]() ![]() |
SΣ | 1..1 | DkCoreCprIdentifier(3.6.0) | Unique identification number for all citizens in Denmark, called civil person register (CPR-number). | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . Fixed Value: official | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | uri | The namespace for the identifier value Fixed Value: urn:oid:1.2.208.176.1.2 | ||||
![]() ![]() ![]() ![]() |
SOΣC | 1..1 | string | The value that is unique Constraints: cpr Example General: 123456 Max Length:10 | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Period | Time period when id is/was valid for use | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | ||||
![]() ![]() |
?!Σ | 0..1 | boolean | Whether this patient's record is in active use | ||||
![]() ![]() |
SΣ | 1..1 | HumanName | A name associated with the patient Slice: Unordered, Open by value:use | ||||
![]() ![]() ![]() |
SΣ | 1..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 | |||||
![]() ![]() ![]() ![]() |
?!SOΣ | 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 | ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..1 | string | Family name (often called 'Surname') | ||||
![]() ![]() ![]() ![]() |
SOΣ | 1..* | 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 | ||||
![]() ![]() |
SOΣ | 1..1 | code | male | female | other | unknown Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
| ||||
![]() ![]() |
SOΣ | 1..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: null (3.6.0) (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: extended-patient-contactrelationship (3.6.0) (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(3.6.0) | Danish Core Practitioner Profile(3.6.0) | Danish Core PractitionerRole Profile(3.6.0)) | 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(3.6.0) | Logical reference, when literal reference is not known | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Text alternative for the resource | ||||
![]() ![]() |
Σ | 0..1 | Reference(MedComCoreOrganization) {b} | 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(3.6.0) | Danish Core Related Person Profile(3.6.0)) | 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. | ||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Patient.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Patient.text.status | Base | required | NarrativeStatus | 📍4.0.1 | FHIR Std. |
| Patient.identifier:cpr.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| Patient.identifier:cpr.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std. |
| Patient.identifier:x-ecpr.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| Patient.identifier:x-ecpr.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std. |
| Patient.identifier:d-ecpr.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std. |
| Patient.identifier:d-ecpr.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std. |
| Patient.identifier:d-ecpr.system | Base | required | DK D-eCPR OID values | 📍3.6.0 | HL7 FHIR Implementation Guide: DK Core v3.6 |
| Patient.name:official.use | Base | required | NameUse | 📍4.0.1 | FHIR Std. |
| Patient.gender | Base | required | AdministrativeGender | 📍4.0.1 | FHIR Std. |
| Patient.address.use | Base | required | AddressUse | 📍4.0.1 | FHIR Std. |
| Patient.address.type | Base | required | AddressType | 📍4.0.1 | FHIR Std. |
| Patient.maritalStatus | Base | extensible | DK MaritalStatus | 📍3.6.0 | HL7 FHIR Implementation Guide: DK Core v3.6 |
| Patient.contact.relationship | Base | extensible | DK Extended Patient Contact Relationship | 📍3.6.0 | HL7 FHIR Implementation Guide: DK Core v3.6 |
| Patient.contact.gender | Base | required | AdministrativeGender | 📍4.0.1 | FHIR Std. |
| Patient.communication.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Patient.generalPractitioner:referencedSORUnit.type | Base | extensible | ResourceType | 📍4.0.1 | FHIR Std. |
| Patient.link.type | Base | required | LinkType | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| cpr | error | Patient.identifier:cpr.value |
Requirement of danish civil registration numbers. See https://cpr.dk/cpr-systemet/opbygning-af-cpr-nummeret/#:~:text=5%20%2D%206%20position%20angiver%20personens,i%20personnummeret%20angiver%20personens%20k%C3%B8n. Requirements: Requirement of danish civil registration numbers |
matches('^((((0[1-9]|1[0-9]|2[0-9]|3[0-1])(01|03|05|07|08|10|12))|((0[1-9]|1[0-9]|2[0-9]|30)(04|06|09|11))|((0[1-9]|1[0-9]|2[0-9])(02)))[0-9]{6})$')
|
| d-ecpr | error | Patient.identifier:d-ecpr.value | Requirement of danish D-eCPR. See https://www.nspop.dk/pages/viewpage.action?pageId=226757583#eCPRFormater(XeCPRogDeCPR)-Formatetfordecentraleerstatningspersonnumre-D-eCPR |
value.matches('^((((0[1-9]|1[0-9]|2[0-9]|3[0-1])(01|03|05|07|08|10|12))|((0[1-9]|1[0-9]|2[0-9]|30)(04|06|09|11))|((0[1-9]|1[0-9]|2[0-9])(02)))([0-9]{2})((0|5|6){1})([A-Z]{2})([0-9]{1}))$')
|
| 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/ Requirements: Marital status is legally unknown in Denmark |
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()
|
| 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()
|
| txt-1 | error | Patient.text.div | The narrative SHALL contain only the basic html formatting elements and attributes described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes |
htmlChecks()
|
| txt-2 | error | Patient.text.div | The narrative SHALL have some non-whitespace content |
htmlChecks()
|
| x-ecpr | error | Patient.identifier:x-ecpr.value | Requirement of danish X-eCPR. See https://www.nspop.dk/pages/viewpage.action?pageId=226757583#eCPRFormater(XeCPRogDeCPR)-Formatetfornationaleerstatningspersonnumre-X-eCPR |
value.matches('^((((0[1-9]|1[0-9]|2[0-9]|3[0-1])(01|03|05|07|08|10|12))|((0[1-9]|1[0-9]|2[0-9]|30)(04|06|09|11))|((0[1-9]|1[0-9]|2[0-9])(02)))([0-9]{2})((1|7){1})([A-Z]{2})([0-9]{1}))$')
|
This structure is derived from MedComCorePatient
Other representations of profile: CSV, Excel, Schematron