30 primitives across physical therapy, occupational therapy and speech-language pathology; 20 are computed live in the current build at mypraxisos.com. Every primitive names the everyday activity it is measured from without asking; every value is interpreted against the person's own baseline.
Each primitive is a versioned field with a definition, unit, valid age band and everyday source; each maps to a FHIR R4 Observation code (system https://mypraxisos.com/ontology/v1) and an OMOP Measurement source value, so values can feed the SPECTRA common data model.
| Lens | Code | Primitive | Everyday source | Unit (UCUM) | Age | |
|---|---|---|---|---|---|---|
| SLP | speech.rate | Speech rate syllable-like peaks per minute of voiced time | Talking | /min | 3 y+ | live |
| SLP | speech.pause_ratio | Pause ratio proportion of window silent | Talking | 1 | 3 y+ | live |
| SLP | speech.pitch_var | Pitch variability coefficient of variation of F0 | Talking | 1 | 3 y+ | live |
| SLP | aac.message_length | Mean message length mean words per spoken message | Composing on the board | {words} | 2 y+ | live |
| SLP | aac.vocab_breadth | Vocabulary breadth distinct words used per session | Composing on the board | {words} | 2 y+ | live |
| OT | fine.stroke_jerk | Stroke smoothness log dimensionless jerk (lower = smoother) | Drawing, doodling, handwriting | 1 | 4 y+ | live |
| OT | fine.stroke_tremor | In-stroke tremor RMS deviation from smoothed path | Drawing | {pixel} | 4 y+ | live |
| OT | fine.tap_precision | Tap precision 1 − mean normalised distance from target centre | Using any communication board or app; the Play game | 1 | 2 y+ | live |
| OT | fine.tap_rhythm_cv | Tap rhythm variability coefficient of variation of inter-tap interval | Ordinary tapping and typing; the Play game | 1 | 4 y+ | live |
| OT | fine.aac_selection | AAC selection time & miss rate time from target onset to selection | Composing messages | ms | 2 y+ | live |
| OT | fine.hold_tremor | Hold tremor RMS high-pass acceleration while held | Holding the phone | m/s2 | 3 y+ | live |
| OT | fine.typing_rhythm | Typing rhythm & error rate inter-key interval | Keyboard use (content never stored) | ms | 8 y+ | |
| PT | gait.step_time_cv | Step-time variability coefficient of variation of step interval | Walking with the phone in a pocket | % | 2 y+ | live |
| PT | gait.stride_regularity | Stride regularity autocorrelation at stride lag | Walking | 1 | 2 y+ | live |
| PT | gait.cadence | Cadence & walking bouts steps per minute | Walking | /min | 2 y+ | live |
| PT | gait.turn_smoothness | Turning smoothness 1/(1+CV of yaw rate during turns) | Walking | 1 | 3 y+ | live |
| PT | gait.toe_walking | Toe-walking proportion share of stance frames with heels raised | Home video (opt-in) | % | 2–12 y | live |
| PT | gait.arm_swing_asym | Arm-swing asymmetry |L−R| wrist excursion / max | Home video (opt-in) | % | 3 y+ | live |
| PT | posture.sway | Postural sway RMS horizontal acceleration while standing | Standing still with the phone | cm/s2 | 3 y+ | live |
| PT | posture.sit_to_stand | Sit-to-stand duration transition duration | Getting up | s | 3 y+ | |
| PT | posture.trunk_alignment | Head / trunk alignment shoulder–hip line from vertical | Home video (opt-in) | deg | 6 m+ | live |
| OT | praxis.reach_straightness | Reach path straightness path length ratio | Play, feeding (video opt-in) | 1 | 6 m+ | |
| OT | praxis.bilateral_index | Bilateral coordination index two-hand timing offset | Two-hand play, typing | ms | 1 y+ | |
| OT | praxis.transition_latency | Transition latency cue to movement onset | Responding to a prompt | ms | 2 y+ | |
| OT | stereotypy.episodes | Repetitive-movement episodes episodes per day (coded as regulation) | Any day (coded as regulation) | /d | 1 y+ | |
| PT | infant.gm_complexity | General movement complexity variability/fluency index | Home video of a baby lying awake | 1 | 2–5 m | |
| PT | infant.milestone_timing | Motor milestone timing age at onset | Home video + caregiver note | mo | 3–18 m | |
| PT | sleep.nocturnal_movement | Nocturnal movement index movement index | Wearing a watch at night | 1 | 1 y+ | |
| OT | autonomic.hrv | Resting HRV RMSSD | Wearing a watch | ms | 3 y+ | |
| OT | context.env_load | Environmental load ambient loudness, number only | Ambient loudness (number only) | dB | all | live |