Release 4B Snapshot #1

This page is part of the FHIR Specification v4.3.0-snapshot1: R4B Snapshot to support the Jan 2022 Connectathon. About the R4B version of FHIR. The current officially released version is 4.3.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4

8.26 Resource ObservationDefinition - Content

Orders and Observations Work GroupMaturity Level: 0 Trial UseSecurity Category: Business Compartments: Not linked to any defined compartments

Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.

Note that this content is preliminary has not undergone proper review by the appropriate Workgroups.

An instance of ObservationDefinition represents the definitional aspects of a kind of observation. This resource is used in a catalog of products or services for healthcare. It provides the definition of observations, which are used as input or produced as outcome of these products and services. The focus of the definitional aspects of ObservationDefinition is not on the action of performing observations of that kind. Rather, it is on the outcome of the observations. An instance of ObservationDefinition represents a set of constraints applicable to the value produced by observations of this kind. This set of constraints may have two utilities: 1) It guides the entry of the result of an observation of the kind defined. 2) It helps the consumer of the results of observations of that kind, to interpret properly these results.

For instance, in a catalog of laboratory in vitro diagnostic services, the ObservationDefinition resources describe the observations that should be provided by the orderer alongside with an ordered service (questions asked at order entry or at specimen collection, prior results) as well as the observations that will be reported once the service has been performed.

In a catalog of medications, ObservationDefinition resources can be used to describe observations the result thereof need to be checked against the prescription of a particular medicinal product (therapeutic range, units ...)

In the catalog of tests of an in vitro diagnostic device, ObservationDefinition resources can be used to characterize (absolute range, unit, decimal precision, critical values ...) the observations that will be produced by the IVD tests performed by the device.

ObservationDefinition may be used to characterize observations from any discipline.

This resource relates to these other resource:.

  • Resource ObservationDefinition is referenced by resource CatalogEntry. This enables items of catalogs, representing healthcare services or products, to declare the observations, which are consumed or produced by these items.
  • Observation.basedOn references ObservationDefinition resource.

This resource is referenced by ActivityDefinition, CatalogEntry, ClinicalUseDefinition, MedicationKnowledge and RegulatedAuthorization.

This resource does not implement any patterns.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. ObservationDefinition TUDomainResourceDefinition of an observation
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... category Σ0..*CodeableConceptCategory of observation
Observation Category Codes (Example)
... code Σ1..1CodeableConceptType of observation (code / type)
LOINC Codes (Example)
... identifier Σ0..*IdentifierBusiness identifier for this ObservationDefinition instance
... multipleResultsAllowed 0..1booleanMultiple results allowed
... method 0..1CodeableConceptMethod used to produce the observation
Observation Methods (Example)
... preferredReportName 0..1stringPreferred report name
... quantitativeDetails 0..1BackboneElementCharacteristics of quantitative results
.... customaryUnit 0..1CodeableConceptCustomary unit for quantitative results
UCUM Codes (Extensible)
.... unit 0..1CodeableConceptSI unit for quantitative results
UCUM Codes (Extensible)
.... conversionFactor 0..1decimalSI to Customary unit conversion factor
.... decimalPrecision 0..1integerDecimal precision of observation quantitative results
... qualifiedInterval 0..*BackboneElementQualified range for continuous and ordinal observation results
.... category 0..1codereference | critical | absolute
ObservationRangeCategory (Required)
.... range 0..1RangeThe interval itself, for continuous or ordinal observations
.... context 0..1CodeableConceptRange context qualifier
Observation Reference Range Meaning Codes (Extensible)
.... appliesTo 0..*CodeableConceptTargetted population of the range
Observation Reference Range Applies To Codes (Example)
.... gender 0..1codemale | female | other | unknown
AdministrativeGender (Required)
.... age 0..1RangeApplicable age range, if relevant
.... gestationalAge 0..1RangeApplicable gestational age range, if relevant
.... condition 0..1stringCondition associated with the reference range
... validCodedValueSet 0..1Reference(ValueSet)Value set of valid coded values for the observations conforming to this ObservationDefinition
... normalCodedValueSet 0..1Reference(ValueSet)Value set of normal coded values for the observations conforming to this ObservationDefinition
... abnormalCodedValueSet 0..1Reference(ValueSet)Value set of abnormal coded values for the observations conforming to this ObservationDefinition
... criticalCodedValueSet 0..1Reference(ValueSet)Value set of critical coded values for the observations conforming to this ObservationDefinition

