Consent Status Reason Extension¶
| Canonical | ../StructureDefinition/nexus-consent-status-reason |
|---|---|
| Status | draft · 1.26.0 |
| Base | Extension (constraint) |
| Context | Consent (element) |
| Source | FSH · JSON |
Optional free-text reason recorded when a consent status changes, typically on revocation (Provided to Declined). Never required — a status change with no reason is normal.
FSH
The authored source of truth: extensions/ConsentStatusReasonExtension.fsh (edit on GitHub). One FSH file may define several related artifacts.
// ConsentStatusReasonExtension.fsh
// Free-text reason captured when a Consent status changes — typically the reason a patient
// gives when withdrawing a previously provided consent. Used by NexusEmrCoreItemConsent.
Extension: ConsentStatusReasonExtension
Id: nexus-consent-status-reason
Title: "Consent Status Reason Extension"
Description: "Optional free-text reason recorded when a consent status changes, typically on revocation (Provided to Declined). Never required — a status change with no reason is normal."
* ^url = "../StructureDefinition/nexus-consent-status-reason"
* ^status = #draft
* ^date = "2026-07-30"
* ^publisher = "WELLSTAR Technologies Corp."
* ^contact.name = "Nexus EMR FHIR Implementation Guide"
* ^contact.telecom.system = #url
* ^contact.telecom.value = ".."
* ^jurisdiction = urn:iso:std:iso:3166#CA "Canada"
* ^context[0].type = #element
* ^context[0].expression = "Consent"
* . ^short = "Why this consent status was recorded"
* . ^definition = """
Free text explaining why the consent reached its current status. Most often carries what the
patient said when withdrawing a consent they had previously provided (status `active` to
`rejected`), but it is equally valid on an initial decline or on any other status change.
The extension is always optional: staff record a reason when the patient offers one, and the
absence of a reason carries no meaning. Nothing in the model should require it, and consumers
must render a status change with no reason as a complete record.
The reason belongs to the status it was recorded with. Because the item consent is updated in
place, each stored version keeps the reason that applied to that version — reading a historical
version yields that version's reason, not the current one.
Free text only: the reason is what the patient said, in the words they said it. Deliberately
not coded, since a code set could not be enumerated without losing the detail that makes the
reason useful to the next person reading the chart.
"""
* extension 0..0
* url 1..1
* value[x] 1..1 MS
* value[x] only string
* valueString ^short = "Reason for the consent status, as recorded by staff"
* valueString ^definition = "The reason the patient gave, or the reason staff recorded, for this consent status. Not intended to be parsed."