臺灣核心實作指引(TW Core IG)
0.3.2 - Ci-Build Trial Use

臺灣核心實作指引(TW Core IG), published by 衛生福利部. This guide is not an authorized publication; it is the continuous build for version 0.3.2 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/cctwFHIRterm/MOHW_TWCoreIG_Build/ and changes regularly. See the Directory of published versions

Resource Profile: TWCoreObservationRespiratoryRate - Detailed Descriptions

Active as of 2025-02-04

Definitions for the Observation-respiratory-rate-twcore resource profile.

Guidance on how to interpret the contents of this table can be found here

0. Observation
Definition

This profile defines how to represent Respiratory Rate observations in FHIR using a standard LOINC code and UCUM units of measure.


Measurements and simple assertions made about a patient, device or other subject.

ShortFHIR Respiratory Rate ProfileMeasurements and simple assertions
Comments

Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc. Other resources are used to provide context for observations such as laboratory reports, etc.

Control0..*
Is Modifierfalse
Summaryfalse
Alternate NamesVital Signs, Measurement, Results, Tests
Invariantsdom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
dom-3: 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: 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: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty())
dom-6: A resource should have narrative for robust management (text.`div`.exists())
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present (dataAbsentReason.empty() or value.empty())
obs-7: 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: 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()))
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present (dataAbsentReason.empty() or value.empty())
obs-7: 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())
2. Observation.implicitRules
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

ShortA set of rules under which this content was created
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Control0..1
Typeuri
Is Modifiertrue because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
4. Observation.modifierExtension
Definition

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 manageable, 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).

ShortExtensions that cannot be ignored
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control0..*
TypeExtension
Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
Summaryfalse
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.


Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Alternate Namesextensions, user content
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
6. Observation.basedOn
Definition

A plan, proposal or order that is fulfilled in whole or in part by this event. For example, a MedicationRequest may require a patient to have laboratory test performed before it is dispensed.

ShortFulfills plan, proposal or order
Control0..*
TypeReference(TW Core CarePlan, DeviceRequest, ImmunizationRecommendation, TW Core MedicationRequest, NutritionOrder, TW Core ServiceRequest, CarePlan, MedicationRequest, ServiceRequest)
Is Modifierfalse
Summarytrue
Requirements

Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.

Alternate NamesFulfills
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
8. Observation.partOf
Definition

A larger event of which this particular Observation is a component or step. For example, an observation as part of a procedure.

ShortPart of referenced event
Comments

To link an Observation to an Encounter use encounter. See the Notes below for guidance on referencing another Observation.


To link an Observation to an Encounter use encounter. See the Notes below for guidance on referencing another Observation.

Control0..*
TypeReference(MedicationAdministration, TW Core MedicationDispense, TW Core MedicationStatement, TW Core Procedure, TW Core Immunization, TW Core ImagingStudy, MedicationDispense, MedicationStatement, Procedure, Immunization, ImagingStudy)
Is Modifierfalse
Summarytrue
Alternate NamesContainer
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
10. Observation.status
Definition

The status of the result value.

Shortregistered | preliminary | final | amended +
Comments

This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.

