Soigneur FHIR Implementation Guide
0.1.0 - ci-build
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
Contents:
This page provides a list of the FHIR artifacts defined as part of this implementation guide.
These define forms used by systems conforming to this implementation guide to capture or expose data to end users.
| Athlete profile — invariants (athlete-write-only) |
The coaching invariants: physiology constraints, structural availability, training history/overload pattern, true goals, hard preferences. Athlete-write-only; the sole trigger for a Frame Core re-derive (04 §15.1b). |
| Athlete profile — live (editable after approval) |
Fast-moving accepted values: overarching goal(s), current FTP, current 1RMs, weight target, current-phase settings, briefing time (04 §15.1b). |
| Daily log (morning readiness) |
The small fixed morning-readiness Questionnaire the two-step briefing waits on (04 15.11 / 15.11 / |
These define constraints on FHIR resources for systems conforming to this implementation guide.
| Activity Group Observation |
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/RequestGroup and the raw file via derivedFrom → Binary. |
|||
| Activity Measure Observation |
One per-metric member of an Activity Group (avg/Weighted Power, mean/max HR, cadence, Load, Intensity, decoupling, zone times, …). Code from cc-observations or LOINC exercise; linked to the group via the group's hasMember (04 §15.2b). |
|||
| Amenorrhoea / Oligomenorrhoea Condition |
Amenorrhoea (or oligomenorrhoea) as the RED-S / low-energy-availability sentinel under the female-athlete axis (C.0). SNOMED 14302001 (absent menstruation) or 56877008 (oligomenorrhoea). |
|||
| Athlete Preferences (Basic) |
The athlete's engine/scheduling tunables (15 4), referenced by 15 4), referenced by 15 |
|||
| Athlete Profile — Invariants (QuestionnaireResponse) |
The athlete-write-only invariant profile layer (04 §15.1b). Agents/skills read it, never write it; a Subscription on it is the sole Frame-Core re-derive trigger. |
|||
| Athlete Profile — Live (QuestionnaireResponse) |
The live profile layer (04 §15.1b): athlete- or skill-after-approval-writable accepted values (overarching goal, current FTP, weight target, briefing time). |
|||
| Coaching Frame — Core (Composition) |
The invariant-derived coaching policy (1-1- |
|||
| Coaching Frame — Live (Composition) |
The fast-moving overlay (11): watchlist seeds, current-phase pointer, current volume tier, standing flags, preserved patterns. Amended in place by weekly-retro / build-plan / adapt-plan; carries derivedAgainstCore → the Frame Core version it was written against (04 11): watchlist seeds, current-phase pointer, current volume tier, standing flags, preserved patterns. Amended in place by weekly-retro / build-plan / adapt-plan; carries derivedAgainstCore → the Frame Core version it was written against (04 |
|||
| Daily-log Response (QuestionnaireResponse) |
|
|||
| FTP-family Observation |
An FTP / eFTP / CP / W-prime / P-max value. |
|||
| Ferritin Observation |
Serum ferritin, the marker for the hidden-iron-deficiency sub-phenotype (C.0): a plateau/fatigue cause that mimics overreach but needs iron screening, not rest. LOINC 24373-3. |
|||
| Per-day Workout Prescription (RequestGroup) |
The instantiated per-day prescription (04 §15.4b). intent=plan; action steps reference template ActivityDefinitions and carry the target as a RELATIVE value (preferably %FTP) via the target-type/low/high extensions, resolved to watts at push time. |
|||
| Plan / Experiment Outcome (DiagnosticReport) |
Every plan ends in a DiagnosticReport — the coach's composed verdict on the block or experiment (04 §15.21, ADR 0009). basedOn → the CarePlan chain (a review can span the chain); result → the Observations that evidence the verdict; conclusion = narrative learnings. |
|||
| Soigneur Athlete (Patient) |
The athlete. Athlete-owned; the coach never writes Patient (04 §15.1). Timezone is captured at onboarding and drives athlete-local scheduling. |
|||
| Training Plan (CarePlan) |
A phase-scoped training plan (04 §15.4a, ADR 0008). intent=plan; category = a cc-plan phase; strategy/scheduling-mode/coach-managed extensions; supportingInfo → the Frame Core version it was built against. Plan chains link via replaces; each ends in a DiagnosticReport. |
|||
| Wellness Observation (per-day) |
A per-day wellness/derived metric (weight, RHR, HRV, sleep, Body Battery, or a derived Fitness/Fatigue/Form/eFTP value). category per 05 14.9; code LOINC or cc-observations; effectiveDateTime = the date (04 14.9; code LOINC or cc-observations; effectiveDateTime = the date (04 |
These define constraints on FHIR data types for systems conforming to this implementation guide.
| Athlete |
The athlete a provider Endpoint belongs to (04 §16.2). |
| Athlete timezone (IANA) |
IANA timezone captured at onboarding; drives all athlete-local scheduling (04 §15.1). |
| Briefing time (athlete-local) |
Preferred daily-briefing time, athlete-local (15 §4). |
| CNS load |
Central-nervous-system load of a template session (04 §16.2). |
| Coach-managed flag |
True when a CarePlan/Appointment is coach-managed (04 15.4c / 15.4c / |
| Derived against Frame Core version |
On the Frame Live Composition: the Frame Core version this overlay was written against, so stale overlay entries can be dropped after a re-derive (04 §15.5). |
| External planner flag |
True when an Appointment came from an external planner (04 §15.19). |
| Follow-up date |
Follow-up date on a prescription Task (04 15.20a / 15.20a / |
| Goal priority |
Per-plan goal ranking (04 16.2 / 16.2 / |
| Intensity distribution target |
Target three-zone intensity distribution as percentages (04 §16.2). Sub-extensions z1Pct/z2Pct/z3Pct. |
| Long-ride cap (minutes) |
Maximum long-ride duration in minutes (04 §16.2). |
| OAuth token reference |
Key Vault secret reference for the Endpoint's OAuth tokens — tokens live in Key Vault, never in FHIR (04 15.17 / 15.17 / |
| PMC Fatigue time constant (days) |
EWMA time constant for Fatigue; corpus default 7 d (15 §4). |
| PMC Fitness time constant (days) |
EWMA time constant for Fitness; corpus default 42 d (15 §4). |
| Per-interval deviation threshold |
Interval per-rep deviation tolerance; corpus default, individual override (15 §4). |
| Per-rep deviation threshold |
Strength per-rep deviation tolerance; corpus default, individual override (15 §4). |
| Phase sequence |
Ordered phase → weeks sequence the plan periodizes through (04 §16.2). Repeat per phase. |
| Plan strategy |
Training-intensity-distribution strategy for a CarePlan (04 §16.2). |
| Planned absence |
A known planned absence the plan schedules around (04 §16.2). Repeat per absence. |
| Provider source |
The external provider a resource originated from (04 §16.2; custom SearchParameter provider-source). |
| Readiness call |
Readiness verdict attached to a day's prescription (04 §16.2). |
| Readiness may modulate |
True when readiness is permitted to modulate this prescription (04 §16.2). |
| Recovery cadence |
Loading:recovery week cadence for a CarePlan (04 §16.2). |
| Scheduling mode |
Rigid vs flexible scheduling for a CarePlan or in the athlete's preferences (04 16.2 / 15 16.2 / 15 |
| Session class |
Workout session class on a template (04 15.13 / 15.13 / |
| Stream gap-fill window (seconds) |
Short-gap interpolation window N; engine default 5 s, rarely overridden (15 3/3/ |
| Weekly availability ceiling (hours) |
Maximum weekly training hours the athlete can commit (15 4 / 08 4 / 08 |
| Weekly volume target (hours) |
Target weekly training volume in hours (04 §16.2). |
| Workout target (high) |
Upper bound of the step target, interpreted per cc-ext-target-type (04 §15.4b). |
| Workout target (low) |
Lower bound of the step target, interpreted per cc-ext-target-type (04 §15.4b). |
| Workout target type |
Relative/absolute target type for a prescribed step (04 §15.4b). |
These define sets of codes used by systems conforming to this implementation guide.
| Adaptation level |
The six escalating adaptation levels (04 §15.4a / cc-plan). |
| CNS load |
Central-nervous-system load of a session (cc-ext:cnsLoad). |
| Coaching phase |
CarePlan phase categories (04 §15.4a). |
| Data provider |
External data providers (cc-ext:providerSource, Endpoint/Device identifiers). |
| FTP-family observation codes |
Codes carried by an FTP-family Observation (04 15.2c / 15.2c / |
| Illness tier |
Coded illness tiers an illness-type Observation may carry (04 §15.2e). |
| Menstrual disturbance |
Amenorrhoea / oligomenorrhoea as the RED-S sentinel (C.0). SNOMED. |
| Plan / experiment outcome category |
DiagnosticReport.category for plan/experiment outcomes (04 §15.21). |
| Readiness call |
Readiness verdict bands (cc-ext:readinessCall). |
| Recovery cadence |
Loading:recovery week cadence (cc-ext:recoveryCadence). |
| Scheduling mode |
Rigid vs flexible scheduling (04 §16.2 cc-ext:schedulingMode). |
| Session class |
Workout session classes (cc-ext:sessionClass on PlanDefinition/ActivityDefinition). |
| Strength movement pattern |
Strength movement patterns (05 §14.8). |
| Training-intensity-distribution strategy |
Plan strategy (04 §16.2 cc-ext:strategy). |
| Workout target type |
Relative/absolute target type for prescribed steps (04 §15.4b). |
These define new code systems used by systems conforming to this implementation guide.
| Soigneur Coaching-Frame Section Codes |
Composition.section.code for the frame Core and Live compositions (04 §15.5). Sections are referenced by title internally and never quoted to the athlete (coach-safety). |
| Soigneur Communication Categories |
Communication.category values (05 14.1, 04 14.1, 04 |
| Soigneur Document / Report Types |
Composition.type and DiagnosticReport.category values (05 14.1, 04 14.1, 04 |
| Soigneur Observation Codes (cycling metrics without LOINC) |
Cycling / training metrics that have no LOINC concept (05 14.4). The
|
| Soigneur Plan Codes |
Session class, phase, block, plan mode, scheduling mode, adaptation level, strategy, recovery cadence, and the watchlist marker (05 §14.8). |
| Soigneur Provenance Activities |
Provenance.activity values for the ingestion/authoring chain (05 14.1, 04 14.1, 04 |
| Soigneur Provider Codes |
External data-provider identifiers (05 §14.8). |
| Soigneur Strength Codes |
Movement pattern, load type, Garmin category, and equipment for strength work (05 §14.8). |
| Soigneur Subjective Scales (Hooper-style) |
Hooper-style subjective diary scales (05 §14.5). valueInteger 1-5 unless noted. |
| Soigneur Task Classes |
Task.code classes used for narrow subscription filtering and DB hygiene (05 14.1, 04 14.1, 04 |
| Soigneur Workout Prescription Codes |
Target types for prescribed workout steps. Targets are stored RELATIVE (preferably %FTP) and resolved to absolute watts at push time (04 §15.4b). |
These are example instances that show what data produced and consumed by systems conforming with this implementation guide might look like.
| Synth FTP — athlete-set |
An accepted/set FTP value; |
| Synth FTP — declined off the peak |
The accepted FTP has fallen below its earlier peak even as Fitness rises — only a test/decoupling signal reveals it. |
| Synth amenorrhoea — RED-S sentinel |
Amenorrhoea as the RED-S / low-energy-availability sentinel under the female-athlete axis (C.0). |
| Synth athlete preferences — iron exemplar |
Engine/scheduling tunables carried on a profiled Basic (15 §4). PMC time constants are eval-realism engine params, NOT coaching thresholds. |
| Synth athlete — hidden iron deficiency (female) |
SoigneurSynth exemplar for the hidden-iron-deficiency phenotype (C.0): FTP stalls while ferritin falls and overreach debt stays low — iron screening, not rest, is indicated. |
| Synth athlete — overreach decline (male) |
SoigneurSynth exemplar for the overreach trap (C.1): observable Fitness keeps rising while true FTP has already peaked and turned down under accumulating debt. |
| Synth ferritin — below the low mark |
Serum ferritin driven low under sustained load — the marker that separates the iron stall from overreach (C.0). |
| Synth prescription — per-day RequestGroup |
The instantiated per-day prescription (04 §15.4b); the step carries a RELATIVE %FTP target resolved to watts at push time. |
| Synth session measure — Load |
The session Load member of the Activity Group (cc-observations |
| Synth session — Activity Group |
A completed ride as an Observation Activity Group (73985-4) with per-metric members via hasMember (ADR 0002). |
| Synth training plan — base phase |
A phase-scoped training plan (04 §15.4a). intent=plan; strategy/scheduling extensions; ≤18-week window (cc-inv-plan-max-18wk). |
| Synth wellness — Fitness (derived) |
A per-day derived Fitness value (cc-observations |
| Synth wellness — Fitness still rising |
Observable Fitness is high and rising — the reassuring signal that masks the latent decline (the trap). |