Personal Health Device Implementation Guide
2.0.1 - STU 2 International flag

Personal Health Device Implementation Guide, published by HL7 International / Devices. This guide is not an authorized publication; it is the continuous build for version 2.0.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/phd/ and changes regularly. See the Directory of published versions

Extension: Simple Alerting

Official URL: http://hl7.org/fhir/uv/phd/StructureDefinition/SimpleAlerting Version: 2.0.1
Standards status: Trial-use Maturity Level: 2 Computable Name: SimpleAlerting
Other Identifiers: OID:2.16.840.1.113883.4.642.40.73.42.18

A simple alerting extension for PHDs.

Context of Use

Usage info

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Extension Content

Description Differentials, Snapshots, and other representations.

This structure is derived from Extension

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Extension 0..1 Extension SimpleAlerting
Extension.extension 2..* Extension Extension
Extension.Slices for extension Content/Rules for all slices
Extension.Slices for extension.extension:alertType 0..1 Extension Extension
Extension.Slices for extension.extension:alertType.extension 0..0 Extension
Extension.Slices for extension.extension:alertType.url 1..1 uri "alertType"
Extension.Slices for extension.extension:alertType.value[x] 1..1 CodeableConcept Value of extension
Binding: MDC Value Set (extensible)
Extension.Slices for extension.extension:currentLimits 1..1 Extension Extension
Extension.Slices for extension.extension:currentLimits.extension 0..0 Extension
Extension.Slices for extension.extension:currentLimits.url 1..1 uri "currentLimits"
Extension.Slices for extension.extension:currentLimits.value[x] C 1..1 Range Value of extension
Constraints: alerting-range-units
Extension.Slices for extension.extension:currentLimits.value[x].low
Extension.Slices for extension.extension:currentLimits.value[x].low.unit 0..1 string Unit representation
Extension.Slices for extension.extension:currentLimits.value[x].high
Extension.Slices for extension.extension:currentLimits.value[x].high.unit 0..1 string Unit representation
Extension.Slices for extension.extension:alertOperationalState 1..1 Extension Extension
Extension.Slices for extension.extension:alertOperationalState.extension 0..0 Extension
Extension.Slices for extension.extension:alertOperationalState.url 1..1 uri "alertOperationalState"
Extension.Slices for extension.extension:alertOperationalState.value[x] 1..1 CodeableConcept Value of extension
Binding: Simple Alert Operational States (extensible)
Extension.Slices for extension.extension:alertOperationalText 0..1 Extension Extension
Extension.Slices for extension.extension:alertOperationalText.extension 0..0 Extension
Extension.Slices for extension.extension:alertOperationalText.url 1..1 uri "alertOperationalText"
Extension.Slices for extension.extension:alertOperationalText.value[x] 0..1 string Value of extension
Extension.Slices for extension.extension:thresholdNotificationText 0..1 Extension Extension
Extension.Slices for extension.extension:thresholdNotificationText.extension 0..0 Extension
Extension.Slices for extension.extension:thresholdNotificationText.url 1..1 uri "thresholdNotificationText"
Extension.Slices for extension.extension:thresholdNotificationText.value[x] 0..1 string Value of extension
Extension.url 1..1 uri "http://hl7.org/fhir/uv/phd/StructureDefinition/SimpleAlerting"

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Extension.extension:alertType.​value[x] Base extensible MDC Value Set 📦2.0.1 This IG
Extension.extension:alertOperationalState.​value[x] Base extensible Simple Alert Operational States 📦2.0.1 This IG

Constraints

