# RMP-ENV-002 Ammonia leak: emergency equipment, crew accounting; robot inspects only when the commander sends it
# Version 0.4 (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.4'
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-ENV-002
slug: rmp-env-002
title: 'Ammonia leak: emergency equipment, crew accounting; robot inspects only when the commander sends
  it'
category: env
tier: 1
rung_note: >-
  Max rung raised from 1 to 2 for supervised fetching of breathing equipment, crew accounting and video.
  The robot enters a closed or contaminated module only when the commander explicitly sends it under the
  vehicle procedure, within hard limits, and never opens a hatch or valve on its own.
result_language:
  use:
  - logged, not interpreted
  - sent to flight surgeon
  - EMERGENCY FETCH – NOT VERIFIED (commander or CMO command)
  - crew accounted as stated
  - reading as displayed
  never:
  - normal
  - no problem found
  - all clear
  - negative
  - any diagnosis or cause
  - air is clear
  - leak stopped
  - no exposure
  - safe to enter
  - verified
  - false alarm
  - safe
  - mild
  - minor
  - no smell
  - smell gone
  - reading is reassuring
scope:
  summary: >-
    When an ammonia alarm sounds or ammonia is smelled, the robot sends an URGENT alert at once to the
    CMO, the commander and the flight surgeon, brings breathing masks and the emergency and eyewash kits
    on command, keeps a crew accounting list as the commander states it, records exposures as each crewmember
    states them, and streams video when the link allows. The vehicle ammonia procedure, led by the commander,
    comes first. Only if the commander explicitly sends it may the robot carry a camera or sensor into
    a closed module, under hard limits.
  why: >-
    Spacecraft thermal systems can use ammonia, and NASA-STD-3001 Volume 2 requires that toxic releases
    be monitored and the crew alerted in time to act (V2 6025, which names ammonia among contaminants
    to monitor). On Earth, the Agency for Toxic Substances and Disease Registry (ATSDR) medical guideline
    describes ammonia as corrosive to eyes, skin and airways, with possible airway swelling and fluid
    on the lungs, injury that can keep developing for 18 to 24 hours after a severe exposure, and eye
    irrigation for at least 15 minutes; rescuers must be trained and protected before entering the contaminated
    area. A robot that can go where the crew cannot is useful, but only under the commander's control.
    Open question for review: the onboard mask type and fit check, the shared saturation threshold SPO2_ALERT_PCT,
    and how long the flight surgeon wants exposed crew watched for delayed breathing problems. Timing:
    the US Agency for Toxic Substances and Disease Registry (ATSDR) advises watching for upper-airway
    obstruction for 6 to 12 hours, and lung injury may continue to evolve over 18 to 24 hours, so the
    flight surgeon sets the look-back window for RF5. Ammonia causes olfactory fatigue (people stop smelling
    it), so the robot never says the smell is gone. 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. Operational
    context: NASA's ISS Daily Summary Report of Jan 14, 2015 describes an ammonia false alarm in which
    "The crew performed emergency procedures and subsequently evacuated the US Segment and isolated themselves
    to the Russian Segment", then re-entered "wearing protective ammonia masks and tested the atmosphere
    as a precaution" (the flight procedure itself is not public).
  covers:
  - Ammonia alarm, smell or suspected leak, in flight
  - Crew accounting and exposure records while the commander runs the vehicle procedure
  - Commander-sent robot inspection of a closed module
  - >-
    Routing to RMP-EYE-001 (eye exposure), RMP-RESP-001 (breathing), RMP-SKIN-002 (skin), RMP-ENV-005
    (decontamination supplies)
  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 or closing a hatch or valve, or isolating a module, on its own
  - Entering a closed or contaminated module unless the commander explicitly sends it
  - Saying the air is clear, the leak stopped or anyone was not exposed
  - Fitting a mask on anyone
  related:
  - RMP-ENV-001
  - RMP-ENV-003
  - RMP-EYE-001
  - RMP-RESP-001
  - RMP-SKIN-002
  - RMP-PHARM-001
  - RMP-ENV-005
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 breathing masks and the emergency and eyewash kits on command
  - Keep the crew accounting list as stated by the commander
  - Record exposures and symptoms as stated, with clock times
  - >-
    Carry a camera or sensor into a closed module only when the commander explicitly sends it, within
    hard limits
  - Stream video when the link allows
  robot_may_not:
  - Open or close a hatch or valve, or isolate a module
  - Enter a closed module on its own
  - Fit a mask or touch anyone
  - Say the air is clear or anyone is unexposed
  - 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, the CMO or the commander started the protocol by command, or the vehicle ammonia alarm
    started it and a crewmember confirmed.
  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: Alarm or smell, as stated by the commander or a crewmember
  source: Voice / vehicle display
  required: true
  if_missing: Log "no response"; keep the URGENT alert.
- id: IN-2
  name: 'Crew accounting: each crewmember and location, as stated by the commander'
  source: Commander
  required: true
  if_missing: Log "not accounted" for each crewmember not stated; never assume accounted.
- id: IN-3
  name: Each crewmember's stated exposure (eyes, skin, breathing) and symptoms
  source: Crewmember / CMO
  required: false
  if_missing: Log "not stated".
- id: IN-4
  name: Ammonia reading as displayed by the vehicle (if the vehicle shows one)
  source: Vehicle display
  required: false
  if_missing: Log "not displayed"; never interpreted.
- 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: >-
    Send an URGENT "ammonia" alert to the flight surgeon, the CMO and the commander 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
  - V2 6025
- id: S2
  actor: robot
  rung: 2
  action: >-
    On the commander's or CMO's command, bring breathing masks and the sealed emergency kit and eyewash
    kit to the crew's gathering point and restrain them within reach. This is an emergency fetch on a
    human command (commander or 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 (commander or 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 fits a mask.
  success: Equipment within reach, or skipped; override logged.
  limit: <set by validation>
  refs:
  - V2 7046
  - V2 9053
- id: S3
  actor: crew
  action: >-
    The commander runs the vehicle ammonia procedure (masks, moving to the clean module, isolation) and
    states the crew accounting; the CMO checks exposed crew.
  success: Human-led response; robot logs what is stated.
  refs:
  - V2 6025
- id: S4
  actor: robot
  rung: 2
  action: >-
    Keep the crew accounting list exactly as the commander states it, marking anyone not stated as "not
    accounted"; log each stated exposure and symptom with its clock time; stream video when the link allows.
  success: Accounting list and exposure log kept.
  refs:
  - V1 6003
- id: S5
  actor: robot
  rung: 2
  action: >-
    The default is not to enter; a hatch-side view is preferred. Only if the commander explicitly sends
    it: carry a camera or sensor into the named closed module under the vehicle procedure, within the
    hard limits for distance, time and battery, never opening a hatch or valve itself, and return on the
    commander's word or when any limit is reached. Readings are sent as displayed, never interpreted.
  success: Inspection done and robot back, or not sent.
  limit: <set by validation>
  refs:
  - V2 10168
  - V2 10172
- id: S6
  actor: robot
  rung: 2
  action: >-
    After any URGENT alert: After an URGENT alert the robot does not leave on its own: it stays at its
    rest position in the module, with its screen and voice link available, until a human has taken over
    or tells it to go. It never follows, blocks or touches anyone. It keeps time-stamping what humans
    say they did, and repeats the alert if it is not acknowledged.
  success: Robot at rest in the module until a human releases it; alert acknowledged or escalated.
  refs:
  - V2 10173
  - V1 3006
- id: S7
  actor: ground
  action: >-
    The flight surgeon (or the CMO under the onboard checklist when there is no link) decides on care
    for exposed crew, the watch period for delayed breathing problems and any evacuation [V1 3007].
  success: Decision logged.
  refs:
  - V1 3007
- id: S8
  actor: robot
  rung: 2
  action: >-
    Only after the CMO or flight surgeon has placed an order, run RMP-PHARM-001 for the ordered item (fetch,
    barcode match to every order field, recipient check). This protocol adds nothing to that check, never
    suggests an order, and never hands anything over outside RMP-PHARM-001.
  success: RMP-PHARM-001 run logged with its result, or none ordered.
  refs:
  - V2 7059
- id: S9
  actor: robot
  rung: 2
  action: >-
    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; kits shown as opened – not restocked until resealed.
  refs:
  - V2 7059
- id: S10
  actor: robot
  rung: 2
  action: >-
    Send the flight surgeon one package: alert times, accounting list, exposures and symptoms as stated,
    displayed readings, inspection video and decisions. The robot is cleaned before its next task.
  success: Package delivered or queued.
  refs:
  - V1 6003
  - V1 7001
  - V1 7003
decisions:
- id: D1
  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: D2
  after: S4
  decided_by: robot
  question: Did the commander or crewmember answer when asked for accounting or exposure?
  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: crew
  question: Does the commander explicitly send the robot into a closed module?
  branches:
  - if: 'Yes'
    then: Run S5 within the hard limits.
  - if: 'No'
    then: Skip S5; the robot stays with the crew.
- id: D4
  after: S7
  decided_by: ground
  question: What is the plan for exposed crew (care, watch period, 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: S8
  decided_by: robot
  question: What did RMP-PHARM-001 show for the ordered item?
  branches:
  - if: MATCH TO ORDER
    then: >-
      RMP-PHARM-001 completes its own recipient check and hand-over; this protocol only logs "MATCH TO
      ORDER. Not a dose, interaction or allergy review." and the clock time.
  - if: MISMATCH or CANNOT VERIFY on any field, or a failed scan or recipient check
    then: >-
      MISMATCH or CANNOT VERIFY shown with the fields named. No hand-over under this protocol: the item
      stays sealed in the NOT VERIFIED bag in quarantine (the RMP-PHARM-001 default), and the robot never
      hands it over unprompted or to anyone but the CMO. The robot does not offer or suggest an override.
      Only if the CMO explicitly makes the two-step override request inside RMP-PHARM-001 can the item
      go to the CMO, logged there as an override with the reason and the mismatched fields, and flagged
      to the flight surgeon.
    handoff: none
stop_rules:
- id: X1
  trigger: The patient (or the crewmember being examined) says stop, or withdraws consent
  action: >-
    Robot stops all motion at once, backs away to its rest position and tells the CMO. Recording stops
    unless the patient agrees to keep it running.
  level: stop
  refs:
  - V2 10165
- id: X2
  trigger: Any crewmember presses stop or takes over control
  action: Protective stop; robot holds its stopped position; only a human may restart it.
  level: safe-state
  refs:
  - V2 10165
  - V2 10168
  - V2 10174
- id: X3
  trigger: Robot fault, sensor fault, or a force, speed or reach limit is reached
  action: Protective stop and hand control to the CMO; log the fault.
  level: safe-state
  refs:
  - V2 10172
  - V2 10168
- id: X4
  trigger: CMO is asked to take over and does not respond (for example, the CMO is the patient)
  action: Robot stays stopped; the next named crewmember is called.
  level: safe-state
  refs:
  - V2 10173
  - V2 7045
- id: X5
  trigger: Loss of link, or delay longer than the limit for live guidance
  action: >-
    Robot pauses its own movement in its stopped position and tells the CMO and the commander. It never
    pauses in a hatch route or in the inspected module: during a commander-sent inspection X10 governs
    and the robot first returns to the point the commander named. This pauses robot movement only: crew
    masks, moving to the clean module, eyewash 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 commander'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: Any crewmember is "not accounted"
  action: >-
    Robot repeats the URGENT alert with the name to the commander and CMO every <set by validation> seconds
    until accounted; it does not search on its own.
  level: urgent
  refs:
  - V1 3006
- id: X10
  trigger: >-
    During a commander-sent inspection: a distance, time or battery limit is reached, the commander recalls
    the robot, or the ground link is lost
  action: >-
    Robot stops the inspection and returns by its entry route only to the point the commander named before
    entry, outside the crew's clean module; it never holds inside the inspected module or in a hatch route
    because of link loss alone. The hatch and decontamination follow the vehicle procedure: before re-entering
    the clean module, the robot waits at that point for the decontamination step the procedure states
    (for example a wipe-down and time to air out, so it does not carry ammonia in on its surfaces or by
    off-gassing), and enters the crew's module only when the commander says so. If it cannot move, it
    reports its position and waits for the commander.
  level: safe-state
  refs:
  - V2 10172
  - V2 10173
red_flags:
- id: RF1
  sign: Breathing difficulty, noisy breathing, hoarse voice or throat swelling
  threshold: any
  action: URGENT alert; see RMP-RESP-001; the CMO decides on oxygen
  source: atsdrnh3
- 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; see RMP-RESP-001; the crew act without waiting for a reading
  source: btso2
- id: RF3
  sign: Ammonia in the eyes, or eye pain after exposure
  threshold: any
  action: URGENT alert; see RMP-EYE-001 (eyewash is crew-led)
  source: atsdrnh3
- id: RF4
  sign: Ammonia on skin, or skin pain after exposure
  threshold: any
  action: URGENT alert; see RMP-SKIN-002 (chemical burn); RMP-ENV-005 for decontamination supplies
  source: atsdrnh3
- id: RF5
  sign: New cough, chest tightness, breathlessness or hoarse voice after the exposure
  threshold: within <set by flight surgeon> hours of the exposure
  action: URGENT alert; see RMP-RESP-001; delayed airway or lung injury is possible
  source: atsdrnh3
- id: RF6
  sign: Confusion or drowsiness (design judgment)
  threshold: any
  action: URGENT alert; a crewmember checks in person; see RMP-RESP-001
- id: RF7
  sign: >-
    The oximeter cannot get a reading after the validated attempts (L5), and "saturation not obtained"
    is logged
  threshold: any
  action: >-
    URGENT alert; the CMO checks the crewmember now (possible poor circulation); the robot never says
    "probe error" and never treats a missing reading as reassuring
  source: ng253
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: Hatch, valve or isolation control by the robot
  value: not allowed
  enforced: No hatch or valve task is loaded
- id: L3
  name: Distance, time and battery limits for a commander-sent inspection
  value: <set by program environmental lead with the flight surgeon>
  enforced: Controller hard limits; return when any is reached
- id: L4
  name: Robot speed near the crewmember
  value: <set by validation>
  enforced: Hard limit in the controller
  refs:
  - V2 10172
- id: L5
  name: Failed oximeter readings before "saturation not obtained"
  value: <set by validation>
  enforced: Software
logs:
- id: LOG-1
  text: Every input, robot action, decision (with who made it) and hand-off, time-stamped to the second.
  refs:
  - V2 10163
  - V2 10164
- id: LOG-2
  text: Mode changes and safety-limit events are announced to the operator as they happen and logged.
  refs:
  - V2 10162
  - V2 10172
- id: LOG-3
  text: >-
    Records are stored and sent as private medical data, encrypted, with access limited to the medical
    team.
  refs:
  - V1 6003
  - V1 7003
- id: LOG-4
  text: Results are kept in a permanent, retrievable format so the flight surgeon can see trends.
  refs:
  - V1 7001
- id: LOG-5
  text: >-
    Alert time, crew accounting list as stated, each exposure and symptom as stated, displayed readings,
    inspection start, route and return.
- 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 3004
  use: In-mission care includes emergency kits and eye irrigation; the crew deliver care.
- 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: toxic releases, including ammonia, are monitored and the crew
    alerted in time to act.
- 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 9053
  use: 'Protective equipment for expected hazards: breathing masks are fetched on command.'
- 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 alarm, crewmember not accounted, eye exposure, delayed breathlessness, commander-sent inspection
    with lost link, CMO as patient.
  pass: Zero contact; no hatch or valve action; inspection returns on every limit.
- stage: training model
  what: Ammonia drill with the robot fetching masks and keeping the accounting list.
  pass: Masks at the gathering point within <set by validation> seconds.
- stage: parabolic or station demonstration
  what: Mask fetch and module-entry route under commander control, without a leak.
  pass: Every limit stops and returns the robot.
- 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 the commander, the CMO or a crewmember. The commander leads the vehicle procedure.
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 masks, moving to the clean module, eyewash and the commander's vehicle procedure continue under
    the onboard checklist and never wait for the link or the robot.
  mars_delay:
  - The ammonia response cannot wait for the ground; the onboard checklist and two trained CMOs lead.
sources:
- 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: 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: 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: issds2015
  text: NASA. ISS Daily Summary Report 01/14/15 (2015).
  url: https://www.nasa.gov/blogs/stationreport/2015/01/14/iss-daily-summary-report-01-14-15/
  supports: >-
    Ammonia leak false alarm on the ISS: "The crew performed emergency procedures and subsequently evacuated
    the US Segment and isolated themselves to the Russian Segment"; later "the Crew ingressed the US Segment
    wearing protective ammonia masks and tested the atmosphere as a precaution." Operational context only;
    the flight procedure itself is not public. URL confirmed live (HTTP 200), Oct 21, 2026.
- 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; ammonia named among contaminants
    to monitor), V2 9053 (protective equipment), and Section 10.6 automated and robotic systems.
- 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: 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:
  - >-
    RF4 (skin): routes to RMP-SKIN-002 (chemical burn), with RMP-ENV-005 (planned) for decontamination
    supplies; RMP-ENV-005 is marked planned in covers and removed from related; RMP-SKIN-002 added to
    related (item 13).
  - >-
    X10 (inspection limit, recall or link loss): the robot returns only to the point the commander named
    before entry, outside the clean module, never holds inside the inspected module on link loss alone,
    waits for the vehicle procedure's decontamination (wipe-down and off-gassing) before re-entering the
    clean module, and enters only when the commander says so. X5 says X10 governs during an inspection.
    S5 says the default is not to enter; a hatch-side view is preferred (item 14; design judgment).
  - >-
    RF5: new cough, chest tightness, breathlessness or hoarse voice within <set by flight surgeon> hours
    of the exposure (ATSDR context: 6-12 hours for upper-airway obstruction, lung injury evolving over
    18-24 hours) (item 15).
  - RF6 (confusion or drowsiness) labelled design judgment, adds "see RMP-RESP-001" (item 16).
  - >-
    X5 and the comms loss-of-signal branch: only the robot pauses, never in a hatch route or contaminated
    module; masks, moving to the clean module, eyewash and the commander's procedure never wait for the
    link or the robot; the robot resumes on the commander's confirmation (item 24).
  - >-
    RF2 says the crew act without waiting for a reading; new URGENT RF7 and limit L5 for "saturation not
    obtained" (item 25).
  - Never-words "no smell" and "smell gone" (olfactory fatigue, ATSDR) (suggestion 36).
  - >-
    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.
- date: '2026-10-21'
  version: '0.3'
  source: Batch 7 review and batch 8 editorial (AI-assisted), Oct 21, 2026
  items:
  - >-
    Why cites NASA ISS Daily Summary Report 01/14/15 (ammonia false alarm: crew evacuated the US Segment,
    re-entered wearing ammonia masks and tested the atmosphere) as operational context; URL confirmed
    live, https://www.nasa.gov/blogs/stationreport/2015/01/14/iss-daily-summary-report-01-14-15/ (batch
    7 review suggestion 30; batch 6 suggestion 35).
  - >-
    Cross-links to the batch 8 drafts no longer say "(planned)" now that those protocols exist as v0.1
    drafts.
  - >-
    RMP-ENV-005 added back to related now that it exists as a v0.1 draft (its routing matches RF3 to RMP-EYE-001
    and RF4 to RMP-SKIN-002).
- date: '2026-10-21'
  version: '0.4'
  source: Batch 13 editorial (AI-assisted), Oct 21, 2026
  items:
  - >-
    Cross-links no longer say "planned" now that every protocol in the library exists as a draft (wording
    only).