Control1..1
BindingThe codes SHALL be taken from ObservationStatushttp://hl7.org/fhir/ValueSet/observation-status|4.0.1
(required to http://hl7.org/fhir/ValueSet/observation-status|4.0.1)
Typecode
Is Modifiertrue because This element is labeled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supporttrue
Summarytrue
Requirements

Need to track the status of individual results. Some results are finalized before the whole report is finalized.

Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
12. Observation.category
Definition

A code that classifies the general type of observation being made.

ShortClassification of type of observation
Comments

In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once. The level of granularity is defined by the category concepts in the value set.

Control10..*
BindingThe codes SHOULD be taken from ObservationCategoryCodeshttp://hl7.org/fhir/ValueSet/observation-category
(preferred to http://hl7.org/fhir/ValueSet/observation-category)

Codes for high level observation categories.

TypeCodeableConcept
Is Modifierfalse
Must Supporttrue
Summaryfalse
Requirements

Used for filtering what observations are retrieved and displayed.

Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
SlicingThis element introduces a set of slices on Observation.category. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ coding.code
  • value @ coding.system
  • 14. Observation.category:VSCat
    Slice NameVSCat
    Definition

    A code that classifies the general type of observation being made.

    ShortClassification of type of observation
    Comments

    In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once. The level of granularity is defined by the category concepts in the value set.

    Control10..1*
    BindingThe codes SHOULD be taken from ObservationCategoryCodeshttp://hl7.org/fhir/ValueSet/observation-category
    (preferred to http://hl7.org/fhir/ValueSet/observation-category)

    Codes for high level observation categories.

    TypeCodeableConcept
    Is Modifierfalse
    Must Supporttrue
    Summaryfalse
    Requirements

    Used for filtering what observations are retrieved and displayed.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    16. Observation.category:VSCat.coding
    Definition

    A reference to a code defined by a terminology system.

    ShortCode defined by a terminology system
    Comments

    Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

    Control10..*
    TypeCoding
    Is Modifierfalse
    Must Supporttrue
    Summarytrue
    Requirements

    Allows for alternative encodings within a code system, and translations to other code systems.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    18. Observation.category:VSCat.coding.system
    Definition

    The identification of the code system that defines the meaning of the symbol in the code.

    ShortIdentity of the terminology system
    Comments

    The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.

    Control10..1
    Typeuri
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summarytrue
    Requirements

    Need to be unambiguous about the source of the definition of the symbol.

    Fixed Valuehttp://terminology.hl7.org/CodeSystem/observation-category
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    20. Observation.category:VSCat.coding.code
    Definition

    A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

    ShortSymbol in syntax defined by the system
    Control10..1
    Typecode
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summarytrue
    Requirements

    Need to refer to a particular code in the system.

    Fixed Valuevital-signs
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    22. Observation.code
    Definition

    Respiratory Rate.


    Describes what was observed. Sometimes this is called the observation "name".

    ShortRespiratory rateType of observation (code / type)
    Comments

    additional codes that translate or map to this code are allowed. For example a more granular LOINC code or code that is used locally in a system.


    All code-value and, if present, component.code-component.value pairs need to be taken into account to correctly understand the meaning of the observation.

    Control1..1
    BindingUnless not suitable, these codes SHALL be taken from For example codes, see VitalSignshttp://hl7.org/fhir/ValueSet/observation-codes
    (extensible to http://hl7.org/fhir/ValueSet/observation-vitalsignresult)

    This identifies the vital sign result type.


    Codes identifying names of simple observations.

    TypeCodeableConcept(TW CodeableConcept)
    Is Modifierfalse
    Must Supporttrue
    Summarytrue
    Requirements
    1. SHALL contain exactly one [1..1] code, where the @code SHOULD be selected from ValueSet HITSP Vital Sign Result Type 2.16.840.1.113883.3.88.12.80.62 DYNAMIC (CONF:7301).

    Knowing what kind of observation is being made is essential to understanding the observation.

    Alternate NamesName, Test
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    24. Observation.code.coding
    Definition

    A reference to a code defined by a terminology system.

    ShortCode defined by a terminology system
    Comments

    Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

    Control10..1*
    TypeCoding
    Is Modifierfalse
    Summarytrue
    Requirements

    Allows for alternative encodings within a code system, and translations to other code systems.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    SlicingThis element introduces a set of slices on Observation.code.coding. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • value @ code
    • value @ system
    • 26. Observation.code.coding:RespRateCode
      Slice NameRespRateCode
      Definition

      A reference to a code defined by a terminology system.

      ShortCode defined by a terminology system
      Comments

      Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

      Control10..1*
      TypeCoding
      Is Modifierfalse
      Summarytrue
      Requirements

      Allows for alternative encodings within a code system, and translations to other code systems.

      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      28. Observation.code.coding:RespRateCode.system
      Definition

      The identification of the code system that defines the meaning of the symbol in the code.

      ShortIdentity of the terminology system
      Comments

      The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.

      Control10..1
      Typeuri
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Summarytrue
      Requirements

      Need to be unambiguous about the source of the definition of the symbol.

      Fixed Valuehttp://loinc.org
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      30. Observation.code.coding:RespRateCode.code
      Definition

      A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

      ShortSymbol in syntax defined by the system
      Control10..1
      Typecode
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Summarytrue
      Requirements

      Need to refer to a particular code in the system.

      Fixed Value9279-1
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      32. Observation.subject
      Definition

      The patient, or group of patients, location, or device this observation is about and into whose record the observation is placed. If the actual focus of the observation is different from the subject (or a sample of, part, or region of the subject), the focus element or the code itself specifies the actual focus of the observation.

      ShortWho and/or what the observation is about
      Comments

      One would expect this element to be a cardinality of 1..1. The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.

      Control10..1
      TypeReference(TW Core Patient, Patient, Group, Device, Location)
      Is Modifierfalse
      Must Supporttrue
      Summarytrue
      Requirements

      Observations have no value if you don't know who or what they're about.

      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      34. Observation.encounter
      Definition

      The healthcare event (e.g. a patient and healthcare provider interaction) during which this observation is made.

      ShortHealthcare event during which this observation is made
      Comments

      This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter (e.g. pre-admission laboratory tests).

      Control0..1
      TypeReference(TW Core Encounter, Encounter)
      Is Modifierfalse
      Summarytrue
      Requirements

      For some observations it may be important to know the link between an observation and a particular encounter.

      Alternate NamesContext
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      36. Observation.effective[x]
      Definition

      Often just a dateTime for Vital Signs.


      The time or time-period the observed value is asserted as being true. For biological subjects - e.g. human patients - this is usually called the "physiologically relevant time". This is usually either the time of the procedure or of specimen collection, but very often the source of the date/time is not known, only the date/time itself.

      ShortOften just a dateTime for Vital SignsClinically relevant time/time-period for observation
      Comments

      At least a date should be present unless this observation is a historical report. For recording imprecise or "fuzzy" times (For example, a blood glucose measurement taken "after breakfast") use the Timing datatype which allow the measurement to be tied to regular life events.


      At least a date should be present unless this observation is a historical report. For recording imprecise or "fuzzy" times (For example, a blood glucose measurement taken "after breakfast") use the Timing datatype which allow the measurement to be tied to regular life events.

      Control10..1
      This element is affected by the following invariants: vs-1
      TypeChoice of: dateTime, Period, Timing, instant
      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Must Supporttrue
      Must Support TypesNo must-support rules about the choice of types/profiles
      Summarytrue
      Requirements

      Knowing when an observation was deemed true is important to its relevance as well as determining trends.

      Alternate NamesOccurrence
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      vs-1: if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day ($this is dateTime implies $this.toString().length() >= 10)
      38. Observation.performer
      Definition

      Who was responsible for asserting the observed value as "true".

      ShortWho is responsible for the observation
      Control0..*
      TypeReference(TW Core Practitioner, TW Core Organization, TW Core Patient, TW Core PractitionerRole, TW Core CareTeam, Practitioner, PractitionerRole, Organization, CareTeam, Patient, RelatedPerson)
      Is Modifierfalse
      Summarytrue
      Requirements

      May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.

      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      40. Observation.value[x]
      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.


      The information determined as a result of making the observation, if the information has a simple value.

      ShortVital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.Actual result
      Comments

      An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the Notes section below.


      An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the Notes section below.

      Control0..1
      This element is affected by the following invariants: obs-7, vs-2
      TypeQuantity, dateTime, boolean, string, SampledData, Period, Ratio, integer, time, Range, CodeableConcept
      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
      Is Modifierfalse
      Must Supporttrue
      Summarytrue
      Requirements
      1. SHALL contain exactly one [1..1] value with @xsi:type="PQ" (CONF:7305).

      An observation exists to have a value, though it might not if it is in error, or if it represents a group of observations.

      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      SlicingThis element introduces a set of slices on Observation.value[x]. The slices areUnordered and Closed, and can be differentiated using the following discriminators:
      • type @ $this
      • 42. Observation.value[x]:valueQuantity
        Slice NamevalueQuantity
        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.


        The information determined as a result of making the observation, if the information has a simple value.

        ShortVital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.Actual result
        Comments

        An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the Notes section below.


        An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the Notes section below.

        Control0..1
        This element is affected by the following invariants: obs-7, vs-2
        TypeQuantity, dateTime, boolean, string, SampledData, Period, Ratio, integer, time, Range, CodeableConcept
        [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
        Is Modifierfalse
        Must Supporttrue
        Summarytrue
        Requirements
        1. SHALL contain exactly one [1..1] value with @xsi:type="PQ" (CONF:7305).

        An observation exists to have a value, though it might not if it is in error, or if it represents a group of observations.

        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        44. Observation.value[x]:valueQuantity.value
        Definition

        The value of the measured amount. The value includes an implicit precision in the presentation of the value.

        ShortNumerical value (with implicit precision)
        Comments

        The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books).

        Control10..1
        Typedecimal
        Is Modifierfalse
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Must Supporttrue
        Summarytrue
        Requirements

        Precision is handled implicitly in almost all cases of measurement.

        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        46. Observation.value[x]:valueQuantity.comparator
        Definition

        How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is "<" , then the real value is < stated value.

        Short< | <= | >= | > - how to understand the value
        Control0..1
        BindingThe codes SHALL be taken from QuantityComparatorhttp://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
        (required to http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1)

        How the Quantity should be understood and represented.

        Typecode
        Is Modifiertrue because This is labeled as "Is Modifier" because the comparator modifies the interpretation of the value significantly. If there is no comparator, then there is no modification of the value
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Summarytrue
        Requirements

        Need a framework for handling measures where the value is <5ug/L or >400mg/L due to the limitations of measuring methodology.

        Meaning if MissingIf there is no comparator, then there is no modification of the value
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        48. Observation.value[x]:valueQuantity.unit
        Definition

        A human-readable form of the unit.

        ShortUnit representation
        Control10..1
        Typestring
        Is Modifierfalse
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Must Supporttrue
        Summarytrue
        Requirements

        There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms.

        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        50. Observation.value[x]:valueQuantity.system
        Definition

        The identification of the system that provides the coded form of the unit.

        ShortSystem that defines coded unit form
        Control10..1
        This element is affected by the following invariants: qty-3
        Typeuri
        Is Modifierfalse
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Must Supporttrue
        Summarytrue
        Requirements

        Need to know the system that defines the coded form of the unit.

        Fixed Valuehttp://unitsofmeasure.org
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        52. Observation.value[x]:valueQuantity.code
        Definition

        Coded responses from the common UCUM units for vital signs value set.


        A computer processable form of the unit in some unit representation system.

        ShortCoded responses from the common UCUM units for vital signs value set.Coded form of the unit
        Comments

        The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency. The context of use may additionally require a code from a particular system.

        Control10..1
        Typecode
        Is Modifierfalse
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Must Supporttrue
        Summarytrue
        Requirements

        Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest.

        Fixed Value/min
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        54. Observation.dataAbsentReason
        Definition

        Provides a reason why the expected value in the element Observation.value[x] is missing.

        ShortWhy the result is missing
        Comments

        Null or exceptional values can be represented two ways in FHIR Observations. One way is to simply include them in the value set and represent the exceptions in the value. For example, measurement values for a serology test could be "detected", "not detected", "inconclusive", or "specimen unsatisfactory".

        The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values. For example, the dataAbsentReason code "error" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0. Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.

        Control0..1
        This element is affected by the following invariants: obs-6, vs-2
        BindingUnless not suitable, these codes SHALL be taken from DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason
        (extensible to http://hl7.org/fhir/ValueSet/data-absent-reason)

        Codes specifying why the result (Observation.value[x]) is missing.

        TypeCodeableConcept
        Is Modifierfalse
        Must Supporttrue
        Summaryfalse
        Requirements

        For many results it is necessary to handle exceptional values in measurements.

        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        56. Observation.specimen
        Definition

        The specimen that was used when this observation was made.

        ShortSpecimen used for this observation
        Comments

        Should only be used if not implicit in code found in Observation.code. Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).

        Control0..1
        TypeReference(TW Core Specimen, Specimen)
        Is Modifierfalse
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        58. Observation.hasMember
        Definition

        Used when reporting vital signs panel components.


        This observation is a group observation (e.g. a battery, a panel of tests, a set of vital sign measurements) that includes the target as a member of the group.

        ShortUsed when reporting vital signs panel componentsRelated resource that belongs to the Observation group
        Comments

        When using this element, an observation will typically have either a value or a set of related resources, although both may be present in some cases. For a discussion on the ways Observations can assembled in groups together, see Notes below. Note that a system may calculate results from QuestionnaireResponse into a final score and represent the score as an Observation.


        When using this element, an observation will typically have either a value or a set of related resources, although both may be present in some cases. For a discussion on the ways Observations can assembled in groups together, see Notes below. Note that a system may calculate results from QuestionnaireResponse into a final score and represent the score as an Observation.

        Control0..*
        TypeReference(TW Core Observation Vital Signs, TW Core QuestionnaireResponse, MolecularSequence, Observation, QuestionnaireResponse)
        Is Modifierfalse
        Summarytrue
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        60. Observation.derivedFrom
        Definition

        The target resource that represents a measurement from which this observation value is derived. For example, a calculated anion gap or a fetal measurement based on an ultrasound image.

        ShortRelated measurements the observation is made from
        Comments

        All the reference choices that are listed in this element can represent clinical observations and other measurements that may be the source for a derived value. The most common reference will be another Observation. For a discussion on the ways Observations can assembled in groups together, see Notes below.


        All the reference choices that are listed in this element can represent clinical observations and other measurements that may be the source for a derived value. The most common reference will be another Observation. For a discussion on the ways Observations can assembled in groups together, see Notes below.

        Control0..*
        TypeReference(TW Core DocumentReference, TW Core ImagingStudy, TW Core Media, TW Core QuestionnaireResponse, TW Core Observation Vital Signs, MolecularSequence, DocumentReference, ImagingStudy, Media, QuestionnaireResponse, Observation)
        Is Modifierfalse
        Summarytrue
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        62. Observation.component
        Definition

        Used when reporting systolic and diastolic blood pressure.


        Some observations have multiple component observations. These component observations are expressed as separate code value pairs that share the same attributes. Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations.

        ShortUsed when reporting systolic and diastolic blood pressure.Component results
        Comments

        For a discussion on the ways Observations can be assembled in groups together see Notes below.


        For a discussion on the ways Observations can be assembled in groups together see Notes below.

        Control0..*
        TypeBackboneElement
        Is Modifierfalse
        Must Supporttrue
        Summarytrue
        Requirements

        Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable). However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.

        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        vs-3: If there is no a value a data absent reason must be present (value.exists() or dataAbsentReason.exists())
        64. Observation.component.modifierExtension
        Definition

        May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

        Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

        ShortExtensions that cannot be ignored even if unrecognized
        Comments

        There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

        Control0..*
        TypeExtension
        Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
        Summarytrue
        Requirements

        Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.


        Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

        Alternate Namesextensions, user content, modifiers
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        66. Observation.component.code
        Definition

        Describes what was observed. Sometimes this is called the observation "code".

        ShortType of component observation (code / type)
        Comments

        All code-value and component.code-component.value pairs need to be taken into account to correctly understand the meaning of the observation.

        Control1..1
        BindingUnless not suitable, these codes SHALL be taken from For example codes, see VitalSignshttp://hl7.org/fhir/ValueSet/observation-codes
        (extensible to http://hl7.org/fhir/ValueSet/observation-vitalsignresult)

        This identifies the vital sign result type.


        Codes identifying names of simple observations.

        TypeCodeableConcept
        Is Modifierfalse
        Must Supporttrue
        Summarytrue
        Requirements

        Knowing what kind of observation is being made is essential to understanding the observation.

        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        68. Observation.component.value[x]
        Definition

        Vital Sign Value recorded with UCUM.


        The information determined as a result of making the observation, if the information has a simple value.

        ShortVital Sign Value recorded with UCUMActual component result
        Comments

        Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the Notes section below.


        Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the Notes section below.

        Control0..1
        This element is affected by the following invariants: vs-3
        BindingUnless not suitable, these codes SHALL be taken from For codes, see VitalSignsUnits
        (extensible to http://hl7.org/fhir/ValueSet/ucum-vitals-common|4.0.1)

        Common UCUM units for recording Vital Signs.

        TypeChoice of: Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, time, dateTime, Period
        [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
        Is Modifierfalse
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Must Supporttrue
        Must Support TypesNo must-support rules about the choice of types/profiles
        Summarytrue
        Requirements
        1. SHALL contain exactly one [1..1] value with @xsi:type="PQ" (CONF:7305).

        An observation exists to have a value, though it might not if it is in error, or if it represents a group of observations.

        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        70. Observation.component.dataAbsentReason
        Definition

        Provides a reason why the expected value in the element Observation.component.value[x] is missing.

        ShortWhy the component result is missing
        Comments

        "Null" or exceptional values can be represented two ways in FHIR Observations. One way is to simply include them in the value set and represent the exceptions in the value. For example, measurement values for a serology test could be "detected", "not detected", "inconclusive", or "test not done".

        The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values. For example, the dataAbsentReason code "error" could be used when the measurement was not completed. Because of these options, use-case agreements are required to interpret general observations for exceptional values.

        Control0..1
        This element is affected by the following invariants: obs-6, vs-3
        BindingUnless not suitable, these codes SHALL be taken from DataAbsentReasonhttp://hl7.org/fhir/ValueSet/data-absent-reason
        (extensible to http://hl7.org/fhir/ValueSet/data-absent-reason)

        Codes specifying why the result (Observation.value[x]) is missing.

        TypeCodeableConcept
        Is Modifierfalse
        Must Supporttrue
        Summaryfalse
        Requirements

        For many results it is necessary to handle exceptional values in measurements.

        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))