Order Catalog Implementation Guide
1.0.0 - STU 1

Order Catalog Implementation Guide, published by HL7 International / Orders and Observations. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-order-catalog/ and changes regularly. See the Directory of published versions

## Resource Profile: LabObservationDefinition Profile

Official URL: http://hl7.org/fhir/uv/order-catalog/StructureDefinition/LabObservationDefinition | Version: 1.0.0
Standards status: Trial-use | Maturity Level: 2 | Computable Name: LabObservationDefinition
Other Identifiers: OID:2.16.840.1.113883.4.642.40.55.42.16

This profile constrains the base resource ObservationDefinition when referenced by ActivityDefinition.observationResultRequirement in the context of a catalog of laboratory services. Such a resource specifies the form of an output observation produced by a laboratory service.

Usages:

- Refer to this Profile: Laboratory Procedure Definition
- Examples for this Profile: ObservationDefinition/example-observation-cmvigm, ObservationDefinition/example-observation-collection-duration, ObservationDefinition/example-observation-collection-volume, ObservationDefinition/example-observation-creatinine-renal-clearance... Show 14 more, ObservationDefinition/example-observation-hsv1igmp, ObservationDefinition/example-observation-hsv1igmt, ObservationDefinition/example-observation-hsv2igmp, ObservationDefinition/example-observation-hsv2igmt, ObservationDefinition/example-observation-rubigm, ObservationDefinition/example-observation-serum-chloride, ObservationDefinition/example-observation-serum-creatinine, ObservationDefinition/example-observation-serum-potassium, ObservationDefinition/example-observation-serum-sodium, ObservationDefinition/example-observation-toxoigg, ObservationDefinition/example-observation-toxoigm, ObservationDefinition/example-observation-toxoint, ObservationDefinition/example-observation-urine24h-creatinine and ObservationDefinition/example-observation-vitamin-d

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
ObservationDefinition | C | 0..* | ObservationDefinition | Definition of an observation Constraints: cnl-0, obd-0
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
contained |  | 0..* | Resource | Contained, inline Resources
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): Codes identifying the state of an ObservationDefinition.
code | Σ | 1..1 | CodeableConcept | Type of observation Binding: LOINCCodes (example): Codes identifying names of simple observations.
Slices for coding | Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system
coding:LOINC | Σ | 0..1 | Coding | Code defined by a terminology system
system | Σ | 0..1 | uri | Identity of the terminology system Required Pattern: http://loinc.org
permittedDataType | S C | 0..* | code | Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period Binding: ObservationDataType (required): Permitted data type for observation value. Example General: CodeableConcept
multipleResultsAllowed | S | 0..1 | boolean | Multiple results allowed for conforming observations Example General: true
permittedUnit | S C | 0..* | Coding | Unit for quantitative results Binding: UCUMCodes (preferred): Codes identifying units of measure.
system | Σ | 0..1 | uri | Identity of the terminology system Required Pattern: http://unitsofmeasure.org
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
ObservationDefinition.​status | Base | required | PublicationStatus | 📍5.0.0 | FHIR Std.
ObservationDefinition.​code | Base | example | LOINC Codes | 📍5.0.0 | FHIR Std.
ObservationDefinition.​permittedDataType | Base | required | Observation Data Type | 📍5.0.0 | FHIR Std.
ObservationDefinition.​permittedUnit | Base | preferred | UCUM Codes | 📍5.0.0 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
cnl-0 | warning | ObservationDefinition | Name should be usable as an identifier for the module by machine processing applications such as code generation | `name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
obd-0 | error | ObservationDefinition | If permittedUnit exists, then permittedDataType=Quantity must exist. | `permittedUnit.exists() implies (permittedDataType = 'Quantity').exists()`

This structure is derived from ObservationDefinition

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
ObservationDefinition |  | 0..* | ObservationDefinition | Definition of an observation
code |  |  |  |
Slices for coding |  | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system
coding:LOINC |  | 0..1 | Coding | Code defined by a terminology system
system |  | 0..1 | uri | Identity of the terminology system Required Pattern: http://loinc.org
permittedDataType | S | 0..* | code | Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period
multipleResultsAllowed | S | 0..1 | boolean | Multiple results allowed for conforming observations
permittedUnit | S | 0..* | Coding | Unit for quantitative results
system |  | 0..1 | uri | Identity of the terminology system Required Pattern: http://unitsofmeasure.org
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
ObservationDefinition | C | 0..* | ObservationDefinition | Definition of an observation Constraints: cnl-0, obd-0
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
Additional Bindings | Purpose
CommonLanguages | Starter
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
url | Σ | 0..1 | uri | Logical canonical URL to reference this ObservationDefinition (globally unique)
identifier | Σ | 0..1 | Identifier | Business identifier of the ObservationDefinition
version | Σ | 0..1 | string | Business version of the ObservationDefinition
versionAlgorithm[x] | Σ | 0..1 |  | How to compare versions Binding: VersionAlgorithm (extensible)
versionAlgorithmString |  |  | string |
versionAlgorithmCoding |  |  | Coding |
name | Σ C | 0..1 | string | Name for this ObservationDefinition (computer friendly)
title | Σ | 0..1 | string | Name for this ObservationDefinition (human friendly)
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): Codes identifying the state of an ObservationDefinition.
experimental | Σ | 0..1 | boolean | If for testing purposes, not real usage
date | Σ | 0..1 | dateTime | Date last changed
publisher | Σ | 0..1 | string | The name of the individual or organization that published the ObservationDefinition
contact | Σ | 0..* | ContactDetail | Contact details for the publisher
description |  | 0..1 | markdown | Natural language description of the ObservationDefinition
useContext | Σ | 0..* | UsageContext | Content intends to support these contexts
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for this ObservationDefinition (if applicable) Binding: JurisdictionValueSet (extensible): Codes for country, country subdivision and region for indicating where a resource is intended to be used.
purpose |  | 0..1 | markdown | Why this ObservationDefinition is defined
copyright |  | 0..1 | markdown | Use and/or publishing restrictions
copyrightLabel |  | 0..1 | string | Copyright holder and year(s)
approvalDate |  | 0..1 | date | When ObservationDefinition was approved by publisher
lastReviewDate |  | 0..1 | date | Date on which the asset content was last reviewed by the publisher
effectivePeriod | Σ | 0..1 | Period | The effective date range for the ObservationDefinition
derivedFromCanonical | Σ | 0..* | canonical(ObservationDefinition) | Based on FHIR definition of another observation
derivedFromUri | Σ | 0..* | uri | Based on external definition
subject | Σ | 0..* | CodeableConcept | Type of subject for the defined observation
performerType | Σ | 0..1 | CodeableConcept | Desired kind of performer for such kind of observation
category | Σ | 0..* | CodeableConcept | General type of observation Binding: ObservationCategoryCodes (example): Codes for high level observation categories.
code | Σ | 1..1 | CodeableConcept | Type of observation Binding: LOINCCodes (example): Codes identifying names of simple observations.
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
Slices for coding | Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system
coding:LOINC | Σ | 0..1 | Coding | Code defined by a terminology system
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 0..1 | uri | Identity of the terminology system Required Pattern: http://loinc.org
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ C | 0..1 | code | Symbol in syntax defined by the system
display | Σ C | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
permittedDataType | S C | 0..* | code | Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period Binding: ObservationDataType (required): Permitted data type for observation value. Example General: CodeableConcept
multipleResultsAllowed | S | 0..1 | boolean | Multiple results allowed for conforming observations Example General: true
bodySite |  | 0..1 | CodeableConcept | Body part to be observed Binding: SNOMEDCTBodyStructures (example): SNOMED CT body structures.
method |  | 0..1 | CodeableConcept | Method used to produce the observation Binding: ObservationMethods (example): Methods for simple observations.
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..1 | string | The preferred name to be used when reporting the observation results
permittedUnit | S C | 0..* | Coding | Unit for quantitative results Binding: UCUMCodes (preferred): Codes identifying units of measure.
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 0..1 | uri | Identity of the terminology system Required Pattern: http://unitsofmeasure.org
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ C | 0..1 | code | Symbol in syntax defined by the system
display | Σ C | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
qualifiedValue |  | 0..* | BackboneElement | Set of qualified values for observation results
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
context |  | 0..1 | CodeableConcept | Context qualifier for the set of qualified values Binding: ObservationReferenceRangeMeaningCodes (extensible)
appliesTo |  | 0..* | CodeableConcept | Targetted population for the set of qualified values Binding: ObservationReferenceRangeAppliesToCodes (example)
gender |  | 0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required) Example General: female
age |  | 0..1 | Range | Applicable age range for the set of qualified values
gestationalAge |  | 0..1 | Range | Applicable gestational age range for the set of qualified values
condition |  | 0..1 | string | Condition associated with the set of qualified values
rangeCategory |  | 0..1 | code | reference | critical | absolute Binding: ObservationRangeCategory (required) Example General: critical
range |  | 0..1 | Range | The range for continuous or ordinal observations
validCodedValueSet |  | 0..1 | canonical(ValueSet) | Value set of valid coded values as part of this set of qualified values
normalCodedValueSet |  | 0..1 | canonical(ValueSet) | Value set of normal coded values as part of this set of qualified values
abnormalCodedValueSet |  | 0..1 | canonical(ValueSet) | Value set of abnormal coded values as part of this set of qualified values
criticalCodedValueSet |  | 0..1 | canonical(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 | C | 0..* | BackboneElement | Component results Constraints: obd-1
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code |  | 1..1 | CodeableConcept | Type of observation Binding: LOINCCodes (example): Codes identifying names of simple observations.
permittedDataType | C | 0..* | code | Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period Binding: ObservationDataType (required): Permitted data type for observation value. Example General: CodeableConcept
permittedUnit | C | 0..* | Coding | Unit for quantitative results Binding: UCUMCodes (preferred): Codes identifying units of measure.
qualifiedValue |  | 0..* | See qualifiedValue (ObservationDefinition) | Set of qualified values for observation results
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
ObservationDefinition.​language | Base | required | All Languages | 📍5.0.0 | FHIR Std.
ObservationDefinition.​versionAlgorithm[x] | Base | extensible | Version Algorithm | 📍5.0.0 | FHIR Std.
ObservationDefinition.​status | Base | required | PublicationStatus | 📍5.0.0 | FHIR Std.
ObservationDefinition.​jurisdiction | Base | extensible | Jurisdiction ValueSet | 📍5.0.0 | FHIR Std.
ObservationDefinition.​category | Base | example | Observation Category Codes | 📍5.0.0 | FHIR Std.
ObservationDefinition.​code | Base | example | LOINC Codes | 📍5.0.0 | FHIR Std.
ObservationDefinition.​permittedDataType | Base | required | Observation Data Type | 📍5.0.0 | FHIR Std.
ObservationDefinition.​bodySite | Base | example | SNOMED CT Body Structures | 📍5.0.0 | FHIR Std.
ObservationDefinition.​method | Base | example | Observation Methods | 📍5.0.0 | FHIR Std.
ObservationDefinition.​permittedUnit | Base | preferred | UCUM Codes | 📍5.0.0 | FHIR Std.
ObservationDefinition.​qualifiedValue.context | Base | extensible | Observation Reference Range Meaning Codes | 📍5.0.0 | FHIR Std.
ObservationDefinition.​qualifiedValue.appliesTo | Base | example | Observation Reference Range Applies To Codes | 📍5.0.0 | FHIR Std.
ObservationDefinition.​qualifiedValue.gender | Base | required | AdministrativeGender | 📍5.0.0 | FHIR Std.
ObservationDefinition.​qualifiedValue.rangeCategory | Base | required | Observation Range Category | 📍5.0.0 | FHIR Std.
ObservationDefinition.​component.code | Base | example | LOINC Codes | 📍5.0.0 | FHIR Std.
ObservationDefinition.​component.permittedDataType | Base | required | Observation Data Type | 📍5.0.0 | FHIR Std.
ObservationDefinition.​component.permittedUnit | Base | preferred | UCUM Codes | 📍5.0.0 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
cnl-0 | warning | ObservationDefinition | Name should be usable as an identifier for the module by machine processing applications such as code generation | `name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
obd-0 | error | ObservationDefinition | If permittedUnit exists, then permittedDataType=Quantity must exist. | `permittedUnit.exists() implies (permittedDataType = 'Quantity').exists()`
obd-1 | error | ObservationDefinition.component | If permittedUnit exists, then permittedDataType=Quantity must exist. | `permittedUnit.exists() implies (permittedDataType = 'Quantity').exists()`

