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: 

OldMemberPatient.json

DH10001234.json

DH10001235.json

DH10001236.json

DH10001237.json


Old Coverage:

OCOV-1001.json

OCOV-1002.json

OCOV-1003.json

OCOV-1004.json

OCOV-1005.json

The following coverage records have a subscriber id as the identifier and would cause two coverage records to be found. 

OCOV-1006.json

OCOV-1007.json


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:

  1. Old plan coverage card provides plan information and a subscriber id (i.e. not a unique member id)
  2. Old plan coverage card provides plan information and a member id (ie. a unique member id)







New Coverage:


New Member Records:



  • No labels