PRAXIS
Motor Phenotype Ontology · version 1.0.0 · 2026-10-20 · Omega Wellness Center Inc. · CC BY 4.0

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.

Ontology (JSON)FHIR CodeSystemExample FHIR ObservationPacket schema (what leaves the device)
LensCodePrimitiveEveryday sourceUnit (UCUM)Age
SLPspeech.rateSpeech rate
syllable-like peaks per minute of voiced time
Talking/min3 y+live
SLPspeech.pause_ratioPause ratio
proportion of window silent
Talking13 y+live
SLPspeech.pitch_varPitch variability
coefficient of variation of F0
Talking13 y+live
SLPaac.message_lengthMean message length
mean words per spoken message
Composing on the board{words}2 y+live
SLPaac.vocab_breadthVocabulary breadth
distinct words used per session
Composing on the board{words}2 y+live
OTfine.stroke_jerkStroke smoothness
log dimensionless jerk (lower = smoother)
Drawing, doodling, handwriting14 y+live
OTfine.stroke_tremorIn-stroke tremor
RMS deviation from smoothed path
Drawing{pixel}4 y+live
OTfine.tap_precisionTap precision
1 − mean normalised distance from target centre
Using any communication board or app; the Play game12 y+live
OTfine.tap_rhythm_cvTap rhythm variability
coefficient of variation of inter-tap interval
Ordinary tapping and typing; the Play game14 y+live
OTfine.aac_selectionAAC selection time & miss rate
time from target onset to selection
Composing messagesms2 y+live
OTfine.hold_tremorHold tremor
RMS high-pass acceleration while held
Holding the phonem/s23 y+live
OTfine.typing_rhythmTyping rhythm & error rate
inter-key interval
Keyboard use (content never stored)ms8 y+
PTgait.step_time_cvStep-time variability
coefficient of variation of step interval
Walking with the phone in a pocket%2 y+live
PTgait.stride_regularityStride regularity
autocorrelation at stride lag
Walking12 y+live
PTgait.cadenceCadence & walking bouts
steps per minute
Walking/min2 y+live
PTgait.turn_smoothnessTurning smoothness
1/(1+CV of yaw rate during turns)
Walking13 y+live
PTgait.toe_walkingToe-walking proportion
share of stance frames with heels raised
Home video (opt-in)%2–12 ylive
PTgait.arm_swing_asymArm-swing asymmetry
|L−R| wrist excursion / max
Home video (opt-in)%3 y+live
PTposture.swayPostural sway
RMS horizontal acceleration while standing
Standing still with the phonecm/s23 y+live
PTposture.sit_to_standSit-to-stand duration
transition duration
Getting ups3 y+
PTposture.trunk_alignmentHead / trunk alignment
shoulder–hip line from vertical
Home video (opt-in)deg6 m+live
OTpraxis.reach_straightnessReach path straightness
path length ratio
Play, feeding (video opt-in)16 m+
OTpraxis.bilateral_indexBilateral coordination index
two-hand timing offset
Two-hand play, typingms1 y+
OTpraxis.transition_latencyTransition latency
cue to movement onset
Responding to a promptms2 y+
OTstereotypy.episodesRepetitive-movement episodes
episodes per day (coded as regulation)
Any day (coded as regulation)/d1 y+
PTinfant.gm_complexityGeneral movement complexity
variability/fluency index
Home video of a baby lying awake12–5 m
PTinfant.milestone_timingMotor milestone timing
age at onset
Home video + caregiver notemo3–18 m
PTsleep.nocturnal_movementNocturnal movement index
movement index
Wearing a watch at night11 y+
OTautonomic.hrvResting HRV
RMSSD
Wearing a watchms3 y+
OTcontext.env_loadEnvironmental load
ambient loudness, number only
Ambient loudness (number only)dBalllive