{
  "$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-INF-002",
  "slug": "rmp-inf-002",
  "title": "Cleaning and disinfecting the robot and shared equipment between tasks",
  "category": "infection",
  "tier": 1,
  "rung_note": "Max rung 2 for supervised moves to the cleaning position, the cleaning checklist on screen and the cleaning record. The crew do all wiping; the robot holds still in a cleaning hold and never applies or sprays a product.",
  "result_language": {
    "use": [
      "cleaning recorded as stated – not a test of contamination",
      "logged, not interpreted",
      "tagged not for use",
      "sent to flight surgeon"
    ],
    "never": [
      "normal",
      "no problem found",
      "all clear",
      "negative",
      "any diagnosis or cause",
      "sterile",
      "disinfected",
      "decontaminated",
      "germ-free",
      "safe to use",
      "verified",
      "safe",
      "mild",
      "minor"
    ]
  },
  "scope": {
    "summary": "After a task near a crewmember, after visible soiling, or on schedule, the robot tells the flight surgeon that a cleaning run has started, moves to its cleaning position and holds still in a cleaning hold, shows the onboard cleaning checklist for each item with the product the program approved and the contact time printed on its label, and records what the crew state they cleaned, with which product and when. The crew do all the wiping. The robot never says an item is disinfected or fit to use; it records cleaning \"as stated – not a test of contamination\". Items used on non-intact skin, mucous membranes, blood or body fluids are tagged \"not for use\" and go to the onboard procedure for those items.",
    "why": "Surfaces in a closed habitat carry microbes from the crew: a study of ISS surfaces found bacteria and fungi at 10^4 to 10^9 colony-forming units per square metre, mostly linked to the human microbiome and possibly including opportunistic pathogens (Checinska Sielaff 2019). A robot that goes from crewmember to crewmember and touches shared equipment could carry them between people. NASA-STD-3001 Volume 2 requires surface materials that can be cleaned with the planned methods (V2 7082) and cleaning materials that work, are fit for human use and are compatible with the vehicle's air, water and waste systems (V2 7083). On Earth, the CDC (U.S. Centers for Disease Control and Prevention) disinfection guideline uses the Spaulding classes: items that touch intact skin need low-level disinfection following the product label, including its contact time; items that touch mucous membranes or non-intact skin need at least high-level disinfection. Open question for review: which robot surfaces count as patient-contact surfaces, the cleaning schedule, and the onboard procedure for semicritical items.",
    "covers": [
      "The robot's own surfaces (grippers, handles, screen, sensor windows) and shared medical equipment it handled (displays, monitors, kit cases)",
      "After any task near a crewmember with suspected infection (RMP-INF-001, RMP-GI-002), after visible soiling, before the robot enters the food area, and on the schedule the flight surgeon sets",
      "Routing to RMP-EYE-001 (product in the eye) and RMP-RESP-001 (breathing trouble)"
    ],
    "locked_out": [
      "Diagnosis or naming a cause",
      "Touching the crewmember",
      "Applying, spraying or mixing any cleaning product",
      "Saying an item is disinfected, sterile or fit to use",
      "Cleaning or reprocessing items that touched non-intact skin, mucous membranes, blood or body fluids (tagged \"not for use\" for the onboard procedure)",
      "Moving during a cleaning hold",
      "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)"
    ],
    "related": [
      "RMP-INF-001",
      "RMP-INF-003",
      "RMP-INF-004",
      "RMP-GI-002",
      "RMP-EYE-001",
      "RMP-RESP-001",
      "RMP-PREV-001"
    ]
  },
  "roles": {
    "medical_authority": "Flight surgeon (ground). Holds medical authority for every run.",
    "onboard_lead": "Crew medical officer (CMO), acting under delegated care; uses the pre-approved onboard checklist when there is no link.",
    "others": [
      "Second trained CMO: receives every alert and takes over if the CMO is the patient",
      "Vehicle commander: leads any cabin emergency procedure",
      "Other crew: help as the CMO or commander directs"
    ],
    "robot_may": [
      "Tell the flight surgeon a cleaning run has started",
      "Move to its cleaning position and hold still in a cleaning hold",
      "Show the cleaning checklist, the approved product and the label contact time",
      "Record what the crew state they cleaned, with which product and when",
      "Take used wipes only in a sealed waste bag the crew have closed",
      "Tag items \"not for use\" when the crew say they touched non-intact skin, mucous membranes, blood or body fluids"
    ],
    "robot_may_not": [
      "Apply, spray or mix a cleaning product",
      "Move during a cleaning hold",
      "Say an item is disinfected, sterile or fit to use",
      "Touch the crewmember",
      "Start or end a cleaning hold itself"
    ],
    "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 cleaning run by command, or accepted the scheduled prompt on screen.",
      "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]"
    },
    {
      "id": "PRE-5",
      "text": "No URGENT alert, emergency protocol or cabin alarm is active, and no crewmember is receiving care in the module. A scheduled cleaning prompt is not shown while any of these is active (design judgment).",
      "check": "urgent_alert_active == false and cabin_alarm_active == false and care_in_module == false",
      "refs": [
        "V2 7055"
      ]
    }
  ],
  "consent": {
    "standard": "No patient is involved; the crewmembers who clean are named in the log.",
    "emergency": "Any medical need stops the cleaning run at once.",
    "withdrawal": "Any crewmember can stop the run; the record so far stands."
  },
  "inputs": [
    {
      "id": "IN-1",
      "name": "Which items were cleaned, with which product, as stated by the crewmember cleaning",
      "source": "Voice",
      "required": true,
      "if_missing": "Log \"not stated\"; the item is not recorded as cleaned."
    },
    {
      "id": "IN-2",
      "name": "Product name, lot and expiry as read from the label",
      "source": "Robot camera",
      "required": false,
      "if_missing": "Log \"label not read\"."
    },
    {
      "id": "IN-3",
      "name": "Whether an item touched non-intact skin, mucous membranes, blood or body fluids, as stated",
      "source": "Crewmember / CMO",
      "required": true,
      "if_missing": "Log \"not stated\" and tag the item \"not for use\" until the CMO decides."
    },
    {
      "id": "IN-4",
      "name": "Eye, skin or breathing symptoms during or after cleaning, as stated",
      "source": "Crewmember",
      "required": true,
      "if_missing": "Log \"no response\"; URGENT."
    },
    {
      "id": "IN-5",
      "name": "Link status and delay",
      "source": "Communications system",
      "required": true,
      "if_missing": "Treat as link down; the record is queued."
    }
  ],
  "steps": [
    {
      "id": "S1",
      "actor": "robot",
      "rung": 2,
      "action": "Tell the flight surgeon and the CMO that a cleaning run has started, after which task and on which items (logged and sent with the next package; URGENT only if a red flag is 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 logged and queued.",
      "refs": [
        "V2 10174",
        "V1 6003",
        "V1 3006"
      ]
    },
    {
      "id": "S2",
      "actor": "robot",
      "rung": 2,
      "action": "Move to the cleaning position away from hatch routes (the cleaning position never blocks an emergency kit or a hatch route), restrain, and enter a cleaning hold: motors held in a protective stop, announced as \"Cleaning hold: I will not move until a crewmember ends the hold. One crew action ends it.\" An emergency kit being wiped goes back to its location before the run ends; otherwise RMP-PREV-001 shows it as out of its location (design judgment).",
      "success": "Robot restrained and held.",
      "refs": [
        "V2 10162",
        "V2 10172",
        "V2 7055"
      ]
    },
    {
      "id": "S3",
      "actor": "robot",
      "rung": 2,
      "action": "Show the onboard cleaning checklist for each item, the product the program approved for it, and the contact time printed on the product label; read the product label (name, lot, expiry) when shown. The robot never applies the product.",
      "success": "Checklist and label details on screen.",
      "refs": [
        "V2 7083"
      ]
    },
    {
      "id": "S4",
      "actor": "crew",
      "action": "The crew wear the protection the checklist names, wipe each surface and item, and leave the product on for the label contact time; they decide when the contact time is over.",
      "success": "Human-led cleaning.",
      "refs": [
        "V2 7082",
        "V2 7083"
      ]
    },
    {
      "id": "S5",
      "actor": "robot",
      "rung": 2,
      "action": "Record each item the crew state they cleaned, the product and the clock time the wipe started, labelled \"cleaning recorded as stated – not a test of contamination\". Ask the crew whether any item touched non-intact skin, mucous membranes, blood or body fluids, and tag each such item \"not for use\" for the onboard procedure. Ask whether anyone has eye, skin or breathing symptoms.",
      "success": "Record complete or gaps logged as \"not stated\".",
      "refs": [
        "V1 7001"
      ]
    },
    {
      "id": "S6",
      "actor": "crew",
      "action": "A crewmember ends the cleaning hold and restarts the robot.",
      "success": "Hold ended by a human.",
      "refs": [
        "V2 10174"
      ]
    },
    {
      "id": "S7",
      "actor": "robot",
      "rung": 2,
      "action": "Take used wipes only in a sealed waste bag the crew have closed, and stow it in the waste location; never handle loose wipes.",
      "success": "Sealed bag stowed.",
      "refs": [
        "V2 7064"
      ]
    },
    {
      "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": "robot",
      "rung": 2,
      "action": "Send the flight surgeon one record: items, products, times, items tagged \"not for use\", symptoms as stated.",
      "success": "Record delivered or queued.",
      "refs": [
        "V1 6003",
        "V1 7001"
      ]
    }
  ],
  "decisions": [
    {
      "id": "D1",
      "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": "D2",
      "after": "S5",
      "decided_by": "robot",
      "question": "Did the crewmember answer the symptom 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": "S5",
      "decided_by": "crew",
      "question": "Did any item touch non-intact skin, mucous membranes, blood or body fluids?",
      "branches": [
        {
          "if": "Yes, or not stated",
          "then": "Item tagged \"not for use\"; the CMO decides on the onboard procedure for that item."
        },
        {
          "if": "No",
          "then": "Cleaning recorded as stated."
        }
      ]
    }
  ],
  "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": "A crewmember needs care, or a cabin alarm sounds",
      "action": "Any URGENT alert or cabin alarm ends the cleaning run at once. The robot announces that the cleaning hold is active and that one crew action releases it; the crew end the hold, and the robot follows the matching protocol on a human command and does not leave the module on its own (design judgment).",
      "level": "urgent"
    }
  ],
  "red_flags": [
    {
      "id": "RF1",
      "sign": "Cleaning product splashed in an eye",
      "threshold": "any",
      "action": "URGENT alert; the crew irrigate under their checklist; see RMP-EYE-001",
      "source": "cochem"
    },
    {
      "id": "RF2",
      "sign": "Cough, wheeze, chest tightness or shortness of breath during or after cleaning (design judgment)",
      "threshold": "any",
      "action": "URGENT alert; see RMP-RESP-001"
    },
    {
      "id": "RF3",
      "sign": "Skin redness, burning or rash where a product touched (design judgment)",
      "threshold": "any",
      "action": "Flag to the CMO; the crewmember stops cleaning"
    },
    {
      "id": "RF4",
      "sign": "Strong smell, smoke or a cabin toxic alarm (design judgment)",
      "threshold": "any",
      "action": "URGENT alert; see RMP-ENV-001 or RMP-ENV-002"
    },
    {
      "id": "RF5",
      "sign": "Visible blood or body fluid on the robot or an item",
      "threshold": "any",
      "action": "Flag to the CMO; the item is tagged \"not for use\" for the onboard procedure",
      "source": "cdcdis"
    }
  ],
  "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": "Robot motion during a cleaning hold",
      "value": "not allowed",
      "enforced": "Motors held in a protective stop until a crewmember ends the hold",
      "refs": [
        "V2 10172"
      ]
    },
    {
      "id": "L3",
      "name": "Applying or spraying a cleaning product by the robot",
      "value": "not allowed",
      "enforced": "No dispensing task is loaded"
    },
    {
      "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": "Items cleaned as stated, products and lots as read, start times, items tagged \"not for use\", symptoms as stated, hold start and end."
    },
    {
      "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"
      ]
    }
  ],
  "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 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 and frequently used items are the easiest to reach."
    },
    {
      "id": "V2 7059",
      "use": "Kit inventory and seal status are tracked."
    },
    {
      "id": "V2 7064",
      "use": "Trash management: used wipes leave only in a sealed waste bag."
    },
    {
      "id": "V2 7082",
      "use": "Robot and equipment surfaces can be cleaned with the planned methods."
    },
    {
      "id": "V2 7083",
      "use": "Cleaning materials are effective, fit for human use and compatible with vehicle systems; the robot shows the approved product."
    },
    {
      "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 runs after an infection protocol, soiled item, eye splash, CMO as patient, lost link.",
      "pass": "Zero motion during the hold; no item called disinfected."
    },
    {
      "stage": "training model",
      "what": "Crew wipe a robot mock-up following the checklist.",
      "pass": "Every listed surface reachable and recorded."
    },
    {
      "stage": "parabolic or station demonstration",
      "what": "Cleaning hold and waste stowage in weightlessness.",
      "pass": "No loose wipes; hold held."
    },
    {
      "stage": "flight use under flight surgeon supervision",
      "what": "First scheduled runs.",
      "pass": "No safety events."
    }
  ],
  "signoff": {
    "protocol": [
      "Clinical lead for the specialty (sets every clinical threshold marked <set by clinical lead>)",
      "Flight surgeon, as medical authority",
      "Robotics and medical-device safety board",
      "Program approval for the mission"
    ],
    "restart_after_stop": "Human only. After any emergency or protective stop, a crewmember must restart the robot; the robot never restarts itself.",
    "each_run": "Started by a crewmember. The crew clean; the robot holds still."
  },
  "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": "The record goes to the flight surgeon with the next package.",
    "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.",
      "Cleaning goes ahead under the onboard checklist."
    ],
    "mars_delay": [
      "The cleaning schedule and approved products are set before flight; the CMO decides on items tagged \"not for use\"."
    ]
  },
  "sources": [
    {
      "key": "cdcdis",
      "text": "U.S. Centers for Disease Control and Prevention. Guideline for Disinfection and Sterilization in Healthcare Facilities (2008): summary of recommendations.",
      "url": "https://www.cdc.gov/infection-control/hcp/disinfection-sterilization/summary-recommendations.html",
      "supports": "3.b: at least high-level disinfection for semicritical equipment that touches mucous membranes or non-intact skin; 3.c: low-level disinfection for noncritical surfaces and equipment that touch intact skin; 4.b: follow the disinfectant label's safety precautions and use directions, including contact time; 4.c: disinfect noncritical devices when visibly soiled and on a regular basis; 5.c: follow manufacturers' instructions, such as use-dilution and material compatibility (checking compatibility with robot materials); 6.a: no disinfectant fogging in patient-care areas (the robot never sprays); 5.m and 5.n: prompt cleaning of blood spills, with gloves and other protective equipment. Read live (WebFetch, Oct 21, 2026)."
    },
    {
      "key": "checinska2019",
      "text": "Checinska Sielaff A, Urbaniak C, Mohan GBM, et al. Characterization of the total and viable bacterial and fungal communities associated with the International Space Station surfaces. Microbiome. 2019;7(1):50.",
      "url": "https://doi.org/10.1186/s40168-019-0666-x",
      "doi": "10.1186/s40168-019-0666-x",
      "pmid": "30955503",
      "supports": "Cultivable bacteria and fungi on ISS surfaces ranged from 10^4 to 10^9 CFU per square metre depending on location; the dominant organisms are associated with the human microbiome and may include opportunistic pathogens. Abstract read."
    },
    {
      "key": "cochem",
      "text": "The College of Optometrists. Clinical Management Guidelines: Trauma (chemical) (last updated March 13, 2026) Primary-care optometry guidance (public sections only).",
      "url": "https://www.college-optometrists.org/clinical-guidance/clinical-management-guidelines/trauma_chemical",
      "supports": "Flush the eye immediately with sterile salt solution, or tap water if that is not available, and continue to irrigate for at least 20 minutes before seeking medical attention; damage is generally greatest with alkalis such as ammonia; severe cases need immediate referral to hospital eye services or emergency care. (Only the publicly visible sections were read; the full guideline needs a login.)"
    },
    {
      "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 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 7082 (cleanable surface materials), V2 7083 (cleaning materials), V2 7064, 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": [
        "New PRE-5: no URGENT alert, emergency protocol or cabin alarm active and no care in the module; no scheduled prompt while any is active. S2: the cleaning position never blocks an emergency kit or a hatch route, and a wiped emergency kit goes back to its location before the run ends (PREV-001 shows it otherwise). X9: any URGENT alert or cabin alarm ends the run; the robot announces the hold and that one crew action releases it. Design judgment (item 2).",
        "RF2 (cough, wheeze, chest tightness or shortness of breath) labelled design judgment (item 3).",
        "Requirement V2 7102 (body waste) replaced by V2 7064 (trash management) for used wipes in a sealed waste bag (item 4).",
        "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": "AI-assisted clinical and source review by the Medical Research Assistant, Oct 21, 2026 (batch 8 review), editorial",
      "items": [
        "Source cdcdis: read live (WebFetch, Oct 21, 2026), so the search-index note is removed; adds 5.c (material compatibility), 6.a (no fogging) and 5.m/5.n (blood spills) (batch 7 suggestion 18)."
      ]
    }
  ]
}
