Release 5 FHIR CI-Build

This page is part of the Continuous Integration Build of FHIR Specification (v5.0.0: R5 - STU ). This is the current published version in it's permanent home (it will always (will be available incorrect/inconsistent at this URL). For a full list of available versions, see times).
See the Directory of published versions icon . Page versions: R5 R4B R4 R3

  Maturity Level : 0
Orders and Observations icon Work Group Trial Use Use Context : Any

The canonical URL for this profile is:

http://hl7.org/fhir/StructureDefinition/bmi

FHIR Body Mass Index (BMI) Profile

This profile was published on Sat, Aug 11, 2018 00:00+1000 00:00+0000 as a draft by Health Level Seven HL7 International (Orders / Orders and Observations Workgroup). Observations.

Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work .

This structure is derived from Observationvitalsigns Observationvitalsignsbase .

Summary

  1. One code in Observation.code Observation.category which must have
    • a fixed Observation.code.coding.system Observation.category.coding.system = 'http ://loinc.org'
    • a fixed Observation.code.coding.code Observation.category.coding.code = '39156-5'
    • Other additional Codings are allowed The code (or codes) for the measurement obtained in Observation.code - e.g. more specific LOINC Codes, SNOMED CT concepts, system specific codes. . All codes SHALL have a system value
  2. Either one Observation.valueQuantity or, if there is no value, one code in Observation.DataAbsentReason
    • Each Observation.valueQuantity must have:
      • One numeric value in Observation.valueQuantity.value
      • a fixed Observation.valueQuantity.system="http://unitsofmeasure.org"
      • a UCUM unit code in Observation.valueQuantity.code = 'kg/m2'

Mandatory: 8 elements Must-Support: 4 elements Fixed Value: 4 3 elements

Slices This structure defines the following Slices : The element Observation.code.coding is sliced based on the values of value:code, value:system

This indicates the differences between this profile and the base Observationvitalsigns Observationvitalsignsbase structure.

Name icon Flags icon Card. icon Type icon Description & Constraints icon doco icon
. . Observation C icon 0..* 0 .. * Observationvitalsigns Observationvitalsignsbase FHIR Body Mass Index (BMI) Profile
Constraints: vs-4
. . . code S 1 .. 1 CodeableConcept Body Mass Index (BMI) Slices for coding
0 Binding: .. Vital Signs - BMI * ( Coding preferred ) : Code defined by a terminology system This identifies the set of LOINC codes that are appropriate for representing body mass index (BMI) vital sign measurements in Observation.code.
Slice: Required Pattern: Unordered, Open by value:code, value:system At least the following
. . coding:BMICode . . coding 1..1 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
. . . . . system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
. . . . . code 1..1 code Symbol in syntax defined by the system
Fixed Value: 39156-5
. . . valueQuantity 1..1 S C icon Quantity Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. 0 value S .. 1 1..1 decimal Quantity Numerical value (with implicit precision) The quantity for the vital sign being observed.
unit Binding: BMI Units S ( 1..1 string required ) : Unit representation kg/m2
. . system . dataAbsentReason S 1..1 C icon uri System that defines coded unit form Fixed Value: 0 http://unitsofmeasure.org .. code S 1 1..1 code CodeableConcept Coded responses from Why the common UCUM units for vital signs result value set. Fixed Value: kg/m2 is missing

doco Documentation for this format icon

This provides the consolidated view (aka snapshot) of the profile after applying the changes in this profile to the base Observationvitalsigns Observationvitalsignsbase structure.

TU S Σ S Σ Σ S Σ C Σ C Σ Σ Σ 0 .. * 1..1 Coding Code defined by a terminology system Σ Σ Σ C Σ C Σ Σ Often just a dateTime for Vital Signs effectiveDateTime effectivePeriod Period S unit S Σ 1..1 string Unit representation 1..1 C C TU TU TU S Used when reporting systolic and diastolic blood pressure. S Type of S S
Name icon Flags icon Card. icon Type icon Description & Constraints icon doco icon
. . Observation C icon 0..* Observationvitalsigns Observationvitalsignsbase FHIR Body Mass Index (BMI) Profile
Constraints: vs-4
. . . id Σ 0..1 id Logical id of this artifact
. . . meta Σ 0..1 Meta Metadata about the resource
. . . implicitRules ?! Σ 0..1 uri A set of rules under which this content was created
. . . language 0..1 code Language of the resource content
Binding: All Languages ( required ): ) : IETF language tag for a human language
Additional Bindings Purpose
Common Languages Starter
. . . text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
. . . contained 0..* Resource Contained, inline Resources
. . . extension 0..* Extension Additional content defined by implementations
. . . modifierExtension ?! Σ 0..* Extension Extensions that cannot be ignored
. . . identifier Σ 0..* Identifier Business Identifier for observation
. . . instantiates[x] Σ TU 0..1 canonical ( ObservationDefinition ), Reference ( ObservationDefinition ) Instantiates FHIR ObservationDefinition basedOn Σ 0..* Reference ( CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest ) Fulfills plan, proposal or order
. . . triggeredBy 0..* BackboneElement Triggering observation(s)
. . . . id 0..1 string Unique id for inter-element referencing
. . . . extension 0..* Extension Additional content defined by implementations
. . . . modifierExtension ?! Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
. . . . observation Σ 1..1 Reference ( Observation ) Triggering observation
. . . . type Σ 1..1 code reflex | repeat | re-run
Binding: triggered Bytype ( required ): ) : The type of TriggeredBy Observation.
. . . . reason 0..1 string Reason that the observation was triggered
. . . partOf Σ 0..* Reference ( MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy | GenomicStudy ) Part of referenced event
. . . status ?! S Σ 1..1 code registered | specimen-in-process | preliminary | final | amended + | corrected | appended | cancelled | entered-in-error | unknown | cannot-be-obtained
Binding: Observation Status ( required ) : Codes providing the status of an observation.
. . . Slices for category S 1 .. * CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:coding.code, value:coding.system pattern:$this
Binding: Observation Category Codes ( preferred ) : : Codes for high level observation categories.
. . . . category:VSCat S 1..1 CodeableConcept Classification of type of observation
Binding: Observation Category Codes ( preferred ): ) : Codes for high level observation categories.

