This page is part of the Vital Signs FHIR IG (v0.1.0: STU 1 Ballot 1) based on FHIR R4. The current version which supercedes this version is 1.0.0. For a full list of available versions, see the Directory of published versions
StructureDefinition-BodyMassIndex
Body Mass Index, the measurement of body fat based on an individual’s height and weight and given as a ration of kilograms per square meter. This profile does not contain any additional extensions.
Examples
The following examples are provided to illustrate conformant resource content to this profile.
Formal Views of Profile Content
Description of Profiles, Differentials, and Snapshots.
The official URL for this profile is: http://hl7.org/fhir/us/vitals/StructureDefinition/BodyMassIndex
Published on Wed May 29 00:00:00 UTC 2019 as a draft by HSPC.
This profile builds on observation-bmi
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | 0..* | observation-bmi | Body Mass Index | |
MeasurementSettingExt | 0..1 | CodeableConcept | Measurement setting URL: http://hl7.org/fhir/us/vitals/StructureDefinition/MeasurementSettingExt Binding: Measurement Setting value set (preferred) | |
status | S | 1..1 | code | registered | preliminary | final | amended + |
code | S | 1..1 | CodeableConcept | Body Mass Index (BMI) Required Pattern: At least the following |
coding | 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 | |
display | 1..1 | string | Representation defined by the system Fixed Value: Body mass index (BMI) [Ratio] | |
subject | S | 1..1 | Reference(US Core Patient Profile) | Who and/or what the observation is about |
effective[x] | S | 1..1 | dateTime, Period | Often just a dateTime for Vital Signs |
valueQuantity | S | 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. |
value | S | 1..1 | decimal | Numerical value (with implicit precision) |
unit | S | 1..1 | string | Unit representation |
system | S | 1..1 | uri | Primitive Type uri Fixed Value: http://unitsofmeasure.org |
code | S | 1..1 | code | Primitive Type code Fixed Value: kg/m2 |
dataAbsentReason | S | 0..1 | CodeableConcept | Why the result is missing |
interpretation | 0..* | CodeableConcept | High, low, normal, etc. Binding: Abnormal Interpretation Numeric Nominal value set (preferred) | |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | I | 0..* | observation-bmi | Body Mass Index |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Extension Slice: Unordered, Open by value:url |
MeasurementSettingExt | I | 0..1 | CodeableConcept | Measurement setting URL: http://hl7.org/fhir/us/vitals/StructureDefinition/MeasurementSettingExt |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
identifier | ΣI | 0..* | Identifier | Business Identifier for observation |
basedOn | ΣI | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order |
partOf | ΣI | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event |
status | ?!SΣI | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required) |
category | SI | 1..* | (Slice Definition) | Classification of type of observation Slice: Unordered, Open by value:coding.code, value:coding.system Binding: ObservationCategoryCodes (preferred) |
category:VSCat | SI | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred) |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
coding | SΣI | 1..* | Coding | Code defined by a terminology system |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
system | SΣI | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category |
version | ΣI | 0..1 | string | Version of the system - if relevant |
code | SΣI | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs |
display | ΣI | 0..1 | string | Representation defined by the system |
userSelected | ΣI | 0..1 | boolean | If this coding was chosen directly by the user |
text | ΣI | 0..1 | string | Plain text representation of the concept |
code | SΣI | 1..1 | CodeableConcept | Body Mass Index (BMI) Binding: VitalSigns (extensible) Required Pattern: At least the following |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
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 | 1..1 | string | Representation defined by the system Fixed Value: Body mass index (BMI) [Ratio] | |
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |
text | 0..1 | string | Plain text representation of the concept | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
coding | ΣI | 0..* | (Slice Definition) | Code defined by a terminology system Slice: Unordered, Open by value:code, value:system |
coding:BMICode | ΣI | 1..1 | Coding | Code defined by a terminology system |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
system | ΣI | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org |
version | ΣI | 0..1 | string | Version of the system - if relevant |
code | ΣI | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 39156-5 |
display | ΣI | 0..1 | string | Representation defined by the system |
userSelected | ΣI | 0..1 | boolean | If this coding was chosen directly by the user |
text | ΣI | 0..1 | string | Plain text representation of the concept |
subject | SΣI | 1..1 | Reference(US Core Patient Profile) | Who and/or what the observation is about |
focus | ΣI | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record |
encounter | ΣI | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made |
effective[x] | SΣI | 1..1 | Often just a dateTime for Vital Signs | |
effectiveDateTime | dateTime | |||
effectivePeriod | Period | |||
issued | ΣI | 0..1 | instant | Date/Time this version was made available |
performer | ΣI | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | Who is responsible for the observation |
value[x] | SΣI | 0..1 | (Slice Definition) | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. Slice: Unordered, Closed by type:$this |
value[x]:valueQuantity | SΣI | 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 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
value | SΣI | 1..1 | decimal | Numerical value (with implicit precision) |
comparator | ?!ΣI | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required) |
unit | SΣI | 1..1 | string | Unit representation |
system | SI | 1..1 | uri | Primitive Type uri Fixed Value: http://unitsofmeasure.org |
code | SI | 1..1 | code | Primitive Type code Fixed Value: kg/m2 |
dataAbsentReason | SI | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible) |
interpretation | I | 0..* | CodeableConcept | High, low, normal, etc. Binding: Abnormal Interpretation Numeric Nominal value set (preferred) |
note | I | 0..* | Annotation | Comments about the observation |
bodySite | I | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example) |
method | I | 0..1 | CodeableConcept | How it was done Binding: ObservationMethods (example) |
specimen | I | 0..1 | Reference(Specimen) | Specimen used for this observation |
device | I | 0..1 | Reference(Device | DeviceMetric) | (Measurement) Device |
referenceRange | I | 0..* | BackboneElement | Provides guide for interpretation obs-3: Must have at least a low or a high or text |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
low | I | 0..1 | SimpleQuantity | Low Range, if relevant |
high | I | 0..1 | SimpleQuantity | High Range, if relevant |
type | I | 0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred) |
appliesTo | I | 0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example) |
age | I | 0..1 | Range | Applicable age range, if relevant |
text | I | 0..1 | string | Text based reference range in an observation |
hasMember | ΣI | 0..* | Reference(QuestionnaireResponse | MolecularSequence | Vital Signs Profile) | Used when reporting vital signs panel components |
derivedFrom | ΣI | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | MolecularSequence | Vital Signs Profile) | Related measurements the observation is made from |
component | SΣI | 0..* | BackboneElement | Used when reporting systolic and diastolic blood pressure. vs-3: If there is no a value a data absent reason must be present |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | SΣI | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: VitalSigns (extensible) |
value[x] | SΣI | 0..1 | Vital Sign Value recorded with UCUM Binding: VitalSignsUnits (required) | |
valueQuantity | Quantity | |||
valueCodeableConcept | CodeableConcept | |||
valueString | string | |||
valueBoolean | boolean | |||
valueInteger | integer | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueSampledData | SampledData | |||
valueTime | time | |||
valueDateTime | dateTime | |||
valuePeriod | Period | |||
dataAbsentReason | SI | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible) |
interpretation | I | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible) |
referenceRange | I | 0..* | See referenceRange | Provides guide for interpretation of component result |
Documentation for this format |
Differential View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | 0..* | observation-bmi | Body Mass Index | |
MeasurementSettingExt | 0..1 | CodeableConcept | Measurement setting URL: http://hl7.org/fhir/us/vitals/StructureDefinition/MeasurementSettingExt Binding: Measurement Setting value set (preferred) | |
status | S | 1..1 | code | registered | preliminary | final | amended + |
code | S | 1..1 | CodeableConcept | Body Mass Index (BMI) Required Pattern: At least the following |
coding | 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 | |
display | 1..1 | string | Representation defined by the system Fixed Value: Body mass index (BMI) [Ratio] | |
subject | S | 1..1 | Reference(US Core Patient Profile) | Who and/or what the observation is about |
effective[x] | S | 1..1 | dateTime, Period | Often just a dateTime for Vital Signs |
valueQuantity | S | 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. |
value | S | 1..1 | decimal | Numerical value (with implicit precision) |
unit | S | 1..1 | string | Unit representation |
system | S | 1..1 | uri | Primitive Type uri Fixed Value: http://unitsofmeasure.org |
code | S | 1..1 | code | Primitive Type code Fixed Value: kg/m2 |
dataAbsentReason | S | 0..1 | CodeableConcept | Why the result is missing |
interpretation | 0..* | CodeableConcept | High, low, normal, etc. Binding: Abnormal Interpretation Numeric Nominal value set (preferred) | |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | I | 0..* | observation-bmi | Body Mass Index |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Extension Slice: Unordered, Open by value:url |
MeasurementSettingExt | I | 0..1 | CodeableConcept | Measurement setting URL: http://hl7.org/fhir/us/vitals/StructureDefinition/MeasurementSettingExt |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
identifier | ΣI | 0..* | Identifier | Business Identifier for observation |
basedOn | ΣI | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order |
partOf | ΣI | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event |
status | ?!SΣI | 1..1 | code | registered | preliminary | final | amended + Binding: ObservationStatus (required) |
category | SI | 1..* | (Slice Definition) | Classification of type of observation Slice: Unordered, Open by value:coding.code, value:coding.system Binding: ObservationCategoryCodes (preferred) |
category:VSCat | SI | 1..1 | CodeableConcept | Classification of type of observation Binding: ObservationCategoryCodes (preferred) |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
coding | SΣI | 1..* | Coding | Code defined by a terminology system |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
system | SΣI | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category |
version | ΣI | 0..1 | string | Version of the system - if relevant |
code | SΣI | 1..1 | code | Symbol in syntax defined by the system Fixed Value: vital-signs |
display | ΣI | 0..1 | string | Representation defined by the system |
userSelected | ΣI | 0..1 | boolean | If this coding was chosen directly by the user |
text | ΣI | 0..1 | string | Plain text representation of the concept |
code | SΣI | 1..1 | CodeableConcept | Body Mass Index (BMI) Binding: VitalSigns (extensible) Required Pattern: At least the following |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
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 | 1..1 | string | Representation defined by the system Fixed Value: Body mass index (BMI) [Ratio] | |
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |
text | 0..1 | string | Plain text representation of the concept | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
coding | ΣI | 0..* | (Slice Definition) | Code defined by a terminology system Slice: Unordered, Open by value:code, value:system |
coding:BMICode | ΣI | 1..1 | Coding | Code defined by a terminology system |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
system | ΣI | 1..1 | uri | Identity of the terminology system Fixed Value: http://loinc.org |
version | ΣI | 0..1 | string | Version of the system - if relevant |
code | ΣI | 1..1 | code | Symbol in syntax defined by the system Fixed Value: 39156-5 |
display | ΣI | 0..1 | string | Representation defined by the system |
userSelected | ΣI | 0..1 | boolean | If this coding was chosen directly by the user |
text | ΣI | 0..1 | string | Plain text representation of the concept |
subject | SΣI | 1..1 | Reference(US Core Patient Profile) | Who and/or what the observation is about |
focus | ΣI | 0..* | Reference(Resource) | What the observation is about, when it is not about the subject of record |
encounter | ΣI | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made |
effective[x] | SΣI | 1..1 | Often just a dateTime for Vital Signs | |
effectiveDateTime | dateTime | |||
effectivePeriod | Period | |||
issued | ΣI | 0..1 | instant | Date/Time this version was made available |
performer | ΣI | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) | Who is responsible for the observation |
value[x] | SΣI | 0..1 | (Slice Definition) | Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept. Slice: Unordered, Closed by type:$this |
value[x]:valueQuantity | SΣI | 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 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
value | SΣI | 1..1 | decimal | Numerical value (with implicit precision) |
comparator | ?!ΣI | 0..1 | code | < | <= | >= | > - how to understand the value Binding: QuantityComparator (required) |
unit | SΣI | 1..1 | string | Unit representation |
system | SI | 1..1 | uri | Primitive Type uri Fixed Value: http://unitsofmeasure.org |
code | SI | 1..1 | code | Primitive Type code Fixed Value: kg/m2 |
dataAbsentReason | SI | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible) |
interpretation | I | 0..* | CodeableConcept | High, low, normal, etc. Binding: Abnormal Interpretation Numeric Nominal value set (preferred) |
note | I | 0..* | Annotation | Comments about the observation |
bodySite | I | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example) |
method | I | 0..1 | CodeableConcept | How it was done Binding: ObservationMethods (example) |
specimen | I | 0..1 | Reference(Specimen) | Specimen used for this observation |
device | I | 0..1 | Reference(Device | DeviceMetric) | (Measurement) Device |
referenceRange | I | 0..* | BackboneElement | Provides guide for interpretation obs-3: Must have at least a low or a high or text |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
low | I | 0..1 | SimpleQuantity | Low Range, if relevant |
high | I | 0..1 | SimpleQuantity | High Range, if relevant |
type | I | 0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred) |
appliesTo | I | 0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example) |
age | I | 0..1 | Range | Applicable age range, if relevant |
text | I | 0..1 | string | Text based reference range in an observation |
hasMember | ΣI | 0..* | Reference(QuestionnaireResponse | MolecularSequence | Vital Signs Profile) | Used when reporting vital signs panel components |
derivedFrom | ΣI | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | MolecularSequence | Vital Signs Profile) | Related measurements the observation is made from |
component | SΣI | 0..* | BackboneElement | Used when reporting systolic and diastolic blood pressure. vs-3: If there is no a value a data absent reason must be present |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | SΣI | 1..1 | CodeableConcept | Type of component observation (code / type) Binding: VitalSigns (extensible) |
value[x] | SΣI | 0..1 | Vital Sign Value recorded with UCUM Binding: VitalSignsUnits (required) | |
valueQuantity | Quantity | |||
valueCodeableConcept | CodeableConcept | |||
valueString | string | |||
valueBoolean | boolean | |||
valueInteger | integer | |||
valueRange | Range | |||
valueRatio | Ratio | |||
valueSampledData | SampledData | |||
valueTime | time | |||
valueDateTime | dateTime | |||
valuePeriod | Period | |||
dataAbsentReason | SI | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible) |
interpretation | I | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible) |
referenceRange | I | 0..* | See referenceRange | Provides guide for interpretation of component result |
Documentation for this format |
Downloads: StructureDefinition: (XML, JSON), Schema: XML Schematron
Terminology Bindings
Path | Conformance | ValueSet / Code |
Observation.language | preferred | CommonLanguages Max Binding: AllLanguages |
Observation.status | required | ObservationStatus |
Observation.category | preferred | ObservationCategoryCodes |
Observation.category:VSCat | preferred | ObservationCategoryCodes |
Observation.code | extensible | Pattern: LOINC code 39156-5("Body mass index (BMI) [Ratio]") |
Observation.value[x]:valueQuantity.comparator | required | QuantityComparator |
Observation.dataAbsentReason | extensible | DataAbsentReason |
Observation.interpretation | preferred | AbnormalInterpretationNumericNom |
Observation.bodySite | example | SNOMEDCTBodyStructures |
Observation.method | example | ObservationMethods |
Observation.referenceRange.type | preferred | ObservationReferenceRangeMeaningCodes |
Observation.referenceRange.appliesTo | example | ObservationReferenceRangeAppliesToCodes |
Observation.component.code | extensible | VitalSigns |
Observation.component.value[x] | required | VitalSignsUnits |
Observation.component.dataAbsentReason | extensible | DataAbsentReason |
Observation.component.interpretation | extensible | ObservationInterpretationCodes |
Constraints
Id | Path | Details | Requirements |
dom-2 | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | Observation | A resource should have narrative for robust management : text.`div`.exists() | |
obs-6 | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() | |
obs-7 | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() | |
vs-2 | Observation | If there is no component or hasMember element then either a value[x] or a data absent reason must be present. : (component.empty() and hasMember.empty()) implies (dataAbsentReason.exists() or value.exists()) | |
ele-1 | Observation.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.extension:MeasurementSetting | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.extension:MeasurementSetting | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.basedOn | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.partOf | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.status | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.category | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.category:VSCat | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.category:VSCat.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.category:VSCat.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.category:VSCat.coding | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.category:VSCat.coding.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.category:VSCat.coding.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.category:VSCat.coding.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.category:VSCat.coding.version | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.category:VSCat.coding.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.category:VSCat.coding.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.category:VSCat.coding.userSelected | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.category:VSCat.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.code.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.code.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.code.coding | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.code.coding:BMICode | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.code.coding:BMICode.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.code.coding:BMICode.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.code.coding:BMICode.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.code.coding:BMICode.version | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.code.coding:BMICode.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.code.coding:BMICode.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.code.coding:BMICode.userSelected | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.code.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.subject | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.focus | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.encounter | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.effective[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
vs-1 | Observation.effective[x] | if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day : ($this as dateTime).toString().length() >= 8 | |
ele-1 | Observation.issued | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.performer | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.value[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.value[x]:valueQuantity | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.value[x]:valueQuantity.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.value[x]:valueQuantity.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.value[x]:valueQuantity.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.value[x]:valueQuantity.comparator | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.value[x]:valueQuantity.unit | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.value[x]:valueQuantity.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.value[x]:valueQuantity.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.dataAbsentReason | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.interpretation | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.note | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.bodySite | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.method | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.specimen | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.device | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.referenceRange | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
obs-3 | Observation.referenceRange | Must have at least a low or a high or text : low.exists() or high.exists() or text.exists() | |
ele-1 | Observation.referenceRange.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.referenceRange.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.referenceRange.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.referenceRange.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.referenceRange.low | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.referenceRange.high | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.referenceRange.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.referenceRange.appliesTo | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.referenceRange.age | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.referenceRange.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.hasMember | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.derivedFrom | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.component | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
vs-3 | Observation.component | If there is no a value a data absent reason must be present : value.exists() or dataAbsentReason.exists() | |
ele-1 | Observation.component.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.component.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.component.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Observation.component.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Observation.component.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.component.value[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.component.dataAbsentReason | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.component.interpretation | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Observation.component.referenceRange | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |