This page is part of the FHIR Specification (v1.4.0: STU 3 Ballot 3). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3
The official URL for this profile is:
http://hl7.org/fhir/StructureDefinition/bmi
FHIR Body Mass Index (BMI) Profile
This profile was published on Fri, Mar 25, 2016 00:00+1100 as a draft by Health Level Seven International (Orders and Observations Workgroup).
Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.
This structure is derived from Vital Signs Profile.
Summary
Observation.code
which must haveObservation.code.coding.system
='http<i></i>://loinc.org'Observation.code.coding.code
= '39156-5'Observation.valueQuantity.code
= 'kg/m2'Fixed Value: 3 elements
Slices
This structure defines the following Slices:
This structure is derived from Vital Signs Profile.
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | 0..* | Observation | FHIR Body Mass Index (BMI) Profile | |
code | 1..1 | CodeableConcept | Body Mass Index (BMI) | |
coding | Coding | Slice: Unordered, Open, by code | ||
coding | 0..* | Coding | ||
system | 0..1 | uri | Fixed Value: http://loinc.org | |
code | 0..1 | code | Fixed Value: 39156-5 | |
valueQuantity | 0..1 | Quantity | ||
code | 0..1 | code | Fixed Value: kg/m2 | |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | I | 0..* | Observation | FHIR Body Mass Index (BMI) Profile obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present obs-7: Component code SHALL not be same as observation code |
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: IETF BCP-47 (required) | |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
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 | Unique Id for this particular observation | |
status | ?! S∑ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required) |
category | 0..1 | CodeableConcept | Classification of type of observation Binding: Observation Category Codes (example) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
coding | S ∑ | 1..* | Coding | Code defined by a terminology system |
extension | 0..* | Extension | Additional Content defined by implementations | |
system | S ∑ | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/observation-category |
version | ∑ | 0..1 | string | Version of the system - if relevant |
code | S ∑ | 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 ∑ | 1..1 | CodeableConcept | Body Mass Index (BMI) Binding: Vital Signs (required) |
extension | 0..* | Extension | Additional Content defined by implementations | |
coding | ∑ | Coding | Code defined by a terminology system Slice: Unordered, Open, by code | |
coding | ∑ | 0..* | Coding | Code defined by a terminology system |
extension | 0..* | Extension | Additional Content defined by implementations | |
system | ∑ | 0..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org |
version | ∑ | 0..1 | string | Version of the system - if relevant |
code | ∑ | 0..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 |
extension | 0..* | Extension | Additional Content defined by implementations | |
coding | S ∑ | 1..* | Coding | Code defined by a terminology system |
extension | 0..* | Extension | Additional Content defined by implementations | |
system | S ∑ | 1..1 | uri | Identity of the terminology system |
version | ∑ | 0..1 | string | Version of the system - if relevant |
code | S ∑ | 1..1 | code | Symbol in syntax defined by the system |
display | S ∑ | 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 | Group | Device | Location) | Who and/or what this is about |
encounter | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made | |
effective[x] | S ∑ | 1..1 | dateTime, Period | Often just a dateTime for Vital Signs |
issued | ∑ | 0..1 | instant | Date/Time this was made available |
performer | ∑ | 0..* | Reference(Practitioner | Organization | Patient | RelatedPerson) | Who is responsible for the observation |
valueQuantity | S ∑ | 0..1 | Quantity | Vital Sign Value recorded with UCUM Binding: Vital Signs Units (required) |
extension | 0..* | Extension | Additional Content defined by implementations | |
value | ∑ | 0..1 | decimal | Numerical value (with implicit precision) |
comparator | ?! ∑ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required) |
unit | ∑ | 0..1 | string | Unit representation |
system | ∑ I | 0..1 | uri | System that defines coded unit form |
code | ∑ | 0..1 | code | Coded form of the unit Fixed Value: kg/m2 |
extension | 0..* | Extension | Additional Content defined by implementations | |
value | S ∑ | 1..1 | decimal | Numerical value (with implicit precision) |
comparator | ?! ∑ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required) |
unit | S ∑ | 0..1 | string | Unit representation |
system | S ∑I | 1..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org |
code | S ∑ | 1..1 | code | Coded responses from the common UCUM units for vital signs value set. |
dataAbsentReason | S I | 0..1 | CodeableConcept | Why the result is missing Binding: Observation Value Absent Reason (extensible) |
interpretation | 0..1 | CodeableConcept | High, low, normal, etc. Binding: Observation Interpretation Codes (extensible) | |
comment | 0..1 | string | Comments about result | |
bodySite | 0..1 | CodeableConcept | Observed body part Binding: SNOMED CT Body Structures (example) | |
method | 0..1 | CodeableConcept | How it was done Binding: Observation Methods (example) | |
specimen | 0..1 | Reference(Specimen) | Specimen used for this observation | |
device | 0..1 | Reference(Device | DeviceMetric) | (Measurement) Device | |
referenceRange | S I | 0..1 | BackboneElement | Provides guide for interpretation obs-3: Must have at least a low or a high or text |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?! ∑ | 0..* | Extension | Extensions that cannot be ignored |
low | S I | 0..1 | SimpleQuantity | Low Range, if relevant qty-3: If a code for the unit is present, the system SHALL also be present sqty-1: The comparator is not used on a SimpleQuantity |
extension | 0..* | Extension | Additional Content defined by implementations | |
value | S ∑ | 0..1 | decimal | Numerical value (with implicit precision) |
unit | S ∑ | 0..1 | string | Unit representation |
system | S ∑I | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org |
code | S ∑ | 0..1 | code | Coded form of the unit |
high | S I | 0..1 | SimpleQuantity | High Range, if relevant qty-3: If a code for the unit is present, the system SHALL also be present sqty-1: The comparator is not used on a SimpleQuantity |
extension | 0..* | Extension | Additional Content defined by implementations | |
value | S ∑ | 0..1 | decimal | Numerical value (with implicit precision) |
unit | S ∑ | 0..1 | string | Unit representation |
system | S ∑I | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org |
code | S ∑ | 0..1 | code | Coded form of the unit |
meaning | S | 0..1 | CodeableConcept | Indicates the meaning/use of this range of this range Binding: Observation Reference Range Meaning Codes (example) |
age | 0..1 | Range | Applicable age range, if relevant | |
text | S | 0..1 | string | Text based reference range in an observation |
related | ∑ | 0..* | BackboneElement | Resource related to this observation |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?! ∑ | 0..* | Extension | Extensions that cannot be ignored |
type | 0..1 | code | has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by Binding: ObservationRelationshipType (required) | |
target | 1..1 | Reference(Observation | QuestionnaireResponse) | Resource that is related to this one | |
component | ∑ | 0..* | BackboneElement | Component results |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?! ∑ | 0..* | Extension | Extensions that cannot be ignored |
code | ∑ I | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINC Codes (example) |
value[x] | ∑ | 0..1 | Quantity, CodeableConcept, string, Range, Ratio, SampledData, Attachment, time, dateTime, Period | Actual component result |
dataAbsentReason | I | 0..1 | CodeableConcept | Why the component result is missing Binding: Observation Value Absent Reason (extensible) |
referenceRange | 0..* | Unknown reference to #referenceRange Provides guide for interpretation of component result | ||
Documentation for this format |
todo
This structure is derived from Vital Signs Profile.
Summary
Observation.code
which must haveObservation.code.coding.system
='http<i></i>://loinc.org'Observation.code.coding.code
= '39156-5'Observation.valueQuantity.code
= 'kg/m2'Fixed Value: 3 elements
Slices
This structure defines the following Slices:
Differential View
This structure is derived from Vital Signs Profile.
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | 0..* | Observation | FHIR Body Mass Index (BMI) Profile | |
code | 1..1 | CodeableConcept | Body Mass Index (BMI) | |
coding | Coding | Slice: Unordered, Open, by code | ||
coding | 0..* | Coding | ||
system | 0..1 | uri | Fixed Value: http://loinc.org | |
code | 0..1 | code | Fixed Value: 39156-5 | |
valueQuantity | 0..1 | Quantity | ||
code | 0..1 | code | Fixed Value: kg/m2 | |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | I | 0..* | Observation | FHIR Body Mass Index (BMI) Profile obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present obs-7: Component code SHALL not be same as observation code |
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: IETF BCP-47 (required) | |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
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 | Unique Id for this particular observation | |
status | ?! S∑ | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required) |
category | 0..1 | CodeableConcept | Classification of type of observation Binding: Observation Category Codes (example) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
coding | S ∑ | 1..* | Coding | Code defined by a terminology system |
extension | 0..* | Extension | Additional Content defined by implementations | |
system | S ∑ | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/observation-category |
version | ∑ | 0..1 | string | Version of the system - if relevant |
code | S ∑ | 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 ∑ | 1..1 | CodeableConcept | Body Mass Index (BMI) Binding: Vital Signs (required) |
extension | 0..* | Extension | Additional Content defined by implementations | |
coding | ∑ | Coding | Code defined by a terminology system Slice: Unordered, Open, by code | |
coding | ∑ | 0..* | Coding | Code defined by a terminology system |
extension | 0..* | Extension | Additional Content defined by implementations | |
system | ∑ | 0..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org |
version | ∑ | 0..1 | string | Version of the system - if relevant |
code | ∑ | 0..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 |
extension | 0..* | Extension | Additional Content defined by implementations | |
coding | S ∑ | 1..* | Coding | Code defined by a terminology system |
extension | 0..* | Extension | Additional Content defined by implementations | |
system | S ∑ | 1..1 | uri | Identity of the terminology system |
version | ∑ | 0..1 | string | Version of the system - if relevant |
code | S ∑ | 1..1 | code | Symbol in syntax defined by the system |
display | S ∑ | 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 | Group | Device | Location) | Who and/or what this is about |
encounter | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made | |
effective[x] | S ∑ | 1..1 | dateTime, Period | Often just a dateTime for Vital Signs |
issued | ∑ | 0..1 | instant | Date/Time this was made available |
performer | ∑ | 0..* | Reference(Practitioner | Organization | Patient | RelatedPerson) | Who is responsible for the observation |
valueQuantity | S ∑ | 0..1 | Quantity | Vital Sign Value recorded with UCUM Binding: Vital Signs Units (required) |
extension | 0..* | Extension | Additional Content defined by implementations | |
value | ∑ | 0..1 | decimal | Numerical value (with implicit precision) |
comparator | ?! ∑ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required) |
unit | ∑ | 0..1 | string | Unit representation |
system | ∑ I | 0..1 | uri | System that defines coded unit form |
code | ∑ | 0..1 | code | Coded form of the unit Fixed Value: kg/m2 |
extension | 0..* | Extension | Additional Content defined by implementations | |
value | S ∑ | 1..1 | decimal | Numerical value (with implicit precision) |
comparator | ?! ∑ | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required) |
unit | S ∑ | 0..1 | string | Unit representation |
system | S ∑I | 1..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org |
code | S ∑ | 1..1 | code | Coded responses from the common UCUM units for vital signs value set. |
dataAbsentReason | S I | 0..1 | CodeableConcept | Why the result is missing Binding: Observation Value Absent Reason (extensible) |
interpretation | 0..1 | CodeableConcept | High, low, normal, etc. Binding: Observation Interpretation Codes (extensible) | |
comment | 0..1 | string | Comments about result | |
bodySite | 0..1 | CodeableConcept | Observed body part Binding: SNOMED CT Body Structures (example) | |
method | 0..1 | CodeableConcept | How it was done Binding: Observation Methods (example) | |
specimen | 0..1 | Reference(Specimen) | Specimen used for this observation | |
device | 0..1 | Reference(Device | DeviceMetric) | (Measurement) Device | |
referenceRange | S I | 0..1 | BackboneElement | Provides guide for interpretation obs-3: Must have at least a low or a high or text |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?! ∑ | 0..* | Extension | Extensions that cannot be ignored |
low | S I | 0..1 | SimpleQuantity | Low Range, if relevant qty-3: If a code for the unit is present, the system SHALL also be present sqty-1: The comparator is not used on a SimpleQuantity |
extension | 0..* | Extension | Additional Content defined by implementations | |
value | S ∑ | 0..1 | decimal | Numerical value (with implicit precision) |
unit | S ∑ | 0..1 | string | Unit representation |
system | S ∑I | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org |
code | S ∑ | 0..1 | code | Coded form of the unit |
high | S I | 0..1 | SimpleQuantity | High Range, if relevant qty-3: If a code for the unit is present, the system SHALL also be present sqty-1: The comparator is not used on a SimpleQuantity |
extension | 0..* | Extension | Additional Content defined by implementations | |
value | S ∑ | 0..1 | decimal | Numerical value (with implicit precision) |
unit | S ∑ | 0..1 | string | Unit representation |
system | S ∑I | 0..1 | uri | System that defines coded unit form Fixed Value: http://unitsofmeasure.org |
code | S ∑ | 0..1 | code | Coded form of the unit |
meaning | S | 0..1 | CodeableConcept | Indicates the meaning/use of this range of this range Binding: Observation Reference Range Meaning Codes (example) |
age | 0..1 | Range | Applicable age range, if relevant | |
text | S | 0..1 | string | Text based reference range in an observation |
related | ∑ | 0..* | BackboneElement | Resource related to this observation |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?! ∑ | 0..* | Extension | Extensions that cannot be ignored |
type | 0..1 | code | has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by Binding: ObservationRelationshipType (required) | |
target | 1..1 | Reference(Observation | QuestionnaireResponse) | Resource that is related to this one | |
component | ∑ | 0..* | BackboneElement | Component results |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?! ∑ | 0..* | Extension | Extensions that cannot be ignored |
code | ∑ I | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: LOINC Codes (example) |
value[x] | ∑ | 0..1 | Quantity, CodeableConcept, string, Range, Ratio, SampledData, Attachment, time, dateTime, Period | Actual component result |
dataAbsentReason | I | 0..1 | CodeableConcept | Why the component result is missing Binding: Observation Value Absent Reason (extensible) |
referenceRange | 0..* | Unknown reference to #referenceRange Provides guide for interpretation of component result | ||
Documentation for this format |
XML Template
JSON Template
todo
Other representations of profile: Schematron
Path | Name | Conformance | ValueSet |
Observation.language | ?ext | required | http://tools.ietf.org/html/bcp47 |
Observation.status | ObservationStatus | required | ObservationStatus |
Observation.category | Observation Category Codes | example | Observation Category Codes |
Observation.code | Vital Signs | required | Vital Signs |
Observation.valueQuantity | Vital Signs Units | required | Vital Signs Units |
Observation.valueQuantity.comparator | QuantityComparator | required | QuantityComparator |
Observation.valueQuantity.comparator | QuantityComparator | required | QuantityComparator |
Observation.dataAbsentReason | Observation Value Absent Reason | extensible | Observation Value Absent Reason |
Observation.interpretation | Observation Interpretation Codes | extensible | Observation Interpretation Codes |
Observation.bodySite | SNOMED CT Body Structures | example | SNOMED CT Body Structures |
Observation.method | Observation Methods | example | Observation Methods |
Observation.referenceRange.meaning | Observation Reference Range Meaning Codes | example | Observation Reference Range Meaning Codes |
Observation.related.type | ObservationRelationshipType | required | ObservationRelationshipType |
Observation.component.code | LOINC Codes | example | LOINC Codes |
Observation.component.dataAbsentReason | Observation Value Absent Reason | extensible | Observation Value Absent Reason |
Id | Path | Details | Requirements |
obs-6 | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present XPath: not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')]))) | |
obs-7 | Observation | Component code SHALL not be same as observation code XPath: not(exists(f:component/f:code)) or count(for $coding in f:code/f:coding return parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value and f:system/@value=$coding/f:system/@value])=0 | |
obs-3 | Observation.referenceRange | Must have at least a low or a high or text XPath: (exists(f:low) or exists(f:high)or exists(f:text)) | |
qty-3 | Observation.referenceRange.low | If a code for the unit is present, the system SHALL also be present XPath: not(exists(f:code)) or exists(f:system) | |
sqty-1 | Observation.referenceRange.low | The comparator is not used on a SimpleQuantity XPath: not(exists(f:comparator)) | |
qty-3 | Observation.referenceRange.high | If a code for the unit is present, the system SHALL also be present XPath: not(exists(f:code)) or exists(f:system) | |
sqty-1 | Observation.referenceRange.high | The comparator is not used on a SimpleQuantity XPath: not(exists(f:comparator)) |