Required Pattern: At least the following
. . . . . id 0..1 id string Unique id for inter-element referencing
. . . . . extension 0..* Extension Additional content defined by implementations Slice: Unordered, Open by value:url
. . . . . coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
. . . . . . id 0..1 id string Unique id for inter-element referencing
. . . . . . extension 0..* Extension Additional content defined by implementations Slice: Unordered, Open by value:url
. . . . . . system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
. . . . . . version 0..1 string Version of the system - if relevant
. . . . . . code 1..1 code Symbol in syntax defined by the system
Fixed Value: vital-signs
. . . . . . display 0..1 string Representation defined by the system
. . . . . . userSelected 0..1 boolean If this coding was chosen directly by the user
. . . . . text 0..1 string Plain text representation of the concept
. . . code S Σ C icon 1..1 CodeableConcept Body Mass Index (BMI)
Binding: Vital Signs - BMI ( extensible preferred ): ) : This identifies the set of LOINC codes that are appropriate for representing body mass index (BMI) vital sign result type. Original source C-CDA R1.1 , HITSP Vital Sign Result Type. measurements in Observation.code.
Required Pattern: At least the following
. . . . id 0..1 id string Unique id for inter-element referencing
. . . . extension 0..* Extension Additional content defined by implementations Slice: Unordered, Open by value:url
. . . Slices for . coding 1..* Coding Code defined by a terminology system Slice:
Unordered, Open by value:code, value:system Fixed Value: coding:BMICode Σ (Complex)
. . . . . id 0..1 id string Unique id for inter-element referencing
. . . . . extension 0..* Extension Additional content defined by implementations Slice: Unordered, Open by value:url
. . . . . system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
. . . . . version 0..1 string Version of the system - if relevant
. . . . . code 1..1 code Symbol in syntax defined by the system
Fixed Value: 39156-5
. . . . . display 0..1 string Representation defined by the system
. . . . . userSelected 0..1 boolean If this coding was chosen directly by the user
. . . . text 0..1 string Plain text representation of the concept
. . . subject S Σ 1..1 Reference ( Patient ) Who and/or what the observation is about
. . . focus ?! Σ TU 0..* Reference ( Resource ) What the observation is about, when it is not about the subject of record
. . . organizer Σ C icon 0..1 boolean This observation organizes/groups a set of sub-observations
... encounter Σ 0..1 Reference ( Encounter ) Healthcare event during which this observation is made made. If you need to place the observation within one or more episodes of care, use the workflow-episodeOfCare extension
. . . effective[x] S Σ C icon 1..1 dateTime Vital Signs are point in time measurements and are recorded using the dateTime data type
. . . issued Σ 0..1 instant Date/Time this version was made available
. . . performer Σ 0..* Reference ( Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson | HealthcareService | Group ) Who is responsible for the observation
. . . Slices for value[x] Σ C icon 1 0 .. 1 Quantity Vital Signs value are recorded using The quantity for the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. vital sign being observed.
Slice: Unordered, Closed by type:$this value[x]:valueQuantity S
Σ Binding: C 1..1 Quantity Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. id 0..1 id Unique id for inter-element referencing extension 0..* Extension Additional content defined by implementations Slice: Unordered, Open by value:url value Units S Σ ( 1..1 decimal Numerical value (with implicit precision) comparator preferred ?! ) Σ : 0..1 code < | <= | >= | > | ad - how to understand the value Binding: Commonly encountered UCUM units for recording Vital Signs. QuantityComparator ( required ): How the Quantity should be understood and represented.
. . . system . value[x]:valueQuantity S Σ C icon 0..1 uri Quantity The quantity for the vital sign being observed.
System that defines coded unit form Fixed Value: http://unitsofmeasure.org Binding: code BMI Units S Σ ( C 1..1 code required Coded responses from the common UCUM units for vital signs value set. ) Fixed Value: : kg/m2
. . . dataAbsentReason S C icon 0..1 CodeableConcept Why the result value is missing
Binding: Data Absent Reason ( extensible ): ) : Codes specifying why the result ( Observation.value[x] ) is missing.
. . . interpretation 0..* CodeableConcept High, low, normal, etc
Binding: Observation Interpretation Codes ( extensible ): ) : Codes identifying interpretations of observations.
. . . interpretationContext 0..* CodeableReference ( Resource ) Context for understanding the observation
Binding: Observation Interpretation Context Codes ( example ) : Codes identifying contextual factors that affect interpretation of observations.
. . . note 0..* Annotation Comments about the observation
. . . bodySite 0..1 CodeableConcept DEPRECATED: Observed body part
Binding: SNOMED CT Body Structures ( example ): ) : SNOMED CT Body site concepts
. . . bodyStructure 0..1 Reference CodeableReference ( BodyStructure ) Observed body structure
Binding: SNOMED CT Body Structures ( example ) : SNOMED CT Body Structures
. . . method 0..1 CodeableConcept How it was done
Binding: Observation Methods ( example ): ) : Methods for simple observations.
. . . specimen C icon 0..1 Reference ( Specimen | Group ) Specimen used for this observation
. . . device 0..1 Reference ( Device | DeviceMetric ) A reference to the device that generates the measurements or the device settings for the device
. . . referenceRange C icon 0..* BackboneElement Provides guide for interpretation
. . . . id 0..1 string Unique id for inter-element referencing
. . . . extension 0..* Extension Additional content defined by implementations
. . . . modifierExtension ?! Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
. . . . low C icon 0..1 SimpleQuantity Quantity Low Range, if relevant
. . . . high C icon 0..1 SimpleQuantity Quantity High Range, if relevant
. . . . normalValue 0..1 CodeableConcept Normal value, if relevant
Binding: Observation Reference Range Normal Value Codes ( extensible example ): ) : Codes identifying the normal value of the observation.
. . . . type 0..1 CodeableConcept Reference range qualifier
Binding: Observation Reference Range Meaning Codes ( preferred ): ) : Code for the meaning of a reference range.
. . . . appliesTo 0..* CodeableConcept Reference range population
Binding: Observation Reference Range Applies To Codes ( example ): ) : Codes identifying the population the reference range applies to.
. . . . age 0..1 Range Applicable age range, if relevant
. . . . text C icon 0..1 markdown Text based reference range in an observation
. . . hasMember Σ 0..* Reference ( QuestionnaireResponse | MolecularSequence | Vital Signs Profile Observation ) Used when reporting observations included in a vital signs panel components
. . . derivedFrom Σ 0..* Reference ( DocumentReference | ImagingStudy | QuestionnaireResponse | MolecularSequence | Vital Signs Profile Observation ) Related resource from which the observation is made
. . . component Σ C icon 0..* BackboneElement Component results
. . . . id 0..1 string Unique id for inter-element referencing
. . . . extension 0..* Extension Additional content defined by implementations
. . . . modifierExtension ?! Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
. . . . code Σ C icon 1..1 CodeableConcept Vital Sign measurement or component observation (code / type)
Binding: Vital Signs LOINC codes with Observation or Both ( extensible example ): This identifies the vital sign result type. Original source C-CDA R1.1 , HITSP Vital Sign Result Type. ) : Codes identifying names of simple observations.
. . . . Slices for value[x] Σ C icon 0 .. 1 Vital Sign Value The value for the vital sign component being observed.
Slice: Unordered, Open by type:$this
. . . . . valueQuantity Quantity
. . . . . valueCodeableConcept CodeableConcept
. . . . . valueString string
. . . . . valueBoolean boolean
. . . . . valueInteger integer
. . . . . valueRange Range
. . . . . valueRatio Ratio
. . . . . valueSampledData SampledData
. . . . . valueTime time
. . . . . valueDateTime dateTime
. . . . . valuePeriod Period
. . . . . valueAttachment Attachment
. . . . . valueReference Reference ( MolecularSequence MolecularDefinition )
. . . . . value[x]:valueQuantity Σ C icon 0..1 Quantity Vital Sign Value component value recorded as a component with UCUM (preferred)
Binding: UCUM units - for recording Vital Signs Units and components. icon ( required preferred ): Commonly encountered ) : UCUM units - for recording Vital Signs. Signs and components.
. . . . dataAbsentReason S C icon 0..1 CodeableConcept Why the component result value is missing
Binding: Data Absent Reason ( extensible ): ) : Codes specifying why the result ( Observation.value[x] ) is missing.
. . . . interpretation 0..* CodeableConcept High, low, normal, etc
Binding: Observation Interpretation Codes ( extensible ): ) : Codes identifying interpretations of observations.
. . . . referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result value

