DK MedCom Document
1.0.1 - release

This page is part of the DK MedCom Document (v1.0.1: Release) 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

Resource Profile: MedComDocumentPatient

Official URL: http://medcomfhir.dk/ig/document/StructureDefinition/medcom-document-patient Version: 1.0.1
Active as of 2025-05-12 Computable Name: MedComDocumentPatient

A profile including requirements for a MedCom Document Patient.

Scope and usage

The MedComDocumentPatient profile describes information about a patient or citizen used in a MedComs Document standard. The MedComDocumentPatient is inherited from the DkCorePatient profile defined by HL7 Denmark. It does not inherit from MedComCorePatient, as more elements, than desired for this purpose, are marked with MustSupport.

Required information

There are certain requirements to which data must be present in a FHIR document. These requirements come from the IHE XDS metadata standard (sourcePatientInfo attribute) that requires for a Danish CPR-number (unique identifier), given and family name, birthdate and gender to be present. Therefore, this information has a minimum cardinality of 1.

It is not allowed to add a replacement-CPR (Danish: erstatningsCPR), as this is not supported in the infrastructure.

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient C 0..* DkCorePatient Information about an individual or animal receiving health care services
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: 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
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
marital-status-unknown-usage: Status in maritalStatus is unknown in a danish context. Consider mapping the value to UNK. 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/
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... text S 0..1 Narrative Text summary of the resource, for human interpretation
ele-1: All FHIR elements must have a @value or children
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... identifier:cpr S 1..1 DkCoreCprIdentifier Unique identification number for all citizens in Denmark, called civil person register (CPR-number).
ele-1: All FHIR elements must have a @value or children
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .


ele-1: All FHIR elements must have a @value or children
Fixed Value: official
..... system SΣ 1..1 uri The namespace for the identifier value
ele-1: All FHIR elements must have a @value or children
Fixed Value: urn:oid:1.2.208.176.1.2
..... value SΣC 1..1 string The value that is unique
ele-1: All FHIR elements must have a @value or children
cpr: 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.
Example General: 123456
Max Length:10
.... identifier:x-ecpr 0..1 DkCoreXeCprIdentifier [DA] X-eCPR, tildelt fra den nationale eCPR service
ele-1: All FHIR elements must have a @value or children
.... identifier:d-ecpr 0..1 DkCoreDeCprIdentifier [DA] D-eCPR, decentral eCPR
ele-1: All FHIR elements must have a @value or children
... active ?!Σ 0..1 boolean Whether this patient's record is in active use
ele-1: All FHIR elements must have a @value or children
... Slices for name SΣ 1..1 HumanName A name associated with the patient
Slice: Unordered, Open by value:use
ele-1: All FHIR elements must have a @value or children
.... name:official SΣ 1..1 HumanName [DA] Officielt navn, som det fremgår af CPR registeret
ele-1: All FHIR elements must have a @value or children
..... use ?!Σ 1..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.


ele-1: All FHIR elements must have a @value or children
Fixed Value: official
..... family SΣ 1..1 string Family name (often called 'Surname')
ele-1: All FHIR elements must have a @value or children
..... given SΣ 1..* string Given names (not always 'first'). Includes middle names
ele-1: All FHIR elements must have a @value or children
This repeating element order: Given Names appear in the correct order for presenting the name
... gender SΣ 1..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.


ele-1: All FHIR elements must have a @value or children
... birthDate SΣ 1..1 date The date of birth for the individual
ele-1: All FHIR elements must have a @value or children
... deceased[x] ?!Σ 0..1 Indicates if the individual is deceased or not
ele-1: All FHIR elements must have a @value or children
.... deceasedBoolean boolean
.... deceasedDateTime dateTime
... Slices for generalPractitioner 0..* Reference(Organization | Practitioner | PractitionerRole) Patient's nominated primary care provider
Slice: Unordered, Open by value:identifier.system
ele-1: All FHIR elements must have a @value or children
.... generalPractitioner:referencedSORUnit 0..* Reference(Organization | Practitioner | PractitionerRole) [DA] Praktiserende læges SOR-id på sundhedsinstistutionsniveau
ele-1: All FHIR elements must have a @value or children
... link ?!Σ 0..* BackboneElement Link to another patient resource that concerns the same actual person
ele-1: All FHIR elements must have a @value or children
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... other Σ 1..1 Reference(Danish Core Patient Profile | Danish Core Related Person Profile) The other patient or related person resource that the link refers to
ele-1: All FHIR elements must have a @value or children
.... type Σ 1..1 code replaced-by | replaces | refer | seealso
Binding: LinkType (required): The type of link between this patient resource and another patient resource.


ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Patient.identifier:cpr.userequiredFixed Value: official
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Patient.name:official.userequiredFixed Value: official
http://hl7.org/fhir/ValueSet/name-use|4.0.1
from the FHIR Standard
Patient.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard
Patient.link.typerequiredLinkType
http://hl7.org/fhir/ValueSet/link-type|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cprerrorPatient.identifier:cpr.valueRequirement 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.
: 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})$')
Requirement of danish civil registration numbers
dom-2errorPatientIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPatientIf 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-4errorPatientIf 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-5errorPatientIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePatientA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
marital-status-unknown-usagewarningPatientStatus in maritalStatus is unknown in a danish context. Consider mapping the value to UNK. 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

 

Other representations of profile: CSV, Excel, Schematron