Release 5

This page is part of the FHIR Specification (v5.0.0: R5 - STU). This is the current published version. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4

8.29 Resource ObservationDefinition - Content

Orders and Observations icon Work GroupMaturity Level: 1 Trial UseSecurity Category: Business Compartments: No defined compartments

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

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 represents a set of constraints applicable to the value produced by observations of this kind. It helps the consumer of the results of observations of that kind, to interpret properly these results. If one wants to technically constrain an Observation resource for a particular use case across implementers, a profile is the preferred option and may include profiling on ObservationDefinition and Observation.

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.

Observation Definition resources can be used to describe observations which may need to be evaluated in order to determine whether a specific medicine can be administered or held (e.g., weight, lab value result) and provide guidance on the dose to be administered (e.g., sliding scale insulin dose).

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.

An ObservationDefinition resource provides the definitional characteristics for a certain kind of observation. Each time that kind of observation is collected and recorded it is instantiated as an Observation resource, which conforms to these definitional characteristics. Thus, there is a relationship between ObservationDefinition and Observation: The latter may instantiate the former.

When an Observation instantiates an ObservationDefinition, the elements of the Observation resource are expected to inherit their content from the corresponding definitional elements declared in the ObservationDefinition resource:

  • Category, code, datatype of the value, bodySite, method.
  • Each referenceRange element present in Observation should come from a qualifiedValue element of ObservationDefinition.
  • If ObservationDefinition has declared a ValueSet of valid coded values, and if Observation has a valueCodeableConcept, the value is expected to be part of that ValueSet.
  • The subject of the Observation should be conformant with one of the subjectCodeableConcept listed in ObservationDefinition.
  • If the Observation has a device element, the referenced Device resource should conform to a DeviceDefinition or Device referenced by ObservationDefinition.device (if present).
  • If the Observation has a specimen element, the referenced Specimen resource should conform to a SpecimenDefinition referenced by ObservationDefinition.specimen (if present).

ObservationDefinition enables to express some Quantity results in two distinct units of measure: the primary or SI one, represented by element unit, and a converted one, provided for accommodation of some actors, represented by element customaryUnit. Observation may pick only the primary unit, or may express its result in both units, in two component results.

ObservationDefinitions are only to be used when describing the contents of an observation (including observations in order catalogs or panels). When additional structure, sequence, or rules are needed, the Questionnaire resource should be used.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. ObservationDefinition TUDomainResourceDefinition of an observation
+ Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation
+ Rule: If permittedUnit exists, then permittedDataType=Quantity must exist.

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
Interfaces Implemented: MetadataResource
... url Σ0..1uriLogical canonical URL to reference this ObservationDefinition (globally unique)
... identifier Σ0..1IdentifierBusiness identifier of the ObservationDefinition
... version Σ0..1stringBusiness version of the ObservationDefinition
... versionAlgorithm[x] Σ0..1How to compare versions
Binding: Version Algorithm (Extensible)
.... versionAlgorithmStringstring
.... versionAlgorithmCodingCoding
... name ΣC0..1stringName for this ObservationDefinition (computer friendly)
... title ΣT0..1stringName for this ObservationDefinition (human friendly)
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (Required)
... experimental Σ0..1booleanIf for testing purposes, not real usage
... date Σ0..1dateTimeDate last changed
... publisher ΣT0..1stringThe name of the individual or organization that published the ObservationDefinition
... contact Σ0..*ContactDetailContact details for the publisher

... description T0..1markdownNatural language description of the ObservationDefinition
... useContext Σ0..*UsageContextContent intends to support these contexts

... jurisdiction ΣXD0..*CodeableConceptIntended jurisdiction for this ObservationDefinition (if applicable)
Binding: Jurisdiction ValueSet (Extensible)

... purpose T0..1markdownWhy this ObservationDefinition is defined
... copyright T0..1markdownUse and/or publishing restrictions
... copyrightLabel T0..1stringCopyright holder and year(s)
... approvalDate 0..1dateWhen ObservationDefinition was approved by publisher
... lastReviewDate 0..1dateDate on which the asset content was last reviewed by the publisher
... effectivePeriod Σ0..1PeriodThe effective date range for the ObservationDefinition
... derivedFromCanonical Σ0..*canonical(ObservationDefinition)Based on FHIR definition of another observation

... derivedFromUri Σ0..*uriBased on external definition

... subject Σ0..*CodeableConceptType of subject for the defined observation

... performerType Σ0..1CodeableConceptDesired kind of performer for such kind of observation
... category Σ0..*CodeableConceptGeneral type of observation
Binding: Observation Category Codes (Example)

... code Σ1..1CodeableConceptType of observation
Binding: LOINC Codes (Example)
... permittedDataType C0..*codeQuantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period
Binding: Observation Data Type (Required)

... multipleResultsAllowed 0..1booleanMultiple results allowed for conforming observations
... bodySite 0..1CodeableConceptBody part to be observed
Binding: SNOMED CT Body Structures (Example)
... method 0..1CodeableConceptMethod used to produce the observation
Binding: Observation Methods (Example)
... specimen 0..*Reference(SpecimenDefinition)Kind of specimen used by this type of observation

... device 0..*Reference(DeviceDefinition | Device)Measurement device or model of device

... preferredReportName 0..1stringThe preferred name to be used when reporting the observation results
... permittedUnit C0..*CodingUnit for quantitative results
Binding: UCUM Codes (Preferred)

... qualifiedValue 0..*BackboneElementSet of qualified values for observation results

.... context 0..1CodeableConceptContext qualifier for the set of qualified values
Binding: Observation Reference Range Meaning Codes (Extensible)
.... appliesTo 0..*CodeableConceptTargetted population for the set of qualified values
Binding: Observation Reference Range Applies To Codes (Example)

.... gender 0..1codemale | female | other | unknown
Binding: AdministrativeGender (Required)
.... age 0..1RangeApplicable age range for the set of qualified values
.... gestationalAge 0..1RangeApplicable gestational age range for the set of qualified values
.... condition 0..1stringCondition associated with the set of qualified values
.... rangeCategory 0..1codereference | critical | absolute
Binding: Observation Range Category (Required)
.... range 0..1RangeThe range for continuous or ordinal observations
.... validCodedValueSet 0..1canonical(ValueSet)Value set of valid coded values as part of this set of qualified values
.... normalCodedValueSet 0..1canonical(ValueSet)Value set of normal coded values as part of this set of qualified values
.... abnormalCodedValueSet 0..1canonical(ValueSet)Value set of abnormal coded values as part of this set of qualified values
.... criticalCodedValueSet 0..1canonical(ValueSet)Value set of critical coded values as part of this set of qualified values
... hasMember 0..*Reference(ObservationDefinition | Questionnaire)Definitions of related resources belonging to this kind of observation group

... component C0..*BackboneElementComponent results
+ Rule: If permittedUnit exists, then permittedDataType=Quantity must exist.

.... code 1..1CodeableConceptType of observation
Binding: LOINC Codes (Example)
.... permittedDataType C0..*codeQuantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period
Binding: Observation Data Type (Required)

.... permittedUnit C0..*CodingUnit for quantitative results
Binding: UCUM Codes (Preferred)

.... qualifiedValue 0..*see qualifiedValueSet of qualified values for observation results


doco Documentation for this format icon

See the Extensions for this resource

UML Diagram (Legend)

