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
| Profile | Transaction | Endpoint |
|---|---|---|
| PDQm | ITI-78 | GET /fhir/Patient?name=...&birthdate=... |
| PIXm | ITI-83 | GET /fhir/Patient/$ihe-pix?sourceIdentifier=... |
| PMIR | ITI-93 | POST /fhir/Patient |
| New PIXm | ITI-119 | POST /fhir/Patient/$match |