# RMP-RESP-001 Shortness of breath: oxygen set-up support, oxygen saturation, relay
# Version 0.2 (Draft). CONCEPTUAL. NOT FOR CLINICAL USE.
# Space Medicine Foundation robot-readable protocol library. Format: https://spacemedicinefoundation.org/robotic-medicine/protocols/schema/
# Every threshold marked <set by ...> must be set by the named owner (see the schema) before any use.
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'
  reviewed: '2026-10-21'
  human_clinician_review: false
  text: >-
    AI-assisted clinical and source review by the Medical Research Assistant, Oct 21, 2026 (batch 6 review,
    26 required corrections and 17 optional suggestions); all required corrections, and the low-risk 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-RESP-001
slug: rmp-resp-001
title: 'Shortness of breath: oxygen set-up support, oxygen saturation, relay'
category: resp
tier: 1
rung_note: >-
  Max rung raised from 1 to 2 for supervised fetching of the closed oxygen kit and pulse oximeter, holding
  a display and video. The robot never starts, stops or adjusts oxygen: oxygen is a medicine, decided
  by the CMO and flight surgeon.
result_language:
  use:
  - logged, not interpreted
  - sent to flight surgeon
  - EMERGENCY FETCH – NOT VERIFIED (CMO command)
  - saturation as displayed
  - as stated by the crewmember
  never:
  - normal
  - no problem found
  - all clear
  - negative
  - any diagnosis or cause
  - oxygen not needed
  - saturation fine
  - target met
  - verified
  - asthma
  - pneumonia
  - blood clot
  - safe
  - mild
  - minor
  - reading is reassuring
  - oxygen level is good
  - collapsed lung
  - probe error
scope:
  summary: >-
    When a crewmember reports shortness of breath, or a pulse oximeter shows a low oxygen saturation (the
    share of the blood's haemoglobin carrying oxygen), the robot sends an URGENT alert at once, brings
    the sealed oxygen kit (closed) and a pulse oximeter on command, holds the display, records saturation,
    heart rate, breathing rate and symptom answers word for word, and streams video when the link allows.
    The CMO and flight surgeon decide whether to give oxygen and how much. The robot never opens the oxygen
    kit, sets a flow or names a cause.
  why: >-
    Shortness of breath can be the first sign of a cabin problem (smoke, ammonia, loss of pressure, high
    carbon dioxide), an allergic reaction, choking, a heart problem, a lung problem or a clot in a vein.
    NASA's in-flight medical conditions evidence report lists smoke inhalation and choking events in flight.
    On Earth, the British Thoracic Society (BTS) emergency oxygen guideline gives target saturation ranges
    for the clinicians who prescribe oxygen (94-98% for most acutely ill adults); these are context, not
    robot thresholds. The shared value SPO2_ALERT_PCT only raises an alert; it never gates a crew action
    (the crew act without waiting for a reading), and the clinical lead sets it per mission with the flight
    surgeon, because the cabin atmosphere can differ by mission. Pulse oximeters have limits the robot
    never hides: they can overestimate saturation (overestimation has been reported in people with dark
    skin; NICE NG253 context), a reading that cannot be obtained may mean poor circulation, and in carbon
    monoxide (CO) poisoning, for example after smoke, the oximeter reads falsely high (Hampson 1998).
    So the robot never calls a reading reassuring. Oxygen and fire: oxygen in use raises the fire risk.
    NASA-STD-3001 Volume 2 limits cabin oxygen partly because more oxygen lowers the ignition and flammability
    threshold (rationale to V2 6002 and V2 6003); so while oxygen is in use the robot keeps a set distance
    from the oxygen outlet, and "oxygen in use" goes to the commander and into RMP-ENV-001 (design judgment).
    Sudden breathlessness with one-sided chest pain, and breathlessness with new limb or neck swelling
    or pain or with coughing blood, are escalated as design judgment (Earth context: BTS pleural disease
    guideline 2023, PubMed record only; spaceflight context: a clot in the jugular vein of the neck was
    found in a crewmember on the space station, Marshall-Goebel 2019). The robot never names a cause.
    Open question for review: the value of SPO2_ALERT_PCT for each mission, and whether the onboard checklist
    starts oxygen before a saturation reading when a cabin alarm is sounding.
  covers:
  - Shortness of breath, air hunger, or a low saturation reading, in flight
  - Support while the CMO runs the onboard oxygen checklist
  - Hand-off to RMP-CARD-001 if the crewmember becomes unresponsive or is not breathing normally
  - >-
    Routing to the cabin protocols (RMP-ENV-001, RMP-ENV-002, RMP-ENV-003, RMP-ENV-004) when a cabin alarm
    is active
  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)
  - Opening the oxygen kit, placing a mask, or touching the regulator
  - Saying saturation is normal or that oxygen is not needed
  related:
  - RMP-RESP-002
  - RMP-RESP-003
  - RMP-CARD-001
  - RMP-CARD-002
  - RMP-CARD-003
  - RMP-ENV-001
  - RMP-ENV-002
  - RMP-ENV-003
  - RMP-ENV-004
  - RMP-EVA-001
  - RMP-INF-001
  - RMP-MSK-001
  - 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:
  - Send an URGENT alert at once
  - Bring the sealed oxygen kit (closed) and pulse oximeter on command
  - Hold the oximeter display where the CMO can read it
  - Record readings and word-for-word answers on a clock-time timeline
  - Stream video when the link allows
  - Reconcile the kit afterwards through RMP-PHARM-001 as an inventory record only
  robot_may_not:
  - Start, stop or adjust oxygen
  - Interpret a saturation or name a cause
  - Place a mask or probe, or touch the crewmember
  - 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 after shortness of breath was reported or
    a low reading was shown.
  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: Emergency care; recording by the CMO's agreement when the crewmember cannot speak.
  emergency: If the crewmember cannot agree, the robot proceeds on the CMO's or commander's command.
  withdrawal: The crewmember or CMO can stop video; the alert and record stand.
inputs:
- id: IN-1
  name: Shortness of breath as stated by the crewmember or a witness
  source: Voice
  required: true
  if_missing: Log "no response"; keep the URGENT alert.
- id: IN-2
  name: Saturation and heart rate as displayed on the pulse oximeter (the CMO places the probe)
  source: Pulse oximeter
  required: false
  if_missing: >-
    After <set by validation> failed readings (L4), log "saturation not obtained" (never a reassuring
    value, never "probe error"); this is an URGENT red flag (the CMO checks the crewmember now).
- id: IN-3
  name: Breathing rate, counted by the CMO
  source: CMO
  required: false
  if_missing: Log "not stated".
- id: IN-4
  name: Cabin alarms the CMO or commander states are active (smoke, ammonia, pressure, carbon dioxide)
  source: CMO / commander
  required: true
  if_missing: Log "not stated"; do not assume none.
- 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 "shortness of breath" 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.
  success: Alert acknowledged, or escalated.
  refs:
  - V2 10174
  - V1 6003
  - V1 3006
- id: S2
  actor: robot
  rung: 2
  action: >-
    On the CMO's command, bring the sealed oxygen kit (closed) and the pulse oximeter to the CMO and restrain
    them within reach. This is an emergency fetch on a human command (CMO): no barcode check runs before
    hand-over and nothing waits for one. The robot reads the kit's own label and seal status only if that
    adds no delay, says "EMERGENCY FETCH – NOT VERIFIED (CMO command)", and "seal not intact" if so, and
    hands the kit over anyway. The fetch is logged as an override: time, who asked, the reason as stated,
    kit ID and seal status. It never says "verified". The robot never opens the oxygen kit.
  success: Kit and oximeter within reach, or skipped; override logged.
  limit: <set by validation>
  refs:
  - V2 7046
- id: S3
  actor: crew
  action: >-
    The CMO places the oximeter probe, counts the breathing rate, checks cabin alarms with the commander,
    and decides on oxygen under the onboard checklist or the flight surgeon's order.
  success: Human-led care; robot logs what is stated.
  refs:
  - V1 3004
- id: S4
  actor: robot
  rung: 2
  action: >-
    Hold the oximeter display for the CMO, record each displayed saturation and heart rate with the clock
    time and the probe site and device as stated, log stated answers word for word, and stream video when
    the link allows unless the CMO stops it.
  success: Readings logged with times.
  refs:
  - V1 3003
  - V1 6003
