Skip to main content

JamMPI

v1.0 · Spring Boot · Apache 2.0 · Port 8081

JamMPI is the Master Patient Index for the Jam platform. It maintains a golden record for each patient across all connected facilities, resolves patient identity on every JamBridge message, and exposes IHE PDQm and PIXm conformant FHIR APIs.

How matching works

Three strategies run in combination on every Patient/$match request:

1. National ID exact match

If PID-3 carries a national identity number (NIC, NHS number, Aadhaar), this is the primary key. An exact match earns CERTAIN grade (score ≥ 0.95). The comparison is constant-time string equality.

2. Jaro-Winkler name + DOB similarity

Family name, given name, and date of birth are scored together. The Jaro-Winkler algorithm gives extra weight to matching string prefixes — correct for human names. Above the configurable threshold (default 0.85), the match is PROBABLE.

3. Blocking strategy

Without blocking, matching one patient against 50M records requires 50M comparisons. JamMPI pre-filters candidates by first-3-chars of family name and birth year, reducing the comparison space from O(n) to O(k ≈ 500).

Golden record structure

{
"resourceType": "Patient",
"id": "GOLDEN-00441",
"meta": {"tag": [{"code": "golden-record"}]},
"link": [
{"type": "seealso", "other": {"reference": "Patient/MRN12345"}},
{"type": "seealso", "other": {"reference": "Patient/PRIV-9901"}}
],
"extension": [
{"url": "http://jammpi.io/ext/seen-at", "valueString": "BR01,BR03,BR07"}
]
}

IHE profiles

ProfileTransactionEndpoint
PDQmITI-78GET /fhir/Patient?name=...&birthdate=...
PIXmITI-83GET /fhir/Patient/$ihe-pix?sourceIdentifier=...
PMIRITI-93POST /fhir/Patient
New PIXmITI-119POST /fhir/Patient/$match