# RMP-RESP-003 Severe allergic reaction (possible anaphylaxis): urgent alert, bring the sealed emergency kit and oxygen kit on command, record vital signs (no drug advice)
# 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-20'
  reviewed: '2026-10-20'
  human_clinician_review: false
  text: >-
    AI-assisted clinical and source review by the Medical Research Assistant, Oct 20, 2026 (batch 3 review,
    54 corrections); all corrections are applied in this version. No named human clinician has reviewed
    it.
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-003
slug: rmp-resp-003
title: >-
  Severe allergic reaction (possible anaphylaxis): urgent alert, bring the sealed emergency kit and oxygen
  kit on command, record vital signs (no drug advice)
category: resp
tier: 1
rung_note: >-
  Max rung raised from 1 to 2 for supervised fetching and recording, as in batch 1. The robot never opens
  the kit, chooses, prepares or gives a medicine, or starts oxygen.
result_language:
  use:
  - logged, not interpreted
  - sent to flight surgeon
  - reading as shown on the device
  - dose time as stated by the CMO
  - EMERGENCY FETCH – NOT VERIFIED (CMO command)
  never:
  - normal
  - no problem found
  - all clear
  - negative
  - any diagnosis or cause
  - anaphylaxis
  - not anaphylaxis
  - just a rash
  - mild
  - resolved
  - safe
  - verified
  - time for the next dose
  - minor
scope:
  summary: >-
    If a crewmember or the CMO says a crewmember may be having an allergic reaction, the robot sends an
    URGENT alert at once, brings the sealed emergency (anaphylaxis) kit and the closed oxygen kit to the
    CMO on command, shows the allergy list from the medical record, records the vital signs and oxygen
    saturation the CMO measures and the medicines and times the CMO states on a clock-time timeline, and
    after the event reconciles the kits through RMP-PHARM-001 as an inventory record only. Afterwards
    it offers prompt-only check-ins for the watch period the flight surgeon sets. The CMO assesses, decides
    and gives every treatment.
  why: >-
    Anaphylaxis is a sudden, rapidly progressing reaction with airway, breathing or circulation problems,
    usually with skin or mucosal changes; skin changes can be absent in up to 20% of reactions, and in
    up to 30% there is no obvious trigger (Resuscitation Council UK, 2021). NASA records list 11 mild-to-moderate
    allergic reactions among US astronauts through 2006. The guideline stresses calling for help early,
    and notes biphasic reactions in about 5% of patients, also after milder reactions, with a median time
    of around 12 hours. Intramuscular adrenaline (epinephrine) is the first-line treatment for anaphylaxis
    (RCUK 2021; WAO 2020), given by the CMO under the onboard checklist; epinephrine is in the ISS flight
    formulary (HRP report, 2017). The robot never names, suggests or times a medicine; this is stated
    only so the kit contents and the checklist can be checked. Severe gastrointestinal symptoms (severe
    crampy belly pain, repeated vomiting) together with skin or mucosal changes also make anaphylaxis
    highly likely (WAO 2020). A helper that raises the alarm at once, brings the sealed kit and keeps
    an exact clock-time record lets the CMO keep both hands on the patient.
  covers:
  - >-
    Possible allergic reaction in flight: new swelling of the lips, tongue or throat, hoarse voice, wheeze
    or breathlessness, faintness, or hives, flushing or itching, especially after a new food, medicine,
    product or exposure
  - Prompt-only check-ins during the watch period after a reaction
  locked_out:
  - >-
    Opening the emergency kit, or choosing, preparing, dosing or giving any medicine (including adrenaline);
    the CMO decides and gives every medicine
  - Prompting or suggesting a repeat dose (the CMO and onboard checklist decide)
  - >-
    Dose-interval cues: no running counter, tone, colour change or spoken cue tied to any interval after
    a dose; elapsed time is given only when the CMO asks
  - Recording a check made after the kit was used as a check before use
  - Starting, stopping or adjusting oxygen (the oxygen kit is fetched closed)
  - Positioning the patient, or any airway procedure
  - Deciding whether it is anaphylaxis, or that it is mild
  - Touching, holding or restraining the crewmember
  related:
  - RMP-PHARM-001
  - RMP-PHARM-003
  - RMP-RESP-001
  - RMP-RESP-002
  - RMP-CARD-001
  - RMP-SKIN-004
  - RMP-NEURO-004
  - RMP-GI-002
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:
  - 'Crewmember with the reaction: answers if able; never asked to wait for the robot'
  - 'Second trained CMO: receives alerts if the CMO is the patient, and helps the CMO'
  - 'Pharmacy lead and flight surgeon: set the contents of the sealed emergency kit before flight'
  robot_may:
  - Send an URGENT alert at once on a crewmember's word
  - >-
    Bring the sealed emergency kit and the closed oxygen kit to the CMO on command, and restrain them
    within reach
  - Show the crewmember's allergy list from the medical record to the CMO
  - >-
    Record the vital signs, oxygen saturation and observations the CMO enters, and the medicines and times
    the CMO states
  - >-
    Show a clock-time timeline of the reaction start, each stated medicine and dose time, and each CMO
    entry; give elapsed time only when the CMO asks, in the same words each time
  - >-
    Reconcile the kits after the event through RMP-PHARM-001 as an inventory record (not a check before
    use) and show them as opened – not restocked until resealed
  - Offer prompt-only check-ins during the watch period
  robot_may_not:
  - Open the kit, or choose, prepare, dose or give any medicine
  - Suggest a dose, a repeat dose or a timing
  - Start or adjust oxygen
  - Position or touch the patient
  - Say it is or is not anaphylaxis, or that it is mild or over
  - >-
    Fetch the suspected trigger medicine again for that crewmember without a new logged order through
    RMP-PHARM-001
  - >-
    Ask the crewmember to move toward the robot, to another module, or to the kit (the robot goes to the
    patient)
  - Give any dose-interval cue, or say the kit was verified
  - 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. Nothing starts it automatically.
  check: human_start == true
  refs:
  - V2 10174
