SPACE MEDICINEFOUNDATION
⌕ Search
Space weather
Geomagnetic storm level: Loading…
Solar radiation level: Loading…
Updated --:-- -- ET · educational only
EDUCATIONAL RESOURCE · Educational use only — not medical advice and not operational guidance. Disclaimer

Home › Robotic Medicine › Article series › Part 4 · Walking RMP-PHARM-001

RES-06.4 · Series article · Robotic Medicine

Walking One Protocol End to End: RMP-PHARM-001 Medicine Barcode Check

Also: pharmacy robot protocol walkthrough · RMP-PHARM-001 explained · medicine barcode check robot · mismatch quarantine CMO override

Distance from EarthIsolation & ConfinementPharmacologyIn-flightLEO long-durationCislunar / Lunar orbitLunar surfaceMars transit & surfacePublicStudentClinicianResearcher

AI-assisted Last reviewed: 2026-10-26 · Reviewer: AI-assisted draft, sources self-checked against the published RMP-PHARM-001 v0.7 YAML, NASA standards and cited barcode literature (Oct 26, 2026); Medical Research Assistant clinical/source pass requested; no named human clinician

Bottom line
  • RMP-PHARM-001 is a conceptual, educational protocol: after a human has already ordered a medicine, the robot may fetch the sealed package, match it to every field of that order by barcode, confirm the recipient, and hand over only a full MATCH TO ORDER. It never chooses, recommends, doses or gives a medicine. ◆◆◆◆ High · E
  • After any mismatch, failed scan or failed recipient check, quarantine is the default. The robot never hands the item over unprompted, and never to anyone other than the crew medical officer. ◆◆◆◆ High · E
  • It may hand a NOT VERIFIED item to the CMO only on an explicit two-step override request: the CMO states the override and reason, then confirms. That hand-over is logged (timestamp, CMO identity, reason, mismatched fields, order, barcode) and flagged to the flight surgeon. ◆◆◆◆ High · E
  • A match is not a clinical safety check. Allowed language is MATCH TO ORDER (not a dose, interaction or allergy review). Banned: verified safe, safe to take, OK to give, MATCH alone, or any diagnosis. ◆◆◆◆ High · E
  • In an emergency where seconds matter, the crew take items directly and the robot reconciles inventory afterward. This protocol is not for clinical use. ◆◆◆◆ High · E

Proposed certainty (◆ High → ◇ Very low) and evidence-type tags: F flight · A analog · M model/animal · C computational · E expert/operational/standards. AI-proposed, pending reviewer confirmation. How to read the grades.

Conceptual and educational. Not for clinical use. This article walks a published library protocol. It is not operational guidance and does not describe any company’s product. AI-assisted; no named human clinician has reviewed this Part 4 article yet.
Default path: barcode match, mismatch → quarantine, and logged CMO override are the supervised (rung 2) everyday rules. Robot diagnose / prescribe under AGI is contingency-only — see Part 5 — and does not change this protocol’s mismatch → quarantine default.

Why walk a pharmacy protocol

Part 1 framed autonomy rungs and a 13-part protocol skeleton [11]. Part 2 walked an imaging assist protocol end to end [12]. Part 3 explained validation and who signs off — including the library’s standing pharmacy rule: mismatch → quarantine by default [13][14].

This Part 4 follows one pharmacy draft from start to finish: RMP-PHARM-001, Fetch a medicine a human has prescribed and match it to the order by barcode (v0.7, AI-assisted clinical and source review on the protocol itself; conceptual; not for clinical use) [1].

The protocol’s job is narrow. A human has already decided on a medicine. The robot fetches the sealed package, matches it to every field of that order, confirms the recipient, and either hands over a full match or quarantines the item. Choosing, recommending, dosing and giving the medicine stay with people.

Earth barcode systems cut many administration errors but do not eliminate them, and workarounds such as proxy scanning undermine them [3][4]. Exploration missions can outlast typical medication expiry dates, so expiry and storage checks matter alongside the order match [6]. Those facts motivate the protocol; they do not make this article operational guidance.