- 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 on oxygen,
    further monitoring and any evacuation [V1 3007].
  success: Decision logged.
  refs:
  - V1 3007
- id: S7
  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: S8
  actor: robot
  rung: 2
  action: >-
    When the CMO says the event is over, run RMP-PHARM-001 reconciliation on each kit fetched: record
    the items the CMO or crew state were used, the remaining contents against the kit list, seal status
    and expiry, labelled "inventory reconciliation after emergency use – not a check before use". Flag
    the override to the flight surgeon and the pharmacy lead, and show each kit as "opened – not restocked"
    until a human restocks and reseals it.
  success: Reconciliation recorded; kit shown as opened – not restocked until resealed.
  refs:
  - V2 7059
- id: S9
  actor: robot
  rung: 2
  action: >-
    Send the flight surgeon one package: alert times, readings, stated answers, oxygen decisions as stated,
    video pointer.
  success: Package delivered or queued.
  refs:
  - V1 6003
  - V1 7001
  - V1 7003
decisions:
- id: D1
  after: S3
  decided_by: crew
  question: Has the crewmember become unresponsive or stopped breathing normally?
  branches:
  - if: 'Yes'
    then: Start RMP-CARD-001 at once; this record continues as context.
  - if: 'No'
    then: Continue.
- id: D2
  after: S4
  decided_by: robot
  question: >-
    Checked after every answer and at any point in the run (even mid-question or mid-step): does any answer,
    reading or observation meet a red flag?
  branches:
  - if: 'Yes'
    then: >-
      Stop the current question or step at once and apply the action listed for each matching red flag
      (URGENT alert, flag, or stop), with the answer or reading itself, never a cause. Every URGENT alert
      goes to the CMO and the flight surgeon at the same time (queued for the flight surgeon if the link
      is down). If the CMO is the patient, is busy treating, or does not answer, the alert goes to the
      second trained CMO, or the crewmember named before flight [V1 3006]. An URGENT alert that is not
      acknowledged within <set by validation> seconds is repeated and sent to the next named crewmember.
  - if: 'No'
    then: Continue.
- id: D3
  after: S4
  decided_by: robot
  question: Did the crewmember or CMO answer when asked?
  branches:
  - if: 'Yes'
    then: Continue.
  - if: Declined explicitly (the crewmember says no to a question)
    then: Log "declined" for that question only; the alert already sent stands.
  - if: No response, or the answer does not make sense
    then: >-
      URGENT: log "no response" (never "declined"); the CMO, or the second trained CMO if the CMO is the
      patient, checks the crewmember in person at once.
