eHealth Platform Federal Core Profiles
2.0.0 - Released

This page is part of the HL7 Belgium FHIR Implementation Guide - Core profiles (v2.0.0: Trial Use Draft) based on FHIR R4. The current version which supercedes this version is 2.0.1. For a full list of available versions, see the Directory of published versions

Resource Profile: Patient core BE profile

Official URL: https://www.ehealth.fgov.be/standards/fhir/core/StructureDefinition/be-patient Version: 2.0.0
Active as of 2022-03-24 Responsible: eHealth Platform Realm: BE Computable Name: BePatient

Belgian federal profile for a patient. Initially based on the functional description of the NIHDI. Special remarks for KMEHR users: following elements in KMEHR are not available in this FHIR resource. If needed, an extension can be defined in a future iteration of these specifications: the ‘deathlocation’ (location is not available but the death of the patient is expressed by either date or Boolean cfr. infra.), the ‘insurancystatus’ (covered in a seperate FHIR resource: Coverage), ‘insurancymembership’ (covered in a seperate FHIR resource: Coverage) and ‘profession’ (covered in a possible future FHIR resource: OccupationalData.)

Formal Views of Profile Content

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

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet
Patient.languagepreferredCommonLanguages
Max Binding: AllLanguages
Patient.identifier:SSIN.userequiredIdentifierUse
Patient.identifier:SSIN.typeextensibleIdentifier Type Codes
Patient.genderrequiredAdministrativeGender
Patient.maritalStatusrequiredBeCivilstate
Patient.contact.relationshipextensibleBeContactPerson
Patient.contact.genderrequiredAdministrativeGender
Patient.communication.languagepreferredCommonLanguages
Max Binding: AllLanguages
Patient.link.typerequiredLinkType

Constraints

IdGradePathDetailsRequirements
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-1errorPatient.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.extension:nationalityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.extension:nationalityMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.extension:birthPlaceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.extension:birthPlaceMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.identifier:SSINAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.identifier:SSIN.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.identifier:SSIN.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.identifier:SSIN.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.identifier:SSIN.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.identifier:SSIN.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.identifier:SSIN.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.identifier:SSIN.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.identifier:SSIN.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.activeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.telecomAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.genderAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.birthDateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.birthDate.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.birthDate.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.birthDate.extension:birthTimeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.birthDate.extension:birthTimeMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.deceased[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.addressAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.maritalStatusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.multipleBirth[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.photoAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.contactAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
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()
ele-1errorPatient.contact.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.contact.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.contact.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.contact.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.contact.relationshipAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.contact.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.contact.telecomAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.contact.addressAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.contact.genderAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.contact.organizationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.contact.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.communicationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.communication.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.communication.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.communication.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.communication.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.communication.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.communication.preferredAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.generalPractitionerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.managingOrganizationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.linkAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.link.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.link.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.link.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorPatient.link.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorPatient.link.otherAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorPatient.link.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())