This page covers details for Reference Implementations of the $member-match operation .
$member-match is an operation on Patient:
URL: [base]/Patient/$member-match
The operation receives and returns parameters.
Resource examples, Server implementation information and other information to assist in coordination will be included on this page.
The Submitted Parameter will include:
- Patient
- Old Coverage Record
- New Coverage Record
The returned Parameter to include:
- Patient ( with updated UMB value)
- New Coverage record (as received)
Reference Implementation decisions and Assumptions:
Supporting Information
Terms used in $member-match:
New Health Plan: The plan that a member has enrolled in.
Old Health Plan: The health plan that previously provided coverage to the member
Old Health Plan endpoint: https://sandbox.logicahealth.org/DVPDexR4Payer1/patients
Sandbox Name: DaVinciPDex-R4-Payer
Sandbox Description: Payer FHIR R4 Endpoint for CDS-Hooks
Sandbox ID: DVPDexR4Payer1
Secured FHIR Server URL: https://api.logicahealth.org/DVPDexR4Payer1/data
Open FHIR Server URL: https://api.logicahealth.org/DVPDexR4Payer1/open
Sandbox FHIR Version: FHIR R4 (v4.0.0)
New Health Plan endpoint: https://api.logicahealth.org/DaVinciPDexPayer/open
Sandbox Name: DaVinci PDex Payer
Sandbox Description: no description available
Sandbox ID: DaVinciPDexPayer
Secured FHIR Server URL: https://api.logicahealth.org/DaVinciPDexPayer/data
Open FHIR Server URL: https://api.logicahealth.org/DaVinciPDexPayer/open
Sandbox FHIR Version: FHIR R4 (v4.0.0)
Excel Mapping File: DataMapping.xlsx
Old Organization: TBD
New Organization: TBD
Old Member Records:
Old Coverage:
The following coverage records have a subscriber id as the identifier and would cause two coverage records to be found.
Experimental Member Match Service
Use the above records to create a Parameter resource that is sent via a GET with the parameter as a json body.
http://ec2-18-223-117-133.us-east-2.compute.amazonaws.com:8000/v1/profhirler/Patient/$member-match
Notes:
Sample Input:
{
"resourceType": "Parameters",
"parameter": [
{
"name": "MemberPatient",
"resource": {
"resourceType": "Patient",
"id": "1",
"identifier": [
{
"type": {
"coding": [
{
"system": "http://hl7.davinci.org",
"code": "MB"
}
]
},
"system": "http://oldhealthplan.example.com",
"value": "55678",
"assigner": {
"reference": "Organization/2",
"_reference": {
"fhir_comments": [
"MB is passed from coverage card by new health plan."
]
}
}
}
],
"name": [
{
"use": "official",
"family": "Person",
"given": [
"Patricia",
"Ann"
]
}
],
"gender": "female",
"birthDate": "1974-12-25"
}
},
{
"name": "OldCoverage",
"resource": {
"resourceType": "Coverage",
"id": "9876B1",
"text": {
"status": "generated",
"div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">A human-readable rendering of the coverage</div>"
},
"contained": [
{
"resourceType": "Organization",
"id": "Organization/2",
"name": "Old Health Plan",
"endpoint": [
{
"reference": "http://www.oldhealthplan.com"
}
]
}
],
"identifier": [
{
"system": "http://oldhealthplan.example.com",
"value": "DH10001235"
}
],
"status": "draft",
"beneficiary": {
"reference": "Patient/4"
},
"period": {
"start": "2011-05-23",
"end": "2012-05-23"
},
"payor": [
{
"reference": "#Organization/2"
}
],
"class": [
{
"type": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/coverage-class",
"code": "group"
}
]
},
"value": "CB135"
},
{
"type": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/coverage-class",
"code": "plan"
}
]
},
"value": "B37FC"
},
{
"type": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/coverage-class",
"code": "subplan"
}
]
},
"value": "P7"
},
{
"type": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/coverage-class",
"code": "class"
}
]
},
"value": "SILVER"
}
]
}
}
]
}
Changes implemented:
- Not Found will return 422 instead of 404 Status Code.
- The Unique Member Identifier is no longer appended to the identifier section of the incoming Patient Record.
- a "uniqueMemberId" parameter is added to the returned parameters resource with the unique member identifier from the old plans patient record
Example Returned Parameter Resource:
{ "resourceType": "Parameters", "parameter": [ { "name": "MemberPatient", "resource": { "resourceType": "Patient", "id": "1", "identifier": [ { "type": { "coding": [ { "system": "http://hl7.davinci.org", "code": "MB" } ] }, "system": "http://oldhealthplan.example.com", "value": "55678", "assigner": { "reference": "Organization/2", "_reference": { "fhir_comments": [ "MB is passed from coverage card by new health plan." ] } } } ], "name": [ { "use": "official", "family": "Person", "given": [ "Patricia", "Ann" ] } ], "gender": "female", "birthDate": "1974-12-25" } }, { "name": "uniqueMemberId", "identifier": [ { "use": "usual", "type": { "coding": [ { "system": "http://terminology.hl7.org/CodeSystem/v2-0203", "code": "UMB", "display": "Member Number", "userSelected": false } ], "text": "Member Number" }, "system": "https://old.payer.example.com/diamond-health-ppo/uniquemember", "value": "dhu-10102" } ] } ] }
Testing needs to cover the following scenarios:
- Old plan coverage card provides plan information and a subscriber id (i.e. not a unique member id)
- Old plan coverage card provides plan information and a member id (ie. a unique member id)
New Coverage:
New Member Records: