{
  "$schema": "https://spacemedicinefoundation.org/robotic-medicine/protocols/schema/protocol.schema.json",
  "schema_version": "0.3",
  "version": "0.2",
  "status": "draft",
  "conceptual": true,
  "not_for_clinical_use": true,
  "max_autonomy": 2,
  "missions": [
    "leo",
    "commercial",
    "moon",
    "mars"
  ],
  "updated": "2026-10-21",
  "review": {
    "state": "reviewed-ai-assisted",
    "requested": "2026-10-21",
    "reviewed": "2026-10-21",
    "human_clinician_review": false,
    "text": "AI-assisted clinical and source review by the Medical Research Assistant, Oct 21, 2026 (batch 13 review: 11 required corrections, R1 to R11; 8 optional suggestions not applied in this version); all required corrections that apply to this protocol are applied in this version (see Corrections). No named human clinician has reviewed it. Not for clinical use."
  },
  "fixed_rules": {
    "flight_surgeon_is_medical_authority": true,
    "cmo_acts_under_delegated_care": true,
    "human_starts_and_restarts_robot": true,
    "robot_never_diagnoses": true,
    "no_drug_or_fluid_advice_by_robot": true,
    "safe_state_on_fault_or_no_response": true,
    "lost_link_pause_then_cmo_decides": true
  },
  "robot_lockouts": {
    "diagnosis": true,
    "drug_or_fluid_advice": true,
    "starting_stopping_or_adjusting_oxygen_or_any_medicine": true,
    "self_start_or_self_restart": true,
    "changing_own_protocol_thresholds_or_limits": true,
    "handing_over_a_mismatched_item_as_verified": true
  },
  "id": "RMP-PREV-005",
  "slug": "rmp-prev-005",
  "title": "Exercise session logging: the device's own session record and the crewmember's own words, with no scoring of the crew (no camera)",
  "category": "prev",
  "tier": 3,
  "rung_note": "Max rung 2 for supervised, screen-and-voice tasks: the session prompt, logging the device's own session record and the crewmember's own words, and sending the log. No camera is used (form views are only in RMP-MSK-005), the robot stays outside the exercise device's moving envelope, and \"Contact with the crewmember: not allowed\".",
  "result_language": {
    "use": [
      "from the device record",
      "as stated by the crewmember",
      "not done",
      "see device record",
      "sent to the exercise specialists"
    ],
    "never": [
      "normal",
      "no problem found",
      "all clear",
      "negative",
      "any diagnosis or cause",
      "good session",
      "enough",
      "not enough",
      "too little",
      "improving",
      "worse",
      "score",
      "grade",
      "rating",
      "rank",
      "pass",
      "fail",
      "on target",
      "behind",
      "streak",
      "better than",
      "compared with",
      "compliant",
      "non-compliant",
      "safe",
      "mild",
      "minor"
    ]
  },
  "scope": {
    "summary": "At the exercise sessions the exercise specialists schedule, the robot shows a prompt; the log starts only when the crewmember accepts (or the crewmember starts it by command). It records the session clock times and the exercise device's own session reference (device values such as duration, loads, speed or work rate only through a read-only data interface agreed with the device owner, never by camera or by reading the screen; otherwise \"see device record\") and what the crewmember states (how it felt, any pain or symptom), with clock times, and sends the log to the exercise specialists and the flight surgeon. \"Not done\" is logged only if the crewmember chooses to log it, exactly as they state it, and no reason is asked. No scoring of any kind, as in RMP-MSK-005: the robot gives no score, grade, rating, rank, pass or fail, no adherence percentage, streak or target, and no comparison between crewmembers, with the prescription or with earlier sessions; it never says a session was good, enough, too little or improving. The exercise specialists and the flight surgeon review the log. No camera is used. Any pain or symptom moves to the matching care protocol.",
    "why": "Exercise is prescribed to astronauts as a countermeasure to altered gravity and is vital to crew health and performance; without it, deconditioning starts at once and is measurable within days, and NASA keeps in-mission aerobic capacity and muscle strength at or above 80% of baseline (OCHMO-TB-031; V1 4003, V1 4024; V2 7038). ISS devices already record session data: the resistive exercise device collects exercise parameters and transmits them to the ground, and the treadmill can collect body loading, session duration and speed for each crewmember (OCHMO-MTB-013). Exercise is also the most frequent source of injuries in astronauts living aboard the ISS (Scheuring 2009), so pain is logged and escalated. Scoring is excluded, as in RMP-MSK-005 and by the protocol owner's brief (no scoring of the crew); logging only the session times, the device's own record and what the crewmember states, with no extra crew time (V2 7040), is design judgment. A missed session is never shown to the CMO or reported to anyone: \"not done\" is logged only if the crewmember chooses (design judgment, as RMP-MSK-005).",
    "covers": [
      "Scheduled or on-command exercise sessions on the onboard devices",
      "Session times and the device's own session reference and the crewmember's own words",
      "Form views by camera: RMP-MSK-005; pain or injury: RMP-MSK-001 and RMP-MSK-004; chest pain: RMP-CARD-002"
    ],
    "locked_out": [
      "Diagnosis or naming a cause",
      "Any medicine, fluid or oxygen advice; starting, stopping or adjusting oxygen",
      "Touching the crewmember",
      "Handing over any medicine outside RMP-PHARM-001, or after a MISMATCH or CANNOT VERIFY (the item stays quarantined; only the CMO can ask for it, through the RMP-PHARM-001 logged two-step override)",
      "Scoring, grading, rating, ranking or comparing crewmembers, with the prescription, or with earlier sessions; adherence percentages, streaks or targets",
      "Any camera use (form views run only under RMP-MSK-005)",
      "Changing, loading, starting or stopping the exercise device, or moving into its moving envelope",
      "Changing the exercise prescription or the schedule, or advising on exercise",
      "Repeating a prompt the crewmember did not accept, or reminding anyone about a session",
      "Showing the log on a shared display, or using it to assess, rank or select crewmembers, or for robot or AI training, research or outreach without separate written consent",
      "Reporting or counting an unaccepted prompt or a session not done, or asking why a session was not done"
    ],
    "related": [
      "RMP-MSK-005",
      "RMP-MSK-001",
      "RMP-MSK-004",
      "RMP-CARD-002",
      "RMP-CARD-001",
      "RMP-PREV-002"
    ]
  },
  "roles": {
    "medical_authority": "Flight surgeon (ground). Holds medical authority for every run.",
    "onboard_lead": "Crew medical officer (CMO), acting under delegated care; uses the pre-approved onboard checklist when there is no link.",
    "others": [
      "Second trained CMO: receives every alert and takes over if the CMO is the patient",
      "Vehicle commander: leads any cabin emergency procedure",
      "Other crew: help as the CMO or commander directs",
      "Exercise specialists (ground strength and conditioning specialists working with the flight surgeon): set the exercise prescription and schedule, and review the log"
    ],
    "robot_may": [
      "Show one prompt at a scheduled session",
      "Log the session times and the device's session reference (device values only through the agreed read-only data interface)",
      "Log the crewmember's own words",
      "Send the log to the exercise specialists and the flight surgeon",
      "Alert the CMO and flight surgeon to a red flag"
    ],
    "robot_may_not": [
      "Score, rank or compare anyone, or say whether a session was enough",
      "Use a camera",
      "Touch anyone or the exercise device",
      "Start a scheduled session log without the crewmember accepting the prompt",
      "Read a device screen or copy a device value by camera"
    ],
    "commercial": "On commercial flights, 'flight surgeon' and 'CMO' mean the operator's designated medical authority and trained onboard responder. If no trained responder is aboard, this protocol is not used. (NASA-STD-3001 requires two CMOs per vehicle for NASA programs [V1 3006]; FAA rules set no medical standards for spaceflight participants.)"
  },
  "preconditions": [
    {
      "id": "PRE-1",
      "text": "The session log starts only when the crewmember (or the CMO) accepts the on-screen prompt; a loaded schedule alone never starts it. An unaccepted prompt is logged privately as \"not accepted\"; it is never reported to the CMO or the exercise specialists, never counted, and never in the package. A crewmember or the CMO can also start it by command.",
      "check": "human_start == true",
      "refs": [
        "V2 10174"
      ]
    },
    {
      "id": "PRE-2",
      "text": "Robot self-test passed; kit stowage locations known.",
      "refs": [
        "V2 10161",
        "V2 7059"
      ]
    },
    {
      "id": "PRE-3",
      "text": "Robot and supplies restrained when not moving.",
      "refs": [
        "V2 7046"
      ]
    },
    {
      "id": "PRE-4",
      "text": "Link status known. The crew never wait for the robot before acting.",
      "check": "link_state in [live, delayed, down]"
    }
  ],
  "consent": {
    "standard": "Before flight, and again at the first session, the crewmember agrees to the session log and to who sees it (the flight surgeon and the exercise specialists; the CMO only on a red flag or with the crewmember's agreement). The session log is stored only in the crewmember's medical record, encrypted in storage and in transit as the program requires; access is limited to the crewmember, the flight surgeon and the exercise specialists; the CMO sees the log only on a red flag or with the crewmember's agreement. It is never shown on a shared display, never used for robot or AI training, research or outreach without separate written consent, and never used to assess, rank or select crewmembers.",
    "emergency": "There is no emergency use of the log; a red flag sends an alert.",
    "withdrawal": "The crewmember can stop the log at any time; the device's own data recording is unaffected."
  },
  "inputs": [
    {
      "id": "IN-1",
      "name": "Exercise schedule and device list, set by the exercise specialists",
      "source": "Exercise specialists",
      "required": true,
      "if_missing": "The robot shows \"schedule not loaded\" and logs only on the crewmember's command."
    },
    {
      "id": "IN-2",
      "name": "Session data from the exercise device's own record (device, exercise, duration, loads, speed or work rate)",
      "source": "Read-only data interface agreed with the device owner (never by camera or by reading the screen)",
      "required": false,
      "if_missing": "Log the session clock times and the device's session reference, and \"see device record\" (never a value)."
    },
    {
      "id": "IN-3",
      "name": "The crewmember's own words: how it felt, any pain, a pop, chest pain, feeling faint or short of breath",
      "source": "Crewmember",
      "required": false,
      "if_missing": "Log \"no response\"; D2 applies."
    },
    {
      "id": "IN-4",
      "name": "Link status and delay",
      "source": "Communications system",
      "required": true,
      "if_missing": "Treat as link down; the log is queued."
    }
  ],
  "steps": [
    {
      "id": "S1",
      "actor": "robot",
      "rung": 2,
      "action": "At a scheduled session, show one on-screen prompt that the session log is available. The session log starts only when the crewmember (or the CMO) accepts the on-screen prompt; a loaded schedule alone never starts it. An unaccepted prompt is logged privately as \"not accepted\"; it is never reported to the CMO or the exercise specialists, never counted, and never in the package. A crewmember or the CMO can also start it by command. The robot never repeats the prompt or reminds anyone. Every URGENT alert goes to the CMO and the flight surgeon at the same time (queued for the flight surgeon if the link is down). If the CMO is the patient, is busy treating, or does not answer, the alert goes to the second trained CMO, or the crewmember named before flight [V1 3006]. An URGENT alert that is not acknowledged within <set by validation> seconds is repeated and sent to the next named crewmember.",
      "success": "Prompt accepted, or \"not accepted\" logged.",
      "refs": [
        "V2 10174",
        "V1 3006"
      ]
    },
    {
      "id": "S2",
      "actor": "robot",
      "rung": 2,
      "action": "Stay at the rest position the exercise specialists set, outside the device's moving envelope and the keep-out zone; the camera stays off for the whole protocol.",
      "success": "Robot outside the envelope; camera off.",
      "limit": "<set by validation>",
      "refs": [
        "V2 10172"
      ]
    },
    {
      "id": "S3",
      "actor": "crew",
      "action": "The crewmember exercises as the exercise prescription states and can stop at any time. The CMO or the exercise specialists give any advice on exercise.",
      "success": "Session done, stopped or not done.",
      "refs": [
        "V2 7038"
      ]
    },
    {
      "id": "S4",
      "actor": "robot",
      "rung": 2,
      "action": "Log the session clock times and the device's own session reference. Device values (device, exercise, duration, and the loads, speed or work rate) are copied only through a read-only data interface agreed with the device owner, never by camera or by reading the screen, each marked \"from the device record\" with the clock time; otherwise log \"see device record\". No scoring of any kind, as in RMP-MSK-005: the robot gives no score, grade, rating, rank, pass or fail, no adherence percentage, streak or target, and no comparison between crewmembers, with the prescription or with earlier sessions; it never says a session was good, enough, too little or improving. The exercise specialists and the flight surgeon review the log.",
      "success": "Session times and device session reference logged.",
      "refs": [
        "V2 7040",
        "V1 6003"
      ]
    },
    {
      "id": "S5",
      "actor": "robot",
      "rung": 2,
      "action": "Ask the crewmember, on screen or by voice, how the session felt and whether they had any pain, a pop, chest pain, felt faint or unusually short of breath, and log the answers word for word, marked \"as stated by the crewmember\".",
      "success": "Answers logged or \"no response\".",
      "refs": [
        "V1 6003"
      ]
    },
    {
      "id": "S6",
      "actor": "robot",
      "rung": 2,
      "action": "After any URGENT alert: After an URGENT alert the robot does not leave on its own: it stays at its rest position in the module, with its screen and voice link available, until a human has taken over or tells it to go. It never follows, blocks or touches anyone. It keeps time-stamping what humans say they did, and repeats the alert if it is not acknowledged.",
      "success": "Robot at rest in the module until a human releases it; alert acknowledged or escalated.",
      "refs": [
        "V2 10173",
        "V1 3006"
      ]
    },
    {
      "id": "S7",
      "actor": "ground",
      "action": "The exercise specialists review the log and adjust the prescription through the crewmember's usual channel; the flight surgeon (or the CMO under the onboard checklist when there is no link) decides on any symptom.",
      "success": "Review logged.",
      "refs": [
        "V1 3003"
      ]
    },
    {
      "id": "S8",
      "actor": "robot",
      "rung": 2,
      "action": "Send one package to the exercise specialists and the flight surgeon: session clock times and the device's session reference, device values only as received through the agreed read-only data interface (otherwise \"see device record\"), answers as stated, alerts and decisions, and \"not done\" only where the crewmember chose to log it. An unaccepted prompt is never in the package. The session log is stored only in the crewmember's medical record, encrypted in storage and in transit as the program requires; access is limited to the crewmember, the flight surgeon and the exercise specialists; the CMO sees the log only on a red flag or with the crewmember's agreement. It is never shown on a shared display, never used for robot or AI training, research or outreach without separate written consent, and never used to assess, rank or select crewmembers.",
      "success": "Package delivered or queued.",
      "refs": [
        "V1 6003",
        "V1 7003"
      ]
    }
  ],
  "decisions": [
    {
      "id": "D1",
      "after": "S5",
      "decided_by": "robot",
      "question": "Checked after every answer and at any point in the run (even mid-question or mid-step): does any answer, reading or observation meet a red flag?",
      "branches": [
        {
          "if": "Yes",
          "then": "Stop the current question or step at once and apply the action listed for each matching red flag (URGENT alert, flag, or stop), with the answer or reading itself, never a cause. Every URGENT alert goes to the CMO and the flight surgeon at the same time (queued for the flight surgeon if the link is down). If the CMO is the patient, is busy treating, or does not answer, the alert goes to the second trained CMO, or the crewmember named before flight [V1 3006]. An URGENT alert that is not acknowledged within <set by validation> seconds is repeated and sent to the next named crewmember."
        },
        {
          "if": "No",
          "then": "Continue."
        }
      ]
    },
    {
      "id": "D2",
      "after": "S5",
      "decided_by": "robot",
      "question": "Did the crewmember answer the questions, or say they want to skip them?",
      "branches": [
        {
          "if": "Yes",
          "then": "Continue."
        },
        {
          "if": "Declined explicitly (the crewmember says no to a question)",
          "then": "Log \"declined\" for that question only; the alert already sent stands."
        },
        {
          "if": "No response, or the answer does not make sense",
          "then": "URGENT: log \"no response\" (never \"declined\"); the CMO, or the second trained CMO if the CMO is the patient, checks the crewmember in person at once."
        }
      ]
    },
    {
      "id": "D3",
      "after": "S7",
      "decided_by": "ground",
      "question": "What review or care applies?",
      "branches": [
        {
          "if": "Link live",
          "then": "Flight surgeon decides; robot logs."
        },
        {
          "if": "Link down or delay too long",
          "then": "The CMO decides under the pre-approved onboard checklist; the flight surgeon reviews the log at the next contact."
        }
      ]
    }
  ],
  "stop_rules": [
    {
      "id": "X1",
      "trigger": "The patient (or the crewmember being examined) says stop, or withdraws consent",
      "action": "Robot stops all motion at once, backs away to its rest position and tells the CMO. Recording stops unless the patient agrees to keep it running.",
      "level": "stop",
      "refs": [
        "V2 10165"
      ]
    },
    {
      "id": "X2",
      "trigger": "Any crewmember presses stop or takes over control",
      "action": "Protective stop; robot holds its stopped position; only a human may restart it.",
      "level": "safe-state",
      "refs": [
        "V2 10165",
        "V2 10168",
        "V2 10174"
      ]
    },
    {
      "id": "X3",
      "trigger": "Robot fault, sensor fault, or a force, speed or reach limit is reached",
      "action": "Protective stop and hand control to the CMO; log the fault.",
      "level": "safe-state",
      "refs": [
        "V2 10172",
        "V2 10168"
      ]
    },
    {
      "id": "X4",
      "trigger": "CMO is asked to take over and does not respond (for example, the CMO is the patient)",
      "action": "Robot stays stopped; the next named crewmember is called.",
      "level": "safe-state",
      "refs": [
        "V2 10173",
        "V2 7045"
      ]
    },
    {
      "id": "X5",
      "trigger": "Loss of link, or delay longer than the limit for live guidance",
      "action": "Only the robot pauses: before it holds, it moves to a position clear of a hatch route or a crewmember's route (it never pauses in one), and tells the CMO. This pauses robot movement only: crew exercise, care already under way and all other care continue under the onboard checklist and never wait for the link or the robot. The CMO decides whether the robot continues offline under the pre-approved onboard checklist; it resumes only on the CMO's confirmation.",
      "level": "pause",
      "refs": [
        "V2 10172",
        "V2 10173"
      ]
    },
    {
      "id": "X6",
      "trigger": "An URGENT alert is not acknowledged within the set time",
      "action": "Robot repeats the alert and sends it to the next named crewmember (the second trained CMO first if the CMO is the patient), and keeps repeating at the set interval. It stays where it is: it does not leave on its own.",
      "level": "urgent",
      "refs": [
        "V1 3006",
        "V2 10173"
      ]
    },
    {
      "id": "X7",
      "trigger": "The crewmember stops responding, or seems confused or drowsy, at any point",
      "action": "URGENT alert at once, even mid-question or mid-step; the robot stops its current task, stays at its rest position and does not continue the run; a crewmember checks in person.",
      "level": "urgent"
    },
    {
      "id": "X8",
      "trigger": "A crewmember asks the robot what is wrong, or for medicine, fluid or treatment advice",
      "action": "Robot declines, says it cannot assess or advise, and routes the question to the CMO or flight surgeon.",
      "level": "stop"
    },
    {
      "id": "X9",
      "trigger": "The device moves toward the robot, or the crewmember needs the space the robot is in",
      "action": "Robot moves clear at once without contact and holds; it never touches the device or the crewmember and never pauses in a hatch route.",
      "level": "safe-state",
      "refs": [
        "V2 10172"
      ]
    }
  ],
  "red_flags": [
    {
      "id": "RF1",
      "sign": "Chest pain, or pain spreading to the arm, jaw or back, during or after exercise, as stated",
      "threshold": "any",
      "action": "URGENT alert; see RMP-CARD-002",
      "source": "gulati"
    },
    {
      "id": "RF2",
      "sign": "Unresponsive, or not breathing normally",
      "threshold": "any",
      "action": "URGENT alert; start RMP-CARD-001 now",
      "source": "aha2025bls"
    },
    {
      "id": "RF3",
      "sign": "Sudden severe back or neck pain, or pain with numbness, tingling or weakness in an arm or leg, as stated",
      "threshold": "any",
      "action": "URGENT alert; see RMP-MSK-001",
      "source": "johnston"
    },
    {
      "id": "RF4",
      "sign": "Pain, a pop, a strain or any injury during exercise, as stated",
      "threshold": "any",
      "action": "Flag to the CMO and flight surgeon; see RMP-MSK-001",
      "source": "scheuring2009"
    },
    {
      "id": "RF5",
      "sign": "Feeling faint, light-headed or unusually short of breath during exercise, as stated (design judgment)",
      "threshold": "any",
      "action": "URGENT alert; the CMO checks in person"
    },
    {
      "id": "RF6",
      "sign": "A harness, cable, bungee or load fault on the exercise device, as stated or announced by the device (design judgment)",
      "threshold": "any",
      "action": "Stop: the robot asks the crewmember to stop using the device and tells the CMO and commander"
    }
  ],
  "safety_limits": [
    {
      "id": "L1",
      "name": "Contact with the crewmember",
      "value": "not allowed",
      "enforced": "Keep-out zone in the robot controller",
      "refs": [
        "V2 10172"
      ]
    },
    {
      "id": "L2",
      "name": "Scoring, ranking or comparing crewmembers, or comparing with the prescription or earlier sessions",
      "value": "not allowed",
      "enforced": "No such function is loaded; device values are only logged as received from the device record",
      "refs": [
        "V1 7003"
      ]
    },
    {
      "id": "L3",
      "name": "Camera use",
      "value": "not allowed",
      "enforced": "Camera power off for the whole protocol",
      "refs": [
        "V1 7003"
      ]
    },
    {
      "id": "L4",
      "name": "Robot inside the exercise device's moving envelope",
      "value": "not allowed",
      "enforced": "Keep-out map in the robot controller",
      "refs": [
        "V2 10172"
      ]
    },
    {
      "id": "L5",
      "name": "Robot speed near the crewmember",
      "value": "<set by validation>",
      "enforced": "Hard limit in the controller",
      "refs": [
        "V2 10172"
      ]
    }
  ],
  "logs": [
    {
      "id": "LOG-1",
      "text": "Every input, robot action, decision (with who made it) and hand-off, time-stamped to the second.",
      "refs": [
        "V2 10163",
        "V2 10164"
      ]
    },
    {
      "id": "LOG-2",
      "text": "Mode changes and safety-limit events are announced to the operator as they happen and logged.",
      "refs": [
        "V2 10162",
        "V2 10172"
      ]
    },
    {
      "id": "LOG-3",
      "text": "Records are stored and sent as private medical data, encrypted, with access limited to the medical team.",
      "refs": [
        "V1 6003",
        "V1 7003"
      ]
    },
    {
      "id": "LOG-4",
      "text": "Symptom entries are kept in a permanent, retrievable format so the flight surgeon can see trends: symptom entries only; no session counts or adherence figures.",
      "refs": [
        "V1 7001"
      ]
    },
    {
      "id": "LOG-5",
      "text": "Prompt and acceptance (an unaccepted prompt is logged privately and never reported or counted); session clock times and the device's session reference; device values only through the agreed read-only data interface, otherwise \"see device record\"; answers as stated; \"not done\" only where the crewmember chose to log it; who viewed the log. No scores, comparisons, session counts or adherence figures are logged."
    },
    {
      "id": "LOG-6",
      "text": "Each URGENT alert, who received it, the time it was acknowledged (or the escalation to the next named crewmember), and the time a human released the robot.",
      "refs": [
        "V2 10163"
      ]
    }
  ],
  "requirements": [
    {
      "id": "V1 3003",
      "use": "In-mission preventive health care and monitoring of physiological and psychosocial well-being."
    },
    {
      "id": "V1 3006",
      "use": "Two trained CMOs per vehicle for NASA programs; the second trained CMO receives alerts when the CMO is the patient (see the commercial-flight note)."
    },
    {
      "id": "V1 6003",
      "use": "Logs and alerts sent to the ground are private medical communications."
    },
    {
      "id": "V1 7001",
      "use": "Records kept so the flight surgeon can see trends."
    },
    {
      "id": "V1 7003",
      "use": "Secure handling of medical records."
    },
    {
      "id": "V2 7038",
      "use": "Exercise countermeasures; the exercise specialists set the prescription and review the log."
    },
    {
      "id": "V2 7040",
      "use": "Countermeasure operations within the allotted schedule; the log takes no extra crew time."
    },
    {
      "id": "V2 7045",
      "use": "Usable by non-physician crew, including when the CMO is the patient."
    },
    {
      "id": "V2 7046",
      "use": "Patient, caregiver and supplies restrained."
    },
    {
      "id": "V2 7059",
      "use": "Kit inventory and seal status are tracked."
    },
    {
      "id": "V2 10161",
      "use": "Robot shows its status and health."
    },
    {
      "id": "V2 10162",
      "use": "Mode changes are announced to the operator."
    },
    {
      "id": "V2 10163",
      "use": "Robot records and shares its data."
    },
    {
      "id": "V2 10164",
      "use": "Shows whether the human or the robot is expected to act."
    },
    {
      "id": "V2 10165",
      "use": "Human can override and shut down the robot."
    },
    {
      "id": "V2 10168",
      "use": "Human can take over."
    },
    {
      "id": "V2 10172",
      "use": "Protective stop when a limit is exceeded."
    },
    {
      "id": "V2 10173",
      "use": "Robot stays stopped if no one takes over."
    },
    {
      "id": "V2 10174",
      "use": "Only a human starts or restarts the robot."
    }
  ],
  "validation": [
    {
      "stage": "simulation",
      "what": "Scripted sessions with a prompt not accepted, chest pain stated, a device fault, a value missing from the device record, CMO as patient, lost link.",
      "pass": "Zero scores, comparisons or reminders; zero unaccepted prompts reported or counted; every red flag raised; zero camera frames."
    },
    {
      "stage": "training model",
      "what": "Logging drills against each device's own record through the agreed read-only data interface.",
      "pass": "Agreement with the device's own record; zero values read by camera or from a screen."
    },
    {
      "stage": "parabolic or station demonstration",
      "what": "Rest position next to a running device in weightlessness.",
      "pass": "Keep-out held."
    },
    {
      "stage": "flight use under flight surgeon supervision",
      "what": "First sessions alongside the device's own data.",
      "pass": "Agreement with the device's own record; no privacy events."
    }
  ],
  "signoff": {
    "protocol": [
      "Clinical lead for the specialty (sets every clinical threshold marked <set by clinical lead>)",
      "Flight surgeon, as medical authority",
      "Robotics and medical-device safety board",
      "Program approval for the mission"
    ],
    "restart_after_stop": "Human only. After any emergency or protective stop, a crewmember must restart the robot; the robot never restarts itself.",
    "each_run": "Started by the crewmember, or by an accepted prompt. The robot logs only the session times, the device's own record and what the crewmember states; the exercise specialists review it."
  },
  "change_control": [
    "Every change gets a new version number and a written reason; earlier versions are kept.",
    "Any change to steps, thresholds, limits or software that touches the patient repeats validation from the simulation stage before use.",
    "Software and learned-skill updates follow a pre-agreed change plan (what may change, how it is tested, how to roll back), modeled on the FDA predetermined change control plan approach.",
    "If a new version misbehaves, the robot rolls back to the last validated version and the event is reviewed by the flight surgeon and safety board.",
    "The robot never changes its own protocol, thresholds or limits."
  ],
  "comms": {
    "live": "Low Earth orbit: the log reaches the exercise specialists when the link allows.",
    "loss_of_signal": [
      "Only the robot pauses non-essential motion, at a position clear of hatch routes and crew routes, and tells the CMO; it resumes offline only on the CMO's confirmation.",
      "Crew exercise, care already under way and all other care continue under the onboard checklist and never wait for the link or the robot.",
      "The log is queued; any red flag goes to the CMO at once."
    ],
    "mars_delay": [
      "Mars: the exercise specialists review with delay; the crewmember follows the written prescription."
    ]
  },
  "sources": [
    {
      "key": "tb031",
      "text": "NASA OCHMO. Exercise Overview. Technical Brief OCHMO-TB-031 (2026).",
      "url": "https://www.nasa.gov/wp-content/uploads/2023/12/ochmo-tb-031-exercise-overview.pdf",
      "supports": "Exercise is prescribed to astronauts as a countermeasure to altered gravity and is vital to maintaining crew health and performance; without intervention, deconditioning begins immediately and is measurable within a few days. In-mission aerobic capacity is to be kept at or above 80% of pre-mission capacity [V1 4003] and skeletal muscle strength at or above 80% of baseline [V1 4024]. On the ISS, aerobic exercise uses the cycle ergometer (CEVIS) and the treadmill (T2) with prescribed work rates. Read Oct 21, 2026 (saved copy in src/b13)."
    },
    {
      "key": "mtb013",
      "text": "NASA OCHMO. Bone Loss. Medical Technical Brief OCHMO-MTB-013 Rev D (2026).",
      "url": "https://www.nasa.gov/wp-content/uploads/2026/02/ochmo-mtb-013-bone-loss.pdf",
      "supports": "The Advanced Resistive Exercise Device (ARED) collects data on the parameters of crew exercise and transmits them to the ground; the T2 (COLBERT) treadmill can collect data such as body loading, session duration and speed for each crewmember. Exercise with axial loading is the countermeasure with the most data for bone health. Read Oct 21, 2026 (saved copy in src/b13)."
    },
    {
      "key": "scheuring2009",
      "text": "Scheuring RA, Mathers CH, Jones JA, Wear ML. Musculoskeletal injuries and minor trauma in space: incidence and injury mechanisms in U.S. astronauts. Aviat Space Environ Med. 2009;80(2):117-124.",
      "url": "https://doi.org/10.3357/asem.2270.2009",
      "doi": "10.3357/asem.2270.2009",
      "pmid": "19198198",
      "supports": "Abstract: 219 in-flight musculoskeletal injuries in U.S. astronauts; aerobic and resistive exercise was among the leading causes; exercise-related injuries had an incidence of 0.003 per day, and exercise is the most frequent source of injuries in astronauts living aboard the ISS. Read Oct 21, 2026 (saved copy in src/b12)."
    },
    {
      "key": "johnston",
      "text": "Johnston SL, Campbell MR, Scheuring R, Feiveson AH. Risk of herniated nucleus pulposus among U.S. astronauts. Aviat Space Environ Med. 2010;81(6):566-574.",
      "url": "https://doi.org/10.3357/asem.2427.2010",
      "doi": "10.3357/asem.2427.2010",
      "pmid": "20540448",
      "supports": "In-flight back pain is presumably due to elongation of the spine; disc herniation was 4.3 times more common in US astronauts (321) than matched controls (983), relatively more often in the neck, with evidence that the risk is increased immediately after spaceflight."
    },
    {
      "key": "gulati",
      "text": "Gulati M, Levy PD, Mukherjee D, et al. 2021 AHA/ACC/ASE/CHEST/SAEM/SCCT/SCMR guideline for the evaluation and diagnosis of chest pain. Circulation. 2021;144(22):e368-e454.",
      "url": "https://doi.org/10.1161/CIR.0000000000001029",
      "doi": "10.1161/CIR.0000000000001029",
      "pmid": "34709879",
      "supports": "On Earth, a 12-lead ECG should be acquired and interpreted within 10 minutes of arrival; an initial normal ECG does not exclude acute coronary syndrome, so ECGs are repeated while symptoms continue; chest pain includes pressure, tightness or discomfort in the chest, shoulders, arms, neck, back, upper abdomen or jaw; sudden ripping pain radiating to the back is suspicious of an acute aortic syndrome."
    },
    {
      "key": "aha2025bls",
      "text": "Kleinman ME, Buick JE, Huber N, et al. Part 7: Adult Basic Life Support: 2025 American Heart Association Guidelines for Cardiopulmonary Resuscitation and Emergency Cardiovascular Care. Circulation. 2025;152(16_suppl_2):S448-S478.",
      "url": "https://doi.org/10.1161/CIR.0000000000001369",
      "doi": "10.1161/CIR.0000000000001369",
      "pmid": "41122888",
      "supports": "Adult basic life support: initial recognition of cardiac arrest, activation of the emergency response, high-quality CPR and use of an automated external defibrillator; also respiratory arrest and foreign-body airway obstruction. Earth guidance; the onboard checklist leads. Abstract read via PubMed Oct 21, 2026; full text not read."
    },
    {
      "key": "v1",
      "text": "NASA. NASA-STD-3001, Space Flight Human-System Standard, Volume 1: Crew Health, Revision C (2023).",
      "url": "https://www.nasa.gov/wp-content/uploads/2023/11/nasa-std-3001-vol-1-rev-c-with-signature.pdf",
      "supports": "NASA-STD-3001 Vol 1 Rev C: V1 3003, V1 3006, V1 4003, V1 4024, V1 6003, V1 7003."
    },
    {
      "key": "v2",
      "text": "NASA. NASA-STD-3001, Volume 2: Human Factors, Habitability, and Environmental Health (Rev F, 2026), including Section 10.6 Automated and Robotic Systems.",
      "url": "https://standards.nasa.gov/standard/NASA/NASA-STD-3001_VOL_2",
      "supports": "NASA-STD-3001 Vol 2 Rev F: V2 7038, V2 7040, and Section 10.6 automated and robotic systems."
    },
    {
      "key": "tb044",
      "text": "NASA OCHMO. Medical Operations. Technical Brief OCHMO-TB-044 (2025).",
      "url": "https://www.nasa.gov/wp-content/uploads/2025/08/ochmo-tb-044-medical-operations.pdf",
      "supports": "The crew surgeon keeps medical authority when care is delegated; crew medical officers train on the JSC 48522 medical checklist."
    },
    {
      "key": "marsdelay",
      "text": "NASA. Mars communications disruption and delay (fact sheet, 2023 Moon to Mars Architecture Concept Review).",
      "url": "https://www.nasa.gov/wp-content/uploads/2024/01/mars-communications-disruption-and-delay.pdf",
      "supports": "One-way Earth-Mars delay up to about 21-23 minutes, plus blackouts of about 2-3 weeks near solar conjunction."
    },
    {
      "key": "pccp",
      "text": "U.S. Food and Drug Administration. Marketing submission recommendations for a predetermined change control plan for artificial intelligence-enabled device software functions (guidance).",
      "url": "https://www.fda.gov/regulatory-information/search-fda-guidance-documents/marketing-submission-recommendations-predetermined-change-control-plan-artificial-intelligence",
      "supports": "A model for planning, validating and rolling back software updates."
    },
    {
      "key": "faa460",
      "text": "U.S. Code of Federal Regulations, Title 14, Part 460: Human space flight requirements.",
      "url": "https://www.ecfr.gov/current/title-14/chapter-III/subchapter-C/part-460",
      "supports": "Federal rules for crew and spaceflight participants on licensed commercial flights; they set no medical standards for spaceflight participants."
    }
  ],
  "corrections": [
    {
      "date": "2026-10-21",
      "version": "0.2",
      "source": "Batch 13 clinical review (AI-assisted), Oct 21, 2026",
      "items": [
        "R5 (as RMP-MSK-005 R15): an unaccepted prompt is logged privately, never reported to the CMO or the exercise specialists, never counted and never in the package. \"Not done\" appears only if the crewmember chooses to log it, as stated, and no reason is asked. The CMO sees the log only on a red flag or with the crewmember's agreement. LOG-4 for this protocol: symptom entries only; no session counts or adherence figures. Sources: owner brief (\"allow no scoring of the crew\"); RMP-MSK-005 R15; V1 7003; design judgment.",
        "R6: the robot logs the session clock times and the device's own session reference. Device values are copied only through a read-only data interface agreed with the device owner, never by camera or by reading the screen; otherwise \"see device record\". Validation is now agreement with the device's own record. Sources: OCHMO-MTB-013 Rev D (ARED transmits its data to the ground; T2 records each session); L3 of this protocol."
      ]
    }
  ]
}
