-
Notifications
You must be signed in to change notification settings - Fork 134
Patient Chip Card NFC
In addition to the printed barcode on every patient card, HMIS supports an embedded NFC/RFID chip that allows hands-free scanning at kiosks, bedside terminals, and front-desk readers. The chip stores only the patient's Medical Record Number (MRN). Full patient demographics are fetched from HMIS in real time via the FHIR Patient API.
This means:
- No sensitive medical data is stored on the card itself
- If a card is lost and reissued, the new card carries the same MRN and works immediately
- Any NFC-capable reader or kiosk application can look up patient details without logging into the HMIS web interface
Patient holds chip card near NFC reader
↓
Reader extracts MRN from chip
↓
Reader app calls HMIS FHIR Patient API
GET /api/fhir/Patient?identifier=urn:hmis:mrn|<MRN>
↓
HMIS returns patient name, DOB, gender, phone,
address, NIC, and Registration Source (identity-trust level)
↓
Reader app / kiosk displays patient details
Authentication uses a FHIR API key issued from HMIS. The key is configured in the reader application — patients do not need a login.
If a hospital issues cards with a serial number separate from the MRN (for example, to allow multiple re-issues while tracking which physical card is active), a Card Identifier can be registered against the patient record.
- Field:
cardIdentifieron the patient record - API system:
urn:hmis:card - Lookup:
GET /api/fhir/Patient?identifier=urn:hmis:card|<serial>
When a card is re-issued, update the cardIdentifier on the patient profile to the new serial. The MRN does not change.
The FHIR Patient API response includes the patient's Registration Source as a FHIR extension:
{
"resourceType": "Patient",
"id": "123456",
"name": [{"text": "Kamal Perera"}],
"extension": [
{
"url": "https://carecode.org/fhir/StructureDefinition/registrationSource",
"valueCode": "WALK_IN"
}
]
}Reader applications use this to show an identity-trust badge:
registrationSource value |
Badge shown | Meaning |
|---|---|---|
WALK_IN |
Walk-in (verified) | Identity checked by staff in person |
INWARD_ADMISSION |
Inward Admission | Registered at admission desk by staff |
NEWBORN |
Newborn | Baby registered by maternity staff |
CALL_CENTRE |
Call Centre | Registered over the phone by staff |
KIOSK |
Kiosk (unverified) | Self-declared at kiosk — not yet verified |
ONLINE_SELF |
Online (unverified) | Self-declared via patient portal — legacy |
THIRD_PARTY_AGENT |
3rd-Party Agent | Submitted by an external agent |
ON_ADMISSION_DEATH |
On Admission Death | Posthumous registration |
A kiosk or front-desk reader can display a warning for KIOSK or ONLINE_SELF patients so staff know to request additional identification before proceeding with treatment or billing.
| Item | Specification |
|---|---|
| Chip standard | ISO 14443 Type A or B, 13.56 MHz (NFC) |
| Same technology as | Building-access fobs, tap-to-pay bank cards |
| Data stored on chip | MRN only (as NDEF text or chip UID) |
| Reader cost | Approximately USD 20–80 (USB or serial output) |
| Kiosk integration | Web or native app — calls HMIS FHIR API |
Any standard NFC/RFID reader that outputs the scanned UID or NDEF record can be used. No proprietary hardware is required.
If a patient loses their card:
- Print a new card with the same MRN (barcode reprint — existing function in HMIS)
- If using a chip card: order a new chip card programmed with the same MRN
- If using
cardIdentifier: update thecardIdentifierfield on the patient profile to the new card's serial number
The patient's record in HMIS is unchanged. The old card becomes inactive once the new one is issued (if tracking by card serial) or immediately (if the MRN is used directly).
| Endpoint | Description |
|---|---|
GET /api/fhir/Patient?identifier=urn:hmis:mrn|<MRN> |
Look up patient by MRN |
GET /api/fhir/Patient?identifier=urn:hmis:card|<serial> |
Look up patient by card serial |
GET /api/fhir/Patient/{id} |
Get patient by internal HMIS ID |
GET /api/fhir/Patient?phone=<number> |
Search by phone (for kiosk registration check) |
Authentication: FHIR request header with a valid API key.
See REST API for full API key setup instructions.