# RMP-PREV-002 Periodic health exam support: reminder, checked kit fetch, vital signs as displayed, consented photos and a secure record (the CMO examines)
# 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 10 review:
    10 required corrections, R1 to R10, of which R10 applies to RMP-CARD-004, RMP-EGR-002, RMP-EGR-003
    and RMP-NEURO-005; 20 optional suggestions); all required corrections that apply to this protocol
    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-PREV-002
slug: rmp-prev-002
title: >-
  Periodic health exam support: reminder, checked kit fetch, vital signs as displayed, consented photos
  and a secure record (the CMO examines)
category: prev
tier: 2
rung_note: >-
  Max rung 2 for the scheduled prompt, a checked kit fetch, showing the flight surgeon's exam checklist,
  recording vital signs as displayed and the CMO's findings as stated, and consented photos of listed
  areas only. The crewmember or CMO places every device; the robot never touches anyone and never judges
  a finding.
result_language:
  use:
  - reading as displayed
  - reading not obtained
  - finding as stated by the CMO
  - photo recorded
  - photo not obtained
  - logged, not interpreted
  - sent to flight surgeon
  never:
  - normal
  - no problem found
  - all clear
  - negative
  - any diagnosis or cause
  - high
  - low
  - in range
  - out of range
  - healthy
  - fit
  - fit for duty
  - good
  - better
  - worse
  - stable
  - unchanged
  - reading is reassuring
  - safe
  - mild
  - minor
scope:
  summary: >-
    At the times the flight surgeon schedules, the robot prompts the crewmember that a periodic health
    exam is due; the exam starts only when the crewmember (or the CMO) accepts. The robot brings the exam
    kit by a checked kit fetch, shows the flight surgeon's exam checklist and the RMP-CARD-005 preparation
    checklist for blood pressure, records vital signs as displayed and the CMO's findings word for word,
    takes consented photos of only the areas the checklist lists, and sends one secure package to the
    flight surgeon. A default checklist (design judgment) covers vital signs including temperature and
    body mass, a symptom review, skin, hands and feet, mouth and throat, eyes (imaging under RMP-EYE-003)
    and musculoskeletal complaints; the flight surgeon owns and changes it. Behavioral health stays in
    the private RMP-BEH-002 and RMP-BEH-003, never in this exam log.
  why: >-
    Programs must provide in-mission capabilities to monitor physiological and psychosocial well-being
    and deliver preventive health care (V1 3003), and medical records must be kept in a retrievable form
    for trends (V1 7001) and handled securely (V1 7003). Accurate blood pressure needs a standard technique,
    including no caffeine, exercise or smoking in the 30 minutes before, quiet rest, an arm supported
    at heart level and the right cuff size (Muntner 2019); RMP-CARD-005's checklist is reused. Photos
    follow the RMP-SKIN-003 rules (IMI 2019: standard views, an establishing view with surrounding skin,
    consent). What the exam covers, how often, and the alert values are set by the flight surgeon; the
    robot's role (prompt, fetch, checklist, record only) is design judgment. 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.
  covers:
  - Periodic health exams on the flight surgeon's schedule, in flight or on a planetary surface
  - >-
    Vital signs as displayed by crew-placed devices; the CMO's findings as stated; consented photos of
    listed areas
  - >-
    Scheduled blood pressure checks alone: RMP-CARD-005; eye imaging: RMP-EYE-003; kit readiness: RMP-PREV-001
  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)
  - Placing, inflating or removing any device, or touching anyone
  - Saying whether a reading or finding is normal, high, low or changed, or that a crewmember is fit
  - Changing the exam checklist, the schedule or the alert values
  - Photographing any area not on the checklist, or any photo without consent
  - >-
    Showing a photo or record on a shared display, or using them for robot or AI training, research or
    outreach without separate written consent
  related:
  - RMP-CARD-005
  - RMP-SKIN-003
  - RMP-PREV-001
  - RMP-EYE-003
  - RMP-CARD-002
  - RMP-PHARM-001
  - RMP-CARD-004
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:
  - Prompt the crewmember at the scheduled time
  - Bring the exam kit by a checked kit fetch (or an emergency fetch)
  - Show the exam checklist and the blood pressure preparation checklist
  - Record readings as displayed and findings as stated
  - Take consented photos of listed areas, without contact
  - Send the secure package to the flight surgeon
  robot_may_not:
  - Place any device or touch anyone
  - Say what a reading or finding means
  - Change the checklist or schedule
  - Photograph unlisted areas or without consent
  - Start a scheduled exam without a human accepting the prompt
  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: >-
    The exam starts only when the crewmember (or the CMO) accepts the on-screen prompt; a loaded schedule
    alone never starts it. An unaccepted prompt is logged "not accepted" and the CMO is told. A crewmember
    or the CMO can also start it by command.
  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: >-
    The crewmember agrees to the exam, to readings and findings being recorded and sent to the flight
    surgeon, and, before the camera moves, to each photo session. For the genital, breast or buttock area,
    the robot camera is used only if the crewmember chooses it; otherwise the CMO takes the photos with
    a handheld camera and adds them to the log.
  emergency: >-
    If the crewmember cannot agree, this is not a scheduled exam: the robot sends an URGENT alert and
    a crewmember checks in person (X7).
  withdrawal: >-
    The crewmember can skip any part or stop at any time; withdrawal stops future photos, and the flight
    surgeon decides on photos already taken.
