EnvironmentalMonitoringLogicalModel
type: StructureDefinition
node role: treeRoot
id:
  v: EnvironmentalMonitoringLogicalModel
text:
  status:
    v: extensions
  div:
    v: Generated Narrative: StructureDefinition EnvironmentalMonitoringLogicalModel Name Flags Card. Type Description & Constraints<img src="[binary]" alt="doco" style="background-color: inherit"/> EnvironmentalMonitoringLogicalModel 0..* Base Environmental Monitoring API for Closed Biome Systems #xD; solarInputOutput 1..1 BackboneElement Solar radiation and PAR measurements #xD; parTopUmol 0..1 decimal PAR light intensity at top of canopy (μmol·m⁻²·s⁻¹) #xD; parTopUmolAvg 0..1 decimal Average PAR at top canopy over recent period (μmol·m⁻²·s⁻¹) #xD; parMidUmol 0..1 decimal PAR intensity at mid-canopy (μmol·m⁻²·s⁻¹) #xD; parBottomUmol 0..1 decimal PAR intensity at bottom of canopy (μmol·m⁻²·s⁻¹) #xD; solarIrradianceWm2 0..1 decimal Total solar radiation on the biome exterior (W/m²) #xD; solarIrradianceWm2Avg 0..1 decimal Average solar irradiance over a period (W/m²) #xD; thermalMass 1..1 BackboneElement Thermal mass and heat storage measurements #xD; concreteLoopInTempC 0..1 decimal Inlet water temperature (°C) into a concrete thermal mass #xD; concreteLoopOutTempC 0..1 decimal Outlet water temperature (°C) from the concrete mass #xD; waterTankInTempC 0..1 decimal Inlet water temperature (°C) to a dedicated water thermal storage #xD; waterTankOutTempC 0..1 decimal Outlet water temperature (°C) from the thermal storage tank #xD; internalTempC 0..1 decimal General interior air temperature (°C) at a representative location #xD; internalTempCAvg 0..1 decimal Average interior air temperature over a period (°C) #xD; internalTempTopC 0..1 decimal Temperature at top of habitat (°C) to measure stratification #xD; internalTempBottomC 0..1 decimal Temperature at bottom of habitat (°C) to measure stratification #xD; atmosphericLifeSupport 1..1 BackboneElement Atmospheric conditions for life support #xD; co2Ppm 0..1 decimal Carbon dioxide concentration in air (parts per million) #xD; co2PpmAvg 0..1 decimal Average CO₂ concentration (ppm) over a recent interval #xD; o2Percent 0..1 decima…
url:
  v: https://mitre.org/fhir/space-health/StructureDefinition/EnvironmentalMonitoringLogicalModel
  l: EnvironmentalMonitoringLogicalModel
version:
  v: 0.5.12
name:
  v: EnvironmentalMonitoringLogicalModel
title:
  v: Environmental Monitoring API for Closed Biome Systems
status:
  v: draft
date:
  v: 2026-03-25T00:24:16-05:00
publisher:
  v: MITRE
contact:
  name:
    v: MITRE
  telecom:
    system:
      v: url
    value:
      v: https://www.mitre.org/
description:
  v: A logical model representing the comprehensive environmental monitoring parameters for closed biome systems, including space habitats, lunar/Mars colonies, and Earth-based smart greenhouses.
fhir version:
  v: 4.0.1
kind:
  v: logical
abstract:
  v: false
type:
  v: https://mitre.org/fhir/space-health/StructureDefinition/EnvironmentalMonitoringLogicalModel
  l: EnvironmentalMonitoringLogicalModel
base definition:
  v: http://hl7.org/fhir/StructureDefinition/Base
  l: Base
derivation:
  v: specialization
snapshot:
  extension:
    url:
      v: http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version
      l: snapshot-base-version
    value: String
      v: 4.0.1
  element:
    id:
      v: EnvironmentalMonitoringLogicalModel
    path:
      v: EnvironmentalMonitoringLogicalModel
    short:
      v: Environmental Monitoring API for Closed Biome Systems
    definition:
      v: A logical model representing the comprehensive environmental monitoring parameters for closed biome systems, including space habitats, lunar/Mars colonies, and Earth-based smart greenhouses.
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: Base
      min:
        v: 0
      max:
        v: *
    is modifier:
      v: false
  element:
    id:
      v: EnvironmentalMonitoringLogicalModel.solarInputOutput
    path:
      v: EnvironmentalMonitoringLogicalModel.solarInputOutput
    short:
      v: Solar radiation and PAR measurements
    definition:
      v: Solar radiation and PAR measurements
    min:
      v: 1
    max:
      v: 1
    base:
      path:
        v: EnvironmentalMonitoringLogicalModel.solarInputOutput
      min:
        v: 1
      max:
        v: 1
    type:
      code:
        v: BackboneElement
        l: BackboneElement
    constraint:
      key:
        v: ele-1
      severity:
        v: error
      human:
        v: All FHIR elements must have a @value or children
      expression:
        v: hasValue() or (children().count() > id.count())
      xpath:
        v: @value|f:*|h:div
      source:
        v: http://hl7.org/fhir/StructureDefinition/Element
        l: Element
  element:
    id:
      v: EnvironmentalMonitoringLogicalModel.solarInputOutput.id
    path:
      v: EnvironmentalMonitoringLogicalModel.solarInputOutput.id
    representation:
      v: xmlAttr
    short:
      v: Unique id for inter-element referencing
    definition:
      v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
    min:
      v: 0
    max:
      v: 1
    base:
      path:
        v: Element.id
      min:
        v: 0
      max:
        v: 1
    type:
      extension:
        value: Url
      code:
        v: http://hl7.org/fhirpath/System.String
        l: System.String
    is modifier:
      v: false
    is summary:
      v: false
    mapping:
      identity:
        v: rim
      map:
        v: n/a
  element:
    id:
      v: EnvironmentalMonitoringLogicalModel.solarInputOutput.extension
    path:
      v: EnvironmentalMonitoringLogicalModel.solarInputOutput.extension
    slicing:
      description:
        v: Extensions are always sliced by (at least) url
      rules:
        v: open
    short:
      v: Additional content defined by implementations
    definition:
      v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
    comment:
      v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
    alias:
      v: extensions
    alias:
      v: user content
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: Element.extension
      min:
        v: 0
      max:
        v: *
    type:
      code:
        v: Extension
        l: Extension
    constraint:
      key:
        v: ele-1
      severity:
        v: error
      human:
        v: All FHIR elements must have a @value or children
      expression:
        v: hasValue() or (children().count() > id.count())
      xpath:
        v: @value|f:*|h:div
      source:
        v: http://hl7.org/fhir/StructureDefinition/Element
        l: Element
    constraint:
      key:
        v: ext-1

Url
v: string
l: string

v: value

v: url

v: error

v: Must have either extensions or value[x], not both

v: extension.exists() != value.exists()

v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])

v: false

v: false

identity:
  v: rim
map:
  v: n/a

id:
  v: EnvironmentalMonitoringLogicalModel.solarInputOutput.modifierExtension
path:
  v: EnvironmentalMonitoringLogicalModel.solarInputOutput.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
requirements:
  v: Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: EnvironmentalMonitoringLogicalModel.solarInputOutput.parTopUmol
path:
  v: EnvironmentalMonitoringLogicalModel.solarInputOutput.parTopUmol
short:
  v: PAR light intensity at top of canopy (μmol·m⁻²·s⁻¹)
definition:
  v: PAR light intensity at top of canopy (μmol·m⁻²·s⁻¹)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.solarInputOutput.parTopUmol
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.solarInputOutput.parTopUmolAvg
path:
  v: EnvironmentalMonitoringLogicalModel.solarInputOutput.parTopUmolAvg
short:
  v: Average PAR at top canopy over recent period (μmol·m⁻²·s⁻¹)
definition:
  v: Average PAR at top canopy over recent period (μmol·m⁻²·s⁻¹)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.solarInputOutput.parTopUmolAvg
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.solarInputOutput.parMidUmol
path:
  v: EnvironmentalMonitoringLogicalModel.solarInputOutput.parMidUmol
short:
  v: PAR intensity at mid-canopy (μmol·m⁻²·s⁻¹)
definition:
  v: PAR intensity at mid-canopy (μmol·m⁻²·s⁻¹)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.solarInputOutput.parMidUmol
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.solarInputOutput.parBottomUmol
path:
  v: EnvironmentalMonitoringLogicalModel.solarInputOutput.parBottomUmol
short:
  v: PAR intensity at bottom of canopy (μmol·m⁻²·s⁻¹)
definition:
  v: PAR intensity at bottom of canopy (μmol·m⁻²·s⁻¹)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.solarInputOutput.parBottomUmol
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.solarInputOutput.solarIrradianceWm2
path:
  v: EnvironmentalMonitoringLogicalModel.solarInputOutput.solarIrradianceWm2
short:
  v: Total solar radiation on the biome exterior (W/m²)
definition:
  v: Total solar radiation on the biome exterior (W/m²)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.solarInputOutput.solarIrradianceWm2
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

short:
  v: Average solar irradiance over a period (W/m²)
definition:
  v: Average solar irradiance over a period (W/m²)
min:
  v: 0
max:
  v: 1
base:
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.thermalMass
path:
  v: EnvironmentalMonitoringLogicalModel.thermalMass
short:
  v: Thermal mass and heat storage measurements
definition:
  v: Thermal mass and heat storage measurements
min:
  v: 1
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.thermalMass
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: BackboneElement
    l: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element

id:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.id
path:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: string
      l: string
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.extension
path:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.modifierExtension
path:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
requirements:
  v: Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.concreteLoopInTempC
path:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.concreteLoopInTempC
short:
  v: Inlet water temperature (°C) into a concrete thermal mass
definition:
  v: Inlet water temperature (°C) into a concrete thermal mass
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.thermalMass.concreteLoopInTempC
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.concreteLoopOutTempC
path:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.concreteLoopOutTempC
short:
  v: Outlet water temperature (°C) from the concrete mass
definition:
  v: Outlet water temperature (°C) from the concrete mass
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.thermalMass.concreteLoopOutTempC
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.waterTankInTempC
path:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.waterTankInTempC
short:
  v: Inlet water temperature (°C) to a dedicated water thermal storage
definition:
  v: Inlet water temperature (°C) to a dedicated water thermal storage
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.thermalMass.waterTankInTempC
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.waterTankOutTempC
path:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.waterTankOutTempC
short:
  v: Outlet water temperature (°C) from the thermal storage tank
definition:
  v: Outlet water temperature (°C) from the thermal storage tank
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.thermalMass.waterTankOutTempC
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.internalTempC
path:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.internalTempC
short:
  v: General interior air temperature (°C) at a representative location
definition:
  v: General interior air temperature (°C) at a representative location
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.thermalMass.internalTempC
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.internalTempCAvg
path:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.internalTempCAvg
short:
  v: Average interior air temperature over a period (°C)
definition:
  v: Average interior air temperature over a period (°C)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.thermalMass.internalTempCAvg
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.internalTempTopC
path:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.internalTempTopC
short:
  v: Temperature at top of habitat (°C) to measure stratification
definition:
  v: Temperature at top of habitat (°C) to measure stratification
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.thermalMass.internalTempTopC
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.internalTempBottomC
path:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.internalTempBottomC
short:
  v: Temperature at bottom of habitat (°C) to measure stratification
definition:
  v: Temperature at bottom of habitat (°C) to measure stratification
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.thermalMass.internalTempBottomC
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport
short:
  v: Atmospheric conditions for life support
definition:
  v: Atmospheric conditions for life support
min:
  v: 1
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: BackboneElement
    l: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.id
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: string
      l: string
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.extension
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.modifierExtension
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
requirements:
  v: Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.co2Ppm
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.co2Ppm
short:
  v: Carbon dioxide concentration in air (parts per million)
definition:
  v: Carbon dioxide concentration in air (parts per million)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.co2Ppm
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.co2PpmAvg
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.co2PpmAvg
short:
  v: Average CO₂ concentration (ppm) over a recent interval
definition:
  v: Average CO₂ concentration (ppm) over a recent interval
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.co2PpmAvg
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.o2Percent
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.o2Percent
short:
  v: Oxygen level in the air (% by volume)