- id: PRE-2
  text: >-
    Robot self-test passed; it knows the stowage location of the sealed emergency kit and the oxygen kit,
    and the kit seals were checked at the last inventory.
  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 and current delay known. The CMO never waits for the robot or the link before treating.
  check: link_state in [live, delayed, down]
consent:
  standard: >-
    Recording and questions by voice, with the crewmember's agreement when they can give it; any question
    can be declined, and an explicit "no" is logged as declined for that question only.
  emergency: >-
    If the crewmember cannot answer, the URGENT alert stands, the robot asks nothing more, and the CMO
    leads; recording of the CMO's entries continues as part of the medical record.
  withdrawal: >-
    The crewmember can stop video at any time; the URGENT alert and the record of what was given are kept.
inputs:
- id: IN-1
  name: Reported symptoms and when they started
  source: Crewmember or CMO, by voice
  required: true
  if_missing: Log "no response" and keep the URGENT alert (D2). Never logged as declined.
- id: IN-2
  name: Possible trigger (new food, medicine, product or exposure), as reported
  source: Crewmember or CMO, by voice
  required: false
  if_missing: Log "not known". A missing trigger never lowers the alert (up to 30% have none).
- id: IN-3
  name: Allergy list and medicines from the medical record (shown to the CMO; the robot does not advise)
  source: Medical record and dose log (RMP-PHARM-003)
  required: false
  if_missing: Note "record not available".
- id: IN-4
  name: >-
    Heart rate, blood pressure, breathing rate and oxygen saturation, measured by the CMO (recorded, not
    interpreted)
  source: Entered by the CMO or read from a device the CMO placed
  required: false
  if_missing: >-
    Log "not measured". A missing value is never treated as reassuring; an oximeter with no reading is
    logged as "no reading" and flagged (RF3).
- id: IN-5
  name: Medicines given, with times, as stated by the CMO
  source: Stated by the CMO; logged as stated
  required: false
  if_missing: Log "not stated"; the robot never asks whether to give one.
- id: IN-6
  name: Link status and delay
  source: Communications system
  required: true
  if_missing: Treat as link down.
steps:
- id: S1
  actor: robot
  rung: 2
  action: >-
    On a crewmember's or the CMO's word, send an URGENT "possible severe allergic reaction" 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 to the next named crewmember.
  refs:
  - V2 10174
  - V1 6003
  - V1 3006
- id: S2
  actor: robot
  rung: 2
  action: >-
    On the CMO's command, bring the sealed emergency kit and the closed oxygen kit to the CMO at once
    and restrain them within reach. The robot never opens them. 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 CMO never
    waits for the robot: if the CMO or a crewmember already has the kit, the robot skips this step.
  success: Kits within reach, or step skipped; override logged.
  limit: <set by validation>
  refs:
  - V2 7046