inputs:
- id: IN-1
  name: >-
    The flight surgeon's exam checklist (the default: vital signs including temperature and body mass,
    symptom review, skin, hands and feet, mouth and throat, eyes, musculoskeletal complaints), schedule
    and photo list for this crewmember
  source: Flight surgeon
  required: true
  if_missing: The robot shows "checklist not loaded" and runs only on a human command.
- id: IN-2
  name: >-
    Vital signs as displayed by crew-placed devices (blood pressure, heart rate, oxygen saturation, temperature,
    and body mass as displayed by the vehicle's mass-measurement device), each with the clock time
  source: Crew-placed devices
  required: true
  if_missing: Log "reading not obtained" (never a value) and tell the CMO.
- id: IN-3
  name: The CMO's findings, as stated
  source: CMO
  required: false
  if_missing: Log "not stated".
- id: IN-4
  name: Symptoms or concerns in the crewmember's words
  source: Crewmember
  required: false
  if_missing: Log "no response"; D3 applies.
- id: IN-5
  name: Each photo, with the area, view, date and clock time
  source: Robot camera
  required: false
  if_missing: Log "photo not obtained" and tell the CMO.
- id: IN-6
  name: Link status and delay
  source: Communications system
  required: true
  if_missing: Treat as link down; the package is queued.
steps:
- id: S1
  actor: robot
  rung: 2
  action: >-
    At the scheduled time, show the crewmember an on-screen prompt that a periodic health exam is due,
    and tell the flight surgeon and the CMO (URGENT if any red flag is stated). The exam starts only when
    the crewmember or the CMO accepts the prompt; an unaccepted prompt is logged "not accepted" and the
    CMO is told. 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: Prompt accepted, or "not accepted" logged and sent.
  refs:
  - V2 10174
  - V1 3003
  - V1 3006
- id: S2
  actor: robot
  rung: 2
  action: >-
    On the CMO's command, run a checked kit fetch of the periodic exam medical kit (vital-signs devices
    and the exam items the kit list states): check the kit ID and seal before hand-over, and quarantine
    a kit whose ID or seal does not match (no hand-over; the CMO is told). Any medicine goes only through
    RMP-PHARM-001. If an URGENT red flag has fired or a human states an emergency, bring it instead as
    an emergency fetch: 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".
  success: Kit within reach after a matched ID and seal, or quarantined, or emergency fetch logged.
  limit: <set by validation>
  refs:
  - V2 7046
  - V2 7059
