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.
| Daily log (morning readiness) |
The small fixed morning-readiness Questionnaire the two-step briefing waits on (04 15.11 / 15.22c, ADR 0062). |
| Session assessment (post-ride) |
Post-ride self-assessment: session RPE, feel, vs-plan, optional in-ride drink/fuel answers and notes (05 §14.5, ADR 0062; the drink/fuel items are issue #610). RPE/feel are also stamped as Activity Group members; vs-plan, drink/fuel and notes stay on the QuestionnaireResponse. |
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/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]). |
|||||
| 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 Dossier (Composition) |
The athlete-owned narrative profile (ADR 0041): motivation & true goal, life context & constraints, training history & self-image, equipment, strength equipment, and communication preferences. (Health context is not held here — it lives as coded Condition/MedicationStatement and is regenerated into the profile at read.) Rendered (with the coded layer) into the coach's text profile by reconstruct_profile; amended, never silently rewritten. |
|||||
| Athlete Goal (Goal) |
The athlete's overarching / true goal captured at onboarding (ADR 0040 §1). description carries what they are really training for; category codes the goal type (competitive / endurance / general fitness); target.due[x] carries an optional target date; lifecycleStatus tracks the goal. |
|||||
| Athlete Message (Communication) |
An athlete-facing message: outbound email delivery (invitation/reminder) or an in-app coach-ask turn / chat-notice / open HITL card / hand-off kickoff divider (category cc-comm:llm-turn / chat-notice / chat-card / handoff-kickoff, ADR 0044/0116/0115). category is required; medium is email for outbound delivery and in-app for chat capture; partOf may carry an idempotency parent for email sends. |
|||||
| Athlete Watchlist (List) |
The single working watchlist of open threads the coach is tracking for an athlete (04 §15.12), keyed by cc-plan:watchlist. Each entry.item points at the resource being watched (an Observation, CarePlan, Condition, etc.). |
|||||
| Athlete-declared Allergy/Intolerance (AllergyIntolerance) |
An allergy or intolerance the athlete declares at onboarding, captured so the coach keeps fueling and supplement suggestions safe (ADR 0041). Athlete-declared: verificationStatus unconfirmed; the substance is carried as free-text code.text. |
|||||
| Athlete-declared Condition (Condition) |
A medical condition the athlete declares at onboarding. Athlete-declared, so verificationStatus is unconfirmed; the code is carried as a free-text CodeableConcept (athletes describe, they do not code). |
|||||
| Availability Block (Appointment) |
A plan-independent absence/restriction block the coach records from chat or the athlete enters manually (ADR 0071). cc-ext-availability-block marks it; cc-ext-availability-type is the reason (calendar label); cc-ext-training-impact (lock-step with core.plan Absence.category) feeds absence layering. description = short label; comment = free-text coach context. Guardrail invariant: never carries cc-ext-external-planner. |
|||||
| Body height Observation |
Athlete body height (LOINC 8302-2), captured at onboarding as an invariant physiological axis (ADR 0040 §1). |
|||||
| Body weight Observation |
Athlete body weight (LOINC 29463-7), the current-weight live value the coach tracks (ADR 0040 §1). May be captured from the daily-log QR (manual) or Garmin Connect (Index scale); both stamp the same code so a code query unions the sources (source-agnostic reads). |
|||||
| Coach Insight (DocumentReference) |
|
|||||
| Coach Note (DocumentReference) |
A point-in-time note the coach records about the athlete (ADR 0041). type is the coach-note cc-doc code; content carries the note; context.related may link the resource(s) that prompted it. |
|||||
| Coaching Frame — Core (Composition) |
The invariant-derived coaching policy (1-10): strategy, periodization, weekly schedule, recovery cadence, overload triggers, intensity distribution, fueling, FTP retest cadence, day-shift, adaptation policy. Written only by the guarded derive-frame job; re-derivation writes a new version (relatesTo=replaces prior Core). Carries cc-ext-derived-from-invariant-hash — the deterministic materiality-diff anchor (ADR 0047) — plus the byte-exact snapshot it hashes (cc-ext-derived-from-invariant-snapshot, the frame-materiality gate's old-state diff anchor, ADR 0155) and the dirty reason that triggered the write (cc-ext-derived-for-reason — the durable 'why', predicate vocabulary, ADR 0155's 2026-10-02 amendment). A hidden system artifact, never shown to the athlete (04 §15.5, ADR 0003). |
|||||
| Coaching Frame — Live (Composition) |
The fast-moving overlay (11-12): watchlist seeds, current-phase pointer, current volume tier, standing flags, preserved patterns, and the progression-bias position (ADR 0205) — the live-class current branch + evidence ledger the mechanical calibration moves, resolved against the Core's bias envelope. Amended in place by weekly-retro / build-plan / adapt-plan; carries derivedAgainstCore → the Frame Core version it was written against (04 §15.5). |
|||||
| Coaching-write Provenance (Provenance) |
The agent's mutation log (ADR 0144): one Provenance per coaching write, submitted in the same transaction as the write. target lists the changed resource(s) plus the Patient (the athlete token searches Provenance only as target=Patient); activity carries the data operation and, where one applies, the Soigneur domain activity; reason.text is the coach's one-line reason. The author is the coach agent as an identifier-only logical reference — never a literal Type/id, since no agent resource exists and a dangling literal fails referential integrity — with the serving lane and model on cc-ext-agent-context. The athlete joins as verifier (accepted a consent card) or informant (the write came from their own words). entity[source] names the conversation thread by identifier; entity[revision] references the exact prior version of an updated resource. |
|||||
| Daily-log Panel (Observation grouping) |
|
|||||
| Daily-log Response (QuestionnaireResponse) |
|
|||||
| Day Call Observation (per-day) |
|
|||||
| 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. |
|||||
| Follow-up Item (Task) |
|
|||||
| HR-threshold Observation |
A heart-rate anchor value (LTHR). |
|||||
| Ingestion / Translation Provenance (Provenance) |
Provenance for the ingestion / authoring chain (04 13 / 15.8): the activity that produced the target resource(s), the author agent that did it (a Device for coach/translator writes, the athlete for athlete writes), and — for translations — the source Binary the target derived from. |
|||||
| Lap Observation (per-segment record) |
One provider lap (manual lap or provider interval split) as a component Observation: index, type (ACTIVE/REST/lap-button), duration, moving time, and the per-lap metric values (average/max/Weighted Power, mean/max HR, cadence, distance, elevation gain) as components. Linked to its ride via derivedFrom → CcActivityGroup, never via hasMember — the group's member walk stays the per-metric surface. The session-level decoupling/efficiency members stay on the group; per-lap drift math is computed downstream from these records. ADR 0176. |
|||||
| Life-log Event (Observation) |
A dated life event the coach records from chat (ADR 0072): the free-text fact in valueString, when it happened in effectiveDateTime, optional elaboration in note. category = social-history. Read by the timed life-log reader, never charted. |
|||||
| Metric-altering Medication (MedicationStatement) |
An athlete-declared medication that alters heart rate or training response, captured at onboarding so the coach interprets HR-based metrics correctly (ADR 0040). Athlete-declared; the medication is carried as a free-text CodeableConcept (athletes name a drug, not a code). |
|||||
| Microcycle Template (PlanDefinition) |
An athlete-agnostic weekly microcycle template (04 §15.13, ADR 0048). type=workflow-definition; action[] references session ActivityDefinitions (CcWorkoutActivityDefinition) one per day, with |
|||||
| Onboarding-capture Provenance (Provenance) |
Stamps the resources written by the consent-gated onboarding transaction Bundle (ADR 0040 / ADR 0041). Its presence is the onboarding completion signal, replacing |
|||||
| Per-day Workout Prescription (ServiceRequest) |
The instantiated per-day prescription (04 §15.4b, ADR 0048). intent=plan; basedOn → CarePlan (or absent for one-off No-plan); occurrenceDateTime = absolute date; code = session class; cc-ext:stepBlock carries the %FTP-relative step grammar snapshot; cc-ext:instantiatedFrom → the source ActivityDefinition template. |
|||||
| 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. |
|||||
| Raw Provider Artifact (Binary) |
A raw artifact downloaded from a provider before translation to canonical FHIR (04 13 / 16.1). contentType records the provider payload's media type; securityContext scopes the blob to its owning Patient. Its translation lineage is carried by a CcTranslationProvenance whose entity[source] points here. |
|||||
| Raw Provider File Index (DocumentReference) |
Searchable index for a raw provider Binary (04 15.6 / 15.7). A Binary is not itself searchable (FHIR spec) and is not a valid Observation.derivedFrom target (R4), so a DocumentReference carries the discoverable metadata and points at the blob via content.attachment.url → Binary/{id}. Derived Observations (e.g. the CcActivityGroup and its sampled stream) reference THIS resource via derivedFrom; the download/translate lineage back to the raw blob is carried by the CcTranslationProvenance entity[source]. When the provider serves the original export file (e.g. the downloaded FIT), it is stored as a second Binary and indexed as a second content entry — the same document in its native format — so every raw blob is reachable over a FHIR edge (never only by id convention, issue #660). |
|||||
| Session Match Observation (athlete assertion) |
|
|||||
| Session-assessment Response (QuestionnaireResponse) |
|
|||||
| Sex Assigned At Birth Observation |
|
|||||
| Soigneur Athlete (Patient) |
The athlete. Athlete-owned, but the coach agent MAY write Patient as a mechanical, HITL-confirmed, Provenance-stamped scribe under the athlete's own compartment-scoped token — a blast-radius-1 write, no privileged worker (ADR 0040, superseding the earlier coach-never-writes-Patient guard). Timezone and the athlete-preference |
|||||
| Soigneur Onboarding / Processing Consent |
A versioned, hashed consent record captured at onboarding (ADR 0034; doc 14 4.1; 09 3/§14). Written server-side by the BFF using the athlete's own token (the athlete is the grantor). |
|||||
| Subjective Observation (diary / session self-report) |
One subjective self-report signal extracted from a daily-log or session-assessment QuestionnaireResponse (04 §15.11) — a Hooper-style score (valueInteger), an illness/vs-plan classification (valueCodeableConcept), a free-text note (valueString), or the review-declined marker (valueBoolean true, issue #491) — or captured conversationally by the coach (ADR 0093). category = survey; code from cc-subjective; QR-extracted values link the source QuestionnaireResponse via derivedFrom, coach-captured values carry note provenance instead. |
|||||
| Training Plan (CarePlan) |
A phase-scoped training plan (04 §15.4a, ADR 0008; domain per ADR 0096). intent=plan; category = a cc-plan phase; strategy/scheduling-mode/coach-managed/plan-domain extensions; supportingInfo → the Frame Core version it was built against. Plan chains link via replaces; each ends in a DiagnosticReport. The strength plan is a CcTrainingPlan with cc-ext:planDomain = strength — a separate CarePlan managed independently of the cycling plan. |
|||||
| Training-overload Episode (Condition) |
A past episode where training tipped into illness, injury or burnout, captured with timing so the coach learns the athlete's overload pattern (ADR 0041). Athlete-declared (verificationStatus unconfirmed); category marks it as an overload episode; onset[x] carries when it happened; code/note carry the detail. |
|||||
| Waist circumference Observation |
Athlete waist circumference (LOINC 56086-2), a body-composition live value the coach tracks. Captured from the daily-log QR (manual entry); Garmin does not report waist. |
|||||
| Weekly Retro (DocumentReference) |
|
|||||
| 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 15.2a/§15.2g). |
|||||
| Wellness Series Observation (per-week) |
A per-week derived-metric series (Fitness/Fatigue/Form/Load) stored as one component-based valueSampledData Observation per ISO week (04 15.2a/15.2g, ADR 0059). effectivePeriod covers the week; each component carries one metric's 7 daily samples (SampledData period = 86400000 ms = 1 day). Replaces the per-day CcWellnessObservation shape for the PMC series (52 Obs/athlete/yr vs 1460). The optional pmcSeries business identifier ( |
|||||
| Workout Debrief (DocumentReference) |
|
|||||
| Workout Template (ActivityDefinition) |
An athlete-agnostic workout template (04 §15.13, ADR 0048). kind=ServiceRequest; code = the session class; useContext carries phase / athlete_state / min_aerobic_base; relatedArtifact cites corpus topics; cc-ext:stepBlock carries the rep_block / rep_set / alternating / microbursts / progressive / lift_set / continuous grammar. Warmup/cooldown templates reference sibling ActivityDefinitions via cc-ext:warmupRef / cooldownRef (or carry cc-ext:warmupKind themselves). |
These define constraints on FHIR data types for systems conforming to this implementation guide.
| Agent context |
The serving lane and model that produced a coaching write, carried on the agent entry of a CcAgentProvenance (ADR 0144). Non-PHI audit facts: the coach agent itself is an identifier-only logical reference (there is no agent resource on the server), so this is where the audit trail records which skill and which model made the change. |
||
| Athlete |
The athlete a provider Endpoint belongs to (04 §16.2). |
||
| Athlete home location |
Where the athlete lives — city and/or postal code plus ISO 3166-1 alpha-2 country, with the offline-resolved label, centroid coordinates (4 decimals, ~11 m — the same precision cap MET Norway enforces on forecast queries; never a GPS position) and the resolved IANA timezone. Coach-memorized from conversation, the optional onboarding question, or the settings editor (ADR 0100); drives the local weather guidance (02 G.3, issue #252). Geocoding is offline (vendored GeoNames data, ADR 0100) — location strings never egress. At least one of postalCode / city must be present. Live-class: never dirties Frame Core (ADR 0040 6). |
||
| Athlete timezone (IANA) |
IANA timezone captured at onboarding; drives all athlete-local scheduling (04 §15.1). |
||
| Availability-block flag |
True on an Appointment that is a plan-independent availability/absence block (ADR 0071), NOT an external-planner training session. The hard guardrail that keeps availability blocks out of the plan-mode external-plan signal (cc-ext-external-planner). |
||
| Availability-block type |
Why the availability block exists — drives the calendar label (ADR 0071). |
||
| Average temperature (°C) |
Ride-average air temperature in degrees Celsius, stamped on the Activity Group for the FTP estimator's heat-exclusion check (above 28°C disarms heat-affected rides). The 1 Hz temperature stream is a separate SampledData Observation for intra-ride heat analysis; this scalar is the fast-access summary. |
||
| Briefing time (athlete-local) |
Preferred daily-briefing time, athlete-local (ADR 0040 1 / 15 4). |
||
| CNS load |
Central-nervous-system load of a template session (04 §16.2). |
||
| Chat message role |
Who authored this in-app Communication payload — athlete, coach, or system notice (ADR 0044). |
||
| Coach-managed flag |
True when a CarePlan/Appointment is coach-managed (04 15.4c / 16.2; custom SearchParameter coach-managed). |
||
| Committed training day |
A weekday the athlete committed to (declared fixed day or an athlete-agreed addition from the build conversation). Cycling prescriptions may only land on committed days (ADR 0122). |
||
| Communication register |
Technicality of the coach's language at constant explanatory depth — plain / intermediate / technical (ADR 0038 / ADR 0040 §1). Storage home moved from the retired invariant QR to this Patient extension. |
||
| Consent text version + hash |
The exact consent text shown to the athlete, captured on each Consent (ADR 0034; 09 §14): a human-readable version label, the date that policy version took effect, and the SHA-256 hash of the rendered text (item 3 folds in the wellness-popup content hash). A changed version/hash re-prompts the item on next login; the effective date + Consent.policy (url#version) record which policy the athlete accepted. |
||
| Content hash |
SHA-256 of the resource content (excluding server-managed meta fields and the hash carrier), stamped by ingress pipelines on every write so re-runs can skip unchanged resources (ADR 0055, as revised). Carried in meta.extension because a meta.tag display is not round-trip-safe on FHIR servers that normalize tag displays (fire-arrow-server issue #713). |
||
| Continuation credit |
The executed bank this successor took from its mid-flight-superseded predecessor (ADR 0198): per-phase executed and credited weeks, the carried ramp position, the measurement basis, and the athlete's fresh-start override. Server-derived from the record (measured time-in-zone), documented once at commit — never a model input. |
||
| Cooldown template reference |
Reference to the cooldown ActivityDefinition a workout template ends with (04 §15.13). |
||
| Debrief next decision |
The scheduling decision a reviewed session led to — the second half of the debrief lead the coach call card renders above the debrief (ADR 0130 amendment 2026-09-25, ADR 0142). Since ADR 0144 a Reference to the CcDayCall the review wrote or confirmed (the single record of that day's decision): readers render the call as it stands and mark it updated when its meta.lastUpdated is later than the debrief's date (time, not version — servers strip versions from stored references). A valueString is the legacy frozen form (debriefs filed before ADR 0144), still readable. The headline rides DocumentReference.description. |
||
| Debrief takeaway |
The lesson a reviewed session carries forward ("pace the first climb lower next time") — immutable historical text on the debrief, labelled as a takeaway and never a scheduling decision (ADR 0144). Scheduling decisions live on the referenced CcDayCall. |
||
| Default workout mode |
The athlete's default workout locus for push rendering (ADR 0186 §4b): indoor (default when absent) → the power variant always; outdoor → the power variant when a bike power meter is declared, the HR variant otherwise. Read by the push worker; written by the athlete (web). Scheduling is unaffected (prescriptions are always scheduled indoor, ADR 0048/0049). |
||
| 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). |
||
| Distance units |
The athlete's distance axis (ADR 0219): kilometres (default) or miles for narration and display. The axis cascades: mi also renders speed as mph and elevation as ft; km renders km/h and m. Storage is unaffected — distances stay metres (UCUM m) on record. |
||
| External planner flag |
True when an Appointment came from an external planner (04 §15.19). |
||
| Fixed training day |
A day of the week the athlete can reliably train; repeats once per fixed day (ADR 0040 1 / 15 4). |
||
| Follow-up date |
The date a follow-up Task is next due — the day the coach should re-ask/resolve it. Carried on prescription Tasks (04 §15.20a) and on tentative-signal follow-up Tasks (cc-task#follow-up, ADR 0080). |
||
| Follow-up scope |
The shape a tentative-signal follow-up Task is scoped to (issue #638, amending ADR 0080): a |
||
| Follow-up situation link |
The CcAvailabilityBlock Appointment a tentative-signal follow-up Task was BORN from (ADR 0080's situational amendment): a |
||
| Goal priority |
Per-plan goal ranking (04 16.2 / 15.5 — goalPriority lives on the plan, not the frame). Repeat per goal. |
||
| HRmax anchor (athlete-confirmed) |
The athlete's confirmed HRmax in bpm; the live anchor the Frame Live HR caps (HRmax × percentage) are derived from. Live-class — never dirties Frame Core (ADR 0040 6); the Live HR caps recompute when it moves (ADR 0047 3). |
||
| Has chest HR strap |
The athlete owns a chest-strap HR monitor (≈ ECG-grade). A quality tier marker — strap HR is trusted for interval-average audits where wrist-optical smoothing is not (ADR 0090, corpus coaching-without-power). |
||
| Has head unit |
The athlete rides with a head unit — a handlebar display unit, structured workout targets visible while riding. |
||
| Has indoor trainer |
The athlete has an indoor trainer — a smart trainer, controlled-environment indoor riding with erg-mode power. |
||
| Has power meter |
The athlete trains with a power meter on the bike(s) the plan covers (ADR 0090). When false/absent, prescriptions use the HR/RPE vocabulary and Load uses the hr-model/hr rungs. |
||
| Has sports watch |
The athlete has a sports watch recording workout HR (the equipment-floor device, ADR 0090). Typically the connected-platform data source for workouts + wellness. |
||
| Indoor activity flag |
True when the activity was performed indoors (trainer/controlled environment). Stamped on the Activity Group so the FTP estimator can select indoor rides for the Morton CP model without re-reading the raw stream. |
||
| Insight confidence rung |
The ratcheting confidence rung the weekly consolidation job reinforces as an insight recurs (ADR 0070). Low-confidence stale insights are de-prioritised in injection — never deleted. |
||
| Insight last reinforced |
The last time the consolidation job (or a write-time capture) reinforced this insight — the decay anchor (ADR 0070). |
||
| Instantiated from template |
The ActivityDefinition template a per-day ServiceRequest prescription was built from (provenance only — the prescription is a durable snapshot, not a live reference; 04 §15.4b, ADR 0048). |
||
| Intensity distribution target |
Target three-zone intensity distribution as percentages (04 §16.2). Sub-extensions z1Pct/z2Pct/z3Pct. |
||
| Intervals push fingerprint |
SHA-256 of the last Intervals.icu events/bulk upsert body for this ServiceRequest (ADR 0081 write-back echo). The plan-push worker skips the live Intervals call when the fingerprint still matches. Carried in meta.extension — same round-trip rationale as cc-ext-content-hash (ADR 0055 revision). |
||
| Invariant snapshot (canonical JSON) this Frame Core was derived from |
On the Frame Core Composition: the canonical JSON serialization of the invariant-class snapshot this Core was derived from (or was adopted against, per the frame-adopted Provenance) — the byte-exact old state for the frame-materiality gate's old-vs-new diff (ADR 0155). The SHA-256 over this exact payload is the cc-ext-derived-from-invariant-hash value, so the two stamps can never disagree. |
||
| Invariant snapshot hash this Frame Core was derived from |
On the Frame Core Composition: the SHA-256 content hash of the invariant-class snapshot this Core was derived from — the deterministic materiality-diff anchor (ADR 0047). A live-class edit that bumps Patient.meta.lastUpdated without changing invariant content leaves this hash unchanged, so the lazy re-derive predicate collapses it to a no-op rather than re-running the expensive Opus derive. |
||
| LLM usage |
Billed OpenRouter usage that produced this coach Communication — model slug, token counts, USD cost, and per-generation children (ADR 0088). Absent on athlete turns and chat-notices. |
||
| Load source |
How a per-activity Load ( |
||
| Long-ride cap (minutes) |
Maximum long-ride duration in minutes (04 §16.2). |
||
| Nutrition prescription scope |
|
||
| Nutrition routine slot |
The routine slot a fueling prescription lives in — morning, pre-ride, in-ride, post-ride or general-diet. One standing order per slot (the upsert's identity half); a multi-slot routine is one order per slot. |
||
| OAuth token reference |
Key Vault secret reference for the Endpoint's OAuth tokens — tokens live in Key Vault, never in FHIR (04 15.17 / 16.2). |
||
| One-off valid until |
The athlete-local target day a single-scope prescription is for — it is live through the end of this day, after which the read-side liveness predicate acknowledges it as past advice (no housekeeping write, status stays active). Absent on standing orders. |
||
| Open day (flexible mode) |
A weekday marked loadable but never prescribed — flexible scheduling's open canvas. The briefing/ask suggestions and the athlete's spontaneous volume fill it; the plan itself carries no prescription for it (ADR 0122). |
||
| Per-channel data source |
The per-connection enabled-channel set: binds one data-sync channel to the ecosystem serving it, repeating once per enabled channel (ADR 0041, as amended by ADR 0112 and narrowed by ADR 0237). |
||
| Phase sequence |
Ordered phase → weeks sequence the plan periodizes through (04 §16.2). Repeat per phase. Each occurrence may carry that phase's weekly volume target (hours/week) and its per-phase recovery-cadence override (issue #704/A-7: a VO2max-heavy build narrowed to 2:1, a pure-Z2 base widened to 4:1 — absent keeps the plan-level cc-ext:recoveryCadence). |
||
| Plan authority (tri-state) |
Who owns the plan — coach-authored / watch-external / no-plan (ADR 0022 / ADR 0040 §1). The athlete's explicit declaration is the enforced override of the watch-external evidence signal in the plan-mode classifier: |
||
| Plan strategy |
Training-intensity-distribution strategy for a CarePlan (04 §16.2). |
||
| Plan week grid |
The plan's laid week grid (ADR 0236): one occurrence per plan week, stamped by the cycling plan writer from the construction grid — the build-time build/recovery/taper assignment. Absence-driven week conversions are not derivable from the cadence alone, so the grid is the truth consumers (the plan overview's week strip) read; a plan written before the stamp has none and consumers may derive a best-effort grid from period + phaseSequence + recoveryCadence, never present it as the laid truth. Absent on strength plans (no cadence grid) and legacy cycling plans. |
||
| Planned absence |
A known planned absence the plan schedules around (04 §16.2). Repeat per absence. |
||
| Primary discipline |
The athlete's primary cycling discipline (ADR 0040 1 / 15 4). |
||
| 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, ADR 0048). Carried on the per-day ServiceRequest. |
||
| Readiness may modulate |
True when readiness is permitted to modulate this prescription (04 §16.2, ADR 0048). Carried on the per-day ServiceRequest. |
||
| Recovery cadence |
Loading:recovery week cadence for a CarePlan (04 §16.2). |
||
| Resting heart rate (athlete-declared) |
The athlete's declared resting heart rate in bpm — a one-time protocol measurement, the lowest-priority rung of the TRIMP resting-HR anchor ladder (ADR 0181): used only while the recorded trailing median is immature (< 7 distinct final RHR days). Never a §5 baseline input, never a wellness Observation. Absent = not declared. |
||
| Scheduling mode |
Rigid vs flexible scheduling for a CarePlan or in the athlete's preferences (04 16.2 / 15 4). On Patient it is an athlete-owned preference (ADR 0040 §1). |
||
| Session class |
Workout session class on a template ActivityDefinition (04 15.13 / 16.2; custom SearchParameter session-class). |
||
| Session purpose |
The coaching intent a session exists for (ADR 0236): authored on the session template, copied onto the prescription snapshot. Content in data — never generated per prescription. |
||
| Strength-training equipment inventory |
The athlete's available strength-training equipment as structured flags (ADR 0171): the planner designs the strength plan against this inventory, from 'confirmed none' (present with zero flags — the bodyweight floor, issue #415) to a fully equipped gym. The extension's ABSENCE means never declared — the build lane asks once, never guesses. Provenance travels with the flags: how they came to be (athlete-declared / classified from the athlete's words / the commercial-gym default applied to an unconfirmed 'gym' answer — an assumption never reads as a declaration), the source text, confidence, and when it was derived. Replaced whole on every write (full-state). |
||
| TRIMP anchor snapshot |
The exact HR-anchor inputs a TRIMP-sourced Load ( |
||
| Target variant (per-prescription executed-track override) |
Per-prescription override selecting which dual target track renders (ADR 0190 / ADR 0223): target-variant-hr renders the HR twins on the connected-platform push, the web viewer, and the player; target-variant-power restores the primary power track. Absent falls back to the derived default (the workout-mode locus against the bike power-meter declaration). Cycling prescriptions only. |
||
| Temperature units |
The athlete's temperature axis (ADR 0219): Celsius (default) or Fahrenheit — the unit weather and body observations are narrated in. Stored temperatures stay Celsius; conversion happens only at narration/display, server-side, never in model prose. |
||
| Training age |
Structured-training experience band — new / developing / experienced (ADR 0040 1 / 15 4). |
||
| Training impact |
How the availability block affects training; lock-step with core.plan Absence.category so blocks feed layer_absences (ADR 0071). |
||
| Training plan domain |
The training domain a CarePlan belongs to (ADR 0096): cycling or strength. Strength is a separate plan managed independently — plan authority (ADR 0022) is scoped per domain. Absent on legacy plans (read as cycling). |
||
| Warmup / cooldown kind |
Marks an ActivityDefinition as a warmup or a cooldown (04 §15.13, ADR 0048). |
||
| Warmup template reference |
Reference to the warmup ActivityDefinition a workout template starts with (04 §15.13). |
||
| Weekly hours budget (planned load) |
The athlete's stated weekly-hours budget the plan planned against at build time (planned load, ADR 0122/0126) — the availability ceiling as build-time reconciliation context. Delivery verdicts measure executed volume against the PRESCRIBED volume, never this ceiling (ADR 0128 amendment 2026-10-09). |
||
| Weekly training hours |
Typical weekly training hours the athlete commits — the availability ceiling scheduling plans against (ADR 0040 1 / 15 4 / 08 §M.5). |
||
| Weekly volume target (hours) |
Target weekly training volume in hours (04 §16.2). |
||
| Weight units |
The athlete's body-weight axis (ADR 0219): kilograms (default) or pounds — the unit weight is asked, entered and narrated in. A manual entry in pounds is STORED in pounds (UCUM [lb_av]); readers convert to kilograms only where a computation needs them (per-bodyweight fuelling math, W/kg), never at ingest. |
||
| Why this Frame Core was (re)derived or adopted |
On the Frame Core Composition: the durable answer to 'why did the frame update?' — the lazy predicate's dirty reason that triggered the write (derive:no_core, derive:invariant_content_changed, derive:invariant_newer_material, derive:core_age_exceeds_window, derive:narrated_anchor_stale) or, for a materiality-gate adoption (ADR 0155), the reason judged immaterial (adopt:<dirty-reason>). Nothing else on the record answers the question — the Composition's own date says when, never why. |
||
| Workout mode (per-prescription locus override) |
Per-prescription push-rendering locus override (ADR 0186 §4b): workout-mode-indoor / workout-mode-outdoor force that locus for this prescription — indoor renders the power variant always; outdoor renders the power variant when a bike power meter is declared, the HR variant otherwise. Absent falls back to the athlete's default workout mode. Cycling prescriptions only. |
||
| Workout step block |
One step of a workout template or prescription, encoding the rep_block / rep_set / alternating / microbursts / progressive / lift_set / continuous grammar (04 §15.13, ADR 0048). Targets are stored relative — one power track and one optional HR track per target-bearing piece (ADR 0190) — and resolved to watts at push time. |
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). |
| Athlete communication category |
Communication.category for athlete-facing messages (04 §15.22, ADR 0046/0062). Excludes the in-app medium code. Headers carry conversation-header plus a thread-* kind. |
| Athlete goal type |
What the athlete is training toward (ADR 0040 §1 — CcAthleteGoal.category). |
| Availability-block type |
Why an availability block exists — drives the calendar label (ADR 0071). Extends the core.plan Absence.type vocabulary with illness/injury/work/equipment reasons. |
| CNS load |
Central-nervous-system load of a session (cc-ext:cnsLoad). |
| Coach-insight category |
The kind of durable thing the coach learned about the athlete (ADR 0070; strategy-hypothesis per ADR 0228). |
| Coach-insight confidence rung |
Ratcheting confidence the weekly consolidation job reinforces as an insight recurs (ADR 0070). |
| Coaching phase |
CarePlan phase categories (04 §15.4a). |
| Coaching-write data operations |
The v3 DataOperation codes a CcAgentProvenance records (ADR 0144). |
| Communication register |
Technicality of the coach's language at constant depth (ADR 0038 cc-ext:communicationRegister). |
| Data provider |
External data providers (cc-ext:providerSource, Endpoint/Device identifiers). |
| Data-sync channel |
What is synced with a connected ecosystem (ADR 0041 cc-ext:dataChannel) — inbound data types plus the outbound plan push. Extensible — see the cc-data-channel CodeSystem. |
| Day-call verdicts |
The values a day-call Observation may carry (ADR 0086 amendment). |
| Default workout mode |
The athlete's default push-rendering locus (ADR 0186 §4b / issue #839): indoor renders the power variant always (trainer execution implies trainer power); outdoor renders power iff a bike power meter is declared, HR otherwise (ADR 0090's equipment floor). Absent extension = indoor. |
| Distance units |
The athlete's distance axis (ADR 0219 cc-ext:units-distance): how distances are narrated and displayed; cascades to speed (km/h vs mph) and elevation (m vs ft). Absent extension = km. |
| FTP-family observation codes |
Codes carried by an FTP-family Observation (04 15.2c / 16.1). |
| HR-threshold observation codes |
Codes carried by an HR-threshold Observation (ADR 0090). Extensible — e.g. a VT1 anchor may join later. |
| Illness tier |
Coded illness tiers an illness-type Observation may carry (04 §15.2e). |
| In-app chat message role |
Communication.cc-ext-message-role values (ADR 0044). |
| Lap step class |
What a lap_button stepBlock actually is — the localized render label (ADR 0174; maps onto FIT workout_step intensity warm_up / cool_down). |
| 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). |
| Plan authority (tri-state) |
Who owns the plan — coach-authored / watch-external / no-plan (ADR 0022 / ADR 0040 §1 cc-ext:planAuthority). Reuses the cc-plan plan-mode codes. |
| Plan week kind |
The laid week's role in the load/recovery cadence (cc-ext:planWeekGrid sub-extension |
| Primary discipline |
Primary cycling discipline (ADR 0040 §1 cc-ext:discipline). |
| Provenance activity |
Provenance.activity for the ingestion / authoring chain (04 13 / 15.8). |
| 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). |
| Session purpose |
The coaching intent a session exists for (cc-ext:sessionPurpose on ActivityDefinition + ServiceRequest, ADR 0236) — authored session-library content stamped onto each prescription snapshot. |
| Soigneur Load-source Value Set |
Allowed values for cc-ext-load-source. |
| Soigneur Nutrition Prescription Scope |
The fueling-prescription scopes (standing / single). |
| Soigneur consent type |
Consent.category for the onboarding/processing consents (ADR 0034). |
| Strength exercise origin |
How a strength step's exercise entered the record (ADR 0173's tiered ad-hoc contract, #740 phase 4): curated (the hand-authored catalog layer), adhoc-in-pack (an uncurated library movement — the vendor's base text + animation), or adhoc-authored (out-of-pack — the coach authored the full WHAT+HOW at the write seam). |
| Strength movement pattern |
Strength movement patterns (05 §14.8). |
| Strength-equipment basis |
How the recorded inventory came to be (ADR 0171 cc-ext-strength-equipment.basis) — an assumption (the commercial-gym default on an unconfirmed 'gym' answer) never reads as a declaration. |
| Strength-training equipment |
The closed vocabulary of strength-training equipment kinds the athlete can have available (ADR 0171 cc-ext-strength-equipment.flags). The empty set is 'confirmed none' — the bodyweight floor (issue #415); the extension's absence is 'never declared' (the build lane asks once, never guesses). |
| Supported data-source ecosystem |
The training-data ecosystem serving a channel (ADR 0041 cc-ext:dataSource.source). Extensible — see the cc-data-source CodeSystem. 'No connected platform' is the absence of a binding, not a member. |
| Target variant (per-prescription override) |
The per-prescription executed-target-track override (ADR 0223 / ADR 0190 amendment): target-variant-hr renders the HR twins, target-variant-power the primary power track — on the connected-platform push, the web viewer, and the player. Absent extension = the derived default (the workout-mode locus against the bike power-meter declaration). Cycling prescriptions only. |
| Temperature units |
The athlete's temperature axis (ADR 0219 cc-ext:units-temperature): the unit weather and body observations are narrated in. Stored temperatures stay Celsius; conversion happens only at narration/display. Absent extension = Celsius. |
| Training age |
Structured-training experience band (ADR 0040 §1 cc-ext:trainingAge). |
| Training impact of an availability block |
How an availability block affects training — lock-step with core.plan.plan_construction.Absence.category so blocks feed layer_absences directly (ADR 0071). |
| Training plan domain |
The training domain a CarePlan belongs to (cc-ext:planDomain, ADR 0096). |
| Training-intensity-distribution strategy |
Plan strategy (04 §16.2 cc-ext:strategy). |
| Warmup / cooldown kind |
Marks an ActivityDefinition as a warmup or a cooldown (04 §15.13, ADR 0048). |
| Weight units |
The athlete's body-weight axis (ADR 0219 cc-ext:units-weight): the unit weight is asked, entered and narrated in. The stored Observation keeps its source UCUM unit (kg or [lb_av]); conversion happens only where a computation needs kilograms. Absent extension = kg. |
| Workout step kind |
The step grammar encoded in cc-ext:stepBlock (04 §15.13, ADR 0048). |
| Workout target type |
Relative/absolute target type for prescribed steps (04 §15.4b, ADR 0090: HR/RPE target types are the prescription vocabulary for no-power athletes). |
These define new code systems used by systems conforming to this implementation guide.
| In-app chat message role |
Who authored an in-app Communication payload (ADR 0044). |
| Soigneur Athlete Profile Codes |
Coded athlete-profile preferences carried on Patient extensions (ADR 0040 §1 / ADR 0041): primary discipline, training age, communication register. |
| Soigneur Athlete-Dossier Section Codes |
Composition.section.code for the athlete dossier — the athlete-owned narrative profile (ADR 0041). Distinct from cc-frame-section, which codes the hidden coach-derived frame Composition. |
| Soigneur Availability / Absence Codes |
Availability-block type (why) and training-impact (how) codes for CcAvailabilityBlock Appointments (ADR 0071, issue #114). The impact codes mirror core.plan.plan_construction.Absence.category. |
| Soigneur Coach-Insight Codes |
Durable coach-insight category + confidence codes (ADR 0070). Category classifies the kind of learned thing; confidence is the ratcheting certainty rung the consolidation job reinforces over time. |
| 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 15.22). |
| Soigneur Consent Types |
Consent.category values for the onboarding/processing consents (ADR 0034; 09 3/14). Terms of Service + Privacy Policy are independent acknowledgements (each versions + re-prompts on its own); health-data-processing + wellness-scope are the blocking Art. 9 gate (a single all-or-nothing consent — no separate background-processing opt-in). internal-data-processing is an optional, non-blocking secondary-purpose consent (internal product improvement) whose permit/deny is recorded either way. weekly-retro-email is an optional, non-blocking channel consent (ADR 0207): whether the weekly coach review is delivered to the athlete's email address — recorded as permit or deny either way, latest record wins, never an existence check. |
| Soigneur Data-Sync Channels |
What Soigneur syncs with a connected ecosystem, and in which direction — inbound data types (completed workouts, wellness, sleep) and the outbound plan push. ADR 0237 narrowed the runtime binding surface to |
| Soigneur Day Call Codes |
The briefing's day-call verdicts (train / abstain), carried in Observation.valueCodeableConcept (ADR 0086 amendment). |
| Soigneur Document / Report Types |
Composition.type and DiagnosticReport.category values (05 14.1, 04 15.5/§15.21). |
| Soigneur Internal Meta Tags |
Internal meta-tag codes stamped on FHIR resources by Soigneur ingress pipelines. These are machine-managed tags (not user-facing) that support ingress idempotency and provenance. The codes are display-less markers: the per-resource VALUES ride in the cc-ext-content-hash / cc-ext-icu-push-hash meta extensions, because a value in a tag's display is not round-trip-safe — FHIR R4 fixes tag identity at system+code and lets servers merge tag displays on update (fire-arrow-server issue #713; ADR 0055 as revised). |
| Soigneur Load-source Codes |
How a per-activity Load ( |
| Soigneur Nutrition Prescription Scope Codes |
The fueling-prescription scopes (standing / single), carried in cc-ext-nutrition-scope (ADR 0098 amendment). |
| 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 13/§15.8). |
| 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 Supported Data-Source Ecosystems |
The external training-data ecosystems Soigneur can sync an athlete's data with (Garmin founder/dev CLI; intervals.icu production OAuth — ADR 0081; later Polar/Wahoo as workout+plan targets, Fitbit/Apple/Google as wellness/sleep sources). The per-channel cc-ext-data-source Patient extension binds each channel to one of these; 'no connected platform' is the absence of a binding, not a code. Mirrored by the agent-side registry in agent.data_sources. |
| Soigneur Task Classes |
Task.code classes used for narrow subscription filtering and DB hygiene (05 14.1, 04 15.20a). Subscriptions filter on Task?code={code}&status={status}, never a bare status. |
| Soigneur Units Preference Codes |
Measurement-unit preference axes carried on Patient extensions (ADR 0219): distance (km / mi), weight (kg / lb), temperature (Celsius / Fahrenheit). Three INDEPENDENT axes, deliberately not one metric/imperial switch — the hybrid athlete (miles on the road, kilograms on the scale, Celsius in the weather) is the realistic case a bundled toggle cannot express. Absent extension on every axis means the metric default; storage is never affected (source units are kept, conversion happens only where a computation or a narration needs the other unit). |
| 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 define identifier and/or code system identities used by systems conforming to this implementation guide.
| sid-activity |
Optional Soigneur-issued internal UID for a consolidated Activity Group. The Observation.id is the primary internal handle; this system is available when a stable business UID is also wanted (04 §13.6). |
| sid-agent |
The coach agent's logical identity (ADR 0144) — value |
| sid-conversation |
AG-UI thread id for an in-app coach-ask conversation. Carried on Communication.identifier so the UI can hydrate a transcript by thread (ADR 0044). |
| sid-conversation-header |
Idempotency key for one conversation-header Communication — value form |
| sid-conversation-summary |
Idempotency key for one conversation-summary Communication — value form |
| sid-daily-briefing |
One daily-readiness-briefing thread per athlete per date — value form |
| sid-daily-log |
One daily-log QuestionnaireResponse per athlete per date — value form |
| sid-day-call |
One CcDayCall Observation per athlete per athlete-local day — value form |
| sid-debrief |
One workout debrief per Activity Group — value form |
| sid-garmin-activity |
Garmin |
| sid-garmin-scheduled-workout |
Garmin scheduled-workout event id written to CarePlan.identifier on outbound workout push (04 §18.2). |
| sid-garmin-summary |
Garmin Health API |
| sid-intervals-icu-activity |
intervals.icu activity id. A second activity source; an intervals.icu record may itself carry an upstream Garmin activityId (circular sharing), which is the preferred cross-source dedup match key (04 §13.6). |
| sid-intervals-icu-scheduled-workout |
intervals.icu calendar event id written to Appointment.identifier on inbound watch-external entries and to ServiceRequest.identifier on outbound plan push ( |
| sid-llm-turn |
Idempotency key for one captured in-app chat Communication — value form |
| sid-pmc-series |
One weekly CcWellnessSeriesObservation per athlete per ISO week — value form |
| sid-session-assessment |
One session-assessment QuestionnaireResponse per activity — value form |
| sid-session-match |
One CcSessionMatch Observation per athlete per athlete-local day per prescription — value form |
| sid-soigneur-player-activity |
The workout player's own recorded-session id (ADR 0186 5): the UUID the web BFF mints per uploaded recording. Used on CcActivityGroup.identifier and as the CcRawFileIndex.masterIdentifier of the raw FIT artifact — same UUID, same ride (exact-match cross-source dedup, 04 13.6); a re-translated recording upserts in place. |
| sid-workout-review |
One workout-review thread per Activity Group — value form |
These are example instances that show what data produced and consumed by systems conforming with this implementation guide might look like.
| Athlete-asserted session match |
A final (live) assertion: this ride — not the ingest bridge's pick — is the day's prescribed session. Identifies the day's prescription by basedOn and the asserted ride by focus; the identifier keys the per-day-per-prescription upsert. |
||
| Coaching-write Provenance: a session taken off the calendar |
The review concluded the week's load was reached and revoked tomorrow's prescription after the athlete accepted the consent card (ADR 0144): the prescription and the Patient as targets, the prior version as the revision, the review thread as the source, the agent as an identifier-only author with its serving context. |
||
| Day call after a coach-implemented session edit |
A train call whose session the coach changed in the same turn (ADR 0154): the plan-action stance |
||
| Day call suggesting an open-day add |
A train call on an open day (ADR 0154): the coach suggests ADDING a session — the plan-action stance |
||
| Day call with its briefing lead |
A train call for the athlete-local day with its lead (headline + reason) as components and the day's diary panel as its source check-in. |
||
| Explicitly unlinked session match |
A cancelled assertion: the athlete unlinked the ride and no promotable same-day ride existed (the next-by-start candidate skips rides that already carry a session assessment). The focus stays for the audit trail — the matcher reports the day as explicitly unlinked until the athlete relinks. |
||
| 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 PMC series — Fitness still rising (overreach trap) |
Observable Fitness (ctl) is high and rising across the week — the reassuring signal that masks the latent decline (the trap). The FTP exemplar below shows the accepted FTP has already turned down. |
||
| Synth PMC series — Fitness/Fatigue/Form/Load (weekly) |
One weekly CcWellnessSeriesObservation (ADR 0059): four components (ctl/atl/tsb/tss), each a 7-sample valueSampledData (1 sample/day). The home tiles decode the last non-null sample of each component. |
||
| Synth amenorrhoea — RED-S sentinel |
Amenorrhoea as the RED-S / low-energy-availability sentinel under the female-athlete axis (C.0). |
||
| 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 daily-log member — fatigue (Hooper) |
A subjective Hooper score extracted from the daily-log QR; valueInteger 1-5; derivedFrom the QR. |
||
| Synth daily-log member — free-text note |
The athlete's optional free-text note to the coach, extracted from the QR as a valueString CcSubjectiveObservation (never parsed off the QR by agents). |
||
| Synth daily-log — QuestionnaireResponse (record of collection) |
The raw morning daily-log submission. Agents never read this QR; the coded Observations below are extracted from it and read via read_diary_window / read_wellness_window. |
||
| Synth daily-log — panel (hasMember grouping) |
Groups the extracted subjective member Observations for the morning submission; identifier makes it one-per-date; derivedFrom links the source QR. |
||
| 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 follow-up — tentative illness (open) |
An open tentative-signal follow-up the coach opened from a low-commitment athlete signal (ADR 0080): the athlete thinks they may be getting sick. Not durable memory and not a calendar change yet — carried forward until it confirms (→ availability block) or lapses (→ life-log + forget). Due tomorrow; routine urgency. |
||
| Synth prescription — per-day ServiceRequest |
The instantiated per-day prescription (04 §15.4b, ADR 0048); the stepBlock carries a RELATIVE %FTP target resolved to watts at push time. |
||
| Synth provider translator Device |
The translator Device that produced canonical FHIR from the raw provider Binary (the author agent on the translation Provenance). |
||
| 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 session — raw stream Binary |
The raw packed 1 Hz stream for the session, stored as a Binary (04 §15.7). Not searchable and not a valid derivedFrom target — indexed by synth-iron-01-session-rawfile and lineage-linked by synth-iron-01-session-prov. |
||
| Synth session — raw-file index |
The DocumentReference that indexes the raw stream Binary so derived Observations can reference it via derivedFrom (04 §15.6). |
||
| Synth session — translation Provenance |
Lineage for the translated session: the Activity Group was produced by the provider translator Device from the raw stream Binary (entity[source]). |
||
| Synth session — workout debrief |
|
||
| Synth sex assigned at birth — female |
Sex assigned at birth as a clinical Observation (LOINC 76689-9) — the physiological axis the coach reads to seed baselines (C.0), kept distinct from administrative |
||
| 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 waist circumference — manual (daily-log) |
An objective body-composition vital extracted from the same daily-log QR (LOINC 56086-2). Read via read_wellness_window, not the subjective diary reader. |
||
| Workout debrief with a legacy frozen next decision |
A debrief filed before ADR 0144: its next decision is frozen text (valueString). Readers still render it; new debriefs reference the day call instead. |
||
| Workout debrief with its lead |
A debrief whose lead renders above the prose (ADR 0144): the assessment headline, the next decision as a reference to the CcDayCall the review wrote (readers render the call as it stands, marked updated when it was written after the debrief), and the takeaway the ride carries forward. |