Danish MedCom Core
2.0.0 - Release Denmark flag

This page is part of the DK MedCom Core (v2.0.0: Release) based on FHIR (HL7® FHIR® Standard) R4. The current version which supersedes this version is 2.1.0. For a full list of available versions, see the Directory of published versions

Resource Profile: MedComCorePatient

Official URL: http://medcomfhir.dk/ig/core/StructureDefinition/medcom-core-patient Version: 2.0.0
Active as of 2024-02-15 Computable Name: MedComCorePatient

Patient/citizen resource to use as subject in MedCom communication.

Scope and usage

MedComCorePatient profile describes information about a patient or citizen in a MedCom standard. The MedComCorePatient is inherited from the DkCorePatient profile defined by HL7 Denmark. An identifier and the patients official family name (‘efternavn’ in Danish) shall both be present, when exchanging patient related information.

Please refer to the tab “Snapshot Table(Must support)” below for the definition of the required content of a MedComCorePatient.

Patient identifiers

A MedComCorePatient shall include an identifier, containing a value which is the actual id and a system which is used to identify a set of unique values.

When a patient has an official civil person register (CPR)-number this shall be used. To represent a CPR-number, the identifier DkCoreCprIdentifier shall be used. In the identifier the system is used to describes that value is an official CPR-number, as described on cpr.dk.

Only in cases where the patient does not have an official CPR-number, a replacement person identifier (Danish: Erstatningspersonnummer) (eCPR)-number shall be used. To represent an eCPR-number the identifier MedComCoreECprIdentifier shall be used. The identifier shall include a value of maximum 10 values and a system. Currently, it is possible to use the national eCPR register defined by the Danish health Data Authority as system. However, the list of possible systems for eCPR-numbers may be extended if there is consensus between stakeholder to add another system to the ValueSet.

Usage:

Formal Views of Profile Content

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

This structure is derived from DkCorePatient

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient DkCorePatient
... identifier S1..*IdentifierAn identifier for this patient
... identifier:cpr SΣ0..1DkCoreCprIdentifierUnique identification number for all citizens in Denmark, called civil person register (CPR-number).
... identifier:ecpr S0..1MedComCoreECprIdentifierReplacement person identifier (E-CPR). This identifier must only be used in cases where a person does not have an official CPR-number.
... name:official S1..1HumanNameA name associated with the patient
.... family S1..1stringFamily name (often called 'Surname')
.... given S0..*stringGiven names (not always 'first'). Includes middle names
... telecom S0..*MedComMessagingContactPointDetails of a Technology mediated contact point (phone, fax, email, etc.)
... deceased[x] S0..1boolean, dateTimeShall only be sent if the patient is deceased or the status change from deceased to non-deceased
... address S0..*AddressAn address for the individual
.... line S0..*stringStreet name, number, direction & P.O. Box etc.
.... city S0..1stringName of city, town etc.
.... postalCode S0..1stringPostal code for area
... managingOrganization 0..1Reference(MedComCoreOrganization) {b}Organization that is the custodian of the patient record

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient C0..*DkCorePatientInformation about an individual or animal receiving health care services
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier SΣ1..*IdentifierAn identifier for this patient
Slice: Unordered, Open by value:system
.... identifier:cpr SΣ0..1DkCoreCprIdentifierUnique identification number for all citizens in Denmark, called civil person register (CPR-number).
.... identifier:ecpr SΣ0..1MedComCoreECprIdentifierReplacement person identifier (E-CPR). This identifier must only be used in cases where a person does not have an official CPR-number.
... Slices for name SΣ1..*HumanNameA name associated with the patient
Slice: Unordered, Open by value:use
.... name:official SΣ1..1HumanNameA name associated with the patient
..... use ?!Σ1..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.


Fixed Value: official
..... family SΣ1..1stringFamily name (often called 'Surname')
..... given SΣ0..*stringGiven names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
... telecom SC0..*MedComMessagingContactPointDetails of a Technology mediated contact point (phone, fax, email, etc.)
... deceased[x] ?!SΣ0..1Shall only be sent if the patient is deceased or the status change from deceased to non-deceased
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... address SΣ0..*AddressAn address for the individual
.... municipalityCode 0..1CodeableConceptDanish Core Municipality codes
URL: http://hl7.dk/fhir/core/StructureDefinition/dk-core-municipalityCodes
.... regionalSubDivisionCodes 0..1CodeableConceptDanish Core Regional Sub Division Codes Extension
URL: http://hl7.dk/fhir/core/StructureDefinition/dk-core-RegionalSubDivisionCodes
.... use ?!Σ0..1codehome | work | temp | old | billing - purpose of this address
Binding: AddressUse (required): The use of an address.