definition:
  v: Oxygen level in the air (% by volume)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.o2Percent
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.o2PercentAvg
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.o2PercentAvg
short:
  v: Average O₂ level (%) over time
definition:
  v: Average O₂ level (%) over time
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.o2PercentAvg
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.n2Percent
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.n2Percent
short:
  v: Nitrogen level in the air (% by volume) - ISS parameter
definition:
  v: Nitrogen level in the air (% by volume) - ISS parameter
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.n2Percent
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.pressureKPa
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.pressureKPa
short:
  v: Internal atmospheric pressure (kilopascals)
definition:
  v: Internal atmospheric pressure (kilopascals)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.pressureKPa
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.humidityPercent
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.humidityPercent
short:
  v: Relative humidity of air (%)
definition:
  v: Relative humidity of air (%)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.humidityPercent
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.humidityPercentAvg
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.humidityPercentAvg
short:
  v: Average relative humidity (%) over time
definition:
  v: Average relative humidity (%) over time
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.humidityPercentAvg
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.temperatureAirC
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.temperatureAirC
short:
  v: Air temperature (°C) inside habitat
definition:
  v: Air temperature (°C) inside habitat
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.temperatureAirC
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.temperatureAirCAvg
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.temperatureAirCAvg
short:
  v: Average air temperature (°C) over time
definition:
  v: Average air temperature (°C) over time
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.temperatureAirCAvg
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.h2Ppm
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.h2Ppm
short:
  v: Hydrogen level (ppm) - ISS parameter for leak detection
definition:
  v: Hydrogen level (ppm) - ISS parameter for leak detection
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.h2Ppm
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.ch4Ppm
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.ch4Ppm
short:
  v: Methane level (ppm) - ISS parameter for metabolic byproduct
definition:
  v: Methane level (ppm) - ISS parameter for metabolic byproduct
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.ch4Ppm
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl
path:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl
short:
  v: HVAC and pressure regulation parameters
definition:
  v: HVAC and pressure regulation parameters
min:
  v: 1
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.hvacPressureControl
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: BackboneElement
    l: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element

id:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.id
path:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: string
      l: string
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.extension
path:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.modifierExtension
path:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
requirements:
  v: Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.pressureDiffPa
path:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.pressureDiffPa
short:
  v: Differential pressure between interior and exterior (Pa)
definition:
  v: Differential pressure between interior and exterior (Pa)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.pressureDiffPa
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.lungPositionPercent
path:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.lungPositionPercent
short:
  v: Expansion level of the external lung chamber (% of capacity)
definition:
  v: Expansion level of the external lung chamber (% of capacity)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.lungPositionPercent
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.airflowRateCms
path:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.airflowRateCms
short:
  v: Air circulation flow rate through the HVAC system (m³/s)
definition:
  v: Air circulation flow rate through the HVAC system (m³/s)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.airflowRateCms
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.heatExchangerInC
path:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.heatExchangerInC
short:
  v: Air or fluid temperature into a heat exchanger unit (°C)
definition:
  v: Air or fluid temperature into a heat exchanger unit (°C)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.heatExchangerInC
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.heatExchangerOutC
path:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.heatExchangerOutC
short:
  v: Outlet temperature after the exchanger (°C)
definition:
  v: Outlet temperature after the exchanger (°C)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.heatExchangerOutC
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth
path:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth
short:
  v: Biome health indicators for water and air quality
definition:
  v: Biome health indicators for water and air quality
min:
  v: 1
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.biomeHealth
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: BackboneElement
    l: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element

id:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth.id
path:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: string
      l: string
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth.extension
path:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth.modifierExtension
path:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
requirements:
  v: Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth.waterPH
path:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth.waterPH
short:
  v: pH level of habitat's water supply or nutrient solution
definition:
  v: pH level of habitat's water supply or nutrient solution
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.biomeHealth.waterPH
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth.ozonePpm
path:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth.ozonePpm
short:
  v: Ozone concentration in the air (ppm)
definition:
  v: Ozone concentration in the air (ppm)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.biomeHealth.ozonePpm
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth.habitatHumidityPercent
path:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth.habitatHumidityPercent
short:
  v: Habitat living-area relative humidity (%)