- id: S3
  actor: robot
  rung: 2
  action: >-
    Show the flight surgeon's exam checklist and, for blood pressure, the RMP-CARD-005 preparation checklist
    (the same restrained position each time; an empty bladder; quiet rest with no talking; no exercise,
    caffeine or nicotine in the last 30 minutes; a bare arm held at heart level by a strap or restraint;
    the middle of the cuff at mid-chest level; the cuff size the kit chart gives). On request only, the
    robot shows the time elapsed since the start the CMO called, as a clock-time entry; it never announces
    a time, and never says "time reached", "done", "passed" or "failed".
  success: Checklists shown; the crewmember says when they are ready.
  refs:
  - V1 3003
- id: S4
  actor: crew
  action: >-
    The crewmember or the CMO places each device and takes each reading; the CMO examines as the checklist
    states.
  success: Readings taken and findings stated, or not obtained.
  refs:
  - V1 3003
- id: S5
  actor: robot
  rung: 2
  action: >-
    Record each reading as displayed, with the clock time and position, and the CMO's findings word for
    word, marked "as stated by the CMO"; a missing reading is logged as "reading not obtained", never
    a value. Show an on-screen prompt for symptoms or concerns the crewmember can accept, and log answers
    word for word.
  success: Readings, findings and answers logged.
  refs:
  - V1 3003
  - V1 7001
- id: S6
  actor: crew
  action: >-
    For each area on the photo list, the CMO sets the standard view and the area to frame (with a margin
    of surrounding skin) and places the scale the flight surgeon chose. For the genital, breast or buttock
    area, the robot camera is used only if the crewmember chooses it; otherwise the CMO takes the photos
    with a handheld camera and adds them to the log.
  success: View and area set.
  refs:
  - V1 3004
- id: S7
  actor: robot
  rung: 2
  action: >-
    Only after the crewmember agrees (D4), move the camera to the view the CMO set, no closer than the
    set camera distance, and take the standard set (an establishing view with surrounding skin, a close-up
    with the scale, and the same close-up without it). Label each with the area, view, date and clock
    time and mark it "for human review". A photo with anything outside the area the CMO set in frame is
    held unsent and flagged to the flight surgeon, who decides whether to keep it.
  success: Photos taken and labelled, or "photo not obtained".
  limit: <set by validation>
  refs:
  - V1 7001
- id: S8
  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: S9
  actor: ground
  action: >-
    The flight surgeon (or the CMO under the onboard checklist when there is no link) reviews the exam
    and decides on follow-up, care and the next exam.
  success: Decision logged.
  refs:
  - V1 3003
- id: S10
  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: S11
  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: Kit reconciled or shown as "opened – not restocked".
  refs:
  - V2 7059
- id: S12
  actor: robot
  rung: 2
  action: >-
    Send the flight surgeon one secure package: readings as displayed with times, findings as stated,
    answers, labelled photos, alerts and decisions. Photos are stored only in the crewmember's medical
    record, encrypted in storage and in transit as the program requires; access is limited to the CMO,
    the flight surgeon and people the flight surgeon names. They are never shown on a shared display and
    never used for robot or AI training, research or outreach without separate written consent.
  success: Package delivered or queued.
  refs:
  - V1 6003
  - V1 7001
  - V1 7003
decisions:
- id: D1
  after: S2
  decided_by: robot
  question: Which kit fetch was it, and what did the checked kit fetch show?
  branches:
  - if: EMERGENCY FETCH (an URGENT red flag had fired, or a crewmember or the CMO stated an emergency)
    then: >-
      Hand-over already done as an emergency fetch, logged as an override; reconciled afterwards (not
      a check before use).
  - if: KIT ID AND SEAL MATCH
    then: >-
      Hand the kit over closed; log "KIT ID AND SEAL MATCH. Not a check of the contents." and the clock
      time.
  - if: MISMATCH, seal not intact or CANNOT VERIFY
    then: >-
      Shown with the reason. No hand-over under this protocol: the kit stays sealed 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 kit go to the CMO, logged there as an override with the reason,
      and flagged to the flight surgeon. If the need becomes an emergency, a crewmember or the CMO states
      it and the emergency fetch applies.
    handoff: none