doco Documentation for this format icon
<!-- Observationbmi -->doco

<Observation xmlns="http://hl7.org/fhir"
>
  <!-- from Element: extension -->
 <id value="[id]"/><!-- 0..1 Logical id of this artifact -->
 <meta><!-- I 0..1 Meta Metadata about the resource --></meta>
 <

 <implicitRules value="[uri]"/><!-- I 0..1 A set of rules under which this content was created -->

 <language value="[code]"/><!-- I 0..1 Language of the resource content   -->
 <text><!-- I 0..1 Narrative 
     Text summary of the resource, for human interpretation --></text>
 <contained><!-- 0..* Resource Contained, inline Resources --></contained>
 <<a href="bmi-definitions.html#Observation.modifierExtension" title="May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it 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 managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to 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) (this element modifies the meaning of other elements)" class="dict"></modifierExtension>

 <modifierExtension><!-- I 0..* Extension  Extensions that cannot be ignored  --></modifierExtension>

 <identifier><!-- I 0..* Identifier 
     Business Identifier for observation --></identifier>
 <
     Instantiates FHIR ObservationDefinition</instantiates[x]>

 <basedOn><!-- I 0..* Reference(CarePlan) Fulfills plan, proposal or order --></basedOn>
 <
  <<a href="bmi-definitions.html#Observation.triggeredBy.modifierExtension" title="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 managable, 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) (this element modifies the meaning of other elements)" class="dict"></modifierExtension>

 <triggeredBy> I 0..* BackboneElement  <!-- I 0..* Triggering observation(s) -->
  <modifierExtension><!-- I 0..* Extension  Extensions that cannot be ignored even if unrecognized  --></modifierExtension>

  <observation><!-- I 1..1 Reference(Observation) 
      Triggering observation --></observation>
  <<a href="bmi-definitions.html#Observation.triggeredBy.type" title="The type of trigger.

  <type value="[code]"/><!-- I 1..1 reflex | repeat | re-run   -->
  <reason value="[string]"/><!-- I 0..1 Reason that the observation was triggered -->
 </triggeredBy>
 <partOf><!-- I 0..* Reference(MedicationAdministration) Part of referenced event --></partOf>
 <
 
 <
  <
   <
   <
   <
   <
   <
  </coding>
  <
 </category>
 <
  
  <
   <
   <
   <
   <
   <
  </coding>
  <
 </code>

 <status value="[code]"/><!-- I 1..1 registered | specimen-in-process | preliminary | final | amended | corrected | appended | cancelled | entered-in-error | unknown | cannot-be-obtained   -->
 <-- category sliced by pattern:$this  in the specified orderOpen-->

 <category><!-- I 1..1 CodeableConcept Classification of  type of observation   --></category>
 <code><!-- I 1..1 CodeableConcept Body Mass Index (BMI)   --></code>

 <subject><!-- I 1..1 Reference(Patient) 
     Who and/or what the observation is about --></subject>
 <

 <focus><!-- I 0..* Reference(Resource) 

     What the observation is about, when it is not about the subject of record --></focus>
 <organizer value="[boolean]"/><!-- I 0..1 This observation organizes/groups a set of sub-observations -->

 <encounter><!-- I 0..1 Reference(Encounter) 
     Healthcare event during which this observation is made</encounter>
 <
     Often just a dateTime for Vital Signs</effective[x]>

     Healthcare event during which this observation is made. If you need to place the observation within one or more episodes of care, use the workflow-episodeOfCare extension --></encounter>
 <effectiveDateTime value="[dateTime]"/><!-- I 1..1 
     Vital Signs are point in time measurements and are recorded using the dateTime data type -->

 <issued value="[instant]"/><!-- I 0..1 Date/Time this version was made available -->
 <performer><!-- I 0..* Reference(Practitioner) 
     Who is responsible for the observation --></performer>
 <-- valueQuantity sliced by type:$this  in the specified orderClosed-->
 <
  <
  <
  <
  <
  <
 </valueQuantity>
 <</dataAbsentReason>

 <valueQuantity><!-- I 0..1 Quantity The quantity for the vital sign being observed.   --></valueQuantity>
 <dataAbsentReason><!-- I 0..1 CodeableConcept Why the result value is missing   --></dataAbsentReason>

 <interpretation><!-- I 0..* CodeableConcept High, low, normal, etc   --></interpretation>
 <interpretationContext><!-- I 0..* CodeableReference Context for understanding the observation   --></interpretationContext>

 <note><!-- I 0..* Annotation Comments about the observation --></note>
 <</bodySite>
 <</bodyStructure>

 <bodySite><!-- I 0..1 CodeableConcept DEPRECATED: Observed body part   --></bodySite>
 <bodyStructure><!-- I 0..1 CodeableReference Observed body structure   --></bodyStructure>

 <method><!-- I 0..1 CodeableConcept How it was done   --></method>
 <specimen><!-- I 0..1 Reference(Specimen) Specimen used for this observation --></specimen>
 <device><!-- I 0..1 Reference(Device) 
     A reference to the device that generates the measurements or the device settings for the device --></device>
 <
  <<a href="bmi-definitions.html#Observation.referenceRange.modifierExtension" title="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 managable, 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) (this element modifies the meaning of other elements)" class="dict"></modifierExtension>
  <

 <referenceRange> I 0..* BackboneElement  <!-- I 0..* Provides guide for interpretation -->
  <modifierExtension><!-- I 0..* Extension  Extensions that cannot be ignored even if unrecognized  --></modifierExtension>
  <low><!-- I 0..1 Quantity 

      Low Range, if relevant --></low>
  <

  <high><!-- I 0..1 Quantity 

      High Range, if relevant --></high>
  <normalValue><!-- I 0..1 CodeableConcept Normal value, if relevant   --></normalValue>
  <type><!-- I 0..1 CodeableConcept Reference range qualifier   --></type>
  <appliesTo><!-- I 0..* CodeableConcept Reference range population   --></appliesTo>
  <age><!-- I 0..1 Range 
      Applicable age range, if relevant --></age>
  <text value="[markdown]"/><!-- I 0..1 Text based reference range in an observation -->
 </referenceRange>
 <
     Used when reporting vital signs panel components</hasMember>

 <hasMember><!-- I 0..* Reference(Observation) 
     Used when reporting observations included in a vital signs panel --></hasMember>

 <derivedFrom><!-- I 0..* Reference(DocumentReference) 
     Related resource from which the observation is made --></derivedFrom>
 <
  <<a href="bmi-definitions.html#Observation.component.modifierExtension" title="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 managable, 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) (this element modifies the meaning of other elements)" class="dict"></modifierExtension>
  <</code>

 <component> I 0..* BackboneElement  <!-- I 0..* Component results -->
  <modifierExtension><!-- I 0..* Extension  Extensions that cannot be ignored even if unrecognized  --></modifierExtension>
  <code><!-- I 1..1 CodeableConcept Vital Sign measurement or component   --></code>

  <-- value[x] sliced by type:$this  in the specified orderOpen-->
  <</valueQuantity>
  <</dataAbsentReason>

  <valueQuantity><!-- I 0..1 Quantity Vital Sign component value recorded as a component with UCUM (preferred) icon   --></valueQuantity>
  <dataAbsentReason><!-- I 0..1 CodeableConcept Why the component result value is missing   --></dataAbsentReason>

  <interpretation><!-- I 0..* CodeableConcept High, low, normal, etc   --></interpretation>
  <</referenceRange>

  <referenceRange><!-- See http://hl7.org/fhir/StructureDefinition/Observation#Observation.referenceRange  Provides guide for interpretation of component result value --></referenceRange>

 </component>