doco Documentation for this format

UML Diagram (Legend)

ObservationDefinition (DomainResource)A code that classifies the general type of observationcategory : CodeableConcept [0..*] « null (Strength=Example)ObservationCategoryCodes?? »Describes what will be observed. Sometimes this is called the observation "name"code : CodeableConcept [1..1] « null (Strength=Example)LOINCCodes?? »A unique identifier assigned to this ObservationDefinition artifactidentifier : Identifier [0..*]The data types allowed for the value element of the instance observations conforming to this ObservationDefinitionpermittedDataType : code [0..*] « null (Strength=Required)ObservationDataType! »Multiple results allowed for observations conforming to this ObservationDefinitionmultipleResultsAllowed : boolean [0..1]The method or technique used to perform the observationmethod : CodeableConcept [0..1] « null (Strength=Example)ObservationMethods?? »The preferred name to be used when reporting the results of observations conforming to this ObservationDefinitionpreferredReportName : string [0..1]The set of valid coded results for the observations conforming to this ObservationDefinitionvalidCodedValueSet : Reference [0..1] « ValueSet »The set of normal coded results for the observations conforming to this ObservationDefinitionnormalCodedValueSet : Reference [0..1] « ValueSet »The set of abnormal coded results for the observation conforming to this ObservationDefinitionabnormalCodedValueSet : Reference [0..1] « ValueSet »The set of critical coded results for the observation conforming to this ObservationDefinitioncriticalCodedValueSet : Reference [0..1] « ValueSet »QuantitativeDetailsCustomary unit used to report quantitative results of observations conforming to this ObservationDefinitioncustomaryUnit : CodeableConcept [0..1] « null (Strength=Extensible)UCUMCodes+ »SI unit used to report quantitative results of observations conforming to this ObservationDefinitionunit : CodeableConcept [0..1] « null (Strength=Extensible)UCUMCodes+ »Factor for converting value expressed with SI unit to value expressed with customary unitconversionFactor : decimal [0..1]Number of digits after decimal separator when the results of such observations are of type QuantitydecimalPrecision : integer [0..1]QualifiedIntervalThe category of interval of values for continuous or ordinal observations conforming to this ObservationDefinitioncategory : code [0..1] « null (Strength=Required)ObservationRangeCategory! »The low and high values determining the interval. There may be only one of the tworange : Range [0..1]Codes to indicate the health context the range applies to. For example, the normal or therapeutic rangecontext : CodeableConcept [0..1] « null (Strength=Extensible)ObservationReferenceRangeMean...+ »Codes to indicate the target population this reference range applies toappliesTo : CodeableConcept [0..*] « null (Strength=Example) ObservationReferenceRangeAppl...?? »Sex of the population the range applies togender : code [0..1] « null (Strength=Required)AdministrativeGender! »The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says soage : Range [0..1]The gestational age to which this reference range is applicable, in the context of pregnancygestationalAge : Range [0..1]Text based condition for which the reference range is validcondition : string [0..1]Characteristics for quantitative results of this observationquantitativeDetails[0..1]Multiple ranges of results qualified by different contexts for ordinal or continuous observations conforming to this ObservationDefinitionqualifiedInterval[0..*]

XML Template

