This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions 
Responsible Owner: Health Care Devices Work Group | Draft | Security Category: Patient | Compartments: Device, Encounter, Group, Patient, Practitioner, RelatedPerson |
Describes a noteworthy condition or occurrence determined to exist by a device.
DeviceAlert represents a single alert condition detected and signaled by a device to create clinician's awareness of a patient safety risk that needs to be addressed.
The device is often a communicating, physical, patient-connected health/medical device operating in an acute care setting (e.g., patient monitor, ventilator, infusion pump, etc.). However, Software as a Medical Device (SaMD), non-patient connected devices, and other Health Software “apps,” as well as lower acuity care settings (e.g., a fall detector app running on a patient's mobile device at home) are in scope as well.
Alerts can relate to physiological (e.g., Patient Lucy has a low SpO2), technical (e.g., Infusion Pump #2 has a fluid line occlusion), or other conditions. Alerts can also have different priorities based on the hazard's severity and urgency of clinicians' action, ranging from High (e.g., a life-threatening condition requiring immediate response) to Advisory (e.g., information to create contextual awareness without requiring timely response).
DeviceAlert is intended for capturing device alert information for documentation and display purposes (e.g., to enable analytics towards alarm noise reduction opportunities). DeviceAlert is not intended for controlling alarms (e.g., remote pausing the audio of an alarm signal). Additionally, any actions that follow from the alert are not part of the resource.
Prompt, assured, and accurate notification of patient-safety–related conditions is a complex subject. Use of FHIR, in itself, is not sufficient to guarantee delivery of alerts. Critical alerting capabilities should be considered as part of complete systems engineering activity to achieve timely, reliable, alert notification.
The specifics of an alert are preferably described using medical device nomenclature from the Alerts and events partition of the ISO/IEEE 11073-10101 standard for Medical Device Communication Nomenclature. DeviceAlert is also aligned with the ISO/IEC 60601-1-8 medical device alarm systems standard. Internationally, medical device regulatory agencies require conformance to ISO/IEC 60601-1-8. Moreover, DeviceAlert is aligned with other standards and specifications such as the Gemini (IHE/HL7) SDPi-Alerting (SDPi-A) Profile, the IHE Alert Communication Management (ACM) profile, and other ISO/IEEE 11073 standards from the Service-Oriented Point-of-Care Medical Device Communication (SDC) standards family.
DeviceAlert models both the concept of alert condition detection as well as its related signaling. Both concepts are combined in one resource due to their high, complex state dynamics and strong interrelationship. For instance, the “Presence” state of an alert signal (e.g., monitor beeps or not) depends on the “Presence” state of the triggering condition, the “Activation” state of the triggering condition (e.g., detectable or not), and the “Activation” state of the signal itself. More information on this can be found in the Background and Context section below.
Some of the resources listed in the Boundaries and Relationships section, below, may be used complementarily. For example, in a home care setting, a patient fall condition detected by a phone app (DeviceAlert) may trigger a remote alert signal in the caregiving family member app (DeviceAlert), while, days later, the treating physician may receive a “patient fell 2–5 times in the last 3 months” message on her clinician app (Communication) or see such message flagged in the EMR (Flag).
The following scenarios provide examples of what this resource is utilized for:
This resource directly references:
The primary distinction between Flag and DeviceAlert lies in their origin and intent: Flag highlights selected information from the patient record for general awareness, while DeviceAlert originates from a device, based on device-generated data (often outside the patient record), and is designed for regulated, automated alerting that may trigger immediate clinical response through visual, audible or haptic signals. DeviceAlert also tracks alert condition and signal states, though for low-priority alerts, a Flag may be a suitable supplementary means of annunciating through the patient record.
DetectedIssue identifies clinical concerns linked to proposed or ongoing actions, while DeviceAlert is typically triggered by physiological or physical events, not clinical decisions. These resources differ not only in origin, but also in how they are processed and directed: Detected issue is part of clinical reasoning workflows, while DeviceAlert is often part of automated device monitoring systems.
In Communication, there is a specific intended sender and receiver, and the information is delivered only once. Device-generated alerts are not necessarily (or even usually) targeted at a specific intended receiver, and they are often continuous and ongoing.
Observation is intended for capturing measurements and subjective point-in-time assessments, and may be used to complement DeviceAlert, identifying any evidentiary data needed to interpret the alert condition (that is, the reason why the alert condition is present).
Subscription differs from from DeviceAlert in origin and behavior: Subscription reflects a client's request for filtered notifications from a FHIR server, while DeviceAlert represents unsolicited events triggered by devices based on physiological or physical conditions. Due to the vast number and variability of device alerts, consumer-controlled filtering (subscription) is typically impractical. Moreover, DeviceAlert supports documentation and logging use cases, while subscriptions have a run-time nature.
AuditEvent is primarily for administrative and operational tracking, while DeviceAlert serves clinical purposes, often prompting action. DeviceAlert captures multiple dynamic states across an alert's lifecycle, which would be inefficient and duplicative to model using separate AuditEvents, especially since AuditEvents are usually immutable and DeviceAlert often requires updates.
DeviceAlert models two alert aspects: the condition detected by a device, and the signal, representing how the alert is announced (and by which attention is drawn to the existence of the alert condition). Signal behavior is determined by device design and configuration and may persist beyond the condition itself due to features like latching (extending brief alerts for visibility).
The center row of the diagram shows the flow between the states of the device alert record taking into account both the alert condition and the signals being emitted by the device. The upper row shows the values of key attributes of the DeviceAlert resource instance and of the associated DeviceMetric or Device in the corresponding states. Note that the alert detection activation state of the associated DeviceMetric or Device is represented through a resource extension, more specifically through the `activationState` sub-extension of the Device Alert Detection
extension, which may be applied to either Device or DeviceMetric. The bottom row shows values of key attributes of the DeviceAlert resource instance in the corresponding states.
Structure
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
D | DomainResource | Documentation of an alert (a.k.a. alarm) generated by a device indicating a noteworthy condition Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
![]() ![]() |
Σ | 0..* | Identifier | Business identifier for this device alert |
![]() ![]() |
Σ | 0..* | Reference(Procedure) | Procedure during which the alert occurred |
![]() ![]() |
?!Σ | 1..1 | code | in-progress | completed | entered-in-error | unknown Binding: DeviceAlert Status Codes (Required) |
![]() ![]() |
Σ | 0..* | CodeableConcept | High level categorization of device alert Binding: DeviceAlert Category Codes (Example) |
![]() ![]() |
0..1 | CodeableConcept | physiological | technical Binding: DeviceAlert Type Codes (Extensible) | |
![]() ![]() |
Σ | 0..1 | CodeableConcept | high | medium | low | info Binding: DeviceAlert Priority Codes (Extensible) |
![]() ![]() |
Σ | 1..1 | CodeableConcept | The meaning of the alert Binding: DeviceAlert Condition Codes (Preferred) |
![]() ![]() |
Σ | 1..1 | Reference(Patient | Device | BiologicallyDerivedProduct | Group | Location | Medication | NutritionProduct | Specimen) | Who or what the alert is about |
![]() ![]() |
Σ | 0..1 | Reference(Encounter) | Encounter during which the alert condition occurred |
![]() ![]() |
Σ | 1..1 | boolean | Whether the alert condition is currently active |
![]() ![]() |
Σ | 0..1 | When the alert condition occurred/is occurring | |
![]() ![]() ![]() |
dateTime | |||
![]() ![]() ![]() |
Period | |||
![]() ![]() |
Σ | 0..1 | Reference(Device | DeviceMetric) | The Device (or DeviceMetric) that detected the alert condition |
![]() ![]() |
0..1 | boolean | Whether the alert condition has been acknowledged | |
![]() ![]() |
0..1 | Reference(Patient | Device | Practitioner | PractitionerRole | RelatedPerson) | Who acknowledged the alert condition | |
![]() ![]() |
Σ | 0..1 | Reference(Location) | Location of the subject when the alert was raised |
![]() ![]() |
0..* | BackboneElement | The value causing the alert condition | |
![]() ![]() ![]() |
Σ | 1..1 | Reference(Observation) | The Observation having a value causing the alert condition |
![]() ![]() ![]() |
0..1 | Coding | The Observation.component having a value causing the alert condition Binding: LOINC Codes (Example) | |
![]() ![]() ![]() |
0..1 | Range | The boundaries beyond which a value was detected to cause the alert condition | |
![]() ![]() |
0..1 | string | Text to be displayed for the alert condition | |
![]() ![]() |
0..* | BackboneElement | Annunciation or notification of the alert condition | |
![]() ![]() ![]() |
Σ | 1..1 | CodeableConcept | on | off | paused Binding: DeviceAlert Activation State Codes (Extensible) |
![]() ![]() ![]() |
0..1 | CodeableConcept | on | latched | off | ack Binding: DeviceAlert Presence Codes (Extensible) | |
![]() ![]() ![]() |
0..1 | CodeableReference(Device) | Where the signal is being annunciated Binding: DeviceAlert Annunciation Codes (Required) | |
![]() ![]() ![]() |
0..1 | CodeableConcept | How the signal is being annunciated Binding: DeviceAlert Manifestation Codes (Extensible) | |
![]() ![]() ![]() |
0..* | CodeableConcept | Characteristics of the signal manifestation Binding: DeviceAlert Signal Type Codes (Example) | |
![]() ![]() ![]() |
0..1 | Period | When the signal was being annunciated | |
Documentation for this format ![]() | ||||
See the Extensions for this resource
UML Diagram (Legend)
XML Template
<DeviceAlert xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Business identifier for this device alert --></identifier> <procedure><!-- 0..* Reference(Procedure) Procedure during which the alert occurred --></procedure> <status value="[code]"/><!-- 1..1 in-progress | completed | entered-in-error | unknown --> <category><!-- 0..* CodeableConcept High level categorization of device alert --></category> <type><!-- 0..1 CodeableConcept physiological | technical --></type> <priority><!-- 0..1 CodeableConcept high | medium | low | info --></priority> <code><!-- 1..1 CodeableConcept The meaning of the alert --></code> <subject><!-- 1..1 Reference(BiologicallyDerivedProduct|Device|Group|Location| Medication|NutritionProduct|Patient|Specimen) Who or what the alert is about --></subject> <encounter><!-- 0..1 Reference(Encounter) Encounter during which the alert condition occurred --></encounter> <presence value="[boolean]"/><!-- 1..1 Whether the alert condition is currently active --> <occurrence[x]><!-- 0..1 dateTime|Period When the alert condition occurred/is occurring --></occurrence[x]> <device><!-- 0..1 Reference(Device|DeviceMetric) The Device (or DeviceMetric) that detected the alert condition --></device> <acknowledged value="[boolean]"/><!-- 0..1 Whether the alert condition has been acknowledged --> <acknowledgedBy><!-- 0..1 Reference(Device|Patient|Practitioner|PractitionerRole| RelatedPerson) Who acknowledged the alert condition --></acknowledgedBy> <location><!-- 0..1 Reference(Location) Location of the subject when the alert was raised --></location> <derivedFrom> <!-- 0..* The value causing the alert condition --> <observation><!-- 1..1 Reference(Observation) The Observation having a value causing the alert condition --></observation> <component><!-- 0..1 Coding The Observation.component having a value causing the alert condition --></component> <limit><!-- 0..1 Range The boundaries beyond which a value was detected to cause the alert condition --></limit> </derivedFrom> <label value="[string]"/><!-- 0..1 Text to be displayed for the alert condition --> <signal> <!-- 0..* Annunciation or notification of the alert condition --> <activationState><!-- 1..1 CodeableConcept on | off | paused --></activationState> <presence><!-- 0..1 CodeableConcept on | latched | off | ack --></presence> <annunciator><!-- 0..1 CodeableReference(Device) Where the signal is being annunciated --></annunciator> <manifestation><!-- 0..1 CodeableConcept How the signal is being annunciated --></manifestation> <type><!-- 0..* CodeableConcept Characteristics of the signal manifestation --></type> <indication><!-- 0..1 Period When the signal was being annunciated --></indication> </signal> </DeviceAlert>
JSON Template
{
"resourceType" : "DeviceAlert",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"identifier" : [{ Identifier }], // Business identifier for this device alert
"procedure" : [{ Reference(Procedure) }], // Procedure during which the alert occurred
"status" : "<code>", // R! in-progress | completed | entered-in-error | unknown
"category" : [{ CodeableConcept }], // High level categorization of device alert
"type" : { CodeableConcept }, // physiological | technical
"priority" : { CodeableConcept }, // high | medium | low | info
"code" : { CodeableConcept }, // R! The meaning of the alert
"subject" : { Reference(BiologicallyDerivedProduct|Device|Group|Location|
Medication|NutritionProduct|Patient|Specimen) }, // R! Who or what the alert is about
"encounter" : { Reference(Encounter) }, // Encounter during which the alert condition occurred
"presence" : <boolean>, // R! Whether the alert condition is currently active
// occurrence[x]: When the alert condition occurred/is occurring. One of these 2:
"occurrenceDateTime" : "<dateTime>",
"occurrencePeriod" : { Period },
"device" : { Reference(Device|DeviceMetric) }, // The Device (or DeviceMetric) that detected the alert condition
"acknowledged" : <boolean>, // Whether the alert condition has been acknowledged
"acknowledgedBy" : { Reference(Device|Patient|Practitioner|PractitionerRole|
RelatedPerson) }, // Who acknowledged the alert condition
"location" : { Reference(Location) }, // Location of the subject when the alert was raised
"derivedFrom" : [{ // The value causing the alert condition
"observation" : { Reference(Observation) }, // R! The Observation having a value causing the alert condition
"component" : { Coding }, // The Observation.component having a value causing the alert condition
"limit" : { Range } // The boundaries beyond which a value was detected to cause the alert condition
}],
"label" : "<string>", // Text to be displayed for the alert condition
"signal" : [{ // Annunciation or notification of the alert condition
"activationState" : { CodeableConcept }, // R! on | off | paused
"presence" : { CodeableConcept }, // on | latched | off | ack
"annunciator" : { CodeableReference(Device) }, // Where the signal is being annunciated
"manifestation" : { CodeableConcept }, // How the signal is being annunciated
"type" : [{ CodeableConcept }], // Characteristics of the signal manifestation
"indication" : { Period } // When the signal was being annunciated
}]
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:DeviceAlert; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: fhir:id, fhir:meta, fhir:implicitRules, and fhir:language # from DomainResource: fhir:text, fhir:contained, fhir:extension, and fhir:modifierExtension fhir:identifier ( [ Identifier ] ... ) ; # 0..* Business identifier for this device alert fhir:procedure ( [ Reference(Procedure) ] ... ) ; # 0..* Procedure during which the alert occurred fhir:status [ code ] ; # 1..1 in-progress | completed | entered-in-error | unknown fhir:category ( [ CodeableConcept ] ... ) ; # 0..* High level categorization of device alert fhir:type [ CodeableConcept ] ; # 0..1 physiological | technical fhir:priority [ CodeableConcept ] ; # 0..1 high | medium | low | info fhir:code [ CodeableConcept ] ; # 1..1 The meaning of the alert fhir:subject [ Reference(BiologicallyDerivedProduct|Device|Group|Location|Medication|NutritionProduct| Patient|Specimen) ] ; # 1..1 Who or what the alert is about fhir:encounter [ Reference(Encounter) ] ; # 0..1 Encounter during which the alert condition occurred fhir:presence [ boolean ] ; # 1..1 Whether the alert condition is currently active # occurrence[x] : 0..1 When the alert condition occurred/is occurring. One of these 2 fhir:occurrence [ a fhir:DateTime ; dateTime ] fhir:occurrence [ a fhir:Period ; Period ] fhir:device [ Reference(Device|DeviceMetric) ] ; # 0..1 The Device (or DeviceMetric) that detected the alert condition fhir:acknowledged [ boolean ] ; # 0..1 Whether the alert condition has been acknowledged fhir:acknowledgedBy [ Reference(Device|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 Who acknowledged the alert condition fhir:location [ Reference(Location) ] ; # 0..1 Location of the subject when the alert was raised fhir:derivedFrom ( [ # 0..* The value causing the alert condition fhir:observation [ Reference(Observation) ] ; # 1..1 The Observation having a value causing the alert condition fhir:component [ Coding ] ; # 0..1 The Observation.component having a value causing the alert condition fhir:limit [ Range ] ; # 0..1 The boundaries beyond which a value was detected to cause the alert condition ] ... ) ; fhir:label [ string ] ; # 0..1 Text to be displayed for the alert condition fhir:signal ( [ # 0..* Annunciation or notification of the alert condition fhir:activationState [ CodeableConcept ] ; # 1..1 on | off | paused fhir:presence [ CodeableConcept ] ; # 0..1 on | latched | off | ack fhir:annunciator [ CodeableReference(Device) ] ; # 0..1 Where the signal is being annunciated fhir:manifestation [ CodeableConcept ] ; # 0..1 How the signal is being annunciated fhir:type ( [ CodeableConcept ] ... ) ; # 0..* Characteristics of the signal manifestation fhir:indication [ Period ] ; # 0..1 When the signal was being annunciated ] ... ) ; ]
Changes from both R4 and R4B
This resource did not exist in Release R4
See the Full Difference for further information
This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.
Structure
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
D | DomainResource | Documentation of an alert (a.k.a. alarm) generated by a device indicating a noteworthy condition Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
![]() ![]() |
Σ | 0..* | Identifier | Business identifier for this device alert |
![]() ![]() |
Σ | 0..* | Reference(Procedure) | Procedure during which the alert occurred |
![]() ![]() |
?!Σ | 1..1 | code | in-progress | completed | entered-in-error | unknown Binding: DeviceAlert Status Codes (Required) |
![]() ![]() |
Σ | 0..* | CodeableConcept | High level categorization of device alert Binding: DeviceAlert Category Codes (Example) |
![]() ![]() |
0..1 | CodeableConcept | physiological | technical Binding: DeviceAlert Type Codes (Extensible) | |
![]() ![]() |
Σ | 0..1 | CodeableConcept | high | medium | low | info Binding: DeviceAlert Priority Codes (Extensible) |
![]() ![]() |
Σ | 1..1 | CodeableConcept | The meaning of the alert Binding: DeviceAlert Condition Codes (Preferred) |
![]() ![]() |
Σ | 1..1 | Reference(Patient | Device | BiologicallyDerivedProduct | Group | Location | Medication | NutritionProduct | Specimen) | Who or what the alert is about |
![]() ![]() |
Σ | 0..1 | Reference(Encounter) | Encounter during which the alert condition occurred |
![]() ![]() |
Σ | 1..1 | boolean | Whether the alert condition is currently active |
![]() ![]() |
Σ | 0..1 | When the alert condition occurred/is occurring | |
![]() ![]() ![]() |
dateTime | |||
![]() ![]() ![]() |
Period | |||
![]() ![]() |
Σ | 0..1 | Reference(Device | DeviceMetric) | The Device (or DeviceMetric) that detected the alert condition |
![]() ![]() |
0..1 | boolean | Whether the alert condition has been acknowledged | |
![]() ![]() |
0..1 | Reference(Patient | Device | Practitioner | PractitionerRole | RelatedPerson) | Who acknowledged the alert condition | |
![]() ![]() |
Σ | 0..1 | Reference(Location) | Location of the subject when the alert was raised |
![]() ![]() |
0..* | BackboneElement | The value causing the alert condition | |
![]() ![]() ![]() |
Σ | 1..1 | Reference(Observation) | The Observation having a value causing the alert condition |
![]() ![]() ![]() |
0..1 | Coding | The Observation.component having a value causing the alert condition Binding: LOINC Codes (Example) | |
![]() ![]() ![]() |
0..1 | Range | The boundaries beyond which a value was detected to cause the alert condition | |
![]() ![]() |
0..1 | string | Text to be displayed for the alert condition | |
![]() ![]() |
0..* | BackboneElement | Annunciation or notification of the alert condition | |
![]() ![]() ![]() |
Σ | 1..1 | CodeableConcept | on | off | paused Binding: DeviceAlert Activation State Codes (Extensible) |
![]() ![]() ![]() |
0..1 | CodeableConcept | on | latched | off | ack Binding: DeviceAlert Presence Codes (Extensible) | |
![]() ![]() ![]() |
0..1 | CodeableReference(Device) | Where the signal is being annunciated Binding: DeviceAlert Annunciation Codes (Required) | |
![]() ![]() ![]() |
0..1 | CodeableConcept | How the signal is being annunciated Binding: DeviceAlert Manifestation Codes (Extensible) | |
![]() ![]() ![]() |
0..* | CodeableConcept | Characteristics of the signal manifestation Binding: DeviceAlert Signal Type Codes (Example) | |
![]() ![]() ![]() |
0..1 | Period | When the signal was being annunciated | |
Documentation for this format ![]() | ||||
See the Extensions for this resource
XML Template
<DeviceAlert xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Business identifier for this device alert --></identifier> <procedure><!-- 0..* Reference(Procedure) Procedure during which the alert occurred --></procedure> <status value="[code]"/><!-- 1..1 in-progress | completed | entered-in-error | unknown --> <category><!-- 0..* CodeableConcept High level categorization of device alert --></category> <type><!-- 0..1 CodeableConcept physiological | technical --></type> <priority><!-- 0..1 CodeableConcept high | medium | low | info --></priority> <code><!-- 1..1 CodeableConcept The meaning of the alert --></code> <subject><!-- 1..1 Reference(BiologicallyDerivedProduct|Device|Group|Location| Medication|NutritionProduct|Patient|Specimen) Who or what the alert is about --></subject> <encounter><!-- 0..1 Reference(Encounter) Encounter during which the alert condition occurred --></encounter> <presence value="[boolean]"/><!-- 1..1 Whether the alert condition is currently active --> <occurrence[x]><!-- 0..1 dateTime|Period When the alert condition occurred/is occurring --></occurrence[x]> <device><!-- 0..1 Reference(Device|DeviceMetric) The Device (or DeviceMetric) that detected the alert condition --></device> <acknowledged value="[boolean]"/><!-- 0..1 Whether the alert condition has been acknowledged --> <acknowledgedBy><!-- 0..1 Reference(Device|Patient|Practitioner|PractitionerRole| RelatedPerson) Who acknowledged the alert condition --></acknowledgedBy> <location><!-- 0..1 Reference(Location) Location of the subject when the alert was raised --></location> <derivedFrom> <!-- 0..* The value causing the alert condition --> <observation><!-- 1..1 Reference(Observation) The Observation having a value causing the alert condition --></observation> <component><!-- 0..1 Coding The Observation.component having a value causing the alert condition --></component> <limit><!-- 0..1 Range The boundaries beyond which a value was detected to cause the alert condition --></limit> </derivedFrom> <label value="[string]"/><!-- 0..1 Text to be displayed for the alert condition --> <signal> <!-- 0..* Annunciation or notification of the alert condition --> <activationState><!-- 1..1 CodeableConcept on | off | paused --></activationState> <presence><!-- 0..1 CodeableConcept on | latched | off | ack --></presence> <annunciator><!-- 0..1 CodeableReference(Device) Where the signal is being annunciated --></annunciator> <manifestation><!-- 0..1 CodeableConcept How the signal is being annunciated --></manifestation> <type><!-- 0..* CodeableConcept Characteristics of the signal manifestation --></type> <indication><!-- 0..1 Period When the signal was being annunciated --></indication> </signal> </DeviceAlert>
JSON Template
{
"resourceType" : "DeviceAlert",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"identifier" : [{ Identifier }], // Business identifier for this device alert
"procedure" : [{ Reference(Procedure) }], // Procedure during which the alert occurred
"status" : "<code>", // R! in-progress | completed | entered-in-error | unknown
"category" : [{ CodeableConcept }], // High level categorization of device alert
"type" : { CodeableConcept }, // physiological | technical
"priority" : { CodeableConcept }, // high | medium | low | info
"code" : { CodeableConcept }, // R! The meaning of the alert
"subject" : { Reference(BiologicallyDerivedProduct|Device|Group|Location|
Medication|NutritionProduct|Patient|Specimen) }, // R! Who or what the alert is about
"encounter" : { Reference(Encounter) }, // Encounter during which the alert condition occurred
"presence" : <boolean>, // R! Whether the alert condition is currently active
// occurrence[x]: When the alert condition occurred/is occurring. One of these 2:
"occurrenceDateTime" : "<dateTime>",
"occurrencePeriod" : { Period },
"device" : { Reference(Device|DeviceMetric) }, // The Device (or DeviceMetric) that detected the alert condition
"acknowledged" : <boolean>, // Whether the alert condition has been acknowledged
"acknowledgedBy" : { Reference(Device|Patient|Practitioner|PractitionerRole|
RelatedPerson) }, // Who acknowledged the alert condition
"location" : { Reference(Location) }, // Location of the subject when the alert was raised
"derivedFrom" : [{ // The value causing the alert condition
"observation" : { Reference(Observation) }, // R! The Observation having a value causing the alert condition
"component" : { Coding }, // The Observation.component having a value causing the alert condition
"limit" : { Range } // The boundaries beyond which a value was detected to cause the alert condition
}],
"label" : "<string>", // Text to be displayed for the alert condition
"signal" : [{ // Annunciation or notification of the alert condition
"activationState" : { CodeableConcept }, // R! on | off | paused
"presence" : { CodeableConcept }, // on | latched | off | ack
"annunciator" : { CodeableReference(Device) }, // Where the signal is being annunciated
"manifestation" : { CodeableConcept }, // How the signal is being annunciated
"type" : [{ CodeableConcept }], // Characteristics of the signal manifestation
"indication" : { Period } // When the signal was being annunciated
}]
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:DeviceAlert; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: fhir:id, fhir:meta, fhir:implicitRules, and fhir:language # from DomainResource: fhir:text, fhir:contained, fhir:extension, and fhir:modifierExtension fhir:identifier ( [ Identifier ] ... ) ; # 0..* Business identifier for this device alert fhir:procedure ( [ Reference(Procedure) ] ... ) ; # 0..* Procedure during which the alert occurred fhir:status [ code ] ; # 1..1 in-progress | completed | entered-in-error | unknown fhir:category ( [ CodeableConcept ] ... ) ; # 0..* High level categorization of device alert fhir:type [ CodeableConcept ] ; # 0..1 physiological | technical fhir:priority [ CodeableConcept ] ; # 0..1 high | medium | low | info fhir:code [ CodeableConcept ] ; # 1..1 The meaning of the alert fhir:subject [ Reference(BiologicallyDerivedProduct|Device|Group|Location|Medication|NutritionProduct| Patient|Specimen) ] ; # 1..1 Who or what the alert is about fhir:encounter [ Reference(Encounter) ] ; # 0..1 Encounter during which the alert condition occurred fhir:presence [ boolean ] ; # 1..1 Whether the alert condition is currently active # occurrence[x] : 0..1 When the alert condition occurred/is occurring. One of these 2 fhir:occurrence [ a fhir:DateTime ; dateTime ] fhir:occurrence [ a fhir:Period ; Period ] fhir:device [ Reference(Device|DeviceMetric) ] ; # 0..1 The Device (or DeviceMetric) that detected the alert condition fhir:acknowledged [ boolean ] ; # 0..1 Whether the alert condition has been acknowledged fhir:acknowledgedBy [ Reference(Device|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 Who acknowledged the alert condition fhir:location [ Reference(Location) ] ; # 0..1 Location of the subject when the alert was raised fhir:derivedFrom ( [ # 0..* The value causing the alert condition fhir:observation [ Reference(Observation) ] ; # 1..1 The Observation having a value causing the alert condition fhir:component [ Coding ] ; # 0..1 The Observation.component having a value causing the alert condition fhir:limit [ Range ] ; # 0..1 The boundaries beyond which a value was detected to cause the alert condition ] ... ) ; fhir:label [ string ] ; # 0..1 Text to be displayed for the alert condition fhir:signal ( [ # 0..* Annunciation or notification of the alert condition fhir:activationState [ CodeableConcept ] ; # 1..1 on | off | paused fhir:presence [ CodeableConcept ] ; # 0..1 on | latched | off | ack fhir:annunciator [ CodeableReference(Device) ] ; # 0..1 Where the signal is being annunciated fhir:manifestation [ CodeableConcept ] ; # 0..1 How the signal is being annunciated fhir:type ( [ CodeableConcept ] ... ) ; # 0..* Characteristics of the signal manifestation fhir:indication [ Period ] ; # 0..1 When the signal was being annunciated ] ... ) ; ]
Changes from both R4 and R4B
This resource did not exist in Release R4
See the Full Difference for further information
This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.
Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis
| Path | ValueSet | Type | Documentation |
|---|---|---|---|
| DeviceAlert.status | DeviceAlertStatusCodes (a valid code from Device Alert Status) | Required | DeviceAlert Status Codes |
| DeviceAlert.category | DeviceAlertCategoryCodes (a valid code from Device Alert Category) | Example | DeviceAlert Category Codes |
| DeviceAlert.type | DeviceAlertTypeCodes (a valid code from Device Alert Type) | Extensible | DeviceAlert Type Codes |
| DeviceAlert.priority | DeviceAlertPriorityCodes (a valid code from Device Alert Priority) | Extensible | DeviceAlert Priority Codes |
| DeviceAlert.code | DeviceAlertConditionCodes | Preferred | DeviceAlert Condition Codes |
| DeviceAlert.derivedFrom.component | LOINCCodes (a valid code from LOINC ) |
Example | This value set includes all LOINC codes |
| DeviceAlert.signal.activationState | DeviceAlertActivationStateCodes (a valid code from Device Alert Activation State) | Extensible | DeviceAlert Activation State Codes |
| DeviceAlert.signal.presence | DeviceAlertPresenceCodes (a valid code from Device Alert Presence) | Extensible | DeviceAlert Presence Codes |
| DeviceAlert.signal.annunciator | DeviceAlertAnnunciationCodes (a valid code from Device Alert Annunciation) | Required | DeviceAlert Annunciation Codes |
| DeviceAlert.signal.manifestation | DeviceAlertManifestationCodes (a valid code from Device Alert Manifestation) | Extensible | DeviceAlert Manifestation Codes |
| DeviceAlert.signal.type | DeviceAlertSignalTypeCodes (a valid code from Device Alert Signal Type) | Example | DeviceAlert Signal Type Codes |
Search parameters for this resource. See also the full list of search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
| Name | Type | Description | Expression | In Common |
| acknowledged | token | Whether the alert condition has been acknowledged | DeviceAlert.acknowledged | |
| acknowledged-by | reference | Who acknowledged the alert | DeviceAlert.acknowledgedBy (Practitioner, Device, Patient, PractitionerRole, RelatedPerson) |
|
| annunciator-concept | token | The whether the signalling device annunciating the condition is local or remote to the detecting device | DeviceAlert.signal.annunciator.concept | |
| annunciator-device | reference | The signalling device annunciating the condition | DeviceAlert.signal.annunciator.reference (Device) |
|
| category | token | Alert category | DeviceAlert.category | |
| code | token | Alert condition code | DeviceAlert.code | |
| derived-from | reference | Whether the alert is currently occurring | DeviceAlert.derivedFrom.observation (Observation) |
|
| device | reference | The device detecting the condition | DeviceAlert.device (Device, DeviceMetric) |
|
| encounter | reference | Encounter during which the alert occurred | DeviceAlert.encounter (Encounter) |
|
| identifier | token | The identifier of the alert | DeviceAlert.identifier | |
| indication | date | When the signal was being annunciated | DeviceAlert.signal.indication | |
| location | reference | Location of the subject at time of alert | DeviceAlert.location (Location) |
|
| manifestation | token | How the alert signal is manifested | DeviceAlert.signal.manifestation | |
| occurrence | date | When the alert condition occurred | DeviceAlert.occurrence.ofType(Period) | occurrence.ofType(dateTime) | |
| patient | reference | The patient subject of the alert | DeviceAlert.subject.where(resolve() is Patient) (Patient) |
|
| presence | token | Whether the alert condition is currently occurring | DeviceAlert.presence | |
| priority | token | Priority of the alert condition | DeviceAlert.priority | |
| procedure | reference | Procedure during which the alert occurred | DeviceAlert.procedure (Procedure) |
|
| signal-presence | token | Whether the alert is currently occurring | DeviceAlert.signal.presence | |
| status | token | Status of the alert | DeviceAlert.status | |
| subject | reference | Subject of the alert | DeviceAlert.subject (Group, Specimen, BiologicallyDerivedProduct, NutritionProduct, Device, Medication, Patient, Location) |
|
| type | token | Whether the alert is physiological or technical | DeviceAlert.type |