ObservationDefinition (DomainResource) +MetadataResourceAn absolute URL that is used to identify this ObservationDefinition when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this ObservationDefinition is (or will be) published. The URL SHOULD include the major version of the ObservationDefinition. For more information see Technical and Business Versionsurl : uri [0..1]Business identifiers assigned to this ObservationDefinition. by the performer and/or other systems. These identifiers remain constant as the resource is updated and propagates from server to serveridentifier : Identifier [0..1]The identifier that is used to identify this version of the ObservationDefinition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the ObservationDefinition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions are orderableversion : string [0..1]Indicates the mechanism used to compare versions to determine which is more currentversionAlgorithm[x] : DataType [0..1] « string|Coding; null (Strength=Extensible) VersionAlgorithm+ »A natural language name identifying the ObservationDefinition. This name should be usable as an identifier for the module by machine processing applications such as code generationname : string [0..1] « This element has or is affected by some invariantsC »A short, descriptive, user-friendly title for the ObservationDefinitiontitle : string [0..1]The current state of the ObservationDefinition (this element modifies the meaning of other elements)status : code [1..1] « null (Strength=Required)PublicationStatus! »A flag to indicate that this ObservationDefinition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usageexperimental : boolean [0..1]The date (and optionally time) when the ObservationDefinition was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the ObservationDefinition changesdate : dateTime [0..1]Helps establish the "authority/credibility" of the ObservationDefinition. May also allow for contactpublisher : string [0..1]Contact details to assist a user in finding and communicating with the publishercontact : ContactDetail [0..*]A free text natural language description of the ObservationDefinition from the consumer's perspectivedescription : markdown [0..1]The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate ObservationDefinition instancesuseContext : UsageContext [0..*]A jurisdiction in which the ObservationDefinition is intended to be usedjurisdiction : CodeableConcept [0..*] « null (Strength=Extensible)JurisdictionValueSet+ »Explains why this ObservationDefinition is needed and why it has been designed as it haspurpose : markdown [0..1]Copyright statement relating to the ObservationDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the ObservationDefinitioncopyright : markdown [0..1]A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved')copyrightLabel : string [0..1]The date on which the asset content was approved by the publisher. Approval happens once when the content is officially approved for usageapprovalDate : date [0..1]The date on which the asset content was last reviewed. Review happens periodically after that, but doesn't change the original approval datelastReviewDate : date [0..1]The period during which the ObservationDefinition content was or is planned to be effectiveeffectivePeriod : Period [0..1]The canonical URL pointing to another FHIR-defined ObservationDefinition that is adhered to in whole or in part by this definitionderivedFromCanonical : canonical [0..*] « ObservationDefinition »The URL pointing to an externally-defined observation definition, guideline or other definition that is adhered to in whole or in part by this definitionderivedFromUri : uri [0..*]A code that describes the intended kind of subject of Observation instances conforming to this ObservationDefinitionsubject : CodeableConcept [0..*]The type of individual/organization/device that is expected to act upon instances of this definitionperformerType : CodeableConcept [0..1]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?? »The data types allowed for the value element of the instance observations conforming to this ObservationDefinitionpermittedDataType : code [0..*] « null (Strength=Required)ObservationDataType! » « This element has or is affected by some invariantsC »Multiple results allowed for observations conforming to this ObservationDefinitionmultipleResultsAllowed : boolean [0..1]The site on the subject's body where the observation is to be madebodySite : CodeableConcept [0..1] « null (Strength=Example)SNOMEDCTBodyStructures?? »The method or technique used to perform the observationmethod : CodeableConcept [0..1] « null (Strength=Example)ObservationMethods?? »The kind of specimen that this type of observation is produced onspecimen : Reference [0..*] « SpecimenDefinition »The measurement model of device or actual device used to produce observations of this typedevice : Reference [0..*] « DeviceDefinition|Device »The preferred name to be used when reporting the results of observations conforming to this ObservationDefinitionpreferredReportName : string [0..1]Units allowed for the valueQuantity element in the instance observations conforming to this ObservationDefinitionpermittedUnit : Coding [0..*] « null (Strength=Preferred)UCUMCodes? » « This element has or is affected by some invariantsC »This ObservationDefinition defines a group observation (e.g. a battery, a panel of tests, a set of vital sign measurements) that includes the target as a member of the grouphasMember : Reference [0..*] « ObservationDefinition|Questionnaire »QualifiedValueA concept defining the context for this set of qualified valuescontext : CodeableConcept [0..1] « null (Strength=Extensible)ObservationReferenceRangeMean...+ »The target population this set of qualified values applies toappliesTo : CodeableConcept [0..*] « null (Strength=Example) ObservationReferenceRangeAppl...?? »The gender this set of qualified values applies togender : code [0..1] « null (Strength=Required)AdministrativeGender! »The age range this set of qualified values applies toage : Range [0..1]The gestational age this set of qualified values applies togestationalAge : Range [0..1]Text based condition for which the the set of qualified values is validcondition : string [0..1]The category of range of values for continuous or ordinal observations that match the criteria of this set of qualified valuesrangeCategory : code [0..1] « null (Strength=Required)ObservationRangeCategory! »The range of values defined for continuous or ordinal observations that match the criteria of this set of qualified valuesrange : Range [0..1]The set of valid coded results for qualitative observations that match the criteria of this set of qualified valuesvalidCodedValueSet : canonical [0..1] « ValueSet »The set of normal coded results for qualitative observations that match the criteria of this set of qualified valuesnormalCodedValueSet : canonical [0..1] « ValueSet »The set of abnormal coded results for qualitative observations that match the criteria of this set of qualified valuesabnormalCodedValueSet : canonical [0..1] « ValueSet »The set of critical coded results for qualitative observations that match the criteria of this set of qualified valuescriticalCodedValueSet : canonical [0..1] « ValueSet »ComponentDescribes what will be observedcode : CodeableConcept [1..1] « null (Strength=Example)LOINCCodes?? »The data types allowed for the value element of the instance of this component observationspermittedDataType : code [0..*] « null (Strength=Required)ObservationDataType! » « This element has or is affected by some invariantsC »Units allowed for the valueQuantity element in the instance observations conforming to this ObservationDefinitionpermittedUnit : Coding [0..*] « null (Strength=Preferred)UCUMCodes? » « This element has or is affected by some invariantsC »A set of qualified values associated with a context and a set of conditions - provides a range for quantitative and ordinal observations and a collection of value sets for qualitative observationsqualifiedValue[0..*]A set of qualified values associated with a context and a set of conditions - provides a range for quantitative and ordinal observations and a collection of value sets for qualitative observationsqualifiedValue[0..*]Some observations have multiple component observations, expressed as separate code value pairscomponent[0..*]

XML Template