definition:
  v: Habitat living-area relative humidity (%)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.biomeHealth.habitatHumidityPercent
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth.soilMoisturePercent
path:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth.soilMoisturePercent
short:
  v: Soil or growth-medium moisture content (% volumetric water content)
definition:
  v: Soil or growth-medium moisture content (% volumetric water content)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.biomeHealth.soilMoisturePercent
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth.vocPpm
path:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth.vocPpm
short:
  v: Volatile Organic Compounds level (ppm of VOCs)
definition:
  v: Volatile Organic Compounds level (ppm of VOCs)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.biomeHealth.vocPpm
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.externalEnvironment
path:
  v: EnvironmentalMonitoringLogicalModel.externalEnvironment
short:
  v: External environment parameters
definition:
  v: External environment parameters
min:
  v: 1
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.externalEnvironment
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: BackboneElement
    l: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element

id:
  v: EnvironmentalMonitoringLogicalModel.externalEnvironment.id
path:
  v: EnvironmentalMonitoringLogicalModel.externalEnvironment.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: string
      l: string
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: EnvironmentalMonitoringLogicalModel.externalEnvironment.extension
path:
  v: EnvironmentalMonitoringLogicalModel.externalEnvironment.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: EnvironmentalMonitoringLogicalModel.externalEnvironment.modifierExtension
path:
  v: EnvironmentalMonitoringLogicalModel.externalEnvironment.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
requirements:
  v: Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: EnvironmentalMonitoringLogicalModel.externalEnvironment.externalTempC
path:
  v: EnvironmentalMonitoringLogicalModel.externalEnvironment.externalTempC
short:
  v: Outside ambient temperature (°C)
definition:
  v: Outside ambient temperature (°C)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.externalEnvironment.externalTempC
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.externalEnvironment.externalHumidityPercent
path:
  v: EnvironmentalMonitoringLogicalModel.externalEnvironment.externalHumidityPercent
short:
  v: Outside relative humidity (%)
definition:
  v: Outside relative humidity (%)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.externalEnvironment.externalHumidityPercent
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.externalEnvironment.externalPressureHPa
path:
  v: EnvironmentalMonitoringLogicalModel.externalEnvironment.externalPressureHPa
short:
  v: External barometric pressure (hPa)
definition:
  v: External barometric pressure (hPa)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.externalEnvironment.externalPressureHPa
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.externalEnvironment.externalSolarWm2
path:
  v: EnvironmentalMonitoringLogicalModel.externalEnvironment.externalSolarWm2
short:
  v: Solar irradiance outside (W/m²)
definition:
  v: Solar irradiance outside (W/m²)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.externalEnvironment.externalSolarWm2
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.timestamp
path:
  v: EnvironmentalMonitoringLogicalModel.timestamp
short:
  v: Timestamp of data collection
definition:
  v: Timestamp of data collection
min:
  v: 1
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.timestamp
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: dateTime
    l: dateTime

id:
  v: EnvironmentalMonitoringLogicalModel.deviceId
path:
  v: EnvironmentalMonitoringLogicalModel.deviceId
short:
  v: ID of monitoring system or sensor network
definition:
  v: ID of monitoring system or sensor network
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.deviceId
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string

id:
  v: EnvironmentalMonitoringLogicalModel.location
path:
  v: EnvironmentalMonitoringLogicalModel.location
short:
  v: Location identifier (habitat section, greenhouse zone, etc.)
definition:
  v: Location identifier (habitat section, greenhouse zone, etc.)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EnvironmentalMonitoringLogicalModel.location
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string

element:
  id:
    v: EnvironmentalMonitoringLogicalModel
  path:
    v: EnvironmentalMonitoringLogicalModel
  short:
    v: Environmental Monitoring API for Closed Biome Systems
  definition:
    v: A logical model representing the comprehensive environmental monitoring parameters for closed biome systems, including space habitats, lunar/Mars colonies, and Earth-based smart greenhouses.
element:
  id:
    v: EnvironmentalMonitoringLogicalModel.solarInputOutput
  path:
    v: EnvironmentalMonitoringLogicalModel.solarInputOutput
  short:
    v: Solar radiation and PAR measurements
  definition:
    v: Solar radiation and PAR measurements
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: BackboneElement
      l: BackboneElement