</Observation>
{ // Observationbmi
  // from Element: extension
    "meta" : { Meta }, // IMetadata about the resource
    "

    "implicitRules" : "<uri>", // IA set of rules under which this content was created

    "language" : "<code>", // ILanguage of the resource content
    "text" : { Narrative }, // IText summary of the resource, for human interpretation
    "contained" : [{ Resource }], //Contained, inline Resources
    "<a href="bmi-definitions.html#Observation.modifierExtension" title="May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it 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 managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to 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) (this element modifies the meaning of other elements)" class="dict">

    "modifierExtension" : [{ Extension }], // IExtensions that cannot be ignored

    "identifier" : [{ Identifier }], // IBusiness Identifier for observation

    "
    "

    "basedOn" : [{ Reference(CarePlan) }], // IFulfills plan, proposal or order
    "

    "triggeredBy" : [{ BackboneElement }], // ITriggering observation(s)

    "partOf" : [{ Reference(MedicationAdministration) }], // IPart of referenced event
    "
    " 

    "status" : "<code>", // I R! registered | specimen-in-process | preliminary | final | amended | corrected | appended | cancelled | entered-in-error | unknown | cannot-be-obtained
    "category" : [ //  sliced by pattern:$this  in the specified order, Open 

      { // Classification of  type of observation // I R! 
        // from Element: extension
        " ]
        "
        "

      }
    ],
    "

    "code" : { CodeableConcept }, // I R! Body Mass Index (BMI)

    "subject" : { Reference(Patient) }, // I R! Who and/or what the observation is about
    "
    "

    "
    "

    "focus" : [{ Reference(Resource) }], // IWhat the observation is about, when it is not about the subject of record
    "organizer" : <boolean>, // IThis observation organizes/groups a set of sub-observations
    "encounter" : { Reference(Encounter) }, // IHealthcare event during which this observation is made. If you need to place the observation within one or more episodes of care, use the workflow-episodeOfCare extension
    "effectiveDateTime" : "<dateTime>", // I R! Vital Signs are point in time measurements and are recorded using the dateTime data type

    "issued" : "<instant>", // IDate/Time this version was made available
    "performer" : [{ Reference(Practitioner) }], // IWho is responsible for the observation
    " 
      { //  

    "valueQuantity" : [ //  sliced by type:$this  in the specified order, Closed 
      { // The quantity for the vital sign being observed. // I

        // from Element: extension
        " ]
        "
        "
        "
        " 
        " 

      }
    ],
    "

    "dataAbsentReason" : { CodeableConcept }, // IWhy the result value is missing

    "interpretation" : [{ CodeableConcept }], // IHigh, low, normal, etc
    "interpretationContext" : [{ CodeableReference(Resource) }], // IContext for understanding the observation

    "note" : [{ Annotation }], // IComments about the observation
    "
    "

    "bodySite" : { CodeableConcept }, // IDEPRECATED: Observed body part
    "bodyStructure" : { CodeableReference(BodyStructure) }, // IObserved body structure

    "method" : { CodeableConcept }, // IHow it was done
    "specimen" : { Reference(Specimen) }, // ISpecimen used for this observation
    "device" : { Reference(Device) }, // IA reference to the device that generates the measurements or the device settings for the device
    "
    "

    "referenceRange" : [{ BackboneElement }], // IProvides guide for interpretation
    "hasMember" : [{ Reference(Observation) }], // IUsed when reporting observations included in a vital signs panel

    "derivedFrom" : [{ Reference(DocumentReference) }], // IRelated resource from which the observation is made
    "

    "component" : [{ BackboneElement }], // IComponent results

  }

This structure is derived from Observationvitalsigns Observationvitalsignsbase .

Summary

  1. One code in Observation.code Observation.category which must have
    • a fixed Observation.code.coding.system Observation.category.coding.system = 'http ://loinc.org'
    • a fixed Observation.code.coding.code Observation.category.coding.code = '39156-5'
    • Other additional Codings are allowed The code (or codes) for the measurement obtained in Observation.code - e.g. more specific LOINC Codes, SNOMED CT concepts, system specific codes. . All codes SHALL have a system value
  2. Either one Observation.valueQuantity or, if there is no value, one code in Observation.DataAbsentReason
    • Each Observation.valueQuantity must have:
      • One numeric value in Observation.valueQuantity.value
      • a fixed Observation.valueQuantity.system="http://unitsofmeasure.org"
      • a UCUM unit code in Observation.valueQuantity.code = 'kg/m2'

Mandatory: 8 elements Must-Support: 4 elements Fixed Value: 4 3 elements

Slices This structure defines the following Slices : The element Observation.code.coding is sliced based on the values of value:code, value:system

Differential View

This indicates the differences between this profile and the base Observationvitalsigns Observationvitalsignsbase structure.

Name icon Flags icon Card. icon Type icon Description & Constraints icon doco icon
. . Observation C icon 0..* 0 .. * Observationvitalsigns Observationvitalsignsbase FHIR Body Mass Index (BMI) Profile
Constraints: vs-4
. . . code S 1 .. 1 CodeableConcept Body Mass Index (BMI) Slices for coding
0 Binding: .. Vital Signs - BMI * ( Coding preferred ) : Code defined by a terminology system This identifies the set of LOINC codes that are appropriate for representing body mass index (BMI) vital sign measurements in Observation.code.
Slice: Required Pattern: Unordered, Open by value:code, value:system At least the following
. . coding:BMICode . . coding 1..1 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
. . . . . system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
. . . . . code 1..1 code Symbol in syntax defined by the system
Fixed Value: 39156-5
. . . valueQuantity 1..1 S C icon Quantity Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. 0 value S .. 1 1..1 decimal Quantity Numerical value (with implicit precision) The quantity for the vital sign being observed.
unit Binding: BMI Units S ( 1..1 string required ) : Unit representation kg/m2
. . system . dataAbsentReason S 1..1 C icon uri System that defines coded unit form Fixed Value: 0 http://unitsofmeasure.org .. code S 1 1..1 code CodeableConcept Coded responses from Why the common UCUM units for vital signs result value set. Fixed Value: kg/m2 is missing

doco Documentation for this format icon

Snapshot View

This provides the consolidated view (aka snapshot) of the profile after applying the changes in this profile to the base Observationvitalsigns Observationvitalsignsbase structure.

TU S Σ S Σ Σ S Σ C Σ C Σ Σ Σ 0 .. * 1..1 Coding Code defined by a terminology system Σ Σ Σ C Σ C Σ Σ Often just a dateTime for Vital Signs effectiveDateTime effectivePeriod Period S 1..1 string Unit representation 1..1 C C TU TU TU S Used when reporting systolic and diastolic blood pressure. S Type of S S
Name icon Flags icon Card. icon Type icon Description & Constraints icon doco icon
. . Observation C icon 0..* Observationvitalsigns Observationvitalsignsbase FHIR Body Mass Index (BMI) Profile
Constraints: vs-4
. . . id Σ 0..1 id Logical id of this artifact
. . . meta Σ 0..1 Meta Metadata about the resource
. . . implicitRules ?! Σ 0..1 uri A set of rules under which this content was created
. . . language 0..1 code Language of the resource content
Binding: All Languages ( required ): ) : IETF language tag for a human language
Additional Bindings Purpose
Common Languages Starter
. . . text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
. . . contained 0..* Resource Contained, inline Resources
. . . extension 0..* Extension Additional content defined by implementations
. . . modifierExtension ?! Σ 0..* Extension Extensions that cannot be ignored
. . . identifier Σ 0..* Identifier Business Identifier for observation
. . . instantiates[x] Σ TU 0..1 canonical ( ObservationDefinition ), Reference ( ObservationDefinition ) Instantiates FHIR ObservationDefinition basedOn Σ 0..* Reference ( CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest ) Fulfills plan, proposal or order
. . . triggeredBy 0..* BackboneElement Triggering observation(s)
. . . . id 0..1 string Unique id for inter-element referencing
. . . . extension 0..* Extension Additional content defined by implementations
. . . . modifierExtension ?! Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
. . . . observation Σ 1..1 Reference ( Observation ) Triggering observation
. . . . type Σ 1..1 code reflex | repeat | re-run
Binding: triggered Bytype ( required ): ) : The type of TriggeredBy Observation.
. . . . reason 0..1 string Reason that the observation was triggered
. . . partOf Σ 0..* Reference ( MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy | GenomicStudy ) Part of referenced event
. . . status ?! S Σ 1..1 code registered | specimen-in-process | preliminary | final | amended + | corrected | appended | cancelled | entered-in-error | unknown | cannot-be-obtained
Binding: Observation Status ( required ) : Codes providing the status of an observation.
. . . Slices for category S 1 .. * CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:coding.code, value:coding.system pattern:$this
Binding: Observation Category Codes ( preferred ) : : Codes for high level observation categories.
. . . . category:VSCat S 1..1 CodeableConcept Classification of type of observation
Binding: Observation Category Codes ( preferred ): ) : Codes for high level observation categories.