<ObservationDefinition xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <url value="[uri]"/><!-- 0..1 Logical canonical URL to reference this ObservationDefinition (globally unique) -->
 <identifier><!-- 0..1 Identifier Business identifier of the ObservationDefinition --></identifier>
 <version value="[string]"/><!-- 0..1 Business version of the ObservationDefinition -->
 <versionAlgorithm[x]><!-- 0..1 string|Coding How to compare versions --></versionAlgorithm[x]>
 <name value="[string]"/><!-- I 0..1 Name for this ObservationDefinition (computer friendly) -->
 <title value="[string]"/><!-- 0..1 Name for this ObservationDefinition (human friendly) -->
 <status value="[code]"/><!-- 1..1 draft | active | retired | unknown -->
 <experimental value="[boolean]"/><!-- 0..1 If for testing purposes, not real usage -->
 <date value="[dateTime]"/><!-- 0..1 Date last changed -->
 <publisher value="[string]"/><!-- 0..1 The name of the individual or organization that published the ObservationDefinition -->
 <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact>
 <description value="[markdown]"/><!-- 0..1 Natural language description of the ObservationDefinition -->
 <useContext><!-- 0..* UsageContext Content intends to support these contexts --></useContext>
 <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for this ObservationDefinition (if applicable) --></jurisdiction>
 <purpose value="[markdown]"/><!-- 0..1 Why this ObservationDefinition is defined -->
 <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions -->
 <copyrightLabel value="[string]"/><!-- 0..1 Copyright holder and year(s) -->
 <approvalDate value="[date]"/><!-- 0..1 When ObservationDefinition was approved by publisher -->
 <lastReviewDate value="[date]"/><!-- 0..1 Date on which the asset content was last reviewed by the publisher -->
 <effectivePeriod><!-- 0..1 Period The effective date range for the ObservationDefinition --></effectivePeriod>
 <derivedFromCanonical><!-- 0..* canonical(ObservationDefinition) Based on FHIR definition of another observation --></derivedFromCanonical>
 <derivedFromUri value="[uri]"/><!-- 0..* Based on external definition -->
 <subject><!-- 0..* CodeableConcept Type of subject for the defined observation --></subject>
 <performerType><!-- 0..1 CodeableConcept Desired kind of performer for such kind of observation --></performerType>
 <category><!-- 0..* CodeableConcept General type of observation --></category>
 <code><!-- 1..1 CodeableConcept Type of observation --></code>
 <permittedDataType value="[code]"/><!-- I 0..* Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period -->
 <multipleResultsAllowed value="[boolean]"/><!-- 0..1 Multiple results allowed for conforming observations -->
 <bodySite><!-- 0..1 CodeableConcept Body part to be observed --></bodySite>
 <method><!-- 0..1 CodeableConcept Method used to produce the observation --></method>
 <specimen><!-- 0..* Reference(SpecimenDefinition) Kind of specimen used by this type of observation --></specimen>
 <device><!-- 0..* Reference(Device|DeviceDefinition) Measurement device or model of device --></device>
 <preferredReportName value="[string]"/><!-- 0..1 The preferred name to be used when reporting the observation results -->
 <permittedUnit><!-- I 0..* Coding Unit for quantitative results --></permittedUnit>
 <qualifiedValue>  <!-- 0..* Set of qualified values for observation results -->
  <context><!-- 0..1 CodeableConcept Context qualifier for the set of qualified values --></context>
  <appliesTo><!-- 0..* CodeableConcept Targetted population for the set of qualified values --></appliesTo>
  <gender value="[code]"/><!-- 0..1 male | female | other | unknown -->
  <age><!-- 0..1 Range Applicable age range for the set of qualified values --></age>
  <gestationalAge><!-- 0..1 Range Applicable gestational age range for the set of qualified values --></gestationalAge>
  <condition value="[string]"/><!-- 0..1 Condition associated with the set of qualified values -->
  <rangeCategory value="[code]"/><!-- 0..1 reference | critical | absolute -->
  <range><!-- 0..1 Range The range for continuous or ordinal observations --></range>
  <validCodedValueSet><!-- 0..1 canonical(ValueSet) Value set of valid coded values as part of this set of qualified values --></validCodedValueSet>
  <normalCodedValueSet><!-- 0..1 canonical(ValueSet) Value set of normal coded values as part of this set of qualified values --></normalCodedValueSet>
  <abnormalCodedValueSet><!-- 0..1 canonical(ValueSet) Value set of abnormal coded values as part of this set of qualified values --></abnormalCodedValueSet>
  <criticalCodedValueSet><!-- 0..1 canonical(ValueSet) Value set of critical coded values as part of this set of qualified values --></criticalCodedValueSet>
 </qualifiedValue>
 <hasMember><!-- 0..* Reference(ObservationDefinition|Questionnaire) Definitions of related resources belonging to this kind of observation group --></hasMember>
 <component>  <!-- 0..* Component results -->
  <code><!-- 1..1 CodeableConcept Type of observation --></code>
  <permittedDataType value="[code]"/><!-- I 0..* Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period -->
  <permittedUnit><!-- I 0..* Coding Unit for quantitative results --></permittedUnit>
  <qualifiedValue><!-- 0..* Content as for ObservationDefinition.qualifiedValue Set of qualified values for observation results --></qualifiedValue>
 </component>
</ObservationDefinition>

JSON Template

{doco
  "resourceType" : "ObservationDefinition",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "url" : "<uri>", // Logical canonical URL to reference this ObservationDefinition (globally unique)
  "identifier" : { Identifier }, // Business identifier of the ObservationDefinition
  "version" : "<string>", // Business version of the ObservationDefinition
  // versionAlgorithm[x]: How to compare versions. One of these 2:
  "versionAlgorithmString" : "<string>",
  "versionAlgorithmCoding" : { Coding },
  "name" : "<string>", // I Name for this ObservationDefinition (computer friendly)
  "title" : "<string>", // Name for this ObservationDefinition (human friendly)
  "status" : "<code>", // R!  draft | active | retired | unknown
  "experimental" : <boolean>, // If for testing purposes, not real usage
  "date" : "<dateTime>", // Date last changed
  "publisher" : "<string>", // The name of the individual or organization that published the ObservationDefinition
  "contact" : [{ ContactDetail }], // Contact details for the publisher
  "description" : "<markdown>", // Natural language description of the ObservationDefinition
  "useContext" : [{ UsageContext }], // Content intends to support these contexts
  "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for this ObservationDefinition (if applicable)
  "purpose" : "<markdown>", // Why this ObservationDefinition is defined
  "copyright" : "<markdown>", // Use and/or publishing restrictions
  "copyrightLabel" : "<string>", // Copyright holder and year(s)
  "approvalDate" : "<date>", // When ObservationDefinition was approved by publisher
  "lastReviewDate" : "<date>", // Date on which the asset content was last reviewed by the publisher
  "effectivePeriod" : { Period }, // The effective date range for the ObservationDefinition
  "derivedFromCanonical" : ["<canonical(ObservationDefinition)>"], // Based on FHIR definition of another observation
  "derivedFromUri" : ["<uri>"], // Based on external definition
  "subject" : [{ CodeableConcept }], // Type of subject for the defined observation
  "performerType" : { CodeableConcept }, // Desired kind of performer for such kind of observation
  "category" : [{ CodeableConcept }], // General type of observation
  "code" : { CodeableConcept }, // R!  Type of observation
  "permittedDataType" : ["<code>"], // I Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period
  "multipleResultsAllowed" : <boolean>, // Multiple results allowed for conforming observations
  "bodySite" : { CodeableConcept }, // Body part to be observed
  "method" : { CodeableConcept }, // Method used to produce the observation
  "specimen" : [{ Reference(SpecimenDefinition) }], // Kind of specimen used by this type of observation
  "device" : [{ Reference(Device|DeviceDefinition) }], // Measurement device or model of device
  "preferredReportName" : "<string>", // The preferred name to be used when reporting the observation results
  "permittedUnit" : [{ Coding }], // I Unit for quantitative results
  "qualifiedValue" : [{ // Set of qualified values for observation results
    "context" : { CodeableConcept }, // Context qualifier for the set of qualified values
    "appliesTo" : [{ CodeableConcept }], // Targetted population for the set of qualified values
    "gender" : "<code>", // male | female | other | unknown
    "age" : { Range }, // Applicable age range for the set of qualified values
    "gestationalAge" : { Range }, // Applicable gestational age range for the set of qualified values
    "condition" : "<string>", // Condition associated with the set of qualified values
    "rangeCategory" : "<code>", // reference | critical | absolute
    "range" : { Range }, // The range for continuous or ordinal observations
    "validCodedValueSet" : "<canonical(ValueSet)>", // Value set of valid coded values as part of this set of qualified values
    "normalCodedValueSet" : "<canonical(ValueSet)>", // Value set of normal coded values as part of this set of qualified values
    "abnormalCodedValueSet" : "<canonical(ValueSet)>", // Value set of abnormal coded values as part of this set of qualified values
    "criticalCodedValueSet" : "<canonical(ValueSet)>" // Value set of critical coded values as part of this set of qualified values
  }],
  "hasMember" : [{ Reference(ObservationDefinition|Questionnaire) }], // Definitions of related resources belonging to this kind of observation group
  "component" : [{ // Component results
    "code" : { CodeableConcept }, // R!  Type of observation
    "permittedDataType" : ["<code>"], // I Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period
    "permittedUnit" : [{ Coding }], // I Unit for quantitative results
    "qualifiedValue" : [{ Content as for ObservationDefinition.qualifiedValue }] // Set of qualified values for observation results
  }]
}

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:url [ uri ] ; # 0..1 Logical canonical URL to reference this ObservationDefinition (globally unique)
  fhir:identifier [ Identifier ] ; # 0..1 Business identifier of the ObservationDefinition
  fhir:version [ string ] ; # 0..1 Business version of the ObservationDefinition
  # versionAlgorithm[x] : 0..1 How to compare versions. One of these 2
    fhir:versionAlgorithm [  a fhir:string ; string ]
    fhir:versionAlgorithm [  a fhir:Coding ; Coding ]
  fhir:name [ string ] ; # 0..1 I Name for this ObservationDefinition (computer friendly)
  fhir:title [ string ] ; # 0..1 Name for this ObservationDefinition (human friendly)
  fhir:status [ code ] ; # 1..1 draft | active | retired | unknown
  fhir:experimental [ boolean ] ; # 0..1 If for testing purposes, not real usage
  fhir:date [ dateTime ] ; # 0..1 Date last changed
  fhir:publisher [ string ] ; # 0..1 The name of the individual or organization that published the ObservationDefinition
  fhir:contact  ( [ ContactDetail ] ... ) ; # 0..* Contact details for the publisher
  fhir:description [ markdown ] ; # 0..1 Natural language description of the ObservationDefinition
  fhir:useContext  ( [ UsageContext ] ... ) ; # 0..* Content intends to support these contexts
  fhir:jurisdiction  ( [ CodeableConcept ] ... ) ; # 0..* Intended jurisdiction for this ObservationDefinition (if applicable)
  fhir:purpose [ markdown ] ; # 0..1 Why this ObservationDefinition is defined
  fhir:copyright [ markdown ] ; # 0..1 Use and/or publishing restrictions
  fhir:copyrightLabel [ string ] ; # 0..1 Copyright holder and year(s)
  fhir:approvalDate [ date ] ; # 0..1 When ObservationDefinition was approved by publisher
  fhir:lastReviewDate [ date ] ; # 0..1 Date on which the asset content was last reviewed by the publisher
  fhir:effectivePeriod [ Period ] ; # 0..1 The effective date range for the ObservationDefinition
  fhir:derivedFromCanonical  ( [ canonical(ObservationDefinition) ] ... ) ; # 0..* Based on FHIR definition of another observation
  fhir:derivedFromUri  ( [ uri ] ... ) ; # 0..* Based on external definition
  fhir:subject  ( [ CodeableConcept ] ... ) ; # 0..* Type of subject for the defined observation
  fhir:performerType [ CodeableConcept ] ; # 0..1 Desired kind of performer for such kind of observation
  fhir:category  ( [ CodeableConcept ] ... ) ; # 0..* General type of observation
  fhir:code [ CodeableConcept ] ; # 1..1 Type of observation
  fhir:permittedDataType  ( [ code ] ... ) ; # 0..* I Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period
  fhir:multipleResultsAllowed [ boolean ] ; # 0..1 Multiple results allowed for conforming observations
  fhir:bodySite [ CodeableConcept ] ; # 0..1 Body part to be observed
  fhir:method [ CodeableConcept ] ; # 0..1 Method used to produce the observation
  fhir:specimen  ( [ Reference(SpecimenDefinition) ] ... ) ; # 0..* Kind of specimen used by this type of observation
  fhir:device  ( [ Reference(Device|DeviceDefinition) ] ... ) ; # 0..* Measurement device or model of device
  fhir:preferredReportName [ string ] ; # 0..1 The preferred name to be used when reporting the observation results
  fhir:permittedUnit  ( [ Coding ] ... ) ; # 0..* I Unit for quantitative results
  fhir:qualifiedValue ( [ # 0..* Set of qualified values for observation results
    fhir:context [ CodeableConcept ] ; # 0..1 Context qualifier for the set of qualified values
    fhir:appliesTo  ( [ CodeableConcept ] ... ) ; # 0..* Targetted population for the set of qualified values
    fhir:gender [ code ] ; # 0..1 male | female | other | unknown
    fhir:age [ Range ] ; # 0..1 Applicable age range for the set of qualified values
    fhir:gestationalAge [ Range ] ; # 0..1 Applicable gestational age range for the set of qualified values
    fhir:condition [ string ] ; # 0..1 Condition associated with the set of qualified values
    fhir:rangeCategory [ code ] ; # 0..1 reference | critical | absolute
    fhir:range [ Range ] ; # 0..1 The range for continuous or ordinal observations
    fhir:validCodedValueSet [ canonical(ValueSet) ] ; # 0..1 Value set of valid coded values as part of this set of qualified values
    fhir:normalCodedValueSet [ canonical(ValueSet) ] ; # 0..1 Value set of normal coded values as part of this set of qualified values
    fhir:abnormalCodedValueSet [ canonical(ValueSet) ] ; # 0..1 Value set of abnormal coded values as part of this set of qualified values
    fhir:criticalCodedValueSet [ canonical(ValueSet) ] ; # 0..1 Value set of critical coded values as part of this set of qualified values
  ] ... ) ;
  fhir:hasMember  ( [ Reference(ObservationDefinition|Questionnaire) ] ... ) ; # 0..* Definitions of related resources belonging to this kind of observation group
  fhir:component ( [ # 0..* Component results
    fhir:code [ CodeableConcept ] ; # 1..1 Type of observation
    fhir:permittedDataType  ( [ code ] ... ) ; # 0..* I Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period
    fhir:permittedUnit  ( [ Coding ] ... ) ; # 0..* I Unit for quantitative results
    fhir:qualifiedValue  ( [ See ObservationDefinition.qualifiedValue ] ... ) ; # 0..* Set of qualified values for observation results
  ] ... ) ;
]