element:
  id:
    v: EnvironmentalMonitoringLogicalModel.solarInputOutput.parTopUmol
  path:
    v: EnvironmentalMonitoringLogicalModel.solarInputOutput.parTopUmol
  short:
    v: PAR light intensity at top of canopy (μmol·m⁻²·s⁻¹)
  definition:
    v: PAR light intensity at top of canopy (μmol·m⁻²·s⁻¹)
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: decimal
      l: decimal
element:
  id:
    v: EnvironmentalMonitoringLogicalModel.solarInputOutput.parTopUmolAvg
  path:
    v: EnvironmentalMonitoringLogicalModel.solarInputOutput.parTopUmolAvg
  short:
    v: Average PAR at top canopy over recent period (μmol·m⁻²·s⁻¹)
  definition:
    v: Average PAR at top canopy over recent period (μmol·m⁻²·s⁻¹)
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: decimal
      l: decimal
element:
  id:
    v: EnvironmentalMonitoringLogicalModel.solarInputOutput.parMidUmol
  path:
    v: EnvironmentalMonitoringLogicalModel.solarInputOutput.parMidUmol
  short:
    v: PAR intensity at mid-canopy (μmol·m⁻²·s⁻¹)
  definition:
    v: PAR intensity at mid-canopy (μmol·m⁻²·s⁻¹)
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: decimal
      l: decimal
element:
  id:
    v: EnvironmentalMonitoringLogicalModel.solarInputOutput.parBottomUmol
  path:
    v: EnvironmentalMonitoringLogicalModel.solarInputOutput.parBottomUmol
  short:
    v: PAR intensity at bottom of canopy (μmol·m⁻²·s⁻¹)
  definition:
    v: PAR intensity at bottom of canopy (μmol·m⁻²·s⁻¹)
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: decimal
      l: decimal
element:
  id:
    v: EnvironmentalMonitoringLogicalModel.solarInputOutput.solarIrradianceWm2
  path:
    v: EnvironmentalMonitoringLogicalModel.solarInputOutput.solarIrradianceWm2
  short:
    v: Total solar radiation on the biome exterior (W/m²)
  definition:
    v: Total solar radiation on the biome exterior (W/m²)
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: decimal
      l: decimal
element:
  short:
    v: Average solar irradiance over a period (W/m²)
  definition:
    v: Average solar irradiance over a period (W/m²)
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: decimal
      l: decimal
element:
  id:
    v: EnvironmentalMonitoringLogicalModel.thermalMass
  path:
    v: EnvironmentalMonitoringLogicalModel.thermalMass
  short:
    v: Thermal mass and heat storage measurements
  definition:
    v: Thermal mass and heat storage measurements
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: BackboneElement
      l: BackboneElement
element:
  id:
    v: EnvironmentalMonitoringLogicalModel.thermalMass.concreteLoopInTempC
  path:
    v: EnvironmentalMonitoringLogicalModel.thermalMass.concreteLoopInTempC
  short:
    v: Inlet water temperature (°C) into a concrete thermal mass
  definition:
    v: Inlet water temperature (°C) into a concrete thermal mass
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: decimal
      l: decimal
element:
  id:
    v: EnvironmentalMonitoringLogicalModel.thermalMass.concreteLoopOutTempC
  path:
    v: EnvironmentalMonitoringLogicalModel.thermalMass.concreteLoopOutTempC
  short:
    v: Outlet water temperature (°C) from the concrete mass
  definition:
    v: Outlet water temperature (°C) from the concrete mass
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: decimal
      l: decimal
element:
  id:
    v: EnvironmentalMonitoringLogicalModel.thermalMass.waterTankInTempC
  path:
    v: EnvironmentalMonitoringLogicalModel.thermalMass.waterTankInTempC
  short:
    v: Inlet water temperature (°C) to a dedicated water thermal storage
  definition:
    v: Inlet water temperature (°C) to a dedicated water thermal storage
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: decimal
      l: decimal