Example General: home
.... line SΣ0..*stringStreet 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
.... city SΣ0..1stringName of city, town etc.
Example General: Erewhon
.... postalCode SΣ0..1stringPostal code for area
Example General: 9132
... Slices for generalPractitioner 0..*Reference(Organization | Practitioner | PractitionerRole)Patient's nominated primary care provider
Slice: Unordered, Open by value:identifier.system
.... generalPractitioner:referencedSORUnit 0..*Reference(Organization | Practitioner | PractitionerRole)Patient's nominated primary care provider
... managingOrganization Σ0..1Reference(MedComCoreOrganization) {b}Organization that is the custodian of the patient record
... link ?!Σ0..*BackboneElementLink to another patient resource that concerns the same actual person
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... other Σ1..1Reference(Patient | RelatedPerson)The other patient or related person resource that the link refers to
.... type Σ1..1codereplaced-by | replaces | refer | seealso
Binding: LinkType (required): The type of link between this patient resource and another patient resource.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Patient.name:official.userequiredFixed Value: official
http://hl7.org/fhir/ValueSet/name-use|4.0.1
from the FHIR Standard
Patient.address.userequiredAddressUse
http://hl7.org/fhir/ValueSet/address-use|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
cpt-2errorPatient.telecomA system is required if a value is provided.
: value.empty() or system.exists()
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
: 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
NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient C0..*DkCorePatientInformation about an individual or animal receiving health care services
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier SΣ1..*IdentifierAn identifier for this patient
Slice: Unordered, Open by value:system
.... identifier:cpr SΣ0..1DkCoreCprIdentifierUnique identification number for all citizens in Denmark, called civil person register (CPR-number).
.... identifier:ecpr SΣ0..1MedComCoreECprIdentifierReplacement person identifier (E-CPR). This identifier must only be used in cases where a person does not have an official CPR-number.
... active ?!Σ0..1booleanWhether this patient's record is in active use
... Slices for name SΣ1..*HumanNameA name associated with the patient
Slice: Unordered, Open by value:use
.... name:official SΣ1..1HumanNameA name associated with the patient
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ1..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.


Fixed Value: official
..... text Σ0..1stringText representation of the full name
..... family SΣ1..1stringFamily name (often called 'Surname')
..... given SΣ0..*stringGiven names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
..... prefix Σ0..*stringParts that come before the name
This repeating element order: Prefixes appear in the correct order for presenting the name
..... suffix Σ0..*stringParts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
..... period Σ0..1PeriodTime period when name was/is in use
... telecom SC0..*MedComMessagingContactPointDetails of a Technology mediated contact point (phone, fax, email, etc.)
... gender Σ0..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate Σ0..1dateThe date of birth for the individual
... deceased[x] ?!SΣ0..1Shall only be sent if the patient is deceased or the status change from deceased to non-deceased
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... address SΣ0..*AddressAn address for the individual
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... municipalityCode 0..1CodeableConceptDanish Core Municipality codes
URL: http://hl7.dk/fhir/core/StructureDefinition/dk-core-municipalityCodes
.... regionalSubDivisionCodes 0..1CodeableConceptDanish Core Regional Sub Division Codes Extension
URL: http://hl7.dk/fhir/core/StructureDefinition/dk-core-RegionalSubDivisionCodes
.... use ?!Σ0..1codehome | work | temp | old | billing - purpose of this address
Binding: AddressUse (required): The use of an address.


Example General: home
.... type Σ0..1codepostal | physical | both
Binding: AddressType (required): The type of an address (physical / postal).


Example General: both
.... text Σ0..1stringText representation of the address
Example General: 137 Nowhere Street, Erewhon 9132
.... line SΣ0..*stringStreet 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
.... city SΣ0..1stringName of city, town etc.
Example General: Erewhon
.... district Σ0..1stringDistrict name (aka county)
Example General: Madison
.... state Σ0..1stringSub-unit of country (abbreviations ok)
.... postalCode SΣ0..1stringPostal code for area
Example General: 9132
.... country Σ0..1stringCountry (e.g. can be ISO 3166 2 or 3 letter code)
.... period Σ0..1PeriodTime period when address was/is in use
Example General: {"start":"2010-03-23","end":"2010-07-01"}
... maritalStatus 0..1CodeableConceptMarital (civil) status of a patient
Binding: DK MaritalStatus (extensible)
... multipleBirth[x] 0..1Whether patient is part of a multiple birth
.... multipleBirthBooleanboolean
.... multipleBirthIntegerinteger
... photo 0..*AttachmentImage of the patient
... contact C0..*BackboneElementA contact party (e.g. guardian, partner, friend) for the patient
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... relationship 0..*CodeableConceptThe kind of relationship
Binding: PatientContactRelationship (extensible): The nature of the relationship between a patient and a contact person for that patient.