Required Pattern: At least the following
. . . . . id 0..1 id string Unique id for inter-element referencing
. . . . . extension 0..* Extension Additional content defined by implementations Slice: Unordered, Open by value:url
. . . . . coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
. . . . . . id 0..1 id string Unique id for inter-element referencing
. . . . . . extension 0..* Extension Additional content defined by implementations Slice: Unordered, Open by value:url
. . . . . . system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
. . . . . . version 0..1 string Version of the system - if relevant
. . . . . . code 1..1 code Symbol in syntax defined by the system
Fixed Value: vital-signs
. . . . . . display 0..1 string Representation defined by the system
. . . . . . userSelected 0..1 boolean If this coding was chosen directly by the user
. . . . . text 0..1 string Plain text representation of the concept
. . . code S Σ C icon 1..1 CodeableConcept Body Mass Index (BMI)
Binding: Vital Signs - BMI ( extensible preferred ): ) : This identifies the set of LOINC codes that are appropriate for representing body mass index (BMI) vital sign result type. Original source C-CDA R1.1 , HITSP Vital Sign Result Type. measurements in Observation.code.
Required Pattern: At least the following
. . . . id 0..1 id string Unique id for inter-element referencing
. . . . extension 0..* Extension Additional content defined by implementations Slice: Unordered, Open by value:url
. . . Slices for . coding 1..* Coding Code defined by a terminology system Slice:
Unordered, Open by value:code, value:system Fixed Value: coding:BMICode Σ (Complex)
. . . . . id 0..1 id string Unique id for inter-element referencing
. . . . . extension 0..* Extension Additional content defined by implementations Slice: Unordered, Open by value:url
. . . . . system 1..1 uri Identity of the terminology system
Fixed Value: http://loinc.org
. . . . . version 0..1 string Version of the system - if relevant
. . . . . code 1..1 code Symbol in syntax defined by the system
Fixed Value: 39156-5
. . . . . display 0..1 string Representation defined by the system
. . . . . userSelected 0..1 boolean If this coding was chosen directly by the user
. . . . text 0..1 string Plain text representation of the concept
. . . subject S Σ 1..1 Reference ( Patient ) Who and/or what the observation is about
. . . focus ?! Σ TU 0..* Reference ( Resource ) What the observation is about, when it is not about the subject of record
. . . organizer Σ C icon 0..1 boolean This observation organizes/groups a set of sub-observations
... encounter Σ 0..1 Reference ( Encounter ) Healthcare event during which this observation is made made. If you need to place the observation within one or more episodes of care, use the workflow-episodeOfCare extension
. . . effective[x] S Σ C icon 1..1 dateTime Vital Signs are point in time measurements and are recorded using the dateTime data type
. . . issued Σ 0..1 instant Date/Time this version was made available
. . . performer Σ 0..* Reference ( Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson | HealthcareService | Group ) Who is responsible for the observation
. . . Slices for value[x] Σ C icon 1 0 .. 1 Quantity Vital Signs value are recorded using The quantity for the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. vital sign being observed.
Slice: Unordered, Closed by type:$this value[x]:valueQuantity S
Σ Binding: C 1..1 Quantity Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. id 0..1 id Unique id for inter-element referencing extension 0..* Extension Additional content defined by implementations Slice: Unordered, Open by value:url value S Σ 1..1 decimal Numerical value (with implicit precision) comparator Units ?! Σ ( 0..1 code preferred < | <= | >= | > | ad - how to understand the value Binding: ) QuantityComparator ( required ): How the Quantity should be understood and represented. unit S : Σ Commonly encountered UCUM units for recording Vital Signs.
. . . system . value[x]:valueQuantity S Σ C icon 0..1 uri Quantity The quantity for the vital sign being observed.
System that defines coded unit form Fixed Value: http://unitsofmeasure.org Binding: code BMI Units S Σ ( C 1..1 code required Coded responses from the common UCUM units for vital signs value set. ) Fixed Value: : kg/m2
. . . dataAbsentReason S C icon 0..1 CodeableConcept Why the result value is missing
Binding: Data Absent Reason ( extensible ): ) : Codes specifying why the result ( Observation.value[x] ) is missing.
. . . interpretation 0..* CodeableConcept High, low, normal, etc
Binding: Observation Interpretation Codes ( extensible ): ) : Codes identifying interpretations of observations.
. . . interpretationContext 0..* CodeableReference ( Resource ) Context for understanding the observation
Binding: Observation Interpretation Context Codes ( example ) : Codes identifying contextual factors that affect interpretation of observations.
. . . note 0..* Annotation Comments about the observation
. . . bodySite 0..1 CodeableConcept DEPRECATED: Observed body part
Binding: SNOMED CT Body Structures ( example ): ) : SNOMED CT Body site concepts
. . . bodyStructure 0..1 Reference CodeableReference ( BodyStructure ) Observed body structure
Binding: SNOMED CT Body Structures ( example ) : SNOMED CT Body Structures
. . . method 0..1 CodeableConcept How it was done
Binding: Observation Methods ( example ): ) : Methods for simple observations.
. . . specimen C icon 0..1 Reference ( Specimen | Group ) Specimen used for this observation
. . . device 0..1 Reference ( Device | DeviceMetric ) A reference to the device that generates the measurements or the device settings for the device
. . . referenceRange C icon 0..* BackboneElement Provides guide for interpretation
. . . . id 0..1 string Unique id for inter-element referencing
. . . . extension 0..* Extension Additional content defined by implementations
. . . . modifierExtension ?! Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
. . . . low C icon 0..1 SimpleQuantity Quantity Low Range, if relevant
. . . . high C icon 0..1 SimpleQuantity Quantity High Range, if relevant
. . . . normalValue 0..1 CodeableConcept Normal value, if relevant
Binding: Observation Reference Range Normal Value Codes ( extensible example ): ) : Codes identifying the normal value of the observation.
. . . . type 0..1 CodeableConcept Reference range qualifier
Binding: Observation Reference Range Meaning Codes ( preferred ): ) : Code for the meaning of a reference range.
. . . . appliesTo 0..* CodeableConcept Reference range population
Binding: Observation Reference Range Applies To Codes ( example ): ) : Codes identifying the population the reference range applies to.
. . . . age 0..1 Range Applicable age range, if relevant
. . . . text C icon 0..1 markdown Text based reference range in an observation
. . . hasMember Σ 0..* Reference ( QuestionnaireResponse | MolecularSequence | Vital Signs Profile Observation ) Used when reporting observations included in a vital signs panel components
. . . derivedFrom Σ 0..* Reference ( DocumentReference | ImagingStudy | QuestionnaireResponse | MolecularSequence | Vital Signs Profile Observation ) Related resource from which the observation is made
. . . component Σ C icon 0..* BackboneElement Component results
. . . . id 0..1 string Unique id for inter-element referencing
. . . . extension 0..* Extension Additional content defined by implementations
. . . . modifierExtension ?! Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
. . . . code Σ C icon 1..1 CodeableConcept Vital Sign measurement or component observation (code / type)
Binding: Vital Signs LOINC codes with Observation or Both ( extensible example ): This identifies the vital sign result type. Original source C-CDA R1.1 , HITSP Vital Sign Result Type. ) : Codes identifying names of simple observations.
. . . . Slices for value[x] Σ C icon 0 .. 1 Vital Sign Value The value for the vital sign component being observed.
Slice: Unordered, Open by type:$this
. . . . . valueQuantity Quantity
. . . . . valueCodeableConcept CodeableConcept
. . . . . valueString string
. . . . . valueBoolean boolean
. . . . . valueInteger integer
. . . . . valueRange Range
. . . . . valueRatio Ratio
. . . . . valueSampledData SampledData
. . . . . valueTime time
. . . . . valueDateTime dateTime
. . . . . valuePeriod Period
. . . . . valueAttachment Attachment
. . . . . valueReference Reference ( MolecularSequence MolecularDefinition )
. . . . . value[x]:valueQuantity Σ C icon 0..1 Quantity Vital Sign Value component value recorded as a component with UCUM (preferred)
Binding: UCUM units - for recording Vital Signs Units and components. icon ( required preferred ): Commonly encountered ) : UCUM units - for recording Vital Signs. Signs and components.
. . . . dataAbsentReason S C icon 0..1 CodeableConcept Why the component result value is missing
Binding: Data Absent Reason ( extensible ): ) : Codes specifying why the result ( Observation.value[x] ) is missing.
. . . . interpretation 0..* CodeableConcept High, low, normal, etc
Binding: Observation Interpretation Codes ( extensible ): ) : Codes identifying interpretations of observations.
. . . . referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result value