The cast: who decides what

RoleIn this protocolMust never…
Flight surgeon (ground)Medical authority for every run [1][7]. May uplink orders when the link allows; reviews override flags and logs [1].Hand medical authority to the robot.
Crew medical officer (CMO)Onboard lead under delegated care; enters or confirms the order; starts the run; decides whether and how to give the medicine after hand-over; may request a logged two-step override for a NOT VERIFIED item [1][7].Leave a mismatched item treated as verified; accept an override without the two-step confirm and reason.
PrescriberFlight surgeon, or the CMO under the onboard checklist [1].Ask the robot to choose or recommend a medicine.
RecipientCrewmember named on the order; identity confirmed at hand-over [1].Receive a NOT VERIFIED item from the robot (only the CMO may take one, via override).
RobotRead-back, fetch, field-by-field barcode match, recipient check, quarantine, inventory update; max autonomy rung 2 (supervised) [1][15].Diagnose; give drug advice; open packaging; proxy-scan; hand over a mismatch unprompted or to anyone but the CMO; say “safe to take” [1].

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 [1][16]. NASA programs plan for two CMOs per vehicle [8].

Communication delay: orders stay human

Unlike RENAL-001’s live-vs-store-and-forward imaging choice, this protocol does not wait on the ground to match an item [1][10]:

  • Low Earth orbit: the flight surgeon can uplink orders; inventory syncs with the ground.
  • Loss of link: only the robot pauses; crew care never waits for the link or the robot. On the CMO’s confirmation the robot works from the local inventory copy; logs and overrides sync at the next contact [1].
  • Mars-class delay: all orders are entered onboard; inventory, expiry, override and resupply data go to the ground as packages [1][10].

Preconditions (nothing is fetched until these are true)

Encoded as preconditions [1][2]:

  1. PRE-1 — A complete human order exists: prescriber, crewmember, medicine, strength, dose form, quantity and ordered time window (order.complete == true).
  2. PRE-2 — The CMO started the run (human_start == true) [V2 10174].
  3. PRE-3 — Inventory synced (or local copy in use with CMO confirmation); barcode and crew-ID scanners self-tested [V2 10161].
  4. PRE-4 — Not an emergency where seconds matter: in that case the crew take items directly and the robot logs afterward (the protocol’s emergency block adds that it reconciles inventory) [1].

Consent to the medicine itself is a CMO responsibility, outside the robot’s role. The CMO confirms the order on read-back; the CMO can cancel the fetch at any time and the item returns to stowage [1].

Step-by-step: what the robot does

Actors in the YAML are crew or robot [1].

StepActorAction
S1CrewCMO enters the order, or confirms one uplinked by the flight surgeon.
S2Robot (rung 2)Read the order back aloud and on screen; CMO confirms.
S3RobotFind stowage location; retrieve the sealed package without opening it [V2 7052].
D1RobotItem found where inventory says, in the expected quantity? If not → flag discrepancy; ask the CMO.
S4RobotScan the item’s own barcode; compare every field (see below). Expiry or storage problems show as MISMATCH before any hand-over.
D2RobotEvery check matched? Yes → continue. No / cannot verify → HARD STOP, quarantine (see mismatch path). CMO two-step override → S7.
S5RobotConfirm recipient identity (crew ID scan, or CMO voice) against the crewmember on the order.
D3RobotRecipient matches? Yes → S6. No / not confirmed → HARD STOP, quarantine. CMO two-step override → S7.
S6RobotOnly after a full match: show “MATCH TO ORDER. Not a dose, interaction or allergy review.” and hand the item to the CMO.
S7RobotOverride path only (details below).
S8CrewCMO checks the item by eye and decides whether and how to give it (outside the robot’s role).
S9RobotLog the fetch and every check; update inventory; flag low stock [V2 7059].
S10RobotReturn unused or rejected items to stowage; quarantined items stay in the quarantine bin.

