Blog · NOV 19, 2025 · 4 min read
GPS and QR: Verifying a Visit Actually Happened
A screenshot of a QR code proves nothing. Here is how we built visit verification that a compliance audit can actually trust.
The easy version of visit verification is a QR code at the clinic reception that a rep scans on the way out. The easy version is also nearly worthless, because a photograph of a QR code can be shared, and a scan proves a phone was near a code, not that a person was near a doctor.
We wanted verification that a compliance officer could actually stand behind in an audit, which meant treating the QR scan as one signal among several rather than the whole proof.
How the verification stack works
When a medical rep arrives at a clinic for a booked slot, the visit only confirms if three things line up. The rep's device location has to fall within a tight radius of the clinic's registered coordinates. A time-boxed QR code, unique to that specific booking and refreshed frequently, has to be scanned within the visit window. And the scan event, the location fix, and the booking record all have to reconcile server-side before the visit is marked verified.
- •GPS location is checked against the clinic's registered coordinates with a tolerance tight enough to rule out a nearby car park, but forgiving enough to handle normal indoor GPS drift
- •QR codes are single-use and expire quickly, so a saved photo from a previous visit cannot be replayed
- •Verification happens against the specific booking, not a generic clinic code, so the system knows which doctor, which slot, and which rep are being confirmed together
- •Anomalies, a location fix that jumps impossibly, a scan outside the booking window, get flagged for manual review rather than silently accepted or silently rejected
The edge cases that actually shaped the design
Multi-storey hospital buildings were the hardest problem, because GPS altitude data is unreliable indoors and a rep on the ground floor pharmacy looks identical to a rep on the fourth-floor consulting room using horizontal coordinates alone. We widened tolerance rather than chase precision we could not reliably get, and leaned more heavily on the QR and timing signals in dense vertical buildings.
We do not claim this makes fraud impossible. We claim it makes fraud require actual coordinated effort rather than a five-second workaround, and that every verified visit carries a defensible evidence trail a compliance team can point to later. That distinction is the entire product.