doco Documentation for this format icon

XML Template

<!-- Observationbmi -->doco

<Observation xmlns="http://hl7.org/fhir"
>
  <!-- from Element: extension -->
 <id value="[id]"/><!-- 0..1 Logical id of this artifact -->
 <meta><!-- I 0..1 Meta Metadata about the resource --></meta>
 <

 <implicitRules value="[uri]"/><!-- I 0..1 A set of rules under which this content was created -->

 <language value="[code]"/><!-- I 0..1 Language of the resource content   -->
 <text><!-- I 0..1 Narrative 
     Text summary of the resource, for human interpretation --></text>
 <contained><!-- 0..* Resource Contained, inline Resources --></contained>
 <<a href="bmi-definitions.html#Observation.modifierExtension" title="May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it 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 managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to 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) (this element modifies the meaning of other elements)" class="dict"></modifierExtension>

 <modifierExtension><!-- I 0..* Extension  Extensions that cannot be ignored  --></modifierExtension>

 <identifier><!-- I 0..* Identifier 
     Business Identifier for observation --></identifier>
 <
     Instantiates FHIR ObservationDefinition</instantiates[x]>

 <basedOn><!-- I 0..* Reference(CarePlan) Fulfills plan, proposal or order --></basedOn>
 <
  <<a href="bmi-definitions.html#Observation.triggeredBy.modifierExtension" title="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 managable, 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) (this element modifies the meaning of other elements)" class="dict"></modifierExtension>

 <triggeredBy> I 0..* BackboneElement  <!-- I 0..* Triggering observation(s) -->
  <modifierExtension><!-- I 0..* Extension  Extensions that cannot be ignored even if unrecognized  --></modifierExtension>

  <observation><!-- I 1..1 Reference(Observation) 
      Triggering observation --></observation>
  <<a href="bmi-definitions.html#Observation.triggeredBy.type" title="The type of trigger.

  <type value="[code]"/><!-- I 1..1 reflex | repeat | re-run   -->
  <reason value="[string]"/><!-- I 0..1 Reason that the observation was triggered -->
 </triggeredBy>
 <partOf><!-- I 0..* Reference(MedicationAdministration) Part of referenced event --></partOf>
 <
 
 <
  <
   <
   <
   <
   <
   <
  </coding>
  <
 </category>
 <
  
  <
   <
   <
   <
   <
   <
  </coding>
  <
 </code>

 <status value="[code]"/><!-- I 1..1 registered | specimen-in-process | preliminary | final | amended | corrected | appended | cancelled | entered-in-error | unknown | cannot-be-obtained   -->
 <-- category sliced by pattern:$this  in the specified orderOpen-->

 <category><!-- I 1..1 CodeableConcept Classification of  type of observation   --></category>
 <code><!-- I 1..1 CodeableConcept Body Mass Index (BMI)   --></code>

 <subject><!-- I 1..1 Reference(Patient) 
     Who and/or what the observation is about --></subject>
 <

 <focus><!-- I 0..* Reference(Resource) 

     What the observation is about, when it is not about the subject of record --></focus>
 <organizer value="[boolean]"/><!-- I 0..1 This observation organizes/groups a set of sub-observations -->

 <encounter><!-- I 0..1 Reference(Encounter) 
     Healthcare event during which this observation is made</encounter>
 <
     Often just a dateTime for Vital Signs</effective[x]>

     Healthcare event during which this observation is made. If you need to place the observation within one or more episodes of care, use the workflow-episodeOfCare extension --></encounter>
 <effectiveDateTime value="[dateTime]"/><!-- I 1..1 
     Vital Signs are point in time measurements and are recorded using the dateTime data type -->

 <issued value="[instant]"/><!-- I 0..1 Date/Time this version was made available -->
 <performer><!-- I 0..* Reference(Practitioner) 
     Who is responsible for the observation --></performer>
 <-- valueQuantity sliced by type:$this  in the specified orderClosed-->
 <
  <
  <
  <
  <
  <
 </valueQuantity>
 <</dataAbsentReason>

 <valueQuantity><!-- I 0..1 Quantity The quantity for the vital sign being observed.   --></valueQuantity>
 <dataAbsentReason><!-- I 0..1 CodeableConcept Why the result value is missing   --></dataAbsentReason>

 <interpretation><!-- I 0..* CodeableConcept High, low, normal, etc   --></interpretation>
 <interpretationContext><!-- I 0..* CodeableReference Context for understanding the observation   --></interpretationContext>

 <note><!-- I 0..* Annotation Comments about the observation --></note>
 <</bodySite>
 <</bodyStructure>

 <bodySite><!-- I 0..1 CodeableConcept DEPRECATED: Observed body part   --></bodySite>
 <bodyStructure><!-- I 0..1 CodeableReference Observed body structure   --></bodyStructure>

 <method><!-- I 0..1 CodeableConcept How it was done   --></method>
 <specimen><!-- I 0..1 Reference(Specimen) Specimen used for this observation --></specimen>
 <device><!-- I 0..1 Reference(Device) 
     A reference to the device that generates the measurements or the device settings for the device --></device>
 <
  <<a href="bmi-definitions.html#Observation.referenceRange.modifierExtension" title="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 managable, 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) (this element modifies the meaning of other elements)" class="dict"></modifierExtension>
  <

 <referenceRange> I 0..* BackboneElement  <!-- I 0..* Provides guide for interpretation -->
  <modifierExtension><!-- I 0..* Extension  Extensions that cannot be ignored even if unrecognized  --></modifierExtension>
  <low><!-- I 0..1 Quantity 

      Low Range, if relevant --></low>
  <

  <high><!-- I 0..1 Quantity 

      High Range, if relevant --></high>
  <normalValue><!-- I 0..1 CodeableConcept Normal value, if relevant   --></normalValue>
  <type><!-- I 0..1 CodeableConcept Reference range qualifier   --></type>
  <appliesTo><!-- I 0..* CodeableConcept Reference range population   --></appliesTo>
  <age><!-- I 0..1 Range 
      Applicable age range, if relevant --></age>
  <text value="[markdown]"/><!-- I 0..1 Text based reference range in an observation -->
 </referenceRange>
 <
     Used when reporting vital signs panel components</hasMember>

 <hasMember><!-- I 0..* Reference(Observation) 
     Used when reporting observations included in a vital signs panel --></hasMember>

 <derivedFrom><!-- I 0..* Reference(DocumentReference) 
     Related resource from which the observation is made --></derivedFrom>
 <
  <<a href="bmi-definitions.html#Observation.component.modifierExtension" title="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 managable, 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) (this element modifies the meaning of other elements)" class="dict"></modifierExtension>
  <</code>

 <component> I 0..* BackboneElement  <!-- I 0..* Component results -->
  <modifierExtension><!-- I 0..* Extension  Extensions that cannot be ignored even if unrecognized  --></modifierExtension>
  <code><!-- I 1..1 CodeableConcept Vital Sign measurement or component   --></code>

  <-- value[x] sliced by type:$this  in the specified orderOpen-->
  <</valueQuantity>
  <</dataAbsentReason>

  <valueQuantity><!-- I 0..1 Quantity Vital Sign component value recorded as a component with UCUM (preferred) icon   --></valueQuantity>
  <dataAbsentReason><!-- I 0..1 CodeableConcept Why the component result value is missing   --></dataAbsentReason>

  <interpretation><!-- I 0..* CodeableConcept High, low, normal, etc   --></interpretation>
  <</referenceRange>

  <referenceRange><!-- See http://hl7.org/fhir/StructureDefinition/Observation#Observation.referenceRange  Provides guide for interpretation of component result value --></referenceRange>

 </component>