- id: S3
  actor: crew
  action: >-
    The CMO removes or stops the possible trigger if possible (for example an infusion), assesses airway,
    breathing and circulation, and decides and gives every treatment under the onboard checklist, with
    the flight surgeon when the link allows. The second trained CMO helps or takes over if the CMO is
    the patient.
  success: Treatment decisions made by humans; the robot logs what is stated.
  refs:
  - V1 3004
- id: S4
  actor: robot
  rung: 2
  action: >-
    Show the allergy list from the medical record to the CMO, then ask the red-flag questions by voice
    if the crewmember can answer (swallowing, throat, breathing, faintness). D1 is checked after every
    answer.
  success: Answers logged, or "no response" logged.
- id: S5
  actor: robot
  rung: 2
  action: >-
    Record the vital signs, oxygen saturation and observations the CMO enters, and each medicine and time
    the CMO states. Show them as a timeline of clock times: reaction start, each stated medicine and dose
    time, and each CMO entry. Give elapsed time only when the CMO asks ("time since the last dose?"),
    answering in the same words each time. No running counter, tone, colour change or spoken cue is tied
    to any interval after a dose.
  success: Entries time-stamped on the timeline.
  refs:
  - V1 3004
- id: S6
  actor: robot
  rung: 2
  action: >-
    After any URGENT alert: After an URGENT alert the robot does not leave on its own: it stays at its
    rest position in the module, with its screen and voice link available, until a human has taken over
    or tells it to go. It never follows, blocks or touches anyone. It keeps time-stamping what humans
    say they did, and repeats the alert if it is not acknowledged.
  success: Robot at rest in the module until a human releases it; alert acknowledged or escalated.
  refs:
  - V2 10173
  - V1 3006
- id: S7
  actor: ground
  action: >-
    The flight surgeon (or the CMO under the onboard checklist when there is no link) decides further
    treatment, the watch period, work limits and any evacuation [V1 3007]. If the trigger may be a medicine,
    the flight surgeon records it in the medical record. The robot logs the decisions.
  success: Decision logged.
  refs:
  - V1 3007
- id: S8
  actor: robot
  rung: 2
  action: >-
    During the watch period of <set by flight surgeon> hours after the reaction, offer a check-in every
    <set by flight surgeon> hours. At each scheduled time the robot prompts the crewmember on their own
    screen; it approaches only when the crewmember (or the CMO) accepts, and a prompt never starts the
    robot. Any return of symptoms is URGENT (RF5).
  success: Each prompt accepted, postponed or answered; log closed by a human.
  refs:
  - V2 10174
- 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. Nothing in this step is recorded as a check before the kit
    was used.
  success: >-
    Reconciliation recorded and labelled; override flagged; kit shown as opened – not restocked until
    resealed.
  refs:
  - V2 7059
- id: S10
  actor: robot
  rung: 2
  action: >-
    Send the flight surgeon one package: symptom times, possible trigger, CMO entries, medicines and times
    as stated, alerts and acknowledgements.
  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. The alert from S1 stands; skin changes alone never cancel it.
- id: D2
  after: S4
  decided_by: robot
  question: Did the crewmember answer the question?
  branches:
  - if: 'Yes'
    then: Continue.
  - if: Declined explicitly (the crewmember says no to a question)
    then: Log "declined" for that question only; the alert already sent stands.
  - if: No response, or the answer does not make sense
    then: >-
      URGENT: log "no response" (never "declined"); the CMO, or the second trained CMO if the CMO is the
      patient, checks the crewmember in person at once.
- id: D3
  after: S7
  decided_by: ground
  question: What is the plan (treatment, watch period, work limits)?
  branches:
  - if: Link live
    then: Flight surgeon decides; robot logs.
  - if: Link down or delay too long
    then: >-
      The CMO decides under the pre-approved onboard checklist; the flight surgeon reviews the log at
      the next contact.
stop_rules:
- id: X1
  trigger: The patient (or the crewmember being examined) says stop, or withdraws consent
  action: >-
    Robot stops all motion at once, backs away to its rest position and tells the CMO. Recording stops
    unless the patient agrees to keep it running.
  level: stop
  refs:
  - V2 10165
- id: X2
  trigger: Any crewmember presses stop or takes over control
  action: Protective stop; robot holds its stopped position; only a human may restart it.
  level: safe-state
  refs:
  - V2 10165
  - V2 10168
  - V2 10174
- id: X3
  trigger: Robot fault, sensor fault, or a force, speed or reach limit is reached
  action: Protective stop and hand control to the CMO; log the fault.
  level: safe-state
  refs:
  - V2 10172
  - V2 10168
