Client
A large, multi-branch hospital group in the Middle East handling thousands of patients daily across OPD, emergency, diagnostics, and IPD.
They wanted a fast, low-friction way to identify patients and pull up their information using simple cameras no extra expensive hardware.
Project Overview
The client’s staff were spending a lot of time:
-
Searching patient IDs in the system
-
Confirming details manually
-
Passing patient information between different departments
Mistakes and delays in patient identification could:
-
Slow down treatment
-
Cause confusion in busy departments
-
Increase clerical workload
We built an Android-based solution using dlib and OpenCV, compiled natively for mobile, that allows:
-
A webcam or Android device camera to detect and recognize patients
-
Automatic retrieval of patient details from the hospital system
-
Instant routing of information to:
-
Assigned doctors
-
Nursing stations
-
Reception / billing
-
Other required hospital systems (via APIs)
-
Goals
-
Camera-based, touch-minimal patient lookup
-
Fast and reliable recognition in real-world hospital lighting
-
Integration with existing HIS/EMR systems
-
Secure handling of patient data (privacy by design)
-
Works with Android tablets/phones and standard USB webcams (where supported)
Key Challenges
-
Hospital Lighting & Environment
-
Mixed lighting (white, yellow, dim, bright)
-
People with masks, head coverings, or accessories
-
Crowded environments (waiting areas, OPD)
-
-
Performance on Android
-
Heavy image processing and face recognition on mobile hardware
-
Need for fast response (1–2 seconds at most)
-
-
Accurate Identification
-
Many patients with similar appearance
-
Need low false-positive rate
-
Must work with updated face data (e.g., new registration photos)
-
-
Integration with Hospital Systems
-
Securely connecting to existing databases / APIs
-
Mapping recognized face → patient ID → doctor and department routing
-
Technical Solution
1. Compiling dlib & OpenCV for Android
We created a custom native build:
-
Compiled OpenCV (C++ core + necessary modules) for Android (ARM/ARM64)
-
Compiled dlib (for face detection/recognition) as
.solibraries -
Integrated both via JNI into the Android app (Kotlin/Java)
Optimizations:
-
Enabled NEON & SIMD where possible
-
Stripped unused modules to reduce APK size
-
Tuned build flags for performance on hospital devices
2. Face Detection & Recognition Pipeline
Using OpenCV + dlib, we built:
-
Face detection using either:
-
HOG or CNN-based detector (depending on device capability)
-
-
Face alignment (standardizing pose)
-
Feature embedding (128D/face representation)
-
Matching against database of stored patient embeddings
Steps:
-
Camera captures patient face.
-
OpenCV pre-processes frame (resize, normalize, lighting adjustments).
-
dlib detects face and extracts embedding.
-
Embedding is matched with patient profiles on the server or local cache.
-
Identified patient ID is returned.
If confidence is below threshold → system asks staff to confirm or scan ID manually.
3. Integration with Hospital Information System (HIS/EMR)
After patient identification:
-
The app calls secure APIs to fetch:
-
Patient demographics
-
Current visit/admission details
-
Assigned doctor
-
Department / ward
-
Pending tests / appointments
-
Then the system:
-
Displays the patient details on the Android device
-
Sends relevant information to:
-
Doctor’s view
-
Nursing dashboard
-
Reception/billing terminal (if needed)
-
Other systems via internal APIs / message queue
-
4. Multi-Location and Role-Based Use
The system is used in:
-
Reception / Registration – quick pull-up of returning patients
-
OPD Entry – doctor instantly sees who’s entering
-
Nursing Stations – confirm patient before medication or procedures
-
Diagnostics / Lab / Radiology – avoid mislabeling or wrong patient mapping
Role-based access:
-
Doctors see clinical data
-
Reception sees identity + billing info
-
Admin sees logs and system health
5. Security & Privacy
Because this deals with sensitive health data, we implemented:
-
Encrypted communication (HTTPS / TLS)
-
Authentication & authorization for app users
-
Local data minimization (no raw images stored on device unless required)
-
Encrypted storage for embeddings or tokens
-
Audit logging of lookups (who accessed which patient, when)
Architecture (Text Diagram)
Results & Impact
⚡ Faster Patient Identification
Front-desk and nursing staff can identify returning patients in 1–2 seconds using just the camera.
🧠 Reduced Manual Search
Significant reduction in manual searching of patient IDs/names in the system, especially in high-traffic OPD hours.
🧾 Fewer Administrative Errors
Improved accuracy in mapping patients to:
-
Correct doctor
-
Correct visit/admission
-
Correct department
🏥 Better Patient Flow
Smoother experience from registration → consultation → tests → discharge.
🔒 Data Security Preserved
All data handled under strict security and privacy guidelines, with controlled role-based access.
Conclusion
By compiling dlib and OpenCV for Android and integrating them into a custom app for a large Middle Eastern hospital group, we delivered a camera-based patient identification system that:
-
Speeds up patient handling
-
Reduces manual work
-
Improves accuracy and safety
-
Seamlessly connects with the hospital’s existing systems
This solution turns ordinary Android devices and webcams into smart, hospital-aware terminals that automatically route patient information to the right doctor and the right place at the right time.

Written by
Abhi




