Skip to content

Patient Chip Card NFC

Dr M H B Ariyaratne edited this page Jun 3, 2026 · 1 revision

Patient Chip Card (NFC/RFID)

Overview

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

How It Works

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.


Card Identifier (Optional)

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: cardIdentifier on 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.


Registration Source in API Response

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.


Chip Card Hardware

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.


Reprinting / Reissuing a Card

If a patient loses their card:

  1. Print a new card with the same MRN (barcode reprint — existing function in HMIS)
  2. If using a chip card: order a new chip card programmed with the same MRN
  3. If using cardIdentifier: update the cardIdentifier field 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).


FHIR API Reference

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.


Related Articles

Clone this wiki locally