Skip to content

Patient Profile

Canonical../StructureDefinition/nexus-emr-core-patient
Statusdraft · 1.26.0
BasePatient (constraint)
SourceFSH · JSON

Generic Nexus EMR core profile for patient demographic and administrative information, based on CA Core+. Designed to support a broad range of integration needs.

Invariants

Every rule in force on a conforming instance. This profile rows are stated here; inherited rows come from the base resource and are listed so that a constraint named on an element is findable. Invariant keys elsewhere on this page link into this table.

Key Source Severity On Rule
patient-address-country-alpha2 this profile warning Patient.address Address.country SHOULD be an ISO 3166-1 alpha-2 code ('CA'), not alpha-3 ('CAN') and not a country name ('Canada'). Alpha-3 is an edge/submission form only and must not be stored.
country.empty() or country.matches('^[A-Za-z]{2}$')
patient-indian-registration-number-format this profile warning Patient An Indian registration number identifier's value, when carried, SHOULD be 9 or 10 digits.
identifier.where(system = 'https://fhir.infoway-inforoute.ca/NamingSystem/ca-indigenous-northern-affairs-number').all(value.empty() or value.matches('^[0-9]{9,10}$'))
patient-indigenous-identity-absence-exclusive this profile warning Patient If a not-answered value (Asked But Declined / Do not know/ Not applicable) is recorded, it SHOULD be the only instance of the extension.
extension.where(url = 'http://fhir.infoway-inforoute.ca/ca-ext/StructureDefinition/patient-indigenousIdentity').value.ofType(CodeableConcept).coding.where(system = 'http://terminology.hl7.org/CodeSystem/v3-NullFlavor' or system = 'http://terminology.hl7.org/CodeSystem/data-absent-reason').exists() implies extension.where(url = 'http://fhir.infoway-inforoute.ca/ca-ext/StructureDefinition/patient-indigenousIdentity').count() = 1
patient-indigenous-identity-instances-clean this profile warning Patient Each instance SHOULD carry exactly one coding, and no two instances SHOULD repeat the same system
patient-name-family-or-given this profile warning Patient Patient.name: at least one name SHALL carry a family name, a given name, or text -- or a data-absent-reason extension (CA Baseline ipa-pat-2). Ontario's stricter 'family required' is applied as an edge transform on submission, not in the core profile.
name.where(family.exists() or given.exists() or text.exists()).exists() or name.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/data-absent-reason').exists()
patient-racialized-group-absence-exclusive this profile warning Patient If a not-answered value (Asked But Declined / Do not know / Another race category) is recorded, it SHOULD be the only instance of the extension.
extension.where(url = 'http://fhir.infoway-inforoute.ca/ca-ext/StructureDefinition/patient-racializedGroup').value.ofType(CodeableConcept).coding.where(system = 'http://terminology.hl7.org/CodeSystem/v3-NullFlavor' or system = 'http://terminology.hl7.org/CodeSystem/data-absent-reason').exists() implies extension.where(url = 'http://fhir.infoway-inforoute.ca/ca-ext/StructureDefinition/patient-racializedGroup').count() = 1
patient-racialized-group-instances-clean this profile warning Patient Each instance SHOULD carry exactly one coding, and no two instances SHOULD repeat the same system
dom-2 inherited error Patient If the resource is contained in another resource, it SHALL NOT contain nested Resources
contained.contained.empty()
dom-3 inherited 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
dom-4 inherited 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 inherited error Patient If a resource is contained in another resource, it SHALL NOT have a security label
contained.meta.security.empty()
dom-6 inherited warning Patient A resource should have narrative for robust management
text.div.exists()
ele-1 inherited error Patient.meta All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
ext-1 inherited error Patient.meta.extension Must have either extensions or value[x], not both
extension.exists() != value.exists()
pat-1 inherited 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()