This page is part of the U.S. Physical Activity IG (v1.0.0: STU 1.0) based on FHIR R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
Official URL: http://hl7.org/fhir/us/physical-activity/StructureDefinition/pa-observation-base | Version: 1.0.0 | |||
Standards status: Trial-use | Maturity Level: 2 | Computable Name: PAObservationBase |
A profile describing base requirements for all primary physical activity observations.
This generic profile sets the common expectations that will be inherited by all of the observation profiles in this IG. It is not intended to be implemented directly.
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Observation
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | 0..* | Observation | This is an abstract profile. Child profiles: Observation, Observation, Observation, Observation Measurements and simple assertions | |
implicitRules | 0..0 | |||
modifierExtension | 0..0 | |||
status | S | 1..1 | code | final | amended | corrected | entered-in-error Binding: ObservationStatus (required) |
Slices for category | 2..* | CodeableConcept | Classification of type of observation Slice: Unordered, Open by pattern:$this | |
category:Activity | S | 1..1 | CodeableConcept | Activity (Required for U.S. Core) Required Pattern: At least the following |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: activity | |
category:PhysicalActivity | S | 1..1 | CodeableConcept | Physical Activity Required Pattern: At least the following |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/us/physical-activity/CodeSystem/pa-temporary-codes | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: PhysicalActivity | |
code | S | 1..1 | CodeableConcept | Type of observation (code / type) Binding: LOINCCodes (preferred) |
subject | S | 1..1 | Reference(US Core Patient Profile) | Who and/or what the observation is about |
focus | 0..0 | |||
Slices for effective[x] | S | 1..1 | Clinically relevant time/time-period for observation Slice: Unordered, Open by type:$this | |
effectiveDateTime | dateTime | |||
effectivePeriod | Period | |||
effective[x]:effectiveDateTime | 0..1 | dateTime | Clinically relevant time/time-period for observation | |
effective[x]:effectivePeriod | 0..1 | Period | Clinically relevant time/time-period for observation | |
start | S | 1..1 | dateTime | Starting time with inclusive boundary |
end | S | 1..1 | dateTime | End time with inclusive boundary, if not ongoing |
performer | S | 0..* | Reference(US Core Patient Profile S | US Core Practitioner Profile S | US Core PractitionerRole Profile | RelatedPerson) | Who is responsible for the observation |
Slices for value[x] | S | 0..1 | Actual result Slice: Unordered, Open by type:$this | |
valueQuantity | Quantity | |||
valueCodeableConcept | CodeableConcept | |||
value[x]:valueCodeableConcept | 0..1 | CodeableConcept | Actual result | |
value[x]:valueQuantity | 0..1 | SimpleQuantity | A fixed quantity (no comparator) | |
value | S | 1..1 | decimal | Numerical value (with implicit precision) |
system | 1..1 | uri | System that defines coded unit form Required Pattern: http://unitsofmeasure.org | |
code | S | 1..1 | code | Coded form of the unit |
note | S | 0..* | Annotation | Comments about the observation |
author[x] | S | 1..1 | Reference(Practitioner S | Patient S | RelatedPerson) | Individual responsible for the annotation |
time | S | 1..1 | dateTime | When the annotation was made |
text | S | 1..1 | markdown | The annotation - text content (as markdown) |
specimen | 0..0 | |||
Documentation for this format |
Path | Conformance | ValueSet |
Observation.status | required | ObservationStatus |
Observation.code | preferred | LOINCCodes (a valid code from LOINC) |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | Observation | This is an abstract profile. Child profiles: Observation, Observation, Observation, Observation Measurements and simple assertions |
status | ?!SΣ | 1..1 | code | final | amended | corrected | entered-in-error Binding: ObservationStatus (required) |
Slices for category | 2..* | CodeableConcept | Classification of type of observation Slice: Unordered, Open by pattern:$this Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | |
category:Activity | S | 1..1 | CodeableConcept | Activity (Required for U.S. Core) Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Required Pattern: At least the following |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: activity | |
category:PhysicalActivity | S | 1..1 | CodeableConcept | Physical Activity Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Required Pattern: At least the following |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/us/physical-activity/CodeSystem/pa-temporary-codes | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: PhysicalActivity | |
code | SΣ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: LOINCCodes (preferred) |
subject | SΣ | 1..1 | Reference(US Core Patient Profile) | Who and/or what the observation is about |
Slices for effective[x] | SΣ | 1..1 | Clinically relevant time/time-period for observation Slice: Unordered, Closed by type:$this | |
effectiveDateTime | dateTime | |||
effectivePeriod | Period | |||
effective[x]:effectiveDateTime | Σ | 0..1 | dateTime | Clinically relevant time/time-period for observation |
effective[x]:effectivePeriod | Σ | 0..1 | Period | Clinically relevant time/time-period for observation |
start | SΣC | 1..1 | dateTime | Starting time with inclusive boundary |
end | SΣC | 1..1 | dateTime | End time with inclusive boundary, if not ongoing |
performer | SΣ | 0..* | Reference(US Core Patient Profile | US Core Practitioner Profile) | Who is responsible for the observation |
Slices for value[x] | SΣC | 0..1 | Actual result Slice: Unordered, Closed by type:$this | |
valueQuantity | Quantity | |||
valueCodeableConcept | CodeableConcept | |||
value[x]:valueCodeableConcept | ΣC | 0..1 | CodeableConcept | Actual result |
value[x]:valueQuantity | C | 0..1 | SimpleQuantity | A fixed quantity (no comparator) |
value | SΣ | 1..1 | decimal | Numerical value (with implicit precision) |
system | ΣC | 1..1 | uri | System that defines coded unit form Required Pattern: http://unitsofmeasure.org |
code | SΣ | 1..1 | code | Coded form of the unit |
note | S | 0..* | Annotation | Comments about the observation |
author[x] | SΣ | 1..1 | Reference(Practitioner | Patient) | Individual responsible for the annotation |
time | SΣ | 1..1 | dateTime | When the annotation was made |
text | SΣ | 1..1 | markdown | The annotation - text content (as markdown) |
Documentation for this format |
Path | Conformance | ValueSet / Code |
Observation.status | required | ObservationStatus |
Observation.category | preferred | ObservationCategoryCodes |
Observation.category:Activity | preferred | Pattern: activity |
Observation.category:PhysicalActivity | preferred | Pattern: PhysicalActivity |
Observation.code | preferred | LOINCCodes (a valid code from LOINC) |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Observation | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() | |
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() | |
qty-3 | error | Observation.value[x]:valueQuantity | If a code for the unit is present, the system SHALL also be present : code.empty() or system.exists() | |
sqty-1 | error | Observation.value[x]:valueQuantity | The comparator is not used on a SimpleQuantity : comparator.empty() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Observation | C | 0..* | Observation | This is an abstract profile. Child profiles: Observation, Observation, Observation, Observation Measurements and simple assertions | ||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): 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 | |||||
identifier | Σ | 0..* | Identifier | Business Identifier for observation | ||||
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order | ||||
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event | ||||
status | ?!SΣ | 1..1 | code | final | amended | corrected | entered-in-error Binding: ObservationStatus (required) | ||||
Slices for category | 2..* | CodeableConcept | Classification of type of observation Slice: Unordered, Open by pattern:$this Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | |||||
category:Activity | S | 1..1 | CodeableConcept | Activity (Required for U.S. Core) Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: activity | |||||
display | 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 | |||||
category:PhysicalActivity | S | 1..1 | CodeableConcept | Physical Activity Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/us/physical-activity/CodeSystem/pa-temporary-codes | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: PhysicalActivity | |||||
display | 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 | |||||
code | SΣ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: LOINCCodes (preferred) | ||||
subject | SΣ | 1..1 | Reference(US Core Patient Profile) | Who and/or what the observation is about | ||||
encounter | Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made | ||||
Slices for effective[x] | SΣ | 1..1 | Clinically relevant time/time-period for observation Slice: Unordered, Closed by type:$this | |||||
effectiveDateTime | dateTime | |||||||
effectivePeriod | Period | |||||||
effective[x]:effectiveDateTime | Σ | 0..1 | dateTime | Clinically relevant time/time-period for observation | ||||
effective[x]:effectivePeriod | Σ | 0..1 | Period | Clinically relevant time/time-period for observation | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
start | SΣC | 1..1 | dateTime | Starting time with inclusive boundary | ||||
end | SΣC | 1..1 | dateTime | End time with inclusive boundary, if not ongoing | ||||
issued | Σ | 0..1 | instant | Date/Time this version was made available | ||||
performer | SΣ | 0..* | Reference(US Core Patient Profile S | US Core Practitioner Profile S | US Core PractitionerRole Profile | RelatedPerson) | Who is responsible for the observation | ||||
Slices for value[x] | SΣC | 0..1 | Actual result Slice: Unordered, Closed by type:$this | |||||
valueQuantity | Quantity | |||||||
valueCodeableConcept | CodeableConcept | |||||||
value[x]:valueCodeableConcept | ΣC | 0..1 | CodeableConcept | Actual result | ||||
value[x]:valueQuantity | C | 0..1 | SimpleQuantity | A fixed quantity (no comparator) | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
value | SΣ | 1..1 | decimal | Numerical value (with implicit precision) | ||||
unit | Σ | 0..1 | string | Unit representation | ||||
system | ΣC | 1..1 | uri | System that defines coded unit form Required Pattern: http://unitsofmeasure.org | ||||
code | SΣ | 1..1 | code | Coded form of the unit | ||||
dataAbsentReason | C | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
interpretation | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
note | S | 0..* | Annotation | Comments about the observation | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
author[x] | SΣ | 1..1 | Reference(Practitioner S | Patient S | RelatedPerson) | Individual responsible for the annotation | ||||
time | SΣ | 1..1 | dateTime | When the annotation was made | ||||
text | SΣ | 1..1 | markdown | The annotation - text content (as markdown) | ||||
bodySite | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | |||||
method | 0..1 | CodeableConcept | How it was done Binding: ObservationMethods (example): Methods for simple observations. | |||||
device | 0..1 | Reference(Device | DeviceMetric) | (Measurement) Device | |||||
referenceRange | C | 0..* | BackboneElement | Provides guide for interpretation | ||||
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 | ||||
low | C | 0..1 | SimpleQuantity | Low Range, if relevant | ||||
high | C | 0..1 | SimpleQuantity | High Range, if relevant | ||||
type | 0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range. | |||||
appliesTo | 0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to. | |||||
age | 0..1 | Range | Applicable age range, if relevant | |||||
text | 0..1 | string | Text based reference range in an observation | |||||
hasMember | Σ | 0..* | Reference(Observation | QuestionnaireResponse | MolecularSequence) | Related resource that belongs to the Observation group | ||||
derivedFrom | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from | ||||
component | Σ | 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 component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. | ||||
value[x] | Σ | 0..1 | Actual component result | |||||
valueQuantity | Quantity | |||||||
valueCodeableConcept | CodeableConcept | |||||||
valueString | string | |||||||
valueBoolean | boolean | |||||||
valueInteger | integer | |||||||
valueRange | Range | |||||||
valueRatio | Ratio | |||||||
valueSampledData | SampledData | |||||||
valueTime | time | |||||||
valueDateTime | dateTime | |||||||
valuePeriod | Period | |||||||
dataAbsentReason | C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
interpretation | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
referenceRange | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||
Documentation for this format |
Path | Conformance | ValueSet / Code | ||||
Observation.language | preferred | CommonLanguages
| ||||
Observation.status | required | ObservationStatus | ||||
Observation.category | preferred | ObservationCategoryCodes | ||||
Observation.category:Activity | preferred | Pattern: activity | ||||
Observation.category:PhysicalActivity | preferred | Pattern: PhysicalActivity | ||||
Observation.code | preferred | LOINCCodes (a valid code from LOINC) | ||||
Observation.dataAbsentReason | extensible | DataAbsentReason | ||||
Observation.interpretation | extensible | ObservationInterpretationCodes | ||||
Observation.bodySite | example | SNOMEDCTBodyStructures | ||||
Observation.method | example | ObservationMethods | ||||
Observation.referenceRange.type | preferred | ObservationReferenceRangeMeaningCodes | ||||
Observation.referenceRange.appliesTo | example | ObservationReferenceRangeAppliesToCodes | ||||
Observation.component.code | example | LOINCCodes (a valid code from LOINC) | ||||
Observation.component.dataAbsentReason | extensible | DataAbsentReason | ||||
Observation.component.interpretation | extensible | ObservationInterpretationCodes |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Observation | A resource should have narrative for robust management : text.`div`.exists() | |
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() | |
obs-3 | error | Observation.referenceRange | Must have at least a low or a high or text : low.exists() or high.exists() or text.exists() | |
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() | |
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() | |
qty-3 | error | Observation.value[x]:valueQuantity | If a code for the unit is present, the system SHALL also be present : code.empty() or system.exists() | |
sqty-1 | error | Observation.value[x]:valueQuantity | The comparator is not used on a SimpleQuantity : comparator.empty() |
This structure is derived from Observation
Summary
Mandatory: 4 elements (7 nested mandatory elements)
Must-Support: 16 elements
Prohibited: 4 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
Maturity: 2
Differential View
This structure is derived from Observation
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | 0..* | Observation | This is an abstract profile. Child profiles: Observation, Observation, Observation, Observation Measurements and simple assertions | |
implicitRules | 0..0 | |||
modifierExtension | 0..0 | |||
status | S | 1..1 | code | final | amended | corrected | entered-in-error Binding: ObservationStatus (required) |
Slices for category | 2..* | CodeableConcept | Classification of type of observation Slice: Unordered, Open by pattern:$this | |
category:Activity | S | 1..1 | CodeableConcept | Activity (Required for U.S. Core) Required Pattern: At least the following |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: activity | |
category:PhysicalActivity | S | 1..1 | CodeableConcept | Physical Activity Required Pattern: At least the following |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/us/physical-activity/CodeSystem/pa-temporary-codes | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: PhysicalActivity | |
code | S | 1..1 | CodeableConcept | Type of observation (code / type) Binding: LOINCCodes (preferred) |
subject | S | 1..1 | Reference(US Core Patient Profile) | Who and/or what the observation is about |
focus | 0..0 | |||
Slices for effective[x] | S | 1..1 | Clinically relevant time/time-period for observation Slice: Unordered, Open by type:$this | |
effectiveDateTime | dateTime | |||
effectivePeriod | Period | |||
effective[x]:effectiveDateTime | 0..1 | dateTime | Clinically relevant time/time-period for observation | |
effective[x]:effectivePeriod | 0..1 | Period | Clinically relevant time/time-period for observation | |
start | S | 1..1 | dateTime | Starting time with inclusive boundary |
end | S | 1..1 | dateTime | End time with inclusive boundary, if not ongoing |
performer | S | 0..* | Reference(US Core Patient Profile S | US Core Practitioner Profile S | US Core PractitionerRole Profile | RelatedPerson) | Who is responsible for the observation |
Slices for value[x] | S | 0..1 | Actual result Slice: Unordered, Open by type:$this | |
valueQuantity | Quantity | |||
valueCodeableConcept | CodeableConcept | |||
value[x]:valueCodeableConcept | 0..1 | CodeableConcept | Actual result | |
value[x]:valueQuantity | 0..1 | SimpleQuantity | A fixed quantity (no comparator) | |
value | S | 1..1 | decimal | Numerical value (with implicit precision) |
system | 1..1 | uri | System that defines coded unit form Required Pattern: http://unitsofmeasure.org | |
code | S | 1..1 | code | Coded form of the unit |
note | S | 0..* | Annotation | Comments about the observation |
author[x] | S | 1..1 | Reference(Practitioner S | Patient S | RelatedPerson) | Individual responsible for the annotation |
time | S | 1..1 | dateTime | When the annotation was made |
text | S | 1..1 | markdown | The annotation - text content (as markdown) |
specimen | 0..0 | |||
Documentation for this format |
Path | Conformance | ValueSet |
Observation.status | required | ObservationStatus |
Observation.code | preferred | LOINCCodes (a valid code from LOINC) |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Observation | C | 0..* | Observation | This is an abstract profile. Child profiles: Observation, Observation, Observation, Observation Measurements and simple assertions |
status | ?!SΣ | 1..1 | code | final | amended | corrected | entered-in-error Binding: ObservationStatus (required) |
Slices for category | 2..* | CodeableConcept | Classification of type of observation Slice: Unordered, Open by pattern:$this Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | |
category:Activity | S | 1..1 | CodeableConcept | Activity (Required for U.S. Core) Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Required Pattern: At least the following |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: activity | |
category:PhysicalActivity | S | 1..1 | CodeableConcept | Physical Activity Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Required Pattern: At least the following |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/us/physical-activity/CodeSystem/pa-temporary-codes | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: PhysicalActivity | |
code | SΣ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: LOINCCodes (preferred) |
subject | SΣ | 1..1 | Reference(US Core Patient Profile) | Who and/or what the observation is about |
Slices for effective[x] | SΣ | 1..1 | Clinically relevant time/time-period for observation Slice: Unordered, Closed by type:$this | |
effectiveDateTime | dateTime | |||
effectivePeriod | Period | |||
effective[x]:effectiveDateTime | Σ | 0..1 | dateTime | Clinically relevant time/time-period for observation |
effective[x]:effectivePeriod | Σ | 0..1 | Period | Clinically relevant time/time-period for observation |
start | SΣC | 1..1 | dateTime | Starting time with inclusive boundary |
end | SΣC | 1..1 | dateTime | End time with inclusive boundary, if not ongoing |
performer | SΣ | 0..* | Reference(US Core Patient Profile | US Core Practitioner Profile) | Who is responsible for the observation |
Slices for value[x] | SΣC | 0..1 | Actual result Slice: Unordered, Closed by type:$this | |
valueQuantity | Quantity | |||
valueCodeableConcept | CodeableConcept | |||
value[x]:valueCodeableConcept | ΣC | 0..1 | CodeableConcept | Actual result |
value[x]:valueQuantity | C | 0..1 | SimpleQuantity | A fixed quantity (no comparator) |
value | SΣ | 1..1 | decimal | Numerical value (with implicit precision) |
system | ΣC | 1..1 | uri | System that defines coded unit form Required Pattern: http://unitsofmeasure.org |
code | SΣ | 1..1 | code | Coded form of the unit |
note | S | 0..* | Annotation | Comments about the observation |
author[x] | SΣ | 1..1 | Reference(Practitioner | Patient) | Individual responsible for the annotation |
time | SΣ | 1..1 | dateTime | When the annotation was made |
text | SΣ | 1..1 | markdown | The annotation - text content (as markdown) |
Documentation for this format |
Path | Conformance | ValueSet / Code |
Observation.status | required | ObservationStatus |
Observation.category | preferred | ObservationCategoryCodes |
Observation.category:Activity | preferred | Pattern: activity |
Observation.category:PhysicalActivity | preferred | Pattern: PhysicalActivity |
Observation.code | preferred | LOINCCodes (a valid code from LOINC) |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Observation | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() | |
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() | |
qty-3 | error | Observation.value[x]:valueQuantity | If a code for the unit is present, the system SHALL also be present : code.empty() or system.exists() | |
sqty-1 | error | Observation.value[x]:valueQuantity | The comparator is not used on a SimpleQuantity : comparator.empty() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Observation | C | 0..* | Observation | This is an abstract profile. Child profiles: Observation, Observation, Observation, Observation Measurements and simple assertions | ||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): 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 | |||||
identifier | Σ | 0..* | Identifier | Business Identifier for observation | ||||
basedOn | Σ | 0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) | Fulfills plan, proposal or order | ||||
partOf | Σ | 0..* | Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) | Part of referenced event | ||||
status | ?!SΣ | 1..1 | code | final | amended | corrected | entered-in-error Binding: ObservationStatus (required) | ||||
Slices for category | 2..* | CodeableConcept | Classification of type of observation Slice: Unordered, Open by pattern:$this Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. | |||||
category:Activity | S | 1..1 | CodeableConcept | Activity (Required for U.S. Core) Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: activity | |||||
display | 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 | |||||
category:PhysicalActivity | S | 1..1 | CodeableConcept | Physical Activity Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories. Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: http://hl7.org/fhir/us/physical-activity/CodeSystem/pa-temporary-codes | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: PhysicalActivity | |||||
display | 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 | |||||
code | SΣ | 1..1 | CodeableConcept | Type of observation (code / type) Binding: LOINCCodes (preferred) | ||||
subject | SΣ | 1..1 | Reference(US Core Patient Profile) | Who and/or what the observation is about | ||||
encounter | Σ | 0..1 | Reference(Encounter) | Healthcare event during which this observation is made | ||||
Slices for effective[x] | SΣ | 1..1 | Clinically relevant time/time-period for observation Slice: Unordered, Closed by type:$this | |||||
effectiveDateTime | dateTime | |||||||
effectivePeriod | Period | |||||||
effective[x]:effectiveDateTime | Σ | 0..1 | dateTime | Clinically relevant time/time-period for observation | ||||
effective[x]:effectivePeriod | Σ | 0..1 | Period | Clinically relevant time/time-period for observation | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
start | SΣC | 1..1 | dateTime | Starting time with inclusive boundary | ||||
end | SΣC | 1..1 | dateTime | End time with inclusive boundary, if not ongoing | ||||
issued | Σ | 0..1 | instant | Date/Time this version was made available | ||||
performer | SΣ | 0..* | Reference(US Core Patient Profile S | US Core Practitioner Profile S | US Core PractitionerRole Profile | RelatedPerson) | Who is responsible for the observation | ||||
Slices for value[x] | SΣC | 0..1 | Actual result Slice: Unordered, Closed by type:$this | |||||
valueQuantity | Quantity | |||||||
valueCodeableConcept | CodeableConcept | |||||||
value[x]:valueCodeableConcept | ΣC | 0..1 | CodeableConcept | Actual result | ||||
value[x]:valueQuantity | C | 0..1 | SimpleQuantity | A fixed quantity (no comparator) | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
value | SΣ | 1..1 | decimal | Numerical value (with implicit precision) | ||||
unit | Σ | 0..1 | string | Unit representation | ||||
system | ΣC | 1..1 | uri | System that defines coded unit form Required Pattern: http://unitsofmeasure.org | ||||
code | SΣ | 1..1 | code | Coded form of the unit | ||||
dataAbsentReason | C | 0..1 | CodeableConcept | Why the result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
interpretation | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
note | S | 0..* | Annotation | Comments about the observation | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
author[x] | SΣ | 1..1 | Reference(Practitioner S | Patient S | RelatedPerson) | Individual responsible for the annotation | ||||
time | SΣ | 1..1 | dateTime | When the annotation was made | ||||
text | SΣ | 1..1 | markdown | The annotation - text content (as markdown) | ||||
bodySite | 0..1 | CodeableConcept | Observed body part Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | |||||
method | 0..1 | CodeableConcept | How it was done Binding: ObservationMethods (example): Methods for simple observations. | |||||
device | 0..1 | Reference(Device | DeviceMetric) | (Measurement) Device | |||||
referenceRange | C | 0..* | BackboneElement | Provides guide for interpretation | ||||
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 | ||||
low | C | 0..1 | SimpleQuantity | Low Range, if relevant | ||||
high | C | 0..1 | SimpleQuantity | High Range, if relevant | ||||
type | 0..1 | CodeableConcept | Reference range qualifier Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range. | |||||
appliesTo | 0..* | CodeableConcept | Reference range population Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to. | |||||
age | 0..1 | Range | Applicable age range, if relevant | |||||
text | 0..1 | string | Text based reference range in an observation | |||||
hasMember | Σ | 0..* | Reference(Observation | QuestionnaireResponse | MolecularSequence) | Related resource that belongs to the Observation group | ||||
derivedFrom | Σ | 0..* | Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | Observation | MolecularSequence) | Related measurements the observation is made from | ||||
component | Σ | 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 component observation (code / type) Binding: LOINCCodes (example): Codes identifying names of simple observations. | ||||
value[x] | Σ | 0..1 | Actual component result | |||||
valueQuantity | Quantity | |||||||
valueCodeableConcept | CodeableConcept | |||||||
valueString | string | |||||||
valueBoolean | boolean | |||||||
valueInteger | integer | |||||||
valueRange | Range | |||||||
valueRatio | Ratio | |||||||
valueSampledData | SampledData | |||||||
valueTime | time | |||||||
valueDateTime | dateTime | |||||||
valuePeriod | Period | |||||||
dataAbsentReason | C | 0..1 | CodeableConcept | Why the component result is missing Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing. | ||||
interpretation | 0..* | CodeableConcept | High, low, normal, etc. Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations. | |||||
referenceRange | 0..* | See referenceRange (Observation) | Provides guide for interpretation of component result | |||||
Documentation for this format |
Path | Conformance | ValueSet / Code | ||||
Observation.language | preferred | CommonLanguages
| ||||
Observation.status | required | ObservationStatus | ||||
Observation.category | preferred | ObservationCategoryCodes | ||||
Observation.category:Activity | preferred | Pattern: activity | ||||
Observation.category:PhysicalActivity | preferred | Pattern: PhysicalActivity | ||||
Observation.code | preferred | LOINCCodes (a valid code from LOINC) | ||||
Observation.dataAbsentReason | extensible | DataAbsentReason | ||||
Observation.interpretation | extensible | ObservationInterpretationCodes | ||||
Observation.bodySite | example | SNOMEDCTBodyStructures | ||||
Observation.method | example | ObservationMethods | ||||
Observation.referenceRange.type | preferred | ObservationReferenceRangeMeaningCodes | ||||
Observation.referenceRange.appliesTo | example | ObservationReferenceRangeAppliesToCodes | ||||
Observation.component.code | example | LOINCCodes (a valid code from LOINC) | ||||
Observation.component.dataAbsentReason | extensible | DataAbsentReason | ||||
Observation.component.interpretation | extensible | ObservationInterpretationCodes |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Observation | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Observation | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Observation | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Observation | A resource should have narrative for robust management : text.`div`.exists() | |
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() | |
obs-3 | error | Observation.referenceRange | Must have at least a low or a high or text : low.exists() or high.exists() or text.exists() | |
obs-6 | error | Observation | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() | |
obs-7 | error | Observation | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() | |
qty-3 | error | Observation.value[x]:valueQuantity | If a code for the unit is present, the system SHALL also be present : code.empty() or system.exists() | |
sqty-1 | error | Observation.value[x]:valueQuantity | The comparator is not used on a SimpleQuantity : comparator.empty() |
This structure is derived from Observation
Summary
Mandatory: 4 elements (7 nested mandatory elements)
Must-Support: 16 elements
Prohibited: 4 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
Maturity: 2
Other representations of profile: CSV, Excel, Schematron