Fields the robot must match (verification.fields) [1]: recipient identity, crewmember on the order, medicine, strength, dose form, quantity, ordered time window, expiry, storage, and human-entered record flags (for example allergy flags entered by humans — the robot does not perform a clinical allergy review).

Language the robot is allowed to use: “MATCH TO ORDER (recipient, medicine, strength, form, quantity, time window, expiry, storage). Not a dose, interaction or allergy review.”; “MISMATCH: <fields>. NOT VERIFIED. Quarantined.”; “CANNOT VERIFY: <reason>. NOT VERIFIED. Quarantined.”; and at an override hand-over, “NOT VERIFIED - MISMATCH: <fields>. Override by CMO logged.” Never: “normal”, “all clear”, “MATCH” alone, “verified safe”, “safe to take”, “OK to give”, “recommended”, “use instead”, or any diagnosis [1].

The mismatch path: quarantine, then optional logged override

This is the standing library rule Part 3 pointed at, written out in the YAML [1][13][14]:

  1. Default after any mismatch, failed scan, failed recipient check, or check that cannot be done: hard stop. Seal the item in a labeled NOT VERIFIED bag; place it in the quarantine bin. No hand-over. The robot never hands the item over unprompted [1].
  2. Who may receive a NOT VERIFIED item: the CMO only — never the recipient, never another crewmember [1].
  3. Explicit CMO override (two steps): (a) the CMO states “override” and the reason; the robot reads back the mismatched fields and the reason; (b) the CMO confirms in a separate, deliberate step (second spoken confirmation or confirm control). The robot confirms the CMO’s identity before releasing the item [1].
  4. Log every override: timestamp, CMO identity, reason, mismatched fields, order ID, item barcode [1].
  5. Flag the flight surgeon at once; if the link is down, queue and send at the next contact [1].
  6. Speak and show at hand-over: “NOT VERIFIED - MISMATCH: <fields>. Override by CMO logged.” — never language that sounds like the item is verified or safe [1].

Gripper release to a person is blocked unless all checks passed, or the identified CMO completed that two-step override and the log entry was written (safety_limits L1–L2) [1]. Proxy scanning (any label other than the item’s own package) is not allowed (L3) [1][5]. Scan failures follow the same quarantine default; the CMO uses the pre-approved escalation process (verify by eye against the order; a second crewmember when available is marked in the YAML as a design suggestion, not from the cited source); never scan a substitute label [1][5].

Whether an expired or out-of-storage item may be used is a CMO and flight surgeon decision — not the robot’s [1][6].

What the robot must never do (lockouts)

Encoded as robot_lockouts / roles.robot_may_not / scope.locked_out and echoed in the library’s shared safety rules [1][14]:

  • Never diagnose.
  • Never give drug or fluid advice; never suggest a medicine, dose or alternative.
  • Never start, stop or adjust oxygen or any medicine.
  • Never self-start or self-restart.
  • Never change its own protocol thresholds or limits.
  • Never hand over a mismatched item as “verified”.
  • Never hand over a NOT VERIFIED item unprompted, or to anyone other than the CMO.
  • Never accept an override without the two-step confirm, the reason and the log.
  • Never say or show that an item is safe, OK or verified safe.
  • Never scan anything other than the item’s own package (no proxy scanning).
  • Never open packaging or handle loose tablets.
  • Never give a medicine to a crewmember.
  • Never delay the crew from taking an item directly in an emergency.

Controlled-medicine counts belong to RMP-PHARM-004, not this protocol [1].

Failure modes and red flags

Stop rules (stop_rules) [1]:

