In MDMbox, matching models are fully transparent and configurable, not a black box. You have complete control over how matching works: from model structure and scoring to thresholds and decision logic.
To support this approach, we've prepared a comprehensive, hands-on guide to help you configure and tune matching models yourself. (And if you'd prefer not to — we can support you with this as a professional service.)
Following our previous article, Master Patient Index (MPI): How It Works + Examples, this guide dives deeper into the practical side of matching.
While it uses patient matching as the primary example, the same principles apply to any FHIR resources — Patients, Practitioners, Organizations, Locations, and more.
We focus on patients because this is one of the most complex and nuanced identity resolution problems in healthcare. It is the best way to demonstrate what really matters in practice.
What's Inside the Guide
We break down the full process step by step:
- Defining what a "good match" means: how to formalize match criteria based on the client's domain, risk tolerance, data characteristics, and operational constraints.
- Designing the model structure: choosing fields, comparison strategies, and weighting logic.
- Implementing effective blocking: reducing computation without losing true matches.
- Training the model: using real data to estimate parameters and calibrate behavior.
- Manual tuning for optimal results: adjusting weights, thresholds, and rules to reach production-grade quality.
Real-World Cases and Pitfalls
Beyond theory, we share practical lessons from real implementations:
- Common sources of false positives and false negatives.
- Data quality issues (e.g., shared addresses, placeholders, inconsistent formats).
- Edge cases we encountered while working with customer datasets.
- How we approached and resolved challenging matching scenarios.
Read the Full Guide
The full guide is available here.
Explore it, use it in your work, and let us know your thoughts. Feel free to share your feedback in the comments under this post.