- id: X4
  trigger: CMO is asked to take over and does not respond (for example, the CMO is the patient)
  action: Robot stays stopped; the next named crewmember is called.
  level: safe-state
  refs:
  - V2 10173
  - V2 7045
- id: X5
  trigger: Loss of link, or delay longer than the limit for live guidance
  action: >-
    Robot pauses its own movement in its stopped position and tells the CMO and the commander. This pauses
    robot movement only: the CMO's emergency-kit treatment, crew oxygen and CPR 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 or a crewmember needs the robot's space to reach the patient
  action: Robot moves to its rest position at once and holds; it still does not leave the module on its
    own.
  level: safe-state
  refs:
  - V2 10172
red_flags:
- id: RF1
  sign: >-
    Airway: swelling of the tongue, lips or throat, a feeling that the throat is closing, trouble swallowing,
    hoarse voice, or noisy breathing in
  threshold: any
  action: URGENT alert to the CMO and flight surgeon
  source: rcuk
- id: RF2
  sign: >-
    Breathing: wheeze, persistent cough, breathlessness, tiring with the effort of breathing, or oxygen
    saturation below the alert level
  threshold: >-
    any symptom; saturation below <set by clinical lead> (for context, the guideline gives below 94% as
    hypoxaemia)
  action: URGENT alert
  source: rcuk
- id: RF3
  sign: >-
    Circulation: pale or clammy skin, fast heart rate, low blood pressure, dizziness, fainting, reduced
    alertness, or an oximeter that cannot get a reading
  threshold: any; heart rate or blood pressure beyond <set by clinical lead>
  action: URGENT alert; the CMO checks in person at once
  source: rcuk
- id: RF4
  sign: >-
    Skin or mucosal changes only (hives, flushing, itching, or swelling of the skin away from the lips,
    tongue and throat, which are RF1) after a possible trigger
  threshold: any
  action: >-
    Flag: the CMO assesses in person now. The flag stays open and the CMO sets a re-check time (a prompt
    only, after <set by flight surgeon> minutes); the red-flag questions stay live, and any airway, breathing,
    circulation or severe gastrointestinal symptom is URGENT at once (RF1-RF3, RF6)
  source: rcuk
- id: RF5
  sign: Symptoms come back after improvement
  threshold: >-
    any, during the watch period of <set by flight surgeon> hours (for context, biphasic reactions occur
    in around 5% of patients, with a median time of around 12 hours, and 6-12 hours of observation may
    miss over half)
  action: URGENT alert
  source: rcuk
- id: RF6
  sign: >-
    Severe crampy belly pain or repeated vomiting, together with skin or mucosal changes, or after an
    allergen known to affect this crewmember
  threshold: any
  action: URGENT alert; the CMO checks in person at once
  source: wao
- id: RF7
  sign: The possible trigger is a medicine the crewmember was given
  threshold: any
  action: >-
    Flag to the flight surgeon and CMO (information only; stopping a medicine is a crew action under the
    checklist); the robot fetches that medicine for that crewmember again only on a new logged order (RMP-PHARM-001)
  source: rcuk
- id: RF8
  sign: >-
    Nausea or mild belly discomfort alone, with no airway, breathing or circulation problem and no skin
    or mucosal change
  threshold: any
  action: 'Flag: the CMO assesses in person; the red-flag questions stay live; see RMP-GI-002'
  source: rcuk
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: Opening the emergency kit or handling any medicine outside its sealed kit
  value: not allowed
  enforced: No grasp mode for kit contents; kit handled closed only
- id: L3
  name: Robot speed near crew
  value: <set by validation>
  enforced: Hard limit in the controller
  refs:
  - V2 10172
- id: L4
  name: Closest approach to the patient and CMO
  value: <set by validation>
  enforced: Distance sensing; the robot stays outside it
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: >-
    Symptom onset, each CMO entry and each stated medicine and time on a clock-time timeline, so the flight
    surgeon can follow the course of the reaction.
- 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
requirements:
- id: V1 3004
  use: >-
    In-mission care includes medical kits (b), recording vital signs (h) and recording treatment (l);
    administering and managing medicines (m) 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 illness is beyond onboard capability; the flight surgeon decides.
- id: V1 5003
  use: CMO training includes medical procedures and equipment; the CMO treats.
- id: V1 6003
  use: Logs and alerts sent to the ground are private medical communications.
- id: V1 7001
  use: Records kept so the flight surgeon can see trends.
- id: V1 7003
  use: Secure handling of medical records.
