Patient-level consent for one catalogue item — whether the clinic may email the patient, text
the patient, or use an AI scribe during their visit. Recorded manually by clinic staff from
what the patient tells them, not captured through a patient-facing flow.
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
item-consent-performer-is-attributable
this profile
warning
Consent
SHOULD name who made the decision and carry their display text, since the decision-maker is shown to staff from performer.display (recommended, not enforced) performer.exists() and performer.display.exists()
item-consent-status-is-defined
this profile
warning
Consent
SHOULD carry one of the two status codes this profile gives meaning: active (the record is operative) or entered-in-error (retracted). The DECISION is provision.type, not status — recommended, not enforced status = 'active' or status = 'entered-in-error'
dom-2
inherited
error
Consent
If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3
inherited
error
Consent
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
Consent
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
Consent
If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6
inherited
warning
Consent
A resource should have narrative for robust management text.div.exists()
ele-1
inherited
error
Consent.meta
All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1
inherited
error
Consent.meta.extension
Must have either extensions or value[x], not both extension.exists() != value.exists()
ppc-1
inherited
error
Consent
Either a Policy or PolicyRule policy.exists() or policyRule.exists()
ppc-2
inherited
error
Consent
IF Scope=privacy, there must be a patient patient.exists() or scope.coding.where(system='something' and code='patient-privacy').exists().not()
ppc-3
inherited
error
Consent
IF Scope=research, there must be a patient patient.exists() or scope.coding.where(system='something' and code='research').exists().not()
ppc-4
inherited
error
Consent
IF Scope=adr, there must be a patient patient.exists() or scope.coding.where(system='something' and code='adr').exists().not()
ppc-5
inherited
error
Consent
IF Scope=treatment, there must be a patient patient.exists() or scope.coding.where(system='something' and code='treatment').exists().not()