CARIN Consumer Directed Payer Data Exchange
0.3.1 - STU1

CARIN Consumer Directed Payer Data Exchange, published by HL7 Financial Management Working Group. This is not an authorized publication; it is the continuous build for version 0.3.1). This version is based on the current content of and changes regularly. See the Directory of published versions


Search Behavior

Warning: Under Construction. Will be updated in version 0.3 The EOB Resource is the focal Consumer-Directed Payer Data Exchange (CDPDE) Resource. Several Reference Resources are defined directly/indirectly from the EOB: Coverage, Patient, Organization (Payer ID), Practioner, Organization (Facility), PractionerRole, Location. The Coverage Reference Resource SHALL be returned with data that was effective as of the date of service of the claim; for example, the data will reflect the employer name in effect at that time. However, for other reference resources, payers MAY decide to provide either the data that was in effect as of the date of service or the current data. All reference resources within the EOB will have meta.lastUpdated flagged as must support. Payers SHALL provide the last time the data was updated or the date of creation in the payers system of record, whichever comes last. Apps will use the meta.lastUpdated values to determine if the reference resources are as of the current date or date of service.

RESTful Capabilities by Resource/Profile

To fetch supporting Reference Resources, payers SHALL support _include for all resources referenced by an ExplanationOfBenefit as well as "_include=*", which would bring all referenced resources in the bundle. Client's ExplanationOfBenefit searches can use "_include=*", "_include" for specific reference resources or no "_include" at all (atomic calls) as best suits their use case. Payers SHALL also support resource reads by _id for all profiles defined by this implementation guide. Payers SHALL provide equivalency for “query via _id” (when a client requests data for the referenced resources using a separate call to each resource by its id) and “query via _include" (when a client requests data from all referenced resources to be bundled in one response with the EOB resources). Equivalency means that the same data SHALL be returned regardless whether the client uses “_id” or “_include”. Particularly, if a payer returns point in time versioned reference resources in response to a "_include" request", the same point in time versioned reference resources SHALL be returned in response to the atomic calls / reads for these reference resources).

Explanation of Benefit Profiles

Supported Profiles: CARIN BB ExplanationOfBenefit Inpatient Facility Profile; CARIN BB ExplanationOfBenefit Outpatient Facility Profile; CARIN BB ExplanationOfBenefit Pharmacy Profile; CARIN BB ExplanationOfBenefit Professional NonClinician Profile
Summary of Search Critiera
These search parameters are required (SHALL). The term EOB refers to the four non-abstract profiles of ExplanationOfBenefit defined in this implementation guide.
Supported Profiles Required Search Parameter (SHALL) Type Description Notes Example
EOB _id token none GET [base]/ExplanationOfBenefit?_id=[id]
EOB patient reference patient GET [base]/ExplanationOfBenefit?patient=[patient]
EOB _lastUpdated date Only in combination with the patient search parameter. GET [base]/ExplanationOfBenefit?_lastUpdated=[prefix][date]
EOB type date Claim type. Only in combination with the patient search parameter. }GET [base]/ExplanationOfBenefit?type=[system]|[code]
EOB identifier token identifier Business/Claim Identifier. GET [base]/ExplanationOfBenefit?identifier=[system]|[value]
EOB service-date date service-date Only in combination with the patient search parameter. GET [base]/ExplanationOfBenefit?service-date=[prefix][date]
CARIN_BB_Coverage _id token none GET [base]/Coverage?_id=[id]
CARIN_BB_Patient _id token none GET [base]/Patient?_id=[id]
CARIN_BB_Organization _id token none GET [base]/Organization?_id=[id]
CARIN_BB_PractitionerRole _id token none GET [base]/PractitionerRole?_id=[id]
CARIN_BB_Practitioner _id token none GET [base]/Practitioner?_id=[id]
CARIN_BB_Location _id token none GET [base]/Coverage?_id=[id]
The rationale for requiring specification of a patient for searches not constrained by _id or identifier is as follows:
  • Search by _id or identifer returns at most a single unique EOB. A patient parameter is redundant, but is allowed.
  • Search by type or date (lastUpdated or service-date) must be constrained by a patient to reduce computationial burden, and provide an additional layer of security if a server validates this parameter against the token before processing the request
Servers SHALL support the following _includes on the EOB Profiles:
Supported Profiles Resource Type Required _include(SHALL) Required _include:iterate(SHALL)
EOB Coverage coverage Coverage:payor
EOB Patient patient
EOB Practitioner provider
EOB Practitioner, PractitionerRole, Organization careteam PractitionerRole:practitioner, PractitionerRole:organization
EOB Organization insurer
EOB Location facility

Profile Interaction Summary

For all profiles of Explanation of Benefit and the profile of Coverage defined in this IG, servers SHALL support search-type and read queries.

For profiles of Patient, Practitioner, PractitionerRole, Location, and Organization, servers SHOULD be capable of returning a versioned resource in response to a vread request using: GET [base]/[Resource]/[id]/_history/[vid]