Soigneur FHIR Implementation Guide
0.1.0 - ci-build Germany flag

Soigneur FHIR Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Activity Group Observation

Official URL: https://fhir.soigneur.coach/fhir/StructureDefinition/cc-activity-group Version: 0.1.0
Draft as of 2026-11-14 Computable Name: CcActivityGroup

Copyright/Legal: Copyright (c) Soigneur. Licensed under CC0-1.0 (public domain dedication). FHIR(R) is the registered trademark of HL7 and is used with permission.

A ride or strength session as an Observation Activity Group (HL7 Physical Activity IG), code 73985-4, with per-metric member Observations via hasMember (04 §15.2b, ADR 0002). Anchors adherence via basedOn → CarePlan/ServiceRequest and the raw file via derivedFrom → the CcRawFileIndex DocumentReference (Binary is not a valid derivedFrom target in R4; the lineage to the raw blob is on the CcTranslationProvenance entity[source]).

Usages:

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.

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* Observation Measurements and simple assertions
Constraints: obs-6, obs-7, cc-inv-activity-group-member
Observation.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Observation.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Observation.identifier This element is included in summaries. 0..* Identifier One business id per contributing source (per-provider sid/*/activity, e.g. Garmin activityId); consolidated by cross-source dedup (04 §13.6). Internal identity is Observation.id.
Observation.status This element is a modifier element. This element is included in summaries. 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.
Observation.Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:$this
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
Observation.Slices for category.category:activity 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern:
{
  "coding" : [
    {
      "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
      "code" : "activity"
    }
  ]
}
Observation.Slices for category.category:physicalActivity 0..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/us/physical-activity/CodeSystem/pa-temporary-codes",
      "code" : "PhysicalActivity"
    }
  ]
}
Observation.code This element is included in summaries. 1..1 CodeableConcept Type of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://loinc.org",
      "code" : "73985-4"
    }
  ]
}
Observation.subject This element is included in summaries. 1..1 Reference(Patient | Group | Device | Location) Who and/or what the observation is about
Observation.effective[x] This element is included in summaries. 1..1 Period Clinically relevant time/time-period for observation
Observation.value[x] This element is included in summaries. C 0..1 CodeableConcept Actual result
Observation.note 0..* Annotation The athlete-authored activity description (e.g. a Strava/Intervals ride note) — free-text session context for the coach.
Observation.device 0..1 Reference(Device) The Device that physically recorded the session — head unit, watch, or smart trainer of any brand (hardware, not a provider ecosystem; recorded through whatever connector ingested the ride). Reference.display carries the device name so consumers need not resolve it.
Observation.hasMember This element is included in summaries. 1..* Reference(Observation | QuestionnaireResponse | MolecularSequence) Related resource that belongs to the Observation group
Observation.derivedFrom This element is included in summaries. 0..* Reference(Raw Provider File Index (DocumentReference)) The raw-file index(es) the session metrics were derived from — one per contributing source (each points at that source's Binary). Per-ride stream Observations (power trace, temperature, L/R balance, respiration, MMP curve) also reference this Activity Group via their own derivedFrom.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Observation.status Base required ObservationStatus 📍4.0.1 FHIR Std.
Observation.category Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:activity Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:physicalActivity Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.code Base example LOINC Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Beschreibung Expression
cc-inv-activity-group-member error Observation An Activity Group must reference at least one member Observation. hasMember.exists()

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* Observation Measurements and simple assertions
Constraints: cc-inv-activity-group-member
Observation.identifier 0..* Identifier One business id per contributing source (per-provider sid/*/activity, e.g. Garmin activityId); consolidated by cross-source dedup (04 §13.6). Internal identity is Observation.id.
Observation.Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:$this
Observation.Slices for category.category:activity 1..1 CodeableConcept Classification of type of observation
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
      "code" : "activity"
    }
  ]
}
Observation.Slices for category.category:physicalActivity 0..1 CodeableConcept Classification of type of observation
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/us/physical-activity/CodeSystem/pa-temporary-codes",
      "code" : "PhysicalActivity"
    }
  ]
}
Observation.code 1..1 CodeableConcept Type of observation (code / type)
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://loinc.org",
      "code" : "73985-4"
    }
  ]
}
Observation.effective[x] 1..1 Period Clinically relevant time/time-period for observation
Observation.value[x] 0..1 CodeableConcept Actual result
Observation.note 0..* Annotation The athlete-authored activity description (e.g. a Strava/Intervals ride note) — free-text session context for the coach.
Observation.device 0..1 Reference(Device) The Device that physically recorded the session — head unit, watch, or smart trainer of any brand (hardware, not a provider ecosystem; recorded through whatever connector ingested the ride). Reference.display carries the device name so consumers need not resolve it.
Observation.hasMember 1..* Reference(Observation | QuestionnaireResponse | MolecularSequence) Related resource that belongs to the Observation group
Observation.derivedFrom 0..* Reference(Raw Provider File Index (DocumentReference)) The raw-file index(es) the session metrics were derived from — one per contributing source (each points at that source's Binary). Per-ride stream Observations (power trace, temperature, L/R balance, respiration, MMP curve) also reference this Activity Group via their own derivedFrom.

doco Documentation for this format

Constraints

Id Grade Path(s) Beschreibung Expression
cc-inv-activity-group-member error Observation An Activity Group must reference at least one member Observation. hasMember.exists()
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* Observation Measurements and simple assertions
Constraints: obs-6, obs-7, cc-inv-activity-group-member
Observation.id This element is included in summaries. 0..1 id Logical id of this artifact
Observation.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Observation.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Observation.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Observation.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
Observation.contained 0..* Resource Contained, inline Resources
Observation.extension 0..* Extension Additional content defined by implementations
Observation.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Observation.identifier This element is included in summaries. 0..* Identifier One business id per contributing source (per-provider sid/*/activity, e.g. Garmin activityId); consolidated by cross-source dedup (04 §13.6). Internal identity is Observation.id.
Observation.basedOn This element is included in summaries. 0..* Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) Fulfills plan, proposal or order
Observation.partOf This element is included in summaries. 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Part of referenced event
Observation.status This element is a modifier element. This element is included in summaries. 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.
Observation.Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:$this
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
Observation.Slices for category.category:activity 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern:
{
  "coding" : [
    {
      "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
      "code" : "activity"
    }
  ]
}
Observation.Slices for category.category:physicalActivity 0..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/us/physical-activity/CodeSystem/pa-temporary-codes",
      "code" : "PhysicalActivity"
    }
  ]
}
Observation.code This element is included in summaries. 1..1 CodeableConcept Type of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://loinc.org",
      "code" : "73985-4"
    }
  ]
}
Observation.subject This element is included in summaries. 1..1 Reference(Patient | Group | Device | Location) Who and/or what the observation is about
Observation.focus This element is included in summaries. 0..* Reference(Resource) What the observation is about, when it is not about the subject of record
Observation.encounter This element is included in summaries. 0..1 Reference(Encounter) Healthcare event during which this observation is made
Observation.effective[x] This element is included in summaries. 1..1 Period Clinically relevant time/time-period for observation
Observation.issued This element is included in summaries. 0..1 instant Date/Time this version was made available
Observation.performer This element is included in summaries. 0..* Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) Who is responsible for the observation
Observation.value[x] This element is included in summaries. C 0..1 CodeableConcept Actual result
Observation.dataAbsentReason C 0..1 CodeableConcept Why the result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.note 0..* Annotation The athlete-authored activity description (e.g. a Strava/Intervals ride note) — free-text session context for the coach.
Observation.bodySite 0..1 CodeableConcept Observed body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
Observation.method 0..1 CodeableConcept How it was done
Binding: ObservationMethods (example): Methods for simple observations.
Observation.specimen 0..1 Reference(Specimen) Specimen used for this observation
Observation.device 0..1 Reference(Device) The Device that physically recorded the session — head unit, watch, or smart trainer of any brand (hardware, not a provider ecosystem; recorded through whatever connector ingested the ride). Reference.display carries the device name so consumers need not resolve it.
Observation.referenceRange C 0..* BackboneElement Provides guide for interpretation
Constraints: obs-3
Observation.referenceRange.id 0..1 string Unique id for inter-element referencing
Observation.referenceRange.extension 0..* Extension Additional content defined by implementations
Observation.referenceRange.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.referenceRange.low C 0..1 SimpleQuantity(4.0.1) Low Range, if relevant
Constraints: sqty-1
Observation.referenceRange.high C 0..1 SimpleQuantity(4.0.1) High Range, if relevant
Constraints: sqty-1
Observation.referenceRange.type 0..1 CodeableConcept Reference range qualifier
Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.
Observation.referenceRange.appliesTo 0..* CodeableConcept Reference range population
Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.
Observation.referenceRange.age 0..1 Range Applicable age range, if relevant
Observation.referenceRange.text 0..1 string Text based reference range in an observation
Observation.hasMember This element is included in summaries. 1..* Reference(Observation | QuestionnaireResponse | MolecularSequence) Related resource that belongs to the Observation group
Observation.derivedFrom This element is included in summaries. 0..* Reference(Raw Provider File Index (DocumentReference)) The raw-file index(es) the session metrics were derived from — one per contributing source (each points at that source's Binary). Per-ride stream Observations (power trace, temperature, L/R balance, respiration, MMP curve) also reference this Activity Group via their own derivedFrom.
Observation.component This element is included in summaries. 0..* BackboneElement Component results
Observation.component.id 0..1 string Unique id for inter-element referencing
Observation.component.extension 0..* Extension Additional content defined by implementations
Observation.component.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.component.code This element is included in summaries. 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Observation.component.value[x] This element is included in summaries. 0..1 Actual component result
Observation.component.value[x].valueQuantity Quantity
Observation.component.value[x].valueCodeableConcept CodeableConcept
Observation.component.value[x].valueString string
Observation.component.value[x].valueBoolean boolean
Observation.component.value[x].valueInteger integer
Observation.component.value[x].valueRange Range
Observation.component.value[x].valueRatio Ratio
Observation.component.value[x].valueSampledData SampledData
Observation.component.value[x].valueTime time
Observation.component.value[x].valueDateTime dateTime
Observation.component.value[x].valuePeriod Period
Observation.component.dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.component.interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.component.referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Observation.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Observation.status Base required ObservationStatus 📍4.0.1 FHIR Std.
Observation.category Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:activity Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:physicalActivity Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.code Base example LOINC Codes 📍4.0.1 FHIR Std.
Observation.dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.
Observation.bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
Observation.method Base example Observation Methods 📍4.0.1 FHIR Std.
Observation.referenceRange.​type Base preferred Observation Reference Range Meaning Codes 📍4.0.1 FHIR Std.
Observation.referenceRange.​appliesTo Base example Observation Reference Range Applies To Codes 📍4.0.1 FHIR Std.
Observation.component.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
Observation.component.​dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.component.​interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Beschreibung Expression
cc-inv-activity-group-member error Observation An Activity Group must reference at least one member Observation. hasMember.exists()

This structure is derived from Observation

Summary

Mandatory: 5 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Observation.category

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* Observation Measurements and simple assertions
Constraints: obs-6, obs-7, cc-inv-activity-group-member
Observation.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Observation.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Observation.identifier This element is included in summaries. 0..* Identifier One business id per contributing source (per-provider sid/*/activity, e.g. Garmin activityId); consolidated by cross-source dedup (04 §13.6). Internal identity is Observation.id.
Observation.status This element is a modifier element. This element is included in summaries. 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.
Observation.Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:$this
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
Observation.Slices for category.category:activity 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern:
{
  "coding" : [
    {
      "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
      "code" : "activity"
    }
  ]
}
Observation.Slices for category.category:physicalActivity 0..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/us/physical-activity/CodeSystem/pa-temporary-codes",
      "code" : "PhysicalActivity"
    }
  ]
}
Observation.code This element is included in summaries. 1..1 CodeableConcept Type of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://loinc.org",
      "code" : "73985-4"
    }
  ]
}
Observation.subject This element is included in summaries. 1..1 Reference(Patient | Group | Device | Location) Who and/or what the observation is about
Observation.effective[x] This element is included in summaries. 1..1 Period Clinically relevant time/time-period for observation
Observation.value[x] This element is included in summaries. C 0..1 CodeableConcept Actual result
Observation.note 0..* Annotation The athlete-authored activity description (e.g. a Strava/Intervals ride note) — free-text session context for the coach.
Observation.device 0..1 Reference(Device) The Device that physically recorded the session — head unit, watch, or smart trainer of any brand (hardware, not a provider ecosystem; recorded through whatever connector ingested the ride). Reference.display carries the device name so consumers need not resolve it.
Observation.hasMember This element is included in summaries. 1..* Reference(Observation | QuestionnaireResponse | MolecularSequence) Related resource that belongs to the Observation group
Observation.derivedFrom This element is included in summaries. 0..* Reference(Raw Provider File Index (DocumentReference)) The raw-file index(es) the session metrics were derived from — one per contributing source (each points at that source's Binary). Per-ride stream Observations (power trace, temperature, L/R balance, respiration, MMP curve) also reference this Activity Group via their own derivedFrom.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Observation.status Base required ObservationStatus 📍4.0.1 FHIR Std.
Observation.category Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:activity Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:physicalActivity Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.code Base example LOINC Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Beschreibung Expression
cc-inv-activity-group-member error Observation An Activity Group must reference at least one member Observation. hasMember.exists()

Differential View

This structure is derived from Observation

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* Observation Measurements and simple assertions
Constraints: cc-inv-activity-group-member
Observation.identifier 0..* Identifier One business id per contributing source (per-provider sid/*/activity, e.g. Garmin activityId); consolidated by cross-source dedup (04 §13.6). Internal identity is Observation.id.
Observation.Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:$this
Observation.Slices for category.category:activity 1..1 CodeableConcept Classification of type of observation
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
      "code" : "activity"
    }
  ]
}
Observation.Slices for category.category:physicalActivity 0..1 CodeableConcept Classification of type of observation
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/us/physical-activity/CodeSystem/pa-temporary-codes",
      "code" : "PhysicalActivity"
    }
  ]
}
Observation.code 1..1 CodeableConcept Type of observation (code / type)
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://loinc.org",
      "code" : "73985-4"
    }
  ]
}
Observation.subject 1..1 Reference(Patient | Group | Device | Location) Who and/or what the observation is about
Observation.effective[x] 1..1 Period Clinically relevant time/time-period for observation
Observation.value[x] 0..1 CodeableConcept Actual result
Observation.note 0..* Annotation The athlete-authored activity description (e.g. a Strava/Intervals ride note) — free-text session context for the coach.
Observation.device 0..1 Reference(Device) The Device that physically recorded the session — head unit, watch, or smart trainer of any brand (hardware, not a provider ecosystem; recorded through whatever connector ingested the ride). Reference.display carries the device name so consumers need not resolve it.
Observation.hasMember 1..* Reference(Observation | QuestionnaireResponse | MolecularSequence) Related resource that belongs to the Observation group
Observation.derivedFrom 0..* Reference(Raw Provider File Index (DocumentReference)) The raw-file index(es) the session metrics were derived from — one per contributing source (each points at that source's Binary). Per-ride stream Observations (power trace, temperature, L/R balance, respiration, MMP curve) also reference this Activity Group via their own derivedFrom.

doco Documentation for this format

Constraints

Id Grade Path(s) Beschreibung Expression
cc-inv-activity-group-member error Observation An Activity Group must reference at least one member Observation. hasMember.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Observation C 0..* Observation Measurements and simple assertions
Constraints: obs-6, obs-7, cc-inv-activity-group-member
Observation.id This element is included in summaries. 0..1 id Logical id of this artifact
Observation.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Observation.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Observation.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Observation.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
Observation.contained 0..* Resource Contained, inline Resources
Observation.extension 0..* Extension Additional content defined by implementations
Observation.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Observation.identifier This element is included in summaries. 0..* Identifier One business id per contributing source (per-provider sid/*/activity, e.g. Garmin activityId); consolidated by cross-source dedup (04 §13.6). Internal identity is Observation.id.
Observation.basedOn This element is included in summaries. 0..* Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest) Fulfills plan, proposal or order
Observation.partOf This element is included in summaries. 0..* Reference(MedicationAdministration | MedicationDispense | MedicationStatement | Procedure | Immunization | ImagingStudy) Part of referenced event
Observation.status This element is a modifier element. This element is included in summaries. 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.
Observation.Slices for category 1..* CodeableConcept Classification of type of observation
Slice: Unordered, Open by value:$this
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.
Observation.Slices for category.category:activity 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern:
{
  "coding" : [
    {
      "system" : "http://terminology.hl7.org/CodeSystem/observation-category",
      "code" : "activity"
    }
  ]
}
Observation.Slices for category.category:physicalActivity 0..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.