IDTriggerRobot action
X1Patient / examined crewmember says stop or withdraws consentStop fetch; return to stowage (or quarantine if a check failed); tell CMO.
X2Any crewmember presses stop or takes overProtective stop; only a human may restart.
X3Fault or force/speed/reach limitProtective stop; hand control to CMO; log fault.
X4CMO asked to take over and does not respondStay stopped; call the next named crewmember [V2 7045], [V2 10173].
X5Loss of link or delay past live-guidance limitOnly the robot pauses; crew care never waits. Continue offline only on CMO confirmation; sync later.
X6Any mismatch, failed scan, failed recipient check, or check that cannot be doneHard stop → NOT VERIFIED quarantine; hand-over only via logged two-step CMO override (S7).
X7Order changes during the fetchStop; discard old order; read back the new one.
X8Medicine advice requested, or anyone but the CMO asks for a quarantined item, or override without two-step confirm and reasonDecline; route to CMO or flight surgeon; item stays in quarantine.

Red flags (red_flags) [1]: any field mismatch including recipient (RF1); a human-entered allergy or other record flag (RF2 — hard stop; CMO and flight surgeon decide); storage temperature outside limits (RF3); every CMO override hand-over of a NOT VERIFIED item (RF4 — logged and flagged to the flight surgeon); stock below reorder level (RF5 — flag to ground). Thresholds marked <set by pharmacy lead> are intentional blanks until a human owner fills them [2].

  • Medicine consent is the CMO’s job; the robot only confirms order read-back and can cancel the fetch on CMO command [1].
  • Logs are private medical data, encrypted, limited to the medical team [V1 6003], [V1 7003] [8].
  • Every input, action, decision (with who decided), mismatch, quarantine, override and inventory change is time-stamped [V2 10163], [V2 10164] [9].
  • Override logs must include timestamp, CMO identity, reason, mismatched fields, order and barcode, and when the flight surgeon flag was sent [1].

A delayed flight surgeon should be able to reconstruct the run without trusting soft language like “verified.”

How the YAML and schema encode the checks

The downloadable file is rmp-pharm-001.yaml, validated against the schema (schema_version: 0.3) at build time [1][2]. Useful fields for readers of the file:

  • max_autonomy: 2 — supervised rung ceiling [15].
  • verification.on_mismatch — hard_stop, quarantine default, unprompted_handoff: false, and the full cmo_override two-step / log / notify_flight_surgeon block.
  • robot_lockouts.handing_over_a_mismatched_item_as_verified — hard behavioral limit, not a prose footnote.
  • result_language.use / .never — including the ban on “safe to take” and bare “MATCH”.
  • steps[] S1–S10, decisions[] D1–D3, stop_rules[] X1–X8, red_flags[] RF1–RF5, safety_limits[] L1–L7.
  • comms.loss_of_signal / comms.mars_delay — crew care never waits; orders stay onboard under delay.
  • validation[] — simulation with seeded errors (zero false MATCH TO ORDER; zero hand-overs after a mismatch) → mock-up stowage → Earth analog → flight use under flight surgeon supervision.
  • signoff.each_run — started by the CMO after a human order; overrides reviewed by the flight surgeon at the next contact.
  • change_control — new versions and re-validation after patient- or medicine-touching changes; the robot never edits itself.

If a hand-over after a mismatch lacks the override logging and flight-surgeon notification fields, the schema and build reject it [1][2]. That is the point of a robot-readable pharmacy rule: humans and machines share one source of truth.

Where this sits in the library

What comes next

  • Part 5 (published): Contingency autonomy for 2027–2033 — fallback rungs 4–5 when human support is unavailable or insufficient; AGI prescribe/diagnose is contingency-only and does not erase this barcode/quarantine path.
  • Later (planned): other library walks (for example crew-held ultrasound variants, or further pharmacy drafts), always conceptual and educational.
  • Part 1 · Part 2 · Part 3 remain the framework, imaging walk-through and validation/sign-off pieces.

Part 4 makes the pharmacy mismatch rule concrete by walking the YAML that encodes it. It does not clear any protocol for flight use.

How this article was checked