<ObservationDefinition xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <category><!-- 0..* CodeableConcept Category of observation --></category>
 <code><!-- 1..1 CodeableConcept Type of observation (code / type) --></code>
 <identifier><!-- 0..* Identifier Business identifier for this ObservationDefinition instance --></identifier>
 <permittedDataType value="[code]"/><!-- 0..* Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period -->
 <multipleResultsAllowed value="[boolean]"/><!-- 0..1 Multiple results allowed -->
 <method><!-- 0..1 CodeableConcept Method used to produce the observation --></method>
 <preferredReportName value="[string]"/><!-- 0..1 Preferred report name -->
 <quantitativeDetails>  <!-- 0..1 Characteristics of quantitative results -->
  <customaryUnit><!-- 0..1 CodeableConcept Customary unit for quantitative results --></customaryUnit>
  <unit><!-- 0..1 CodeableConcept SI unit for quantitative results --></unit>
  <conversionFactor value="[decimal]"/><!-- 0..1 SI to Customary unit conversion factor -->
  <decimalPrecision value="[integer]"/><!-- 0..1 Decimal precision of observation quantitative results -->
 </quantitativeDetails>
 <qualifiedInterval>  <!-- 0..* Qualified range for continuous and ordinal observation results -->
  <category value="[code]"/><!-- 0..1 reference | critical | absolute -->
  <range><!-- 0..1 Range The interval itself, for continuous or ordinal observations --></range>
  <context><!-- 0..1 CodeableConcept Range context qualifier --></context>
  <appliesTo><!-- 0..* CodeableConcept Targetted population of the range --></appliesTo>
  <gender value="[code]"/><!-- 0..1 male | female | other | unknown -->
  <age><!-- 0..1 Range Applicable age range, if relevant --></age>
  <gestationalAge><!-- 0..1 Range Applicable gestational age range, if relevant --></gestationalAge>
  <condition value="[string]"/><!-- 0..1 Condition associated with the reference range -->
 </qualifiedInterval>
 <validCodedValueSet><!-- 0..1 Reference(ValueSet) Value set of valid coded values for the observations conforming to this ObservationDefinition --></validCodedValueSet>
 <normalCodedValueSet><!-- 0..1 Reference(ValueSet) Value set of normal coded values for the observations conforming to this ObservationDefinition --></normalCodedValueSet>
 <abnormalCodedValueSet><!-- 0..1 Reference(ValueSet) Value set of abnormal coded values for the observations conforming to this ObservationDefinition --></abnormalCodedValueSet>
 <criticalCodedValueSet><!-- 0..1 Reference(ValueSet) Value set of critical coded values for the observations conforming to this ObservationDefinition --></criticalCodedValueSet>
</ObservationDefinition>

JSON Template

