Download OpenAPI specification:
Compare a PII Record with records in the Master Patient Index (MPI) to check for matches with existing patient records If matches are found, returns the patient and person reference id's
required | object (PIIRecord-Input) A PIIRecord to be checked |
Algorithm (string) or Algorithm (null) (Algorithm) Optionally, a string that maps to an algorithm label stored in algorithm table | |
External Person Id (string) or External Person Id (null) (External Person Id) The External Identifier, provided by the client, for a unique patient/person that is linked to patient(s) |
{- "record": {
- "external_id": "string",
- "birth_date": "2019-08-24",
- "sex": "M",
- "address": [ ],
- "name": [ ],
- "telecom": [ ],
- "race": "AMERICAN_INDIAN",
- "identifiers": [ ]
}, - "algorithm": "string",
- "external_person_id": "string"
}
{- "prediction": "match",
- "person_reference_id": "8e5a91ce-4436-4673-9cc9-9835a59dfb92",
- "results": [
- {
- "person_reference_id": "8e5a91ce-4436-4673-9cc9-9835a59dfb92",
- "belongingness_ratio": 1
}
], - "patient_reference_id": "266c775e-4b03-489b-b290-03181bfdfea2"
}
Compare a FHIR bundle with records in the Master Patient Index (MPI) to check for matches with existing patient records If matches are found, returns the FHIR bundle with updated references to existing patients.
bundle required | object (Bundle) A FHIR bundle containing a patient resource to be checked for links to existing patient records |
Algorithm (string) or Algorithm (null) (Algorithm) Optionally, a string that maps to an algorithm label stored in algorithm table | |
External Person Id (string) or External Person Id (null) (External Person Id) The External Identifier, provided by the client, for a unique patient/person that is linked to patient(s) |
{- "bundle": { },
- "algorithm": "string",
- "external_person_id": "string"
}
{- "prediction": "match",
- "person_reference_id": "8e5a91ce-4436-4673-9cc9-9835a59dfb92",
- "results": [
- {
- "person_reference_id": "8e5a91ce-4436-4673-9cc9-9835a59dfb92",
- "belongingness_ratio": 1
}
], - "patient_reference_id": "266c775e-4b03-489b-b290-03181bfdfea2",
- "updated_bundle": { }
}
Similar to the /link endpoint, but does not save the incoming data.
required | object (PIIRecord-Input) A PIIRecord to be checked |
Algorithm (string) or Algorithm (null) (Algorithm) Optionally, a string that maps to an algorithm label stored in algorithm table | |
External Person Id (string) or External Person Id (null) (External Person Id) The External Identifier, provided by the client, for a unique patient/person that is linked to patient(s) |
{- "record": {
- "external_id": "string",
- "birth_date": "2019-08-24",
- "sex": "M",
- "address": [ ],
- "name": [ ],
- "telecom": [ ],
- "race": "AMERICAN_INDIAN",
- "identifiers": [ ]
}, - "algorithm": "string",
- "external_person_id": "string"
}
{- "prediction": "match",
- "person_reference_id": "8e5a91ce-4436-4673-9cc9-9835a59dfb92",
- "results": [
- {
- "person_reference_id": "8e5a91ce-4436-4673-9cc9-9835a59dfb92",
- "belongingness_ratio": 1
}
]
}
Similar to the /link/fhir endpoint, but does not save the incoming data.
bundle required | object (Bundle) A FHIR bundle containing a patient resource to be checked for links to existing patient records |
Algorithm (string) or Algorithm (null) (Algorithm) Optionally, a string that maps to an algorithm label stored in algorithm table | |
External Person Id (string) or External Person Id (null) (External Person Id) The External Identifier, provided by the client, for a unique patient/person that is linked to patient(s) |
{- "bundle": { },
- "algorithm": "string",
- "external_person_id": "string"
}
{- "prediction": "match",
- "person_reference_id": "8e5a91ce-4436-4673-9cc9-9835a59dfb92",
- "results": [
- {
- "person_reference_id": "8e5a91ce-4436-4673-9cc9-9835a59dfb92",
- "belongingness_ratio": 1
}
], - "updated_bundle": { }
}
Create a new algorithm in the MPI database.
:param data: The algorithm data :returns: The created algorithm
label required | string (Label) ^[a-z0-9]+(?:-[a-z0-9]+)*$ |
Description (string) or Description (null) (Description) | |
is_default | boolean (Is Default) Default: false |
include_multiple_matches | boolean (Include Multiple Matches) Default: true |
required | Array of items (Belongingness Ratio) = 2 items |
required | Array of objects (Passes) |
{- "label": "string",
- "description": "string",
- "is_default": false,
- "include_multiple_matches": true,
- "belongingness_ratio": [
- 1,
- 1
], - "passes": [
- {
- "blocking_keys": {
- "description": "Date of birth as YYYY-MM-DD",
- "value": "BIRTHDATE"
}, - "evaluators": [
- {
- "feature": "BIRTHDATE",
- "func": "func:recordlinker.linking.matchers.compare_probabilistic_exact_match"
}
], - "rule": "func:recordlinker.linking.matchers.rule_probabilistic_match",
- "kwargs": { }
}
]
}
{- "label": "string",
- "description": "string",
- "is_default": false,
- "include_multiple_matches": true,
- "belongingness_ratio": [
- 1,
- 1
], - "passes": [
- {
- "blocking_keys": {
- "description": "Date of birth as YYYY-MM-DD",
- "value": "BIRTHDATE"
}, - "evaluators": [
- {
- "feature": "BIRTHDATE",
- "func": "func:recordlinker.linking.matchers.compare_probabilistic_exact_match"
}
], - "rule": "func:recordlinker.linking.matchers.rule_probabilistic_match",
- "kwargs": { }
}
]
}
Get an algorithm by its label from the MPI database.
:param label: The algorithm label :returns: algorithm
label required | string (Label) |
{- "label": "string",
- "description": "string",
- "is_default": false,
- "include_multiple_matches": true,
- "belongingness_ratio": [
- 1,
- 1
], - "passes": [
- {
- "blocking_keys": {
- "description": "Date of birth as YYYY-MM-DD",
- "value": "BIRTHDATE"
}, - "evaluators": [
- {
- "feature": "BIRTHDATE",
- "func": "func:recordlinker.linking.matchers.compare_probabilistic_exact_match"
}
], - "rule": "func:recordlinker.linking.matchers.rule_probabilistic_match",
- "kwargs": { }
}
]
}
Update an existing algorithm in the MPI database.
:param label: The algorithm label :param data: The algorithm data :returns: The updated algorithm
label required | string (Label) |
label required | string (Label) ^[a-z0-9]+(?:-[a-z0-9]+)*$ |
Description (string) or Description (null) (Description) | |
is_default | boolean (Is Default) Default: false |
include_multiple_matches | boolean (Include Multiple Matches) Default: true |
required | Array of items (Belongingness Ratio) = 2 items |
required | Array of objects (Passes) |
{- "label": "string",
- "description": "string",
- "is_default": false,
- "include_multiple_matches": true,
- "belongingness_ratio": [
- 1,
- 1
], - "passes": [
- {
- "blocking_keys": {
- "description": "Date of birth as YYYY-MM-DD",
- "value": "BIRTHDATE"
}, - "evaluators": [
- {
- "feature": "BIRTHDATE",
- "func": "func:recordlinker.linking.matchers.compare_probabilistic_exact_match"
}
], - "rule": "func:recordlinker.linking.matchers.rule_probabilistic_match",
- "kwargs": { }
}
]
}
{- "label": "string",
- "description": "string",
- "is_default": false,
- "include_multiple_matches": true,
- "belongingness_ratio": [
- 1,
- 1
], - "passes": [
- {
- "blocking_keys": {
- "description": "Date of birth as YYYY-MM-DD",
- "value": "BIRTHDATE"
}, - "evaluators": [
- {
- "feature": "BIRTHDATE",
- "func": "func:recordlinker.linking.matchers.compare_probabilistic_exact_match"
}
], - "rule": "func:recordlinker.linking.matchers.rule_probabilistic_match",
- "kwargs": { }
}
]
}
Create a new Person in the MPI database and link the Patients to them.
patients required | Array of strings <uuid> (Patients) non-empty [ items <uuid > ] |
{- "patients": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
{- "person_reference_id": "8e5a91ce-4436-4673-9cc9-9835a59dfb92",
- "external_person_id": "string"
}
Assign the Patients to an existing Person cluster.
person_reference_id required | string <uuid> (Person Reference Id) |
patients required | Array of strings <uuid> (Patients) non-empty [ items <uuid > ] |
{- "patients": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
{- "person_reference_id": "8e5a91ce-4436-4673-9cc9-9835a59dfb92",
- "external_person_id": "string"
}
Retrieve an existing person cluster in the MPI
person_reference_id required | string <uuid> (Person Reference Id) |
{- "person_reference_id": "8e5a91ce-4436-4673-9cc9-9835a59dfb92",
- "patient_reference_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
Retrieve person_reference_id(s) for all Persons that are not linked to any Patients.
Limit (integer) or Limit (null) (Limit) Default: 50 | |
Cursor (string) or Cursor (null) (Cursor) |
{- "data": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
}
Merges Person cluster(s) into the Person cluster referenced by merge_into_id
. Optionally
delete the merged Person clusters.
merge_into_id required | string <uuid> (Merge Into Id) |
delete_person_clusters | boolean (Delete Person Clusters) Default: false |
person_reference_ids required | Array of strings <uuid> (Person Reference Ids) non-empty [ items <uuid > ] |
{- "person_reference_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
{- "person_reference_id": "8e5a91ce-4436-4673-9cc9-9835a59dfb92",
- "external_person_id": "string"
}
Create a new patient record in the MPI and link to an existing person.
person_reference_id required | string <uuid> (Person Reference Id) |
required | object (PIIRecord-Input) The schema for a PII record. |
{- "person_reference_id": "8e5a91ce-4436-4673-9cc9-9835a59dfb92",
- "record": {
- "external_id": "string",
- "birth_date": "2019-08-24",
- "sex": "M",
- "address": [ ],
- "name": [ ],
- "telecom": [ ],
- "race": "AMERICAN_INDIAN",
- "identifiers": [ ]
}
}
{- "patient_reference_id": "266c775e-4b03-489b-b290-03181bfdfea2",
- "external_patient_id": "string"
}
Retrieve patient_reference_id(s) for all Patients that are not linked to a Person.
Limit (integer) or Limit (null) (Limit) Default: 50 | |
Cursor (string) or Cursor (null) (Cursor) |
{- "data": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
}
Retrieve an existing patient record in the MPI
patient_reference_id required | string <uuid> (Patient Reference Id) |
{- "patient_reference_id": "266c775e-4b03-489b-b290-03181bfdfea2",
- "person_reference_id": "8e5a91ce-4436-4673-9cc9-9835a59dfb92",
- "record": {
- "external_id": "string",
- "birth_date": "2019-08-24",
- "sex": "M",
- "address": [ ],
- "name": [ ],
- "telecom": [ ],
- "race": "AMERICAN_INDIAN",
- "identifiers": [ ]
}, - "external_patient_id": "string",
- "external_person_id": "string"
}
Update an existing patient record in the MPI
patient_reference_id required | string <uuid> (Patient Reference Id) |
Person Reference Id (string) or Person Reference Id (null) (Person Reference Id) | |
PIIRecord (object) or null |
{- "person_reference_id": "8e5a91ce-4436-4673-9cc9-9835a59dfb92",
- "record": {
- "external_id": "string",
- "birth_date": "2019-08-24",
- "sex": "M",
- "address": [ ],
- "name": [ ],
- "telecom": [ ],
- "race": "AMERICAN_INDIAN",
- "identifiers": [ ]
}
}
{- "patient_reference_id": "266c775e-4b03-489b-b290-03181bfdfea2",
- "external_patient_id": "string"
}
Seed a batch of records into the database. This endpoint can be used to initialize the MPI with existing Person clusters. The endpoint accepts a list of clusters, such that each cluster represents a Person and contains a list of patient records associated with that Person. This endpoint will create a new Person record for each cluster and create a new Patient records for each patient in the cluster.
The endpoint will return a list of Person objects, each containing a person_reference_id and a list of Patient objects, each containing patient_reference_ids.
NOTE: MySQL does not support bulk insert, so when using this dialect, each patient record will be inserted individually. This will be slower than using a dialect that supports bulk insert.
NOTE: The maximum number of clusters that can be seeded in a single request is 100.
required | Array of objects (Clusters) |
{- "clusters": [
- {
- "records": [
- {
- "external_id": "string",
- "birth_date": "2019-08-24",
- "sex": "M",
- "address": [ ],
- "name": [ ],
- "telecom": [ ],
- "race": "AMERICAN_INDIAN",
- "identifiers": [ ]
}
], - "external_person_id": "string"
}
]
}
{- "persons": [
- {
- "person_reference_id": "8e5a91ce-4436-4673-9cc9-9835a59dfb92",
- "external_person_id": "string",
- "patients": [
- {
- "patient_reference_id": "266c775e-4b03-489b-b290-03181bfdfea2",
- "external_patient_id": "string"
}
]
}
]
}