---
{
  "title": "Model Builder in MDMbox 2610.0 – Einführung",
  "description": "Trainieren Sie Patient-Matching-Modelle aus FHIR-Daten ohne beschriftete Paare. Überprüfen Sie Entscheidungen und verwenden Sie dasselbe Modell für Online- und Bulk-Matching.",
  "date": "2026-11-06",
  "author": "Health Samurai Team",
  "reading-time": "4 min read",
  "tags": [
    "FHIR Tools",
    "SQL on FHIR",
    "MDMbox"
  ],
  "utm-campaign": "feature",
  "utm-content": "model-builder"
}
---

> For the complete documentation index, see [llms.txt](https://www.health-samurai.io/llms.txt).
> Use it to discover all available pages before guessing URLs.

---

Ein falsch geschriebener Name oder eine veraltete Adresse kann einen doppelten Patientendatensatz verbergen. **Der Model Builder in MDMbox 2610.0 erlernt Matching-Parameter aus Ihren FHIR-Patient-Daten** – ohne beschriftete Trainingspaare. Sie wählen die Felder, prüfen die Entscheidungen und setzen das gespeicherte Modell ein.

In unseren Tests erreichten automatische Modelle **99,45–100 % F1 über sechs synthetische und fehler-simulierte Linkage-Datensätze ohne SSN**. Bei einer Population von **10 Millionen Patientendatensätzen** betrug die mediane Online-`$match`-Antwortzeit **25 ms**.

## Modell aus Ihren Patientendaten erstellen

Wählen Sie die zu vergleichenden Patient-Felder, etwa `name`, `birthDate` und `address`. Sehen Sie sich die Werte in der Vorschau an und prüfen Sie auf fehlende Daten. Eine SQL on FHIR `ViewDefinition` speichert Ihre Feldauswahl, sodass Training und Matching dieselben Informationen verwenden.

![Choosing Patient fields and checking their fill rates and distinct values in Model builder](prepare-data-2610.avif)

Wählen Sie **Modell erstellen**. Der Builder entscheidet, welche Datensätze verglichen werden, und erlernt, wie Ähnlichkeiten und Unterschiede gewichtet werden sollen. Er berücksichtigt Schreibvarianten und fehlende Werte und kann Beziehungen zwischen Feldern einbeziehen, etwa die Vorhersage einer Stadt anhand der Postleitzahl.

Für benutzerdefinierte Logik können Sie [Vergleiche in JavaScript bearbeiten](/docs/mdmbox/matching-models#automatic-training-and-javascript-extensions), unterstützt von einem optionalen KI-Assistenten.

## Nachvollziehen, warum Datensätze übereinstimmen

Prüfen Sie unter **Überprüfen & Speichern** die Score-Verteilung und öffnen Sie einzelne Paare. Jede Erklärung zeigt, wie die ausgewählten Felder zum Score beigetragen haben – so können Sie sowohl wahrscheinliche Treffer als auch unsichere Fälle untersuchen.

![Reviewing candidate-pair counts, match-score distribution and decision thresholds](review-results-2610.avif)

![Inspecting two synthetic Patient records and the contribution of each field to their match score](pair-details-2610.avif)

Passen Sie den Mindestscore für die Akzeptanz eines Treffers oder die Weiterleitung eines Paares zur Überprüfung an. Speichern Sie anschließend ein versioniertes Modell und verwenden Sie es für **Online-`$match`, Bulk Matching und Continuous Matching**. Die Feldauswahl, die erlernten Parameter und die Schwellenwerte sind im selben Modell zusammengefasst.

*Die Screenshots zeigen synthetische Patientendaten.*

## Matching-Qualität ohne beschriftete Trainingspaare

Wir haben Datensätze aus [FEBRL](https://users.cecs.anu.edu.au/~Peter.Christen/Febrl/febrl-0.3/febrldoc-0.3/node70.html), [ePBRN](https://github.com/ePBRN/Medical-Record-Linkage-Ensemble) und [NC Voters](https://dbs.uni-leipzig.de/research/projects/benchmark-datasets-for-entity-resolution) vor dem Training in **FHIR-Patient-Ressourcen** konvertiert. Die bekannten Identitäten der Datensätze ermöglichten es uns, Präzision, Recall und F1 im Nachhinein zu messen. Diese Beschriftungen wurden vom Training ausgeschlossen, und während der Kandidatenauswahl verpasste Treffer werden beim Recall negativ berücksichtigt.

Bei den sechs kleineren synthetischen und fehler-simulierten Datensätzen lieferte das automatische Training folgende Ergebnisse **ohne Sozialversicherungskennungen oder handgeschriebene Vergleichsregeln**:

<div class="overflow-x-auto">

| Datensatz | Präzision | Recall | F1 |
| --- | ---: | ---: | ---: |
| FEBRL1 | 100 % | 100 % | 100 % |
| FEBRL2 | 100 % | 99,49 % | 99,75 % |
| FEBRL3 | 100 % | 98,91 % | 99,45 % |
| FEBRL4 | 100 % | 99,53 % | 99,77 % |
| ePBRN D | 100 % | 99,61 % | 99,81 % |
| ePBRN F | 100 % | 99,28 % | 99,64 % |

</div>

Jedes akzeptierte Paar war in diesen Tests korrekt. Die Testmengen enthalten jeweils 158–1.924 bekannte Paare derselben Person.

### Matching bei 5 Mio. und 10 Mio. Datensätzen

Die größeren NC-Benchmarks verwenden wählerbasierte Namen und Adressinformationen mit generierten Duplikaten. Wir haben das Matching für **5.000 Datensätze pro Population** getestet. Durch Anpassung der Akzeptanzschwellen an separaten beschrifteten Beispielen konnten mehr echte Treffer gefunden und F1 auf über **91,6 %** gehoben werden – ohne erneutes Training:

<div class="overflow-x-auto">

| Population | Einstellung | Präzision | Recall | F1 |
| --- | --- | ---: | ---: | ---: |
| NC Voters 5M | Automatisch | 95,58 % | 73,91 % | 83,36 % |
| NC Voters 5M | Schwelle angepasst | 91,56 % | 92,03 % | 91,79 % |
| NC Voters 10M | Automatisch | 95,37 % | 76,45 % | 84,87 % |
| NC Voters 10M | Schwelle angepasst | 92,23 % | 91,13 % | 91,68 % |

</div>

Die Anpassung des Schwellenwerts tauschte etwas Präzision gegen einen deutlich höheren Recall ein. Die Downloads enthalten die vollständigen Qualitätsergebnisse, einschließlich der Ergebnisse für Datensätze mit geänderten Werten.

## Matching in Millisekunden bei 10 Millionen Datensätzen

Auf einem **Apple M1 Pro mit 16 GB RAM** dauerte das automatische Training nach der Datenvorbereitung etwa **22 Minuten für 5 Mio. Patientendatensätze** und **30 Minuten für 10 Mio.**

Bei Online-Tests betrugen die medianen `$match`-Antwortzeiten **28 ms bei 5 Mio. und 25 ms bei 10 Mio.** Datensätzen. **95 % der Anfragen wurden innerhalb von 56 ms** in beiden Populationen beantwortet. Die Trainingszeiten schließen den Datenimport und die erstmalige Online-Einrichtung nicht ein.

## Model Builder ausprobieren

Öffnen Sie **Models → Model builder** in MDMbox `2610.0`, um Ihr erstes Modell zu trainieren. Folgen Sie der [Dokumentation](/docs/mdmbox/matching-models#model-builder-preview) oder [vereinbaren Sie eine Demo](/mdmbox#contact-form), um Ihren Patient-Matching-Workflow mit unserem Team zu besprechen.

Probieren Sie dieselben Eingaben mit den [acht herunterladbaren Datensätzen](/docs/mdmbox/matching-models#benchmark-datasets) aus. Jeder enthält FHIR-Patient-NDJSON, die zugehörige ViewDefinition und eine separate vollständige Identitätslabel-CSV, einschließlich Singletons. Die Beschriftungen dienen der externen Auswertung; sie sind keine Trainingseingaben und kein MDMbox-Label-Upload-Format. Die Download-Dokumentation enthält Quellenangaben, Nutzungsbedingungen und Prüfsummen.

Für einen ersten kleinen Test laden Sie FEBRL1 herunter: [Patientendaten](https://storage.googleapis.com/aidbox-public/mdmbox/benchmarks/20261106/febrl1/patients.ndjson.gz), [Feldzuordnung](https://storage.googleapis.com/aidbox-public/mdmbox/benchmarks/20261106/febrl1/viewdefinition.json) und [Auswertungslabels](https://storage.googleapis.com/aidbox-public/mdmbox/benchmarks/20261106/febrl1/ground-truth.csv.gz).

Laden Sie die gemessenen Modelle und vollständigen Qualitätsergebnisse für [FEBRL](/docs/mdmbox/assets/benchmarks/febrl-20261105.zip?v=15beb3abbb392726), [ePBRN](/docs/mdmbox/assets/benchmarks/epbrn-20261105.zip?v=6deb8f5832c30b86) und [NC Voters](/docs/mdmbox/assets/benchmarks/nc-voters-20261105.zip?v=16337bdaeec52a43) herunter. Die Archive enthalten Modelldefinitionen und Ergebnisse, jedoch keine Quell-Patientendaten.