.... name 0..1HumanNameA name associated with the contact person
.... telecom 0..*ContactPointA contact detail for the person
.... address 0..1AddressAddress for the contact person
.... gender 0..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

.... organization C0..1Reference(Organization)Organization that is associated with the contact
.... period 0..1PeriodThe period during which this contact person or organization is valid to be contacted relating to this patient
... communication 0..*BackboneElementA language which may be used to communicate with the patient about his or her health
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... language 1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
.... preferred 0..1booleanLanguage preference indicator
... Slices for generalPractitioner 0..*Reference(Organization | Practitioner | PractitionerRole)Patient's nominated primary care provider
Slice: Unordered, Open by value:identifier.system
.... generalPractitioner:referencedSORUnit 0..*Reference(Organization | Practitioner | PractitionerRole)Patient's nominated primary care provider
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... reference ΣC0..1stringLiteral reference, Relative, internal or absolute URL
..... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

..... identifier 0..1SORIdentifierAn identifier intended for computation
..... display Σ0..1stringText alternative for the resource
... managingOrganization Σ0..1Reference(MedComCoreOrganization) {b}Organization that is the custodian of the patient record
... link ?!Σ0..*BackboneElementLink to another patient resource that concerns the same actual person
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... other Σ1..1Reference(Patient | RelatedPerson)The other patient or related person resource that the link refers to
.... type Σ1..1codereplaced-by | replaces | refer | seealso
Binding: LinkType (required): The type of link between this patient resource and another patient resource.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Patient.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
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.address.userequiredAddressUse
http://hl7.org/fhir/ValueSet/address-use|4.0.1
from the FHIR Standard
Patient.address.typerequiredAddressType
http://hl7.org/fhir/ValueSet/address-type|4.0.1
from the FHIR Standard
Patient.maritalStatusextensibleDK Marital Status Codes
http://hl7.dk/fhir/core/ValueSet/dk-marital-status
Patient.contact.relationshipextensiblePatientContactRelationship
http://hl7.org/fhir/ValueSet/patient-contactrelationship
from the FHIR Standard
Patient.contact.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard
Patient.communication.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Patient.generalPractitioner:referencedSORUnit.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
Patient.link.typerequiredLinkType
http://hl7.org/fhir/ValueSet/link-type|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cpt-2errorPatient.telecomA system is required if a value is provided.
: value.empty() or system.exists()
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
: 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-1errorPatient.contactSHALL at least contain a contact's details or a reference to an organization
: name.exists() or telecom.exists() or address.exists() or organization.exists()

Differential View

This structure is derived from DkCorePatient

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient DkCorePatient
... identifier S1..*IdentifierAn identifier for this patient
... identifier:cpr SΣ0..1DkCoreCprIdentifierUnique identification number for all citizens in Denmark, called civil person register (CPR-number).
... identifier:ecpr S0..1MedComCoreECprIdentifierReplacement person identifier (E-CPR). This identifier must only be used in cases where a person does not have an official CPR-number.
... name:official S1..1HumanNameA name associated with the patient
.... family S1..1stringFamily name (often called 'Surname')
.... given S0..*stringGiven names (not always 'first'). Includes middle names
... telecom S0..*MedComMessagingContactPointDetails of a Technology mediated contact point (phone, fax, email, etc.)
... deceased[x] S0..1boolean, dateTimeShall only be sent if the patient is deceased or the status change from deceased to non-deceased
... address S0..*AddressAn address for the individual
.... line S0..*stringStreet name, number, direction & P.O. Box etc.
.... city S0..1stringName of city, town etc.
.... postalCode S0..1stringPostal code for area
... managingOrganization 0..1Reference(MedComCoreOrganization) {b}Organization that is the custodian of the patient record

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient C0..*DkCorePatientInformation about an individual or animal receiving health care services
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier SΣ1..*IdentifierAn identifier for this patient
Slice: Unordered, Open by value:system
.... identifier:cpr SΣ0..1DkCoreCprIdentifierUnique identification number for all citizens in Denmark, called civil person register (CPR-number).
.... identifier:ecpr SΣ0..1MedComCoreECprIdentifierReplacement person identifier (E-CPR). This identifier must only be used in cases where a person does not have an official CPR-number.
... Slices for name SΣ1..*HumanNameA name associated with the patient
Slice: Unordered, Open by value:use
.... name:official SΣ1..1HumanNameA name associated with the patient
..... use ?!Σ1..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.


