18-2 · Patient safety · 2026-11-14
Medication Administration and Dispensing Safety
Evaluate pill identification and prescription checks independently, then verify the evidence behind each error flag.
Research question and target
Define reference cases for pill identification and prescription review, covering lighting, occlusion, look-alike products and unit conversion errors.
- Internal target
- Zero missed contraindications or look-alike medication errors
- Programme
- Patient safety
- Evidence on this record
Evaluation data
- Official ePillID consumer images by product type
ePillID_data_v1.0 (CVPR 2020)
Manifest locked - MFDS pill identification and DUR with MIMIC-IV 3.1 as a candidate
MFDS API service 03 · MIMIC-IV 3.1
Blocked
Synthetic harness · dispense18
Dispensing audit kernel: pill verification and DUR cross-check
Across 6 kinds of injected error, 4,500 cases in all, 0 passed automatically; one-sided 95% upper bounds on the miss rate range from 0.20% to 0.75%. Of 3,000 correct fills, 1,859 (62.0%) passed automatically and the rest went to forced pharmacist review. Vision outputs were simulated; no image inference was run.
- Look-alike swap
- 0 of 1,500 passed; upper bound 0.20%
- Random swap
- 0 of 1,000 passed; upper bound 0.30%
- Item from outside the gallery
- 0 of 600 passed; upper bound 0.50%; Gate B alone would have passed 220
- Count error
- 0 of 400 passed; upper bound 0.75%
- Order that breaks a rule
- 0 of 600 passed; upper bound 0.50%
- Order that cannot be judged
- 0 of 400 passed; upper bound 0.75%
- Correct fills
- 1,859 of 3,000 passed automatically (62.0%); 1,141 sent to forced review
- Rule verdicts checked against an oracle
- 22,410 cases; 27,000 monotonicity pairs
- Fault combinations enumerated
- 50,400
- Boundary cases with hand-written expectations
- 66
- Audit trail
- 68 retained records; 10,200 bulk decisions chained and replayed by the audit
- Drift monitor, noise doubled
- latched at case 342 after a change at 300; 22 automatic passes in between, 0 of them wrong fills
Limits
- Segmentation, OCR and embedding were not run. A simulator produces their outputs, so its noise model, not a camera, determines these figures.
- A probabilistic vision path cannot be proven to miss nothing. Zero is an observed count with its denominator and upper bound; the specification keeps it apart from the deterministic and structural guarantees.
- Products, ingredients, rules and thresholds are abstract codes with virtual values. Knowledge missing from a rule table is outside what the exhaustive comparison covers.
- The statistical bound of the second gate assumes fixed capture conditions, correct calibration labels and a gallery that holds every stocked product. Products pooled by stratum get an average bound, not a per-product one.
- Time is modelled as ticks that each stage reports. Real execution time is not measured; a watchdog and a downstream interlock are requirements outside the kernel.
- The audit is a second implementation of the logic that shares the fixture loader and the simulator with the solver; it is not a blinded environment.
Synthetic inputs only (synthetic_only). These figures come from a synthetic gallery, simulated vision outputs and orders written in abstract codes. No pill image was analysed, no real prescription or DUR rule table was used, clinical performance was not assessed and no auditor has signed the result. A separate audit program passed 4 of 4 gates.
Audit record (JSON) · Run output (JSON) · 18-2 design specification: pill verification and DUR cross-audit software (KR) · 18-2 harness modules and replay record (KR) · 8-1 and 18-2 cross-model review record (KR)
python3 -B -m dispense18.orchestrate --output evidence/dispense18-run.json
python3 -B -m dispense18.audit --run evidence/dispense18-run.json --output evidence/dispense18-audit.json
python3 -B -m unittest discover -s tests -p 'test_dispense18.py' -vSources and eligibility
Provides basic identification attributes by product. Images captured in clinical settings and confirmed real-world errors require separate reference data.
Covers hospital admissions and critical care. Linking Korean product codes to pill images and identifying dispensing errors require separate evidence.
Boundary cases
- Look-alike products under glare, distorted lighting and overlap
- Alerts for sound-alike products and unit mismatches
- Abstention when required lab values are missing or conflicting
Common synthetic checks
- Mass unit consistency · 5/5 matched
- Boundary cases for units, combinations and identification of synthetic products · 13/13 matched
Review of the attached design
The code attached to this project was reviewed against its claims: synthetic products, unit conversion, sample rules and fixed pill attributes.
What the official call asks
Infusion over-rate and dispensing errors are separate support areas. Validation at three or more hospitals is required, and stage-two outcomes for the over-rate area include regulatory approval.
Proposal requirements, printed pages 97–100 · All twelve requirements
Interpretation and next evaluation
Report a zero miss rate with the frozen test denominator. Product codes and source rules require verification across medical settings.
- Next check
- Train the vision modules on the fixed ePillID split, build per-category calibration sets from its validation split and fill the same table on its test split; categories below the minimum calibration size are reported as uncertified with no automatic pass.