Order Catalog Implementation Guide, published by HL7 International - Orders and Observations Work Group. This is not an authorized publication; it is the continuous build for version current). 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
Official URL: http://hl7.org/fhir/uv/order-catalog/StructureDefinition/LabObservationDefinition | Version: current | |||
Draft as of 2023-07-08 | Computable Name: LabObservationDefinition |
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.
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from ObservationDefinition
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ObservationDefinition | 0..* | ObservationDefinition | Definition of an observation | |
quantitativeDetails | S | |||
unit | S | |||
coding | ||||
system | Fixed Value: http://unitsofmeasure.org | |||
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 Fixed Value: 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 |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ObservationDefinition | C | 0..* | ObservationDefinition | Definition of an observation |
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. |
permittedDataType | SC | 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 |
Documentation for this format |
Path | Conformance | ValueSet |
ObservationDefinition.status | required | PublicationStatus |
ObservationDefinition.code | example | LOINCCodes (a valid code from LOINC) |
ObservationDefinition.permittedDataType | required | ObservationDataType |
Id | Grade | Path(s) | Details | Requirements |
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() |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ObservationDefinition | C | 0..* | ObservationDefinition | Definition of an observation |
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 | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
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 | ΣXD | 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. |
permittedDataType | SC | 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 | C | 0..* | Coding | Unit for quantitative results Binding: UCUMCodes (preferred): Codes identifying units of measure. |
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 |
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 |
Path | Conformance | ValueSet |
ObservationDefinition.language | required | AllLanguages |
ObservationDefinition.versionAlgorithm[x] | extensible | VersionAlgorithm |
ObservationDefinition.status | required | PublicationStatus |
ObservationDefinition.jurisdiction | extensible | JurisdictionValueSet |
ObservationDefinition.category | example | ObservationCategoryCodes |
ObservationDefinition.code | example | LOINCCodes (a valid code from LOINC) |
ObservationDefinition.permittedDataType | required | ObservationDataType |
ObservationDefinition.bodySite | example | SNOMEDCTBodyStructures |
ObservationDefinition.method | example | ObservationMethods |
ObservationDefinition.permittedUnit | preferred | UCUMCodes (a valid code from UCUM) |
ObservationDefinition.qualifiedValue.context | extensible | ObservationReferenceRangeMeaningCodes |
ObservationDefinition.qualifiedValue.appliesTo | example | ObservationReferenceRangeAppliesToCodes |
ObservationDefinition.qualifiedValue.gender | required | AdministrativeGender |
ObservationDefinition.qualifiedValue.rangeCategory | required | ObservationRangeCategory |
ObservationDefinition.component.code | example | LOINCCodes (a valid code from LOINC) |
ObservationDefinition.component.permittedDataType | required | ObservationDataType |
ObservationDefinition.component.permittedUnit | preferred | UCUMCodes (a valid code from UCUM) |
Id | Grade | Path(s) | Details | Requirements |
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-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: 4 elements
Fixed Value: 2 elements
Slices
This structure defines the following Slices:
Differential View
This structure is derived from ObservationDefinition
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ObservationDefinition | 0..* | ObservationDefinition | Definition of an observation | |
quantitativeDetails | S | |||
unit | S | |||
coding | ||||
system | Fixed Value: http://unitsofmeasure.org | |||
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 Fixed Value: 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 |
Documentation for this format |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ObservationDefinition | C | 0..* | ObservationDefinition | Definition of an observation |
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. |
permittedDataType | SC | 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 |
Documentation for this format |
Path | Conformance | ValueSet |
ObservationDefinition.status | required | PublicationStatus |
ObservationDefinition.code | example | LOINCCodes (a valid code from LOINC) |
ObservationDefinition.permittedDataType | required | ObservationDataType |
Id | Grade | Path(s) | Details | Requirements |
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() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ObservationDefinition | C | 0..* | ObservationDefinition | Definition of an observation |
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 | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
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 | ΣXD | 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. |
permittedDataType | SC | 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 | C | 0..* | Coding | Unit for quantitative results Binding: UCUMCodes (preferred): Codes identifying units of measure. |
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 |
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 |
Path | Conformance | ValueSet |
ObservationDefinition.language | required | AllLanguages |
ObservationDefinition.versionAlgorithm[x] | extensible | VersionAlgorithm |
ObservationDefinition.status | required | PublicationStatus |
ObservationDefinition.jurisdiction | extensible | JurisdictionValueSet |
ObservationDefinition.category | example | ObservationCategoryCodes |
ObservationDefinition.code | example | LOINCCodes (a valid code from LOINC) |
ObservationDefinition.permittedDataType | required | ObservationDataType |
ObservationDefinition.bodySite | example | SNOMEDCTBodyStructures |
ObservationDefinition.method | example | ObservationMethods |
ObservationDefinition.permittedUnit | preferred | UCUMCodes (a valid code from UCUM) |
ObservationDefinition.qualifiedValue.context | extensible | ObservationReferenceRangeMeaningCodes |
ObservationDefinition.qualifiedValue.appliesTo | example | ObservationReferenceRangeAppliesToCodes |
ObservationDefinition.qualifiedValue.gender | required | AdministrativeGender |
ObservationDefinition.qualifiedValue.rangeCategory | required | ObservationRangeCategory |
ObservationDefinition.component.code | example | LOINCCodes (a valid code from LOINC) |
ObservationDefinition.component.permittedDataType | required | ObservationDataType |
ObservationDefinition.component.permittedUnit | preferred | UCUMCodes (a valid code from UCUM) |
Id | Grade | Path(s) | Details | Requirements |
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-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: 4 elements
Fixed Value: 2 elements
Slices
This structure defines the following Slices:
Other representations of profile: CSV, Excel, Schematron