Changes from both R4 and R4B

ObservationDefinition
ObservationDefinition.url
  • Added Element
ObservationDefinition.identifier
  • Max Cardinality changed from * to 1
ObservationDefinition.version
  • Added Element
ObservationDefinition.versionAlgorithm[x]
  • Added Element
ObservationDefinition.name
  • Added Element
ObservationDefinition.title
  • Added Element
ObservationDefinition.status
  • Added Mandatory Element
ObservationDefinition.experimental
  • Added Element
ObservationDefinition.date
  • Added Element
ObservationDefinition.publisher
  • Added Element
ObservationDefinition.contact
  • Added Element
ObservationDefinition.description
  • Added Element
ObservationDefinition.useContext
  • Added Element
ObservationDefinition.jurisdiction
  • Added Element
ObservationDefinition.purpose
  • Added Element
ObservationDefinition.copyright
  • Added Element
ObservationDefinition.copyrightLabel
  • Added Element
ObservationDefinition.approvalDate
  • Added Element
ObservationDefinition.lastReviewDate
  • Added Element
ObservationDefinition.effectivePeriod
  • Added Element
ObservationDefinition.derivedFromCanonical
  • Added Element
ObservationDefinition.derivedFromUri
  • Added Element
ObservationDefinition.subject
  • Added Element
ObservationDefinition.performerType
  • Added Element
ObservationDefinition.bodySite
  • Added Element
ObservationDefinition.specimen
  • Added Element
ObservationDefinition.device
  • Added Element
ObservationDefinition.permittedUnit
  • Added Element
ObservationDefinition.qualifiedValue
  • Added Element
ObservationDefinition.qualifiedValue.context
  • Added Element
ObservationDefinition.qualifiedValue.appliesTo
  • Added Element
ObservationDefinition.qualifiedValue.gender
  • Added Element
ObservationDefinition.qualifiedValue.age
  • Added Element
ObservationDefinition.qualifiedValue.gestationalAge
  • Added Element
ObservationDefinition.qualifiedValue.condition
  • Added Element
ObservationDefinition.qualifiedValue.rangeCategory
  • Added Element
ObservationDefinition.qualifiedValue.range
  • Added Element
ObservationDefinition.qualifiedValue.validCodedValueSet
  • Added Element
ObservationDefinition.qualifiedValue.normalCodedValueSet
  • Added Element
ObservationDefinition.qualifiedValue.abnormalCodedValueSet
  • Added Element
ObservationDefinition.qualifiedValue.criticalCodedValueSet
  • Added Element
ObservationDefinition.hasMember
  • Added Element
ObservationDefinition.component
  • Added Element
ObservationDefinition.component.code
  • Added Mandatory Element
ObservationDefinition.component.permittedDataType
  • Added Element
ObservationDefinition.component.permittedUnit
  • Added Element
ObservationDefinition.component.qualifiedValue
  • Added Element
ObservationDefinition.quantitativeDetails
  • Deleted
ObservationDefinition.qualifiedInterval
  • Deleted
ObservationDefinition.validCodedValueSet
  • Deleted
ObservationDefinition.normalCodedValueSet
  • Deleted
ObservationDefinition.abnormalCodedValueSet
  • Deleted
ObservationDefinition.criticalCodedValueSet
  • Deleted

See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. ObservationDefinition TUDomainResourceDefinition of an observation
+ Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation
+ Rule: If permittedUnit exists, then permittedDataType=Quantity must exist.

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
Interfaces Implemented: MetadataResource
... url Σ0..1uriLogical canonical URL to reference this ObservationDefinition (globally unique)
... identifier Σ0..1IdentifierBusiness identifier of the ObservationDefinition
... version Σ0..1stringBusiness version of the ObservationDefinition
... versionAlgorithm[x] Σ0..1How to compare versions
Binding: Version Algorithm (Extensible)
.... versionAlgorithmStringstring
.... versionAlgorithmCodingCoding
... name ΣC0..1stringName for this ObservationDefinition (computer friendly)
... title ΣT0..1stringName for this ObservationDefinition (human friendly)
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (Required)
... experimental Σ0..1booleanIf for testing purposes, not real usage
... date Σ0..1dateTimeDate last changed
... publisher ΣT0..1stringThe name of the individual or organization that published the ObservationDefinition
... contact Σ0..*ContactDetailContact details for the publisher