Id Grade Path(s) Description Expression
alerting-range-units warning Extension.extension:currentLimits.value[x] The units used should be equal. low.code.exists() and high.code.exists() and low.code = high.code
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Extension 0..1 Extension SimpleAlerting
Extension.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Extension.Slices for extension.extension:alertType 0..1 Extension Extension
Extension.Slices for extension.extension:alertType.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:alertType.extension 0..0 Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Extension.Slices for extension.extension:alertType.url 1..1 uri "alertType"
Extension.Slices for extension.extension:alertType.value[x] 1..1 CodeableConcept Value of extension
Binding: MDC Value Set (extensible)
Extension.Slices for extension.extension:currentLimits 1..1 Extension Extension
Extension.Slices for extension.extension:currentLimits.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:currentLimits.extension 0..0 Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Extension.Slices for extension.extension:currentLimits.url 1..1 uri "currentLimits"
Extension.Slices for extension.extension:currentLimits.value[x] C 1..1 Range Value of extension
Constraints: alerting-range-units
Extension.Slices for extension.extension:currentLimits.value[x].id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:currentLimits.value[x].extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Extension.Slices for extension.extension:currentLimits.value[x].low This element is included in summaries. C 0..1 SimpleQuantity(4.0.1) Low limit
Constraints: sqty-1
Extension.Slices for extension.extension:currentLimits.value[x].low.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:currentLimits.value[x].low.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Extension.Slices for extension.extension:currentLimits.value[x].low.value This element is included in summaries. 0..1 decimal Numerical value (with implicit precision)
Extension.Slices for extension.extension:currentLimits.value[x].low.unit This element is included in summaries. 0..1 string Unit representation
Extension.Slices for extension.extension:currentLimits.value[x].low.system This element is included in summaries. C 0..1 uri System that defines coded unit form
Extension.Slices for extension.extension:currentLimits.value[x].low.code This element is included in summaries. 0..1 code Coded form of the unit
Extension.Slices for extension.extension:currentLimits.value[x].high This element is included in summaries. C 0..1 SimpleQuantity(4.0.1) High limit
Constraints: sqty-1
Extension.Slices for extension.extension:currentLimits.value[x].high.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:currentLimits.value[x].high.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Extension.Slices for extension.extension:currentLimits.value[x].high.value This element is included in summaries. 0..1 decimal Numerical value (with implicit precision)
Extension.Slices for extension.extension:currentLimits.value[x].high.unit This element is included in summaries. 0..1 string Unit representation
Extension.Slices for extension.extension:currentLimits.value[x].high.system This element is included in summaries. C 0..1 uri System that defines coded unit form
Extension.Slices for extension.extension:currentLimits.value[x].high.code This element is included in summaries. 0..1 code Coded form of the unit
Extension.Slices for extension.extension:alertOperationalState 1..1 Extension Extension
Extension.Slices for extension.extension:alertOperationalState.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:alertOperationalState.extension 0..0 Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Extension.Slices for extension.extension:alertOperationalState.url 1..1 uri "alertOperationalState"
Extension.Slices for extension.extension:alertOperationalState.value[x] 1..1 CodeableConcept Value of extension
Binding: Simple Alert Operational States (extensible)
Extension.Slices for extension.extension:alertOperationalText 0..1 Extension Extension
Extension.Slices for extension.extension:alertOperationalText.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:alertOperationalText.extension 0..0 Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Extension.Slices for extension.extension:alertOperationalText.url 1..1 uri "alertOperationalText"
Extension.Slices for extension.extension:alertOperationalText.value[x] 0..1 string Value of extension
Extension.Slices for extension.extension:thresholdNotificationText 0..1 Extension Extension
Extension.Slices for extension.extension:thresholdNotificationText.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:thresholdNotificationText.extension 0..0 Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Extension.Slices for extension.extension:thresholdNotificationText.url 1..1 uri "thresholdNotificationText"
Extension.Slices for extension.extension:thresholdNotificationText.value[x] 0..1 string Value of extension
Extension.url 1..1 uri "http://hl7.org/fhir/uv/phd/StructureDefinition/SimpleAlerting"

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Extension.extension:alertType.​value[x] Base extensible MDC Value Set 📦2.0.1 This IG
Extension.extension:alertOperationalState.​value[x] Base extensible Simple Alert Operational States 📦2.0.1 This IG

Constraints