Written with AI assistance on Oct 26, 2026. Every behavioral claim about RMP-PHARM-001 was checked against the published v0.7 YAML in the site repository (verification.on_mismatch, steps S4–S7, decisions D2–D3, stop rule X6, red flag RF4, safety limits L1–L3, result language, and corrections notes for v0.2–v0.7). NASA-STD-3001 Volume 1 and Volume 2 requirement IDs match the protocol’s requirements block. Barcode literature claims follow the protocol’s cited Poon 2010, Koppel 2008 and ISMP 2024 sources. Pharmaceutical-care context follows OCHMO-MTB-012 as named in the protocol’s v0.7 correction (link path may still show the older TB-006 filename on NASA’s CDN).

No named human clinician has reviewed this Part 4 article. An independent AI-assisted pass by the Medical Research Assistant is requested. The underlying protocol RMP-PHARM-001 already carries its own AI-assisted review note (Oct 20–21, 2026).

Evidence profile
Overall certainty
◆◆◇◇ Low (proposed)
Evidence types
E · Expert / operational / standardsA · Terrestrial analogF · Flight data
Literature through
2026-10-26
Requirements referenced 19
RequirementTitlePlain-language meaning
[V1 3004]In-mission medical care capabilitiesIncludes inventory monitoring and administering and managing medications (a human capability).
[V1 3006]Crew Medical OfficerNASA programs plan for two CMOs per vehicle.
[V1 6003]Private Medical CommunicationsMedical traffic to and from the ground is private.
[V1 7001]Medical records kept permanently and retrievableRecords kept in retrievable form for trend analysis.
[V1 7003]Crew Records SecurityMedical records must be secured in handling, storage and transmission.
[V2 7045]Medical Equipment UsabilityEquipment usable when the usual caregiver is the patient.
[V2 7052]Dedicated stowage location for relocatable itemsRelocatable items have a dedicated stowage location.
[V2 7059]Inventory management: track locations and quantitiesInventory system tracks locations and quantities of items.
[V2 10161]Automation System Status ProvisionRobot status (including self-test) shown to the operator.
[V2 10162]Automation Mode Change NotificationMode changes are announced to the operator.
[V2 10163]Automation Data AvailabilityData recorded, time-stamped and made available.
[V2 10164]Automation System Responsibility DelineationShow whether human or machine is expected to act.
[V2 10165]Automation and Robotics Override and Shut-DownHuman can override and shut down.
[V2 10168]Automation Failure RecoveryHuman can take over if the robot fails.
[V2 10170]Decision aids explain their reasoningThe screen shows each field compared and why it matched or not.
[V2 10171]Decision aids state their limitationsRobot says when it cannot verify.
[V2 10172]Automation Safe ModeProtective action when a safety threshold is crossed.
[V2 10173]Safety DefaultStay stopped if the human does not take control when asked.
[V2 10174]System InitiationOnly a human starts or restarts the robot after an emergency stop.

IDs as published in NASA-STD-3001 Vol. 1 Rev C (2023-09-15) and NASA-STD-3001 Vol. 2 Rev F (2026-07-14). NASA-STD-3001 binds NASA programs; it is not a regulation for commercial flights. Paraphrased. Standards quick reference.