- id: D2
  after: S5
  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: S5
  decided_by: robot
  question: Did the crewmember answer the prompt, or say they want to skip it?
  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: robot
  question: >-
    Before the camera moves: did the crewmember agree to this session's photos (each view is named on
    screen before it is taken)?
  branches:
  - if: 'Yes'
    then: Continue to S7; the crewmember can say stop before or during any view.
  - if: No, or no answer
    then: The camera does not move and no photo is taken; log "photo not taken – no consent" and tell
      the CMO.
- id: D5
  after: S9
  decided_by: ground
  question: What follow-up, care and next exam apply?
  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: D6
  after: S10
  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: >-
    Only the robot pauses: before it holds, it moves to a position clear of a hatch route or a crewmember's
    route (it never pauses in one), and tells the CMO. This pauses robot movement only: the exam already
    under way and all crew care 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;
    it resumes only on the CMO's confirmation.
  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 crewmember or CMO asks to stop photos, or anything outside the area the CMO set is in frame
  action: >-
    Robot stops the camera at once and logs it; any photo with something outside the set area in frame
    is held unsent and flagged to the flight surgeon, who decides whether to keep it.
  level: stop
- id: X10
  trigger: Someone needs the space or route the robot is in
  action: Robot moves clear at once without contact and holds; it never pauses in a hatch route.
  level: safe-state
  refs:
  - V2 10172
red_flags:
- id: RF1
  sign: Displayed systolic blood pressure low or high (design judgment; same values as RMP-CARD-002 RF1)
  threshold: below or above <set by clinical lead> mmHg
  action: >-
    URGENT alert; see RMP-CARD-005 and RMP-CARD-003; if low blood pressure with light-headedness, see
    RMP-CARD-004
- id: RF2
  sign: Displayed heart rate low or high (design judgment; same values as RMP-CARD-002 RF2)
  threshold: below or above <set by clinical lead> beats per minute
  action: URGENT alert; see RMP-CARD-003
- id: RF3
  sign: Chest pain, pressure or tightness, as stated
  threshold: any
  action: URGENT alert; see RMP-CARD-002
  source: gulati
- id: RF4
  sign: Displayed oxygen saturation (pulse oximeter) 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: RF5
  sign: >-
    The oximeter cannot get a reading after the validated attempts (L6), 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: RF6
  sign: Fever or shaking chills
  threshold: >-
    <set by clinical lead> degrees (shared parameter FEVER_ALERT_C: body temperature in degrees Celsius,
    the same value in RMP-GI-003, RMP-ENT-002, RMP-SKIN-002 and RMP-RENAL-004) or higher, or any shaking
    chills
  action: URGENT alert; see RMP-INF-001
  source: ng253
- id: RF7
  sign: Unresponsive, or not breathing normally
  threshold: any
  action: URGENT alert; start RMP-CARD-001 now
  source: aha2025bls
- id: RF8
  sign: Any new symptom or concern the crewmember states (design judgment)
  threshold: any
  action: Flag to the flight surgeon; the CMO decides whether to examine now
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: Placing, inflating or adjusting any device by the robot
  value: not allowed
  enforced: No such task is loaded
- id: L3
  name: Camera distance from the crewmember
  value: <set by validation>
  enforced: Hard limit in the controller
  refs:
  - V2 10172
- id: L4
  name: >-
    Photo shown on a shared display, or used for robot or AI training, research or outreach without separate
    written consent
  value: not allowed
  enforced: >-
    Photos are stored only in the crewmember's medical record, encrypted in storage and in transit as
    the program requires; access is limited to the CMO, the flight surgeon and people the flight surgeon
    names.
  refs:
  - V1 7003
- id: L5
  name: Robot speed near the crewmember
  value: <set by validation>
  enforced: Hard limit in the controller
  refs:
  - V2 10172
- id: L6
  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: >-
    Each reading as displayed with time and position; readings not obtained; findings as stated by the
    CMO; answers as stated; consent before each photo session; each photo with area, view and time; photos
    held unsent and the flight surgeon's decision; who viewed the record.