{doco
  "resourceType" : "ObservationDefinition",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "category" : [{ CodeableConcept }], // Category of observation
  "code" : { CodeableConcept }, // R!  Type of observation (code / type)
  "identifier" : [{ Identifier }], // Business identifier for this ObservationDefinition instance
  "permittedDataType" : ["<code>"], // Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period
  "multipleResultsAllowed" : <boolean>, // Multiple results allowed
  "method" : { CodeableConcept }, // Method used to produce the observation
  "preferredReportName" : "<string>", // Preferred report name
  "quantitativeDetails" : { // Characteristics of quantitative results
    "customaryUnit" : { CodeableConcept }, // Customary unit for quantitative results
    "unit" : { CodeableConcept }, // SI unit for quantitative results
    "conversionFactor" : <decimal>, // SI to Customary unit conversion factor
    "decimalPrecision" : <integer> // Decimal precision of observation quantitative results
  },
  "qualifiedInterval" : [{ // Qualified range for continuous and ordinal observation results
    "category" : "<code>", // reference | critical | absolute
    "range" : { Range }, // The interval itself, for continuous or ordinal observations
    "context" : { CodeableConcept }, // Range context qualifier
    "appliesTo" : [{ CodeableConcept }], // Targetted population of the range
    "gender" : "<code>", // male | female | other | unknown
    "age" : { Range }, // Applicable age range, if relevant
    "gestationalAge" : { Range }, // Applicable gestational age range, if relevant
    "condition" : "<string>" // Condition associated with the reference range
  }],
  "validCodedValueSet" : { Reference(ValueSet) }, // Value set of valid coded values for the observations conforming to this ObservationDefinition
  "normalCodedValueSet" : { Reference(ValueSet) }, // Value set of normal coded values for the observations conforming to this ObservationDefinition
  "abnormalCodedValueSet" : { Reference(ValueSet) }, // Value set of abnormal coded values for the observations conforming to this ObservationDefinition
  "criticalCodedValueSet" : { Reference(ValueSet) } // Value set of critical coded values for the observations conforming to this ObservationDefinition
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:ObservationDefinition;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:ObservationDefinition.category [ CodeableConcept ], ... ; # 0..* Category of observation
  fhir:ObservationDefinition.code [ CodeableConcept ]; # 1..1 Type of observation (code / type)
  fhir:ObservationDefinition.identifier [ Identifier ], ... ; # 0..* Business identifier for this ObservationDefinition instance
  fhir:ObservationDefinition.permittedDataType [ code ], ... ; # 0..* Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period
  fhir:ObservationDefinition.multipleResultsAllowed [ boolean ]; # 0..1 Multiple results allowed
  fhir:ObservationDefinition.method [ CodeableConcept ]; # 0..1 Method used to produce the observation
  fhir:ObservationDefinition.preferredReportName [ string ]; # 0..1 Preferred report name
  fhir:ObservationDefinition.quantitativeDetails [ # 0..1 Characteristics of quantitative results
    fhir:ObservationDefinition.quantitativeDetails.customaryUnit [ CodeableConcept ]; # 0..1 Customary unit for quantitative results
    fhir:ObservationDefinition.quantitativeDetails.unit [ CodeableConcept ]; # 0..1 SI unit for quantitative results
    fhir:ObservationDefinition.quantitativeDetails.conversionFactor [ decimal ]; # 0..1 SI to Customary unit conversion factor
    fhir:ObservationDefinition.quantitativeDetails.decimalPrecision [ integer ]; # 0..1 Decimal precision of observation quantitative results
  ];
  fhir:ObservationDefinition.qualifiedInterval [ # 0..* Qualified range for continuous and ordinal observation results
    fhir:ObservationDefinition.qualifiedInterval.category [ code ]; # 0..1 reference | critical | absolute
    fhir:ObservationDefinition.qualifiedInterval.range [ Range ]; # 0..1 The interval itself, for continuous or ordinal observations
    fhir:ObservationDefinition.qualifiedInterval.context [ CodeableConcept ]; # 0..1 Range context qualifier
    fhir:ObservationDefinition.qualifiedInterval.appliesTo [ CodeableConcept ], ... ; # 0..* Targetted population of the range
    fhir:ObservationDefinition.qualifiedInterval.gender [ code ]; # 0..1 male | female | other | unknown
    fhir:ObservationDefinition.qualifiedInterval.age [ Range ]; # 0..1 Applicable age range, if relevant
    fhir:ObservationDefinition.qualifiedInterval.gestationalAge [ Range ]; # 0..1 Applicable gestational age range, if relevant
    fhir:ObservationDefinition.qualifiedInterval.condition [ string ]; # 0..1 Condition associated with the reference range
  ], ...;
  fhir:ObservationDefinition.validCodedValueSet [ Reference(ValueSet) ]; # 0..1 Value set of valid coded values for the observations conforming to this ObservationDefinition
  fhir:ObservationDefinition.normalCodedValueSet [ Reference(ValueSet) ]; # 0..1 Value set of normal coded values for the observations conforming to this ObservationDefinition
  fhir:ObservationDefinition.abnormalCodedValueSet [ Reference(ValueSet) ]; # 0..1 Value set of abnormal coded values for the observations conforming to this ObservationDefinition
  fhir:ObservationDefinition.criticalCodedValueSet [ Reference(ValueSet) ]; # 0..1 Value set of critical coded values for the observations conforming to this ObservationDefinition
]

Changes since R3

ObservationDefinition
ObservationDefinition.permittedDataType
  • Change value set from http://hl7.org/fhir/ValueSet/permitted-data-type|4.0.0 to http://hl7.org/fhir/ValueSet/permitted-data-type|4.3.0-snapshot1
