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() |