- id: D4
  after: S6
  decided_by: ground
  question: What is the plan (oxygen, monitoring, 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.
- id: D5
  after: S7
  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: >-
    Robot pauses its own movement in its stopped position and tells the CMO and the commander. This pauses
    robot movement only: crew bleeding control, CPR, defibrillation, oxygen, masks and the commander's
    vehicle procedure 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: The CMO needs the robot's space
  action: Robot moves to its rest position at once and holds; it does not leave the module on its own.
  level: safe-state
  refs:
  - V2 10172
- id: X10
  trigger: A smoke, fire, ammonia or pressure alarm becomes active
  action: >-
    Robot announces the alarm as displayed, says "oxygen in use" to the commander if oxygen is in use,
    keeps the URGENT alert and record, and follows the matching cabin protocol (RMP-ENV-001, RMP-ENV-002,
    RMP-ENV-003 or RMP-ENV-004) under the commander.
  level: urgent
  refs:
  - V2 6025
red_flags:
- id: RF1
  sign: Unresponsive, or not breathing normally
  threshold: any
  action: URGENT alert; start RMP-CARD-001 now
  source: aha2025bls
- id: RF2
  sign: Displayed saturation below the shared alert value
  threshold: below <set by clinical lead> percent (shared parameter SPO2_ALERT_PCT)
  action: >-
    URGENT alert; the CMO decides on oxygen; the crew act without waiting for a reading; the robot keeps
    recording
  source: btso2
- id: RF3
  sign: Chest pain or pressure with breathlessness (design judgment)
  threshold: any
  action: URGENT alert; see RMP-CARD-002
- id: RF4
  sign: Swelling of lips, tongue or throat, or widespread hives, with breathlessness
  threshold: any
  action: URGENT alert; see RMP-RESP-003
  source: rcuk
- id: RF5
  sign: Choking, ineffective cough or suspected inhaled object
  threshold: any
  action: URGENT alert; see RMP-RESP-002
  source: rcukchoke
- id: RF6
  sign: Breathlessness, chest pain or cough after an EVA or a cabin pressure change
  threshold: any
  action: URGENT alert; see RMP-EVA-001 and RMP-ENV-003
  source: tb037
- id: RF7
  sign: >-
    Smoke, fire, ammonia smell, a cabin toxic alarm, or a high carbon dioxide alarm or reading as displayed
  threshold: any
  action: URGENT alert; see RMP-ENV-001, RMP-ENV-002 or RMP-ENV-004
  source: atsdrnh3
- id: RF8
  sign: Confusion or drowsiness (design judgment)
  threshold: any
  action: URGENT alert; a crewmember checks in person
- id: RF9
  sign: Fever with new breathlessness (design judgment)
  threshold: any
  action: Flag to the flight surgeon; see RMP-INF-001
- id: RF10
  sign: >-
    The oximeter cannot get a reading after the validated attempts (L4), and "saturation not obtained"
    is logged
  threshold: any
  action: >-
    URGENT alert; the CMO checks the crewmember now (possible poor circulation); the robot never says
    "probe error" and never treats a missing reading as reassuring
  source: ng253
- id: RF11
  sign: Sudden breathlessness with chest pain on one side (design judgment)
  threshold: any
  action: >-
    URGENT alert; see RMP-MSK-001 after an injury or RMP-EVA-001 after an EVA or pressure change; the
    robot never names a cause
  source: bts2023pleural
- id: RF12
  sign: >-
    Breathlessness with new swelling or pain in a limb or the neck, or coughing up blood, as stated (design
    judgment)
  threshold: any
  action: URGENT alert; the CMO assesses; the flight surgeon decides; the robot never names a cause
  source: marshallgoebel2019
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: Oxygen control by the robot
  value: not allowed
  enforced: No regulator or flow task is loaded; the kit stays closed in the robot's grip
- id: L3
  name: Robot speed near the crewmember
  value: <set by validation>
  enforced: Hard limit in the controller
  refs:
  - V2 10172
- id: L4
  name: Failed oximeter readings before "saturation not obtained"
  value: <set by validation>
  enforced: Software
- id: L5
  name: Robot distance from the oxygen outlet and mask while oxygen is in use
  value: <set by validation>
  enforced: >-
    Distance sensing; the robot holds its position beyond this distance while the CMO says oxygen is in
    use
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 displayed saturation and heart rate, breathing rate, active cabin alarms, oxygen
    decisions as stated, video start/stop.
- id: LOG-6
  text: >-
    Each URGENT alert, who received it, the time it was acknowledged (or the escalation to the next named
    crewmember), and the time a human released the robot.
  refs:
  - V2 10163
- id: LOG-7
  text: >-
    Each emergency fetch as an override (time, who asked, reason as stated, kit ID, seal status) and the
    later inventory reconciliation, labelled "not a check before use".
  refs:
  - V2 7059
- 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 3003
  use: Monitor physiological well-being in flight, including oxygen saturation.
- id: V1 3004
  use: >-
    In-mission care includes vital signs; administering and managing medications, including oxygen, is
    a human capability.
- 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: Medical evacuation when needed; the flight surgeon decides.
- 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 6025
  use: >-
    Contamination monitoring and alerting: a cabin toxic alarm routes the crew to the matching cabin protocol.
- id: V2 7045
  use: Usable by non-physician crew, including when the CMO is the patient.
- id: V2 7046
  use: Patient, caregiver and supplies restrained.
- id: V2 7059
  use: >-
    Kit inventory and seal status are tracked; after an emergency fetch the robot reconciles the kit through
    RMP-PHARM-001 as an inventory record (never a check before use) and shows it as "opened – not restocked"
    until resealed.
- id: V2 10161
  use: Robot shows its status and health.
- id: V2 10162
  use: Mode changes are announced to the operator.
- id: V2 10163
  use: Robot records and shares its data.
- id: V2 10164
  use: Shows whether the human or the robot is expected to act.
- id: V2 10165
  use: Human can override and shut down the robot.
- id: V2 10168
  use: Human can take over.
- id: V2 10172
  use: Protective stop when a limit is exceeded.
- id: V2 10173
  use: Robot stays stopped if no one takes over.
- id: V2 10174
  use: Only a human starts or restarts the robot.
validation:
- stage: simulation
  what: >-
    Scripted breathlessness with and without low readings, failed oximeter, active cabin alarm, CMO as
    patient, lost link.
  pass: Zero contact; oxygen never touched; failed reading never logged as a value.
- stage: training model
  what: CMO drills with the robot fetching the closed oxygen kit.
  pass: Kit within <set by validation> seconds; kit stays closed.
- stage: parabolic or station demonstration
  what: Kit fetch and display hold in weightlessness without a patient.
  pass: Kit closed and restrained.
- 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. Alerts go to the CMO and flight surgeon at once; the CMO decides
    on oxygen.
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 the alert, records and video when the link allows.'
  loss_of_signal:
  - >-
    Only the robot pauses its own movement and tells the CMO and the commander; recording continues offline
    on confirmation.
  - >-
    Crew oxygen, CPR, masks and the commander's vehicle procedure continue under the onboard checklist
    and never wait for the link or the robot.
  mars_delay:
  - Breathing support cannot wait for the ground; the onboard checklist and two trained CMOs lead.
sources:
- key: btso2
  text: >-
    British Thoracic Society. Guideline for oxygen use in healthcare and emergency settings (emergency
    oxygen guideline page). Fetched Oct 21, 2026.
  url: https://www.brit-thoracic.org.uk/quality-improvement/guidelines/emergency-oxygen/
  supports: >-
    Recommended target saturation range for acutely ill patients not at risk of hypercapnic respiratory
    failure is 94-98%; for known COPD or other risk factors for hypercapnic respiratory failure, 88-92%
    pending blood gas results. Context for the CMO and flight surgeon only; the robot never starts, stops
    or adjusts oxygen.
- key: ermed
  text: >-
    NASA Human Research Program. Evidence Report: Risk of Adverse Health Outcomes and Decrements in Performance
    due to Medical Conditions that occur in Flight, as well as Private Medical Conditions, in Exploration
    Missions (In-Flight Medical Conditions).
  url: https://humanresearchroadmap.nasa.gov/evidence/reports/Medical.pdf
  supports: >-
    Smoke inhalation and choking or obstructed airway are listed among in-flight medical events; breathlessness
    can be the first complaint.
- 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: Hand-off to cardiac arrest support when the crewmember is unresponsive or not breathing normally.
- key: rcuk
  text: >-
    Resuscitation Council UK. Emergency treatment of anaphylaxis: guidelines for healthcare providers
    (May 2021; printed review date May 2026, which has passed. The RCUK guideline page, as fetched on
    Oct 20, 2026, still lists May 2021 as the most recent version; a newer version was not found).
  url: >-
    https://www.resus.org.uk/sites/default/files/2021-05/Emergency%20Treatment%20of%20Anaphylaxis%20May%202021_0.pdf
  supports: >-
    Anaphylaxis is characterised by sudden onset and rapid progression of symptoms, Airway and/or Breathing
    and/or Circulation problems, and usually skin or mucosal changes; airway problems include throat or
    tongue swelling, hoarse voice and stridor; breathing problems include wheeze, persistent cough, increased
    work of breathing, tiredness and hypoxaemia (SpO2 below 94%); circulation problems include pale clammy
    skin, fast heart rate, low blood pressure, dizziness, decreased conscious level and collapse; skin
    or mucosal changes alone are not a sign of anaphylaxis and may be absent in up to 20% of reactions;
    in up to 30% of cases there may be no obvious trigger; gastrointestinal symptoms without airway, breathing
    or circulation problems do not usually indicate anaphylaxis; call for help early; biphasic reactions
    occur in around 5% of patients, also after milder reactions, with a median time of around 12 hours,
    and observation for 6-12 hours may miss over half of them; adrenaline is the first-line treatment,
    given intramuscularly, and is repeated after 5 minutes if airway, breathing or circulation problems
    persist; medication accounts for 39% of anaphylaxis-related deaths (Table 1), and allergens given
    by a parenteral route (for example an IV drug or intramuscular injection) cause a more rapid onset;
    patients must not walk or stand during acute reactions.
- key: rcukchoke
  text: Resuscitation Council UK. Adult choking algorithm (2021). PDF fetched Oct 21, 2026.
  url: https://www.resus.org.uk/sites/default/files/2021-04/Adult%20Choking%20Algorithm%202021.pdf
  supports: >-
    Assess severity. Mild obstruction (effective cough): encourage cough. Severe obstruction (ineffective
    cough): if conscious, 5 back blows then 5 abdominal thrusts, continuing to check for deterioration;
    if unconscious, start CPR.
- 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: atsdrnh3
  text: >-
    Agency for Toxic Substances and Disease Registry (CDC). Medical Management Guidelines for Ammonia
    (NH3). Fetched Oct 21, 2026.
  url: https://wwwn.cdc.gov/TSP/MMG/MMGDetails.aspx?mmgid=7&toxid=2
  supports: >-
    NIOSH IDLH (immediately dangerous to life or health) 300 ppm. Ammonia is corrosive to eyes, skin and
    airways; upper airway swelling and pulmonary edema may lead to airway obstruction; after severe exposure,
    injury to the eyes, lungs and skin may continue to develop for 18 to 24 hours. Eye exposure: irrigate
    with plain water or saline for at least 15 minutes. Rescuers should be trained and appropriately attired
    before entering the contaminated (hot) zone. No antidote; treatment is supportive (humidified oxygen
    is given by clinicians).
- key: marshallgoebel2019
  text: >-
    Marshall-Goebel K, Laurie SS, Alferova IV, et al. Assessment of jugular venous blood flow stasis and
    thrombosis during spaceflight. JAMA Netw Open. 2019;2(11):e1915011. doi:10.1001/jamanetworkopen.2019.15011.
    PMID 31722025.
  url: https://pubmed.ncbi.nlm.nih.gov/31722025/
  supports: >-
    Abstract: stagnant or reverse flow in the internal jugular vein in 6 of 11 crewmembers on the space
    station, an occlusive thrombus in 1 and a possible partial thrombus in another. Spaceflight context
    for the new-swelling red flag (design judgment).
- key: bts2023pleural
  text: >-
    Roberts ME, Rahman NM, Maskell NA, et al. British Thoracic Society guideline for pleural disease.
    Thorax. 2023;78(11):1143-1156. doi:10.1136/thorax-2023-220304. PMID 37553157. PubMed record only (full
    text not read).
  url: https://pubmed.ncbi.nlm.nih.gov/37553157/
  supports: >-
    Earth context for the sudden one-sided chest pain red flag (design judgment); the robot never names
    a cause.
- key: hampson1998
  text: >-
    Hampson NB. Pulse oximetry in severe carbon monoxide poisoning. Chest. 1998;114(4):1036-41. doi:10.1378/chest.114.4.1036.
    PMID 9792574.
  url: https://pubmed.ncbi.nlm.nih.gov/9792574/
  supports: >-
    Abstract: pulse oximeters overestimate arterial oxygenation in severe carbon monoxide (CO) poisoning;
    an elevated carboxyhaemoglobin level falsely raises the pulse oximeter saturation. Why the robot never
    calls a reading reassuring during a smoke or fire event.
- 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: v1
  text: 'NASA. NASA-STD-3001, Space Flight Human-System Standard, Volume 1: Crew Health, Revision C (2023).'
  url: https://www.nasa.gov/wp-content/uploads/2023/11/nasa-std-3001-vol-1-rev-c-with-signature.pdf
  supports: >-
    NASA-STD-3001 Vol 1 Rev C: V1 3003, V1 3004 (medications, including oxygen, are human-managed), 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: >-
    NASA-STD-3001 Vol 2 Rev F: V2 6025 (contamination monitoring and alerting), V2 7046, V2 7059 and Section
    10.6 automated and robotic systems.
- key: tb044
  text: NASA OCHMO. Medical Operations. Technical Brief OCHMO-TB-044 (2025).
  url: https://www.nasa.gov/wp-content/uploads/2025/08/ochmo-tb-044-medical-operations.pdf
  supports: >-
    The crew surgeon keeps medical authority when care is delegated; crew medical officers train on the
    JSC 48522 medical checklist.
- key: marsdelay
  text: >-
    NASA. Mars communications disruption and delay (fact sheet, 2023 Moon to Mars Architecture Concept
    Review).
  url: https://www.nasa.gov/wp-content/uploads/2024/01/mars-communications-disruption-and-delay.pdf
  supports: >-
    One-way Earth-Mars delay up to about 21-23 minutes, plus blackouts of about 2-3 weeks near solar conjunction.
- key: pccp
  text: >-
    U.S. Food and Drug Administration. Marketing submission recommendations for a predetermined change
    control plan for artificial intelligence-enabled device software functions (guidance).
  url: >-
    https://www.fda.gov/regulatory-information/search-fda-guidance-documents/marketing-submission-recommendations-predetermined-change-control-plan-artificial-intelligence
  supports: A model for planning, validating and rolling back software updates.
- key: faa460
  text: 'U.S. Code of Federal Regulations, Title 14, Part 460: Human space flight requirements.'
  url: https://www.ecfr.gov/current/title-14/chapter-III/subchapter-C/part-460
  supports: >-
    Federal rules for crew and spaceflight participants on licensed commercial flights; they set no medical
    standards for spaceflight participants.
corrections:
- date: '2026-10-21'
  version: '0.2'
  source: >-
    AI-assisted clinical and source review by the Medical Research Assistant, Oct 21, 2026 (batch 6 review)
  items:
  - >-
    Oxygen and fire: the "why" links oxygen in use to fire risk (NASA-STD-3001 Vol 2 rationale to V2 6002
    and V2 6003); new limit L5 (robot distance from the oxygen outlet while oxygen is in use, set by validation);
    X10 says "oxygen in use" to the commander; RMP-ENV-001 gains an "oxygen in use" input (item 1; design
    judgment).
  - >-
    RF7 adds a high carbon dioxide alarm or reading and routes to RMP-ENV-004. New URGENT RF11 (sudden
    breathlessness with one-sided chest pain; routes to RMP-MSK-001 or RMP-EVA-001; the robot never says
    "collapsed lung") and RF12 (breathlessness with new limb or neck swelling or pain, or coughing blood),
    both design judgment with BTS pleural 2023 (PubMed record only) and Marshall-Goebel 2019 as context
    (item 2).
  - >-
    RF2 split: RF2 is now only a displayed saturation below SPO2_ALERT_PCT; new URGENT RF10 for no reading
    after the validated attempts (L4): the CMO checks now (possible poor circulation), never "probe error".
    S4 records the probe site and device (item 3).
  - >-
    The "why" says carbon monoxide makes the oximeter read falsely high (Hampson 1998, PMID 9792574) and
    that overestimation has been reported in people with dark skin (NG253 context); new never-words "reading
    is reassuring" and "oxygen level is good"; mirrored in RMP-ENV-001 (item 4).
  - RF3, RF8 and RF9 labelled design judgment; their stretched sources are removed (item 5).
  - >-
    SPO2_ALERT_PCT: the "why" says it only raises an alert, never gates a crew action, and is set per
    mission by the clinical lead with the flight surgeon; the older saturation placeholders in other protocols
    are left separate (SPO2 section, suggestion 41).
  - >-
    X5 and the comms loss-of-signal branch: only the robot pauses; crew bleeding control, CPR, defibrillation,
    oxygen, masks and the commander's vehicle procedure never wait for the link or the robot (item 24).
  - The "why" drops the 88-92% range, which was not needed for any robot step (suggestion 27).
  - >-
    Batch 6 protocols now record the review as AI-assisted (Medical Research Assistant, Oct 21, 2026);
    no named human clinician.
  - >-
    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.