... description T0..1markdownNatural language description of the ObservationDefinition
... useContext Σ0..*UsageContextContent intends to support these contexts

... jurisdiction ΣXD0..*CodeableConceptIntended jurisdiction for this ObservationDefinition (if applicable)
Binding: Jurisdiction ValueSet (Extensible)

... purpose T0..1markdownWhy this ObservationDefinition is defined
... copyright T0..1markdownUse and/or publishing restrictions
... copyrightLabel T0..1stringCopyright holder and year(s)
... approvalDate 0..1dateWhen ObservationDefinition was approved by publisher
... lastReviewDate 0..1dateDate on which the asset content was last reviewed by the publisher
... effectivePeriod Σ0..1PeriodThe effective date range for the ObservationDefinition
... derivedFromCanonical Σ0..*canonical(ObservationDefinition)Based on FHIR definition of another observation

... derivedFromUri Σ0..*uriBased on external definition

... subject Σ0..*CodeableConceptType of subject for the defined observation

... performerType Σ0..1CodeableConceptDesired kind of performer for such kind of observation
... category Σ0..*CodeableConceptGeneral type of observation
Binding: Observation Category Codes (Example)

... code Σ1..1CodeableConceptType of observation
Binding: LOINC Codes (Example)
... permittedDataType C0..*codeQuantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period
Binding: Observation Data Type (Required)

... multipleResultsAllowed 0..1booleanMultiple results allowed for conforming observations
... bodySite 0..1CodeableConceptBody part to be observed
Binding: SNOMED CT Body Structures (Example)
... method 0..1CodeableConceptMethod used to produce the observation
Binding: Observation Methods (Example)
... specimen 0..*Reference(SpecimenDefinition)Kind of specimen used by this type of observation

... device 0..*Reference(DeviceDefinition | Device)Measurement device or model of device

... preferredReportName 0..1stringThe preferred name to be used when reporting the observation results
... permittedUnit C0..*CodingUnit for quantitative results
Binding: UCUM Codes (Preferred)

... qualifiedValue 0..*BackboneElementSet of qualified values for observation results

.... context 0..1CodeableConceptContext qualifier for the set of qualified values
Binding: Observation Reference Range Meaning Codes (Extensible)
.... appliesTo 0..*CodeableConceptTargetted population for the set of qualified values
Binding: Observation Reference Range Applies To Codes (Example)

.... gender 0..1codemale | female | other | unknown
Binding: AdministrativeGender (Required)
.... age 0..1RangeApplicable age range for the set of qualified values
.... gestationalAge 0..1RangeApplicable gestational age range for the set of qualified values
.... condition 0..1stringCondition associated with the set of qualified values
.... rangeCategory 0..1codereference | critical | absolute
Binding: Observation Range Category (Required)
.... range 0..1RangeThe range for continuous or ordinal observations
.... validCodedValueSet 0..1canonical(ValueSet)Value set of valid coded values as part of this set of qualified values
.... normalCodedValueSet 0..1canonical(ValueSet)Value set of normal coded values as part of this set of qualified values
.... abnormalCodedValueSet 0..1canonical(ValueSet)Value set of abnormal coded values as part of this set of qualified values
.... criticalCodedValueSet 0..1canonical(ValueSet)Value set of critical coded values as part of this set of qualified values
... hasMember 0..*Reference(ObservationDefinition | Questionnaire)Definitions of related resources belonging to this kind of observation group

... component C0..*BackboneElementComponent results
+ Rule: If permittedUnit exists, then permittedDataType=Quantity must exist.

.... code 1..1CodeableConceptType of observation
Binding: LOINC Codes (Example)
.... permittedDataType C0..*codeQuantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period
Binding: Observation Data Type (Required)

.... permittedUnit C0..*CodingUnit for quantitative results
Binding: UCUM Codes (Preferred)

.... qualifiedValue 0..*see qualifiedValueSet of qualified values for observation results


doco Documentation for this format icon

See the Extensions for this resource

UML Diagram (Legend)

ObservationDefinition (DomainResource) +MetadataResourceAn absolute URL that is used to identify this ObservationDefinition when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this ObservationDefinition is (or will be) published. The URL SHOULD include the major version of the ObservationDefinition. For more information see Technical and Business Versionsurl : uri [0..1]Business identifiers assigned to this ObservationDefinition. by the performer and/or other systems. These identifiers remain constant as the resource is updated and propagates from server to serveridentifier : Identifier [0..1]The identifier that is used to identify this version of the ObservationDefinition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the ObservationDefinition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions are orderableversion : string [0..1]Indicates the mechanism used to compare versions to determine which is more currentversionAlgorithm[x] : DataType [0..1] « string|Coding; null (Strength=Extensible) VersionAlgorithm+ »A natural language name identifying the ObservationDefinition. This name should be usable as an identifier for the module by machine processing applications such as code generationname : string [0..1] « This element has or is affected by some invariantsC »A short, descriptive, user-friendly title for the ObservationDefinitiontitle : string [0..1]The current state of the ObservationDefinition (this element modifies the meaning of other elements)status : code [1..1] « null (Strength=Required)PublicationStatus! »A flag to indicate that this ObservationDefinition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usageexperimental : boolean [0..1]The date (and optionally time) when the ObservationDefinition was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the ObservationDefinition changesdate : dateTime [0..1]Helps establish the "authority/credibility" of the ObservationDefinition. May also allow for contactpublisher : string [0..1]Contact details to assist a user in finding and communicating with the publishercontact : ContactDetail [0..*]A free text natural language description of the ObservationDefinition from the consumer's perspectivedescription : markdown [0..1]The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate ObservationDefinition instancesuseContext : UsageContext [0..*]A jurisdiction in which the ObservationDefinition is intended to be usedjurisdiction : CodeableConcept [0..*] « null (Strength=Extensible)JurisdictionValueSet+ »Explains why this ObservationDefinition is needed and why it has been designed as it haspurpose : markdown [0..1]Copyright statement relating to the ObservationDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the ObservationDefinitioncopyright : markdown [0..1]A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved')copyrightLabel : string [0..1]The date on which the asset content was approved by the publisher. Approval happens once when the content is officially approved for usageapprovalDate : date [0..1]The date on which the asset content was last reviewed. Review happens periodically after that, but doesn't change the original approval datelastReviewDate : date [0..1]The period during which the ObservationDefinition content was or is planned to be effectiveeffectivePeriod : Period [0..1]The canonical URL pointing to another FHIR-defined ObservationDefinition that is adhered to in whole or in part by this definitionderivedFromCanonical : canonical [0..*] « ObservationDefinition »The URL pointing to an externally-defined observation definition, guideline or other definition that is adhered to in whole or in part by this definitionderivedFromUri : uri [0..*]A code that describes the intended kind of subject of Observation instances conforming to this ObservationDefinitionsubject : CodeableConcept [0..*]The type of individual/organization/device that is expected to act upon instances of this definitionperformerType : CodeableConcept [0..1]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?? »The data types allowed for the value element of the instance observations conforming to this ObservationDefinitionpermittedDataType : code [0..*] « null (Strength=Required)ObservationDataType! » « This element has or is affected by some invariantsC »Multiple results allowed for observations conforming to this ObservationDefinitionmultipleResultsAllowed : boolean [0..1]The site on the subject's body where the observation is to be madebodySite : CodeableConcept [0..1] « null (Strength=Example)SNOMEDCTBodyStructures?? »The method or technique used to perform the observationmethod : CodeableConcept [0..1] « null (Strength=Example)ObservationMethods?? »The kind of specimen that this type of observation is produced onspecimen : Reference [0..*] « SpecimenDefinition »The measurement model of device or actual device used to produce observations of this typedevice : Reference [0..*] « DeviceDefinition|Device »The preferred name to be used when reporting the results of observations conforming to this ObservationDefinitionpreferredReportName : string [0..1]Units allowed for the valueQuantity element in the instance observations conforming to this ObservationDefinitionpermittedUnit : Coding [0..*] « null (Strength=Preferred)UCUMCodes? » « This element has or is affected by some invariantsC »This ObservationDefinition defines a group observation (e.g. a battery, a panel of tests, a set of vital sign measurements) that includes the target as a member of the grouphasMember : Reference [0..*] « ObservationDefinition|Questionnaire »QualifiedValueA concept defining the context for this set of qualified valuescontext : CodeableConcept [0..1] « null (Strength=Extensible)ObservationReferenceRangeMean...+ »The target population this set of qualified values applies toappliesTo : CodeableConcept [0..*] « null (Strength=Example) ObservationReferenceRangeAppl...?? »The gender this set of qualified values applies togender : code [0..1] « null (Strength=Required)AdministrativeGender! »The age range this set of qualified values applies toage : Range [0..1]The gestational age this set of qualified values applies togestationalAge : Range [0..1]Text based condition for which the the set of qualified values is validcondition : string [0..1]The category of range of values for continuous or ordinal observations that match the criteria of this set of qualified valuesrangeCategory : code [0..1] « null (Strength=Required)ObservationRangeCategory! »The range of values defined for continuous or ordinal observations that match the criteria of this set of qualified valuesrange : Range [0..1]The set of valid coded results for qualitative observations that match the criteria of this set of qualified valuesvalidCodedValueSet : canonical [0..1] « ValueSet »The set of normal coded results for qualitative observations that match the criteria of this set of qualified valuesnormalCodedValueSet : canonical [0..1] « ValueSet »The set of abnormal coded results for qualitative observations that match the criteria of this set of qualified valuesabnormalCodedValueSet : canonical [0..1] « ValueSet »The set of critical coded results for qualitative observations that match the criteria of this set of qualified valuescriticalCodedValueSet : canonical [0..1] « ValueSet »ComponentDescribes what will be observedcode : CodeableConcept [1..1] « null (Strength=Example)LOINCCodes?? »The data types allowed for the value element of the instance of this component observationspermittedDataType : code [0..*] « null (Strength=Required)ObservationDataType! » « This element has or is affected by some invariantsC »Units allowed for the valueQuantity element in the instance observations conforming to this ObservationDefinitionpermittedUnit : Coding [0..*] « null (Strength=Preferred)UCUMCodes? » « This element has or is affected by some invariantsC »A set of qualified values associated with a context and a set of conditions - provides a range for quantitative and ordinal observations and a collection of value sets for qualitative observationsqualifiedValue[0..*]A set of qualified values associated with a context and a set of conditions - provides a range for quantitative and ordinal observations and a collection of value sets for qualitative observationsqualifiedValue[0..*]Some observations have multiple component observations, expressed as separate code value pairscomponent[0..*]

