Insurance Package

The Insurance Package feature is any combination of payer, provider network, or insurance product information required to submit medical claims or invoices for adjudication. The "insurance package" is the unit of information that allows the practice to assign patients to a set of information that describes how and when claims associated with each patient will be submitted. This feature allows the user to retrieve the list of standard insurance packages configured in the system. The Case Policy feature is a special insurance policy that covers a certain set of medical needs not covered by traditional medical insurance policies. A case policy has certain billing requirements that differ from primary and secondary coverage. This feature allows the user to retrieve information of a specific Payer. The Locally Administered Insurance Package Reference allows the user to manage insurance packages that are specific to the practice for corporate contracts and Legal billings. Legal billing is not currently supported by the API. To search for contract packages, use /insurancepackages/casepolicies.

There are times when an API user wants to add insurance for a patient or to manipulate the insurance that a patient has. This happens in several situations, such as when using the API to add a patient prior to sending charges, or even for a new patient being added for scheduling. 

There are two main calls to use. 

The first call,  /v1/{practiceid}/misc/topinsurancepackages, allows you to gather the athenahealth insurance package IDs a given practice uses. You must maintain some sort of mapping from your own representation of this information to our insurance package ID. For practices with a wide geographic footprint, you might want to consider calling this with a department ID since the top payers vary. In the future, we'll provide tools for determining the correct insurance package based on the patient’s ID number and general information. This process will be closer to how this is done in athenaNet proper. 

Once you have the insurance package ID, use POST (to create), PUT (to update), or DELETE (to remove) /v1/{practiceid}/misc/topinsurancepackages to add/update/remove an insurance package from a patient. The POST is to create a new insurance package, while PUT should be used to update information (e.g., member ID change). You should DELETE and POST a new insurance if the insurance package itself changes for a patient. (The GET call shows you the current insurance for a patient.)

Previously, partners were able to add case policy insurance packages via the insurance POST endpoint. However, the fields specifically related to certain types of case policies (auto, worker’s comp, legal, etc.) were not available in the endpoint. A new POST endpoint was built to allow partners to add case policies with the additional relevant information related specifically to case policies.  Note: It is highly encouraged that partners start using the new case policy POST to add case policies instead of using the insurance POST endpoint. 

There are two main calls to add a case policy for a patient. 
GET /insurancepackages/casepolicies, allows partners to retrieve an insurancepackageid that corresponds to the patient’s case policy. For more information on packages, see the Insurance Package Search page. 

Once you have the insurance package ID, use 
POST /patients/{patientid}/insurances/casepolicies to add a case policy for a patient. There are fields that are conditionally required based on the insurancepackageid selected. The insurancepackageid indicates the type of case policy (e.g., auto insurance, legal, worker’s comp). 

To update information in the case policy, use 
PUT /patients/{patientid}/insurances/{insuranceid}. 

To retrieve the insuranceid needed to update the case policy use
GET /patients/{patientid}/insurances/{insuranceid} endpoint. 

To delete case policies use
DELETE /patients/{patientid}/insurances/{insuranceid} endpoint.

The name of the Insurance Package may not exactly match the name of the insurance on the patient’s ID card. Work with the practice to confirm the insurance for a patient if there are concerns.

Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit

Get list of standard insurance packages

GET
/v1/{practiceid}/insurancepackages
Retrieve list of insurance packages for a given search criteria
Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Try in Postman

Input Parameters

Expand all

required

practiceid integer practiceid
insurancezip string The zipcode of the insurer. Nine digit zipcodes are accepted in the format of 12345-6789.
insuranceaddress string The address of the insurer.
insuranceplanname string The name of the insurer.
memberid string The patient's insurance member ID.
insurancestate string The two letter state abbreviation of the insurer's location.
insurancecity string The city of the insurer.
producttypeid integer The insurance product type ID.
insurancephone string The phone number of the insurer.
stateofcoverage string Two letter state abbreviation that filters for insurances that cover this state.
limit integer Number of entries to return (default 1500, max 5000)
offset integer Starting point of entries; 0-indexed

Output Parameters

Expand all
addresslist array The addresses associated with this insurance package. The default address is listed first.
affiliations array The affiliations associated with this insurance package.
insurancepackageid integer The athena insurance package ID.
insuranceplanname string Name of the specific insurance package.
Example Code

Get case-policies for insurance packages

GET
/v1/{practiceid}/insurancepackages/casepolicies
Retrieve case policies information for a specific payer
Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Try in Postman

Input Parameters

Expand all

required

practiceid integer practiceid
insurancezip string The zipcode of the insurer. Nine digit zipcodes are accepted in the format of 12345-6789.
insuranceaddress string The address of the insurer.
insuranceplanname string The name of the insurer.
insurancestate string The two letter state abbreviation of the insurer.
insurancecity string The city of the insurer.
casepolicytypeid integer Filter by a case policy type ID.
insurancephone string The phone number of the insurer.
limit integer Number of entries to return (default 1500, max 5000)
offset integer Starting point of entries; 0-indexed

Output Parameters

Expand all
address string
insurancepackageid integer The athena insurance package ID.
insuranceplanname string Name of the specific insurance package.
Example Code

Create new local insurance package

POST
/v1/{practiceid}/insurancepackages/configuration/locallyadministered
Create a new record of locally administered insurance package
Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Try in Postman

Input Parameters

Expand all

required

practiceid integer practiceid
Content-Type string Content type of the payload

Request Body

Expand all

Output Parameters

Expand all
insurancepackageid integer The ID of the locally administered insurance package or the pending insurance package created.
ispending string Returns true/false if the package request is pending.
Example Code

Update local insurance package

PUT
/v1/{practiceid}/insurancepackages/configuration/locallyadministered/{insurancepackageid}
Modifies an existing record of locally administered insurance package
Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Try in Postman

Input Parameters

Expand all

required

practiceid integer practiceid
insurancepackageid integer insurancepackageid
Content-Type string Content type of the payload

Request Body

Expand all

Output Parameters

Expand all
success string Returns true/false if the operation was successful.
Example Code

Disable a local insurance package

PUT
/v1/{practiceid}/insurancepackages/configuration/locallyadministered/{insurancepackageid}/deactivate
Deactivate an existing record of locally administered insurance package so that it cannot be further used.
Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Try in Postman

Input Parameters

Expand all

required

practiceid integer practiceid
insurancepackageid integer insurancepackageid
Content-Type string Content type of the payload

Output Parameters

Expand all
success string Returns true/false if the operation was successful.
Example Code

Re-enable a local insurance package

PUT
/v1/{practiceid}/insurancepackages/configuration/locallyadministered/{insurancepackageid}/reactivate
Re-activate an existing deactivated record of locally administered insurance package
Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others
Submit
Try in Postman

Input Parameters

Expand all

required

practiceid integer practiceid
insurancepackageid integer insurancepackageid
Content-Type string Content type of the payload

Output Parameters

Expand all
success string Returns true/false if the operation was successful.
Example Code