{
  "$schema": "https://spacemedicinefoundation.org/robotic-medicine/protocols/schema/protocol.schema.json",
  "schema_version": "0.3",
  "version": "0.4",
  "status": "draft",
  "conceptual": true,
  "not_for_clinical_use": true,
  "max_autonomy": 2,
  "missions": [
    "leo",
    "commercial",
    "moon",
    "mars"
  ],
  "updated": "2026-10-21",
  "review": {
    "state": "reviewed-ai-assisted",
    "requested": "2026-10-20",
    "reviewed": "2026-10-20",
    "human_clinician_review": false,
    "text": "AI-assisted clinical and source review by the Medical Research Assistant, Oct 20, 2026 (batch 4 review, 28 required corrections and 23 optional suggestions); all required corrections, and the optional ones that could be verified, are applied in this version (see Corrections). No named human clinician has reviewed it."
  },
  "fixed_rules": {
    "flight_surgeon_is_medical_authority": true,
    "cmo_acts_under_delegated_care": true,
    "human_starts_and_restarts_robot": true,
    "robot_never_diagnoses": true,
    "no_drug_or_fluid_advice_by_robot": true,
    "safe_state_on_fault_or_no_response": true,
    "lost_link_pause_then_cmo_decides": true
  },
  "robot_lockouts": {
    "diagnosis": true,
    "drug_or_fluid_advice": true,
    "starting_stopping_or_adjusting_oxygen_or_any_medicine": true,
    "self_start_or_self_restart": true,
    "changing_own_protocol_thresholds_or_limits": true,
    "handing_over_a_mismatched_item_as_verified": true
  },
  "id": "RMP-RENAL-004",
  "slug": "rmp-renal-004",
  "title": "Fluid intake and urine output log for a possible dehydration concern: private log, read-only waste-system data, relay to the flight surgeon (the robot never judges hydration or advises fluids)",
  "category": "renal",
  "tier": 2,
  "rung_note": "Tier 2 as in the library contents. A logging aid: it reads waste-system and drink-dispenser data read-only, fetches a drink pouch only when the crewmember asks, and handles no urine or waste.",
  "result_language": {
    "use": [
      "logged, not interpreted",
      "sent to flight surgeon",
      "as reported by the crewmember",
      "as recorded by the waste system"
    ],
    "never": [
      "normal",
      "no problem found",
      "all clear",
      "negative",
      "any diagnosis or cause",
      "dehydrated",
      "not dehydrated",
      "well hydrated",
      "enough",
      "not enough",
      "drink more",
      "on target",
      "behind target",
      "safe",
      "mild",
      "minor"
    ]
  },
  "scope": {
    "summary": "When the flight surgeon or CMO asks for a fluid log (for example during vomiting or diarrhea, heat or hard exercise, fever, a kidney stone concern, or before landing), or a crewmember reports thirst, dark urine or passing little urine, the robot keeps a private log: red flags first; drinks taken and urine passed, with clock times, as the crewmember reports them; and waste-system and drink-dispenser data, read only, if the crewmember agrees. It shows the crewmember their own log as a clock-time timeline and sends summaries to the flight surgeon. It never says whether anyone is dehydrated, never says how much to drink, and handles no urine or waste.",
    "why": "NASA-STD-3001 links water supply to hydration: dehydration can cause poor communication and performance, dry mucous membranes, nosebleeds, headache, malaise and fitful sleep, and, if it goes on, urinary tract infection or kidney stones [V2 6109 rationale]; at least 2.5 liters of water per crewmember per day must be provided, and 1.5 liters per crewmember is held for fluid loading before reentry [V2 6110 and V2 6109 rationale]. In long-duration crewmembers, urine volume was 47% lower early in the mission and 39% lower late in the mission, and the kidney stone evidence report models a target of 2.5-3 liters of urine a day while noting that the 2.5 liters of water is not always achievable (NASA renal evidence report, 2024). Spaceflight reduces the fluid volume in the blood vessels by around 15%, and fluid loading before deorbit (24-48 oz of salt-water solution) is used against fainting on return (NASA TB-019). NASA records list 2 dehydration events on the ISS through Expedition 40. An exact log lets the flight surgeon judge hydration with the facts; the robot does not. For an acute stone attack, a Cochrane review found no reliable evidence that forced or high-volume fluids help; this concerns pushing fluids, not treating dehydration, which the flight surgeon decides (Worster 2012). Fluid-loading reminders before landing stay locked out in this version, as the review advised (they would act like fluid advice). The 2.5 liters is a supply requirement, not an intake target, and appears only as context.",
    "covers": [
      "A fluid log requested by the flight surgeon or CMO, or started by a crewmember who reports thirst, dark urine or passing little urine, in a crewmember who is awake and answering",
      "Repeat check-ins until the crewmember and flight surgeon close the log",
      "Vomiting or diarrhea also run RMP-GI-002; trouble passing urine runs RMP-RENAL-002; side or back pain runs RMP-RENAL-001"
    ],
    "locked_out": [
      "Saying whether anyone is dehydrated, or how much to drink, or setting or showing an intake target",
      "Fluid-loading reminders before landing (kept locked out in v0.2 by the review)",
      "Prompting, reminding or encouraging drinking during a suspected or confirmed stone episode",
      "Suggesting, choosing, fetching or dosing any medicine, salt tablet or rehydration product (a human order and RMP-PHARM-001 are needed)",
      "Handling urine, samples, waste or waste-system parts",
      "Changing any waste-system or water-system setting (read only)",
      "Bringing a drink pouch when \"nothing by mouth\" is logged (the request goes to the CMO)",
      "Touching, holding or restraining the crewmember",
      "Being present in, or recording, the hygiene area"
    ],
    "related": [
      "RMP-GI-002",
      "RMP-GI-003",
      "RMP-RENAL-001",
      "RMP-RENAL-002",
      "RMP-RENAL-003",
      "RMP-INF-001",
      "RMP-CARD-001",
      "RMP-NEURO-004",
      "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": [
      "Crewmember on the log: reports drinks and urine privately and can stop or pause the log at any time",
      "Second trained CMO: receives alerts if the CMO is the patient"
    ],
    "robot_may": [
      "Run private check-ins and log answers word for word, with clock times",
      "Read the waste-system and drink-dispenser data for the crewmember, read only, if the crewmember agrees",
      "Bring a drink pouch the crewmember asks for (unless \"nothing by mouth\" is logged; then route the request to the CMO)",
      "Show the crewmember their own log as a clock-time timeline",
      "Send summaries to the flight surgeon; alert the CMO and flight surgeon on a red flag"
    ],
    "robot_may_not": [
      "Say whether anyone is dehydrated or how much to drink",
      "Show or set an intake target, or give fluid-loading reminders",
      "Suggest, fetch or dose any medicine or rehydration product without a human order",
      "Handle urine, samples or waste, or change any system setting",
      "Touch the crewmember",
      "Start without a human command"
    ],
    "commercial": "On commercial flights, 'flight surgeon' and 'CMO' mean the operator's designated medical authority and trained onboard responder. If no trained responder is aboard, this protocol is not used. (NASA-STD-3001 requires two CMOs per vehicle for NASA programs [V1 3006]; FAA rules set no medical standards for spaceflight participants.)"
  },
  "preconditions": [
    {
      "id": "PRE-1",
      "text": "A crewmember (the one on the log, or the CMO at the flight surgeon's request) started the log by command, and the crewmember agreed.",
      "check": "human_start == true",
      "refs": [
        "V2 10174"
      ]
    },
    {
      "id": "PRE-2",
      "text": "The crewmember is awake and answering. If not, stop and alert at once (X7).",
      "check": "crew_responsive == true"
    },
    {
      "id": "PRE-3",
      "text": "Check-ins are private; urine questions can be answered on the crewmember's own screen.",
      "refs": [
        "V1 3004"
      ]
    },
    {
      "id": "PRE-4",
      "text": "Robot self-test passed; its access to waste-system and drink-dispenser data is read only.",
      "refs": [
        "V2 10161"
      ]
    },
    {
      "id": "PRE-5",
      "text": "Link status and current delay known.",
      "check": "link_state in [live, delayed, down]"
    }
  ],
  "consent": {
    "standard": "The crewmember agrees to the log and chooses voice or screen. Reading waste-system or drink-dispenser data needs the crewmember's agreement; read access ends when the log closes or the crewmember withdraws, and other crewmembers never see it. Any question can be declined; an explicit \"no\" is logged as declined for that question only.",
    "emergency": "If the crewmember cannot answer, the robot does not continue the log; it sends an URGENT alert and a crewmember checks in person (X7).",
    "withdrawal": "The crewmember can stop or pause the log at any time; an alert already sent is not withdrawn."
  },
  "inputs": [
    {
      "id": "IN-1",
      "name": "Red-flag questions: confusion or drowsiness; dizziness or fainting; no urine passed; trouble passing urine; unable to keep fluids down; fever or shaking chills; pain in the side or back, blood in the urine, or pain passing urine",
      "source": "Crewmember, by voice or on screen",
      "required": true,
      "if_missing": "Log \"no response\"; URGENT; the CMO checks in person. Never logged as declined."
    },
    {
      "id": "IN-2",
      "name": "Drinks taken since the last check-in, with clock times and amounts as the crewmember reports them, and drink-dispenser data if agreed (read only)",
      "source": "Crewmember; drink-dispenser data",
      "required": true,
      "if_missing": "Log \"no response\" and apply D2."
    },
    {
      "id": "IN-3",
      "name": "Urine passed since the last check-in, with clock times, as the crewmember reports, and the waste-system record of voids and volumes if it records them and the crewmember agrees (read only)",
      "source": "Crewmember; waste-system data",
      "required": true,
      "if_missing": "Log \"no response\" and apply D2."
    },
    {
      "id": "IN-4",
      "name": "Vomiting, diarrhea, heavy sweating, hard exercise or heat, as reported",
      "source": "Crewmember",
      "required": false,
      "if_missing": "Log \"not reported\"."
    },
    {
      "id": "IN-5",
      "name": "Heart rate, blood pressure, temperature and body mass, entered by the CMO when the CMO chooses (recorded, not interpreted)",
      "source": "Entered by the CMO",
      "required": false,
      "if_missing": "Log \"not measured\". A missing value is never treated as reassuring."
    },
    {
      "id": "IN-6",
      "name": "Intake and urine levels the flight surgeon set for the flags (RF8, RF9), and any \"nothing by mouth\" order",
      "source": "Flight surgeon; medical record",
      "required": false,
      "if_missing": "No intake or urine flag is shown; tell the CMO. Treat as no order for drinks; ask the CMO if unsure."
    },
    {
      "id": "IN-7",
      "name": "Link status and delay",
      "source": "Communications system",
      "required": true,
      "if_missing": "Treat as link down."
    }
  ],
  "steps": [
    {
      "id": "S1",
      "actor": "robot",
      "rung": 2,
      "action": "On a crewmember's command, open the private fluid log, tell the CMO, and send a \"fluid log started\" note to the flight surgeon (queued if the link is down).",
      "success": "CMO acknowledges; note delivered or queued.",
      "refs": [
        "V2 10174",
        "V1 6003"
      ]
    },
    {
      "id": "S2",
      "actor": "robot",
      "rung": 2,
      "action": "Run a private check-in by voice or on the crewmember's screen: red-flag questions first, then drinks taken and urine passed since the last check-in, with clock times, as reported. Log answers word for word. D1 is checked after every answer.",
      "success": "Answers logged, or \"no response\" logged.",
      "refs": [
        "V1 3004"
      ]
    },
    {
      "id": "S3",
      "actor": "robot",
      "rung": 2,
      "action": "If the crewmember agrees, read the waste-system and drink-dispenser data for the crewmember, read only, and add it to the log labelled \"as recorded by the waste system\" or \"as recorded by the dispenser\". It never changes a setting and never handles urine or waste.",
      "success": "Data added, or \"not available\" logged.",
      "refs": [
        "V2 10163"
      ]
    },
    {
      "id": "S4",
      "actor": "robot",
      "rung": 2,
      "action": "Bring a drink pouch only when the crewmember asks (unless \"nothing by mouth\" is logged; then route the request to the CMO), and restrain it within reach. It never says how much to drink.",
      "success": "Pouch within reach, or request routed to the CMO.",
      "limit": "<set by validation>",
      "refs": [
        "V2 7046"
      ]
    },
    {
      "id": "S5",
      "actor": "robot",
      "rung": 2,
      "action": "Show the crewmember their own log as a clock-time timeline, with no target, colour or words about whether it is enough.",
      "success": "Timeline shown; the crewmember can add notes."
    },
    {
      "id": "S6",
      "actor": "crew",
      "action": "The CMO sees the crewmember in person when asked or on any red flag, and measures as the CMO chooses. Any fluid plan or medicine is decided by the CMO or flight surgeon.",
      "success": "CMO entries logged.",
      "refs": [
        "V1 3004"
      ]
    },
    {
      "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": "robot",
      "rung": 2,
      "action": "Every <set by flight surgeon> hours, or before each private medical conference, send the flight surgeon a summary: drinks and urine over time (as reported and as recorded), other losses reported, CMO entries and alerts.",
      "success": "Summary delivered or queued.",
      "refs": [
        "V1 6003",
        "V1 7001",
        "V1 7003"
      ]
    },
    {
      "id": "S9",
      "actor": "ground",
      "action": "The flight surgeon (or the CMO under the onboard checklist when there is no link) decides any fluid plan, fluid loading before landing, testing, medicine and work limits. The robot logs the decisions.",
      "success": "Decision logged.",
      "refs": [
        "V1 3004",
        "V2 6109"
      ]
    },
    {
      "id": "S10",
      "actor": "robot",
      "rung": 2,
      "action": "Offer a private check-in every <set by flight surgeon> hours until the crewmember and flight surgeon close the log. At each scheduled time the robot prompts the crewmember on their own screen; it approaches only when the crewmember (or the CMO) accepts, and a prompt never starts the robot. A routine check-in never wakes a sleeping crewmember.",
      "success": "Each prompt accepted, postponed or answered; log closed by a human.",
      "refs": [
        "V2 10174"
      ]
    }
  ],
  "decisions": [
    {
      "id": "D1",
      "after": "S2",
      "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": "S2",
      "decided_by": "robot",
      "question": "Did the crewmember answer the check-in?",
      "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": "S9",
      "decided_by": "ground",
      "question": "What is the plan (fluids, fluid loading, testing, medicine, work limits)?",
      "branches": [
        {
          "if": "Link live",
          "then": "Flight surgeon decides; robot logs."
        },
        {
          "if": "Link down or delay too long",
          "then": "The CMO decides under the pre-approved onboard checklist; the flight surgeon reviews the log at the next contact."
        }
      ]
    }
  ],
  "stop_rules": [
    {
      "id": "X1",
      "trigger": "The patient (or the crewmember being examined) says stop, or withdraws consent",
      "action": "Robot stops all motion at once, backs away to its rest position and tells the CMO. Recording stops unless the patient agrees to keep it running.",
      "level": "stop",
      "refs": [
        "V2 10165"
      ]
    },
    {
      "id": "X2",
      "trigger": "Any crewmember presses stop or takes over control",
      "action": "Protective stop; robot holds its stopped position; only a human may restart it.",
      "level": "safe-state",
      "refs": [
        "V2 10165",
        "V2 10168",
        "V2 10174"
      ]
    },
    {
      "id": "X3",
      "trigger": "Robot fault, sensor fault, or a force, speed or reach limit is reached",
      "action": "Protective stop and hand control to the CMO; log the fault.",
      "level": "safe-state",
      "refs": [
        "V2 10172",
        "V2 10168"
      ]
    },
    {
      "id": "X4",
      "trigger": "CMO is asked to take over and does not respond (for example, the CMO is the patient)",
      "action": "Robot stays stopped; the next named crewmember is called.",
      "level": "safe-state",
      "refs": [
        "V2 10173",
        "V2 7045"
      ]
    },
    {
      "id": "X5",
      "trigger": "Loss of link, or delay longer than the limit for live guidance",
      "action": "Only the robot pauses; crew care never waits for the link or the robot. Robot pauses any movement in its stopped position and tells the CMO. The CMO decides whether to continue offline under the pre-approved onboard checklist; the robot resumes only on the CMO's confirmation. Everything is logged and sent to the flight surgeon at the next contact.",
      "level": "pause",
      "refs": [
        "V2 10172",
        "V2 10173"
      ]
    },
    {
      "id": "X6",
      "trigger": "An URGENT alert is not acknowledged within the set time",
      "action": "Robot repeats the alert and sends it to the next named crewmember (the second trained CMO first if the CMO is the patient), and keeps repeating at the set interval. It stays where it is: it does not leave on its own.",
      "level": "urgent",
      "refs": [
        "V1 3006",
        "V2 10173"
      ]
    },
    {
      "id": "X7",
      "trigger": "The crewmember stops responding, or seems confused or drowsy, at any point",
      "action": "URGENT alert at once, even mid-question or mid-step; the robot stops its current task, stays at its rest position and does not continue the run; a crewmember checks in person.",
      "level": "urgent"
    },
    {
      "id": "X8",
      "trigger": "A crewmember asks the robot what is wrong, or for medicine, fluid or treatment advice",
      "action": "Robot declines, says it cannot assess or advise, and routes the question to the CMO or flight surgeon.",
      "level": "stop"
    }
  ],
  "red_flags": [
    {
      "id": "RF1",
      "sign": "Confusion, drowsiness or a new change in behavior",
      "threshold": "any",
      "action": "URGENT alert to the CMO and flight surgeon; the CMO checks in person",
      "source": "ng253"
    },
    {
      "id": "RF2",
      "sign": "Fainting, or dizziness on moving or standing",
      "threshold": "any",
      "action": "URGENT alert; the CMO checks in person",
      "source": "tb019"
    },
    {
      "id": "RF3",
      "sign": "No urine passed",
      "threshold": "for <set by clinical lead> hours (shared parameter NO_URINE_HOURS, the same value in RMP-RENAL-004 and RMP-GI-003)",
      "action": "URGENT alert; see RMP-RENAL-002",
      "source": "ng253"
    },
    {
      "id": "RF4",
      "sign": "Trouble passing urine, or a full bladder that will not empty",
      "threshold": "any",
      "action": "URGENT alert; see RMP-RENAL-002",
      "source": "mtb004"
    },
    {
      "id": "RF5",
      "sign": "Unable to keep fluids down",
      "threshold": "any (more sensitive than RMP-GI-002 RF4 by design; the clinical lead decides)",
      "action": "URGENT alert; see RMP-GI-002",
      "source": "mtb004"
    },
    {
      "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. For the clinical lead setting FEVER_ALERT_C: resting core temperature rose by about 1 °C over long missions (Stahn 2017); the clinical lead may take this into account",
      "source": "ng253"
    },
    {
      "id": "RF7",
      "sign": "Pain in the side or back, blood in the urine, or pain passing urine",
      "threshold": "any (never waits for a time limit)",
      "action": "URGENT alert; see RMP-RENAL-001; the log continues as a record only; any fluid plan is the flight surgeon's (no forced or high-volume fluids for acute colic; see RMP-RENAL-001)",
      "source": "renal24"
    },
    {
      "id": "RF8",
      "sign": "Fluid intake below the level the flight surgeon set, as logged",
      "threshold": "below <set by flight surgeon> liters in 24 hours (for context, NASA-STD-3001 provides at least 2.5 liters of water per crewmember per day; that is a supply requirement, not an intake target)",
      "action": "Flag to the flight surgeon; the robot says nothing to the crewmember about the amount",
      "source": "v2"
    },
    {
      "id": "RF9",
      "sign": "Urine volume below the level the flight surgeon set, where the waste system records it",
      "threshold": "below <set by flight surgeon> liters in 24 hours (for context, the NASA kidney stone model aims for 2.5-3 liters of urine a day, and stone risk rises below 1.5 liters a day)",
      "action": "Flag to the flight surgeon",
      "source": "renal24"
    }
  ],
  "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": "Handling urine, samples or waste",
      "value": "not allowed",
      "enforced": "No waste-handling task is loaded for this protocol"
    },
    {
      "id": "L3",
      "name": "Writing to waste-system or water-system settings",
      "value": "not allowed",
      "enforced": "Read-only data access"
    },
    {
      "id": "L4",
      "name": "Robot speed near the crewmember",
      "value": "<set by validation>",
      "enforced": "Hard limit in the controller",
      "refs": [
        "V2 10172"
      ]
    },
    {
      "id": "L5",
      "name": "Check-in length",
      "value": "<set by validation>",
      "enforced": "Timer; then the check-in ends"
    }
  ],
  "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 check-in time and answer, each read of waste-system or dispenser data, each drink pouch brought, and each alert, so the flight surgeon can follow the trend."
    },
    {
      "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 3003",
      "use": "Periodic monitoring of general health status in flight (item a)."
    },
    {
      "id": "V1 3004",
      "use": "In-mission care includes recording the history (d), privacy (c), and monitoring and trending physiological signs (h); any fluid plan or medicine (m) is a human decision."
    },
    {
      "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 6109",
      "use": "Minimum water quantities for drinking and fluid loading; the robot logs intake against nothing and shows no target."
    },
    {
      "id": "V2 6110",
      "use": "The minimum water needed per crewmember per day is 2.5 L (rationale); used as context only, never as an intake target."
    },
    {
      "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 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 check-ins covering every red flag, no response, a \"nothing by mouth\" order, missing waste-system data, a CMO who is the patient, and lost link.",
      "pass": "Every red flag acts as listed; zero hydration judgments or fluid advice; zero targets shown; zero writes to system settings; zero self-starts."
    },
    {
      "stage": "Earth analog",
      "what": "Isolation or bed-rest analog volunteers logging drinks and urine with the robot (no illness needed).",
      "pass": "Agreement with a measured reference log at or above <set by validation>; volunteers rate the check-ins as private and not intrusive."
    },
    {
      "stage": "flight use under flight surgeon supervision",
      "what": "First use as a logging aid alongside the usual medical conferences.",
      "pass": "No safety events; the flight surgeon finds the log useful."
    }
  ],
  "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 flight surgeon reviews the log; red flags go to the CMO and flight surgeon at once."
  },
  "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 sees summaries at the private medical conference and can be alerted at any time.",
    "loss_of_signal": [
      "Only the robot pauses; crew care never waits for the link or the robot.",
      "The robot pauses any movement and tells the CMO; on the CMO's confirmation it keeps running private check-ins and logging offline.",
      "Red flags go to the CMO (or the second trained CMO) at once; the CMO decides under the pre-approved onboard checklist.",
      "At the next contact the robot sends one package: the log, alerts and decisions."
    ],
    "mars_delay": [
      "Replies may take up to about 21-23 minutes each way, with blackouts of about 2-3 weeks; red-flag thresholds and the check-in schedule are set before flight and the CMO acts on them."
    ]
  },
  "sources": [
    {
      "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 6109 rationale (dehydration consequences, from poor communication, nosebleeds, headache, malaise and fitful sleep to urinary tract infection or urinary calculi; 1.5 L per crewmember for reentry fluid loading); V2 6110 rationale (the minimum water needed per crewmember per day is 2.5 L). Section 10.6 covers automated and robotic systems."
    },
    {
      "key": "renal24",
      "text": "NASA Human Research Program. Evidence Report: Risk of Renal Stone Formation (2024).",
      "url": "https://humanresearchroadmap.nasa.gov/evidence/other/2024%20Renal%20Evidence%20Report_Final.pdf",
      "supports": "Urine volume was 47% lower early (before flight day 30) and 39% lower late (after mission day 60) in long-duration crewmembers; stone risk rises when urine volume drops below 1.5 liters a day, and an effective hydration countermeasure should produce 2.5-3 liters of urine a day; the 2.5 liters of water a day is not always achievable."
    },
    {
      "key": "tb019",
      "text": "NASA OCHMO. Orthostatic Intolerance. Technical Brief OCHMO-TB-019 Rev B.",
      "url": "https://www.nasa.gov/wp-content/uploads/2023/12/ochmo-tb-019-orthostatic-intolerance.pdf",
      "supports": "Spaceflight reduces intravascular fluid volume by around 15%; fluid loading before reentry is an important countermeasure to decrease orthostatic intolerance, and current protocols include 24-48 oz of salt-water solution before deorbit, depending on body weight."
    },
    {
      "key": "stahn",
      "text": "Stahn AC, Werner A, Opatz O, et al. Increased core body temperature in astronauts during long-duration space missions. Sci Rep. 2017;7(1):16180.",
      "url": "https://doi.org/10.1038/s41598-017-15560-w",
      "doi": "10.1038/s41598-017-15560-w",
      "pmid": "29170507",
      "supports": "Resting core body temperature rose by about 1 °C, developing gradually over 2.5 months of flight; during exercise it rose higher and faster than on Earth. Cited as a note for the clinical lead setting FEVER_ALERT_C (RF6); not re-read in the batch 4 review."
    },
    {
      "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": "In the NICE sepsis guideline's risk table for community settings (Table 1), not passing urine in the previous 18 hours and objective evidence of a new altered mental state are high-risk criteria; the guideline asks about fever or shaking chills but says not to rely on fever alone. Used as context for the no-urine, fever and confusion red flags; the hours and the temperature stay placeholders. Also used for RF5 (unable to keep fluids down), as RMP-GI-002 RF4 does."
    },
    {
      "key": "mtb004",
      "text": "NASA OCHMO. Space Adaptation Sickness (SAS) and Space Readaptation Syndrome. Medical Technical Brief OCHMO-MTB-004 Rev A (Sept 25, 2025).",
      "url": "https://www.nasa.gov/wp-content/uploads/2025/09/ochmo-mtb-004-space-adaptation-sickness-sas.pdf",
      "supports": "Space adaptation sickness includes urinary retention; nausea and vomiting in the first few days result in decreased caloric intake and dehydration."
    },
    {
      "key": "worster",
      "text": "Worster AS, Bhanich Supapol W. Fluids and diuretics for acute ureteric colic. Cochrane Database Syst Rev. 2012;(2):CD004926.",
      "url": "https://doi.org/10.1002/14651858.CD004926.pub3",
      "doi": "10.1002/14651858.CD004926.pub3",
      "pmid": "22336806",
      "supports": "No reliable evidence that forced fluids help in acute colic."
    },
    {
      "key": "ermed",
      "text": "NASA Human Research Program. Evidence Report: Risk of Adverse Health Outcomes and Decrements in Performance due to In-Flight Medical Conditions (2017).",
      "url": "https://humanresearchroadmap.nasa.gov/evidence/reports/Medical.pdf",
      "supports": "Table 1: 2 dehydration events on the ISS through Expedition 40."
    },
    {
      "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 item a (general health monitoring); V1 3004 items c (privacy), d (history), h (monitoring and trending physiological signs) and m (medicines)."
    },
    {
      "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-20",
      "version": "0.2",
      "source": "AI-assisted clinical and source review by the Medical Research Assistant, Oct 20, 2026 (batch 4 review)",
      "items": [
        "Lockout added: no prompting, reminding or encouraging drinking during a suspected or confirmed stone episode; RF7 says the log continues as a record only and any fluid plan is the flight surgeon's (no forced or high-volume fluids for acute colic); Cochrane review cited (item 25).",
        "RF5 (unable to keep fluids down) cites MTB-004 and NICE NG253 (item 26).",
        "Optional: RF5 notes it is more sensitive than RMP-GI-002 RF4 by design (item 43); the renal evidence report is cited with its public-release date (item 44); data access ends when the log closes (item 45); the Stahn 2017 temperature finding moves to a note for the clinical lead setting FEVER_ALERT_C (item 46); V2 6110 is listed (item 50).",
        "Review label set to the library wording: reviewed (AI-assisted), Oct 20, 2026; no named human clinician.",
        "Planned protocols named in an action now show \"(planned)\", and each such action is complete without the link (item 51)."
      ]
    },
    {
      "date": "2026-10-21",
      "version": "0.2",
      "source": "Batch 5 editorial (AI-assisted), Oct 21, 2026; batch 4 review item 49",
      "items": [
        "Inherited stop-rule and requirement wording: \"holds a safe position\" → \"holds its stopped position\"; \"stays in its safe state\" → \"stays stopped\"; \"take over safely\" → \"take over\"; \"Robot stays safe if no one takes over\" → \"Robot stays stopped if no one takes over\". Schema level name safe-state and never-word list entry \"safe\" unchanged."
      ]
    },
    {
      "date": "2026-10-21",
      "version": "0.3",
      "source": "Batch 7 editorial (AI-assisted), Oct 21, 2026",
      "items": [
        "Citation labels changed to the site's year-only convention: \"(approved for public release <date>)\" now reads \"(YYYY)\", and NASA-STD-3001 Volume 2 \"Revision F (approved July 14, 2026)\" now reads \"(Rev F, 2026)\" (sources: ermed, renal24, v2). Editorial; no change to steps, thresholds or limits."
      ]
    },
    {
      "date": "2026-10-21",
      "version": "0.4",
      "source": "Batch 7 review and batch 8 editorial (AI-assisted), Oct 21, 2026",
      "items": [
        "X5 and the comms loss-of-signal branch now open with \"Only the robot pauses; crew care never waits for the link or the robot.\" (batch 7 review suggestion 29). Editorial; robot behaviour unchanged."
      ]
    }
  ]
}
