Four pairs of hands. One of them is a robot's.
A blood sample is only useful if the lab can trust where it's been. Who held it, for how long, and how cold it was. Today that lives on paper slips and in people's memory.
- Who asks
- The lab schedules the run. Halfway through, the delivery robot posts a task of its own when a lift is out of service.
- Who does it
- A nurse loads the pouch, the robot carries it, a porter covers the gap and a lab tech receives it. Hospital staff and hospital robots only.
- Evidence only
- The drawer lock, the badge and tag scanners, and a temperature logger in the drawer reading every 30 seconds.
- Who pays
- The hospital, for verification. Nobody is paid per task: everyone involved is already on shift.
- Never
- The marketplace. And no patient data: pouch and test IDs go into the proof as salted commitments.
- You get
- A custody record for the lab's quality system: every custodian, every handoff, every reading.
The robot can't press a broken lift's button. It can ask someone to carry the pouch, and keep the chain intact.
The robot is a performer for most of the run, and a requester for six minutes of it. Teleport doesn't match anyone here: the hospital already knows who's on shift. It adds the proof.
Rivermouth General is a fictional hospital. No patient data is shown or stored.
Thirty-one minutes. Four custodians. No white space.
Each custodian's stretch starts with a scan where the last one ended. The temperature runs underneath the whole way, so a gap or a warm spell shows up at a glance.
The chart shows one reading a minute. The logger records one every 30 seconds, and the full file is attached to the proof as a hash.
From the ward to the lab, in six steps.
Five of them happen on every run. The third only happens when something breaks, and that's the one a robot can't handle alone.
- 01
Load
The nurse scans their badge and the pouch tag. The drawer locks. Custody passes from nurse to robot.
- 02
Carry
The robot sets off for the lab. The logger in the drawer records the temperature every 30 seconds.
- 03
Stuck
Lift B is out of service. The robot posts a task: carry the pouch from the 4W lift lobby to the lab, 6 minutes, badge holders only.
- 04
Hand over
The nearest porter accepts, scans their badge, and the drawer opens for them only. Custody passes from robot to porter.
- 05
Receive
The lab tech scans to receive. The seal is checked, and the logger file is attached.
- 06
Prove
One proof for the run: every custodian, no gaps, in range throughout, and inside the time limit.
Six checks. No model.
Scanners, a lock and a thermometer. Every check here is a rule over device records, which is why the run can reach the top assurance level.
| Check | How | By | Result |
|---|---|---|---|
| Custody unbroken | Every handoff is a pair of scans, badge and tag, and each custodian's stretch starts where the last one ended. | Rule | Passed |
| Seal intact | The seal state is recorded at every handoff. A broken seal is a fail, not a note. | Rule | Passed |
| 2–8 °C throughout | The logger file covers the whole run, one reading every 30 seconds, all inside the band. | Rule | Passed |
| Inside 45 minutes | From the first scan to the lab's scan, by trusted time. This run took 31 minutes. | Rule | Passed |
| Right destination | The receiving scan happens on the lab's own reader, by a lab badge. | Rule | Passed |
| Staff only | Every custodian is a hospital badge holder or a hospital robot. The mandate allows nobody else. | Rule | Passed |
A missing scan or a reading out of range doesn't become a quiet pass. The lab sees exactly which check failed, and when.
§ 05 · Health data and who may touch the pouch
Pouch IDs, not patients. Staff, not strangers.
The proof needs to name the pouch without naming the person it came from. So it carries a salted commitment, and the tag itself never leaves the hospital. And the people who handle it are only ever staff on shift.
- Who
- Hospital robots and badge holders on shift
- Marketplace
- Never
- Robot may ask
- The nearest porter, for a handover of up to 6 min
- Identifiers
- Pouch and test IDs as salted commitments
- Evidence
- Stays in the hospital's systems
- Pay
- None per task. Verification billed to the lab
Its hash goes into every proof from these runs.
What needs care.
Specimens, patients and a robot in a busy corridor. The proof is only worth having if it's honest about every gap.
Health data stays home
Nothing that identifies a patient enters the protocol. Pouch and test IDs are salted commitments, and the evidence itself stays inside the hospital's systems.
Staff only, enforced
These tasks go to badge holders on shift and hospital robots, never to the marketplace. That's set in the mandate, so it can't be switched off by mistake.
A gap is a fail
If a scan is missing, the proof says so. Nothing gets smoothed over to make the run look clean. The lab decides what to do with the sample.
Out of range is a finding
A temperature excursion doesn't vanish into a pass. It's recorded with the readings, and the lab's own rules decide whether the sample can be used.
A stuck robot keeps the drawer shut
While it waits, the drawer stays locked. It opens only for the badge of the porter who accepted the handover task.
Adds to the lab's quality system
The proof is evidence the lab's own quality and accreditation processes can use. It doesn't replace them, and it doesn't judge the sample.
Every custodian. Every minute. No names.
The receipt goes into the lab's quality system. It shows the chain held and the samples stayed cold, and it doesn't say whose samples they were.
Nobody is paid per run, and nobody needs $PORT. The hospital pays for verification in dollars, and gets a proof it can show an auditor.
- Task
- Specimen run · 4W → lab
- Requested by
- The lab; handover by the robot
- Performed by
- Nurse · robot · porter · lab tech
- Custody
- 4 custodians · no gaps
- Temperature
- 3.9–5.6 °C · in range
- Time
- 31 min · limit 45
- Policy
- specimen-custody v1.0
- Decision
- Accepted
- Paid
- No per-task pay · staff on shift
STATUS: FINAL
Pouch: a salted commitment only. The tag and the logger file stay in the hospital.
For builders.
The run is a DIRECT workflow. The spec below is the task the robot posts when lift B is out: requesterType: ROBOT, a ROBOT_EXCEPTION trigger, and evidence that is all ATTESTED_DEVICE.
PhysicalTaskSpec · the handoverTAP v0.3 draft · preview, subject to change
{
"schema": "teleport.tap.physical-task",
"version": "0.3.0-draft",
"title": "Carry specimen pouch from 4W lift lobby to the lab",
"category": "DELIVER",
"requester": {
"requesterType": "ROBOT",
"principal": { "principalType": "ORGANIZATION" },
"mandateId": "mdt_rivermouth_specimen_runs_v3"
},
"trigger": { "type": "ROBOT_EXCEPTION", "sourceRef": "fleet:dr-07:lift_b_unavailable" },
"fulfillment": {
"mode": "DIRECT",
"designatedPerformers": [{ "fleetId": "rivermouth_porters_on_shift", "actorType": "HUMAN" }]
},
"relations": {
"workflowId": "wf_specimen_run_4w_0193",
"followUpOf": "task_specimen_run_4w_0193_carry"
},
"subject": { "type": "SPECIMEN_POUCH", "commitment": "0x7c…e1" },
"completionConditions": [
{ "type": "SEQUENCE", "id": "custody_unbroken",
"steps": ["scan:robot_release", "scan:porter_badge", "scan:lab_receive"],
"verificationMethod": "DETERMINISTIC" },
{ "type": "STATE", "id": "seal_intact", "property": "seal", "expected": "INTACT",
"verificationMethod": "DETERMINISTIC" },
{ "type": "MEASUREMENT", "id": "in_range", "metric": "temperature", "unit": "C",
"min": 2, "max": 8, "verificationMethod": "DETERMINISTIC",
"minimumEvidenceOrigin": "ATTESTED_DEVICE" },
{ "type": "DURATION", "id": "run_time", "maxMs": 2700000,
"verificationMethod": "DETERMINISTIC" }
],
"rightsPolicy": { "policyId": "hospital-internal-only-v1" },
"economics": { "performerPayUsdCents": 0, "settlementAssets": ["FIAT"] },
"popw": { "required": true, "assurancePolicyId": "HIGH_ASSURANCE", "proofTiming": "WORKFLOW" },
"timing": { "expiresInSeconds": 360, "priority": "HIGH" }
}Proposed additions this use case surfaced
- Custody chains
- A first-class custody record: the object (as a commitment), then the ordered custodians, each with a signed handoff (badge, scan or device key) and a seal state. A CUSTODY condition that fails on any gap.
- Mid-task handovers
- A performer posting a task to hand its own work to someone else, without breaking the chain. Here the robot hands custody to a porter, then the porter to the lab.
- Direct-only mandates
- A mandate flag that says “never the marketplace”, checked when a task is posted, so tasks in regulated settings can only reach named staff and machines.
- Subject commitments
- A standard way to refer to a regulated object (a specimen, a patient's item, a piece of evidence) by a salted commitment, so the proof can name it without revealing it.
- Excursion findings
- A reading outside its band recorded as a finding, alongside the decision on the run, so “delivered” and “in range” are separate, honest answers.
SEQUENCE approximates custody today. The custody chain above is the proper version, shared with the robotaxi lost-item case. Developer docs
Hospitals and lab operations
Can you prove where every sample has been?
Tell us how specimens move in your hospital. We're looking for design partners with robots or porters on the run.