Skip to content

Nexus EMR Item Consent Profile Core Profile

Canonical../StructureDefinition/nexus-emr-core-item-consent
Statusdraft · 1.26.0
BaseConsent (constraint)
SourceFSH · JSON

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.

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