Premium edition subscribers can integrate with the OpenEMPI (Enterprise Master Patient Index), using EMPI IDs to create an authoritative connection between LabKey-housed data and a patient's master index record. A master patient index is useful in cases where multiple studies across different organizations may recruit the same patients and duplicate tests and procedures can be avoided when data is shared between them.
You must first have OpenEMPI running, and the administrator configuring LabKey Server must have a login credential.
OpenEMPI uses matching algorithms to identify duplicate patients. Specific patient-identifying fields are defined by an administrator for use in making these matches. If data is missing for any field, no match is made. To see the fields the OpenEMPI server is expecting, log in to OpenEMPI and select Matching > Matching Configuration.
Shown are the field names defined in OpenEMPI and used for matching. The match threshold is a way of catching "near" but nonidentical matches, such as due to spelling or formatting differences. Shown above, some fields only need an 86% match to be considered a participant match.
The dataset or query containing patient data within LabKey must have at least the fields shown in the OpenEMPI matching configuration. Further, the field names must match exactly (including case) with the field names defined in the OpenEMPI entity model. To see the exact field names in OpenEMPI, select Edit > Edit Entity Model. Select the entity model and click Edit Entity. You will see the entity definition including the actual column names. Scroll to see more fields.
Note the entry in the Name column for each item in the matching configuration. Above, the 5 fields selected in the example configuration above are numbered and the actual column names circled.
Once OpenEMPI has been enabled on your server, a folder administrator can enable the functionality in a study and use it to match participants to global UIDs. There are two requirements:
1. You need to have a dataset or query containing the exact fields named in the OpenEMPI entity definition. Using a query over an existing dataset can allow you to add filtering. For example, you might only seek matches for recently modified rows or those where the UID field is NULL.
2. You also need to have a column of type "Text (String)" in a demographic dataset that will receive the UID sent back when OpenEMPI matching is complete.
It is possible to meet both requirements in the same demographic dataset, as shown in this sample, but you do not need to do so.