- id: V2 7045
  use: Usable by non-physician crew, including when the CMO is the patient.
- id: V2 7046
  use: Patient, caregiver and supplies restrained.
- id: V2 7059
  use: >-
    Kit inventory and seal status are tracked; 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 reactions of every red-flag type, reactions without skin changes or without a known trigger,
    symptoms that return, a CMO who is the patient, no response and lost link.
  pass: >-
    Every red flag acts at once; zero medicine, dose or timing suggestions; zero dose-interval cues; zero
    kit openings; every emergency fetch logged as an override and never as verified; unacknowledged alerts
    escalate.
- stage: training model
  what: CMO training sessions on a manikin with the robot fetching the sealed kits and recording.
  pass: >-
    Kits delivered within <set by validation> seconds of the command; the CMO is never delayed or obstructed.
- stage: parabolic or station demonstration
  what: >-
    Fetching and restraining the sealed emergency kit and closed oxygen kit in weightlessness, without
    a patient.
  pass: Kits delivered closed and restrained; seals intact.
- stage: flight use under flight surgeon supervision
  what: First use as a recording aid in drills, then in real events alongside the onboard checklist.
  pass: No safety events; the record is complete and accurate.
signoff:
  protocol:
  - Clinical lead for the specialty (sets every clinical threshold marked <set by clinical lead>)
  - Flight surgeon, as medical authority
  - Robotics and medical-device safety board
  - Program approval for the mission
  restart_after_stop: >-
    Human only. After any emergency or protective stop, a crewmember must restart the robot; the robot
    never restarts itself.
  each_run: >-
    Started by a crewmember or the CMO. Every alert goes to the CMO and flight surgeon at once; the CMO
    treats under the onboard checklist; the flight surgeon decides when the link allows.
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 at once and can join by voice and video.'
  loss_of_signal:
  - >-
    The robot pauses any movement and tells the CMO; on the CMO's confirmation it keeps recording offline.
  - >-
    The CMO's emergency-kit treatment, crew oxygen and CPR continue under the onboard checklist and never
    wait for the link or the robot.
  - >-
    The CMO (or the second trained CMO) treats under the pre-approved onboard checklist; nothing waits
    for the link.
  - 'At the next contact the robot sends one package: times, entries, stated medicines and alerts.'
  mars_delay:
  - >-
    Replies may take up to about 21-23 minutes each way, with blackouts of about 2-3 weeks; treatment
    cannot wait for the ground, so the onboard checklist and two trained CMOs lead.
  - The watch period and check-in schedule after a reaction are set before flight.
sources:
- 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: wao
  text: >-
    Cardona V, Ansotegui IJ, Ebisawa M, et al. World Allergy Organization anaphylaxis guidance 2020. World
    Allergy Organ J. 2020;13(10):100472.
  url: https://doi.org/10.1016/j.waojou.2020.100472
  doi: 10.1016/j.waojou.2020.100472
  pmid: '33204386'
  supports: >-
    Anaphylaxis is highly likely with acute skin or mucosal involvement plus respiratory or cardiovascular
    involvement, or severe gastrointestinal symptoms (severe crampy abdominal pain, repetitive vomiting),
    especially after exposure to non-food allergens; intramuscular epinephrine (adrenaline) continues
    to be the first-line treatment; remove exposure to the trigger if possible (for example, discontinue
    administration of drugs or therapeutic agents).
- key: golden
  text: >-
    Golden DBK, Wang J, Waserman S, et al. Anaphylaxis: a 2023 practice parameter update. Ann Allergy
    Asthma Immunol. 2024;132(2):124-176.
  url: https://doi.org/10.1016/j.anai.2023.09.015
  doi: 10.1016/j.anai.2023.09.015
  pmid: '38108678'
  supports: >-
    AAAAI/ACAAI practice parameter on anaphylaxis, including epinephrine use. Only the citation and abstract
    were checked; the "first-line" statement in this protocol rests on RCUK 2021 and WAO 2020.
- key: ermed
  text: >-
    NASA Human Research Program. Evidence Report: Risk of Adverse Health Outcomes and Decrements in Performance
    due to In-Flight Medical Conditions (2017).
  url: https://humanresearchroadmap.nasa.gov/evidence/reports/Medical.pdf
  supports: >-
    Table 2: 11 mild-to-moderate allergic reactions among US astronauts (Shuttle, Mir and ISS through
    2006). Epinephrine is among the compounds in the ISS operational flight formulary (2017 report; current
    kit contents and form not verified).
