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

: Soigneur Observation Codes (cycling metrics without LOINC) - XML Representation

Active as of 2026-09-08

Raw xml | Download


<CodeSystem xmlns="http://hl7.org/fhir">
  <id value="cc-observations"/>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: CodeSystem cc-observations</b></p><a name="cc-observations"> </a><a name="hccc-observations"> </a><p>This case-sensitive code system <code>https://fhir.soigneur.coach/fhir/CodeSystem/cc-observations</code> defines the following codes:</p><table class="codes"><tr><td style="white-space:nowrap"><b>Code</b></td><td><b>Display</b></td><td><b>Definition</b></td></tr><tr><td style="white-space:nowrap">ftp<a name="cc-observations-ftp"> </a></td><td>Functional Threshold Power</td><td>Athlete-set threshold-power anchor (W).</td></tr><tr><td style="white-space:nowrap">eftp<a name="cc-observations-eftp"> </a></td><td>Estimated FTP</td><td>Ratchet-estimated FTP from the power-duration curve (W).</td></tr><tr><td style="white-space:nowrap">w-prime<a name="cc-observations-w-prime"> </a></td><td>W-prime (anaerobic work capacity)</td><td>Anaerobic work capacity above CP (J).</td></tr><tr><td style="white-space:nowrap">cp<a name="cc-observations-cp"> </a></td><td>Critical power</td><td>Morton 2-parameter critical-power estimate (W).</td></tr><tr><td style="white-space:nowrap">p-max<a name="cc-observations-p-max"> </a></td><td>Maximal aerobic power</td><td>Maximal aerobic power (W).</td></tr><tr><td style="white-space:nowrap">avg-power<a name="cc-observations-avg-power"> </a></td><td>Average power</td><td>Per-activity mean power (W).</td></tr><tr><td style="white-space:nowrap">np<a name="cc-observations-np"> </a></td><td>Weighted Power</td><td>30 s-smoothed 4th-power power (W). Internal alias: NP.</td></tr><tr><td style="white-space:nowrap">if<a name="cc-observations-if"> </a></td><td>Intensity</td><td>Weighted Power / FTP ratio. Internal alias: IF.</td></tr><tr><td style="white-space:nowrap">power-hr-model<a name="cc-observations-power-hr-model"> </a></td><td>Power-HR model</td><td>Per-athlete linear power↔HR model fitted from rides with both channels; components carry slope/intercept/R²/n/window (W per bpm).</td></tr><tr><td style="white-space:nowrap">power-hr-slope<a name="cc-observations-power-hr-slope"> </a></td><td>Power-HR model slope</td><td>Slope of the power↔HR linear fit (W per bpm).</td></tr><tr><td style="white-space:nowrap">power-hr-intercept<a name="cc-observations-power-hr-intercept"> </a></td><td>Power-HR model intercept</td><td>Intercept of the power↔HR linear fit (W).</td></tr><tr><td style="white-space:nowrap">power-hr-r2<a name="cc-observations-power-hr-r2"> </a></td><td>Power-HR model R-squared</td><td>Coefficient of determination of the power↔HR fit (0-1).</td></tr><tr><td style="white-space:nowrap">power-hr-n<a name="cc-observations-power-hr-n"> </a></td><td>Power-HR model sample count</td><td>Number of paired power+HR samples in the fit.</td></tr><tr><td style="white-space:nowrap">power-hr-window-days<a name="cc-observations-power-hr-window-days"> </a></td><td>Power-HR model window</td><td>Trailing window the fit's samples were collected over (days).</td></tr><tr><td style="white-space:nowrap">lthr<a name="cc-observations-lthr"> </a></td><td>Heart rate threshold</td><td>Athlete's lactate-threshold heart rate anchor (beats/min), from a field test or athlete acceptance (ADR 0090).</td></tr><tr><td style="white-space:nowrap">tss<a name="cc-observations-tss"> </a></td><td>Load</td><td>Per-activity training-load score. Internal alias: TSS.</td></tr><tr><td style="white-space:nowrap">ctl<a name="cc-observations-ctl"> </a></td><td>Fitness</td><td>42-day EWMA of daily Load. Internal alias: CTL.</td></tr><tr><td style="white-space:nowrap">atl<a name="cc-observations-atl"> </a></td><td>Fatigue</td><td>7-day EWMA of daily Load. Internal alias: ATL.</td></tr><tr><td style="white-space:nowrap">tsb<a name="cc-observations-tsb"> </a></td><td>Form</td><td>Fitness minus Fatigue. Internal alias: TSB.</td></tr><tr><td style="white-space:nowrap">ramp-rate<a name="cc-observations-ramp-rate"> </a></td><td>Fitness ramp rate</td><td>Change in Fitness per week.</td></tr><tr><td style="white-space:nowrap">pmc-series<a name="cc-observations-pmc-series"> </a></td><td>Load &amp; Form series</td><td>Weekly Fitness/Fatigue/Form/Load series (one Observation per ISO week, four components as valueSampledData). ADR 0059.</td></tr><tr><td style="white-space:nowrap">cadence<a name="cc-observations-cadence"> </a></td><td>Cadence</td><td>Pedalling cadence (rpm).</td></tr><tr><td style="white-space:nowrap">avg-cadence<a name="cc-observations-avg-cadence"> </a></td><td>Average cadence</td><td>Per-activity mean cadence (rpm).</td></tr><tr><td style="white-space:nowrap">distance<a name="cc-observations-distance"> </a></td><td>Distance</td><td>Per-activity distance (m).</td></tr><tr><td style="white-space:nowrap">elevation-gain<a name="cc-observations-elevation-gain"> </a></td><td>Elevation gain</td><td>Per-activity elevation gain (m).</td></tr><tr><td style="white-space:nowrap">carbs-used<a name="cc-observations-carbs-used"> </a></td><td>Carbohydrates oxidized</td><td>Estimated carbohydrate oxidation (g).</td></tr><tr><td style="white-space:nowrap">variability-index<a name="cc-observations-variability-index"> </a></td><td>Variability index</td><td>Weighted Power / average power.</td></tr><tr><td style="white-space:nowrap">decoupling-pw-hr<a name="cc-observations-decoupling-pw-hr"> </a></td><td>Pw:Hr decoupling</td><td>Aerobic decoupling: first-half vs second-half power:HR drift (%).</td></tr><tr><td style="white-space:nowrap">polarization-index<a name="cc-observations-polarization-index"> </a></td><td>Polarization index</td><td>Log-based intensity-distribution index.</td></tr><tr><td style="white-space:nowrap">efficiency-factor<a name="cc-observations-efficiency-factor"> </a></td><td>Efficiency factor</td><td>Weighted Power / average HR.</td></tr><tr><td style="white-space:nowrap">wbal-depletion-max<a name="cc-observations-wbal-depletion-max"> </a></td><td>Max W-prime balance depletion</td><td>Peak W-prime depletion over the ride (J).</td></tr><tr><td style="white-space:nowrap">lr-balance<a name="cc-observations-lr-balance"> </a></td><td>Left-right power balance</td><td>Right-side power share (%).</td></tr><tr><td style="white-space:nowrap">power-zone-time<a name="cc-observations-power-zone-time"> </a></td><td>Time in power zone</td><td>Time spent in a power zone (s), one component per zone.</td></tr><tr><td style="white-space:nowrap">hr-zone-time<a name="cc-observations-hr-zone-time"> </a></td><td>Time in heart-rate zone</td><td>Time spent in an HR zone (s), one component per zone.</td></tr><tr><td style="white-space:nowrap">temperature<a name="cc-observations-temperature"> </a></td><td>Temperature</td><td>Per-sample air temperature (°C).</td></tr><tr><td style="white-space:nowrap">respiration<a name="cc-observations-respiration"> </a></td><td>Respiration rate</td><td>Per-sample respiration rate (breaths/min).</td></tr><tr><td style="white-space:nowrap">elevation<a name="cc-observations-elevation"> </a></td><td>Elevation</td><td>Per-sample altitude/elevation (m).</td></tr><tr><td style="white-space:nowrap">speed<a name="cc-observations-speed"> </a></td><td>Speed</td><td>Per-sample speed (m/s).</td></tr><tr><td style="white-space:nowrap">position<a name="cc-observations-position"> </a></td><td>Route</td><td>Per-sample GPS position (latitude, longitude pairs, °). dimensions=2.</td></tr><tr><td style="white-space:nowrap">torque<a name="cc-observations-torque"> </a></td><td>Torque</td><td>Per-sample crank torque (N·m).</td></tr><tr><td style="white-space:nowrap">mmp<a name="cc-observations-mmp"> </a></td><td>Mean maximal power</td><td>Best mean-maximal power by duration for a ride; one component per standard duration (W).</td></tr><tr><td style="white-space:nowrap">mmp-60<a name="cc-observations-mmp-60"> </a></td><td>MMP 1 min</td><td>Best 1-minute mean power (W).</td></tr><tr><td style="white-space:nowrap">mmp-120<a name="cc-observations-mmp-120"> </a></td><td>MMP 2 min</td><td>Best 2-minute mean power (W).</td></tr><tr><td style="white-space:nowrap">mmp-180<a name="cc-observations-mmp-180"> </a></td><td>MMP 3 min</td><td>Best 3-minute mean power (W).</td></tr><tr><td style="white-space:nowrap">mmp-300<a name="cc-observations-mmp-300"> </a></td><td>MMP 5 min</td><td>Best 5-minute mean power (W).</td></tr><tr><td style="white-space:nowrap">mmp-480<a name="cc-observations-mmp-480"> </a></td><td>MMP 8 min</td><td>Best 8-minute mean power (W).</td></tr><tr><td style="white-space:nowrap">mmp-600<a name="cc-observations-mmp-600"> </a></td><td>MMP 10 min</td><td>Best 10-minute mean power (W).</td></tr><tr><td style="white-space:nowrap">mmp-720<a name="cc-observations-mmp-720"> </a></td><td>MMP 12 min</td><td>Best 12-minute mean power (W).</td></tr><tr><td style="white-space:nowrap">mmp-1200<a name="cc-observations-mmp-1200"> </a></td><td>MMP 20 min</td><td>Best 20-minute mean power (W).</td></tr><tr><td style="white-space:nowrap">mmp-1800<a name="cc-observations-mmp-1800"> </a></td><td>MMP 30 min</td><td>Best 30-minute mean power (W).</td></tr><tr><td style="white-space:nowrap">mmp-3600<a name="cc-observations-mmp-3600"> </a></td><td>MMP 60 min</td><td>Best 60-minute mean power (W).</td></tr><tr><td style="white-space:nowrap">mmp-5400<a name="cc-observations-mmp-5400"> </a></td><td>MMP 90 min</td><td>Best 90-minute mean power (W).</td></tr><tr><td style="white-space:nowrap">mmp-7200<a name="cc-observations-mmp-7200"> </a></td><td>MMP 120 min</td><td>Best 120-minute mean power (W).</td></tr><tr><td style="white-space:nowrap">mmp-9000<a name="cc-observations-mmp-9000"> </a></td><td>MMP 150 min</td><td>Best 150-minute mean power (W).</td></tr><tr><td style="white-space:nowrap">mmp-10800<a name="cc-observations-mmp-10800"> </a></td><td>MMP 180 min</td><td>Best 180-minute mean power (W).</td></tr><tr><td style="white-space:nowrap">mmp-12600<a name="cc-observations-mmp-12600"> </a></td><td>MMP 210 min</td><td>Best 210-minute mean power (W).</td></tr><tr><td style="white-space:nowrap">mmp-14400<a name="cc-observations-mmp-14400"> </a></td><td>MMP 240 min</td><td>Best 240-minute mean power (W).</td></tr><tr><td style="white-space:nowrap">mmp-16200<a name="cc-observations-mmp-16200"> </a></td><td>MMP 270 min</td><td>Best 270-minute mean power (W).</td></tr><tr><td style="white-space:nowrap">mmp-18000<a name="cc-observations-mmp-18000"> </a></td><td>MMP 300 min</td><td>Best 300-minute mean power (W).</td></tr><tr><td style="white-space:nowrap">hrv-rmssd<a name="cc-observations-hrv-rmssd"> </a></td><td>HRV rMSSD (overnight)</td><td>Overnight rMSSD (ms); no LOINC exists, method = overnight-rmssd.</td></tr><tr><td style="white-space:nowrap">body-battery-charged<a name="cc-observations-body-battery-charged"> </a></td><td>Body Battery charged</td><td>Garmin Body Battery charge gained (0-100).</td></tr><tr><td style="white-space:nowrap">body-battery-low<a name="cc-observations-body-battery-low"> </a></td><td>Body Battery low</td><td>Garmin Body Battery daily low (0-100).</td></tr><tr><td style="white-space:nowrap">body-battery-high<a name="cc-observations-body-battery-high"> </a></td><td>Body Battery high</td><td>Garmin Body Battery daily high (0-100).</td></tr><tr><td style="white-space:nowrap">body-battery-drained<a name="cc-observations-body-battery-drained"> </a></td><td>Body Battery drained</td><td>Garmin Body Battery charge drained (0-100).</td></tr><tr><td style="white-space:nowrap">body-battery-most-recent<a name="cc-observations-body-battery-most-recent"> </a></td><td>Body Battery most recent</td><td>Most recent Garmin Body Battery (0-100).</td></tr><tr><td style="white-space:nowrap">garmin-stress-avg<a name="cc-observations-garmin-stress-avg"> </a></td><td>Garmin stress (average)</td><td>Garmin all-day stress average (0-100).</td></tr><tr><td style="white-space:nowrap">garmin-stress-max<a name="cc-observations-garmin-stress-max"> </a></td><td>Garmin stress (max)</td><td>Garmin all-day stress maximum (0-100).</td></tr><tr><td style="white-space:nowrap">garmin-stress-duration<a name="cc-observations-garmin-stress-duration"> </a></td><td>Garmin stress duration</td><td>Garmin all-day stress duration (s).</td></tr><tr><td style="white-space:nowrap">garmin-sleep-score<a name="cc-observations-garmin-sleep-score"> </a></td><td>Garmin sleep score</td><td>Garmin sleep score (0-100).</td></tr><tr><td style="white-space:nowrap">sleep-score<a name="cc-observations-sleep-score"> </a></td><td>Sleep score</td><td>Source-agnostic sleep score (0-100). Garmin-ingested scores keep #garmin-sleep-score; intervals.icu and later sources use this code (ADR 0081).</td></tr><tr><td style="white-space:nowrap">garmin-hrv-status<a name="cc-observations-garmin-hrv-status"> </a></td><td>Garmin HRV status</td><td>Garmin HRV status: BALANCED / UNBALANCED / LOW / HIGH.</td></tr><tr><td style="white-space:nowrap">body-water-pct<a name="cc-observations-body-water-pct"> </a></td><td>Body water percentage</td><td>Scale-derived body water (%).</td></tr><tr><td style="white-space:nowrap">muscle-mass<a name="cc-observations-muscle-mass"> </a></td><td>Muscle mass</td><td>Scale-derived muscle mass (kg).</td></tr><tr><td style="white-space:nowrap">bone-mass<a name="cc-observations-bone-mass"> </a></td><td>Bone mass</td><td>Scale-derived bone mass (kg).</td></tr><tr><td style="white-space:nowrap">visceral-fat<a name="cc-observations-visceral-fat"> </a></td><td>Visceral fat</td><td>Scale-derived visceral-fat rating.</td></tr><tr><td style="white-space:nowrap">metabolic-age<a name="cc-observations-metabolic-age"> </a></td><td>Metabolic age</td><td>Scale-derived metabolic age (a).</td></tr><tr><td style="white-space:nowrap">training-block-review<a name="cc-observations-training-block-review"> </a></td><td>Training-block review</td><td>Composed plan-outcome verdict over a training block.</td></tr><tr><td style="white-space:nowrap">experiment-review<a name="cc-observations-experiment-review"> </a></td><td>Experiment review</td><td>Composed outcome verdict over a fueling/position/equipment experiment.</td></tr><tr><td style="white-space:nowrap">rolling-baseline<a name="cc-observations-rolling-baseline"> </a></td><td>Rolling baseline</td><td>Rolling-baseline derived value (method marker).</td></tr><tr><td style="white-space:nowrap">life-log<a name="cc-observations-life-log"> </a></td><td>Life-log event</td><td>A dated life event the coach records from chat (a new job, a crash, a stressful project) — episodic memory the timed reader returns, distinct from the physiological diary.</td></tr></table></div>
  </text>
  <url value="https://fhir.soigneur.coach/fhir/CodeSystem/cc-observations"/>
  <version value="0.1.0"/>
  <name value="CcObservations"/>
  <title value="Soigneur Observation Codes (cycling metrics without LOINC)"/>
  <status value="active"/>
  <experimental value="false"/>
  <date value="2026-09-08T13:20:35+00:00"/>
  <publisher value="Soigneur"/>
  <contact>
    <name value="Soigneur"/>
    <telecom>
      <system value="url"/>
      <value value="https://soigneur.coach"/>
    </telecom>
  </contact>
  <description
               value="Cycling / training metrics that have no LOINC concept (05 14.4). The
