Skip to main content

Payer Services PDex Group FHIR Interaction Specification

Service Overview

InterSystems Payer Services PDex APIs support the sharing of patient health data and are designed in compliance with the CMS-0057-F regulationsOpens in a new tab. The APIs allow patients to access the health information held by their payer, providers to access clinical data for patients they have a relationship with, and payers to access health data for their members who have multiple or prior health plans.

In FHIR, a Group resource represents a defined collection of entities, such as a set of health plan members. In bulk workflows, a Group identifies the collection of members to include in a bulk operation. Group FHIR interactions can be used to manage information about Groups and their members. For example, a group can be generated by a $bulk-member-match or $provider-member-match operation. That Group can then be used as the target population for a subsequent bulk data export operation.

The /Group interactions apply to both provider and payer access use cases.

Refer to the Getting Started section for information on connectivity, authentication and how to get help. To use the REST APIs, you will need to know the server URL of the FHIR server you will be connecting to.

Workflow

A typical Payer-to-Payer bulk workflow involving Group interactions might be:

  • The payer uses the $bulk-match operation to request the unique member FHIR identifier for their members from the members' previous payer.

  • The previous payer returns members categorized into multiple Group resources (matched, non-matched, and consent-constrained).

  • Using the groupId of the matched members group, the payer can then invoke the $davinci-data-export operation to retrieve the members' data from the previous payer.

/Group Interactions

Base URL

<server url>/csp/healthshare/<namespace>/app/api/responder/FHIRResponderService

where <server url> and <namespace> have been given to you by the payer organization you are connecting with.

Required Header Settings

  • Accept: application/fhir+json or */*

Supported Interactions

GET <base url>/Group/<id> (read)

where <id>is the Group identifier.

Used by requesters to access a Group that was previously generated by a $bulk-member-match or $provider-member-match operation.

GET <base url>/Group (search)

Used by requesters to search for Groups that were previously generated by $bulk-member-match or $provider-member-match operations.

If a Group with the specified ID exists but was created by a bulk member match request from a different requester, it will not appear in the response bundle.

Query Parameters

The following query parameters are supported:

  • code: refers to any codes of the Group. To return results with this parameter, use “match”.

  • _id: refers to a specific Group resource logical ID.

  • identifier: allows you to search for Groups using a business identifier assigned to the Group. Generally includes a system and a value. For example, when requesting as a provider, a search Group?identifier=http://hl7.org/fhir/sid/us-npi|npival will search for all Groups generated for the provider with the specified NPI.

  • characteristic: allows you to search for Groups based on the characteristics used to define their membership. For example, a Group might represent members who have a particular condition, coverage type, or other coded characteristic.

Request Body

None.

Success Response

Status code 200

The request succeeded.

For GET /Group (search), the response is expected to be a FHIR Bundle resource of type searchset containing the Group resources that match the search criteria.

For GET /Group/<id> (read), the response is expected to include the Group resource directly rather than in a FHIR Bundle.

Error Responses

The following response error codes are possible when using the /Group interaction:

Status code 400 Bad Request

Possible causes include:

  • Unsupported search parameter

Status code 401 Unauthorized

Possible causes include:

  • No valid token found

Status code 403 Forbidden

The requester does not have the necessary permissions, accompanied by an OperationOutcomeOpens in a new tab resource that indicates the specific nature of the failure. This could include:

  • The requester type from the JWT is not “provider”

  • Token does not include required OAuth scopes

Status code 404 Not Found

The specified Group was not found. Reasons for this could include:

  • A data export has already been carried out for the specified Group and it has been deleted

  • A Group with the specified ID exists but was created by a bulk member match request from a different requester

Status code 406 Not Acceptable

Possible causes include:

  • Accept header does not include application/fhir+json.

Status code 500 Internal Server Error

Error from payer's service accompanied by an OperationOutcomeOpens in a new tab resource that indicates the specific nature of the failure. This could include:

  • Session does not belong to the requester

  • Payer's system has missing configuration information

Status code 504 Gateway Timeout

Possible causes include:

  • An internal request in the process timed out

FeedbackOpens in a new tab