XML Template

<ObservationDefinition xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <url value="[uri]"/><!-- 0..1 Logical canonical URL to reference this ObservationDefinition (globally unique) -->
 <identifier><!-- 0..1 Identifier Business identifier of the ObservationDefinition --></identifier>
 <version value="[string]"/><!-- 0..1 Business version of the ObservationDefinition -->
 <versionAlgorithm[x]><!-- 0..1 string|Coding How to compare versions --></versionAlgorithm[x]>
 <name value="[string]"/><!-- I 0..1 Name for this ObservationDefinition (computer friendly) -->
 <title value="[string]"/><!-- 0..1 Name for this ObservationDefinition (human friendly) -->
 <status value="[code]"/><!-- 1..1 draft | active | retired | unknown -->
 <experimental value="[boolean]"/><!-- 0..1 If for testing purposes, not real usage -->
 <date value="[dateTime]"/><!-- 0..1 Date last changed -->
 <publisher value="[string]"/><!-- 0..1 The name of the individual or organization that published the ObservationDefinition -->
 <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact>
 <description value="[markdown]"/><!-- 0..1 Natural language description of the ObservationDefinition -->
 <useContext><!-- 0..* UsageContext Content intends to support these contexts --></useContext>
 <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for this ObservationDefinition (if applicable) --></jurisdiction>
 <purpose value="[markdown]"/><!-- 0..1 Why this ObservationDefinition is defined -->
 <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions -->
 <copyrightLabel value="[string]"/><!-- 0..1 Copyright holder and year(s) -->
 <approvalDate value="[date]"/><!-- 0..1 When ObservationDefinition was approved by publisher -->
 <lastReviewDate value="[date]"/><!-- 0..1 Date on which the asset content was last reviewed by the publisher -->
 <effectivePeriod><!-- 0..1 Period The effective date range for the ObservationDefinition --></effectivePeriod>
 <derivedFromCanonical><!-- 0..* canonical(ObservationDefinition) Based on FHIR definition of another observation --></derivedFromCanonical>
 <derivedFromUri value="[uri]"/><!-- 0..* Based on external definition -->
 <subject><!-- 0..* CodeableConcept Type of subject for the defined observation --></subject>
 <performerType><!-- 0..1 CodeableConcept Desired kind of performer for such kind of observation --></performerType>
 <category><!-- 0..* CodeableConcept General type of observation --></category>
 <code><!-- 1..1 CodeableConcept Type of observation --></code>
 <permittedDataType value="[code]"/><!-- I 0..* Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period -->
 <multipleResultsAllowed value="[boolean]"/><!-- 0..1 Multiple results allowed for conforming observations -->
 <bodySite><!-- 0..1 CodeableConcept Body part to be observed --></bodySite>
 <method><!-- 0..1 CodeableConcept Method used to produce the observation --></method>
 <specimen><!-- 0..* Reference(SpecimenDefinition) Kind of specimen used by this type of observation --></specimen>
 <device><!-- 0..* Reference(Device|DeviceDefinition) Measurement device or model of device --></device>
 <preferredReportName value="[string]"/><!-- 0..1 The preferred name to be used when reporting the observation results -->
 <permittedUnit><!-- I 0..* Coding Unit for quantitative results --></permittedUnit>
 <qualifiedValue>  <!-- 0..* Set of qualified values for observation results -->
  <context><!-- 0..1 CodeableConcept Context qualifier for the set of qualified values --></context>
  <appliesTo><!-- 0..* CodeableConcept Targetted population for the set of qualified values --></appliesTo>
  <gender value="[code]"/><!-- 0..1 male | female | other | unknown -->
  <age><!-- 0..1 Range Applicable age range for the set of qualified values --></age>
  <gestationalAge><!-- 0..1 Range Applicable gestational age range for the set of qualified values --></gestationalAge>
  <condition value="[string]"/><!-- 0..1 Condition associated with the set of qualified values -->
  <rangeCategory value="[code]"/><!-- 0..1 reference | critical | absolute -->
  <range><!-- 0..1 Range The range for continuous or ordinal observations --></range>
  <validCodedValueSet><!-- 0..1 canonical(ValueSet) Value set of valid coded values as part of this set of qualified values --></validCodedValueSet>
  <normalCodedValueSet><!-- 0..1 canonical(ValueSet) Value set of normal coded values as part of this set of qualified values --></normalCodedValueSet>
  <abnormalCodedValueSet><!-- 0..1 canonical(ValueSet) Value set of abnormal coded values as part of this set of qualified values --></abnormalCodedValueSet>
  <criticalCodedValueSet><!-- 0..1 canonical(ValueSet) Value set of critical coded values as part of this set of qualified values --></criticalCodedValueSet>
 </qualifiedValue>
 <hasMember><!-- 0..* Reference(ObservationDefinition|Questionnaire) Definitions of related resources belonging to this kind of observation group --></hasMember>
 <component>  <!-- 0..* Component results -->
  <code><!-- 1..1 CodeableConcept Type of observation --></code>
  <permittedDataType value="[code]"/><!-- I 0..* Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period -->
  <permittedUnit><!-- I 0..* Coding Unit for quantitative results --></permittedUnit>
  <qualifiedValue><!-- 0..* Content as for ObservationDefinition.qualifiedValue Set of qualified values for observation results --></qualifiedValue>
 </component>
</ObservationDefinition>

JSON Template