element:
  id:
    v: EnvironmentalMonitoringLogicalModel.thermalMass.waterTankOutTempC
  path:
    v: EnvironmentalMonitoringLogicalModel.thermalMass.waterTankOutTempC
  short:
    v: Outlet water temperature (°C) from the thermal storage tank
  definition:
    v: Outlet water temperature (°C) from the thermal storage tank

v: 0

v: 1

code:
  v: decimal
  l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.internalTempC
path:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.internalTempC
short:
  v: General interior air temperature (°C) at a representative location
definition:
  v: General interior air temperature (°C) at a representative location
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.internalTempCAvg
path:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.internalTempCAvg
short:
  v: Average interior air temperature over a period (°C)
definition:
  v: Average interior air temperature over a period (°C)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.internalTempTopC
path:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.internalTempTopC
short:
  v: Temperature at top of habitat (°C) to measure stratification
definition:
  v: Temperature at top of habitat (°C) to measure stratification
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.internalTempBottomC
path:
  v: EnvironmentalMonitoringLogicalModel.thermalMass.internalTempBottomC
short:
  v: Temperature at bottom of habitat (°C) to measure stratification
definition:
  v: Temperature at bottom of habitat (°C) to measure stratification
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport
short:
  v: Atmospheric conditions for life support
definition:
  v: Atmospheric conditions for life support
min:
  v: 1
max:
  v: 1
type:
  code:
    v: BackboneElement
    l: BackboneElement

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.co2Ppm
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.co2Ppm
short:
  v: Carbon dioxide concentration in air (parts per million)
definition:
  v: Carbon dioxide concentration in air (parts per million)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.co2PpmAvg
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.co2PpmAvg
short:
  v: Average CO₂ concentration (ppm) over a recent interval
definition:
  v: Average CO₂ concentration (ppm) over a recent interval
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.o2Percent
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.o2Percent
short:
  v: Oxygen level in the air (% by volume)
definition:
  v: Oxygen level in the air (% by volume)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.o2PercentAvg
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.o2PercentAvg
short:
  v: Average O₂ level (%) over time
definition:
  v: Average O₂ level (%) over time
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.n2Percent
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.n2Percent
short:
  v: Nitrogen level in the air (% by volume) - ISS parameter
definition:
  v: Nitrogen level in the air (% by volume) - ISS parameter
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.pressureKPa
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.pressureKPa
short:
  v: Internal atmospheric pressure (kilopascals)
definition:
  v: Internal atmospheric pressure (kilopascals)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.humidityPercent
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.humidityPercent
short:
  v: Relative humidity of air (%)
definition:
  v: Relative humidity of air (%)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.humidityPercentAvg
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.humidityPercentAvg
short:
  v: Average relative humidity (%) over time
definition:
  v: Average relative humidity (%) over time
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.temperatureAirC
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.temperatureAirC
short:
  v: Air temperature (°C) inside habitat
definition:
  v: Air temperature (°C) inside habitat
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.temperatureAirCAvg
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.temperatureAirCAvg
short:
  v: Average air temperature (°C) over time
definition:
  v: Average air temperature (°C) over time
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.h2Ppm
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.h2Ppm
short:
  v: Hydrogen level (ppm) - ISS parameter for leak detection
definition:
  v: Hydrogen level (ppm) - ISS parameter for leak detection
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.ch4Ppm
path:
  v: EnvironmentalMonitoringLogicalModel.atmosphericLifeSupport.ch4Ppm
short:
  v: Methane level (ppm) - ISS parameter for metabolic byproduct
definition:
  v: Methane level (ppm) - ISS parameter for metabolic byproduct
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl
path:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl
short:
  v: HVAC and pressure regulation parameters
definition:
  v: HVAC and pressure regulation parameters
min:
  v: 1
max:
  v: 1
type:
  code:
    v: BackboneElement
    l: BackboneElement

id:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.pressureDiffPa
path:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.pressureDiffPa
short:
  v: Differential pressure between interior and exterior (Pa)
definition:
  v: Differential pressure between interior and exterior (Pa)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.lungPositionPercent
path:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.lungPositionPercent
short:
  v: Expansion level of the external lung chamber (% of capacity)
definition:
  v: Expansion level of the external lung chamber (% of capacity)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.airflowRateCms
path:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.airflowRateCms
short:
  v: Air circulation flow rate through the HVAC system (m³/s)
definition:
  v: Air circulation flow rate through the HVAC system (m³/s)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.heatExchangerInC
path:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.heatExchangerInC
short:
  v: Air or fluid temperature into a heat exchanger unit (°C)
definition:
  v: Air or fluid temperature into a heat exchanger unit (°C)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.heatExchangerOutC
path:
  v: EnvironmentalMonitoringLogicalModel.hvacPressureControl.heatExchangerOutC
short:
  v: Outlet temperature after the exchanger (°C)
definition:
  v: Outlet temperature after the exchanger (°C)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth
path:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth
short:
  v: Biome health indicators for water and air quality
definition:
  v: Biome health indicators for water and air quality
min:
  v: 1
max:
  v: 1
type:
  code:
    v: BackboneElement
    l: BackboneElement

id:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth.waterPH
path:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth.waterPH
short:
  v: pH level of habitat's water supply or nutrient solution
definition:
  v: pH level of habitat's water supply or nutrient solution
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth.ozonePpm
path:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth.ozonePpm
short:
  v: Ozone concentration in the air (ppm)
definition:
  v: Ozone concentration in the air (ppm)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth.habitatHumidityPercent
path:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth.habitatHumidityPercent
short:
  v: Habitat living-area relative humidity (%)
definition:
  v: Habitat living-area relative humidity (%)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth.soilMoisturePercent
path:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth.soilMoisturePercent
short:
  v: Soil or growth-medium moisture content (% volumetric water content)
definition:
  v: Soil or growth-medium moisture content (% volumetric water content)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth.vocPpm
path:
  v: EnvironmentalMonitoringLogicalModel.biomeHealth.vocPpm
short:
  v: Volatile Organic Compounds level (ppm of VOCs)
definition:
  v: Volatile Organic Compounds level (ppm of VOCs)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.externalEnvironment
path:
  v: EnvironmentalMonitoringLogicalModel.externalEnvironment
short:
  v: External environment parameters
definition:
  v: External environment parameters
min:
  v: 1
max:
  v: 1
type:
  code:
    v: BackboneElement
    l: BackboneElement

id:
  v: EnvironmentalMonitoringLogicalModel.externalEnvironment.externalTempC
path:
  v: EnvironmentalMonitoringLogicalModel.externalEnvironment.externalTempC
short:
  v: Outside ambient temperature (°C)
definition:
  v: Outside ambient temperature (°C)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.externalEnvironment.externalHumidityPercent
path:
  v: EnvironmentalMonitoringLogicalModel.externalEnvironment.externalHumidityPercent
short:
  v: Outside relative humidity (%)
definition:
  v: Outside relative humidity (%)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.externalEnvironment.externalPressureHPa
path:
  v: EnvironmentalMonitoringLogicalModel.externalEnvironment.externalPressureHPa
short:
  v: External barometric pressure (hPa)
definition:
  v: External barometric pressure (hPa)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.externalEnvironment.externalSolarWm2
path:
  v: EnvironmentalMonitoringLogicalModel.externalEnvironment.externalSolarWm2
short:
  v: Solar irradiance outside (W/m²)
definition:
  v: Solar irradiance outside (W/m²)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: decimal
    l: decimal

id:
  v: EnvironmentalMonitoringLogicalModel.timestamp
path:
  v: EnvironmentalMonitoringLogicalModel.timestamp
short:
  v: Timestamp of data collection
definition:
  v: Timestamp of data collection
min:
  v: 1
max:
  v: 1
type:
  code:
    v: dateTime
    l: dateTime

id:
  v: EnvironmentalMonitoringLogicalModel.deviceId
path:
  v: EnvironmentalMonitoringLogicalModel.deviceId
short:
  v: ID of monitoring system or sensor network
definition:
  v: ID of monitoring system or sensor network
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string
    l: string

id:
  v: EnvironmentalMonitoringLogicalModel.location
path:
  v: EnvironmentalMonitoringLogicalModel.location
short:
  v: Location identifier (habitat section, greenhouse zone, etc.)
definition:
  v: Location identifier (habitat section, greenhouse zone, etc.)
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string
    l: string