</Observation>

JSON Template

{ // Observationbmi
  // from Element: extension
    "meta" : { Meta }, // IMetadata about the resource
    "

    "implicitRules" : "<uri>", // IA set of rules under which this content was created

    "language" : "<code>", // ILanguage of the resource content
    "text" : { Narrative }, // IText summary of the resource, for human interpretation
    "contained" : [{ Resource }], //Contained, inline Resources
    "<a href="bmi-definitions.html#Observation.modifierExtension" title="May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it 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 managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to 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) (this element modifies the meaning of other elements)" class="dict">

    "modifierExtension" : [{ Extension }], // IExtensions that cannot be ignored

    "identifier" : [{ Identifier }], // IBusiness Identifier for observation

    "
    "

    "basedOn" : [{ Reference(CarePlan) }], // IFulfills plan, proposal or order
    "

    "triggeredBy" : [{ BackboneElement }], // ITriggering observation(s)

    "partOf" : [{ Reference(MedicationAdministration) }], // IPart of referenced event
    "
    " 

    "status" : "<code>", // I R! registered | specimen-in-process | preliminary | final | amended | corrected | appended | cancelled | entered-in-error | unknown | cannot-be-obtained
    "category" : [ //  sliced by pattern:$this  in the specified order, Open 

      { // Classification of  type of observation // I R! 
        // from Element: extension
        " ]
        "
        "

      }
    ],
    "

    "code" : { CodeableConcept }, // I R! Body Mass Index (BMI)

    "subject" : { Reference(Patient) }, // I R! Who and/or what the observation is about
    "
    "

    "
    "

    "focus" : [{ Reference(Resource) }], // IWhat the observation is about, when it is not about the subject of record
    "organizer" : <boolean>, // IThis observation organizes/groups a set of sub-observations
    "encounter" : { Reference(Encounter) }, // IHealthcare event during which this observation is made. If you need to place the observation within one or more episodes of care, use the workflow-episodeOfCare extension
    "effectiveDateTime" : "<dateTime>", // I R! Vital Signs are point in time measurements and are recorded using the dateTime data type

    "issued" : "<instant>", // IDate/Time this version was made available
    "performer" : [{ Reference(Practitioner) }], // IWho is responsible for the observation
    " 
      { //  

    "valueQuantity" : [ //  sliced by type:$this  in the specified order, Closed 
      { // The quantity for the vital sign being observed. // I

        // from Element: extension
        " ]
        "
        "
        "
        " 
        " 

      }
    ],
    "

    "dataAbsentReason" : { CodeableConcept }, // IWhy the result value is missing

    "interpretation" : [{ CodeableConcept }], // IHigh, low, normal, etc
    "interpretationContext" : [{ CodeableReference(Resource) }], // IContext for understanding the observation

    "note" : [{ Annotation }], // IComments about the observation
    "
    "

    "bodySite" : { CodeableConcept }, // IDEPRECATED: Observed body part
    "bodyStructure" : { CodeableReference(BodyStructure) }, // IObserved body structure

    "method" : { CodeableConcept }, // IHow it was done
    "specimen" : { Reference(Specimen) }, // ISpecimen used for this observation
    "device" : { Reference(Device) }, // IA reference to the device that generates the measurements or the device settings for the device
    "
    "

    "referenceRange" : [{ BackboneElement }], // IProvides guide for interpretation
    "hasMember" : [{ Reference(Observation) }], // IUsed when reporting observations included in a vital signs panel

    "derivedFrom" : [{ Reference(DocumentReference) }], // IRelated resource from which the observation is made
    "

    "component" : [{ BackboneElement }], // IComponent results

  }

 

Alternate definitions: Master Definition ( XML , JSON ), Schematron

Path Name Conformance ValueSet
Observation.language All Languages required All Languages
Observation.triggeredBy.type triggered Bytype required triggered Bytype
Observation.status Observation Status required Observation Status
Observation.category Observation Category Codes preferred Observation Category Codes
Observation.category Observation Category Codes preferred Observation Category Codes
Observation.code Vital Signs - BMI extensible preferred Vital Signs - BMI
Observation.value[x].comparator Observation.value[x] BMI Units required QuantityComparator BMI Units
Observation.value[x] BMI Units required QuantityComparator BMI Units
Observation.dataAbsentReason Data Absent Reason extensible Data Absent Reason
Observation.interpretation Observation Interpretation Codes extensible Observation Interpretation Codes
Observation.interpretationContext Observation Interpretation Context Codes example Observation Interpretation Context Codes
Observation.bodySite SNOMED CT Body Structures example SNOMED CT Body Structures
Observation.bodyStructure SNOMED CT Body Structures example SNOMED CT Body Structures
Observation.method Observation Methods example Observation Methods
Observation.referenceRange.normalValue Observation Reference Range Normal Value Codes extensible example Observation Reference Range Normal Value Codes
Observation.referenceRange.type Observation Reference Range Meaning Codes preferred Observation Reference Range Meaning Codes
Observation.referenceRange.appliesTo Observation Reference Range Applies To Codes example Observation Reference Range Applies To Codes
Observation.component.code Vital Signs LOINC codes with Observation or Both extensible example Vital Signs LOINC codes with Observation or Both
Observation.component.value[x] Vital Signs Units ?ext required preferred Vital Signs Units http://unitsofmeasure.org/vs icon
Observation.component.dataAbsentReason Data Absent Reason extensible Data Absent Reason
Observation.component.interpretation Observation Interpretation Codes extensible Observation Interpretation Codes
Rule
Id Path Details Requirements
vs-4 Observation For single vital signs observations (that do not require use of components or hasMember), then either a value[x] or a data absent reason must be present.
Expression icon: dataAbsentReason.exists() or value.exists()
. .