{
  "$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",
    "human_clinician_review": false,
    "text": "AI-assisted clinical and source review by the Medical Research Assistant, Oct 21, 2026 (batch 12 review: 15 required corrections, R1 to R15; 11 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.",
    "reviewed": "2026-10-21"
  },
  "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-MSK-005",
  "slug": "rmp-msk-005",
  "title": "Exercise form monitoring by camera: consent-first live view and the exercise specialists' form checklist, with no scoring of the crew",
  "category": "msk",
  "tier": 3,
  "rung_note": "Max rung 2: the robot positions a camera at a set viewpoint outside the exercise device's moving envelope, shows the live view and the form checklist to the crewmember, and records clips only with consent. It never scores, measures or compares anyone, never adjusts the device, and \"Contact with the crewmember: not allowed\".",
  "result_language": {
    "use": [
      "clip recorded",
      "camera off",
      "as stated by the crewmember",
      "sent to the exercise specialists",
      "non-diagnostic, for human review"
    ],
    "never": [
      "normal",
      "no problem found",
      "all clear",
      "negative",
      "any diagnosis or cause",
      "good form",
      "bad form",
      "correct",
      "incorrect",
      "improving",
      "worse",
      "score",
      "grade",
      "rating",
      "rank",
      "pass",
      "fail",
      "better than",
      "compared with",
      "injury-free",
      "fit for duty",
      "safe",
      "mild",
      "minor"
    ]
  },
  "scope": {
    "summary": "On a crewmember's command, or when the crewmember accepts the on-screen prompt at an exercise session the exercise specialists scheduled, the robot asks for consent before any camera use, places its camera at the viewpoint the exercise specialists set for that device, and shows the live view and their written form checklist on the crewmember's own screen. Clips are recorded only if the crewmember agrees, and go only to the people the crewmember agrees to. No scoring of any kind: the robot gives no score, grade, rating, rank, pass or fail, and no comparison between crewmembers or with earlier sessions; it measures nothing from the video (no joint angles, repetition counts, speed or symmetry) and never says form is good, bad or improving. Form feedback comes only from the human exercise specialists or the CMO. Any pain or injury moves to the matching care protocol.",
    "why": "Exercise is the most frequent source of injuries in astronauts living aboard the ISS (Scheuring 2009: 0.003 exercise-related injuries per day), and NASA-STD-3001 requires exercise countermeasures for bone, muscle and aerobic fitness (V2 7038). A live view with the exercise specialists' own checklist lets the crewmember see their form, and clips let the human specialists give feedback. Automatic scoring is excluded by the protocol owner's brief (\"allow no scoring of the crew\"): scores or comparisons could be used to judge crewmembers, are not validated for clinical use, and would add a privacy risk. The viewpoint, framing rules and consent steps are design judgment. Open question for review: whether clips should be recorded at all, or the view kept live only.",
    "covers": [
      "Camera view and form checklist during scheduled or on-command exercise sessions",
      "Clips recorded only with consent, for the exercise specialists and the flight surgeon",
      "Pain or injury during exercise: RMP-MSK-001; 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, or comparing a crewmember with earlier sessions",
      "Measuring anything from the video (joint angles, repetition counts, speed, symmetry) or running pose-estimation software",
      "Saying that form is good, bad, correct or improving",
      "Adjusting, loading or stopping the exercise device, or moving into its moving envelope",
      "Any camera use without consent for that session, or with another crewmember in frame",
      "Showing video 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",
      "Camera use in a hygiene area or sleep station"
    ],
    "related": [
      "RMP-MSK-001",
      "RMP-CARD-001",
      "RMP-CARD-002",
      "RMP-INF-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 form checklist and the camera viewpoint, and review clips the crewmember shares"
    ],
    "robot_may": [
      "Ask for consent before any camera use",
      "Place its camera at the set viewpoint outside the device's moving envelope",
      "Show the live view and the form checklist to the crewmember",
      "Record and label clips with consent",
      "Alert the CMO and flight surgeon to a red flag"
    ],
    "robot_may_not": [
      "Score, measure, rank or compare anyone",
      "Touch anyone or the exercise device",
      "Record without consent or with another crewmember in frame",
      "Start a scheduled session without a human accepting the prompt"
    ],
    "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 form session 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, and never counted. 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 the camera turns on, the crewmember agrees to the camera for this session and chooses live view only, or live view with clips. Clips go only to the people the crewmember agrees to. The microphone stays off and clips have no audio unless the crewmember agrees to audio. Declining, or not accepting a session, is logged privately and never reported or counted.",
    "emergency": "There is no emergency use of the camera in this protocol: a red flag sends an alert, and the camera stays as it was or turns off.",
    "withdrawal": "The crewmember can turn the camera off or stop recording at any time by voice or on screen; clips already taken can be deleted at the crewmember's request unless the flight surgeon holds them for an injury report."
  },
  "inputs": [
    {
      "id": "IN-1",
      "name": "Form checklist and camera viewpoint for each device, set by the exercise specialists",
      "source": "Exercise specialists",
      "required": true,
      "if_missing": "The robot shows \"checklist not loaded\"; live view only, on the crewmember's command."
    },
    {
      "id": "IN-2",
      "name": "Consent for this session (live only, or live with clips)",
      "source": "Crewmember",
      "required": true,
      "if_missing": "Camera stays off."
    },
    {
      "id": "IN-3",
      "name": "Symptoms in the crewmember's words (pain, a pop, chest pain, feeling faint)",
      "source": "Crewmember",
      "required": false,
      "if_missing": "Log \"no response\"; D3 applies."
    },
    {
      "id": "IN-4",
      "name": "Link status and delay",
      "source": "Communications system",
      "required": true,
      "if_missing": "Treat as link down; clips are stored and forwarded."
    }
  ],
  "steps": [
    {
      "id": "S1",
      "actor": "robot",
      "rung": 2,
      "action": "Once the crewmember accepts, log that a form session has started (sent to the flight surgeon with the next package; URGENT only if a red flag is stated). The form session 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, and never counted. A crewmember or the CMO can also start it by command. 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": "Notice logged; prompt accepted or \"not accepted\" logged.",
      "refs": [
        "V2 10174",
        "V1 3006"
      ]
    },
    {
      "id": "S2",
      "actor": "robot",
      "rung": 2,
      "action": "Before the camera turns on, ask the crewmember on screen whether they agree to the camera for this session, and whether they want live view only or live view with clips. With no clear yes, the camera stays off and only the checklist is shown. The microphone stays off, and clips have no audio, unless the crewmember agrees to audio for this session.",
      "success": "Consent logged, or camera off.",
      "refs": [
        "V1 7003"
      ]
    },
    {
      "id": "S3",
      "actor": "robot",
      "rung": 2,
      "action": "Move to the viewpoint the exercise specialists set for the device, outside the device's moving envelope and the keep-out zone, and aim the camera only at the device area. Show the live view and the form checklist only on the crewmember's own screen. No scoring of any kind: the robot gives no score, grade, rating, rank, pass or fail, and no comparison between crewmembers or with earlier sessions; it measures nothing from the video (no joint angles, repetition counts, speed or symmetry) and never says form is good, bad or improving. Form feedback comes only from the human exercise specialists or the CMO.",
      "success": "Live view and checklist shown; robot outside the envelope.",
      "limit": "<set by validation>",
      "refs": [
        "V2 10172",
        "V2 7038"
      ]
    },
    {
      "id": "S4",
      "actor": "crew",
      "action": "The crewmember exercises as the exercise prescription states and can turn the camera off, stop or pause at any time. The CMO or exercise specialists give any form feedback.",
      "success": "Session done or stopped.",
      "refs": [
        "V2 7038"
      ]
    },
    {
      "id": "S5",
      "actor": "robot",
      "rung": 2,
      "action": "If the crewmember chose clips, record only when they ask, and label each clip with the device, exercise, date and clock time, marked \"non-diagnostic, for human review\". If anyone else comes into frame, stop recording at once. Clips are 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 CMO, the flight surgeon and the exercise specialists the crewmember agrees to. They are 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": "Clips labelled and stored, or none.",
      "refs": [
        "V1 7003"
      ]
    },
    {
      "id": "S6",
      "actor": "robot",
      "rung": 2,
      "action": "Ask the crewmember on screen or by voice whether they had any pain, a pop, chest pain or felt faint, and log the answers word for word.",
      "success": "Answers logged or \"no response\".",
      "refs": [
        "V1 6003"
      ]
    },
    {
      "id": "S7",
      "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": "S8",
      "actor": "ground",
      "action": "The exercise specialists review clips the crewmember shared and give feedback 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": "Feedback or decision logged.",
      "refs": [
        "V1 3003"
      ]
    },
    {
      "id": "S9",
      "actor": "robot",
      "rung": 2,
      "action": "Send the flight surgeon one package for each session the crewmember ran with the camera: session times, answers as stated, alerts and decisions (a declined or unaccepted session is never in it); clips go only to the people the crewmember agreed to.",
      "success": "Package delivered or queued.",
      "refs": [
        "V1 6003",
        "V1 7003"
      ]
    }
  ],
  "decisions": [
    {
      "id": "D1",
      "after": "S2",
      "decided_by": "robot",
      "question": "Before the camera turns on: did the crewmember agree to the camera for this session?",
      "branches": [
        {
          "if": "Yes, live view only",
          "then": "Camera on for live view; no recording."
        },
        {
          "if": "Yes, live view with clips",
          "then": "Camera on; clips only when the crewmember asks (S5)."
        },
        {
          "if": "No, or no clear answer",
          "then": "Camera stays off; the checklist is shown on screen only; \"camera declined\" is logged privately and is never reported to the CMO or the exercise specialists, or counted."
        }
      ]
    },
    {
      "id": "D2",
      "after": "S6",
      "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": "D3",
      "after": "S6",
      "decided_by": "robot",
      "question": "Did the crewmember answer the symptom question, or say they want to skip it?",
      "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": "D4",
      "after": "S8",
      "decided_by": "ground",
      "question": "What feedback 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 crewmember asks to turn the camera off, or another crewmember comes into frame",
      "action": "Robot turns the camera off or stops recording at once and logs it; a clip with someone else in frame is held unsent and flagged to the flight surgeon, who decides whether to keep it.",
      "level": "stop",
      "refs": [
        "V1 7003"
      ]
    },
    {
      "id": "X10",
      "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, measuring, ranking or comparing crewmembers from video",
      "value": "not allowed",
      "enforced": "No such function is loaded; video is only displayed and, with consent, stored",
      "refs": [
        "V1 7003"
      ]
    },
    {
      "id": "L3",
      "name": "Robot inside the exercise device's moving envelope",
      "value": "not allowed",
      "enforced": "Keep-out map in the robot controller",
      "refs": [
        "V2 10172"
      ]
    },
    {
      "id": "L4",
      "name": "Video shown on a shared display, or used to assess, rank or select crewmembers, or for robot or AI training, research or outreach without separate written consent",
      "value": "not allowed",
      "enforced": "Clips stored only in the medical record",
      "refs": [
        "V1 7003"
      ]
    },
    {
      "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": "Results are kept in a permanent, retrievable format so the flight surgeon can see trends.",
      "refs": [
        "V1 7001"
      ]
    },
    {
      "id": "LOG-5",
      "text": "Session start and prompt acceptance; consent choice; each clip with device, exercise, date and time; clips stopped because someone came into frame; answers as stated; who viewed the clips. No scores or measurements 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 the form checklist."
    },
    {
      "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 consent declined, a bystander in frame, chest pain stated mid-set, a device fault, CMO as patient, lost link.",
      "pass": "Zero recording without consent; zero scores or measurements; every red flag raised."
    },
    {
      "stage": "training model",
      "what": "Camera viewpoint drills on each device.",
      "pass": "Robot stays outside every moving envelope."
    },
    {
      "stage": "parabolic or station demonstration",
      "what": "Camera positioning in weightlessness next to a running device.",
      "pass": "Keep-out held."
    },
    {
      "stage": "flight use under flight surgeon supervision",
      "what": "First sessions with the exercise specialists.",
      "pass": "No safety or 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. Consent before any camera use; the exercise specialists and the CMO give every form judgment."
  },
  "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: clips the crewmember shares reach 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.",
      "Clips are queued; any red flag goes to the CMO at once."
    ],
    "mars_delay": [
      "Mars: feedback arrives with delay; the crewmember follows the written checklist."
    ]
  },
  "sources": [
    {
      "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 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, 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 12 AI-assisted clinical review (Medical Research Assistant), Oct 21, 2026",
      "items": [
        "R15: a declined or unaccepted session is logged privately and never reported to the CMO or the exercise specialists, or counted, and is never in the flight surgeon package; the start notice is logged only once the crewmember accepts. The microphone stays off and clips have no audio unless the crewmember agrees. Sources: owner brief (\"allow no scoring of the crew\"), V1 7003; design judgment.",
        "Batch 12 protocols now record the review as AI-assisted (Medical Research Assistant, Oct 21, 2026); no named human clinician."
      ]
    }
  ]
}