This structure is derived from ObservationDefinition

Summary

Must-Support: 3 elements

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of ObservationDefinition.code.coding

Maturity: 2

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
ObservationDefinition | C | 0..* | ObservationDefinition | Definition of an observation Constraints: cnl-0, obd-0
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
contained |  | 0..* | Resource | Contained, inline Resources
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): Codes identifying the state of an ObservationDefinition.
code | Σ | 1..1 | CodeableConcept | Type of observation Binding: LOINCCodes (example): Codes identifying names of simple observations.
Slices for coding | Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system
coding:LOINC | Σ | 0..1 | Coding | Code defined by a terminology system
system | Σ | 0..1 | uri | Identity of the terminology system Required Pattern: http://loinc.org
permittedDataType | S C | 0..* | code | Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period Binding: ObservationDataType (required): Permitted data type for observation value. Example General: CodeableConcept
multipleResultsAllowed | S | 0..1 | boolean | Multiple results allowed for conforming observations Example General: true
permittedUnit | S C | 0..* | Coding | Unit for quantitative results Binding: UCUMCodes (preferred): Codes identifying units of measure.
system | Σ | 0..1 | uri | Identity of the terminology system Required Pattern: http://unitsofmeasure.org
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
ObservationDefinition.​status | Base | required | PublicationStatus | 📍5.0.0 | FHIR Std.
ObservationDefinition.​code | Base | example | LOINC Codes | 📍5.0.0 | FHIR Std.
ObservationDefinition.​permittedDataType | Base | required | Observation Data Type | 📍5.0.0 | FHIR Std.
ObservationDefinition.​permittedUnit | Base | preferred | UCUM Codes | 📍5.0.0 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
cnl-0 | warning | ObservationDefinition | Name should be usable as an identifier for the module by machine processing applications such as code generation | `name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
obd-0 | error | ObservationDefinition | If permittedUnit exists, then permittedDataType=Quantity must exist. | `permittedUnit.exists() implies (permittedDataType = 'Quantity').exists()`

Differential View

This structure is derived from ObservationDefinition

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
ObservationDefinition |  | 0..* | ObservationDefinition | Definition of an observation
code |  |  |  |
Slices for coding |  | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system
coding:LOINC |  | 0..1 | Coding | Code defined by a terminology system
system |  | 0..1 | uri | Identity of the terminology system Required Pattern: http://loinc.org
permittedDataType | S | 0..* | code | Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period
multipleResultsAllowed | S | 0..1 | boolean | Multiple results allowed for conforming observations
permittedUnit | S | 0..* | Coding | Unit for quantitative results
system |  | 0..1 | uri | Identity of the terminology system Required Pattern: http://unitsofmeasure.org
Documentation for this format

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
ObservationDefinition | C | 0..* | ObservationDefinition | Definition of an observation Constraints: cnl-0, obd-0
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
Additional Bindings | Purpose
CommonLanguages | Starter
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
url | Σ | 0..1 | uri | Logical canonical URL to reference this ObservationDefinition (globally unique)
identifier | Σ | 0..1 | Identifier | Business identifier of the ObservationDefinition
version | Σ | 0..1 | string | Business version of the ObservationDefinition
versionAlgorithm[x] | Σ | 0..1 |  | How to compare versions Binding: VersionAlgorithm (extensible)
versionAlgorithmString |  |  | string |
versionAlgorithmCoding |  |  | Coding |
name | Σ C | 0..1 | string | Name for this ObservationDefinition (computer friendly)
title | Σ | 0..1 | string | Name for this ObservationDefinition (human friendly)
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): Codes identifying the state of an ObservationDefinition.
experimental | Σ | 0..1 | boolean | If for testing purposes, not real usage
date | Σ | 0..1 | dateTime | Date last changed
publisher | Σ | 0..1 | string | The name of the individual or organization that published the ObservationDefinition
contact | Σ | 0..* | ContactDetail | Contact details for the publisher
description |  | 0..1 | markdown | Natural language description of the ObservationDefinition
useContext | Σ | 0..* | UsageContext | Content intends to support these contexts
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for this ObservationDefinition (if applicable) Binding: JurisdictionValueSet (extensible): Codes for country, country subdivision and region for indicating where a resource is intended to be used.
purpose |  | 0..1 | markdown | Why this ObservationDefinition is defined
copyright |  | 0..1 | markdown | Use and/or publishing restrictions
copyrightLabel |  | 0..1 | string | Copyright holder and year(s)
approvalDate |  | 0..1 | date | When ObservationDefinition was approved by publisher
lastReviewDate |  | 0..1 | date | Date on which the asset content was last reviewed by the publisher
effectivePeriod | Σ | 0..1 | Period | The effective date range for the ObservationDefinition
derivedFromCanonical | Σ | 0..* | canonical(ObservationDefinition) | Based on FHIR definition of another observation
derivedFromUri | Σ | 0..* | uri | Based on external definition
subject | Σ | 0..* | CodeableConcept | Type of subject for the defined observation
performerType | Σ | 0..1 | CodeableConcept | Desired kind of performer for such kind of observation
category | Σ | 0..* | CodeableConcept | General type of observation Binding: ObservationCategoryCodes (example): Codes for high level observation categories.
code | Σ | 1..1 | CodeableConcept | Type of observation Binding: LOINCCodes (example): Codes identifying names of simple observations.
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
Slices for coding | Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system
coding:LOINC | Σ | 0..1 | Coding | Code defined by a terminology system
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 0..1 | uri | Identity of the terminology system Required Pattern: http://loinc.org
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ C | 0..1 | code | Symbol in syntax defined by the system
display | Σ C | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
permittedDataType | S C | 0..* | code | Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period Binding: ObservationDataType (required): Permitted data type for observation value. Example General: CodeableConcept
multipleResultsAllowed | S | 0..1 | boolean | Multiple results allowed for conforming observations Example General: true
bodySite |  | 0..1 | CodeableConcept | Body part to be observed Binding: SNOMEDCTBodyStructures (example): SNOMED CT body structures.
method |  | 0..1 | CodeableConcept | Method used to produce the observation Binding: ObservationMethods (example): Methods for simple observations.
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..1 | string | The preferred name to be used when reporting the observation results
permittedUnit | S C | 0..* | Coding | Unit for quantitative results Binding: UCUMCodes (preferred): Codes identifying units of measure.
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
system | Σ | 0..1 | uri | Identity of the terminology system Required Pattern: http://unitsofmeasure.org
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ C | 0..1 | code | Symbol in syntax defined by the system
display | Σ C | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
qualifiedValue |  | 0..* | BackboneElement | Set of qualified values for observation results
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
context |  | 0..1 | CodeableConcept | Context qualifier for the set of qualified values Binding: ObservationReferenceRangeMeaningCodes (extensible)
appliesTo |  | 0..* | CodeableConcept | Targetted population for the set of qualified values Binding: ObservationReferenceRangeAppliesToCodes (example)
gender |  | 0..1 | code | male | female | other | unknown Binding: AdministrativeGender (required) Example General: female
age |  | 0..1 | Range | Applicable age range for the set of qualified values
gestationalAge |  | 0..1 | Range | Applicable gestational age range for the set of qualified values
condition |  | 0..1 | string | Condition associated with the set of qualified values
rangeCategory |  | 0..1 | code | reference | critical | absolute Binding: ObservationRangeCategory (required) Example General: critical
range |  | 0..1 | Range | The range for continuous or ordinal observations
validCodedValueSet |  | 0..1 | canonical(ValueSet) | Value set of valid coded values as part of this set of qualified values
normalCodedValueSet |  | 0..1 | canonical(ValueSet) | Value set of normal coded values as part of this set of qualified values
abnormalCodedValueSet |  | 0..1 | canonical(ValueSet) | Value set of abnormal coded values as part of this set of qualified values
criticalCodedValueSet |  | 0..1 | canonical(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 | C | 0..* | BackboneElement | Component results Constraints: obd-1
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code |  | 1..1 | CodeableConcept | Type of observation Binding: LOINCCodes (example): Codes identifying names of simple observations.
permittedDataType | C | 0..* | code | Quantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period Binding: ObservationDataType (required): Permitted data type for observation value. Example General: CodeableConcept
permittedUnit | C | 0..* | Coding | Unit for quantitative results Binding: UCUMCodes (preferred): Codes identifying units of measure.
qualifiedValue |  | 0..* | See qualifiedValue (ObservationDefinition) | Set of qualified values for observation results
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
ObservationDefinition.​language | Base | required | All Languages | 📍5.0.0 | FHIR Std.
ObservationDefinition.​versionAlgorithm[x] | Base | extensible | Version Algorithm | 📍5.0.0 | FHIR Std.
ObservationDefinition.​status | Base | required | PublicationStatus | 📍5.0.0 | FHIR Std.
ObservationDefinition.​jurisdiction | Base | extensible | Jurisdiction ValueSet | 📍5.0.0 | FHIR Std.
ObservationDefinition.​category | Base | example | Observation Category Codes | 📍5.0.0 | FHIR Std.
ObservationDefinition.​code | Base | example | LOINC Codes | 📍5.0.0 | FHIR Std.
ObservationDefinition.​permittedDataType | Base | required | Observation Data Type | 📍5.0.0 | FHIR Std.
ObservationDefinition.​bodySite | Base | example | SNOMED CT Body Structures | 📍5.0.0 | FHIR Std.
ObservationDefinition.​method | Base | example | Observation Methods | 📍5.0.0 | FHIR Std.
ObservationDefinition.​permittedUnit | Base | preferred | UCUM Codes | 📍5.0.0 | FHIR Std.
ObservationDefinition.​qualifiedValue.context | Base | extensible | Observation Reference Range Meaning Codes | 📍5.0.0 | FHIR Std.
ObservationDefinition.​qualifiedValue.appliesTo | Base | example | Observation Reference Range Applies To Codes | 📍5.0.0 | FHIR Std.
ObservationDefinition.​qualifiedValue.gender | Base | required | AdministrativeGender | 📍5.0.0 | FHIR Std.
ObservationDefinition.​qualifiedValue.rangeCategory | Base | required | Observation Range Category | 📍5.0.0 | FHIR Std.
ObservationDefinition.​component.code | Base | example | LOINC Codes | 📍5.0.0 | FHIR Std.
ObservationDefinition.​component.permittedDataType | Base | required | Observation Data Type | 📍5.0.0 | FHIR Std.
ObservationDefinition.​component.permittedUnit | Base | preferred | UCUM Codes | 📍5.0.0 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
cnl-0 | warning | ObservationDefinition | Name should be usable as an identifier for the module by machine processing applications such as code generation | `name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
obd-0 | error | ObservationDefinition | If permittedUnit exists, then permittedDataType=Quantity must exist. | `permittedUnit.exists() implies (permittedDataType = 'Quantity').exists()`
obd-1 | error | ObservationDefinition.component | If permittedUnit exists, then permittedDataType=Quantity must exist. | `permittedUnit.exists() implies (permittedDataType = 'Quantity').exists()`

This structure is derived from ObservationDefinition

Summary

Must-Support: 3 elements

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of ObservationDefinition.code.coding

Maturity: 2

Other representations of profile: CSV, Excel, Schematron