- 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
- id: LOG-9
  text: >-
    Each checked kit fetch: time, who asked, kit ID, seal status and result (KIT ID AND SEAL MATCH, MISMATCH,
    seal not intact or CANNOT VERIFY), and any quarantine.
  refs:
  - V2 7059
requirements:
- id: V1 3003
  use: In-mission preventive health care and monitoring; the CMO examines and the flight surgeon decides.
- id: V1 3004
  use: >-
    In-mission medical care capabilities, including inventory monitoring and the flight surgeon's decisions
    on 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 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 exams with an unaccepted prompt, a kit seal mismatch, a reading past an alert value, a failed
    oximeter reading, a missed photo consent, CMO as patient, lost link.
  pass: Zero contact; zero interpretation; zero photos without consent; every red flag raised.
- stage: training model
  what: Exam drill with crew-placed devices and photos on a model.
  pass: Every reading logged as displayed; photos comparable and labelled.
- stage: parabolic or station demonstration
  what: Checklist display, kit fetch and camera positioning in weightlessness.
  pass: Keep-out and camera distance held.
- stage: flight use under flight surgeon supervision
  what: First use for a scheduled exam.
  pass: No safety or privacy 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: >-
    Scheduled by the flight surgeon and accepted by the crewmember or CMO, or started by command. The
    CMO examines; the flight surgeon judges every finding.
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 package when the link allows and can join by private
    call.
  loss_of_signal:
  - >-
    Only the robot pauses non-essential motion, at a position clear of hatch routes and crew routes, and
    tells the CMO; it resumes offline only on the CMO's confirmation.
  - >-
    The exam already under way and all crew care continue under the onboard checklist and never wait for
    the link or the robot.
  - The exam continues offline under the checklist; the package is queued.
  mars_delay:
  - >-
    Mars: no real-time guidance; the checklist, schedule and alert values are set before flight and the
    CMO decides.
sources:
- key: muntner2019
  text: >-
    Muntner P, Shimbo D, Carey RM, et al. Measurement of blood pressure in humans: a scientific statement
    from the American Heart Association. Hypertension. 2019;73(5):e35-e66.
  url: https://doi.org/10.1161/HYP.0000000000000087
  doi: 10.1161/HYP.0000000000000087
  pmid: '30827125'
  supports: >-
    Table 5 (best practices): an empty bladder; rest quietly for at least 5 minutes; no talking or texting;
    back supported, feet flat, legs not crossed; cuff on a bare arm, sized to the arm; arm supported at
    heart level; avoid caffeine, exercise and smoking for at least 30 minutes before; separate repeated
    readings by 1-2 minutes. A cuff that is too small gives an artificially high reading, and one that
    is too large an artificially low reading. Earth seated-position context; the in-flight position is
    set by the flight surgeon's checklist. Full text read Oct 21, 2026.
- key: imi2019
  text: 'Institute of Medical Illustrators. IMI National Guidelines: Wound Management Photography (2019).'
  url: https://www.imi.org.uk/wp-content/uploads/2019/04/2019_Apr_IMINatGuidelines_Wound-Management.pdf
  supports: >-
    Standardise equipment, lighting, background, viewpoint and magnification so serial photographs can
    be compared; use the same light source each time where possible; hold a measurement scale on the same
    plane as the wound and photograph from 90 degrees; acute wounds are photographed at each dressing
    change, and any significant change is photographed; written guidance on consent for clinical photography.
    Earth hospital context. Saved copy read Oct 21, 2026 (a 2025 version 2.0 exists).