{doco
  "resourceType" : "ObservationDefinition",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "url" : "<uri>", // Logical canonical URL to reference this ObservationDefinition (globally unique)
  "identifier" : { Identifier }, // Business identifier of the ObservationDefinition
  "version" : "<string>", // Business version of the ObservationDefinition
  // versionAlgorithm[x]: How to compare versions. One of these 2:
  "versionAlgorithmString" : "<string>",
  "versionAlgorithmCoding" : { Coding },
  "name" : "<string>", // I Name for this ObservationDefinition (computer friendly)
  "title" : "<string>", // Name for this ObservationDefinition (human friendly)
  "status" : "<code>", // R!  draft | active | retired | unknown
  "experimental" : <boolean>, // If for testing purposes, not real usage
  "date" : "<dateTime>", // Date last changed
  "publisher" : "<string>", // The name of the individual or organization that published the ObservationDefinition
  "contact" : [{ ContactDetail }], // Contact details for the publisher
  "description" : "<markdown>", // Natural language description of the ObservationDefinition
  "useContext" : [{ UsageContext }], // Content intends to support these contexts
  "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for this ObservationDefinition (if applicable)
  "purpose" : "<markdown>", // Why this ObservationDefinition is defined
  "copyright" : "<markdown>", // Use and/or publishing restrictions
  "copyrightLabel" : "<string>", // Copyright holder and year(s)
  "approvalDate" : "<date>", // When ObservationDefinition was approved by publisher
  "lastReviewDate" : "<date>", // Date on which the asset content was last reviewed by the publisher
  "effectivePeriod" : { Period }, // The effective date range for the ObservationDefinition
  "derivedFromCanonical" : ["<canonical(ObservationDefinition)>"], // Based on FHIR definition of another observation
  "derivedFromUri" : ["<uri>"], // Based on external definition
  "subject" : [{ CodeableConcept }], // Type of subject for the defined observation
  "performerType" : { CodeableConcept }, // Desired kind of performer for such kind of observation
  "category" : [{ CodeableConcept }], // General type of observation
  "code" : { CodeableConcept }, // R!  Type of observation
  "permittedDataType" : ["<code>"], // I Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period
  "multipleResultsAllowed" : <boolean>, // Multiple results allowed for conforming observations
  "bodySite" : { CodeableConcept }, // Body part to be observed
  "method" : { CodeableConcept }, // Method used to produce the observation
  "specimen" : [{ Reference(SpecimenDefinition) }], // Kind of specimen used by this type of observation
  "device" : [{ Reference(Device|DeviceDefinition) }], // Measurement device or model of device
  "preferredReportName" : "<string>", // The preferred name to be used when reporting the observation results
  "permittedUnit" : [{ Coding }], // I Unit for quantitative results
  "qualifiedValue" : [{ // Set of qualified values for observation results
    "context" : { CodeableConcept }, // Context qualifier for the set of qualified values
    "appliesTo" : [{ CodeableConcept }], // Targetted population for the set of qualified values
    "gender" : "<code>", // male | female | other | unknown
    "age" : { Range }, // Applicable age range for the set of qualified values
    "gestationalAge" : { Range }, // Applicable gestational age range for the set of qualified values
    "condition" : "<string>", // Condition associated with the set of qualified values
    "rangeCategory" : "<code>", // reference | critical | absolute
    "range" : { Range }, // The range for continuous or ordinal observations
    "validCodedValueSet" : "<canonical(ValueSet)>", // Value set of valid coded values as part of this set of qualified values
    "normalCodedValueSet" : "<canonical(ValueSet)>", // Value set of normal coded values as part of this set of qualified values
    "abnormalCodedValueSet" : "<canonical(ValueSet)>", // Value set of abnormal coded values as part of this set of qualified values
    "criticalCodedValueSet" : "<canonical(ValueSet)>" // Value set of critical coded values as part of this set of qualified values
  }],
  "hasMember" : [{ Reference(ObservationDefinition|Questionnaire) }], // Definitions of related resources belonging to this kind of observation group
  "component" : [{ // Component results
    "code" : { CodeableConcept }, // R!  Type of observation
    "permittedDataType" : ["<code>"], // I Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period
    "permittedUnit" : [{ Coding }], // I Unit for quantitative results
    "qualifiedValue" : [{ Content as for ObservationDefinition.qualifiedValue }] // Set of qualified values for observation results
  }]
}

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:url [ uri ] ; # 0..1 Logical canonical URL to reference this ObservationDefinition (globally unique)
  fhir:identifier [ Identifier ] ; # 0..1 Business identifier of the ObservationDefinition
  fhir:version [ string ] ; # 0..1 Business version of the ObservationDefinition
  # versionAlgorithm[x] : 0..1 How to compare versions. One of these 2
    fhir:versionAlgorithm [  a fhir:string ; string ]
    fhir:versionAlgorithm [  a fhir:Coding ; Coding ]
  fhir:name [ string ] ; # 0..1 I Name for this ObservationDefinition (computer friendly)
  fhir:title [ string ] ; # 0..1 Name for this ObservationDefinition (human friendly)
  fhir:status [ code ] ; # 1..1 draft | active | retired | unknown
  fhir:experimental [ boolean ] ; # 0..1 If for testing purposes, not real usage
  fhir:date [ dateTime ] ; # 0..1 Date last changed
  fhir:publisher [ string ] ; # 0..1 The name of the individual or organization that published the ObservationDefinition
  fhir:contact  ( [ ContactDetail ] ... ) ; # 0..* Contact details for the publisher
  fhir:description [ markdown ] ; # 0..1 Natural language description of the ObservationDefinition
  fhir:useContext  ( [ UsageContext ] ... ) ; # 0..* Content intends to support these contexts
  fhir:jurisdiction  ( [ CodeableConcept ] ... ) ; # 0..* Intended jurisdiction for this ObservationDefinition (if applicable)
  fhir:purpose [ markdown ] ; # 0..1 Why this ObservationDefinition is defined
  fhir:copyright [ markdown ] ; # 0..1 Use and/or publishing restrictions
  fhir:copyrightLabel [ string ] ; # 0..1 Copyright holder and year(s)
  fhir:approvalDate [ date ] ; # 0..1 When ObservationDefinition was approved by publisher
  fhir:lastReviewDate [ date ] ; # 0..1 Date on which the asset content was last reviewed by the publisher
  fhir:effectivePeriod [ Period ] ; # 0..1 The effective date range for the ObservationDefinition
  fhir:derivedFromCanonical  ( [ canonical(ObservationDefinition) ] ... ) ; # 0..* Based on FHIR definition of another observation
  fhir:derivedFromUri  ( [ uri ] ... ) ; # 0..* Based on external definition
  fhir:subject  ( [ CodeableConcept ] ... ) ; # 0..* Type of subject for the defined observation
  fhir:performerType [ CodeableConcept ] ; # 0..1 Desired kind of performer for such kind of observation
  fhir:category  ( [ CodeableConcept ] ... ) ; # 0..* General type of observation
  fhir:code [ CodeableConcept ] ; # 1..1 Type of observation
  fhir:permittedDataType  ( [ code ] ... ) ; # 0..* I Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period
  fhir:multipleResultsAllowed [ boolean ] ; # 0..1 Multiple results allowed for conforming observations
  fhir:bodySite [ CodeableConcept ] ; # 0..1 Body part to be observed
  fhir:method [ CodeableConcept ] ; # 0..1 Method used to produce the observation
  fhir:specimen  ( [ Reference(SpecimenDefinition) ] ... ) ; # 0..* Kind of specimen used by this type of observation
  fhir:device  ( [ Reference(Device|DeviceDefinition) ] ... ) ; # 0..* Measurement device or model of device
  fhir:preferredReportName [ string ] ; # 0..1 The preferred name to be used when reporting the observation results
  fhir:permittedUnit  ( [ Coding ] ... ) ; # 0..* I Unit for quantitative results
  fhir:qualifiedValue ( [ # 0..* Set of qualified values for observation results
    fhir:context [ CodeableConcept ] ; # 0..1 Context qualifier for the set of qualified values
    fhir:appliesTo  ( [ CodeableConcept ] ... ) ; # 0..* Targetted population for the set of qualified values
    fhir:gender [ code ] ; # 0..1 male | female | other | unknown
    fhir:age [ Range ] ; # 0..1 Applicable age range for the set of qualified values
    fhir:gestationalAge [ Range ] ; # 0..1 Applicable gestational age range for the set of qualified values
    fhir:condition [ string ] ; # 0..1 Condition associated with the set of qualified values
    fhir:rangeCategory [ code ] ; # 0..1 reference | critical | absolute
    fhir:range [ Range ] ; # 0..1 The range for continuous or ordinal observations
    fhir:validCodedValueSet [ canonical(ValueSet) ] ; # 0..1 Value set of valid coded values as part of this set of qualified values
    fhir:normalCodedValueSet [ canonical(ValueSet) ] ; # 0..1 Value set of normal coded values as part of this set of qualified values
    fhir:abnormalCodedValueSet [ canonical(ValueSet) ] ; # 0..1 Value set of abnormal coded values as part of this set of qualified values
    fhir:criticalCodedValueSet [ canonical(ValueSet) ] ; # 0..1 Value set of critical coded values as part of this set of qualified values
  ] ... ) ;
  fhir:hasMember  ( [ Reference(ObservationDefinition|Questionnaire) ] ... ) ; # 0..* Definitions of related resources belonging to this kind of observation group
  fhir:component ( [ # 0..* Component results
    fhir:code [ CodeableConcept ] ; # 1..1 Type of observation
    fhir:permittedDataType  ( [ code ] ... ) ; # 0..* I Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period
    fhir:permittedUnit  ( [ Coding ] ... ) ; # 0..* I Unit for quantitative results
    fhir:qualifiedValue  ( [ See ObservationDefinition.qualifiedValue ] ... ) ; # 0..* Set of qualified values for observation results
  ] ... ) ;
]

