web stats
Skip to end of metadata
Go to start of metadata

Erik Horskotte created these links below at the request of one of the Early Adopters in reply to some questions about MPI algorithms.

The Wikipedia page on the Fellegi-Sunter matching algorithm:
http://en.wikipedia.org/wiki/Record_linkage

Here's the posting from Shaun's blog describing the OpenMRS patient
matching module -
http://doctorshaun.blogspot.com/2008/06/openmrs-patient-matching-module.html

The top of the patient matching module in the OpenMRS subversion
repository - http://svn.openmrs.org/openmrs-modules/patientmatching/

The top level Expectation Maximization analyzer class. This is the class
that computes the statistics for the Fellegi-Sunter matching algorithm
based on a MatchingConfig (blocking traits and which traits to analyze).
My current understanding is that the key output of this algorithm is a
table of estimated values of m (mu) and u per trait:
http://svn.openmrs.org/openmrs-modules/patientmatching/src/org/regenstrief/linkage/analysis/EMAnalyzer.java

The top level "find matching patients" class that uses the output of the
EM analyzer class (MatchingConfig) and a database of patients
(LinkDataSource) to find patients that match the supplied patient
(Record):
http://svn.openmrs.org/openmrs-modules/patientmatching/src/org/regenstrief/linkage/MatchFinder.java

The spring interceptor that intercepts OpenMRS createPatient,
updatePatient and findPatient operations and uses the recorded patient
matching configuration (and the output of the EMAnalyzer class) to find
matching patients:
http://svn.openmrs.org/openmrs-modules/patientmatching/src/org/openmrs/module/patientmatching/advice/PatientMatchingAdvice.java

The "analysis" window of the standalone analysis application that
actually runs the EM analysis (and other analysis tools as well):
http://svn.openmrs.org/openmrs-modules/patientmatching/src/org/regenstrief/linkage/gui/AnalysisPanel.java

Labels: