On this page:

10.0Enterprise Master Person Index (EMPI) Mode

 

A FHIR Storage module may be placed in EMPI Mode by enabling the EMPI Mode setting. This allows the FHIR Storage module to be used as an Enterprise Master Person Index.

An EMPI allows for links to be created and maintained between different Patient and/or Practitioner resources. These links are used to indicate the fact that different Patient/Practitioner resources are known or believed to refer to the same actual (real world) person.

These links may be created and updated using different combinations of automatic (probabilistic) linking as well as manual linking.

Person linking in FHIR

Because the Smile CDR EMPI is itself a FHIR repository, it uses the FHIR model to represent roles and links. The following illustration shows an example of how these links work.

Subscription Overview

There are several resources that are used:

  • Patient - Represents the record of a person who receives healthcare services
  • Practitioner - Represents the record of a person who delivers healthcare services
  • Person - Represents a master record with links to one or more Patient and/or Practitioner resources that belong to the same person

10.0.1Person Linking in Smile CDR

 

In EMPI Mode, the storage module will have several characteristics:

  • Most resource types will be disabled (specifically only Patient, Practitioner, Person, and several infrastructural resource types will remain supported)
  • Person records will be automatically created and updated with links to Patient and/or Practitioner resources that are created in the system
  • A new operation called Patient/$match will be enabled on any FHIR endpoints created for this module

Because the Smile CDR EMPI is a FHIR repository, it supports standard features of a FHIR repository too. This could include things like Subscriptions, custom search parameters, profiles and validation of custom attributes (using extensions), etc.

10.0.2Automatic Linking

 

Note: The following section describes linking between Patient and Person resources. The same information applies for linking between Practitioner and Person, but for readability it is not repeated.

With EMPI mode enabled, the basic default behavior of the EMPI is simply to create a new Person record for every Patient that is created such that there is a 1:1 relationship between them. Any relinking is then expected to be done manually (i.e. via the FHIR APIs).

In a typical configuration it is often desirable to have links be created automatically using matching rules. For example, you might decide that if a Patient shares the same name, gender, and date of birth as another Patient, you have at least a little confidence that they are the same Person.

This automatic linking is done using two types of rules: Match Rules, and Link Rules.

Match Rules

Match rules are used to test existing Person resources to see whether they share similar characteristics with Patient resources being added or updated. Each match rule is given a weight, and the combined weights of the successful match rules are added to form a score.

Each match rule has a set of criteria to be considered when evaluating whether a created or updated Patient is the same as an existing one.

Link Rules

Link rules determine what action is taken when the combined score from the match rules reaches a specific threshold.

10.0.3Example

 

Match Rules:

  • Name and Gender match: Assign 0.5 points
  • Name, Gender, Birth Date all match: Assign 1.0 points

Link Rules:

  • If an existing Person matches the new Patient and the combined score of the match rules is >= 0.5, create a link from the existing Person with an assurance level of 1
  • If an existing Person matches the new Patient and the combined score of the match rules is >= 1.0, create a link from the existing Person with an assurance level of 2
  • If no existing Person matches a Patient, automatically create a new Person and assign a link with assurance level 4
An initial Patient resource is created. Because no Person resources exist in the system, there are no matches and a new Person resource is automatically created.
Linking Example
Another Patient resource is created. This resource matches the name, gender, and date of birth of the existing Person, so a link is created.
Linking Example
Another Patient resource is created. This resource does not sufficiently match any existing Person, so a new Person is created.
Linking Example

10.0.4Querying The EMPI

 

When EMPI Mode is enabled on a FHIR Storage module, any FHIR Endpoint modules connected to it will automatically enable the $match operation.

This operation allows a Patient resource to be submitted to the endpoint, and the system will attempt to find and return any Patient resources that match it in terms of demographics.

For example, the following request may be submitted:

POST /Patient/$match
Content-Type: application/fhir+json; charset=UTF-8

{
    "resourceType":"Parameters",
    "parameter": [
        {
            "name":"resource",
            "resource": {
                "resourceType":"Patient",
                "name": [ 
                   { "family":"foo" }
                ]
            }
        }
    ]
}

This might result in a response such as the following:

{
  "resourceType": "Bundle",
  "id": "0e712adc-6979-4875-bbe9-70b883a955b8",
  "meta": {
    "lastUpdated": "2019-06-06T22:46:43.809+03:30"
  },
  "type": "searchset",
  "entry": [
    {
      "resource": {
        "resourceType": "Patient",
        "id": "3",
        "meta": {
          "versionId": "1",
          "lastUpdated": "2019-06-06T22:46:43.339+03:30"
        },
        "name": [
          {
            "family": "foo",
            "given": [
              "bar"
            ]
          }
        ],
        "birthDate": "2000-01-01"
      }
    }
  ]
}