Required Pattern:
{
  "coding" : [
    {
      "system" : "http://hl7.org/fhir/us/physical-activity/CodeSystem/pa-temporary-codes",
      "code" : "PhysicalActivity"
    }
  ]
}
Observation.code This element is included in summaries. 1..1 CodeableConcept Type of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Required Pattern:
{
  "coding" : [
    {
      "system" : "http://loinc.org",
      "code" : "73985-4"
    }
  ]
}
Observation.subject This element is included in summaries. 1..1 Reference(Patient | Group | Device | Location) Who and/or what the observation is about
Observation.focus This element is included in summaries. 0..* Reference(Resource) What the observation is about, when it is not about the subject of record
Observation.encounter This element is included in summaries. 0..1 Reference(Encounter) Healthcare event during which this observation is made
Observation.effective[x] This element is included in summaries. 1..1 Period Clinically relevant time/time-period for observation
Observation.issued This element is included in summaries. 0..1 instant Date/Time this version was made available
Observation.performer This element is included in summaries. 0..* Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson) Who is responsible for the observation
Observation.value[x] This element is included in summaries. C 0..1 CodeableConcept Actual result
Observation.dataAbsentReason C 0..1 CodeableConcept Why the result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.note 0..* Annotation The athlete-authored activity description (e.g. a Strava/Intervals ride note) — free-text session context for the coach.
Observation.bodySite 0..1 CodeableConcept Observed body part
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
Observation.method 0..1 CodeableConcept How it was done
Binding: ObservationMethods (example): Methods for simple observations.
Observation.specimen 0..1 Reference(Specimen) Specimen used for this observation
Observation.device 0..1 Reference(Device) The Device that physically recorded the session — head unit, watch, or smart trainer of any brand (hardware, not a provider ecosystem; recorded through whatever connector ingested the ride). Reference.display carries the device name so consumers need not resolve it.
Observation.referenceRange C 0..* BackboneElement Provides guide for interpretation
Constraints: obs-3
Observation.referenceRange.id 0..1 string Unique id for inter-element referencing
Observation.referenceRange.extension 0..* Extension Additional content defined by implementations
Observation.referenceRange.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.referenceRange.low C 0..1 SimpleQuantity(4.0.1) Low Range, if relevant
Constraints: sqty-1
Observation.referenceRange.high C 0..1 SimpleQuantity(4.0.1) High Range, if relevant
Constraints: sqty-1
Observation.referenceRange.type 0..1 CodeableConcept Reference range qualifier
Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.
Observation.referenceRange.appliesTo 0..* CodeableConcept Reference range population
Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.
Observation.referenceRange.age 0..1 Range Applicable age range, if relevant
Observation.referenceRange.text 0..1 string Text based reference range in an observation
Observation.hasMember This element is included in summaries. 1..* Reference(Observation | QuestionnaireResponse | MolecularSequence) Related resource that belongs to the Observation group
Observation.derivedFrom This element is included in summaries. 0..* Reference(Raw Provider File Index (DocumentReference)) The raw-file index(es) the session metrics were derived from — one per contributing source (each points at that source's Binary). Per-ride stream Observations (power trace, temperature, L/R balance, respiration, MMP curve) also reference this Activity Group via their own derivedFrom.
Observation.component This element is included in summaries. 0..* BackboneElement Component results
Observation.component.id 0..1 string Unique id for inter-element referencing
Observation.component.extension 0..* Extension Additional content defined by implementations
Observation.component.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Observation.component.code This element is included in summaries. 1..1 CodeableConcept Type of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.
Observation.component.value[x] This element is included in summaries. 0..1 Actual component result
Observation.component.value[x].valueQuantity Quantity
Observation.component.value[x].valueCodeableConcept CodeableConcept
Observation.component.value[x].valueString string
Observation.component.value[x].valueBoolean boolean
Observation.component.value[x].valueInteger integer
Observation.component.value[x].valueRange Range
Observation.component.value[x].valueRatio Ratio
Observation.component.value[x].valueSampledData SampledData
Observation.component.value[x].valueTime time
Observation.component.value[x].valueDateTime dateTime
Observation.component.value[x].valuePeriod Period
Observation.component.dataAbsentReason C 0..1 CodeableConcept Why the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.
Observation.component.interpretation 0..* CodeableConcept High, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.
Observation.component.referenceRange 0..* See referenceRange (Observation) Provides guide for interpretation of component result

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Observation.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Observation.status Base required ObservationStatus 📍4.0.1 FHIR Std.
Observation.category Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:activity Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.category:physicalActivity Base preferred Observation Category Codes 📍4.0.1 FHIR Std.
Observation.code Base example LOINC Codes 📍4.0.1 FHIR Std.
Observation.dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.
Observation.bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
Observation.method Base example Observation Methods 📍4.0.1 FHIR Std.
Observation.referenceRange.​type Base preferred Observation Reference Range Meaning Codes 📍4.0.1 FHIR Std.
Observation.referenceRange.​appliesTo Base example Observation Reference Range Applies To Codes 📍4.0.1 FHIR Std.
Observation.component.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
Observation.component.​dataAbsentReason Base extensible DataAbsentReason 📍4.0.1 FHIR Std.
Observation.component.​interpretation Base extensible Observation Interpretation Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Beschreibung Expression
cc-inv-activity-group-member error Observation An Activity Group must reference at least one member Observation. hasMember.exists()

This structure is derived from Observation

Summary

Mandatory: 5 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Observation.category

 

Other representations of profile: CSV, Excel, Schematron