eHealth Infrastructure (v2020.1)

StructureDefinition: ehealth-skrs-patient

Formal Views of Profile Content

The official URL for this profile is:

http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-skrs-patient

This profile builds on Patient.

This profile was published on Tue Feb 04 09:11:17 UTC 2020 as a draft by null.

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

This structure is derived from Patient

Summary

Mandatory: 0 element (2 nested mandatory elements)
Fixed Value: 2 elements
Prohibited: 1 element

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

  • Unable to summarise extension http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-nameandaddressprotection (no extension found)

Slices

This structure defines the following Slices:

  • The element Patient.identifier is sliced based on the value of value:system
  • The element Patient.address is sliced based on the value of value:use (Closed)
  • The element Patient.address.extension.valueCodeableConcept.coding is sliced based on the value of value:system

 

Terminology Bindings

PathConformanceValueSet / Code
Patient.languageextensibleCommon Languages
Max Binding: All Languages
Patient.genderrequiredAdministrativeGender
Patient.address:officialHomeAddress.userequiredFixed Value: home
Patient.address:officialHomeAddress.typerequiredAddressType
Patient.maritalStatusextensibleMarital Status Codes
Patient.contact.relationshipextensiblev2 Contact Role
Patient.contact.genderrequiredAdministrativeGender
Patient.animal.speciesexampleAnimalSpecies
Patient.animal.breedexampleAnimalBreeds
Patient.animal.genderStatusexampleGenderStatus
Patient.communication.languageextensibleCommon Languages
Max Binding: All Languages
Patient.link.typerequiredLinkType

Constraints

IdPathDetailsRequirements
dom-2PatientIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-1PatientIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.empty()
dom-4PatientIf 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-3PatientIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
: contained.where(('#'+id in %resource.descendants().reference).not()).empty()
ele-1Patient.idAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.extension:nameAndAddressProtectionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.extension:nameAndAddressProtectionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.identifier:dk-civil-registration-numberAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.activeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.telecomAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
cpt-2Patient.telecomA system is required if a value is provided.
: value.empty() or system.exists()
ele-1Patient.genderAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.birthDateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.deceased[x]:deceasedDateTimeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.addressAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address:officialHomeAddressAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address:officialHomeAddress.idAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address:officialHomeAddress.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.address:officialHomeAddress.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.address:officialHomeAddress.extension:municipalityCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.address:officialHomeAddress.extension:municipalityCodeMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.address:officialHomeAddress.extension:regionalSubdivisionCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.address:officialHomeAddress.extension:regionalSubdivisionCodeMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.address:officialHomeAddress.extension:regionalSubdivisionCode.idAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address:officialHomeAddress.extension:regionalSubdivisionCode.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.address:officialHomeAddress.extension:regionalSubdivisionCode.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.address:officialHomeAddress.extension:regionalSubdivisionCode.urlAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address:officialHomeAddress.extension:regionalSubdivisionCode.value[x]:valueCodeableConceptAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address:officialHomeAddress.extension:regionalSubdivisionCode.value[x]:valueCodeableConcept.idAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address:officialHomeAddress.extension:regionalSubdivisionCode.value[x]:valueCodeableConcept.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.address:officialHomeAddress.extension:regionalSubdivisionCode.value[x]:valueCodeableConcept.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.address:officialHomeAddress.extension:regionalSubdivisionCode.valueCodeableConcept:valueCodeableConcept.codingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address:officialHomeAddress.extension:regionalSubdivisionCode.value[x]:valueCodeableConcept.coding:regionalCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address:officialHomeAddress.extension:regionalSubdivisionCode.value[x]:valueCodeableConcept.coding:regionalCode.idAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address:officialHomeAddress.extension:regionalSubdivisionCode.value[x]:valueCodeableConcept.coding:regionalCode.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.address:officialHomeAddress.extension:regionalSubdivisionCode.value[x]:valueCodeableConcept.coding:regionalCode.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.address:officialHomeAddress.extension:regionalSubdivisionCode.value[x]:valueCodeableConcept.coding:regionalCode.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address:officialHomeAddress.extension:regionalSubdivisionCode.value[x]:valueCodeableConcept.coding:regionalCode.versionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address:officialHomeAddress.extension:regionalSubdivisionCode.value[x]:valueCodeableConcept.coding:regionalCode.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address:officialHomeAddress.extension:regionalSubdivisionCode.value[x]:valueCodeableConcept.coding:regionalCode.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address:officialHomeAddress.extension:regionalSubdivisionCode.value[x]:valueCodeableConcept.coding:regionalCode.userSelectedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address:officialHomeAddress.extension:regionalSubdivisionCode.value[x]:valueCodeableConcept.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address:officialHomeAddress.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address:officialHomeAddress.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address:officialHomeAddress.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address:officialHomeAddress.lineAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address:officialHomeAddress.cityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address:officialHomeAddress.postalCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address:officialHomeAddress.countryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.address:officialHomeAddress.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
per-1Patient.address:officialHomeAddress.periodIf present, start SHALL have a lower value than end
: start.empty() or end.empty() or (start <= end)
ele-1Patient.maritalStatusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.multipleBirth[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.photoAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
att-1Patient.photoIt the Attachment has data, it SHALL have a contentType
: data.empty() or contentType.exists()
ele-1Patient.contactAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
pat-1Patient.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()
ele-1Patient.contact.idAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.contact.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.contact.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.contact.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.contact.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.contact.relationshipAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.contact.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.contact.telecomAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
cpt-2Patient.contact.telecomA system is required if a value is provided.
: value.empty() or system.exists()
ele-1Patient.contact.addressAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.contact.genderAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.contact.organizationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ref-1Patient.contact.organizationSHALL have a contained resource if a local reference is provided
: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
ele-1Patient.contact.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
per-1Patient.contact.periodIf present, start SHALL have a lower value than end
: start.empty() or end.empty() or (start <= end)
ele-1Patient.animal.idAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.animal.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.animal.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.animal.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.animal.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.animal.speciesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.animal.breedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.animal.genderStatusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.communicationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.communication.idAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.communication.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.communication.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.communication.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.communication.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.communication.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.communication.preferredAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.generalPractitionerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ref-1Patient.generalPractitionerSHALL have a contained resource if a local reference is provided
: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
ele-1Patient.managingOrganizationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ref-1Patient.managingOrganizationSHALL have a contained resource if a local reference is provided
: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
ele-1Patient.linkAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.link.idAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.link.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.link.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.link.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.link.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.link.otherAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ref-1Patient.link.otherSHALL have a contained resource if a local reference is provided
: reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids'))
ele-1Patient.link.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
.