Fixed Value: official
..... family SΣ1..1stringFamily name (often called 'Surname')
..... given SΣ0..*stringGiven names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
... telecom SC0..*MedComMessagingContactPointDetails of a Technology mediated contact point (phone, fax, email, etc.)
... deceased[x] ?!SΣ0..1Shall only be sent if the patient is deceased or the status change from deceased to non-deceased
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... address SΣ0..*AddressAn address for the individual
.... municipalityCode 0..1CodeableConceptDanish Core Municipality codes
URL: http://hl7.dk/fhir/core/StructureDefinition/dk-core-municipalityCodes
.... regionalSubDivisionCodes 0..1CodeableConceptDanish Core Regional Sub Division Codes Extension
URL: http://hl7.dk/fhir/core/StructureDefinition/dk-core-RegionalSubDivisionCodes
.... use ?!Σ0..1codehome | work | temp | old | billing - purpose of this address
Binding: AddressUse (required): The use of an address.


Example General: home
.... line SΣ0..*stringStreet 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
.... city SΣ0..1stringName of city, town etc.
Example General: Erewhon
.... postalCode SΣ0..1stringPostal code for area
Example General: 9132
... Slices for generalPractitioner 0..*Reference(Organization | Practitioner | PractitionerRole)Patient's nominated primary care provider
Slice: Unordered, Open by value:identifier.system
.... generalPractitioner:referencedSORUnit 0..*Reference(Organization | Practitioner | PractitionerRole)Patient's nominated primary care provider
... managingOrganization Σ0..1Reference(MedComCoreOrganization) {b}Organization that is the custodian of the patient record
... link ?!Σ0..*BackboneElementLink to another patient resource that concerns the same actual person
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... other Σ1..1Reference(Patient | RelatedPerson)The other patient or related person resource that the link refers to
.... type Σ1..1codereplaced-by | replaces | refer | seealso
Binding: LinkType (required): The type of link between this patient resource and another patient resource.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Patient.name:official.userequiredFixed Value: official
http://hl7.org/fhir/ValueSet/name-use|4.0.1
from the FHIR Standard
Patient.address.userequiredAddressUse
http://hl7.org/fhir/ValueSet/address-use|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
cpt-2errorPatient.telecomA system is required if a value is provided.
: value.empty() or system.exists()
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
: 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

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient C0..*DkCorePatientInformation about an individual or animal receiving health care services
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... Slices for identifier SΣ1..*IdentifierAn identifier for this patient
Slice: Unordered, Open by value:system
.... identifier:cpr SΣ0..1DkCoreCprIdentifierUnique identification number for all citizens in Denmark, called civil person register (CPR-number).
.... identifier:ecpr SΣ0..1MedComCoreECprIdentifierReplacement person identifier (E-CPR). This identifier must only be used in cases where a person does not have an official CPR-number.
... active ?!Σ0..1booleanWhether this patient's record is in active use
... Slices for name SΣ1..*HumanNameA name associated with the patient
Slice: Unordered, Open by value:use
.... name:official SΣ1..1HumanNameA name associated with the patient
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ1..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.


Fixed Value: official
..... text Σ0..1stringText representation of the full name
..... family SΣ1..1stringFamily name (often called 'Surname')
..... given SΣ0..*stringGiven names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
..... prefix Σ0..*stringParts that come before the name
This repeating element order: Prefixes appear in the correct order for presenting the name
..... suffix Σ0..*stringParts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
..... period Σ0..1PeriodTime period when name was/is in use
... telecom SC0..*MedComMessagingContactPointDetails of a Technology mediated contact point (phone, fax, email, etc.)
... gender Σ0..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate Σ0..1dateThe date of birth for the individual
... deceased[x] ?!SΣ0..1Shall only be sent if the patient is deceased or the status change from deceased to non-deceased
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... address SΣ0..*AddressAn address for the individual
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... municipalityCode 0..1CodeableConceptDanish Core Municipality codes
URL: http://hl7.dk/fhir/core/StructureDefinition/dk-core-municipalityCodes
.... regionalSubDivisionCodes 0..1CodeableConceptDanish Core Regional Sub Division Codes Extension
URL: http://hl7.dk/fhir/core/StructureDefinition/dk-core-RegionalSubDivisionCodes
.... use ?!Σ0..1codehome | work | temp | old | billing - purpose of this address
Binding: AddressUse (required): The use of an address.