ObservationDefinition.qualifiedInterval.category
  • Change value set from http://hl7.org/fhir/ValueSet/observation-range-category|4.0.0 to http://hl7.org/fhir/ValueSet/observation-range-category|4.3.0-snapshot1
ObservationDefinition.qualifiedInterval.gender
  • Change value set from http://hl7.org/fhir/ValueSet/administrative-gender|4.0.0 to http://hl7.org/fhir/ValueSet/administrative-gender|4.3.0-snapshot1

See the Full Difference for further information

This analysis is available as XML or JSON.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. ObservationDefinition TUDomainResourceDefinition of an observation
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... category Σ0..*CodeableConceptCategory of observation
Observation Category Codes (Example)
... code Σ1..1CodeableConceptType of observation (code / type)
LOINC Codes (Example)
... identifier Σ0..*IdentifierBusiness identifier for this ObservationDefinition instance
... multipleResultsAllowed 0..1booleanMultiple results allowed
... method 0..1CodeableConceptMethod used to produce the observation
Observation Methods (Example)
... preferredReportName 0..1stringPreferred report name
... quantitativeDetails 0..1BackboneElementCharacteristics of quantitative results
.... customaryUnit 0..1CodeableConceptCustomary unit for quantitative results
UCUM Codes (Extensible)
.... unit 0..1CodeableConceptSI unit for quantitative results
UCUM Codes (Extensible)
.... conversionFactor 0..1decimalSI to Customary unit conversion factor
.... decimalPrecision 0..1integerDecimal precision of observation quantitative results
... qualifiedInterval 0..*BackboneElementQualified range for continuous and ordinal observation results
.... category 0..1codereference | critical | absolute
ObservationRangeCategory (Required)
.... range 0..1RangeThe interval itself, for continuous or ordinal observations
.... context 0..1CodeableConceptRange context qualifier
Observation Reference Range Meaning Codes (Extensible)
.... appliesTo 0..*CodeableConceptTargetted population of the range
Observation Reference Range Applies To Codes (Example)
.... gender 0..1codemale | female | other | unknown
AdministrativeGender (Required)
.... age 0..1RangeApplicable age range, if relevant
.... gestationalAge 0..1RangeApplicable gestational age range, if relevant
.... condition 0..1stringCondition associated with the reference range
... validCodedValueSet 0..1Reference(ValueSet)Value set of valid coded values for the observations conforming to this ObservationDefinition
... normalCodedValueSet 0..1Reference(ValueSet)Value set of normal coded values for the observations conforming to this ObservationDefinition
... abnormalCodedValueSet 0..1Reference(ValueSet)Value set of abnormal coded values for the observations conforming to this ObservationDefinition
... criticalCodedValueSet 0..1Reference(ValueSet)Value set of critical coded values for the observations conforming to this ObservationDefinition

doco Documentation for this format

UML Diagram (Legend)

