{
  "$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), then a verification pass (Oct 21, 2026) that found every required correction for this protocol applied (PASS). 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-RAD-003",
  "slug": "rmp-rad-003",
  "title": "Radiation sickness symptoms (nausea, vomiting) after a radiation event: private check-ins, a symptom-onset timeline and urgent relay",
  "category": "rad",
  "tier": 3,
  "rung_note": "Max rung 2 for private check-ins on screen or by voice after a radiation event, a clock-time symptom timeline for the flight surgeon and the CMO, handing over emesis bags and carrying only sealed used bags, as in RMP-NEURO-004. The robot never estimates a dose and never names a cause; \"Contact with the crewmember: not allowed\".",
  "result_language": {
    "use": [
      "as stated by the crewmember",
      "first vomiting at <clock time>, as stated",
      "sent to flight surgeon",
      "reading as displayed",
      "not asked – asleep"
    ],
    "never": [
      "normal",
      "no problem found",
      "all clear",
      "negative",
      "any diagnosis or cause",
      "radiation sickness",
      "acute radiation syndrome",
      "low dose",
      "dose acceptable",
      "below limit",
      "within limits",
      "no exposure",
      "motion sickness",
      "just motion sickness",
      "space sickness",
      "food poisoning",
      "expected",
      "it will pass",
      "safe",
      "mild",
      "minor",
      "potassium iodide",
      "Prussian blue",
      "G-CSF",
      "filgrastim",
      "anti-sickness medicine",
      "time to vomiting",
      "early vomiting",
      "late onset"
    ]
  },
  "scope": {
    "summary": "After a radiation alarm, a solar particle event (SPE) warning or a shelter event under RMP-RAD-001, on the commander's or CMO's command, or when a crewmember reports symptoms after one, the robot runs private check-ins on screen or by voice: red-flag questions first, then the clock time each symptom started (nausea, vomiting, diarrhoea, loss of appetite, tiredness, skin redness). It keeps a clock-time timeline for the flight surgeon, alongside the dosimeter readings already logged as displayed under RMP-RAD-001 and RMP-RAD-002, and sends an URGENT alert for nausea or vomiting after the event, as RMP-RAD-001 does. On request it hands over emesis bags and carries only sealed used bags. It never names a cause, never estimates a dose and never wakes anyone for a check-in.",
    "why": "After an SPE the acute effects most likely in the first (prodromal) phase are nausea, vomiting, loss of appetite and tiredness, with possible skin injury (NASA evidence report on acute radiation syndromes, 2016); the CDC describes the prodromal stage as nausea, vomiting and loss of appetite, and possibly diarrhoea, from minutes to days after exposure (read from search extracts only). The timing of each symptom is information the flight surgeon needs, so the robot records clock times exactly as stated. Nausea and vomiting have many causes in flight, including space motion sickness (OCHMO-MTB-004, RMP-NEURO-004), so the robot never says which applies. The red flags match RMP-RAD-001 (nausea or vomiting after the event is URGENT; skin redness and tiredness are flagged). The check-in schedule after an event is set by the flight surgeon; the check-in wording and the timeline are design judgment. Open question for review: how long after an event check-ins should continue.",
    "covers": [
      "Symptoms after a radiation alarm, SPE warning or shelter event (RMP-RAD-001), with dosimeter logs from RMP-RAD-002",
      "A clock-time symptom timeline for the flight surgeon",
      "Emesis bags handed over and sealed used bags carried",
      "Vomiting care: RMP-GI-002; skin redness: RMP-SKIN-002; motion sickness without a radiation event: RMP-NEURO-004"
    ],
    "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)",
      "Saying a dose is acceptable, low or within limits, comparing a dose with a limit, or estimating a dose from symptoms",
      "Naming radiation, motion sickness or any other cause for a symptom",
      "Dose-interval cues for any medicine (the robot never says when a medicine is due; any medicine runs through RMP-PHARM-001); radiation dose readings are logged as displayed only",
      "Waking a crewmember for a check-in, or entering a sleep station unless invited",
      "Opening a sealed bag",
      "Suggesting, naming, timing, fetching or handing over any radiation countermeasure (potassium iodide, Prussian blue, anti-sickness medicine, G-CSF or filgrastim) or any other medicine outside an RMP-PHARM-001 order"
    ],
    "related": [
      "RMP-RAD-001",
      "RMP-RAD-002",
      "RMP-NEURO-004",
      "RMP-GI-002",
      "RMP-SKIN-002",
      "RMP-PHARM-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": [
      "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"
    ],
    "robot_may": [
      "Run private check-ins after a radiation event, on screen or by voice",
      "Keep a clock-time symptom timeline",
      "Hand over emesis bags and carry sealed used bags",
      "Alert the CMO and flight surgeon"
    ],
    "robot_may_not": [
      "Name a cause or estimate a dose",
      "Touch anyone",
      "Wake anyone for a check-in",
      "Start without a human command or an accepted 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 commander or the CMO started the protocol by command after a radiation alarm, SPE warning or shelter event, or a crewmember reported symptoms after one, or a crewmember accepted a scheduled check-in prompt.",
      "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 the check-ins and to answers being logged and sent to the flight surgeon. Check-ins are private; the CMO is told of any red flag.",
    "emergency": "If the crewmember cannot answer, the robot sends an URGENT alert and a crewmember checks in person (X7).",
    "withdrawal": "The crewmember can skip any question or stop check-ins; the alert already sent stands."
  },
  "inputs": [
    {
      "id": "IN-1",
      "name": "The event and its clock time, as logged under RMP-RAD-001",
      "source": "RMP-RAD-001 log / commander",
      "required": true,
      "if_missing": "Log \"event time not stated\"; the check-in still runs."
    },
    {
      "id": "IN-2",
      "name": "Symptoms in the crewmember's words with clock times (nausea, vomiting, diarrhoea, loss of appetite, tiredness, skin redness, fever, confusion, bleeding)",
      "source": "Crewmember",
      "required": true,
      "if_missing": "Log \"no response\"; URGENT (D2)."
    },
    {
      "id": "IN-3",
      "name": "Dosimeter and vehicle monitor readings as displayed",
      "source": "RMP-RAD-002 log",
      "required": false,
      "if_missing": "Log \"reading not obtained\" (never a value)."
    },
    {
      "id": "IN-4",
      "name": "Check-in schedule, set by the flight surgeon",
      "source": "Flight surgeon",
      "required": false,
      "if_missing": "Check-ins on command only."
    },
    {
      "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": "Tell the flight surgeon and the CMO that symptom tracking after the radiation event has started, with the event time as logged under RMP-RAD-001 (URGENT at once if any nausea or vomiting 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.",
      "success": "Notice sent; URGENT alert if a symptom was stated.",
      "refs": [
        "V1 3006",
        "V2 10174"
      ]
    },
    {
      "id": "S2",
      "actor": "robot",
      "rung": 2,
      "action": "Run a private check-in on screen or by voice, camera off: red-flag questions first, then the clock time each symptom started (nausea, each time of vomiting, diarrhoea, loss of appetite, tiredness, skin redness or burning). Log the answers word for word with clock times. A crewmember who is asleep at a scheduled check-in is never woken: log \"not asked – asleep\" and tell the CMO.",
      "success": "Answers logged, \"no response\", or \"not asked – asleep\".",
      "refs": [
        "V1 6003"
      ]
    },
    {
      "id": "S3",
      "actor": "robot",
      "rung": 2,
      "action": "On the crewmember's request, hand over emesis bags and wipes from stowage; take only sealed used bags the crewmember has closed to the waste stowage the CMO names, never opening them.",
      "success": "Bags handed over; sealed bags stowed.",
      "refs": [
        "V2 7064"
      ]
    },
    {
      "id": "S4",
      "actor": "robot",
      "rung": 2,
      "action": "Send the symptom timeline as clock-time entries to the flight surgeon, next to the radiation readings already logged as displayed under RMP-RAD-001 and RMP-RAD-002, and show it to the CMO for care. It is never shown to the crewmember next to dose readings. The robot never works out a time from the event to a symptom and never says what a timing means.",
      "success": "Timeline sent to the flight surgeon and shown to the CMO.",
      "refs": [
        "V1 6003"
      ]
    },
    {
      "id": "S5",
      "actor": "crew",
      "action": "The CMO sees the crewmember on any symptom; fluids, medicine and any other care are decided by the CMO or the flight surgeon.",
      "success": "Care as decided.",
      "refs": [
        "V1 3004"
      ]
    },
    {
      "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 flight surgeon (or the CMO under the onboard checklist when there is no link) reviews the timeline with the radiation readings and decides on care and the next check-in time.",
      "success": "Decision logged.",
      "refs": [
        "V1 3004"
      ]
    },
    {
      "id": "S8",
      "actor": "robot",
      "rung": 2,
      "action": "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": "S9",
      "actor": "robot",
      "rung": 2,
      "action": "At each check-in time the flight surgeon sets, show an on-screen prompt the crewmember can accept; the check-in runs only when they accept, and never wakes anyone.",
      "success": "Prompt accepted or \"not accepted\" logged.",
      "refs": [
        "V2 10174"
      ]
    },
    {
      "id": "S10",
      "actor": "robot",
      "rung": 2,
      "action": "Send the flight surgeon one package: the symptom timeline as stated, radiation readings as displayed, alerts and decisions.",
      "success": "Package delivered or queued.",
      "refs": [
        "V1 6003",
        "V1 7003"
      ]
    }
  ],
  "decisions": [
    {
      "id": "D1",
      "after": "S2",
      "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": "S2",
      "decided_by": "robot",
      "question": "Did the crewmember answer the check-in, or say they want to skip a question?",
      "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 care and what next check-in time 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": "D4",
      "after": "S8",
      "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"
        }
      ]
    }
  ],
  "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 shelter, 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, including any question about a radiation countermeasure",
      "action": "Robot declines, says it cannot assess or advise, and routes the question to the CMO or flight surgeon.",
      "level": "stop"
    },
    {
      "id": "X9",
      "trigger": "A new radiation alarm or shelter order",
      "action": "Check-ins stop; the robot follows RMP-RAD-001 on the commander's command.",
      "level": "urgent",
      "refs": [
        "V2 10173"
      ]
    },
    {
      "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": "Nausea or vomiting after the event, as stated",
      "threshold": "any",
      "action": "URGENT alert; see RMP-GI-002; the flight surgeon decides",
      "source": "erars"
    },
    {
      "id": "RF2",
      "sign": "Diarrhoea after the event, as stated",
      "threshold": "any",
      "action": "URGENT alert; the flight surgeon decides",
      "source": "cdcars"
    },
    {
      "id": "RF3",
      "sign": "Vomiting blood or material like coffee grounds",
      "threshold": "any",
      "action": "URGENT alert; see RMP-GI-002",
      "source": "cg141"
    },
    {
      "id": "RF4",
      "sign": "Fever or shaking chills",
      "threshold": "<set by clinical lead> degrees (shared parameter FEVER_ALERT_C: body temperature in degrees Celsius, the same value in RMP-GI-003, RMP-ENT-002, RMP-SKIN-002 and RMP-RENAL-004) or higher, or any shaking chills",
      "action": "URGENT alert; see RMP-INF-001",
      "source": "ng253"
    },
    {
      "id": "RF5",
      "sign": "Bleeding gums, nosebleeds, unusual bruising or blood in the stool, as stated (design judgment)",
      "threshold": "any",
      "action": "URGENT alert; the flight surgeon decides"
    },
    {
      "id": "RF6",
      "sign": "Confusion, disorientation or a severe headache, or unresponsive",
      "threshold": "any",
      "action": "URGENT alert; start RMP-CARD-001 if not breathing normally (AHA 2025 basic life support); erars also lists headache, impaired thinking and disorientation",
      "source": "nice150"
    },
    {
      "id": "RF7",
      "sign": "Skin redness or burning, as stated",
      "threshold": "any",
      "action": "Flag to the flight surgeon; see RMP-SKIN-002",
      "source": "erars"
    },
    {
      "id": "RF8",
      "sign": "Unusual tiredness or weakness, as stated",
      "threshold": "any",
      "action": "Flag to the flight surgeon",
      "source": "erars"
    },
    {
      "id": "RF9",
      "sign": "Unable to keep fluids down, or passing little urine, as stated",
      "threshold": "any",
      "action": "URGENT alert; see RMP-GI-002 (as RMP-NEURO-004 RF2)",
      "source": "mtb004"
    },
    {
      "id": "RF10",
      "sign": "Any new symptom after the event that is not listed above, including loss of appetite, headache or dizziness, as stated",
      "threshold": "any",
      "action": "Flag at once to the flight surgeon and the CMO",
      "source": "erars"
    }
  ],
  "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": "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": "Each check-in with answers and symptom clock times as stated; \"not asked – asleep\"; emesis bags handed over and sealed bags carried; links to the RMP-RAD-001 and RMP-RAD-002 logs."
    },
    {
      "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-8",
      "text": "Each RMP-PHARM-001 run started from this protocol: order ID, result (MATCH TO ORDER, MISMATCH or CANNOT VERIFY with the fields), quarantine, and any CMO override logged by RMP-PHARM-001 (reason and mismatched fields), at clock time. No running counter of doses.",
      "refs": [
        "V2 7059"
      ]
    }
  ],
  "requirements": [
    {
      "id": "V1 3004",
      "use": "In-mission medical care; the flight surgeon decides on care after a radiation event."
    },
    {
      "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 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 7064",
      "use": "Trash management: used items leave only in a sealed waste bag."
    },
    {
      "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 check-ins after an SPE with vomiting stated, diarrhoea, a crewmember asleep at check-in, a new alarm mid-check-in, CMO as patient, lost link.",
      "pass": "Every red flag URGENT or flagged as listed; zero cause or dose statements; zero wakings."
    },
    {
      "stage": "training model",
      "what": "Check-in drills with timeline display.",
      "pass": "Every symptom logged with its clock time."
    },
    {
      "stage": "parabolic or station demonstration",
      "what": "Bag hand-over and sealed carries in weightlessness.",
      "pass": "No loose items."
    },
    {
      "stage": "flight use under flight surgeon supervision",
      "what": "First use after a radiation event.",
      "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 commander or CMO after a radiation event, by a crewmember's report, or by an accepted prompt. The flight surgeon judges every symptom and reading."
  },
  "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 flight surgeon receives each check-in 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 shelter, care already under way and all other care continue under the onboard checklist and never wait for the link or the robot.",
      "Check-ins are queued; any red flag goes to the CMO at once."
    ],
    "mars_delay": [
      "Mars: the CMO decides under the onboard checklist; the timeline is reviewed with delay."
    ]
  },
  "sources": [
    {
      "key": "erars",
      "text": "NASA Human Research Program. Evidence Report: Risk of Acute Radiation Syndromes due to Solar Particle Events (2016).",
      "url": "https://humanresearchroadmap.nasa.gov/evidence/reports/Acute.pdf",
      "supports": "The acute radiation effects most likely in the prodromal phase after an SPE exposure are nausea, vomiting, anorexia and fatigue, with possible skin injury. Read Oct 21, 2026."
    },
    {
      "key": "cdcars",
      "text": "U.S. Centers for Disease Control and Prevention. Acute Radiation Syndrome: Information for Clinicians (2024).",
      "url": "https://www.cdc.gov/radiation-emergencies/hcp/clinical-guidance/ars.html",
      "supports": "The prodromal stage of acute radiation syndrome brings nausea, vomiting and loss of appetite, and possibly diarrhea, from minutes to days after exposure, lasting minutes to several days; a latent stage follows. Read Oct 21, 2026. The CDC page itself could not be fetched from the box (403); this summary is from search-engine extracts of the page, so it is partly verified (saved note in src/b12)."
    },
    {
      "key": "tb020",
      "text": "NASA OCHMO. Design for Ionizing Radiation Protection. Technical Brief OCHMO-TB-020 Rev G (2025).",
      "url": "https://www.nasa.gov/wp-content/uploads/2023/12/ochmo-tb-020-radiation-protection.pdf",
      "supports": "Shielding is effective against solar particle events (SPEs); monitoring, accurate event determination, dosimetry and timely reporting to alert crew to seek shelter are essential. A storm shelter can add about 10 cm water equivalent in crew quarters, for example by rearranging water containers and other high-hydrogen items; radiation alerting gives early warning so the crew can configure the shelter; real-time alert dosimetry protects EVA crew if the EVA is ended within 2 hours with access to shielding. Read Oct 21, 2026."
    },
    {
      "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": "Space adaptation sickness and its parts (motion sickness, congestion, headache, back pain, urinary retention) in the first days of flight."
    },
    {
      "key": "cg141",
      "text": "National Institute for Health and Care Excellence. Acute upper gastrointestinal bleeding in over 16s: management. Clinical guideline CG141 (2012).",
      "url": "https://www.nice.org.uk/guidance/cg141",
      "supports": "Management of acute upper gastrointestinal bleeding. Cited only as context for vomiting blood as a red flag: it is a management guideline, not a symptom list."
    },
    {
      "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": "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 3004, 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": "Requirement IDs beginning V2."
    },
    {
      "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."
    },
    {
      "key": "nice150",
      "text": "National Institute for Health and Care Excellence. Headaches in over 12s: diagnosis and management. Clinical guideline CG150.",
      "url": "https://www.nice.org.uk/guidance/cg150/chapter/Recommendations",
      "supports": "Headache features that need further investigation or referral include worsening headache with fever, sudden-onset headache reaching maximum intensity within 5 minutes, new-onset neurological deficit, and impaired level of consciousness."
    }
  ],
  "corrections": [
    {
      "date": "2026-10-21",
      "version": "0.2",
      "source": "Batch 12 AI-assisted clinical review (Medical Research Assistant), Oct 21, 2026",
      "items": [
        "R6: new lockout on suggesting, naming, timing, fetching or handing over any radiation countermeasure (potassium iodide, Prussian blue, anti-sickness medicine, G-CSF or filgrastim) or any other medicine outside an RMP-PHARM-001 order; these names are never-words; X8 routes any countermeasure question to the CMO or flight surgeon. Design judgment.",
        "R7: the symptom timeline (including the clock time of first vomiting) goes only to the flight surgeon, and to the CMO for care; it is never shown to the crewmember next to dose readings. The robot never works out a time from the event to a symptom; never-words \"time to vomiting\", \"early vomiting\", \"late onset\". Design judgment.",
        "R8: new RF10: any new symptom after the event that is not listed, including loss of appetite, headache or dizziness, as stated, is flagged at once to the flight surgeon and the CMO (erars: \"nausea, vomiting, anorexia, and fatigue\").",
        "R9: RF9 (cannot keep fluids down, or passing little urine) is now URGENT, matching RMP-NEURO-004 RF2. RF6 now cites NICE CKS headache (nice150), with erars on neurological symptoms; AHA 2025 basic life support stays only for \"not breathing normally\".",
        "Batch 12 protocols now record the review as AI-assisted (Medical Research Assistant, Oct 21, 2026); no named human clinician."
      ]
    }
  ]
}