Example General: home
.... type Σ0..1codepostal | physical | both
Binding: AddressType (required): The type of an address (physical / postal).


Example General: both
.... text Σ0..1stringText representation of the address
Example General: 137 Nowhere Street, Erewhon 9132
.... line SΣ0..*stringStreet 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
.... city SΣ0..1stringName of city, town etc.
Example General: Erewhon
.... district Σ0..1stringDistrict name (aka county)
Example General: Madison
.... state Σ0..1stringSub-unit of country (abbreviations ok)
.... postalCode SΣ0..1stringPostal code for area
Example General: 9132
.... country Σ0..1stringCountry (e.g. can be ISO 3166 2 or 3 letter code)
.... period Σ0..1PeriodTime period when address was/is in use
Example General: {"start":"2010-03-23","end":"2010-07-01"}
... maritalStatus 0..1CodeableConceptMarital (civil) status of a patient
Binding: DK MaritalStatus (extensible)
... multipleBirth[x] 0..1Whether patient is part of a multiple birth
.... multipleBirthBooleanboolean
.... multipleBirthIntegerinteger
... photo 0..*AttachmentImage of the patient
... contact C0..*BackboneElementA contact party (e.g. guardian, partner, friend) for the patient
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... relationship 0..*CodeableConceptThe kind of relationship
Binding: PatientContactRelationship (extensible): The nature of the relationship between a patient and a contact person for that patient.


.... name 0..1HumanNameA name associated with the contact person
.... telecom 0..*ContactPointA contact detail for the person
.... address 0..1AddressAddress for the contact person
.... gender 0..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

.... organization C0..1Reference(Organization)Organization that is associated with the contact
.... period 0..1PeriodThe period during which this contact person or organization is valid to be contacted relating to this patient
... communication 0..*BackboneElementA language which may be used to communicate with the patient about his or her health
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... language 1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
.... preferred 0..1booleanLanguage preference indicator
... Slices for generalPractitioner 0..*Reference(Organization | Practitioner | PractitionerRole)Patient's nominated primary care provider
Slice: Unordered, Open by value:identifier.system
.... generalPractitioner:referencedSORUnit 0..*Reference(Organization | Practitioner | PractitionerRole)Patient's nominated primary care provider
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... reference ΣC0..1stringLiteral reference, Relative, internal or absolute URL
..... type Σ0..1uriType the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

..... identifier 0..1SORIdentifierAn identifier intended for computation
..... display Σ0..1stringText alternative for the resource
... managingOrganization Σ0..1Reference(MedComCoreOrganization) {b}Organization that is the custodian of the patient record
... link ?!Σ0..*BackboneElementLink to another patient resource that concerns the same actual person
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... other Σ1..1Reference(Patient | RelatedPerson)The other patient or related person resource that the link refers to
.... type Σ1..1codereplaced-by | replaces | refer | seealso
Binding: LinkType (required): The type of link between this patient resource and another patient resource.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Patient.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
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.address.userequiredAddressUse
http://hl7.org/fhir/ValueSet/address-use|4.0.1
from the FHIR Standard
Patient.address.typerequiredAddressType
http://hl7.org/fhir/ValueSet/address-type|4.0.1
from the FHIR Standard
Patient.maritalStatusextensibleDK Marital Status Codes
http://hl7.dk/fhir/core/ValueSet/dk-marital-status
Patient.contact.relationshipextensiblePatientContactRelationship
http://hl7.org/fhir/ValueSet/patient-contactrelationship
from the FHIR Standard
Patient.contact.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1
from the FHIR Standard
Patient.communication.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Patient.generalPractitioner:referencedSORUnit.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
Patient.link.typerequiredLinkType
http://hl7.org/fhir/ValueSet/link-type|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cpt-2errorPatient.telecomA system is required if a value is provided.
: value.empty() or system.exists()
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
: 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-1errorPatient.contactSHALL at least contain a contact's details or a reference to an organization
: name.exists() or telecom.exists() or address.exists() or organization.exists()

 

Other representations of profile: CSV, Excel, Schematron