- key: ismpadc
  text: >-
    Institute for Safe Medication Practices. Guidelines for the safe use of automated dispensing cabinets
    (2019).
  url: https://www.ismp.org/system/files/resources/2019-11/ISMP170-ADC%20Guideline-020719_final.pdf
  supports: >-
    Override is limited to medicines needed in emergent circumstances where waiting could harm the patient
    (3.3b); limit what is available on override (3.4b); require documentation of the override rationale
    (3.4d); routinely analyze override reports (3.6). Used for the emergency-fetch pattern by analogy
    (a robot fetching a sealed kit is not a dispensing cabinet).
- key: ismp
  text: >-
    Institute for Safe Medication Practices. Lack of proper escalation process for BCMA scanning failures.
    ISMP Medication Safety Alert! Acute Care, March 21, 2024.
  url: https://www.ismp.org/sites/default/files/newsletter-issues/20240321.pdf
  supports: >-
    Unsafe practices include scanning after medication administration; procedures must include an escalation
    process for barcode scanning failures. Used so that the reconciliation after an emergency fetch is
    never recorded as a check before use.
- 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 (batch 3 review)
  items:
  - >-
    Scope "why" names intramuscular adrenaline as first-line, given only by the CMO (RCUK 2021, WAO 2020;
    epinephrine in the ISS formulary per the 2017 HRP report); S3 adds removing or stopping the trigger.
    The robot still names no medicine (item 9).
  - >-
    MANDATORY (item 10): S2 is an emergency fetch with no barcode check before hand-over, logged as an
    override and announced as "EMERGENCY FETCH – NOT VERIFIED (CMO command)", with "seal not intact" if
    so; it is never called verified.
  - >-
    MANDATORY (item 11): new S9 reconciles the kits through RMP-PHARM-001 after the event, labelled "inventory
    reconciliation after emergency use – not a check before use", flags the override to the flight surgeon
    and pharmacy lead, and shows the kit as "opened – not restocked" until resealed.
  - >-
    MANDATORY (item 12): the per-dose time-since counter is replaced by a clock-time timeline; elapsed
    time only when the CMO asks, in the same words each time; no tone, colour or spoken cue tied to a
    dose interval; "dose-interval cues" added to the lockouts.
  - >-
    MANDATORY (item 13): RF6 is now URGENT for severe crampy belly pain or repeated vomiting with skin
    or mucosal changes, or after a known allergen (WAO 2020); milder gastrointestinal symptoms alone are
    the new RF8 Flag (RCUK).
  - >-
    RF4 stays a Flag but stays open, with a CMO-set re-check prompt; swelling of the lips, tongue or throat
    is RF1 (item 14).
  - >-
    RF7 now cites RCUK Table 1 (medication accounts for 39% of anaphylaxis-related deaths) and stays information
    only (item 15).
  - >-
    The robot never asks the crewmember to move toward it, to another module or to the kit (item 16; RCUK,
    by analogy).
  - >-
    Sources: WAO 2020 and the AAAAI/ACAAI 2023 practice parameter (abstract only) added; the RCUK 2021
    entry notes that its printed review date (May 2026) has passed and that the RCUK page, as fetched
    on Oct 20, 2026, still lists May 2021 as the most recent version (item 17).
  - >-
    Flight-surgeon windows and schedules that were prose only are now placeholder tokens the build can
    track, with context figures only where the review quoted a source (item 50).
  - >-
    One emergency-fetch pattern: kits are fetched on a human command with no barcode gate, logged as an
    override ("EMERGENCY FETCH – NOT VERIFIED"), never called verified, reconciled afterwards through
    RMP-PHARM-001 as an inventory record only (never a check before use), and shown as "opened – not restocked"
    until resealed (item 51; ISMP).
  - '"Mild" and "minor" are never-words in every batch 3 protocol (item 54).'
  - >-
    Cross-links added for the new routes; the build checks that each target exists in the library, and
    planned protocols link to their library entry (item 53).
- 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: ermed, v2). Editorial; no change to steps, thresholds or limits.
  - >-
    X5 and the comms loss-of-signal branch now say only the robot pauses: crew the CMO's emergency-kit
    treatment under the checklist, oxygen and CPR never wait for the link or the robot (batch 6 review
    item 24 / suggestion 40). Editorial; robot behaviour unchanged.
- 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 reworded: "the CMO's emergency-kit treatment, crew oxygen and
    CPR continue under the onboard checklist and never wait for the link or the robot" (batch 7 review
    item 14). Editorial.
