Theme: Dispensary Blue (light, clinical) · Audience: hospital pharmacy technicians · Artifacts: check.html (2D) · 3d.html + dispense.js with mc-room.js and mc-week.js (3D dosing week) · shared case file prescriptions.js
One-line: a dispensary vigilance trainer that scores written double-checks against real audit error families — including over-flagging clean prescriptions.
Dispensing training teaches what to check; it never practices catching yourself NOT checking. The routine prescription is where incidents are born — the trainer reproduces that lull deliberately.
Five prescriptions in random order, one fully clean. For each the learner flags or clears it, names the line and the kind of problem (duplication, dose or frequency, allergy on the chart, interaction), and writes the annotation they would leave. Up to 3 points each; pass = 12/15 with neither critical error (the NSAID allergy, the daily methotrexate) released. Over-flagging the clean script scores 0 and costs audit minutes. The 3D bench (flagship) is a hospital pharmacy dispensing bench at 10:20: read the prescription, read the chart card, then fill a real-size seven-day organiser from the directives, so frequency errors become visible as quantities. Frames from the build are in storyboard.md.
The 3D bench was checked in headless Chrome with software rendering (SwiftShader) only; not on a real GPU, phone or tablet. Keyword scoring is approximate; a production build would use rubric-scored free text. The error families are composites of public audit patterns, not a specific hospital's data.
Part of I Wayan Usada's learning-design portfolio · all clients and scenarios are fictional composites built from realistic domain patterns · drafted with AI assistance and fully rewritten, fact-checked and owned by a human.
action-map.md — Action map — the behaviors the artifact must produce, traced to the business goalstoryboard.md — Text-based storyboard — the scene plan written before buildvisual-mockups.md — Visual mockups & style guide — mood, type, key screens, component decisions