Chronic Care Management

Workflow Overview


Enrollment, Delivery of CCM Services, and Billing

1. Patient Enrollment 

During this stage the Provider will enroll a patient as part of a Chronic Care Management program. In athenaNet there are a few different ways patients could be enrolled for CCM services. Below we have listed the four most common enrollment workflows. Number 1 is our recommended enrollment option.  

SSO Link 

The SSO link will pass the patient details via SAML2.0 assertion to initiate the enrollment process on the Partner’s application. The SSO file link can live within the patients Quickview, chart, or encounter. 

Please review the following documentation on Single Sign On:

Enrollment by creating a Referral order

  • Provider creates a new referral order for the patient using athena's standard order workflow. Note: the order type is "Chronic Care Management"
  • Partner initiates CCM enrollment on their end by surfacing the order after sign off using the following API workflow. 

Initial call sets up the subscription to signedoff related events. Note: a practiceid is required to utilize these calls.


Partner confirms subscription:


Partner periodically pulls all newly signed off orders:


CCM Enrollment Status

  • Through this form of enrollment the Provider needs to set CCM enrollment to “True” within the patients Quickview. 
  • The Partner can leverage the CCM Enrollment Status Subscription API to retrieve which patients have been enrolled for CCM using this workflow.

The following call sets up the subscription to manage changes to CCM enrollment status (practiceid is a required input):


Partner confirms subscription:


Partner periodically pulls all patients with changed CCM enrollment statuses:


2. (Optional) Partner updates CCM enrollment status within athenaNet

  • This workflow can be used when partners want to automatically update CCM enrollment status in the athenaNet field for the provider.
  • It is important to note that CCM enrollment status is tied to a specific insurance on a patient chart/record not the patient themselves. 
  • Please review the developer portal for more details on using the API for Chronic Care Management Enrollment Status.

Retrieve all patient insurances for a specific event: 

GET /patients/{patientid}/insurances

Required fields: insurance id, patient id, and department id

GET /patients/patientid/insuranceid/ccmenrollmentstatus
PUT /patients/patientid/insurances/{insuranceid}/ccmenrollmentstatus/

3. Pulling Patient Information

There are two possible methods to retrieve all the clinical patient information needed. 

Preferred method:

The preferred method to obtain the necessary information is for the Partner to pull the clinical data through hitting all individual endpoints.

Below are a few examples of the calls you may utilize. 

GET /chart/{patientid}/careteam
GET /chart/{patientid}/encounters
GET /chart/{patientid}/familyhistory
GET /chart/{patientid}/labresults
GET /chart/{patientid}/medicalhistory 
GET /chart/{patientid}/medications  
GET /chart/{patientid}/socialhistory 
GET /chart/{patientid}/surgicalhistory
GET /patient/patientid/problems  

Second method (not recommended)

Summary of patient clinical information 

GET /patients/{patientid}/CCDA 

 This method is summary chart information which you will need to parse. This is not preferred, as the output lacks detail.

4. Patient Care Plan Creation


Required fields: patientid, departmentid, and practiceid 

Set document class to Clinical Document 

5. 20 Minutes of Chronic Care Management given to Patient

6. Upload updated care plan, “meeting minutes” and bill

A) Uploading monthly meeting minutes into athenaNet (required inputs: practiceid, departmentid): 

  • This document should be under the document subclass “Billing Document”
  • Will likely want to set autoclose to “true”  

B) Uploading updated care plan into athenaNeta (this document should be under the document subclass “Clinical Document”). Required input: patientid, practiceid, and departmentid.


C) Uploading Claim for monthly service into athenaNet (required inputs include: practiceid, departmentid, patientid, supervisingproviderid):



Identifying CCM eligible Patients in athena

1. Partner will utilize the API to identify which patientids should be evaluated as possible candidates for CCM

Below are a few different options for identifying those patients.

A. Use scheduling actions in athena to identify patientids via the following API subscription workflow

This call will set up the subscription to manage changed appointments for a given practice:


Some events might be more appropriate than others, for example CHECKIN or SCHEDULEAPPOINTMENT, might be the ones to use.

Partner confirms subscription:


Partner pulls changed appointments periodically and extracts patientids for the patients in those appointments:


B. The partner can use the following API call to get a list of appointments, and the patients that go with those appointments, over whatever date rage is desired, past or future. 


If the desired date range is large, break it up into multiple calls so as not to exceed the response limits.

2. Partner will utilize the API to pull vital patient information to determine CCM eligibility

GET /patient/patientid/problems
GET /patients/patientid/insuranceid/ccmenrollmentstatus  
GET /patients/{patientid}/insurances 

3. Updating and displaying eligibility 

Most partners prefer to display a list of eligible patients to the provider via their application. Here are some options for updating the patient record in athena to reflect their eligibility:

Appointment Notes

  • The partner can post the eligible patients list within the appointment notes. Required fields: appointmentid, practiceid, and note.
  • The downside of this method is that the appointment notes are not always viewed by a provider. 

Chart Alert

  • The partner can add a chart alert to notify the provider of the eligibility status. Required fields: patientid, practiceid, departmentid, and notetext 
  • The downside of this method is that some practices reserve chart alerts for specific usages and may not allow for this to be utilized.  
Was this information helpful? Yes | No Thank you for your feedback! What went wrong? Incomplete or incorrect information | Irrelevant Content | Others