References 16
  1. Space Medicine Foundation. RMP-PHARM-001: Fetch a medicine a human has prescribed and match it to the order by barcode (conceptual protocol v0.7; AI-assisted review). spacemedicinefoundation.org/robotic-medicine/protocols/rmp-p… Other E
  2. Space Medicine Foundation. Robot-readable protocol schema. spacemedicinefoundation.org/robotic-medicine/protocols/schem… Other E
  3. Poon EG, Keohane CA, Yoon CS, et al. Effect of bar-code technology on the safety of medication administration. N Engl J Med. 2010;362(18):1698-1707. doi:10.1056/NEJMsa0907115 PMID:20445181 Peer-reviewed A
  4. Koppel R, Wetterneck T, Telles JL, Karsh BT. Workarounds to barcode medication administration systems: their occurrences, causes, and threats to patient safety. J Am Med Inform Assoc. 2008;15(4):408-423. doi:10.1197/jamia.M2616 PMID:18436903 Peer-reviewed A
  5. Institute for Safe Medication Practices. Lack of proper escalation process for BCMA scanning failures. ISMP Medication Safety Alert! Acute Care, March 21, 2024. www.ismp.org/sites/default/files/newsletter-issues/20240321.… Other E
  6. NASA OCHMO. Pharmaceutical Care. Medical Technical Brief OCHMO-MTB-012 Rev B (2026). www.nasa.gov/wp-content/uploads/2023/12/ochmo-tb-006-pharmac… NASA E
  7. NASA OCHMO. Medical Operations. Technical Brief OCHMO-TB-044 (2025). www.nasa.gov/wp-content/uploads/2025/08/ochmo-tb-044-medical… NASA E
  8. NASA. NASA-STD-3001, Space Flight Human-System Standard, Volume 1: Crew Health, Revision C (2023). www.nasa.gov/wp-content/uploads/2023/11/nasa-std-3001-vol-1-… Standard E
  9. NASA. NASA-STD-3001, Volume 2: Human Factors, Habitability, and Environmental Health, Revision F (approved July 14, 2026), Section 10.6 Automated and Robotic Systems. standards.nasa.gov/standard/NASA/NASA-STD-3001_VOL_2 Standard E
  10. NASA. Mars communications disruption and delay (fact sheet, 2023 Moon to Mars Architecture Concept Review). www.nasa.gov/wp-content/uploads/2024/01/mars-communications-… NASA E
  11. Space Medicine Foundation. Robotic Medicine series Part 1: Could a humanoid robot be a medical crewmember? spacemedicinefoundation.org/robotic-medicine/series/humanoid… Other E
  12. Space Medicine Foundation. Robotic Medicine series Part 2: Walking RMP-RENAL-001 end to end. spacemedicinefoundation.org/robotic-medicine/series/walking-… Other E
  13. Space Medicine Foundation. Robotic Medicine series Part 3: Testing robot care in simulation and Earth analogs, and who signs off. spacemedicinefoundation.org/robotic-medicine/series/testing-… Other E
  14. Space Medicine Foundation. Shared safety rules for the robot-readable protocol library. spacemedicinefoundation.org/robotic-medicine/protocols/#shar… Other E
  15. Space Medicine Foundation. Capabilities at a glance. spacemedicinefoundation.org/robotic-medicine/capabilities/ Other E
  16. U.S. Code of Federal Regulations, Title 14, Part 460: Human space flight requirements. www.ecfr.gov/current/title-14/chapter-III/subchapter-C/part-… Other E

Machine-checked on 2026-10-26: each URL resolved, each DOI's title/journal/year matched via Crossref, and claims were checked against the source text (abstract or full NASA page). Human verification against full text is still required before review. NASA documents are U.S. Government works (public domain) and are summarized with attribution; journal articles are summarized, not reproduced.

Article info
Authors
Pending (AI-assisted)
Reviewer
AI-assisted draft, sources self-checked against the published RMP-PHARM-001 v0.7 YAML, NASA standards and cited barcode literature (Oct 26, 2026); Medical Research Assistant clinical/source pass requested; no named human clinician
Last reviewed
2026-10-26
Literature through
2026-10-26
AI-assisted
Yes (disclosed)
COI
Pending
License
CC BY-SA 4.0
Use
Educational only · Disclaimer
Cite this version
Pending first edition
AI-assisted content for educational use only; not medical advice and not operational guidance. Reviewed: clinical review 2026-10-26 (AI-assisted), by an AI medical research assistant, not a named human clinician. Evidence grades are AI-proposed. Items marked “pending verification” could not be confirmed against a primary source. Disclaimer

Search and quick actions

Type to search. Use the up and down arrow keys to move through results, Enter to open, Escape to close.