ERA Enrollment API


Product overview

A set of APIs that allow providers to submit electronic ERA enrollments to EDI. This will allow electronic/systematic submission of ERA enrollment information and it supports enrollment record creation but not attachments at this time. This works the same way a DDE (Direct Data Entry) enrollment is created, but electronic instead of manually inputted.

How it works

The provider can submit ERA enrollment information via JSON to the EDI enrollment API for ERA enrollment. The submitted data is validated and processed. Provider can then retrieve the results of the ERA enrollments. The results will include records that were accepted and processed and records that were rejected. Rejected records will include a message indicating why it was rejected.
The enrollment process will match to an ORGID/PayerID/Provider IDs (NPI/TIN) to generate an association ID when a remit is received. The EDI system has the ability to match to submitter to deliver to proper delivery methods.

Best practices

Records should only be submitted once. Rejected records can be corrected and submitted again, but accepted records should not be resubmitted.
For additional review/historical review – visit the IEDI Portal to review all existing associations. For any changes to an existing enrollment or association, you will need to submit a Salesforce case to the iEDI enrollment team.

Security

Optum uses OAuth2 to create a secure connection with our API users, which requires a bearer authorization token (apigw.optum.com/apip/auth/v2/token/ endpoint) to obtain access.

How to try an API?

Refer to the Getting started section on how to use an API.

Support

Technical support

For any issues, create a support case in Salesforce and should include the traceID listed below.
Any error response should include the "traceId". Consumers should include this ID when contacting technical support. The trace ID's are attached to logging and will facilitate resolving the issues.

Request access

A support case will need to be submitted through Salesforce to iEDI enrollments to request access.



Technical overview


API details

The EDI Enrollment API allows consumers to send ERA enrollment information as JSON to EDI for processing. This is an asynchronous process. The initial response indicates if the submission was accepted for processing or not. Results of the processing are retrieved later via the results path. Please review the "API reference documentation" below for more details.

Data descriptions

Field nameField description
tenant-idTenant ID of the organization. Must be in the header of all requests.
payloadIdThe ID returned during submission that is later used to retrieve the results.
Enrollment RecordsThe body of the submission request and response of the results request. Complete schema and examples are available in the API reference documentation section below.

Categorization of endpoints

Environments available

Staging & Production

Authentication guidance

Prior to attempting to access the EDI Enrollment API, you must ensure that you have the following:

A One Healthcare ID username/password
An EDI portal account and organization
Access Token - OAuth2 client credentials flow

One Healthcare ID

With One Healthcare ID, you can register for and access a variety of services offered by Optum and United Healthcare, including EDI

EDI portal account

An API client must have an account setup with the EDI Portal, this allows us to match records created via the api to an account so that it can be administrated via the portal if needed.

EDI organization

An EDI organization is created when a business entity is on-boarded with EDI. Each organization has an administrator who manages adding users and zero or more additional users who are provisioned to use EDI under that organization. To get access to an EDI organization, ask your administrator to send an invitation to the email address associated with your One Healthcare ID. When making API calls to EDI, each call must reference an Organization.

Example organization/account: Acme Payer EDI Services

Access token - OAuth2 client credentials flow

In order to make direct API calls to EDI, each API request must include a valid access_token. OAuth2 client credentials are associated with your One Healthcare ID. Each request to the API using OAuth2 client credentials is considered to be done by the One Healthcare ID those credentials were created for. At this time, OAuth2 Client Credentials are available to limited organizations and users only. Please contact your organization's administrator or EDI support to request OAuth2 client credentials.

Main API flow walkthrough

  1. ERA enrollments records are submitted to Endpoint_URL/era/enrollment-submission.
    • This call will result in either a 202 or 400 Code. If the request is accepted for processing the response code 202 will be returned along with a payload-id.
  2. Results of processing are retrieved by submitting a request to Endpoint_URL/era/results/{payloadId}.
    • The payload ID is the value returned during the submission request.
    • If the submission is still being processed the results will return the status of processing.
    • Submissions that have finished processing will receive a response including the accepted and rejected records.

All API endpoints require the following headers to be sent with each request. These headers identify the caller, and which EDI organization/account the request is for.

Header nameValueExample
tenant-idThe Tenant ID of the organizationTESTWINH
AuthorizationThe access tokenBearer xxxx

Response code details

Response codeDescription
202The request payload was accepted for processing and will be processed in a timely manner.
400In the case of submitting enrollment data, this can occur when the request data is not properly formatted JSON.
404In the case of retrieving the results, this indicates a record could not be found, or could not be verified as associated with the organization making the request.
500An Internal error occurred and the request could not be processed. Please include the "traceId" in the response when contacting support.
503Service unavailable. Please try again later.


Release notes
View our Release notes for more information on the API