{
  "$schema": "https://spacemedicinefoundation.org/robotic-medicine/protocols/schema/protocol.schema.json",
  "schema_version": "0.3",
  "version": "0.3",
  "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 7 review, 14 required corrections and 17 optional suggestions); all required corrections 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-EGR-001",
  "slug": "rmp-egr-001",
  "title": "Medical evacuation preparation: package records, images and logs for handover",
  "category": "egress",
  "tier": 1,
  "rung_note": "Max rung 2 for supervised packaging of records, a checked kit fetch of the transfer kit, and route clearing. The robot never decides on evacuation, never moves or straps in the crewmember, and never writes its own assessment.",
  "result_language": {
    "use": [
      "as recorded",
      "as stated by the CMO",
      "as stated by the flight surgeon",
      "DRAFT – NOT READ BACK",
      "read back by the CMO",
      "sent to the receiving team named by the flight surgeon"
    ],
    "never": [
      "normal",
      "no problem found",
      "all clear",
      "negative",
      "any diagnosis or cause",
      "stable",
      "fit to fly",
      "fit for transfer",
      "improving",
      "verified",
      "safe",
      "mild",
      "minor"
    ]
  },
  "scope": {
    "summary": "After the flight surgeon (or the CMO under the onboard checklist) decides on a medical evacuation, the robot alerts the flight surgeon that preparation has started, builds a hand-over package from the recorded entries only, laid out in the SBAR order (Situation, Background, Assessment, Recommendation) with the assessment and recommendation quoted from the CMO and flight surgeon, shows it to the CMO for read-back, brings the transfer kit by a checked kit fetch, clears and stows loose items along the route on the commander's command, and sends the package only to the receiving team the flight surgeon names. Preparation never delays care: any change in the crewmember stops it.",
    "why": "NASA-STD-3001 Volume 1 requires that medical evacuation is available for illness or injury beyond the care available onboard (V1 3007), with plans and vehicles to transport a severely ill or injured crewmember to a suitable medical facility (V1 3008). NASA technical brief OCHMO-TB-051 describes the landing-site and transport medical support, including transfer to a definitive medical care facility. On Earth, the WHO patient safety solution on hand-overs recommends a standard method such as SBAR, time for questions with read-back, and information on status, medicines, treatment plans and significant changes. A robot that pulls the record together frees the CMO to look after the crewmember. Open question for review: what the package must contain for each vehicle and receiving team, and how the read-back works when the link is down.",
    "covers": [
      "Preparation after an evacuation decision, in flight or on a surface",
      "Hand-over package to the receiving team named by the flight surgeon",
      "Routing to RMP-EGR-002 (landing-day kit and stretcher), RMP-EGR-003 (post-landing checks) and RMP-EGR-004 (launch and entry relay); the package under this protocol covers the hand-over",
      "Any change in the crewmember goes back to the protocol for that problem, for example RMP-CARD-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)",
      "Deciding on evacuation or its timing",
      "Moving, lifting, positioning or strapping in the crewmember",
      "Writing its own assessment, or summarising beyond the recorded entries",
      "Sending the package to anyone the flight surgeon has not named"
    ],
    "related": [
      "RMP-EGR-002",
      "RMP-EGR-003",
      "RMP-EGR-004",
      "RMP-CARD-001",
      "RMP-MSK-001",
      "RMP-GI-001",
      "RMP-PHARM-001"
    ]
  },
  "roles": {
    "medical_authority": "Flight surgeon (ground). Holds medical authority for every run.",
    "onboard_lead": "Crew medical officer (CMO), acting under delegated care; uses the pre-approved onboard checklist when there is no link.",
    "others": [
      "Second trained CMO: receives every alert and takes over if the CMO is the patient",
      "Vehicle commander: leads the vehicle procedure and the transfer",
      "Receiving medical team: named by the flight surgeon",
      "Other crew: help as the commander or CMO directs"
    ],
    "robot_may": [
      "Alert the flight surgeon that preparation has started",
      "Build the hand-over package from recorded entries in SBAR order",
      "Show the package to the CMO for read-back",
      "Bring the transfer kit by a checked kit fetch",
      "Clear loose items along the route on the commander's command",
      "Send the package to the receiving team the flight surgeon names"
    ],
    "robot_may_not": [
      "Decide on evacuation",
      "Move or strap in the crewmember",
      "Write its own assessment",
      "Send the package to anyone not named",
      "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": "The CMO or commander started the protocol by command after the flight surgeon (or the CMO under the onboard checklist) decided on an evacuation.",
      "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 record going to the receiving team; the CMO confirms.",
    "emergency": "If the crewmember cannot agree, the record goes to the receiving team the flight surgeon names, as for any medical transfer.",
    "withdrawal": "The crewmember can ask for parts of the record to be held back; the CMO and flight surgeon decide what care needs."
  },
  "inputs": [
    {
      "id": "IN-1",
      "name": "The evacuation decision and reason, as stated by the flight surgeon or CMO",
      "source": "Flight surgeon / CMO",
      "required": true,
      "if_missing": "Log \"not stated\"; the package is marked incomplete."
    },
    {
      "id": "IN-2",
      "name": "Recorded entries: protocols run, alerts, vital signs as displayed, images, medicines as recorded by RMP-PHARM-001, allergies as recorded",
      "source": "Medical record and logs",
      "required": true,
      "if_missing": "Show \"not recorded\" for each missing item; never fill a blank."
    },
    {
      "id": "IN-3",
      "name": "The CMO's and flight surgeon's stated assessment and recommendation",
      "source": "CMO / flight surgeon",
      "required": true,
      "if_missing": "Show \"not stated\"."
    },
    {
      "id": "IN-4",
      "name": "Any change in the crewmember during preparation, as stated",
      "source": "Crewmember / CMO",
      "required": true,
      "if_missing": "Log \"no response\"; URGENT."
    },
    {
      "id": "IN-5",
      "name": "The receiving team named by the flight surgeon",
      "source": "Flight surgeon",
      "required": true,
      "if_missing": "Hold the package; nothing is sent."
    },
    {
      "id": "IN-6",
      "name": "Link status and delay",
      "source": "Communications system",
      "required": true,
      "if_missing": "Treat as link down; store and forward."
    }
  ],
  "steps": [
    {
      "id": "S1",
      "actor": "robot",
      "rung": 2,
      "action": "Tell the flight surgeon and the CMO that evacuation preparation has started (URGENT if a red flag is already stated). 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": "Notice acknowledged, or escalated.",
      "refs": [
        "V2 10174",
        "V1 6003",
        "V1 3006"
      ]
    },
    {
      "id": "S2",
      "actor": "robot",
      "rung": 2,
      "action": "Build the hand-over package from recorded entries only, in SBAR order: Situation (the decision and reason as stated), Background (protocols run, alerts and times), Assessment (quoted from the CMO and flight surgeon), Recommendation (quoted from the flight surgeon); add vital signs as displayed, images, medicines as recorded by RMP-PHARM-001 on a clock-time timeline, and allergies as recorded. Mark it \"DRAFT – NOT READ BACK\".",
      "success": "Draft package built; gaps shown as \"not recorded\".",
      "refs": [
        "V1 7001",
        "V1 3007"
      ]
    },
    {
      "id": "S3",
      "actor": "robot",
      "rung": 2,
      "action": "On the CMO's command, run a checked kit fetch of the transfer medical kit and portable monitor: 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": "S4",
      "actor": "crew",
      "action": "The CMO and crew prepare the crewmember and restrain them for transfer under the vehicle procedure; the commander leads the transfer.",
      "success": "Human-led preparation.",
      "refs": [
        "V1 3008",
        "V2 7046"
      ]
    },
    {
      "id": "S5",
      "actor": "robot",
      "rung": 2,
      "action": "On the commander's command, clear and stow loose items along the transfer route, then hold out of the route.",
      "success": "Route clear; robot out of the route.",
      "refs": [
        "V2 7055"
      ]
    },
    {
      "id": "S6",
      "actor": "robot",
      "rung": 2,
      "action": "Show the package to the CMO for read-back; record each correction the CMO states as a new version (earlier versions kept), then mark it \"read back by the CMO\". Log any change the crewmember or CMO reports.",
      "success": "Package read back, or still marked DRAFT – NOT READ BACK.",
      "refs": [
        "V1 7003"
      ]
    },
    {
      "id": "S7",
      "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": "S8",
      "actor": "ground",
      "action": "The flight surgeon names the receiving team and facility and confirms the package recipients [V1 3007, V1 3008]; with no link, the CMO follows the onboard checklist and the package is stored for forwarding.",
      "success": "Recipients named, or package stored.",
      "refs": [
        "V1 3007",
        "V1 3008"
      ]
    },
    {
      "id": "S9",
      "actor": "robot",
      "rung": 2,
      "action": "Send the package only to the receiving team the flight surgeon named, as private medical data; if the flight surgeon asks before read-back, send it marked \"DRAFT – NOT READ BACK\" (care never waits for the read-back).",
      "success": "Package delivered or queued.",
      "refs": [
        "V1 6003",
        "V1 7003"
      ]
    },
    {
      "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": "Reconciliation recorded; kit shown as opened – not restocked until resealed.",
      "refs": [
        "V2 7059"
      ]
    }
  ],
  "decisions": [
    {
      "id": "D1",
      "after": "S3",
      "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": "S6",
      "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": "S6",
      "decided_by": "robot",
      "question": "Did the crewmember answer when asked how they feel?",
      "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": "crew",
      "question": "Has the CMO read back the package?",
      "branches": [
        {
          "if": "Yes",
          "then": "Marked \"read back by the CMO\"."
        },
        {
          "if": "No, or not yet",
          "then": "Stays marked \"DRAFT – NOT READ BACK\"; it is still sent if the flight surgeon asks."
        }
      ]
    },
    {
      "id": "D5",
      "after": "S8",
      "decided_by": "ground",
      "question": "Who is the receiving team, and when is the transfer?",
      "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: it holds a position clear of hatch routes and the crew, and tells the CMO. Crew care never waits 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": "Any change in the crewmember, or the CMO needs the robot's space",
      "action": "Robot stops packaging at once, moves to its rest position and holds; the change goes to the CMO and flight surgeon as an URGENT alert; it does not leave the module on its own.",
      "level": "urgent",
      "refs": [
        "V2 10172"
      ]
    }
  ],
  "red_flags": [
    {
      "id": "RF1",
      "sign": "Any new or worse symptom, or a new monitor alarm, during preparation (design judgment)",
      "threshold": "any",
      "action": "URGENT alert; preparation stops and care comes first"
    },
    {
      "id": "RF2",
      "sign": "Unresponsive, or not breathing normally",
      "threshold": "any",
      "action": "URGENT alert; start RMP-CARD-001 now",
      "source": "aha2025bls"
    },
    {
      "id": "RF3",
      "sign": "Pain getting worse while the crewmember is positioned or restrained, as stated (design judgment)",
      "threshold": "any",
      "action": "URGENT alert; the CMO checks at once"
    },
    {
      "id": "RF4",
      "sign": "Allergies, medicines or times in the record missing or in conflict",
      "threshold": "any",
      "action": "Flag to the CMO and flight surgeon; shown as \"not recorded\" or \"in conflict\", never resolved by the robot",
      "source": "whoho"
    }
  ],
  "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": "Moving, lifting or strapping in the crewmember by the robot",
      "value": "not allowed",
      "enforced": "No patient-handling task is loaded"
    },
    {
      "id": "L3",
      "name": "Package recipients",
      "value": "none",
      "enforced": "Nothing is sent until the flight surgeon names the receiving team"
    },
    {
      "id": "L4",
      "name": "Robot speed near the crewmember",
      "value": "<set by validation>",
      "enforced": "Hard limit in the controller",
      "refs": [
        "V2 10172"
      ]
    }
  ],
  "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 package version, read-back status, corrections as stated, recipients named and send times, changes in the crewmember during preparation."
    },
    {
      "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 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 care is beyond onboard capability; the flight surgeon decides."
    },
    {
      "id": "V1 3008",
      "use": "Plans and vehicles to transport a severely ill or injured crewmember; the commander leads the transfer."
    },
    {
      "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 7055",
      "use": "Mission-critical items and routes stay accessible during preparation."
    },
    {
      "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 evacuations with missing records, conflicting allergies, a change mid-preparation, CMO as patient, lost link.",
      "pass": "Nothing sent to an unnamed recipient; no robot-written assessment."
    },
    {
      "stage": "training model",
      "what": "Hand-over drills with a receiving team using the package.",
      "pass": "Receiving team rate the package as complete or gaps clearly marked."
    },
    {
      "stage": "Earth analog",
      "what": "Analog evacuation drills.",
      "pass": "Preparation never delays care."
    },
    {
      "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 CMO or commander after an evacuation decision. The flight surgeon names the recipients."
  },
  "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 package goes to the receiving team when the flight surgeon names it.",
    "loss_of_signal": [
      "Only the robot pauses non-essential motion and tells the CMO; it resumes offline only on the CMO's confirmation. Crew care never waits for the link or the robot.",
      "The package is stored for forwarding; the CMO follows the onboard checklist."
    ],
    "mars_delay": [
      "Evacuation from Mars-class distances may not be possible in time; the package supports onboard care and the later hand-over."
    ]
  },
  "sources": [
    {
      "key": "tb051",
      "text": "NASA OCHMO. Crew Medical Support for Entry, Descent, and Landing. Technical Brief OCHMO-TB-051.",
      "url": "https://www.nasa.gov/wp-content/uploads/2026/05/ochmo-tb-051-crew-medical-support-entry-descent-landing.pdf",
      "supports": "Flight surgeons are present at the landing site; launch and landing sites need medical capability for contingencies; depending on the location, transport may be by ground, water or air, with rescue vehicles able to give advanced trauma life support until transfer to a definitive medical care facility (DMCF) [V1 3013, V1 3014]. Read Oct 21, 2026."
    },
    {
      "key": "whoho",
      "text": "WHO Collaborating Centre for Patient Safety Solutions. Communication During Patient Hand-Overs. Patient Safety Solutions, volume 1, solution 3 (2007).",
      "url": "https://cdn.who.int/media/docs/default-source/patient-safety/patient-safety-solutions/ps-solution3-communication-during-patient-handovers.pdf",
      "supports": "Suggested actions: a standardized approach to hand-over, including SBAR (Situation, Background, Assessment, Recommendation); time to ask and answer questions, with repeat-back and read-back; information on status, medications, treatment plans, advance directives and significant changes; exchange limited to what is needed for care. Read Oct 21, 2026."
    },
    {
      "key": "aha2025bls",
      "text": "Kleinman ME, Buick JE, Huber N, et al. Part 7: Adult Basic Life Support: 2025 American Heart Association Guidelines for Cardiopulmonary Resuscitation and Emergency Cardiovascular Care. Circulation. 2025;152(16_suppl_2):S448-S478.",
      "url": "https://doi.org/10.1161/CIR.0000000000001369",
      "doi": "10.1161/CIR.0000000000001369",
      "pmid": "41122888",
      "supports": "Hand-off to cardiac arrest support when the crewmember is unresponsive or not breathing normally."
    },
    {
      "key": "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 3007 (medical evacuation), V1 3008 (transport plans and vehicles), 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": "NASA-STD-3001 Vol 2 Rev F: V2 7055, V2 7046, V2 7059, and Section 10.6 automated and robotic systems."
    },
    {
      "key": "tb044",
      "text": "NASA OCHMO. Medical Operations. Technical Brief OCHMO-TB-044 (2025).",
      "url": "https://www.nasa.gov/wp-content/uploads/2025/08/ochmo-tb-044-medical-operations.pdf",
      "supports": "The crew surgeon keeps medical authority when care is delegated; crew medical officers train on the JSC 48522 medical checklist."
    },
    {
      "key": "marsdelay",
      "text": "NASA. Mars communications disruption and delay (fact sheet, 2023 Moon to Mars Architecture Concept Review).",
      "url": "https://www.nasa.gov/wp-content/uploads/2024/01/mars-communications-disruption-and-delay.pdf",
      "supports": "One-way Earth-Mars delay up to about 21-23 minutes, plus blackouts of about 2-3 weeks near solar conjunction."
    },
    {
      "key": "pccp",
      "text": "U.S. Food and Drug Administration. Marketing submission recommendations for a predetermined change control plan for artificial intelligence-enabled device software functions (guidance).",
      "url": "https://www.fda.gov/regulatory-information/search-fda-guidance-documents/marketing-submission-recommendations-predetermined-change-control-plan-artificial-intelligence",
      "supports": "A model for planning, validating and rolling back software updates."
    },
    {
      "key": "faa460",
      "text": "U.S. Code of Federal Regulations, Title 14, Part 460: Human space flight requirements.",
      "url": "https://www.ecfr.gov/current/title-14/chapter-III/subchapter-C/part-460",
      "supports": "Federal rules for crew and spaceflight participants on licensed commercial flights; they set no medical standards for spaceflight participants."
    }
  ],
  "corrections": [
    {
      "date": "2026-10-21",
      "version": "0.2",
      "source": "AI-assisted clinical and source review by the Medical Research Assistant, Oct 21, 2026 (batch 7 review)",
      "items": [
        "RF1 (any new or worse symptom, or a new monitor alarm, during preparation) labelled design judgment; the WHO hand-over source covers communication, not deterioration triggers (item 11).",
        "Batch 7 protocols now record the review as AI-assisted (Medical Research Assistant, Oct 21, 2026); no named human clinician."
      ]
    },
    {
      "date": "2026-10-21",
      "version": "0.3",
      "source": "Batch 13 editorial (AI-assisted), Oct 21, 2026",
      "items": [
        "The scope now routes to RMP-EGR-004, which exists as a v0.1 draft (it no longer says \"planned\" or \"until they are drafted\")."
      ]
    }
  ]
}