ObservationDefinition (DomainResource)A code that classifies the general type of observationcategory : CodeableConcept [0..*] « null (Strength=Example)ObservationCategoryCodes?? »Describes what will be observed. Sometimes this is called the observation "name"code : CodeableConcept [1..1] « null (Strength=Example)LOINCCodes?? »A unique identifier assigned to this ObservationDefinition artifactidentifier : Identifier [0..*]The data types allowed for the value element of the instance observations conforming to this ObservationDefinitionpermittedDataType : code [0..*] « null (Strength=Required)ObservationDataType! »Multiple results allowed for observations conforming to this ObservationDefinitionmultipleResultsAllowed : boolean [0..1]The method or technique used to perform the observationmethod : CodeableConcept [0..1] « null (Strength=Example)ObservationMethods?? »The preferred name to be used when reporting the results of observations conforming to this ObservationDefinitionpreferredReportName : string [0..1]The set of valid coded results for the observations conforming to this ObservationDefinitionvalidCodedValueSet : Reference [0..1] « ValueSet »The set of normal coded results for the observations conforming to this ObservationDefinitionnormalCodedValueSet : Reference [0..1] « ValueSet »The set of abnormal coded results for the observation conforming to this ObservationDefinitionabnormalCodedValueSet : Reference [0..1] « ValueSet »The set of critical coded results for the observation conforming to this ObservationDefinitioncriticalCodedValueSet : Reference [0..1] « ValueSet »QuantitativeDetailsCustomary unit used to report quantitative results of observations conforming to this ObservationDefinitioncustomaryUnit : CodeableConcept [0..1] « null (Strength=Extensible)UCUMCodes+ »SI unit used to report quantitative results of observations conforming to this ObservationDefinitionunit : CodeableConcept [0..1] « null (Strength=Extensible)UCUMCodes+ »Factor for converting value expressed with SI unit to value expressed with customary unitconversionFactor : decimal [0..1]Number of digits after decimal separator when the results of such observations are of type QuantitydecimalPrecision : integer [0..1]QualifiedIntervalThe category of interval of values for continuous or ordinal observations conforming to this ObservationDefinitioncategory : code [0..1] « null (Strength=Required)ObservationRangeCategory! »The low and high values determining the interval. There may be only one of the tworange : Range [0..1]Codes to indicate the health context the range applies to. For example, the normal or therapeutic rangecontext : CodeableConcept [0..1] « null (Strength=Extensible)ObservationReferenceRangeMean...+ »Codes to indicate the target population this reference range applies toappliesTo : CodeableConcept [0..*] « null (Strength=Example) ObservationReferenceRangeAppl...?? »Sex of the population the range applies togender : code [0..1] « null (Strength=Required)AdministrativeGender! »The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says soage : Range [0..1]The gestational age to which this reference range is applicable, in the context of pregnancygestationalAge : Range [0..1]Text based condition for which the reference range is validcondition : string [0..1]Characteristics for quantitative results of this observationquantitativeDetails[0..1]Multiple ranges of results qualified by different contexts for ordinal or continuous observations conforming to this ObservationDefinitionqualifiedInterval[0..*]

XML Template

<ObservationDefinition xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <category><!-- 0..* CodeableConcept Category of observation --></category>
 <code><!-- 1..1 CodeableConcept Type of observation (code / type) --></code>
 <identifier><!-- 0..* Identifier Business identifier for this ObservationDefinition instance --></identifier>
 <permittedDataType value="[code]"/><!-- 0..* Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period -->
 <multipleResultsAllowed value="[boolean]"/><!-- 0..1 Multiple results allowed -->
 <method><!-- 0..1 CodeableConcept Method used to produce the observation --></method>
 <preferredReportName value="[string]"/><!-- 0..1 Preferred report name -->
 <quantitativeDetails>  <!-- 0..1 Characteristics of quantitative results -->
  <customaryUnit><!-- 0..1 CodeableConcept Customary unit for quantitative results --></customaryUnit>
  <unit><!-- 0..1 CodeableConcept SI unit for quantitative results --></unit>
  <conversionFactor value="[decimal]"/><!-- 0..1 SI to Customary unit conversion factor -->
  <decimalPrecision value="[integer]"/><!-- 0..1 Decimal precision of observation quantitative results -->
 </quantitativeDetails>
 <qualifiedInterval>  <!-- 0..* Qualified range for continuous and ordinal observation results -->
  <category value="[code]"/><!-- 0..1 reference | critical | absolute -->
  <range><!-- 0..1 Range The interval itself, for continuous or ordinal observations --></range>
  <context><!-- 0..1 CodeableConcept Range context qualifier --></context>
  <appliesTo><!-- 0..* CodeableConcept Targetted population of the range --></appliesTo>
  <gender value="[code]"/><!-- 0..1 male | female | other | unknown -->
  <age><!-- 0..1 Range Applicable age range, if relevant --></age>
  <gestationalAge><!-- 0..1 Range Applicable gestational age range, if relevant --></gestationalAge>
  <condition value="[string]"/><!-- 0..1 Condition associated with the reference range -->
 </qualifiedInterval>
 <validCodedValueSet><!-- 0..1 Reference(ValueSet) Value set of valid coded values for the observations conforming to this ObservationDefinition --></validCodedValueSet>
 <normalCodedValueSet><!-- 0..1 Reference(ValueSet) Value set of normal coded values for the observations conforming to this ObservationDefinition --></normalCodedValueSet>
 <abnormalCodedValueSet><!-- 0..1 Reference(ValueSet) Value set of abnormal coded values for the observations conforming to this ObservationDefinition --></abnormalCodedValueSet>
 <criticalCodedValueSet><!-- 0..1 Reference(ValueSet) Value set of critical coded values for the observations conforming to this ObservationDefinition --></criticalCodedValueSet>