Id Grade Path(s) Description Expression
alerting-range-units warning Extension.extension:currentLimits.value[x] The units used should be equal. low.code.exists() and high.code.exists() and low.code = high.code
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
sqty-1 error Extension.extension:currentLimits.value[x].low, Extension.extension:currentLimits.value[x].high The comparator is not used on a SimpleQuantity comparator.empty()

This structure is derived from Extension

Summary

Complex Extension: A simple alerting extension for PHDs.

  • alertType: CodeableConcept: An Extension
  • currentLimits: Range: An Extension
  • alertOperationalState: CodeableConcept: An Extension
  • alertOperationalText: string: An Extension
  • thresholdNotificationText: string: An Extension

Maturity: 2

Differential View

This structure is derived from Extension

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Extension 0..1 Extension SimpleAlerting
Extension.extension 2..* Extension Extension
Extension.Slices for extension Content/Rules for all slices
Extension.Slices for extension.extension:alertType 0..1 Extension Extension
Extension.Slices for extension.extension:alertType.extension 0..0 Extension
Extension.Slices for extension.extension:alertType.url 1..1 uri "alertType"
Extension.Slices for extension.extension:alertType.value[x] 1..1 CodeableConcept Value of extension
Binding: MDC Value Set (extensible)
Extension.Slices for extension.extension:currentLimits 1..1 Extension Extension
Extension.Slices for extension.extension:currentLimits.extension 0..0 Extension
Extension.Slices for extension.extension:currentLimits.url 1..1 uri "currentLimits"
Extension.Slices for extension.extension:currentLimits.value[x] C 1..1 Range Value of extension
Constraints: alerting-range-units
Extension.Slices for extension.extension:currentLimits.value[x].low
Extension.Slices for extension.extension:currentLimits.value[x].low.unit 0..1 string Unit representation
Extension.Slices for extension.extension:currentLimits.value[x].high
Extension.Slices for extension.extension:currentLimits.value[x].high.unit 0..1 string Unit representation
Extension.Slices for extension.extension:alertOperationalState 1..1 Extension Extension
Extension.Slices for extension.extension:alertOperationalState.extension 0..0 Extension
Extension.Slices for extension.extension:alertOperationalState.url 1..1 uri "alertOperationalState"
Extension.Slices for extension.extension:alertOperationalState.value[x] 1..1 CodeableConcept Value of extension
Binding: Simple Alert Operational States (extensible)
Extension.Slices for extension.extension:alertOperationalText 0..1 Extension Extension
Extension.Slices for extension.extension:alertOperationalText.extension 0..0 Extension
Extension.Slices for extension.extension:alertOperationalText.url 1..1 uri "alertOperationalText"
Extension.Slices for extension.extension:alertOperationalText.value[x] 0..1 string Value of extension
Extension.Slices for extension.extension:thresholdNotificationText 0..1 Extension Extension
Extension.Slices for extension.extension:thresholdNotificationText.extension 0..0 Extension
Extension.Slices for extension.extension:thresholdNotificationText.url 1..1 uri "thresholdNotificationText"
Extension.Slices for extension.extension:thresholdNotificationText.value[x] 0..1 string Value of extension
Extension.url 1..1 uri "http://hl7.org/fhir/uv/phd/StructureDefinition/SimpleAlerting"
Extension.value[x] 0..0 Value of extension

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Extension.extension:alertType.​value[x] Base extensible MDC Value Set 📦2.0.1 This IG
Extension.extension:alertOperationalState.​value[x] Base extensible Simple Alert Operational States 📦2.0.1 This IG

Constraints

Id Grade Path(s) Description Expression
alerting-range-units warning Extension.extension:currentLimits.value[x] The units used should be equal. low.code.exists() and high.code.exists() and low.code = high.code

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Extension 0..1 Extension SimpleAlerting
Extension.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Extension.Slices for extension.extension:alertType 0..1 Extension Extension
Extension.Slices for extension.extension:alertType.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:alertType.extension 0..0 Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Extension.Slices for extension.extension:alertType.url 1..1 uri "alertType"
Extension.Slices for extension.extension:alertType.value[x] 1..1 CodeableConcept Value of extension
Binding: MDC Value Set (extensible)
Extension.Slices for extension.extension:currentLimits 1..1 Extension Extension
Extension.Slices for extension.extension:currentLimits.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:currentLimits.extension 0..0 Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Extension.Slices for extension.extension:currentLimits.url 1..1 uri "currentLimits"
Extension.Slices for extension.extension:currentLimits.value[x] C 1..1 Range Value of extension
Constraints: alerting-range-units
Extension.Slices for extension.extension:currentLimits.value[x].id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:currentLimits.value[x].extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Extension.Slices for extension.extension:currentLimits.value[x].low This element is included in summaries. C 0..1 SimpleQuantity(4.0.1) Low limit
Constraints: sqty-1
Extension.Slices for extension.extension:currentLimits.value[x].low.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:currentLimits.value[x].low.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Extension.Slices for extension.extension:currentLimits.value[x].low.value This element is included in summaries. 0..1 decimal Numerical value (with implicit precision)
Extension.Slices for extension.extension:currentLimits.value[x].low.unit This element is included in summaries. 0..1 string Unit representation
Extension.Slices for extension.extension:currentLimits.value[x].low.system This element is included in summaries. C 0..1 uri System that defines coded unit form
Extension.Slices for extension.extension:currentLimits.value[x].low.code This element is included in summaries. 0..1 code Coded form of the unit
Extension.Slices for extension.extension:currentLimits.value[x].high This element is included in summaries. C 0..1 SimpleQuantity(4.0.1) High limit
Constraints: sqty-1
Extension.Slices for extension.extension:currentLimits.value[x].high.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:currentLimits.value[x].high.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Extension.Slices for extension.extension:currentLimits.value[x].high.value This element is included in summaries. 0..1 decimal Numerical value (with implicit precision)
Extension.Slices for extension.extension:currentLimits.value[x].high.unit This element is included in summaries. 0..1 string Unit representation
Extension.Slices for extension.extension:currentLimits.value[x].high.system This element is included in summaries. C 0..1 uri System that defines coded unit form
Extension.Slices for extension.extension:currentLimits.value[x].high.code This element is included in summaries. 0..1 code Coded form of the unit
Extension.Slices for extension.extension:alertOperationalState 1..1 Extension Extension
Extension.Slices for extension.extension:alertOperationalState.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:alertOperationalState.extension 0..0 Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Extension.Slices for extension.extension:alertOperationalState.url 1..1 uri "alertOperationalState"
Extension.Slices for extension.extension:alertOperationalState.value[x] 1..1 CodeableConcept Value of extension
Binding: Simple Alert Operational States (extensible)
Extension.Slices for extension.extension:alertOperationalText 0..1 Extension Extension
Extension.Slices for extension.extension:alertOperationalText.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:alertOperationalText.extension 0..0 Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Extension.Slices for extension.extension:alertOperationalText.url 1..1 uri "alertOperationalText"
Extension.Slices for extension.extension:alertOperationalText.value[x] 0..1 string Value of extension
Extension.Slices for extension.extension:thresholdNotificationText 0..1 Extension Extension
Extension.Slices for extension.extension:thresholdNotificationText.id 0..1 string Unique id for inter-element referencing
Extension.Slices for extension.extension:thresholdNotificationText.extension 0..0 Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Extension.Slices for extension.extension:thresholdNotificationText.url 1..1 uri "thresholdNotificationText"
Extension.Slices for extension.extension:thresholdNotificationText.value[x] 0..1 string Value of extension
Extension.url 1..1 uri "http://hl7.org/fhir/uv/phd/StructureDefinition/SimpleAlerting"

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Extension.extension:alertType.​value[x] Base extensible MDC Value Set 📦2.0.1 This IG
Extension.extension:alertOperationalState.​value[x] Base extensible Simple Alert Operational States 📦2.0.1 This IG

Constraints

Id Grade Path(s) Description Expression
alerting-range-units warning Extension.extension:currentLimits.value[x] The units used should be equal. low.code.exists() and high.code.exists() and low.code = high.code
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
sqty-1 error Extension.extension:currentLimits.value[x].low, Extension.extension:currentLimits.value[x].high The comparator is not used on a SimpleQuantity comparator.empty()

This structure is derived from Extension

Summary

Complex Extension: A simple alerting extension for PHDs.

  • alertType: CodeableConcept: An Extension
  • currentLimits: Range: An Extension
  • alertOperationalState: CodeableConcept: An Extension
  • alertOperationalText: string: An Extension
  • thresholdNotificationText: string: An Extension

Maturity: 2

 

Other representations of profile: CSV, Excel, Schematron

Notes:

The SimpleAlerting extension is used to define the behavior and configuration of simple alerting systems for PHD Devices. Below is a description of the original IEEE 11073-20601 attributes, including their MDC code and the corresponding element in the extension. In IEEE 11073-10206 / ACOM simple alerting can be modeled as an extension to a numeric observation with the same attributes as this FHIR extension.

Alert Type

In some cases there can be multiple types of alerts defined for a monitored value. For example in a continuous glucose monitor there can be a patient normal range low and high value and a critical hypo and hyper value. In IEEE 11073-20601 these are reported as numeric settings with MDC codes MDC_CONC_GLU_PATIENT_THRESHOLDS_LOW_HIGH and MDC_CONC_GLU_THRESHOLDS_HYPO_HYPER that reports the monitored low and high limits.

Current Limits

The IEEE 11073-10206 Current-Limits attribute specifies the lower and upper threshold limits of the monitored parameter. The MDC code of the attribute is MDC_ATTR_LIMIT_CURR.

The currentLimits element specifies the acceptable range for the monitored parameter. It is represented as a valueRange with the following sub-elements:

  • low: The lower limit of the acceptable range. If the monitored value falls below this limit, an alert may be triggered.
  • high: The upper limit of the acceptable range. If the monitored value exceeds this limit, an alert may be triggered.
  • Units: The limits are expressed in a specific unit (e.g., % for percentages) using the Unified Code for Units of Measure (UCUM) and should match the unit of the monitored parameter.

Alert Operational State

The IEEE 11073-10206 Alert Operational State attribute uses an ASN1-BITs field to indicate whether the alerts on a given limit (upper or lower) are on or off. When SET, the alerts are off. This is a state-type measurement, and when this attribute is present, both the set and cleared states are reported. The MDC reference Identifier of the attribute is MDC_ATTR_AL_OP_STAT.

The alertOperationalState element indicates the current operational state of the alerting system. It is represented as a valueCodeableConcept with codes from the SimpleAlertOperationalStates ValueSet. Examples of operational states include:

  • On: The alerting system is active and monitoring the parameter.
  • LowLimitOff: The lower limit monitoring is disabled.
  • HighLimitOff: The upper limit monitoring is disabled.
  • LimitsOff: Both upper and lower limit monitoring are disabled.

Alert Operational Text

The IEEE 11073-10206 Alert Operational Text attribute consists of a pair of strings that describe the operational state of the lower and upper threshold monitoring. The MDC reference Identifier is MDC_ATTR_AL_OP_TEXT_STRING.

The alertOperationalText element provides a single human-readable string describing the operational state of the lower and upper threshold monitoring.

Threshold Notification Text

The IEEE 11073-10206 Threshold-Notification-Text-String attribute provides a human-readable string notifying the user of a value outside the current limits. It may include details about the condition that triggered the alert or instructions for responding to it. The MDC code is MDC_ATTR_THRES_NOTIF_TEXT_STRING

The thresholdNotificationText element provides this notification text, ensuring that users are informed about the specific condition that caused the alert.


These elements collectively define the configuration and behavior of the SimpleAlerting extension, enabling systems to monitor and respond to specific conditions effectively.