Changes from both R4 and R4B

ObservationDefinition
ObservationDefinition.url
  • Added Element
ObservationDefinition.identifier
  • Max Cardinality changed from * to 1
ObservationDefinition.version
  • Added Element
ObservationDefinition.versionAlgorithm[x]
  • Added Element
ObservationDefinition.name
  • Added Element
ObservationDefinition.title
  • Added Element
ObservationDefinition.status
  • Added Mandatory Element
ObservationDefinition.experimental
  • Added Element
ObservationDefinition.date
  • Added Element
ObservationDefinition.publisher
  • Added Element
ObservationDefinition.contact
  • Added Element
ObservationDefinition.description
  • Added Element
ObservationDefinition.useContext
  • Added Element
ObservationDefinition.jurisdiction
  • Added Element
ObservationDefinition.purpose
  • Added Element
ObservationDefinition.copyright
  • Added Element
ObservationDefinition.copyrightLabel
  • Added Element
ObservationDefinition.approvalDate
  • Added Element
ObservationDefinition.lastReviewDate
  • Added Element
ObservationDefinition.effectivePeriod
  • Added Element
ObservationDefinition.derivedFromCanonical
  • Added Element
ObservationDefinition.derivedFromUri
  • Added Element
ObservationDefinition.subject
  • Added Element
ObservationDefinition.performerType
  • Added Element
ObservationDefinition.bodySite
  • Added Element
ObservationDefinition.specimen
  • Added Element
ObservationDefinition.device
  • Added Element
ObservationDefinition.permittedUnit
  • Added Element
ObservationDefinition.qualifiedValue
  • Added Element
ObservationDefinition.qualifiedValue.context
  • Added Element
ObservationDefinition.qualifiedValue.appliesTo
  • Added Element
ObservationDefinition.qualifiedValue.gender
  • Added Element
ObservationDefinition.qualifiedValue.age
  • Added Element
ObservationDefinition.qualifiedValue.gestationalAge
  • Added Element
ObservationDefinition.qualifiedValue.condition
  • Added Element
ObservationDefinition.qualifiedValue.rangeCategory
  • Added Element
ObservationDefinition.qualifiedValue.range
  • Added Element
ObservationDefinition.qualifiedValue.validCodedValueSet
  • Added Element
ObservationDefinition.qualifiedValue.normalCodedValueSet
  • Added Element
ObservationDefinition.qualifiedValue.abnormalCodedValueSet
  • Added Element
ObservationDefinition.qualifiedValue.criticalCodedValueSet
  • Added Element
ObservationDefinition.hasMember
  • Added Element
ObservationDefinition.component
  • Added Element
ObservationDefinition.component.code
  • Added Mandatory Element
ObservationDefinition.component.permittedDataType
  • Added Element
ObservationDefinition.component.permittedUnit
  • Added Element
ObservationDefinition.component.qualifiedValue
  • Added Element
ObservationDefinition.quantitativeDetails
  • Deleted
ObservationDefinition.qualifiedInterval
  • Deleted
ObservationDefinition.validCodedValueSet
  • Deleted
ObservationDefinition.normalCodedValueSet
  • Deleted
ObservationDefinition.abnormalCodedValueSet
  • Deleted
ObservationDefinition.criticalCodedValueSet
  • Deleted

See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.

 

Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) , the spreadsheet version & the dependency analysis

PathValueSetTypeDocumentation
ObservationDefinition.versionAlgorithm[x] VersionAlgorithm Extensible

Indicates the mechanism used to compare versions to determine which is more current.

ObservationDefinition.status PublicationStatus Required

The lifecycle status of an artifact.

ObservationDefinition.jurisdiction JurisdictionValueSet Extensible

This value set defines a base set of codes for country, country subdivision and region for indicating where a resource is intended to be used.

Note: The codes for countries and country subdivisions are taken from ISO 3166 icon while the codes for "supra-national" regions are from UN Standard country or area codes for statistical use (M49) icon.

ObservationDefinition.category ObservationCategoryCodes Example

Observation Category codes.

ObservationDefinition.code LOINCCodes (a valid code from LOINC icon)Example

This value set includes all LOINC codes

ObservationDefinition.permittedDataType ObservationDataType Required

Permitted data type for observation value.

ObservationDefinition.bodySite SNOMEDCTBodyStructures Example

This value set includes all codes from SNOMED CT icon where concept is-a 442083009 (Anatomical or acquired body site (body structure)).

ObservationDefinition.method ObservationMethods Example

Observation Method codes from SNOMED CT icon where concept is-a 272394005 (Technique (qualifier value)) or is-a 129264002 (Action (qualifier value)) or is-a 386053000 (Evaluation procedure(procedure))

ObservationDefinition.permittedUnit UCUMCodes (a valid code from UCUM icon)Preferred

Unified Code for Units of Measure (UCUM). This value set includes all UCUM codes

ObservationDefinition.qualifiedValue.context ObservationReferenceRangeMeaningCodes Extensible

This value set defines a set of codes that can be used to indicate the meaning/use of a reference range for a particular target population.

ObservationDefinition.qualifiedValue.appliesTo ObservationReferenceRangeAppliesToCodes Example

This value set defines a set of codes that can be used to indicate the particular target population the reference range applies to.

ObservationDefinition.qualifiedValue.gender AdministrativeGender Required

The gender of a person used for administrative purposes.

ObservationDefinition.qualifiedValue.rangeCategory ObservationRangeCategory Required

Codes identifying the category of observation range.

ObservationDefinition.component.code LOINCCodes (a valid code from LOINC icon)Example

This value set includes all LOINC codes

ObservationDefinition.component.permittedDataType ObservationDataType Required

Permitted data type for observation value.

ObservationDefinition.component.permittedUnit UCUMCodes (a valid code from UCUM icon)Preferred

Unified Code for Units of Measure (UCUM). This value set includes all UCUM codes

UniqueKeyLevelLocationDescriptionExpression
img cnl-0Warning (base)Name should be usable as an identifier for the module by machine processing applications such as code generationname.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
img obd-0Rule (base)If permittedUnit exists, then permittedDataType=Quantity must exist.permittedUnit.exists() implies (permittedDataType = 'Quantity').exists()
img obd-1Rule ObservationDefinition.componentIf permittedUnit exists, then permittedDataType=Quantity must exist.permittedUnit.exists() implies (permittedDataType = 'Quantity').exists()

Search parameters for this resource. See also the full list of search parameters for this resource, and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionExpressionIn Common
categorytokenCategory (class) of observationObservationDefinition.category
codetokenObservation codeObservationDefinition.code
experimentaltokenNot for genuine usage (true)ObservationDefinition.experimental
identifiertokenThe unique identifier associated with the specimen definitionObservationDefinition.identifier34 Resources
methodtokenMethod of observationObservationDefinition.method
statustokenPublication status of the ObservationDefinition: draft, active, retired, unknownObservationDefinition.status35 Resources
titlestringHuman-friendly name of the ObservationDefinitionObservationDefinition.title27 Resources
urluriThe uri that identifies the observation definitionObservationDefinition.url34 Resources