</ObservationDefinition>

JSON Template

{doco
  "resourceType" : "ObservationDefinition",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "category" : [{ CodeableConcept }], // Category of observation
  "code" : { CodeableConcept }, // R!  Type of observation (code / type)
  "identifier" : [{ Identifier }], // Business identifier for this ObservationDefinition instance
  "permittedDataType" : ["<code>"], // Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period
  "multipleResultsAllowed" : <boolean>, // Multiple results allowed
  "method" : { CodeableConcept }, // Method used to produce the observation
  "preferredReportName" : "<string>", // Preferred report name
  "quantitativeDetails" : { // Characteristics of quantitative results
    "customaryUnit" : { CodeableConcept }, // Customary unit for quantitative results
    "unit" : { CodeableConcept }, // SI unit for quantitative results
    "conversionFactor" : <decimal>, // SI to Customary unit conversion factor
    "decimalPrecision" : <integer> // Decimal precision of observation quantitative results
  },
  "qualifiedInterval" : [{ // Qualified range for continuous and ordinal observation results
    "category" : "<code>", // reference | critical | absolute
    "range" : { Range }, // The interval itself, for continuous or ordinal observations
    "context" : { CodeableConcept }, // Range context qualifier
    "appliesTo" : [{ CodeableConcept }], // Targetted population of the range
    "gender" : "<code>", // male | female | other | unknown
    "age" : { Range }, // Applicable age range, if relevant
    "gestationalAge" : { Range }, // Applicable gestational age range, if relevant
    "condition" : "<string>" // Condition associated with the reference range
  }],
  "validCodedValueSet" : { Reference(ValueSet) }, // Value set of valid coded values for the observations conforming to this ObservationDefinition
  "normalCodedValueSet" : { Reference(ValueSet) }, // Value set of normal coded values for the observations conforming to this ObservationDefinition
  "abnormalCodedValueSet" : { Reference(ValueSet) }, // Value set of abnormal coded values for the observations conforming to this ObservationDefinition
  "criticalCodedValueSet" : { Reference(ValueSet) } // Value set of critical coded values for the observations conforming to this ObservationDefinition
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:ObservationDefinition;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:ObservationDefinition.category [ CodeableConcept ], ... ; # 0..* Category of observation
  fhir:ObservationDefinition.code [ CodeableConcept ]; # 1..1 Type of observation (code / type)
  fhir:ObservationDefinition.identifier [ Identifier ], ... ; # 0..* Business identifier for this ObservationDefinition instance
  fhir:ObservationDefinition.permittedDataType [ code ], ... ; # 0..* Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period
  fhir:ObservationDefinition.multipleResultsAllowed [ boolean ]; # 0..1 Multiple results allowed
  fhir:ObservationDefinition.method [ CodeableConcept ]; # 0..1 Method used to produce the observation
  fhir:ObservationDefinition.preferredReportName [ string ]; # 0..1 Preferred report name
  fhir:ObservationDefinition.quantitativeDetails [ # 0..1 Characteristics of quantitative results
    fhir:ObservationDefinition.quantitativeDetails.customaryUnit [ CodeableConcept ]; # 0..1 Customary unit for quantitative results
    fhir:ObservationDefinition.quantitativeDetails.unit [ CodeableConcept ]; # 0..1 SI unit for quantitative results
    fhir:ObservationDefinition.quantitativeDetails.conversionFactor [ decimal ]; # 0..1 SI to Customary unit conversion factor
    fhir:ObservationDefinition.quantitativeDetails.decimalPrecision [ integer ]; # 0..1 Decimal precision of observation quantitative results
  ];
  fhir:ObservationDefinition.qualifiedInterval [ # 0..* Qualified range for continuous and ordinal observation results
    fhir:ObservationDefinition.qualifiedInterval.category [ code ]; # 0..1 reference | critical | absolute
    fhir:ObservationDefinition.qualifiedInterval.range [ Range ]; # 0..1 The interval itself, for continuous or ordinal observations
    fhir:ObservationDefinition.qualifiedInterval.context [ CodeableConcept ]; # 0..1 Range context qualifier
    fhir:ObservationDefinition.qualifiedInterval.appliesTo [ CodeableConcept ], ... ; # 0..* Targetted population of the range
    fhir:ObservationDefinition.qualifiedInterval.gender [ code ]; # 0..1 male | female | other | unknown
    fhir:ObservationDefinition.qualifiedInterval.age [ Range ]; # 0..1 Applicable age range, if relevant
    fhir:ObservationDefinition.qualifiedInterval.gestationalAge [ Range ]; # 0..1 Applicable gestational age range, if relevant
    fhir:ObservationDefinition.qualifiedInterval.condition [ string ]; # 0..1 Condition associated with the reference range
  ], ...;
  fhir:ObservationDefinition.validCodedValueSet [ Reference(ValueSet) ]; # 0..1 Value set of valid coded values for the observations conforming to this ObservationDefinition
  fhir:ObservationDefinition.normalCodedValueSet [ Reference(ValueSet) ]; # 0..1 Value set of normal coded values for the observations conforming to this ObservationDefinition
  fhir:ObservationDefinition.abnormalCodedValueSet [ Reference(ValueSet) ]; # 0..1 Value set of abnormal coded values for the observations conforming to this ObservationDefinition
  fhir:ObservationDefinition.criticalCodedValueSet [ Reference(ValueSet) ]; # 0..1 Value set of critical coded values for the observations conforming to this ObservationDefinition
]