`Code` identifiers are internal, stable machine keys (`np`, `if`, `tss`, `ctl`, `atl`,
`tsb`, …). The `Display` strings are the trademark-safe product vocabulary (15 14.4). The
`Code` identifiers are internal, stable machine keys (`np`, `if`, `tss`, `ctl`, `atl`,
`tsb`, …). The `Display` strings are the trademark-safe product vocabulary (15 jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166"/>
      <code value="DE"/>
      <display value="Germany"/>
    </coding>
  </jurisdiction>
  <copyright
             value="Copyright (c) Soigneur. Licensed under CC0-1.0 (public domain dedication). FHIR(R) is the registered trademark of HL7 and is used with permission."/>
  <caseSensitive value="true"/>
  <content value="complete"/>
  <count value="80"/>
  <concept>
    <code value="ftp"/>
    <display value="Functional Threshold Power"/>
    <definition value="Athlete-set threshold-power anchor (W)."/>
  </concept>
  <concept>
    <code value="eftp"/>
    <display value="Estimated FTP"/>
    <definition
                value="Ratchet-estimated FTP from the power-duration curve (W)."/>
  </concept>
  <concept>
    <code value="w-prime"/>
    <display value="W-prime (anaerobic work capacity)"/>
    <definition value="Anaerobic work capacity above CP (J)."/>
  </concept>
  <concept>
    <code value="cp"/>
    <display value="Critical power"/>
    <definition value="Morton 2-parameter critical-power estimate (W)."/>
  </concept>
  <concept>
    <code value="p-max"/>
    <display value="Maximal aerobic power"/>
    <definition value="Maximal aerobic power (W)."/>
  </concept>
  <concept>
    <code value="avg-power"/>
    <display value="Average power"/>
    <definition value="Per-activity mean power (W)."/>
  </concept>
  <concept>
    <code value="np"/>
    <display value="Weighted Power"/>
    <definition
                value="30 s-smoothed 4th-power power (W). Internal alias: NP."/>
  </concept>
  <concept>
    <code value="if"/>
    <display value="Intensity"/>
    <definition value="Weighted Power / FTP ratio. Internal alias: IF."/>
  </concept>
  <concept>
    <code value="power-hr-model"/>
    <display value="Power-HR model"/>
    <definition
                value="Per-athlete linear power↔HR model fitted from rides with both channels; components carry slope/intercept/R²/n/window (W per bpm)."/>
  </concept>
  <concept>
    <code value="power-hr-slope"/>
    <display value="Power-HR model slope"/>
    <definition value="Slope of the power↔HR linear fit (W per bpm)."/>
  </concept>
  <concept>
    <code value="power-hr-intercept"/>
    <display value="Power-HR model intercept"/>
    <definition value="Intercept of the power↔HR linear fit (W)."/>
  </concept>
  <concept>
    <code value="power-hr-r2"/>
    <display value="Power-HR model R-squared"/>
    <definition
                value="Coefficient of determination of the power↔HR fit (0-1)."/>
  </concept>
  <concept>
    <code value="power-hr-n"/>
    <display value="Power-HR model sample count"/>
    <definition value="Number of paired power+HR samples in the fit."/>
  </concept>
  <concept>
    <code value="power-hr-window-days"/>
    <display value="Power-HR model window"/>
    <definition
                value="Trailing window the fit's samples were collected over (days)."/>
  </concept>
  <concept>
    <code value="lthr"/>
    <display value="Heart rate threshold"/>
    <definition
                value="Athlete's lactate-threshold heart rate anchor (beats/min), from a field test or athlete acceptance (ADR 0090)."/>
  </concept>
  <concept>
    <code value="tss"/>
    <display value="Load"/>
    <definition
                value="Per-activity training-load score. Internal alias: TSS."/>
  </concept>
  <concept>
    <code value="ctl"/>
    <display value="Fitness"/>
    <definition value="42-day EWMA of daily Load. Internal alias: CTL."/>
  </concept>
  <concept>
    <code value="atl"/>
    <display value="Fatigue"/>
    <definition value="7-day EWMA of daily Load. Internal alias: ATL."/>
  </concept>
  <concept>
    <code value="tsb"/>
    <display value="Form"/>
    <definition value="Fitness minus Fatigue. Internal alias: TSB."/>
  </concept>
  <concept>
    <code value="ramp-rate"/>
    <display value="Fitness ramp rate"/>
    <definition value="Change in Fitness per week."/>
  </concept>
  <concept>
    <code value="pmc-series"/>
    <display value="Load &amp; Form series"/>
    <definition
                value="Weekly Fitness/Fatigue/Form/Load series (one Observation per ISO week, four components as valueSampledData). ADR 0059."/>
  </concept>
  <concept>
    <code value="cadence"/>
    <display value="Cadence"/>
    <definition value="Pedalling cadence (rpm)."/>
  </concept>
  <concept>
    <code value="avg-cadence"/>
    <display value="Average cadence"/>
    <definition value="Per-activity mean cadence (rpm)."/>
  </concept>
  <concept>
    <code value="distance"/>
    <display value="Distance"/>
    <definition value="Per-activity distance (m)."/>
  </concept>
  <concept>
    <code value="elevation-gain"/>
    <display value="Elevation gain"/>
    <definition value="Per-activity elevation gain (m)."/>
  </concept>
  <concept>
    <code value="carbs-used"/>
    <display value="Carbohydrates oxidized"/>
    <definition value="Estimated carbohydrate oxidation (g)."/>
  </concept>
  <concept>
    <code value="variability-index"/>
    <display value="Variability index"/>
    <definition value="Weighted Power / average power."/>
  </concept>
  <concept>
    <code value="decoupling-pw-hr"/>
    <display value="Pw:Hr decoupling"/>
    <definition
                value="Aerobic decoupling: first-half vs second-half power:HR drift (%)."/>
  </concept>
  <concept>
    <code value="polarization-index"/>
    <display value="Polarization index"/>
    <definition value="Log-based intensity-distribution index."/>
  </concept>
  <concept>
    <code value="efficiency-factor"/>
    <display value="Efficiency factor"/>
    <definition value="Weighted Power / average HR."/>
  </concept>
  <concept>
    <code value="wbal-depletion-max"/>
    <display value="Max W-prime balance depletion"/>
    <definition value="Peak W-prime depletion over the ride (J)."/>
  </concept>
  <concept>
    <code value="lr-balance"/>
    <display value="Left-right power balance"/>
    <definition value="Right-side power share (%)."/>
  </concept>
  <concept>
    <code value="power-zone-time"/>
    <display value="Time in power zone"/>
    <definition
                value="Time spent in a power zone (s), one component per zone."/>
  </concept>
  <concept>
    <code value="hr-zone-time"/>
    <display value="Time in heart-rate zone"/>
    <definition
                value="Time spent in an HR zone (s), one component per zone."/>
  </concept>
  <concept>
    <code value="temperature"/>
    <display value="Temperature"/>
    <definition value="Per-sample air temperature (°C)."/>
  </concept>
  <concept>
    <code value="respiration"/>
    <display value="Respiration rate"/>
    <definition value="Per-sample respiration rate (breaths/min)."/>
  </concept>
  <concept>
    <code value="elevation"/>
    <display value="Elevation"/>
    <definition value="Per-sample altitude/elevation (m)."/>
  </concept>
  <concept>
    <code value="speed"/>
    <display value="Speed"/>
    <definition value="Per-sample speed (m/s)."/>
  </concept>
  <concept>
    <code value="position"/>
    <display value="Route"/>
    <definition
                value="Per-sample GPS position (latitude, longitude pairs, °). dimensions=2."/>
  </concept>
  <concept>
    <code value="torque"/>
    <display value="Torque"/>
    <definition value="Per-sample crank torque (N·m)."/>
  </concept>
  <concept>
    <code value="mmp"/>
    <display value="Mean maximal power"/>
    <definition
                value="Best mean-maximal power by duration for a ride; one component per standard duration (W)."/>
  </concept>
  <concept>
    <code value="mmp-60"/>
    <display value="MMP 1 min"/>
    <definition value="Best 1-minute mean power (W)."/>
  </concept>
  <concept>
    <code value="mmp-120"/>
    <display value="MMP 2 min"/>
    <definition value="Best 2-minute mean power (W)."/>
  </concept>
  <concept>
    <code value="mmp-180"/>
    <display value="MMP 3 min"/>
    <definition value="Best 3-minute mean power (W)."/>
  </concept>
  <concept>
    <code value="mmp-300"/>
    <display value="MMP 5 min"/>
    <definition value="Best 5-minute mean power (W)."/>
  </concept>
  <concept>
    <code value="mmp-480"/>
    <display value="MMP 8 min"/>
    <definition value="Best 8-minute mean power (W)."/>
  </concept>
  <concept>
    <code value="mmp-600"/>
    <display value="MMP 10 min"/>
    <definition value="Best 10-minute mean power (W)."/>
  </concept>
  <concept>
    <code value="mmp-720"/>
    <display value="MMP 12 min"/>
    <definition value="Best 12-minute mean power (W)."/>
  </concept>
  <concept>
    <code value="mmp-1200"/>
    <display value="MMP 20 min"/>
    <definition value="Best 20-minute mean power (W)."/>
  </concept>
  <concept>
    <code value="mmp-1800"/>
    <display value="MMP 30 min"/>
    <definition value="Best 30-minute mean power (W)."/>
  </concept>
  <concept>
    <code value="mmp-3600"/>
    <display value="MMP 60 min"/>
    <definition value="Best 60-minute mean power (W)."/>
  </concept>
  <concept>
    <code value="mmp-5400"/>
    <display value="MMP 90 min"/>
    <definition value="Best 90-minute mean power (W)."/>
  </concept>
  <concept>
    <code value="mmp-7200"/>
    <display value="MMP 120 min"/>
    <definition value="Best 120-minute mean power (W)."/>
  </concept>
  <concept>
    <code value="mmp-9000"/>
    <display value="MMP 150 min"/>
    <definition value="Best 150-minute mean power (W)."/>
  </concept>
  <concept>
    <code value="mmp-10800"/>
    <display value="MMP 180 min"/>
    <definition value="Best 180-minute mean power (W)."/>
  </concept>
  <concept>
    <code value="mmp-12600"/>
    <display value="MMP 210 min"/>
    <definition value="Best 210-minute mean power (W)."/>
  </concept>
  <concept>
    <code value="mmp-14400"/>
    <display value="MMP 240 min"/>
    <definition value="Best 240-minute mean power (W)."/>
  </concept>
  <concept>
    <code value="mmp-16200"/>
    <display value="MMP 270 min"/>
    <definition value="Best 270-minute mean power (W)."/>
  </concept>
  <concept>
    <code value="mmp-18000"/>
    <display value="MMP 300 min"/>
    <definition value="Best 300-minute mean power (W)."/>
  </concept>
  <concept>
    <code value="hrv-rmssd"/>
    <display value="HRV rMSSD (overnight)"/>
    <definition
                value="Overnight rMSSD (ms); no LOINC exists, method = overnight-rmssd."/>
  </concept>
  <concept>
    <code value="body-battery-charged"/>
    <display value="Body Battery charged"/>
    <definition value="Garmin Body Battery charge gained (0-100)."/>
  </concept>
  <concept>
    <code value="body-battery-low"/>
    <display value="Body Battery low"/>
    <definition value="Garmin Body Battery daily low (0-100)."/>
  </concept>
  <concept>
    <code value="body-battery-high"/>
    <display value="Body Battery high"/>
    <definition value="Garmin Body Battery daily high (0-100)."/>
  </concept>
  <concept>
    <code value="body-battery-drained"/>
    <display value="Body Battery drained"/>
    <definition value="Garmin Body Battery charge drained (0-100)."/>
  </concept>
  <concept>
    <code value="body-battery-most-recent"/>
    <display value="Body Battery most recent"/>
    <definition value="Most recent Garmin Body Battery (0-100)."/>
  </concept>
  <concept>
    <code value="garmin-stress-avg"/>
    <display value="Garmin stress (average)"/>
    <definition value="Garmin all-day stress average (0-100)."/>
  </concept>
  <concept>
    <code value="garmin-stress-max"/>
    <display value="Garmin stress (max)"/>
    <definition value="Garmin all-day stress maximum (0-100)."/>
  </concept>
  <concept>
    <code value="garmin-stress-duration"/>
    <display value="Garmin stress duration"/>
    <definition value="Garmin all-day stress duration (s)."/>
  </concept>
  <concept>
    <code value="garmin-sleep-score"/>
    <display value="Garmin sleep score"/>
    <definition value="Garmin sleep score (0-100)."/>
  </concept>
  <concept>
    <code value="sleep-score"/>
    <display value="Sleep score"/>
    <definition
                value="Source-agnostic sleep score (0-100). Garmin-ingested scores keep #garmin-sleep-score; intervals.icu and later sources use this code (ADR 0081)."/>
  </concept>
  <concept>
    <code value="garmin-hrv-status"/>
    <display value="Garmin HRV status"/>
    <definition
                value="Garmin HRV status: BALANCED / UNBALANCED / LOW / HIGH."/>
  </concept>
  <concept>
    <code value="body-water-pct"/>
    <display value="Body water percentage"/>
    <definition value="Scale-derived body water (%)."/>
  </concept>
  <concept>
    <code value="muscle-mass"/>
    <display value="Muscle mass"/>
    <definition value="Scale-derived muscle mass (kg)."/>
  </concept>
  <concept>
    <code value="bone-mass"/>
    <display value="Bone mass"/>
    <definition value="Scale-derived bone mass (kg)."/>
  </concept>
  <concept>
    <code value="visceral-fat"/>
    <display value="Visceral fat"/>
    <definition value="Scale-derived visceral-fat rating."/>
  </concept>
  <concept>
    <code value="metabolic-age"/>
    <display value="Metabolic age"/>
    <definition value="Scale-derived metabolic age (a)."/>
  </concept>
  <concept>
    <code value="training-block-review"/>
    <display value="Training-block review"/>
    <definition value="Composed plan-outcome verdict over a training block."/>
  </concept>
  <concept>
    <code value="experiment-review"/>
    <display value="Experiment review"/>
    <definition
                value="Composed outcome verdict over a fueling/position/equipment experiment."/>
  </concept>
  <concept>
    <code value="rolling-baseline"/>
    <display value="Rolling baseline"/>
    <definition value="Rolling-baseline derived value (method marker)."/>
  </concept>
  <concept>
    <code value="life-log"/>
    <display value="Life-log event"/>
    <definition
                value="A dated life event the coach records from chat (a new job, a crash, a stressful project) — episodic memory the timed reader returns, distinct from the physiological diary."/>
  </concept>
</CodeSystem>