PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.r2b.core@1.4.0
    http://hl7.org/fhir/StructureDefinition/Observation
description: Base StructureDefinition for Observation Resource
package_name: hl7.fhir.r2b.core
derivation: specialization
name: Observation
type: null
elements:
  category:
    isModifier: false
    short: Classification of  type of observation
    index: 2
    comments: The level of granularity is defined by the category concepts in the value set.   More fine-grained filtering can be performed using the metadata and/or terminology hierarchy in Observation.code.
    type: CodeableConcept
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: Observation.category}
    isSummary: false
  referenceRange:
    constraint:
      obs-3: {human: Must have at least a low or a high or text, severity: error, expression: low.exists() or high.exists() or text.exists()}
    isModifier: false
    short: Provides guide for interpretation
    index: 31
    comments: Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g. specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.
    type: BackboneElement
    mustSupport: false
    array: true
    elements:
      low:
        isModifier: false
        short: Low Range, if relevant
        type: Quantity
        mustSupport: false
        maxLength: 0
        base: {max: '1', min: 0, path: Observation.referenceRange.low}
        isSummary: false
        index: 32
      high:
        isModifier: false
        short: High Range, if relevant
        type: Quantity
        mustSupport: false
        maxLength: 0
        base: {max: '1', min: 0, path: Observation.referenceRange.high}
        isSummary: false
        index: 33
      meaning:
        isModifier: false
        short: Indicates the meaning/use of this range of this range
        index: 34
        comments: This SHOULD be populated if there is more than one range.
        type: CodeableConcept
        mustSupport: false
        maxLength: 0
        base: {max: '1', min: 0, path: Observation.referenceRange.meaning}
        isSummary: false
      age:
        isModifier: false
        short: Applicable age range, if relevant
        type: Range
        mustSupport: false
        maxLength: 0
        base: {max: '1', min: 0, path: Observation.referenceRange.age}
        isSummary: false
        index: 35
      text:
        isModifier: false
        short: Text based reference range in an observation
        type: string
        mustSupport: false
        maxLength: 0
        base: {max: '1', min: 0, path: Observation.referenceRange.text}
        isSummary: false
        index: 36
    maxLength: 0
    base: {max: '*', min: 0, path: Observation.referenceRange}
    isSummary: false
  interpretation:
    isModifier: false
    short: High, low, normal, etc.
    type: CodeableConcept
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: Observation.interpretation}
    isSummary: false
    index: 25
  encounter:
    isModifier: false
    short: Healthcare event during which this observation is made
    type: Reference
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: Observation.encounter}
    isSummary: false
    index: 5
  method:
    isModifier: false
    short: How it was done
    index: 28
    comments: Only used if not implicit in code for Observation.code.
    type: CodeableConcept
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: Observation.method}
    isSummary: false
  valueTime:
    isModifier: false
    short: Actual result
    index: 21
    comments: 'Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is "''value'' + the type name" with a capital on the first letter of the type).   If the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.  For boolean values use valueCodeableConcept and select codes from [HL7 Version 2 Table 0136](v2/0136/index.html). These "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed.   For further discussion and examples see the  [notes section](observation.html#4.20.4) below.'
    type: time
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: 'Observation.value[x]'}
    choiceOf: value
    isSummary: true
  specimen:
    isModifier: false
    short: Specimen used for this observation
    index: 29
    comments: Observations are not made on specimens themselves; they are made on a subject, but usually 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).
    type: Reference
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: Observation.specimen}
    isSummary: false
  valueQuantity:
    isModifier: false
    short: Actual result
    index: 14
    comments: 'Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is "''value'' + the type name" with a capital on the first letter of the type).   If the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.  For boolean values use valueCodeableConcept and select codes from [HL7 Version 2 Table 0136](v2/0136/index.html). These "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed.   For further discussion and examples see the  [notes section](observation.html#4.20.4) below.'
    type: Quantity
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: 'Observation.value[x]'}
    choiceOf: value
    isSummary: true
  value:
    isModifier: false
    short: Actual result
    index: 13
    comments: 'Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is "''value'' + the type name" with a capital on the first letter of the type).   If the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.  For boolean values use valueCodeableConcept and select codes from [HL7 Version 2 Table 0136](v2/0136/index.html). These "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed.   For further discussion and examples see the  [notes section](observation.html#4.20.4) below.'
    mustSupport: false
    choices: [valueQuantity, valueCodeableConcept, valueString, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, valuePeriod]
    maxLength: 0
    base: {max: '1', min: 0, path: 'Observation.value[x]'}
    isSummary: true
  valueString:
    isModifier: false
    short: Actual result
    index: 16
    comments: 'Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is "''value'' + the type name" with a capital on the first letter of the type).   If the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.  For boolean values use valueCodeableConcept and select codes from [HL7 Version 2 Table 0136](v2/0136/index.html). These "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed.   For further discussion and examples see the  [notes section](observation.html#4.20.4) below.'
    type: string
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: 'Observation.value[x]'}
    choiceOf: value
    isSummary: true
  valueRatio:
    isModifier: false
    short: Actual result
    index: 18
    comments: 'Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is "''value'' + the type name" with a capital on the first letter of the type).   If the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.  For boolean values use valueCodeableConcept and select codes from [HL7 Version 2 Table 0136](v2/0136/index.html). These "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed.   For further discussion and examples see the  [notes section](observation.html#4.20.4) below.'
    type: Ratio
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: 'Observation.value[x]'}
    choiceOf: value
    isSummary: true
  valueDateTime:
    isModifier: false
    short: Actual result
    index: 22
    comments: 'Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is "''value'' + the type name" with a capital on the first letter of the type).   If the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.  For boolean values use valueCodeableConcept and select codes from [HL7 Version 2 Table 0136](v2/0136/index.html). These "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed.   For further discussion and examples see the  [notes section](observation.html#4.20.4) below.'
    type: dateTime
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: 'Observation.value[x]'}
    choiceOf: value
    isSummary: true
  related:
    isModifier: false
    short: Resource related to this observation
    index: 37
    comments: For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4).
    type: BackboneElement
    mustSupport: false
    array: true
    elements:
      type:
        isModifier: false
        short: has-member | derived-from | sequel-to | replaces | qualified-by | interfered-by
        index: 38
        comments: '"derived-from" is only logical choice when referencing QuestionnaireAnswer resource.'
        type: code
        mustSupport: false
        maxLength: 0
        base: {max: '1', min: 0, path: Observation.related.type}
        isSummary: false
      target:
        isModifier: false
        short: Resource that is related to this one
        index: 39
        type: Reference
        mustSupport: false
        maxLength: 0
        base: {max: '1', min: 0, path: Observation.related.target}
        isSummary: false
    maxLength: 0
    base: {max: '*', min: 0, path: Observation.related}
    required: [target]
    isSummary: true
  component:
    isModifier: false
    short: Component results
    index: 40
    comments: For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4).
    type: BackboneElement
    mustSupport: false
    array: true
    elements:
      referenceRange:
        elementReference: ['http://hl7.org/fhir/StructureDefinition/Observation']
        isModifier: false
        short: Provides guide for interpretation of component result
        index: 55
        comments: Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g. specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.
        mustSupport: false
        array: true
        maxLength: 0
        base: {max: '*', min: 0, path: Observation.component.referenceRange}
        isSummary: false
      valueTime:
        isModifier: false
        short: Actual component result
        index: 51
        comments: 'Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is 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 boolean values use valueCodeableConcept and select codes from  (These "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (The name format is "''value'' + the type name" with a capital on the first letter of the type).'
        type: time
        mustSupport: false
        maxLength: 0
        base: {max: '1', min: 0, path: 'Observation.component.value[x]'}
        choiceOf: value
        isSummary: true
      valueQuantity:
        isModifier: false
        short: Actual component result
        index: 44
        comments: 'Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is 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 boolean values use valueCodeableConcept and select codes from  (These "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (The name format is "''value'' + the type name" with a capital on the first letter of the type).'
        type: Quantity
        mustSupport: false
        maxLength: 0
        base: {max: '1', min: 0, path: 'Observation.component.value[x]'}
        choiceOf: value
        isSummary: true
      value:
        isModifier: false
        short: Actual component result
        index: 43
        comments: 'Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is 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 boolean values use valueCodeableConcept and select codes from  (These "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (The name format is "''value'' + the type name" with a capital on the first letter of the type).'
        mustSupport: false
        choices: [valueQuantity, valueCodeableConcept, valueString, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, valuePeriod]
        maxLength: 0
        base: {max: '1', min: 0, path: 'Observation.component.value[x]'}
        isSummary: true
      valueString:
        isModifier: false
        short: Actual component result
        index: 46
        comments: 'Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is 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 boolean values use valueCodeableConcept and select codes from  (These "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (The name format is "''value'' + the type name" with a capital on the first letter of the type).'
        type: string
        mustSupport: false
        maxLength: 0
        base: {max: '1', min: 0, path: 'Observation.component.value[x]'}
        choiceOf: value
        isSummary: true
      valueRatio:
        isModifier: false
        short: Actual component result
        index: 48
        comments: 'Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is 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 boolean values use valueCodeableConcept and select codes from  (These "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (The name format is "''value'' + the type name" with a capital on the first letter of the type).'
        type: Ratio
        mustSupport: false
        maxLength: 0
        base: {max: '1', min: 0, path: 'Observation.component.value[x]'}
        choiceOf: value
        isSummary: true
      valueDateTime:
        isModifier: false
        short: Actual component result
        index: 52
        comments: 'Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is 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 boolean values use valueCodeableConcept and select codes from  (These "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (The name format is "''value'' + the type name" with a capital on the first letter of the type).'
        type: dateTime
        mustSupport: false
        maxLength: 0
        base: {max: '1', min: 0, path: 'Observation.component.value[x]'}
        choiceOf: value
        isSummary: true
      valueSampledData:
        isModifier: false
        short: Actual component result
        index: 49
        comments: 'Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is 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 boolean values use valueCodeableConcept and select codes from  (These "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (The name format is "''value'' + the type name" with a capital on the first letter of the type).'
        type: SampledData
        mustSupport: false
        maxLength: 0
        base: {max: '1', min: 0, path: 'Observation.component.value[x]'}
        choiceOf: value
        isSummary: true
      code:
        isModifier: false
        short: Type of component observation (code / type)
        index: 41
        type: CodeableConcept
        mustSupport: false
        maxLength: 0
        base: {max: '1', min: 0, path: Observation.component.code}
        isSummary: true
      valueCodeableConcept:
        isModifier: false
        short: Actual component result
        index: 45
        comments: 'Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is 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 boolean values use valueCodeableConcept and select codes from  (These "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (The name format is "''value'' + the type name" with a capital on the first letter of the type).'
        type: CodeableConcept
        mustSupport: false
        maxLength: 0
        base: {max: '1', min: 0, path: 'Observation.component.value[x]'}
        choiceOf: value
        isSummary: true
      valuePeriod:
        isModifier: false
        short: Actual component result
        index: 53
        comments: 'Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is 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 boolean values use valueCodeableConcept and select codes from  (These "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (The name format is "''value'' + the type name" with a capital on the first letter of the type).'
        type: Period
        mustSupport: false
        maxLength: 0
        base: {max: '1', min: 0, path: 'Observation.component.value[x]'}
        choiceOf: value
        isSummary: true
      valueRange:
        isModifier: false
        short: Actual component result
        index: 47
        comments: 'Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is 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 boolean values use valueCodeableConcept and select codes from  (These "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (The name format is "''value'' + the type name" with a capital on the first letter of the type).'
        type: Range
        mustSupport: false
        maxLength: 0
        base: {max: '1', min: 0, path: 'Observation.component.value[x]'}
        choiceOf: value
        isSummary: true
      valueAttachment:
        isModifier: false
        short: Actual component result
        index: 50
        comments: 'Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is 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 boolean values use valueCodeableConcept and select codes from  (These "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (The name format is "''value'' + the type name" with a capital on the first letter of the type).'
        type: Attachment
        mustSupport: false
        maxLength: 0
        base: {max: '1', min: 0, path: 'Observation.component.value[x]'}
        choiceOf: value
        isSummary: true
      dataAbsentReason:
        isModifier: false
        short: Why the component result is missing
        index: 54
        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.'
        type: CodeableConcept
        mustSupport: false
        maxLength: 0
        base: {max: '1', min: 0, path: Observation.component.dataAbsentReason}
        isSummary: false
    maxLength: 0
    base: {max: '*', min: 0, path: Observation.component}
    required: [code]
    isSummary: true
  valueSampledData:
    isModifier: false
    short: Actual result
    index: 19
    comments: 'Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is "''value'' + the type name" with a capital on the first letter of the type).   If the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.  For boolean values use valueCodeableConcept and select codes from [HL7 Version 2 Table 0136](v2/0136/index.html). These "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed.   For further discussion and examples see the  [notes section](observation.html#4.20.4) below.'
    type: SampledData
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: 'Observation.value[x]'}
    choiceOf: value
    isSummary: true
  effectiveDateTime:
    isModifier: false
    short: Clinically relevant time/time-period for observation
    index: 8
    comments: At least a date should be present unless this observation is a historical report.
    type: dateTime
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: 'Observation.effective[x]'}
    choiceOf: effective
    isSummary: true
  status:
    isModifier: true
    short: registered | preliminary | final | amended +
    index: 1
    type: code
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: Observation.status}
    isSummary: true
  effective:
    isModifier: false
    short: Clinically relevant time/time-period for observation
    index: 7
    comments: At least a date should be present unless this observation is a historical report.
    mustSupport: false
    choices: [effectiveDateTime, effectivePeriod]
    maxLength: 0
    base: {max: '1', min: 0, path: 'Observation.effective[x]'}
    isSummary: true
  comment:
    isModifier: false
    short: Comments about result
    type: string
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: Observation.comment}
    isSummary: false
    index: 26
  code:
    isModifier: false
    short: Type of observation (code / type)
    index: 3
    type: CodeableConcept
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: Observation.code}
    isSummary: true
  identifier:
    isModifier: false
    short: Unique Id for this particular observation
    index: 0
    type: Identifier
    mustSupport: false
    array: true
    maxLength: 0
    base: {max: '*', min: 0, path: Observation.identifier}
    isSummary: false
  valueCodeableConcept:
    isModifier: false
    short: Actual result
    index: 15
    comments: 'Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is "''value'' + the type name" with a capital on the first letter of the type).   If the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.  For boolean values use valueCodeableConcept and select codes from [HL7 Version 2 Table 0136](v2/0136/index.html). These "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed.   For further discussion and examples see the  [notes section](observation.html#4.20.4) below.'
    type: CodeableConcept
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: 'Observation.value[x]'}
    choiceOf: value
    isSummary: true
  bodySite:
    isModifier: false
    short: Observed body part
    index: 27
    comments: Only used if not implicit in code found in Observation.code.  If the use case requires BodySite to be handled as a separate resource instead of an inline coded element (e.g. to identify and track separately) then use the standard extension[ body-site-instance](extension-body-site-instance.html).
    type: CodeableConcept
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: Observation.bodySite}
    isSummary: false
  issued:
    isModifier: false
    short: Date/Time this was made available
    index: 10
    comments: Updated when the result is updated.
    type: instant
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: Observation.issued}
    isSummary: true
  valuePeriod:
    isModifier: false
    short: Actual result
    index: 23
    comments: 'Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is "''value'' + the type name" with a capital on the first letter of the type).   If the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.  For boolean values use valueCodeableConcept and select codes from [HL7 Version 2 Table 0136](v2/0136/index.html). These "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed.   For further discussion and examples see the  [notes section](observation.html#4.20.4) below.'
    type: Period
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: 'Observation.value[x]'}
    choiceOf: value
    isSummary: true
  device:
    isModifier: false
    short: (Measurement) Device
    index: 30
    comments: An extension should be used if further typing of the device is needed.  Devices used to support obtaining an observation can be represented using either extension or through the Observation.related element.
    type: Reference
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: Observation.device}
    isSummary: false
  valueRange:
    isModifier: false
    short: Actual result
    index: 17
    comments: 'Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is "''value'' + the type name" with a capital on the first letter of the type).   If the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.  For boolean values use valueCodeableConcept and select codes from [HL7 Version 2 Table 0136](v2/0136/index.html). These "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed.   For further discussion and examples see the  [notes section](observation.html#4.20.4) below.'
    type: Range
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: 'Observation.value[x]'}
    choiceOf: value
    isSummary: true
  valueAttachment:
    isModifier: false
    short: Actual result
    index: 20
    comments: 'Normally, an observation will have either a value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is "''value'' + the type name" with a capital on the first letter of the type).   If the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.  For boolean values use valueCodeableConcept and select codes from [HL7 Version 2 Table 0136](v2/0136/index.html). These "yes/no" concepts can be mapped to the display name "true/false" or other mutually exclusive terms that may be needed.   For further discussion and examples see the  [notes section](observation.html#4.20.4) below.'
    type: Attachment
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: 'Observation.value[x]'}
    choiceOf: value
    isSummary: true
  subject:
    isModifier: false
    short: Who and/or what this is about
    index: 4
    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.  If the target of the observation is different than the subject, the general extension [observation-focal-subject](extension-observation-focal-subject.html).  may be used.  However, the distinction between the patient's own value for an observation versus that of the fetus, or the donor or blood product unit, etc., are often specified in the observation code.
    type: Reference
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: Observation.subject}
    isSummary: true
  performer:
    isModifier: false
    short: Who is responsible for the observation
    index: 11
    type: Reference
    mustSupport: false
    array: true
    maxLength: 0
    base: {max: '*', min: 0, path: Observation.performer}
    isSummary: true
  dataAbsentReason:
    isModifier: false
    short: Why the result is missing
    index: 24
    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.  Because of these options, use-case agreements are required to interpret general observations for exceptional values.
    type: CodeableConcept
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: Observation.dataAbsentReason}
    isSummary: false
  effectivePeriod:
    isModifier: false
    short: Clinically relevant time/time-period for observation
    index: 9
    comments: At least a date should be present unless this observation is a historical report.
    type: Period
    mustSupport: false
    maxLength: 0
    base: {max: '1', min: 0, path: 'Observation.effective[x]'}
    choiceOf: effective
    isSummary: true
package_version: 1.4.0
class: resource
kind: resource
url: http://hl7.org/fhir/StructureDefinition/Observation
base: http://hl7.org/fhir/StructureDefinition/DomainResource
version: null
required: [status, code]