Personal Health Records
1.0.0-ballot2 - STU 1 ballot International flag

Personal Health Records, published by HL7 International / Patient Empowerment. This guide is not an authorized publication; it is the continuous build for version 1.0.0-ballot2 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/personal-health-record-format-ig/ and changes regularly. See the Directory of published versions

Logical Model: Environmental Observation

Official URL: http://hl7.org/fhir/uv/phr/StructureDefinition/Environmental Version: 1.0.0-ballot2
Standards status: Trial-use Active as of 2026-03-27 Maturity Level: 1 Computable Name: Environmental

A logical model representing environmental conditions relevant to patient health, such as air quality, temperature, noise, and UV exposure. These factors may be collected by consumer weather stations, smartphone sensors, or wearable devices.

Usages:

  • This Logical Model is not used by any profiles in this Implementation Guide

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Environmental 0..* Base Environmental Observation
... subject 1..1 Reference(Patient) The patient whose environment is being observed
... effectiveDateTime 0..1 dateTime When the observation was made
... effectivePeriod 0..1 Period Time period over which the observation applies
... gpsCoordinates 0..1 BackboneElement GPS coordinates of the observation
.... latitude 1..1 decimal Latitude in decimal degrees
.... longitude 1..1 decimal Longitude in decimal degrees
.... altitude 0..1 Quantity Altitude above sea level
... temperature 0..1 Quantity Ambient temperature
... humidity 0..1 Quantity Ambient relative humidity percentage
... barometricPressure 0..1 Quantity Barometric pressure
... airQualityIndex 0..1 integer Air quality index (AQI)
... uvIndex 0..1 decimal UV exposure index
... noiseLevel 0..1 Quantity Environmental noise level in decibels
... pollenCount 0..1 Quantity Pollen count
... substance 0..* BackboneElement Substances detected in the environment
.... code 1..1 CodeableConcept Substance identity (e.g. lead, PFAS, asbestos, mold, radon)
.... category 0..1 CodeableConcept Category of substance (e.g. contaminant, toxin, irritant, allergen)
.... concentration 0..1 Quantity Measured concentration of the substance
.... source 0..1 string Source or medium (e.g. groundwater, soil, air, surface)

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Environmental 0..* Base Environmental Observation
... subject 1..1 Reference(Patient) The patient whose environment is being observed
... effectiveDateTime 0..1 dateTime When the observation was made
... effectivePeriod 0..1 Period Time period over which the observation applies
... gpsCoordinates 0..1 BackboneElement GPS coordinates of the observation
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... latitude 1..1 decimal Latitude in decimal degrees
.... longitude 1..1 decimal Longitude in decimal degrees
.... altitude 0..1 Quantity Altitude above sea level
... temperature 0..1 Quantity Ambient temperature
... humidity 0..1 Quantity Ambient relative humidity percentage
... barometricPressure 0..1 Quantity Barometric pressure
... airQualityIndex 0..1 integer Air quality index (AQI)
... uvIndex 0..1 decimal UV exposure index
... noiseLevel 0..1 Quantity Environmental noise level in decibels
... pollenCount 0..1 Quantity Pollen count
... substance 0..* BackboneElement Substances detected in the environment
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code 1..1 CodeableConcept Substance identity (e.g. lead, PFAS, asbestos, mold, radon)
.... category 0..1 CodeableConcept Category of substance (e.g. contaminant, toxin, irritant, allergen)
.... concentration 0..1 Quantity Measured concentration of the substance
.... source 0..1 string Source or medium (e.g. groundwater, soil, air, surface)

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
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()

Summary

Mandatory: 0 element(4 nested mandatory elements)

Maturity: 1

Differential View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Environmental 0..* Base Environmental Observation
... subject 1..1 Reference(Patient) The patient whose environment is being observed
... effectiveDateTime 0..1 dateTime When the observation was made
... effectivePeriod 0..1 Period Time period over which the observation applies
... gpsCoordinates 0..1 BackboneElement GPS coordinates of the observation
.... latitude 1..1 decimal Latitude in decimal degrees
.... longitude 1..1 decimal Longitude in decimal degrees
.... altitude 0..1 Quantity Altitude above sea level
... temperature 0..1 Quantity Ambient temperature
... humidity 0..1 Quantity Ambient relative humidity percentage
... barometricPressure 0..1 Quantity Barometric pressure
... airQualityIndex 0..1 integer Air quality index (AQI)
... uvIndex 0..1 decimal UV exposure index
... noiseLevel 0..1 Quantity Environmental noise level in decibels
... pollenCount 0..1 Quantity Pollen count
... substance 0..* BackboneElement Substances detected in the environment
.... code 1..1 CodeableConcept Substance identity (e.g. lead, PFAS, asbestos, mold, radon)
.... category 0..1 CodeableConcept Category of substance (e.g. contaminant, toxin, irritant, allergen)
.... concentration 0..1 Quantity Measured concentration of the substance
.... source 0..1 string Source or medium (e.g. groundwater, soil, air, surface)

doco Documentation for this format

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Environmental 0..* Base Environmental Observation
... subject 1..1 Reference(Patient) The patient whose environment is being observed
... effectiveDateTime 0..1 dateTime When the observation was made
... effectivePeriod 0..1 Period Time period over which the observation applies
... gpsCoordinates 0..1 BackboneElement GPS coordinates of the observation
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... latitude 1..1 decimal Latitude in decimal degrees
.... longitude 1..1 decimal Longitude in decimal degrees
.... altitude 0..1 Quantity Altitude above sea level
... temperature 0..1 Quantity Ambient temperature
... humidity 0..1 Quantity Ambient relative humidity percentage
... barometricPressure 0..1 Quantity Barometric pressure
... airQualityIndex 0..1 integer Air quality index (AQI)
... uvIndex 0..1 decimal UV exposure index
... noiseLevel 0..1 Quantity Environmental noise level in decibels
... pollenCount 0..1 Quantity Pollen count
... substance 0..* BackboneElement Substances detected in the environment
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code 1..1 CodeableConcept Substance identity (e.g. lead, PFAS, asbestos, mold, radon)
.... category 0..1 CodeableConcept Category of substance (e.g. contaminant, toxin, irritant, allergen)
.... concentration 0..1 Quantity Measured concentration of the substance
.... source 0..1 string Source or medium (e.g. groundwater, soil, air, surface)

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
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()

Summary

Mandatory: 0 element(4 nested mandatory elements)

Maturity: 1

 

Other representations of profile: CSV, Excel