- key: gulati
  text: >-
    Gulati M, Levy PD, Mukherjee D, et al. 2021 AHA/ACC/ASE/CHEST/SAEM/SCCT/SCMR guideline for the evaluation
    and diagnosis of chest pain. Circulation. 2021;144(22):e368-e454.
  url: https://doi.org/10.1161/CIR.0000000000001029
  doi: 10.1161/CIR.0000000000001029
  pmid: '34709879'
  supports: >-
    On Earth, a 12-lead ECG should be acquired and interpreted within 10 minutes of arrival; an initial
    normal ECG does not exclude acute coronary syndrome, so ECGs are repeated while symptoms continue;
    chest pain includes pressure, tightness or discomfort in the chest, shoulders, arms, neck, back, upper
    abdomen or jaw; sudden ripping pain radiating to the back is suspicious of an acute aortic syndrome.
- key: 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: >-
    Adult basic life support: initial recognition of cardiac arrest, activation of the emergency response,
    high-quality CPR and use of an automated external defibrillator; also respiratory arrest and foreign-body
    airway obstruction. Earth guidance; the onboard checklist leads. Abstract read via PubMed Oct 21,
    2026; full text not read.
- 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: 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: 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 (in-mission preventive health care), V1 3004, V1 3006, V1 6003,
    V1 7001, V1 7003.
- key: v2
  text: >-
    NASA. NASA-STD-3001, Volume 2: Human Factors, Habitability, and Environmental Health (Rev F, 2026),
    including Section 10.6 Automated and Robotic Systems.
  url: https://standards.nasa.gov/standard/NASA/NASA-STD-3001_VOL_2
  supports: Requirement IDs beginning V2.
- key: tb044
  text: NASA OCHMO. Medical Operations. Technical Brief OCHMO-TB-044 (2025).
  url: https://www.nasa.gov/wp-content/uploads/2025/08/ochmo-tb-044-medical-operations.pdf
  supports: >-
    The crew surgeon keeps medical authority when care is delegated; crew medical officers train on the
    JSC 48522 medical checklist.
- key: marsdelay
  text: >-
    NASA. Mars communications disruption and delay (fact sheet, 2023 Moon to Mars Architecture Concept
    Review).
  url: https://www.nasa.gov/wp-content/uploads/2024/01/mars-communications-disruption-and-delay.pdf
  supports: >-
    One-way Earth-Mars delay up to about 21-23 minutes, plus blackouts of about 2-3 weeks near solar conjunction.
- key: pccp
  text: >-
    U.S. Food and Drug Administration. Marketing submission recommendations for a predetermined change
    control plan for artificial intelligence-enabled device software functions (guidance).
  url: >-
    https://www.fda.gov/regulatory-information/search-fda-guidance-documents/marketing-submission-recommendations-predetermined-change-control-plan-artificial-intelligence
  supports: A model for planning, validating and rolling back software updates.
- key: faa460
  text: 'U.S. Code of Federal Regulations, Title 14, Part 460: Human space flight requirements.'
  url: https://www.ecfr.gov/current/title-14/chapter-III/subchapter-C/part-460
  supports: >-
    Federal rules for crew and spaceflight participants on licensed commercial flights; they set no medical
    standards for spaceflight participants.
corrections:
- date: '2026-10-21'
  version: '0.2'
  source: Batch 10 AI-assisted clinical review (Medical Research Assistant), Oct 21, 2026
  items:
  - >-
    Link-loss wording (X5 and comms) fixed: the stray word "crew" before the list of what continues is
    removed, so the sentence reads, for example, "the exam already under way and all crew care continue
    under the onboard checklist" (R6).
  - >-
    Default exam checklist added (design judgment), owned by the flight surgeon: vital signs including
    temperature and body mass, symptom review, skin, hands and feet, mouth and throat, eyes (RMP-EYE-003)
    and musculoskeletal complaints; behavioral health stays in RMP-BEH-002 and RMP-BEH-003 (S15).
  - >-
    IN-2: "weight" now reads "body mass as displayed by the vehicle's mass-measurement device" (there
    is no scale weight in weightlessness) (S16).
  - RF1 adds "if low blood pressure with light-headedness, see RMP-CARD-004" (batch 9 R2 pattern) (S17).
  - >-
    Batch 10 protocols now record the review as AI-assisted (Medical Research Assistant, Oct 21, 2026);
    no named human clinician.
