This page is part of the FHIR Specification (v3.5.0: R4 Ballot #2). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4
Orders and Observations Work Group | Maturity Level: 0 | Trial Use | 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:.
This resource is referenced by ActivityDefinition, EntryDefinition and MedicationKnowledge
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ObservationDefinition | TU | DomainResource | Definition of an observation Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
category | Σ | 0..1 | Coding | Category of observation |
code | Σ | 1..1 | Coding | Type of observation (code / type) LOINC Codes (Example) |
permittedDataType | 0..* | Coding | Permitted data type for observation value | |
multipleResultsAllowed | 0..1 | boolean | Multiple results allowed | |
method | 0..1 | CodeableConcept | The method or technique used to perform the observation Observation Methods (Example) | |
preferredReportName | 0..1 | string | Preferred report name | |
quantitativeDetails | 0..1 | BackboneElement | Characteristics of quantitative results | |
customaryUnit | 0..1 | Coding | Customary unit for quantitative results ObservationUnit (Extensible) | |
unit | 0..1 | Coding | SI unit for quantitative results ObservationUnit (Extensible) | |
conversionFactor | 0..1 | decimal | SI to Customary unit conversion factor | |
decimalPrecision | 0..1 | integer | Decimal precision of observation quantitative results | |
qualifiedInterval | 0..* | BackboneElement | Reference range for observation result | |
category | 0..1 | CodeableConcept | The category or type of interval Observation Category Codes (Preferred) | |
range | 0..1 | Range | Low bound of reference range, if relevant | |
type | 0..1 | CodeableConcept | Reference range qualifier Observation Reference Range Meaning Codes (Extensible) | |
appliesTo | 0..* | CodeableConcept | Reference range population Observation Reference Range Applies To Codes (Example) | |
age | 0..1 | Range | Applicable age range, if relevant | |
gestationalAge | 0..1 | Range | Applicable gestational age range, if relevant | |
condition | 0..1 | string | Condition associated with the reference range | |
validCodedValueSet | 0..1 | uri | Value set of valid coded values for the observation | |
normalCodedValueSet | 0..1 | uri | Value set of normal coded values for the observation | |
abnormalCodedValueSet | 0..1 | uri | Value set of abnormal coded values for the observation | |
criticalCodedValueSet | 0..1 | uri | Value set of critical coded values for the observation | |
Documentation for this format |
UML Diagram (Legend)
XML Template
<ObservationDefinition xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <category><!-- 0..1 Coding Category of observation --></category> <code><!-- 1..1 Coding Type of observation (code / type) --></code> <permittedDataType><!-- 0..* Coding Permitted data type for observation value --></permittedDataType> <multipleResultsAllowed value="[boolean]"/><!-- 0..1 Multiple results allowed --> <method><!-- 0..1 CodeableConcept The method or technique used to perform the observation --></method> <preferredReportName value="[string]"/><!-- 0..1 Preferred report name --> <quantitativeDetails> <!-- 0..1 Characteristics of quantitative results --> <customaryUnit><!-- 0..1 Coding Customary unit for quantitative results --></customaryUnit> <unit><!-- 0..1 Coding 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..* Reference range for observation result --> <category><!-- 0..1 CodeableConcept The category or type of interval --></category> <range><!-- 0..1 Range Low bound of reference range, if relevant --></range> <type><!-- 0..1 CodeableConcept Reference range qualifier --></type> <appliesTo><!-- 0..* CodeableConcept Reference range population --></appliesTo> <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 value="[uri]"/><!-- 0..1 Value set of valid coded values for the observation --> <normalCodedValueSet value="[uri]"/><!-- 0..1 Value set of normal coded values for the observation --> <abnormalCodedValueSet value="[uri]"/><!-- 0..1 Value set of abnormal coded values for the observation --> <criticalCodedValueSet value="[uri]"/><!-- 0..1 Value set of critical coded values for the observation --> </ObservationDefinition>
JSON Template
{ "resourceType" : "ObservationDefinition", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "category" : { Coding }, // Category of observation "code" : { Coding }, // R! Type of observation (code / type) "permittedDataType" : [{ Coding }], // Permitted data type for observation value "multipleResultsAllowed" : <boolean>, // Multiple results allowed "method" : { CodeableConcept }, // The method or technique used to perform the observation "preferredReportName" : "<string>", // Preferred report name "quantitativeDetails" : { // Characteristics of quantitative results "customaryUnit" : { Coding }, // Customary unit for quantitative results "unit" : { Coding }, // SI unit for quantitative results "conversionFactor" : <decimal>, // SI to Customary unit conversion factor "decimalPrecision" : <integer> // Decimal precision of observation quantitative results }, "qualifiedInterval" : [{ // Reference range for observation result "category" : { CodeableConcept }, // The category or type of interval "range" : { Range }, // Low bound of reference range, if relevant "type" : { CodeableConcept }, // Reference range qualifier "appliesTo" : [{ CodeableConcept }], // Reference range population "age" : { Range }, // Applicable age range, if relevant "gestationalAge" : { Range }, // Applicable gestational age range, if relevant "condition" : "<string>" // Condition associated with the reference range }], "validCodedValueSet" : "<uri>", // Value set of valid coded values for the observation "normalCodedValueSet" : "<uri>", // Value set of normal coded values for the observation "abnormalCodedValueSet" : "<uri>", // Value set of abnormal coded values for the observation "criticalCodedValueSet" : "<uri>" // Value set of critical coded values for the observation }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ 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 [ Coding ]; # 0..1 Category of observation fhir:ObservationDefinition.code [ Coding ]; # 1..1 Type of observation (code / type) fhir:ObservationDefinition.permittedDataType [ Coding ], ... ; # 0..* Permitted data type for observation value fhir:ObservationDefinition.multipleResultsAllowed [ boolean ]; # 0..1 Multiple results allowed fhir:ObservationDefinition.method [ CodeableConcept ]; # 0..1 The method or technique used to perform the observation fhir:ObservationDefinition.preferredReportName [ string ]; # 0..1 Preferred report name fhir:ObservationDefinition.quantitativeDetails [ # 0..1 Characteristics of quantitative results fhir:ObservationDefinition.quantitativeDetails.customaryUnit [ Coding ]; # 0..1 Customary unit for quantitative results fhir:ObservationDefinition.quantitativeDetails.unit [ Coding ]; # 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..* Reference range for observation result fhir:ObservationDefinition.qualifiedInterval.category [ CodeableConcept ]; # 0..1 The category or type of interval fhir:ObservationDefinition.qualifiedInterval.range [ Range ]; # 0..1 Low bound of reference range, if relevant fhir:ObservationDefinition.qualifiedInterval.type [ CodeableConcept ]; # 0..1 Reference range qualifier fhir:ObservationDefinition.qualifiedInterval.appliesTo [ CodeableConcept ], ... ; # 0..* Reference range population 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 [ uri ]; # 0..1 Value set of valid coded values for the observation fhir:ObservationDefinition.normalCodedValueSet [ uri ]; # 0..1 Value set of normal coded values for the observation fhir:ObservationDefinition.abnormalCodedValueSet [ uri ]; # 0..1 Value set of abnormal coded values for the observation fhir:ObservationDefinition.criticalCodedValueSet [ uri ]; # 0..1 Value set of critical coded values for the observation ]
Changes since R3
This resource did not exist in Release 2
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = Not Mapped)
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ObservationDefinition | TU | DomainResource | Definition of an observation Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
category | Σ | 0..1 | Coding | Category of observation |
code | Σ | 1..1 | Coding | Type of observation (code / type) LOINC Codes (Example) |
permittedDataType | 0..* | Coding | Permitted data type for observation value | |
multipleResultsAllowed | 0..1 | boolean | Multiple results allowed | |
method | 0..1 | CodeableConcept | The method or technique used to perform the observation Observation Methods (Example) | |
preferredReportName | 0..1 | string | Preferred report name | |
quantitativeDetails | 0..1 | BackboneElement | Characteristics of quantitative results | |
customaryUnit | 0..1 | Coding | Customary unit for quantitative results ObservationUnit (Extensible) | |
unit | 0..1 | Coding | SI unit for quantitative results ObservationUnit (Extensible) | |
conversionFactor | 0..1 | decimal | SI to Customary unit conversion factor | |
decimalPrecision | 0..1 | integer | Decimal precision of observation quantitative results | |
qualifiedInterval | 0..* | BackboneElement | Reference range for observation result | |
category | 0..1 | CodeableConcept | The category or type of interval Observation Category Codes (Preferred) | |
range | 0..1 | Range | Low bound of reference range, if relevant | |
type | 0..1 | CodeableConcept | Reference range qualifier Observation Reference Range Meaning Codes (Extensible) | |
appliesTo | 0..* | CodeableConcept | Reference range population Observation Reference Range Applies To Codes (Example) | |
age | 0..1 | Range | Applicable age range, if relevant | |
gestationalAge | 0..1 | Range | Applicable gestational age range, if relevant | |
condition | 0..1 | string | Condition associated with the reference range | |
validCodedValueSet | 0..1 | uri | Value set of valid coded values for the observation | |
normalCodedValueSet | 0..1 | uri | Value set of normal coded values for the observation | |
abnormalCodedValueSet | 0..1 | uri | Value set of abnormal coded values for the observation | |
criticalCodedValueSet | 0..1 | uri | Value set of critical coded values for the observation | |
Documentation for this format |
XML Template
<ObservationDefinition xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <category><!-- 0..1 Coding Category of observation --></category> <code><!-- 1..1 Coding Type of observation (code / type) --></code> <permittedDataType><!-- 0..* Coding Permitted data type for observation value --></permittedDataType> <multipleResultsAllowed value="[boolean]"/><!-- 0..1 Multiple results allowed --> <method><!-- 0..1 CodeableConcept The method or technique used to perform the observation --></method> <preferredReportName value="[string]"/><!-- 0..1 Preferred report name --> <quantitativeDetails> <!-- 0..1 Characteristics of quantitative results --> <customaryUnit><!-- 0..1 Coding Customary unit for quantitative results --></customaryUnit> <unit><!-- 0..1 Coding 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..* Reference range for observation result --> <category><!-- 0..1 CodeableConcept The category or type of interval --></category> <range><!-- 0..1 Range Low bound of reference range, if relevant --></range> <type><!-- 0..1 CodeableConcept Reference range qualifier --></type> <appliesTo><!-- 0..* CodeableConcept Reference range population --></appliesTo> <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 value="[uri]"/><!-- 0..1 Value set of valid coded values for the observation --> <normalCodedValueSet value="[uri]"/><!-- 0..1 Value set of normal coded values for the observation --> <abnormalCodedValueSet value="[uri]"/><!-- 0..1 Value set of abnormal coded values for the observation --> <criticalCodedValueSet value="[uri]"/><!-- 0..1 Value set of critical coded values for the observation --> </ObservationDefinition>
JSON Template
{ "resourceType" : "ObservationDefinition", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "category" : { Coding }, // Category of observation "code" : { Coding }, // R! Type of observation (code / type) "permittedDataType" : [{ Coding }], // Permitted data type for observation value "multipleResultsAllowed" : <boolean>, // Multiple results allowed "method" : { CodeableConcept }, // The method or technique used to perform the observation "preferredReportName" : "<string>", // Preferred report name "quantitativeDetails" : { // Characteristics of quantitative results "customaryUnit" : { Coding }, // Customary unit for quantitative results "unit" : { Coding }, // SI unit for quantitative results "conversionFactor" : <decimal>, // SI to Customary unit conversion factor "decimalPrecision" : <integer> // Decimal precision of observation quantitative results }, "qualifiedInterval" : [{ // Reference range for observation result "category" : { CodeableConcept }, // The category or type of interval "range" : { Range }, // Low bound of reference range, if relevant "type" : { CodeableConcept }, // Reference range qualifier "appliesTo" : [{ CodeableConcept }], // Reference range population "age" : { Range }, // Applicable age range, if relevant "gestationalAge" : { Range }, // Applicable gestational age range, if relevant "condition" : "<string>" // Condition associated with the reference range }], "validCodedValueSet" : "<uri>", // Value set of valid coded values for the observation "normalCodedValueSet" : "<uri>", // Value set of normal coded values for the observation "abnormalCodedValueSet" : "<uri>", // Value set of abnormal coded values for the observation "criticalCodedValueSet" : "<uri>" // Value set of critical coded values for the observation }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ 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 [ Coding ]; # 0..1 Category of observation fhir:ObservationDefinition.code [ Coding ]; # 1..1 Type of observation (code / type) fhir:ObservationDefinition.permittedDataType [ Coding ], ... ; # 0..* Permitted data type for observation value fhir:ObservationDefinition.multipleResultsAllowed [ boolean ]; # 0..1 Multiple results allowed fhir:ObservationDefinition.method [ CodeableConcept ]; # 0..1 The method or technique used to perform the observation fhir:ObservationDefinition.preferredReportName [ string ]; # 0..1 Preferred report name fhir:ObservationDefinition.quantitativeDetails [ # 0..1 Characteristics of quantitative results fhir:ObservationDefinition.quantitativeDetails.customaryUnit [ Coding ]; # 0..1 Customary unit for quantitative results fhir:ObservationDefinition.quantitativeDetails.unit [ Coding ]; # 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..* Reference range for observation result fhir:ObservationDefinition.qualifiedInterval.category [ CodeableConcept ]; # 0..1 The category or type of interval fhir:ObservationDefinition.qualifiedInterval.range [ Range ]; # 0..1 Low bound of reference range, if relevant fhir:ObservationDefinition.qualifiedInterval.type [ CodeableConcept ]; # 0..1 Reference range qualifier fhir:ObservationDefinition.qualifiedInterval.appliesTo [ CodeableConcept ], ... ; # 0..* Reference range population 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 [ uri ]; # 0..1 Value set of valid coded values for the observation fhir:ObservationDefinition.normalCodedValueSet [ uri ]; # 0..1 Value set of normal coded values for the observation fhir:ObservationDefinition.abnormalCodedValueSet [ uri ]; # 0..1 Value set of abnormal coded values for the observation fhir:ObservationDefinition.criticalCodedValueSet [ uri ]; # 0..1 Value set of critical coded values for the observation ]
Changes since Release 3
This resource did not exist in Release 2
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = Not Mapped)
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
Path | Definition | Type | Reference |
---|---|---|---|
ObservationDefinition.code | Codes identifying names of simple observations. | Example | LOINCCodes |
ObservationDefinition.method | Methods for simple observations. | Example | ObservationMethods |
ObservationDefinition.quantitativeDetails.customaryUnit ObservationDefinition.quantitativeDetails.unit | Units usable for observations. | Extensible | http://unitsofmeasure.org/vs |
ObservationDefinition.qualifiedInterval.category | Codes for high level observation categories. | Preferred | ObservationCategoryCodes |
ObservationDefinition.qualifiedInterval.type | Code for the meaning of a reference range. | Extensible | ObservationReferenceRangeMeaningCodes |
ObservationDefinition.qualifiedInterval.appliesTo | Codes identifying the population the reference range applies to. | Example | ObservationReferenceRangeAppliesToCodes |