{
  "$schema": "https://spacemedicinefoundation.org/robotic-medicine/protocols/schema/protocol.schema.json",
  "schema_version": "0.3",
  "version": "0.5",
  "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 8 review, 17 required corrections and 16 optional suggestions); all required corrections 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-EGR-003",
  "slug": "rmp-egr-003",
  "title": "Post-landing vital signs and symptom checks: the CMO runs the checks, the robot records (balance tests: RMP-NEURO-005)",
  "category": "egress",
  "tier": 2,
  "rung_note": "Max rung 2 for supervised fetching of the landing medical kit, showing the onboard post-landing check form, recording vital signs as displayed and results as the CMO states them, and keeping the fall space clear. The robot never asks a crewmember to stand, walk or close their eyes, and never times or scores a check.",
  "result_language": {
    "use": [
      "reading as displayed",
      "reading not obtained",
      "result as stated by the CMO",
      "time as called by the CMO",
      "sent to flight surgeon"
    ],
    "never": [
      "normal",
      "no problem found",
      "all clear",
      "negative",
      "any diagnosis or cause",
      "passed",
      "failed",
      "fit for duty",
      "balance is fine",
      "expected after landing",
      "stable",
      "reading is reassuring",
      "safe",
      "mild",
      "minor",
      "time reached",
      "done"
    ]
  },
  "scope": {
    "summary": "After landing, on the CMO's or landing medical lead's command, the robot brings the landing medical kit, shows the onboard post-landing check form, records blood pressure, heart rate, saturation and temperature as displayed, and logs each check result and symptom as stated, with the clock times the CMO calls. The CMO chooses and runs every check with a spotter. Balance and walking tests run only under RMP-NEURO-005.",
    "why": "Gravity transitions cause problems with posture, walking and spatial orientation, and motion sickness, after landing (OCHMO-TB-010, OCHMO-MTB-004); orthostatic intolerance is common after long flights (OCHMO-TB-019; Lee 2015); and crew often need help to move (OCHMO-TB-051). The risk of a slipped (herniated) disc is higher just after flight (Johnston 2010). After flight, bones may not be as strong as before the mission, and \"fracture may occur for activities otherwise unlikely to induce fracture\" (OCHMO-MTB-013). NASA-STD-3001 requires post-mission reconditioning that starts at egress (V1 3017), with sensorimotor recovery monitored and aimed at baseline (V1 4010). After landing on the Moon or Mars after weeks or months of weightlessness, where there is no recovery team, the CMO leads under the onboard checklist and the flight surgeon advises over the link. At an Earth landing, NASA flight surgeons and the recovery team lead with their own kit (OCHMO-TB-051); there the robot is support-only: it fetches kit and hands over records when the landing medical lead asks, never leads or directs care, and never touches or moves anyone (design judgment). Which checks run, when, and the alert values are set by the program and flight surgeon; the robot's role (records only, keeps the fall space clear) is design judgment. The shared value SPO2_ALERT_PCT only raises an alert; it never gates a crew action (the crew act without waiting for a reading), and the clinical lead sets it per mission with the flight surgeon, because the cabin atmosphere can differ by mission.",
    "covers": [
      "Vital signs, symptoms and position changes after landing, as the onboard form lists",
      "Results as the CMO states them, with times the CMO calls",
      "Light-headedness on standing: RMP-CARD-004; new back or neck pain: RMP-MSK-004",
      "Balance and walking tests: RMP-NEURO-005 (one rule set: spotter required, robot still during tests)"
    ],
    "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)",
      "Asking a crewmember to stand, walk, turn or close their eyes",
      "Timing, scoring or passing a check",
      "Supporting or catching a crewmember",
      "Saying a crewmember is fit for duty",
      "At an Earth landing: leading or directing any care, or any task other than fetching kit and handing over records when the landing medical lead asks"
    ],
    "related": [
      "RMP-EGR-002",
      "RMP-NEURO-005",
      "RMP-CARD-004",
      "RMP-MSK-004",
      "RMP-MSK-001",
      "RMP-MSK-002",
      "RMP-NEURO-001",
      "RMP-NEURO-002",
      "RMP-GI-002",
      "RMP-PHARM-001",
      "RMP-EGR-001"
    ]
  },
  "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": [
      "Landing medical lead: the CMO on the Moon or Mars, advised by the flight surgeon over the link; at an Earth landing, the NASA flight surgeon with the recovery team",
      "Spotter: a crewmember beside the crewmember during any position change or stand",
      "Second trained CMO: receives every alert and takes over if the CMO is the patient"
    ],
    "robot_may": [
      "Bring the landing medical kit by a checked kit fetch (or an emergency fetch)",
      "Show the onboard post-landing check form",
      "Record vital signs as displayed and results as stated",
      "Keep the fall space clear of loose items",
      "At an Earth landing: fetch kit and hand over records (RMP-EGR-001) when the landing medical lead asks"
    ],
    "robot_may_not": [
      "Ask anyone to stand, walk or close their eyes",
      "Time, score or pass a check",
      "Touch or catch anyone",
      "Start without a human command"
    ],
    "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 CMO or the landing medical lead started the protocol by command after landing.",
      "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": "The crewmember agrees to each check and to the readings being recorded; the crew place the cuff and probe.",
    "emergency": "If the crewmember cannot agree, the robot proceeds on the CMO's command.",
    "withdrawal": "The crewmember can stop any check at any time; the robot logs \"stopped by the crewmember\"."
  },
  "inputs": [
    {
      "id": "IN-1",
      "name": "The onboard post-landing check form for this crewmember",
      "source": "Flight surgeon / program",
      "required": true,
      "if_missing": "The robot shows \"form not loaded\"; the CMO uses the paper checklist."
    },
    {
      "id": "IN-2",
      "name": "Blood pressure, heart rate, saturation and temperature as displayed",
      "source": "Crew-placed cuff, pulse oximeter and thermometer",
      "required": false,
      "if_missing": "Log \"reading not obtained\" (never a value)."
    },
    {
      "id": "IN-3",
      "name": "Each check result and the start and stop times, as the CMO states them",
      "source": "CMO",
      "required": true,
      "if_missing": "Log \"not stated\"."
    },
    {
      "id": "IN-4",
      "name": "Symptoms in the crewmember's words",
      "source": "Crewmember",
      "required": false,
      "if_missing": "Log \"no response\"; D3 applies."
    },
    {
      "id": "IN-5",
      "name": "Link status and delay",
      "source": "Communications system",
      "required": true,
      "if_missing": "Treat as link down; the CMO leads under the onboard checklist."
    }
  ],
  "steps": [
    {
      "id": "S1",
      "actor": "robot",
      "rung": 2,
      "action": "Log the start and the landing type the person who started the protocol states (Earth landing, or Moon or Mars). At a Moon or Mars landing: tell the flight surgeon and the CMO that post-landing checks have started (URGENT if any red flag is stated). 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. At an Earth landing the robot only tells the landing medical lead that it is in the support-only role.",
      "success": "Notice acknowledged.",
      "refs": [
        "V1 3006",
        "V2 10174"
      ]
    },
    {
      "id": "S2",
      "actor": "robot",
      "rung": 2,
      "action": "On the CMO's command (at an Earth landing, on the landing medical lead's request), run a checked kit fetch of the landing medical kit (blood pressure cuff, pulse oximeter and thermometer, as the kit list states): check the kit ID and seal before hand-over, and quarantine a kit whose ID or seal does not match (no hand-over; the CMO is told). Any medicine goes only through RMP-PHARM-001. If an URGENT red flag has fired or a human states an emergency, bring it instead as an emergency fetch: This is an emergency fetch on a human command (CMO): no barcode check runs before hand-over and nothing waits for one. The robot reads the kit's own label and seal status only if that adds no delay, says \"EMERGENCY FETCH – NOT VERIFIED (CMO command)\", and \"seal not intact\" if so, and hands the kit over anyway. The fetch is logged as an override: time, who asked, the reason as stated, kit ID and seal status. It never says \"verified\".",
      "success": "Kit within reach after a matched ID and seal, or quarantined, or emergency fetch logged.",
      "limit": "<set by validation>",
      "refs": [
        "V2 7046",
        "V2 7059"
      ]
    },
    {
      "id": "S3",
      "actor": "robot",
      "rung": 2,
      "action": "Moon or Mars only: show the onboard post-landing check form on screen, held where the CMO can see it and out of every route. Record blood pressure, heart rate, saturation and temperature as displayed, with the clock time and the position the CMO states. A missing reading is logged as \"reading not obtained\".",
      "success": "Readings logged with positions and times.",
      "limit": "<set by validation>",
      "refs": [
        "V1 4010",
        "V1 6003"
      ]
    },
    {
      "id": "S4",
      "actor": "crew",
      "action": "The CMO runs the checks on the form, with a spotter beside the crewmember for any position change; the crewmember sits or lies down at once on any symptom. If the CMO decides balance or walking tests are needed, they run only under RMP-NEURO-005.",
      "success": "Checks done as the CMO states.",
      "refs": [
        "V1 4010",
        "V1 3017"
      ]
    },
    {
      "id": "S5",
      "actor": "robot",
      "rung": 2,
      "action": "Moon or Mars only: before a check starts, clear the fall space the CMO names of loose items and stay beyond the keep-out distance; while a check is under way the robot does not move, except to move clear under X9 or X10. Log each result word for word as the CMO states it, with the start and stop clock times the CMO calls; the robot never gives its own score. Whether a stand is timed, and for how long, is set by the flight surgeon's onboard checklist, and the CMO calls each time point. On request only, the robot shows the time elapsed since the position change the CMO called, as a clock-time entry; it never says \"time reached\", \"done\" or \"passed\".",
      "success": "Results logged as stated; fall space clear.",
      "limit": "<set by validation>",
      "refs": [
        "V1 6003",
        "V2 10172"
      ]
    },
    {
      "id": "S6",
      "actor": "robot",
      "rung": 2,
      "action": "Moon or Mars only: show an on-screen symptom prompt the crewmember can accept (dizziness or spinning, nausea, light-headedness, back or neck pain, headache) 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 flight surgeon (or the CMO under the onboard checklist when there is no link) decides on activity limits and the reconditioning plan.",
      "success": "Decision logged.",
      "refs": [
        "V1 3017",
        "V1 4010"
      ]
    },
    {
      "id": "S9",
      "actor": "robot",
      "rung": 2,
      "action": "Moon or Mars only: only after the CMO or flight surgeon has placed an order, run RMP-PHARM-001 for the ordered item (fetch, barcode match to every order field, recipient check). This protocol adds nothing to that check, never suggests an order, and never hands anything over outside RMP-PHARM-001.",
      "success": "RMP-PHARM-001 run logged with its result, or none ordered.",
      "refs": [
        "V2 7059"
      ]
    },
    {
      "id": "S10",
      "actor": "robot",
      "rung": 2,
      "action": "When the CMO says the event is over, run RMP-PHARM-001 reconciliation on each kit fetched: record the items the CMO or crew state were used, the remaining contents against the kit list, seal status and expiry, labelled \"inventory reconciliation after emergency use – not a check before use\". Flag the override to the flight surgeon and the pharmacy lead, and show each kit as \"opened – not restocked\" until a human restocks and reseals it.",
      "success": "Kit reconciled or shown as \"opened – not restocked\".",
      "refs": [
        "V2 7059"
      ]
    },
    {
      "id": "S11",
      "actor": "robot",
      "rung": 2,
      "action": "Send the flight surgeon one package: readings with positions and times, check results as stated, answers, alerts and decisions. At an Earth landing: hand over the records under RMP-EGR-001 when the landing medical lead asks.",
      "success": "Package delivered or queued.",
      "refs": [
        "V1 6003",
        "V1 7003"
      ]
    }
  ],
  "decisions": [
    {
      "id": "D1",
      "after": "S2",
      "decided_by": "robot",
      "question": "Which kit fetch was it, and what did the checked kit fetch show?",
      "branches": [
        {
          "if": "EMERGENCY FETCH (an URGENT red flag had fired, or a crewmember or the CMO stated an emergency)",
          "then": "Hand-over already done as an emergency fetch, logged as an override; reconciled afterwards (not a check before use)."
        },
        {
          "if": "KIT ID AND SEAL MATCH",
          "then": "Hand the kit over closed; log \"KIT ID AND SEAL MATCH. Not a check of the contents.\" and the clock time."
        },
        {
          "if": "MISMATCH, seal not intact or CANNOT VERIFY",
          "then": "Shown with the reason. No hand-over under this protocol: the kit stays sealed in quarantine (the RMP-PHARM-001 default), and the robot never hands it over unprompted or to anyone but the CMO. The robot does not offer or suggest an override. Only if the CMO explicitly makes the two-step override request inside RMP-PHARM-001 can the kit go to the CMO, logged there as an override with the reason, and flagged to the flight surgeon. If the need becomes an emergency, a crewmember or the CMO states it and the emergency fetch applies.",
          "handoff": "none"
        }
      ]
    },
    {
      "id": "D2",
      "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": "D3",
      "after": "S6",
      "decided_by": "robot",
      "question": "Did the crewmember answer the symptom prompt, 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 activity limits and reconditioning plan apply?",
      "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."
        }
      ]
    },
    {
      "id": "D5",
      "after": "S9",
      "decided_by": "robot",
      "question": "What did RMP-PHARM-001 show for the ordered item?",
      "branches": [
        {
          "if": "MATCH TO ORDER",
          "then": "RMP-PHARM-001 completes its own recipient check and hand-over; this protocol only logs \"MATCH TO ORDER. Not a dose, interaction or allergy review.\" and the clock time."
        },
        {
          "if": "MISMATCH or CANNOT VERIFY on any field, or a failed scan or recipient check",
          "then": "MISMATCH or CANNOT VERIFY shown with the fields named. No hand-over under this protocol: the item stays sealed in the NOT VERIFIED bag in quarantine (the RMP-PHARM-001 default), and the robot never hands it over unprompted or to anyone but the CMO. The robot does not offer or suggest an override. Only if the CMO explicitly makes the two-step override request inside RMP-PHARM-001 can the item go to the CMO, logged there as an override with the reason and the mismatched fields, and flagged to the flight surgeon.",
          "handoff": "none"
        }
      ]
    },
    {
      "after": "S1",
      "decided_by": "crew",
      "question": "Is this an Earth landing, as the person who started the protocol states (the robot never decides it)?",
      "branches": [
        {
          "if": "Yes (Earth landing)",
          "then": "Support-only: only the kit-fetch step (checked kit fetch, or the emergency fetch) and the RMP-EGR-001 record hand-over run, each on the landing medical lead's request; every step marked \"Moon or Mars only\" is skipped, and the robot holds outside every route until asked."
        },
        {
          "if": "No (Moon or Mars landing)",
          "then": "Continue with every step."
        }
      ],
      "id": "D6"
    }
  ],
  "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 checks already under way, help sitting or lying down, CPR and the CMO's 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 sways, stumbles or starts to fall",
      "action": "Robot stops at once, away from them; it never catches or supports anyone; the spotter and CMO act.",
      "level": "safe-state",
      "refs": [
        "V2 10172"
      ]
    },
    {
      "id": "X10",
      "trigger": "Someone needs the space or route the robot is in",
      "action": "Robot moves clear at once without contact and holds; it never pauses in a hatch route.",
      "level": "safe-state",
      "refs": [
        "V2 10172"
      ]
    }
  ],
  "red_flags": [
    {
      "id": "RF1",
      "sign": "A fall or near-fall during a check (design judgment)",
      "threshold": "any",
      "action": "URGENT alert; the crewmember sits or lies down; see RMP-MSK-001 and RMP-MSK-002 for injury and RMP-NEURO-001 for a head strike"
    },
    {
      "sign": "Pain, swelling or deformity, or unable to bear weight, after a fall, misstep or check",
      "threshold": "any",
      "action": "URGENT alert; the crewmember stays still; see RMP-MSK-001 and RMP-MSK-002",
      "source": "mtb013",
      "id": "RF2"
    },
    {
      "id": "RF3",
      "sign": "Fainting, or light-headedness on standing",
      "threshold": "any",
      "action": "URGENT alert; see RMP-CARD-004",
      "source": "tb019"
    },
    {
      "id": "RF4",
      "sign": "Unresponsive, or not breathing normally",
      "threshold": "any",
      "action": "URGENT alert; start RMP-CARD-001 now",
      "source": "aha2025bls"
    },
    {
      "id": "RF5",
      "sign": "Displayed systolic blood pressure low or high (design judgment; same values as RMP-CARD-002 RF1)",
      "threshold": "below or above <set by clinical lead> mmHg",
      "action": "URGENT alert"
    },
    {
      "id": "RF6",
      "sign": "Displayed heart rate low or high (design judgment; same values as RMP-CARD-002 RF2)",
      "threshold": "below or above <set by clinical lead> beats per minute",
      "action": "URGENT alert"
    },
    {
      "id": "RF7",
      "sign": "Displayed oxygen saturation (pulse oximeter) below the shared alert value",
      "threshold": "below <set by clinical lead> percent (shared parameter SPO2_ALERT_PCT)",
      "action": "URGENT alert; see RMP-RESP-001; the crew act without waiting for a reading",
      "source": "btso2"
    },
    {
      "id": "RF8",
      "sign": "The oximeter cannot get a reading after the validated attempts (L5), and \"saturation not obtained\" is logged",
      "threshold": "any",
      "action": "URGENT alert; the CMO checks the crewmember now (possible poor circulation); the robot never says \"probe error\" and never treats a missing reading as reassuring",
      "source": "ng253"
    },
    {
      "id": "RF9",
      "sign": "New weakness or numbness on one side, trouble speaking or seeing, or a sudden severe headache (design judgment)",
      "threshold": "any",
      "action": "URGENT alert; see RMP-NEURO-002"
    },
    {
      "id": "RF10",
      "sign": "New back or neck pain after landing",
      "threshold": "any",
      "action": "URGENT alert; see RMP-MSK-004",
      "source": "johnston"
    },
    {
      "id": "RF11",
      "sign": "Spinning, vomiting, or unable to sit up because of dizziness",
      "threshold": "any",
      "action": "Flag to the flight surgeon; see RMP-GI-002 for vomiting",
      "source": "tb010"
    }
  ],
  "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": "Asking a crewmember to stand, walk or close their eyes, or scoring a check",
      "value": "not allowed",
      "enforced": "No such prompt or task is loaded"
    },
    {
      "id": "L3",
      "name": "Clear fall space kept around the crewmember during a check (cleared before the check; no robot motion during it)",
      "value": "<set by validation>",
      "enforced": "Keep-out zone in the robot controller"
    },
    {
      "id": "L4",
      "name": "Robot speed near the crewmember",
      "value": "<set by validation>",
      "enforced": "Hard limit in the controller",
      "refs": [
        "V2 10172"
      ]
    },
    {
      "id": "L5",
      "name": "Failed oximeter readings before \"saturation not obtained\"",
      "value": "<set by validation>",
      "enforced": "Software"
    }
  ],
  "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": "Readings as displayed with positions and times; check results and times as the CMO states them; answers as stated."
    },
    {
      "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"
      ]
    },
    {
      "id": "LOG-7",
      "text": "Each emergency fetch as an override (time, who asked, reason as stated, kit ID, seal status) and the later inventory reconciliation, labelled \"not a check before use\".",
      "refs": [
        "V2 7059"
      ]
    }
  ],
  "requirements": [
    {
      "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 3017",
      "use": "Post-mission reconditioning starts at egress; the package goes to the flight surgeon's plan."
    },
    {
      "id": "V1 4010",
      "use": "Post-mission sensorimotor reconditioning is monitored; the robot records the CMO's check results."
    },
    {
      "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 7042",
      "use": "Orthostatic intolerance countermeasures are applied by the crew; readings show their effect for the flight surgeon."
    },
    {
      "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; after an emergency fetch the robot reconciles the kit through RMP-PHARM-001 as an inventory record (never a check before use) and shows it as \"opened – not restocked\" until resealed."
    },
    {
      "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 checks with a near-fall, falling blood pressure, a failed oximeter reading, new back pain, CMO as patient, lost link.",
      "pass": "Zero prompts to stand or walk; zero contact; every red flag raised."
    },
    {
      "stage": "training model",
      "what": "Post-landing check drill with a spotter.",
      "pass": "Results logged as the CMO states them; fall space clear."
    },
    {
      "stage": "parabolic or station demonstration",
      "what": "Not applicable (landing only); a surface analogue test instead.",
      "pass": "Keep-out held."
    },
    {
      "stage": "flight use under flight surgeon supervision",
      "what": "First use after a surface landing.",
      "pass": "No safety 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 CMO or the landing medical lead. The CMO chooses and runs every check."
  },
  "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": "Earth landing site: NASA flight surgeons and the recovery team are present and lead; the robot fetches kit and hands over records only. Moon: the flight surgeon advises over a link with a few seconds of delay; the CMO leads on the surface.",
    "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 checks already under way, help sitting or lying down, CPR and the CMO's care continue under the onboard checklist and never wait for the link or the robot.",
      "The CMO leads under the onboard checklist; readings are queued."
    ],
    "mars_delay": [
      "Mars: no real-time guidance; the post-landing form and alert values are set before flight."
    ]
  },
  "sources": [
    {
      "key": "tb010",
      "text": "NASA OCHMO. Sensorimotor Overview. Technical Brief OCHMO-TB-010 Rev A (2023).",
      "url": "https://www.nasa.gov/wp-content/uploads/2023/12/ochmo-tb-010-sensorimotor.pdf",
      "supports": "Gravity transitions (weightlessness to a planetary surface or Earth) cause decrements in postural control and locomotion, spatial disorientation and motion sickness during and after the transition; these affect egress and early surface activity."
    },
    {
      "key": "tb051",
      "text": "NASA OCHMO. Crew Medical Support for Entry, Descent, and Landing. Technical Brief OCHMO-TB-051.",
      "url": "https://www.nasa.gov/wp-content/uploads/2026/05/ochmo-tb-051-crew-medical-support-entry-descent-landing.pdf",
      "supports": "Flight surgeons are present at the landing site with a landing medical kit (for example blood pressure cuff, pulse oximeter, emesis bags, thermometer and fluids); expected re-adaptation issues include orthostatic intolerance, nausea, deconditioning and neurovestibular impairment; \"Due to muscle weakness and balance issues, astronauts often need assistance\" with mobility. Read Oct 21, 2026."
    },
    {
      "key": "tb019",
      "text": "NASA OCHMO. Orthostatic Intolerance. Technical Brief OCHMO-TB-019 Rev B.",
      "url": "https://www.nasa.gov/wp-content/uploads/2023/12/ochmo-tb-019-orthostatic-intolerance.pdf",
      "supports": "Orthostatic intolerance is triggered by upright positioning and can cause presyncope and syncope; it is a major concern after landing (reduced plasma volume, altered sympathetic response); fluid loading and compression garments are countermeasures [V2 7042]."
    },
    {
      "key": "lee2015",
      "text": "Lee SMC, Feiveson AH, Stein S, Stenger MB, Platts SH. Orthostatic intolerance after ISS and Space Shuttle missions. Aerosp Med Hum Perform. 2015;86(12 Suppl):A54-A67.",
      "url": "https://doi.org/10.3357/AMHP.EC08.2015",
      "doi": "10.3357/AMHP.EC08.2015",
      "pmid": "26630196",
      "supports": "Abstract: on landing day only 2 of 6 ISS astronauts completed a 10-minute 80-degree head-up tilt test, against 52 of 65 Space Shuttle astronauts; by 3 days after landing 13 of 15 ISS and 19 of 19 Shuttle astronauts completed it. Orthostatic intolerance is more common, and recovery slower, after long-duration flight."
    },
    {
      "key": "mtb004",
      "text": "NASA OCHMO. Space Adaptation Sickness (SAS) and Space Readaptation Syndrome. Medical Technical Brief OCHMO-MTB-004 Rev A (Sept 25, 2025).",
      "url": "https://www.nasa.gov/wp-content/uploads/2025/09/ochmo-mtb-004-space-adaptation-sickness-sas.pdf",
      "supports": "Terrestrial readaptation motion sickness after landing: dizziness, nausea, pallor and sweating, made worse by heat, head movements and noxious stimuli."
    },
    {
      "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": "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": "Bones during and after spaceflight may not be as strong as before the mission, and \"fracture may occur for activities otherwise unlikely to induce fracture prior to space missions\". Saved copy read Oct 21, 2026."
    },
    {
      "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": "ng253",
      "text": "National Institute for Health and Care Excellence. Suspected sepsis in people aged 16 or over: recognition, assessment and early management. NICE guideline NG253 (2025, last updated Sept 23, 2026).",
      "url": "https://www.nice.org.uk/guidance/ng253/chapter/Face-to-face-assessment",
      "supports": "People with sepsis may feel very unwell and may not have a high temperature; do not rely on fever alone; a rise in temperature can be a physiological response; assess temperature, heart rate, breathing rate, blood pressure, level of consciousness and oxygen saturation; look for mottled or ashen skin, blue skin, lips or tongue, a non-blanching rash, and breaks in the skin; ask how often the person passed urine in the past 18 hours and about fever or shaking chills (rigors); pay attention to new changes in behavior and to concerns raised by others."
    },
    {
      "key": "btso2",
      "text": "British Thoracic Society. Guideline for oxygen use in healthcare and emergency settings (emergency oxygen guideline page). Fetched Oct 21, 2026.",
      "url": "https://www.brit-thoracic.org.uk/quality-improvement/guidelines/emergency-oxygen/",
      "supports": "Recommended target saturation range for acutely ill patients not at risk of hypercapnic respiratory failure is 94-98%; for known COPD or other risk factors for hypercapnic respiratory failure, 88-92% pending blood gas results. Context for the CMO and flight surgeon only; the robot never starts, stops or adjusts oxygen."
    },
    {
      "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 3006, V1 3017 (reconditioning starts at egress), V1 4010 (sensorimotor reconditioning monitored), 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 7042, V2 7059, 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": "AI-assisted clinical and source review by the Medical Research Assistant, Oct 21, 2026 (batch 8 review)",
      "items": [
        "Scope: Moon and Mars only (missions [moon, mars]); the Earth-landing sentences and comms line are removed, with one line of context that NASA flight surgeons and the recovery team lead at Earth landings (OCHMO-TB-051) (fix 9).",
        "S5: timed standing tests belong to the flight surgeon's onboard checklist and the CMO calls each time point; on request the robot shows only the elapsed time since the position change the CMO called, never \"time reached\", \"done\" or \"passed\" (Q3, suggestion 23).",
        "Fracture risk after flight: why cites OCHMO-MTB-013 (\"fracture may occur for activities otherwise unlikely to induce fracture\"); new RF2 (pain, swelling, deformity or unable to bear weight after a fall, misstep or check: URGENT, the crewmember stays still, RMP-MSK-001 and RMP-MSK-002); RF1 also routes to RMP-MSK-002 (fix 17).",
        "Batch 8 protocols now record the review as AI-assisted (Medical Research Assistant, Oct 21, 2026); no named human clinician."
      ]
    },
    {
      "date": "2026-10-21",
      "version": "0.3",
      "source": "Scope decision by the foundation owner (Oct 21, 2026)",
      "items": [
        "Scope: Earth landings are back in scope in a support-only role (missions restored to low Earth orbit, commercial, Moon and Mars). At an Earth landing, NASA flight surgeons and the recovery team lead; the robot only fetches kit and hands over records (RMP-EGR-001) when the landing medical lead asks, never leads care, and never touches or moves anyone.",
        "Moon and Mars wording is kept: there the CMO leads under the onboard checklist, advised by the flight surgeon."
      ]
    },
    {
      "date": "2026-10-21",
      "version": "0.4",
      "source": "AI-assisted clinical and source review by the Medical Research Assistant, Oct 21, 2026 (batch 9 review)",
      "items": [
        "S5: the robot clears the fall space only before a check starts; while a check is under way it does not move, except to move clear under X9 or X10 (R9).",
        "All balance and walking tests move to RMP-NEURO-005; this protocol keeps vital signs, symptoms and egress and routes balance and walking tests there (S21, Q3)."
      ]
    },
    {
      "date": "2026-10-21",
      "version": "0.5",
      "source": "Batch 10 AI-assisted clinical review (Medical Research Assistant), Oct 21, 2026",
      "items": [
        "Earth landing gated at step level: a new decision after S1 asks whether this is an Earth landing; if yes, only the kit-fetch step (checked or emergency fetch) and the RMP-EGR-001 record hand-over run, each on the landing medical lead's request, and every other robot step is marked \"Moon or Mars only\" (R10; owner scope decision of Oct 21, 2026; OCHMO-TB-051)."
      ]
    }
  ]
}
