Duplicate MPI records
A mistyped ID at casualty creates a second medical record. Structural validation will not merge files, but it stops impossible numbers from becoming a new patient ID.
Hospitals, practices & pharmacies
Reception should not spend minutes decoding a 13-digit number, and you should not send that number to a vendor that keeps a copy. CheckID checks structure in under a second and stores nothing.
A mistyped ID at casualty creates a second medical record. Structural validation will not merge files, but it stops impossible numbers from becoming a new patient ID.
Staff should not mentally calculate age from the first six digits while a queue builds. The API returns age and date of birth for your system to display.
Emailing ID-book photos to a shared inbox creates POPIA risk. Validate the number at the desk; keep scans only if your clinical process genuinely needs them.
Use the web checker at a single desk. Connect the API when registration software should fill demographics automatically.
On new-patient create, call the single-ID endpoint, then write decoded age and date of birth into fields you already store. CheckID never keeps the payload.
Follow the South African ID validation API. Bulk historical clean-up of a patient list needs Professional, not API Starter.
Smaller practices can check one ID at a time with the free checker — useful when a paper form arrives with a number that does not look right.
Open the Free South African ID checker.
Health records are highly sensitive. Adding another vendor that stores ID numbers increases your processing footprint. CheckID is designed so the ID never lands on our disk, logs, or analytics.
Hospitals still keep IDs in the patient administration system. That retention is yours to justify. CheckID only answers whether the number is structurally valid. Read POPIA and ID number handling.
Casualty and elective admissions can reject checksum-invalid IDs before a new MPI entry is created.
New-patient forms often copy IDs from cards. Validate structure, then continue your own medical-aid capture in the practice system.
Use decoded age when a schedule or age-restricted product depends on date of birth encoded in the ID — still not a proof of identity on its own.
When reception captures an ID, your practice-management system can validate it before writing a new patient row.
# PMS hook on new-patient registration
curl -s "https://api.checkid.co.za/api/v1/validate/8001015009087" \
-H "Authorization: Bearer YOUR_API_KEY"8001015009087 is the public sample ID used across CheckID docs — not a live customer number. Replace YOUR_API_KEY with a key from your dashboard. See the South African ID validation API and 5-minute South African ID validation API tutorial.
Free checker for a single desk. API Starter from R99/month for live registration calls. Professional for bulk list clean-up and team access. See CheckID pricing for API and bulk plans.
Patient ID handling sits next to POPIA guidance, the checksum explainer, and the API tutorial.
No. Patient ID numbers are processed in memory and discarded after the response. Your practice-management system still needs its own retention rules for clinical records.
No. CheckID only validates SA ID structure and decodes date of birth, age, gender, and citizenship indicator. It does not confirm medical-aid membership, clinical identity, or Home Affairs records.
Yes. Use the REST API for single registration events. Bulk historical clean-up of patient lists is a Professional plan workflow, not included in API Starter (R99/month).
It lets reception validate the number without sending the raw ID to an extra storage vendor. CheckID keeps no copy. You still decide what stays in the patient file.
Check one number free, then hook the same structural check into registration software.