{
  "$schema": "https://spacemedicinefoundation.org/robotic-medicine/protocols/schema/protocol.schema.json",
  "schema_version": "0.3",
  "version": "0.3",
  "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 5 review, 25 required corrections and 18 optional suggestions); all required corrections, and the low-risk editorial suggestions, 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-NEURO-002",
  "slug": "rmp-neuro-002",
  "title": "Stroke warning signs: guided check recording, urgent relay",
  "category": "neuro",
  "tier": 1,
  "rung_note": "Max rung raised from 1 to 2 for supervised recording, glucose kit fetch if ordered, and video. The robot never diagnoses stroke or gives medicine.",
  "result_language": {
    "use": [
      "logged, not interpreted",
      "sent to flight surgeon",
      "as reported by the crewmember",
      "FAST answers as stated"
    ],
    "never": [
      "normal",
      "no problem found",
      "all clear",
      "negative",
      "any diagnosis or cause",
      "stroke",
      "not a stroke",
      "TIA",
      "mini-stroke",
      "FAST positive",
      "FAST negative",
      "cleared",
      "safe",
      "mild",
      "minor"
    ]
  },
  "scope": {
    "summary": "When a crewmember or the CMO reports sudden face, arm or speech change, sudden weakness, numbness, vision loss, severe headache with neurological signs, or other sudden neurological symptoms, the robot sends an URGENT alert at once, runs a private guided check using FAST (Face Arm Speech Test) questions and a blood-glucose check if the CMO measures one, records answers word for word, streams video when the link allows, and sends the package to the flight surgeon. The robot never says whether it is a stroke or a transient ischaemic attack (TIA), never gives aspirin or any medicine, and never delays the alert for a score.",
    "why": "NICE NG128 recommends using a validated tool such as FAST outside hospital to screen sudden neurological symptoms for stroke or TIA, excluding hypoglycaemia as a cause, and referring suspected TIA for specialist assessment within 24 hours; ABCD2-type scores must not decide urgency. In flight there is no stroke unit and CT (computed tomography) is not yet readily available, so every suspected case is URGENT for the flight surgeon, including evacuation decisions [V1 3007]. Decompression sickness and arterial gas embolism can look like stroke after a spacewalk (see RMP-EVA-001). A helper that alerts at once and records an exact FAST and glucose log saves time for the CMO. Any aspirin standing order, if used at all, lives only on the flight surgeon's onboard checklist. NG128's early aspirin recommendations assume either suspected TIA or ischaemic stroke after imaging has excluded haemorrhage; without CT, that risk judgment is the flight surgeon's alone. The robot never names aspirin, never fetches it without a human order through RMP-PHARM-001, and never treats resolving symptoms as low risk (RF6).",
    "covers": [
      "Sudden face droop, arm weakness, speech difficulty, sudden vision loss, sudden severe headache with neurological signs, or other sudden focal neurological symptoms, in a crewmember who may or may not be able to answer",
      "Post-EVA neurological symptoms also run RMP-EVA-001"
    ],
    "locked_out": [
      "Saying it is or is not a stroke or TIA",
      "Giving aspirin or any medicine (human order and RMP-PHARM-001)",
      "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)",
      "Dose-interval cues (any reminder, tone, colour, countdown or spoken cue tied to when a medicine was last taken)",
      "Using ABCD2 or any score to lower urgency",
      "Touching the crewmember",
      "Delaying the URGENT alert for the questionnaire"
    ],
    "related": [
      "RMP-NEURO-001",
      "RMP-NEURO-003",
      "RMP-NEURO-007",
      "RMP-EVA-001",
      "RMP-EYE-002",
      "RMP-CARD-001",
      "RMP-CARD-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": [
      "Second trained CMO: receives alerts if the CMO is the patient",
      "Crewmember: answers if able"
    ],
    "robot_may": [
      "Send an URGENT alert at once",
      "Ask FAST and related questions by voice or on screen and log answers word for word",
      "Fetch a glucose meter kit only after a human order, through a checked or emergency fetch as required",
      "Stream video when the link allows",
      "Run RMP-PHARM-001 only after a human order"
    ],
    "robot_may_not": [
      "Diagnose stroke or TIA",
      "Give or suggest aspirin or any medicine",
      "Touch the crewmember",
      "Lower urgency because a score is low",
      "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": "A crewmember or the CMO started the protocol by command.",
      "check": "human_start == true",
      "refs": [
        "V2 10174"
      ]
    },
    {
      "id": "PRE-2",
      "text": "Robot self-test passed.",
      "refs": [
        "V2 10161"
      ]
    },
    {
      "id": "PRE-3",
      "text": "Link status known. The alert never waits for the questionnaire.",
      "check": "link_state in [live, delayed, down]"
    }
  ],
  "consent": {
    "standard": "Questions by voice with agreement when the crewmember can give it; any question can be declined.",
    "emergency": "If the crewmember cannot answer, the URGENT alert stands and the CMO examines in person.",
    "withdrawal": "The crewmember can stop questions; the alert stands."
  },
  "inputs": [
    {
      "id": "IN-1",
      "name": "FAST questions: face droop, arm weakness, speech difficulty; time of onset as stated, or if onset was not seen, the time last known well as stated by the crewmember or a witness",
      "source": "Crewmember or CMO",
      "required": true,
      "if_missing": "Log \"no response\"; URGENT; CMO checks in person. Never logged as declined."
    },
    {
      "id": "IN-2",
      "name": "Blood glucose as measured by the CMO (recorded, not interpreted)",
      "source": "Entered by the CMO",
      "required": false,
      "if_missing": "Log \"not measured\"; still URGENT (NG128: exclude hypoglycaemia)."
    },
    {
      "id": "IN-3",
      "name": "Other sudden symptoms: vision, severe headache, leg weakness, seizure, after EVA or pressure change",
      "source": "Crewmember or CMO",
      "required": false,
      "if_missing": "Log \"not reported\"."
    },
    {
      "id": "IN-4",
      "name": "Current anticoagulant or antiplatelet medicine (including aspirin), as stated or from the medical record shown to the CMO; the robot does not interpret bleeding risk and sends it privately with the FAST package",
      "source": "Crewmember, CMO or medical record",
      "required": false,
      "if_missing": "Log \"not stated\"."
    },
    {
      "id": "IN-5",
      "name": "Link status and delay",
      "source": "Communications system",
      "required": true,
      "if_missing": "Treat as link down."
    }
  ],
  "steps": [
    {
      "id": "S1",
      "actor": "robot",
      "rung": 2,
      "action": "On a crewmember's or the CMO's word, send an URGENT \"possible stroke warning signs\" alert to the flight surgeon and the CMO at once. 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. The questionnaire never delays this alert.",
      "success": "Alert acknowledged, or escalated.",
      "refs": [
        "V2 10174",
        "V1 6003",
        "V1 3006"
      ]
    },
    {
      "id": "S2",
      "actor": "robot",
      "rung": 2,
      "action": "Ask the FAST questions and time of onset (or, if onset was not seen, the time last known well) by voice or on screen, camera off unless the CMO asks for video. Log answers word for word. D1 is checked after every answer.",
      "success": "Answers logged, or \"no response\" logged.",
      "refs": [
        "V1 3004"
      ]
    },
    {
      "id": "S3",
      "actor": "crew",
      "action": "The CMO examines in person, measures blood glucose if able, and decides care under the onboard checklist with the flight surgeon when the link allows. Any aspirin or other medicine is a human order only.",
      "success": "CMO entries logged.",
      "refs": [
        "V1 3004"
      ]
    },
    {
      "id": "S4",
      "actor": "robot",
      "rung": 2,
      "action": "If the CMO orders a glucose meter or other kit: use the emergency fetch if an URGENT flag has fired or the CMO states an emergency; otherwise a checked kit fetch. Any medicine goes only through RMP-PHARM-001.",
      "success": "Fetch logged under the matching pattern.",
      "refs": [
        "V2 7059"
      ]
    },
    {
      "id": "S5",
      "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": "S6",
      "actor": "ground",
      "action": "The flight surgeon (or the CMO under the onboard checklist when there is no link) decides treatment, observation, EVA-related paths and any evacuation [V1 3007]. No ABCD2-type score changes urgency. Any aspirin decision is the flight surgeon's only; the robot never says whether evacuation will happen.",
      "success": "Decision logged.",
      "refs": [
        "V1 3007"
      ]
    },
    {
      "id": "S7",
      "actor": "robot",
      "rung": 2,
      "action": "Send the flight surgeon one package: FAST answers as stated, onset time or time last known well, anticoagulant or antiplatelet medicine as stated, glucose if measured, video pointer, alerts and decisions.",
      "success": "Package delivered or queued.",
      "refs": [
        "V1 6003",
        "V1 7001",
        "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. The URGENT alert from S1 stands; a normal-sounding answer never cancels it."
        }
      ]
    },
    {
      "id": "D2",
      "after": "S2",
      "decided_by": "robot",
      "question": "Did the crewmember answer the 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": "S4",
      "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"
        }
      ]
    },
    {
      "id": "D4",
      "after": "S6",
      "decided_by": "ground",
      "question": "What is the plan (treatment, observation, evacuation)?",
      "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": "Robot pauses its own movement in its stopped position and tells the CMO and the commander. This pauses robot movement only: crew oxygen, CPR and the CMO's checklist 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; the robot resumes only on the CMO's confirmation. Everything is logged and sent to the flight surgeon at the next contact.",
      "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": "A seizure starts",
      "action": "Robot moves to its rest position, clears its items and sends an URGENT alert; see RMP-NEURO-003.",
      "level": "urgent",
      "refs": [
        "V2 10172"
      ]
    },
    {
      "id": "X10",
      "trigger": "The crewmember becomes unresponsive or stops breathing normally",
      "action": "URGENT; start RMP-CARD-001.",
      "level": "urgent"
    }
  ],
  "red_flags": [
    {
      "id": "RF1",
      "sign": "Face droop, arm weakness or speech difficulty of sudden onset, as stated (FAST)",
      "threshold": "any",
      "action": "URGENT alert; the CMO checks in person now",
      "source": "ng128"
    },
    {
      "id": "RF2",
      "sign": "Sudden vision loss or double vision, sudden severe headache with neurological signs, or sudden leg weakness or numbness",
      "threshold": "any",
      "action": "URGENT alert; see also RMP-EYE-002 and RMP-NEURO-007",
      "source": "ng128"
    },
    {
      "id": "RF3",
      "sign": "Blood glucose below the alert level the clinical lead set, as the CMO measures",
      "threshold": "below <set by clinical lead> (for context, NG128: exclude hypoglycaemia)",
      "action": "URGENT alert; the CMO treats low glucose under the checklist; the robot does not advise",
      "source": "ng128"
    },
    {
      "id": "RF4",
      "sign": "Symptoms after a spacewalk, suited test or pressure change",
      "threshold": "any",
      "action": "URGENT alert; see RMP-EVA-001 (possible arterial gas embolism or decompression sickness)",
      "source": "tb037"
    },
    {
      "id": "RF5",
      "sign": "Seizure with the neurological symptoms",
      "threshold": "any",
      "action": "URGENT alert; see RMP-NEURO-003",
      "source": "ng217"
    },
    {
      "id": "RF6",
      "sign": "Symptoms resolve before the CMO arrives, as stated",
      "threshold": "any",
      "action": "URGENT alert still stands (possible TIA); the flight surgeon decides; the robot never says it was a mini-stroke or that risk is low (NG128: do not use ABCD2 to set urgency)",
      "source": "ng128"
    }
  ],
  "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": "Handing over a mismatched or unverified medicine under this protocol",
      "value": "not allowed",
      "enforced": "RMP-PHARM-001 quarantine is the default; only the CMO's logged two-step override inside RMP-PHARM-001 can release it"
    },
    {
      "id": "L3",
      "name": "Robot speed near the crewmember",
      "value": "<set by validation>",
      "enforced": "Hard limit in the controller",
      "refs": [
        "V2 10172"
      ]
    },
    {
      "id": "L4",
      "name": "Check-in length",
      "value": "<set by validation>",
      "enforced": "Timer; then the check-in ends"
    }
  ],
  "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": "Alert time, each FAST answer as stated, glucose as entered, medicines via RMP-PHARM-001, and decisions."
    },
    {
      "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": "History, examination and private medical communication; medicines are human decisions."
    },
    {
      "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 3007",
      "use": "Evacuation decisions for suspected stroke stay with the flight surgeon."
    },
    {
      "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": "Medicines are fetched and inventory is tracked only through RMP-PHARM-001; a mismatched item is quarantined and this protocol never hands it over."
    },
    {
      "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 FAST-positive and FAST-unclear cases, hypoglycaemia, post-EVA symptoms, resolving symptoms, no response, lost link.",
      "pass": "Alert always first; zero stroke diagnoses; zero ABCD2 urgency changes; zero medicine hand-overs after MISMATCH."
    },
    {
      "stage": "Earth analog",
      "what": "Crew training with scripted answers.",
      "pass": "Package completeness at or above <set by validation>."
    },
    {
      "stage": "flight use under flight surgeon supervision",
      "what": "First use in drills.",
      "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 a crewmember or the CMO. Every alert goes to the CMO and flight surgeon at once."
  },
  "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 sees summaries at the private medical conference and can be alerted at any time.",
    "loss_of_signal": [
      "The robot pauses any movement and tells the CMO; on the CMO's confirmation it keeps recording FAST answers and logging offline.",
      "Crew oxygen, CPR and the CMO's checklist continue under the onboard checklist and never wait for the link or the robot.",
      "Red flags go to the CMO (or the second trained CMO) at once; the CMO decides under the pre-approved onboard checklist.",
      "At the next contact the robot sends one package: the log, alerts and decisions."
    ],
    "mars_delay": [
      "Replies may take up to about 21-23 minutes each way, with blackouts of about 2-3 weeks; red-flag thresholds and the check-in schedule are set before flight and the CMO acts on them."
    ]
  },
  "sources": [
    {
      "key": "ng128",
      "text": "National Institute for Health and Care Excellence. Stroke and transient ischaemic attack in over 16s: diagnosis and initial management. NICE guideline NG128 (published 1 May 2019; last updated 13 April 2022).",
      "url": "https://www.nice.org.uk/guidance/ng128/chapter/Recommendations",
      "supports": "1.1.1 Use a validated tool such as FAST (Face Arm Speech Test) outside hospital to screen people with sudden onset of neurological symptoms for stroke or transient ischaemic attack (TIA). 1.1.2 Exclude hypoglycaemia as the cause. 1.1.5 Refer immediately people who have had a suspected TIA for specialist assessment within 24 hours. 1.1.6 Do not use scoring systems such as ABCD2 to assess risk of subsequent stroke or to inform urgency of referral."
    },
    {
      "key": "ng228",
      "text": "National Institute for Health and Care Excellence. Stroke rehabilitation in adults. NICE guideline NG228.",
      "url": "https://www.nice.org.uk/guidance/ng228",
      "supports": "Stroke rehabilitation guideline (context only). Acute recognition stays with NG128; this draft does not cover rehabilitation."
    },
    {
      "key": "ng217",
      "text": "National Institute for Health and Care Excellence. Epilepsies in children, young people and adults. NICE guideline NG217 (published 27 April 2022; last updated 5 August 2026).",
      "url": "https://www.nice.org.uk/guidance/ng217/chapter/7-Treating-status-epilepticus-repeated-or-cluster-seizures-and-prolonged-seizures",
      "supports": "7.1.1 Treat as status epilepticus seizures lasting 5 minutes or more. 7.1.2 Follow an individualised emergency management plan if immediately available. Give a benzodiazepine as first-line treatment in the community when no plan is available; if the first dose does not work, call emergency services (7.1.7-7.1.8). The robot never chooses or gives a medicine; this is context for the CMO and the onboard checklist."
    },
    {
      "key": "tb037",
      "text": "NASA OCHMO. Decompression Sickness (DCS) Risk Mitigation. Technical Brief OCHMO-TB-037 Rev D (Oct 5, 2026).",
      "url": "https://www.nasa.gov/wp-content/uploads/2023/12/ochmo-tb-037-decompression-sickness.pdf",
      "supports": "DCS is caused by inert gas bubbles forming during rapid reductions in ambient pressure, most significantly in the move from cabin pressure to EVA suit pressure; NASA classifies DCS as Type I (itching, musculoskeletal pain, mild rashes) and Type II (neurological symptoms, numbness, weakness, cognitive issues, inner ear problems, cardiopulmonary issues), and describes cutis marmorata (a mottled, patterned skin rash); arterial gas embolism can cause stroke-like neurological effects, loss of consciousness and seizures; U.S. Navy protocols are widely adopted on Earth; diagnosis is based on symptoms; the majority of cases present between 60 and 240 minutes and inflammatory responses can last more than 24 hours; no hyperbaric chamber is available in flight, and increasing suit and cabin pressure may be combined to treat symptoms, depending on the scenario; a break in prebreathe rapidly reintroduces nitrogen; NASA has never experienced a Type II event in spaceflight."
    },
    {
      "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."
    },
    {
      "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 3007."
    },
    {
      "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."
    }
  ],
  "corrections": [
    {
      "date": "2026-10-21",
      "version": "0.2",
      "source": "AI-assisted clinical and source review by the Medical Research Assistant, Oct 21, 2026 (batch 5 review)",
      "items": [
        "IN-1 and S2 record the time of onset, or if onset was not seen, the time last known well; both go in the flight surgeon package (item 9).",
        "New input: current anticoagulant or antiplatelet medicine (including aspirin), as stated or from the medical record; the robot does not interpret bleeding risk and sends it privately with the FAST package (item 10).",
        "Aspirin: the open question is closed. Any aspirin standing order lives only on the flight surgeon's checklist; without CT the risk judgment is the flight surgeon's alone; the robot never names aspirin or fetches it without a human order through RMP-PHARM-001 (item 11).",
        "S6: the robot never says whether evacuation will happen (suggestion 34).",
        "Batch 5 drafts 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": "Batch 7 editorial (AI-assisted), Oct 21, 2026",
      "items": [
        "Citation labels changed to the site's year-only convention: \"(approved for public release <date>)\" now reads \"(YYYY)\", and NASA-STD-3001 Volume 2 \"Revision F (approved July 14, 2026)\" now reads \"(Rev F, 2026)\" (sources: v2). Editorial; no change to steps, thresholds or limits.",
        "X5 and the comms loss-of-signal branch now say only the robot pauses: crew oxygen, CPR and the CMO's checklist never wait for the link or the robot (batch 6 review item 24 / suggestion 40). Editorial; robot behaviour unchanged."
      ]
    }
  ]
}
