{
  "$schema": "https://spacemedicinefoundation.org/robotic-medicine/protocols/schema/protocol.schema.json",
  "schema_version": "0.3",
  "id": "RMP-CARD-002",
  "slug": "rmp-card-002",
  "title": "Chest pain: vital signs and 12-lead ECG recording support, relay to the flight surgeon",
  "version": "0.4",
  "status": "draft",
  "conceptual": true,
  "not_for_clinical_use": true,
  "category": "cardio",
  "tier": 1,
  "max_autonomy": 2,
  "rung_note": "Raised from rung 1 in the library outline: the robot fetches the monitor and kits under supervision. It never touches the chest; the crew place the electrodes.",
  "missions": [
    "leo",
    "commercial",
    "moon",
    "mars"
  ],
  "updated": "2026-10-21",
  "review": {
    "state": "reviewed-ai-assisted",
    "requested": "2026-10-20",
    "reviewed": "2026-10-20",
    "human_clinician_review": false,
    "text": "AI-assisted clinical and source review by the Medical Research Assistant, Oct 20, 2026; no named human clinician. All corrections from that review are applied in this version (see Corrections). Written with AI assistance; sources self-verified."
  },
  "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
  },
  "result_language": {
    "use": [
      "recorded, not interpreted",
      "sent to flight surgeon",
      "ECG not obtained (signal quality)"
    ],
    "never": [
      "normal",
      "no problem found",
      "all clear",
      "negative",
      "any diagnosis or cause",
      "normal ECG",
      "not a heart attack"
    ]
  },
  "scope": {
    "summary": "When a crewmember reports chest pain or a chest-pain equivalent, the robot brings the monitor and kits, helps the crew record vital signs and a 12-lead ECG as fast as possible, and sends the recordings to the flight surgeon. It repeats the recordings on the flight surgeon's schedule. It never reads the ECG.",
    "why": "Chest pain is time-critical and common on Earth. On Earth, guidelines ask for a 12-lead ECG to be acquired and interpreted (reviewed) within 10 minutes of arrival. The robot only acquires and sends; a human must review every ECG. On a small crew, a robot that fetches, prompts and records can free the CMO to look after the patient.",
    "covers": [
      "Chest pain, pressure, tightness or discomfort in the chest, shoulders, arms, neck, back, upper abdomen or jaw, new shortness of breath, or unexplained fatigue (nausea may accompany these), in a crewmember who is responsive and breathing normally"
    ],
    "locked_out": [
      "Interpreting the ECG or naming a cause",
      "Placing electrodes or touching the chest",
      "Any medicine advice (for example aspirin or nitroglycerin): decided by the CMO and flight surgeon",
      "Starting, stopping or adjusting oxygen (oxygen is a medicine; decided by the CMO and flight surgeon). The oxygen kit is fetched closed.",
      "Defibrillation or running a cardiac arrest (see RMP-CARD-001)",
      "Delaying a call to the ground or onboard emergency care while it records"
    ],
    "related": [
      "RMP-CARD-001",
      "RMP-CARD-003",
      "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": [
      "Onboard ECG reviewer: the CMO, or the onboard reader the flight surgeon names before flight. Reviews every ECG when the link is down or delayed beyond the live-guidance limit.",
      "Second crewmember: helps restrain and position the patient",
      "Patient: answers symptom questions and can stop the robot at any time"
    ],
    "robot_may": [
      "Fetch the monitor, ECG electrodes, oxygen kit (closed) and defibrillator (staged, unopened) and restrain them next to the patient",
      "Alert the flight surgeon at time zero, when the link is up",
      "Show the electrode placement diagram and lead-contact indicators",
      "Record vital signs and the ECG, time-stamp them and send them",
      "Ask structured symptom questions and log the answers word for word",
      "Remind the CMO when a repeat recording is due"
    ],
    "robot_may_not": [
      "Interpret any recording or say it is normal",
      "Touch the patient's chest",
      "Suggest, choose or dose any medicine or fluid",
      "Start, stop or adjust oxygen",
      "Decide on evacuation",
      "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": "Patient is responsive and breathing normally. If not, stop this protocol and start the cardiac arrest protocol (RMP-CARD-001).",
      "check": "patient_responsive == true and breathing_normal == true"
    },
    {
      "id": "PRE-2",
      "text": "A crewmember started the run by command; CMO present and able to take over at any moment.",
      "check": "human_start == true and cmo_present == true",
      "refs": [
        "V2 10174",
        "V2 10168",
        "V2 10164"
      ]
    },
    {
      "id": "PRE-3",
      "text": "Patient, caregiver and kits restrained.",
      "check": "restraints_ok == true",
      "refs": [
        "V2 7046"
      ]
    },
    {
      "id": "PRE-4",
      "text": "Monitor and robot self-tests passed; status shown to the crew.",
      "check": "selftest_ok == true",
      "refs": [
        "V2 10161"
      ]
    },
    {
      "id": "PRE-5",
      "text": "Link status and current delay known.",
      "check": "link_state in [live, delayed, down]"
    }
  ],
  "consent": {
    "standard": "The patient agrees by voice or touch; the robot logs it before recording.",
    "emergency": "If the patient cannot agree, the robot proceeds only on a CMO decision (and the flight surgeon's, when the link allows), logged as an emergency decision.",
    "withdrawal": "The patient can withdraw at any time by saying stop; the robot stops and backs away."
  },
  "inputs": [
    {
      "id": "IN-1",
      "name": "12-lead ECG signal with lead-off detection",
      "source": "ECG monitor",
      "required": true,
      "if_missing": "Prompt the CMO to re-seat electrodes. After <set by validation> attempts, log \"ECG not obtained\" and continue with vital signs. Never hold up the urgent call."
    },
    {
      "id": "IN-2",
      "name": "Heart rate and rhythm strip",
      "source": "Monitor",
      "required": true,
      "if_missing": "Ask the CMO to count the pulse and enter it."
    },
    {
      "id": "IN-3",
      "name": "Blood pressure",
      "source": "Monitor cuff",
      "required": true,
      "if_missing": "CMO takes a manual reading and enters it."
    },
    {
      "id": "IN-4",
      "name": "Oxygen saturation",
      "source": "Pulse oximeter",
      "required": true,
      "if_missing": "Log as missing; continue."
    },
    {
      "id": "IN-5",
      "name": "Breathing rate",
      "source": "Entered by crew",
      "required": true,
      "if_missing": "Log as missing; continue."
    },
    {
      "id": "IN-6",
      "name": "Symptom answers: onset time, nature, location and spread, triggers, what eases it, other symptoms",
      "source": "Voice or touch questionnaire",
      "required": true,
      "if_missing": "Log \"not answered\"; continue."
    },
    {
      "id": "IN-7",
      "name": "Earlier (baseline) ECG from the medical record",
      "source": "Medical record",
      "required": false,
      "if_missing": "Note \"no baseline available\" for the flight surgeon."
    },
    {
      "id": "IN-8",
      "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 crew command such as \"chest pain\", alert the CMO and, if the link is up, send an immediate \"chest pain event started\" alert to the flight surgeon; start the event clock (time zero). Recordings follow as they are made.",
      "success": "CMO acknowledges; flight surgeon alert delivered, or queued if there is no link.",
      "refs": [
        "V2 10174",
        "V1 6003"
      ]
    },
    {
      "id": "S2",
      "actor": "robot",
      "rung": 2,
      "action": "Bring the monitor and ECG kit, the oxygen kit (closed; the robot never starts or adjusts oxygen) and the defibrillator (unopened) to the patient and restrain them.",
      "success": "Kits restrained at the patient.",
      "limit": "<set by validation>",
      "refs": [
        "V2 7046"
      ]
    },
    {
      "id": "S3",
      "actor": "crew",
      "action": "Restrain the patient and caregiver; place electrodes and the blood pressure cuff while the robot shows the placement diagram and lead-contact indicators.",
      "success": "All leads in contact."
    },
    {
      "id": "S4",
      "actor": "robot",
      "rung": 2,
      "action": "Record a 12-lead ECG and vital signs; label each with time and patient ID.",
      "success": "Recording passes the signal-quality check."
    },
    {
      "id": "S5",
      "actor": "robot",
      "rung": 2,
      "action": "Send the ECG and vital signs to the flight surgeon at once, and show them to the onboard ECG reviewer; send symptom answers as soon as S6 is complete. If there is no link, queue them and show the CMO the onboard checklist page. Sending to the ground does not count as review.",
      "success": "Delivery confirmed, or queued and shown to the CMO.",
      "refs": [
        "V1 6003",
        "V1 7003"
      ]
    },
    {
      "id": "S6",
      "actor": "robot",
      "rung": 2,
      "action": "Ask the structured symptom questions and log the answers word for word.",
      "success": "Answers logged."
    },
    {
      "id": "S7",
      "actor": "robot",
      "rung": 2,
      "action": "Repeat the ECG and vital signs every <set by flight surgeon> minutes, and at once if symptoms change. A first ECG without changes does not rule out a heart attack.",
      "success": "Each repeat recorded, sent, and shown to the onboard ECG reviewer when the link is down or delayed."
    },
    {
      "id": "S8",
      "actor": "ground",
      "action": "Flight surgeon (or CMO under the onboard checklist) decides treatment, monitoring and any evacuation planning; robot logs the decisions.",
      "success": "Decision logged.",
      "refs": [
        "V1 3007"
      ]
    }
  ],
  "decisions": [
    {
      "id": "D1",
      "after": "S1",
      "decided_by": "crew",
      "question": "Is the patient unresponsive or not breathing normally?",
      "branches": [
        {
          "if": "Yes",
          "then": "Stop this protocol; start RMP-CARD-001 (the robot brings the defibrillator; crew run the arrest)."
        },
        {
          "if": "No",
          "then": "Continue."
        }
      ]
    },
    {
      "id": "D2",
      "after": "S4",
      "decided_by": "robot",
      "question": "Did the ECG pass the signal-quality check?",
      "branches": [
        {
          "if": "Yes",
          "then": "Continue to S5."
        },
        {
          "if": "No after <set by validation> attempts",
          "then": "Hand back to the CMO; report \"ECG not obtained\"; send vital signs anyway."
        }
      ]
    },
    {
      "id": "D3",
      "after": "S5",
      "decided_by": "ground",
      "question": "What happens next (treatment, repeat schedule, evacuation planning)?",
      "branches": [
        {
          "if": "Link live",
          "then": "Flight surgeon decides; robot logs."
        },
        {
          "if": "Link down or delay too long",
          "then": "The CMO (or the named onboard reader) reviews each ECG against the pre-flight checklist; the CMO decides under the pre-approved onboard checklist; flight surgeon reviews at next contact."
        }
      ]
    },
    {
      "id": "D4",
      "after": "S7",
      "decided_by": "robot",
      "question": "Has a device alarm or a red-flag value appeared?",
      "branches": [
        {
          "if": "Yes",
          "then": "Urgent alert to the CMO and flight surgeon (see red flags). The robot reports the value only, not its meaning."
        },
        {
          "if": "No",
          "then": "Continue the repeat schedule."
        }
      ]
    }
  ],
  "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: it pauses any movement in its stopped position and tells the CMO. This pauses robot movement only: the crew's ECG recording, CPR, defibrillation and oxygen continue under the onboard checklist and never wait for the link or the robot. The CMO decides whether to continue 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": "Patient becomes unresponsive",
      "action": "Switch to RMP-CARD-001; the robot brings the defibrillator.",
      "level": "urgent"
    }
  ],
  "red_flags": [
    {
      "id": "RF1",
      "sign": "Systolic blood pressure low or high",
      "threshold": "below or above <set by clinical lead> mmHg",
      "action": "URGENT alert to CMO and flight surgeon"
    },
    {
      "id": "RF2",
      "sign": "Heart rate low or high",
      "threshold": "below or above <set by clinical lead> beats per minute",
      "action": "URGENT alert"
    },
    {
      "id": "RF3",
      "sign": "Oxygen saturation low",
      "threshold": "below <set by clinical lead>%",
      "action": "URGENT alert"
    },
    {
      "id": "RF4",
      "sign": "Fainting or near-fainting, sweating, vomiting or new shortness of breath",
      "threshold": "any",
      "action": "URGENT alert",
      "source": "gulati"
    },
    {
      "id": "RF5",
      "sign": "Sudden, ripping pain spreading to the back",
      "threshold": "any",
      "action": "URGENT alert",
      "source": "gulati"
    },
    {
      "id": "RF6",
      "sign": "Pain worsening, or not settling",
      "threshold": "after <set by clinical lead> minutes",
      "action": "URGENT alert"
    },
    {
      "id": "RF7",
      "sign": "Monitor rhythm alarm",
      "threshold": "any device alarm",
      "action": "URGENT alert; the robot names the alarm, not a diagnosis"
    },
    {
      "id": "RF8",
      "sign": "Chest pain, cough or shortness of breath after an EVA or a cabin pressure change",
      "threshold": "within <set by flight surgeon> hours of the EVA or pressure change (window not sourced; set before flight)",
      "action": "URGENT alert; the flight surgeon and CMO consider the decompression illness (pressure-related illness) pathway [V1 3004]"
    }
  ],
  "safety_limits": [
    {
      "id": "L1",
      "name": "Contact with the patient's chest",
      "value": "not allowed",
      "enforced": "Keep-out zone in the robot controller",
      "refs": [
        "V2 10172"
      ]
    },
    {
      "id": "L2",
      "name": "Robot speed near crew",
      "value": "<set by validation>",
      "enforced": "Hard limit in the controller",
      "refs": [
        "V2 10172"
      ]
    },
    {
      "id": "L3",
      "name": "Hand-over force when passing kits",
      "value": "<set by validation>",
      "enforced": "Force sensing at the gripper"
    },
    {
      "id": "L4",
      "name": "Time from command to kits at the patient",
      "value": "<set by validation>",
      "enforced": "Logged; if exceeded, crew fetch kits directly"
    }
  ],
  "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": "Time zero, time to first transmitted ECG, and every repeat, so the delay can be audited."
    }
  ],
  "requirements": [
    {
      "id": "V1 3004",
      "use": "In-mission care includes assessing and trending vital signs and electrocardiography; administering and managing medications (including oxygen) is a human capability; and diagnosing and treating pressure-related illness (dysbarism)."
    },
    {
      "id": "V1 3006",
      "use": "Two crew medical officers per vehicle for NASA programs (see the commercial-flight note)."
    },
    {
      "id": "V1 3007",
      "use": "Evacuation for problems beyond onboard care; the flight surgeon decides."
    },
    {
      "id": "V1 6003",
      "use": "Recordings sent to the ground are private medical communications."
    },
    {
      "id": "V1 7001",
      "use": "Recordings kept for trend analysis."
    },
    {
      "id": "V1 7003",
      "use": "Secure handling of medical records."
    },
    {
      "id": "V2 7045",
      "use": "Equipment usable by non-physician crew, including when the CMO is the patient."
    },
    {
      "id": "V2 7046",
      "use": "Patient, caregiver and supplies restrained."
    },
    {
      "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": "Recorded ECG and vital-sign data, scripted chest-pain scenarios at station, Moon and Mars delays.",
      "pass": "Time to transmitted ECG at or below <set by clinical lead>; zero cases of the robot interpreting or labeling a recording."
    },
    {
      "stage": "training model",
      "what": "Manikin with an ECG simulator; crew place electrodes while the robot fetches and records.",
      "pass": "Lead-quality pass rate at or above <set by validation>; zero keep-out-zone violations."
    },
    {
      "stage": "Earth analog",
      "what": "Analog crews (for example an undersea or isolation habitat) with remote flight surgeons.",
      "pass": "Pass criteria set in advance by the clinical lead and safety board."
    },
    {
      "stage": "flight use under flight surgeon supervision",
      "what": "First flight use limited to scheduled, non-urgent ECGs on healthy crew.",
      "pass": "No safety events; flight surgeon judges recordings usable."
    }
  ],
  "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 any crewmember. Flight surgeon agreement when the link allows; otherwise the CMO under the onboard checklist, with flight surgeon review at the next contact."
  },
  "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: recordings go to the flight surgeon in near real time, and the flight surgeon can watch video.",
    "loss_of_signal": [
      "The robot pauses any movement and tells the CMO; on the CMO's confirmation it keeps recording on schedule and queues everything (store-and-forward).",
      "The crew's ECG recording, CPR, defibrillation and oxygen continue under the onboard checklist and never wait for the link or the robot.",
      "With no link, the CMO (or the onboard reader the flight surgeon names before flight) reviews each ECG against the pre-flight checklist. Sending the ECG to the ground does not count as review.",
      "The CMO decides under the pre-approved onboard checklist; the robot never waits for the ground before urgent onboard care.",
      "At the next contact the robot sends one package: ECGs, vital-sign trend, symptom answers and the decision log."
    ],
    "mars_delay": [
      "With up to about 21-23 minutes one way, and blackouts of about 2-3 weeks, no one on the ground can review an ECG within 10 minutes. The CMO (or the named onboard reader) reviews each ECG against the pre-flight checklist; repeat ECGs continue, because a first ECG without changes does not rule out a heart attack.",
      "Thresholds, repeat schedules and escalation rules must be set before flight; the CMO acts on them.",
      "The robot shows how long ago each package was sent and whether a reply has arrived."
    ],
    "max_delay_for_live_guidance": "<set by validation>"
  },
  "sources": [
    {
      "key": "gulati",
      "text": "Gulati M, Levy PD, Mukherjee D, et al. 2021 AHA/ACC/ASE/CHEST/SAEM/SCCT/SCMR guideline for the evaluation and diagnosis of chest pain. Circulation. 2021;144(22):e368-e454.",
      "url": "https://doi.org/10.1161/CIR.0000000000001029",
      "doi": "10.1161/CIR.0000000000001029",
      "pmid": "34709879",
      "supports": "On Earth, a 12-lead ECG should be acquired and interpreted within 10 minutes of arrival; an initial normal ECG does not exclude acute coronary syndrome, so ECGs are repeated while symptoms continue; chest pain includes pressure, tightness or discomfort in the chest, shoulders, arms, neck, back, upper abdomen or jaw; sudden ripping pain radiating to the back is suspicious of an acute aortic syndrome."
    },
    {
      "key": "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": "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": "Requirement IDs beginning V1."
    },
    {
      "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": "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-20",
      "version": "0.2",
      "source": "AI-assisted clinical and source review by the Medical Research Assistant, Oct 20, 2026",
      "items": [
        "The flight surgeon is now alerted at time zero (S1), when the link is up, not after the ECG is sent.",
        "Symptom answers are sent once S6 is complete (they were listed as sent before being asked).",
        "Starting, stopping or adjusting oxygen is locked out; the oxygen kit is fetched closed.",
        "Anginal equivalents now include unexplained fatigue, with nausea as an accompanying symptom (Gulati 2021).",
        "PRE-1 now reads \"responsive and breathing normally\", matching D1.",
        "New red flag RF8: chest pain, cough or shortness of breath after an EVA or a cabin pressure change (possible decompression illness); the time window is an unsourced placeholder.",
        "The 10-minute guideline now says \"acquired and interpreted (reviewed)\"; the robot only acquires and sends.",
        "An onboard ECG reviewer (the CMO, or a reader the flight surgeon names before flight) reviews every ECG when the link is down or delayed; sending to the ground does not count as review.",
        "Loss of link (X5) now means: pause motion, tell the CMO, and continue offline only on the CMO's confirmation (fixes the contradiction with the comms branch).",
        "Added a commercial-flight note on who the flight surgeon and CMO are, and a fixed list of robot lockouts checked by the build."
      ]
    },
    {
      "date": "2026-10-21",
      "version": "0.2",
      "source": "Batch 5 editorial (AI-assisted), Oct 21, 2026; batch 4 review item 49",
      "items": [
        "Inherited stop-rule and requirement wording: \"holds a safe position\" → \"holds its stopped position\"; \"stays in its safe state\" → \"stays stopped\"; \"take over safely\" → \"take over\"; \"Robot stays safe if no one takes over\" → \"Robot stays stopped if no one takes over\". Schema level name safe-state and never-word list entry \"safe\" unchanged."
      ]
    },
    {
      "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."
      ]
    },
    {
      "date": "2026-10-21",
      "version": "0.4",
      "source": "Batch 7 review and batch 8 editorial (AI-assisted), Oct 21, 2026",
      "items": [
        "X5 and the comms loss-of-signal branch now say only the robot pauses: the crew's ECG recording, CPR, defibrillation and oxygen continue under the onboard checklist and never wait for the link or the robot (batch 7 review item 13). Editorial; robot behaviour unchanged."
      ]
    }
  ]
}
