Digital Product Record
Barcode-Based Blood Product Traceability — DIN Lookup at Clinical Speed
Business context and structural constraints
The operational trigger for this project was a specific failure mode: blood bag labels — particularly on older or refrigerated products — were degrading to the point where critical information was unreadable by the time units reached certain distribution stages. Staff then had to initiate manual lookup procedures across legacy systems, adding 3–5 minutes per unit and introducing transcription error risk. The solution needed to be fast enough that using it was faster than trying to read a damaged label — and secure enough to meet ARC's requirements for any system handling blood product data. Blazor WASM was chosen for its ability to deliver a near-native scan-to-result experience without requiring device app installation across lab workstations.
Sub-500ms scan-to-render at clinical speed
Any visible delay between scan and result would defeat the purpose versus reading a degraded label. CQRS read separation, indexed DIN queries, and Blazor WASM's client-side rendering pipeline were tuned together to achieve consistent sub-500ms scan-to-display cycles under normal lab network conditions.
Idle session detection on shared workstations
Lab workstations are shared across shifts. Idle auto-lock needed to track both keyboard/mouse and scanner inactivity — a barcode scanner with no input is indistinguishable from an idle keyboard at the browser event level. Custom JavaScript interop tracked both input channels independently.
The Solution
Architectural approach and implementation
In blood donation operations, physical labels are the primary source of product identity — blood type, volume, collection time, storage location, and Donation Identification Number (DIN). Labels get wet. Labels tear. Labels become unreadable. In a facility processing hundreds of units daily, an unreadable label means a manual lookup, a delay, and a compliance risk. Digital Product Record replaces reliance on physical labels with a lightweight, high-speed Blazor WebAssembly application that gives ARC lab staff instant access to full product records via a single DIN scan. The interface is intentionally minimal — no dashboards, no nav menus, no feature sprawl. Staff scan a barcode, see the record, and continue working. Average retrieval time: under 5 seconds. Built in four months and deployed in June 2025, the system uses a CQRS-based ASP.NET Core API backed by Azure SQL, with PingFederate SSO and idle-session auto-lock to meet ARC's internal security requirements for any system touching regulated product data.
How we turned the challenge into a solution
Each stage formalizes uncertainty into a concrete engineering outcome
Audit → Dependency Map
Inventory of 17+ disparate systems, data flow mapping, identification of critical integration points and performance bottlenecks
Map → Unified Architecture
Design of event-driven microservice architecture with multi-region data residency and zero-trust security model
Architecture → Working Prototype
Document management MVP with FIDO2 authentication, AES-256 encryption, and basic workflow engine for pilot group
Prototype → Scalable Platform
Horizontal scaling to 160+ countries, multi-tenant isolation, AI document classification with 95% accuracy
Platform → Analytics Core
MyInsights recommendation engine, predictive SLA alerts, personalized delivery of regulatory updates
Core → Continuous Compliance
Automated retention policies for 160+ jurisdictions, document integrity chain, one-click audit report generation
DIN-Based Barcode Lookup
Direct integration with USB and Bluetooth barcode scanners. Staff scan the product DIN barcode; the system queries Azure SQL via the CQRS API and renders the full record — blood type, volume (mL), procedure start and end times, site location — in under 500ms. No typing, no searching, no navigation.
Digital Blood Product Record Display
Structured record view surfaces all clinically relevant product fields in a single-screen layout optimized for quick visual confirmation: blood type with ABO/Rh classification, collection volume, procedure timestamps, originating site, and current regulatory status.
CQRS API Architecture
The ASP.NET Core backend separates read queries from write commands at the handler level. DIN lookup — the dominant use case — hits a read-optimized path with no write-lock contention, ensuring consistent sub-100ms database round-trips regardless of concurrent usage on the same ARC network segment.
PingFederate SSO Integration
All access is gated through ARC's existing PingFederate enterprise identity provider. No separate credentials. Users authenticate once with their corporate identity and are granted access scoped to their role and facility — maintaining the same identity and access management posture as every other ARC internal system.
Idle Session Auto-Lock
The application monitors mouse, keyboard, and scanner activity. After a configurable inactivity window, sessions are automatically locked and the current record is cleared from view. Re-authentication is required to resume — preventing inadvertent data exposure on shared workstations in open lab environments.
The Impact
Quantitative results demonstrating the real impact of implementation on operational efficiency, infrastructure reliability, and platform scalability
100% digital product record availability — physical label degradation no longer causes data access failures
Barcode-to-full-record in under 5 seconds — 60% reduction in product information access time versus manual lookup
99.9% data accuracy through automated DIN parsing against Azure SQL records
Zero unauthorized access incidents — PingFederate SSO and idle-session auto-lock enforce access controls continuously
40% faster overall lab information workflow for personnel using the system
Technology Stack
Built with proven enterprise-grade technologies
Interested in a similar solution?
Discuss your project→