Changes since Release 3

ObservationDefinition
ObservationDefinition.permittedDataType
  • Change value set from http://hl7.org/fhir/ValueSet/permitted-data-type|4.0.0 to http://hl7.org/fhir/ValueSet/permitted-data-type|4.3.0-snapshot1
ObservationDefinition.qualifiedInterval.category
  • Change value set from http://hl7.org/fhir/ValueSet/observation-range-category|4.0.0 to http://hl7.org/fhir/ValueSet/observation-range-category|4.3.0-snapshot1
ObservationDefinition.qualifiedInterval.gender
  • Change value set from http://hl7.org/fhir/ValueSet/administrative-gender|4.0.0 to http://hl7.org/fhir/ValueSet/administrative-gender|4.3.0-snapshot1

See the Full Difference for further information

This analysis is available as XML or JSON.

 

See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis

PathDefinitionTypeReference
ObservationDefinition.category ExampleObservationCategoryCodes
ObservationDefinition.code ExampleLOINCCodes
ObservationDefinition.permittedDataType RequiredObservationDataType
ObservationDefinition.method ExampleObservationMethods
ObservationDefinition.quantitativeDetails.customaryUnit ExtensibleUCUMCodes
ObservationDefinition.quantitativeDetails.unit ExtensibleUCUMCodes
ObservationDefinition.qualifiedInterval.category RequiredObservationRangeCategory
ObservationDefinition.qualifiedInterval.context ExtensibleObservationReferenceRangeMeaningCodes
ObservationDefinition.qualifiedInterval.appliesTo ExampleObservationReferenceRangeAppliesToCodes
ObservationDefinition.qualifiedInterval.gender RequiredAdministrativeGender