Accordion APIs How-To series, part III

Kuan-Yu Chen
accordionhealth
Published in
5 min readMar 6, 2017

Closing the gaps between the documented risk conditions and what members really have

Grace Murray Hopper was an American computer scientist and United States Navy rear admiral. She invented the first compiler for a computer programming language, and created the term “debugging” for fixing computer glitches. [Photo source here]

In the last post, we discussed how you can use our Risk Profiler API /api/current-hcc to estimate risk scores and identify existing Hierarchical Condition Categories (HCCs) of your members. Today we will move on to the predictive side of our Risk Profiler API /api/suspect-hcc , which is powered by Accordion Risk Surface Engine (Arise), to answer the following question:

How accurately do documented risk conditions reflect true risk conditions? In other words, given a member’s diagnoses, medications and procedures, would the member have additional risk conditions?

The answer to this question would be the key to understand the true risk of your population. As you may have figured out, to get this answer, you need predictive analytics.

Extension to Risk Profiler basic requirements

To better handle diagnosisCodes in the requests send to /api/suspect-hcc, we will convert each diagnosis code into the International Classification of Diseases (ICD) version specified in ICDVersion (the default is 10). The purpose of doing so is to take the burden of conversion between ICD-9 and ICD-10 away from you, while preserving our Risk Profiler’s capability to identify existing and missing diagnoses.

Keep in mind that:

  1. You still have the option to choose which ICD version you would like to use in your requests
  2. You can provide diagnosis codes from either ICD-9 or ICD-10, regardless of which version you select.

However, we recommend that you use ICD-10, since the transition to ICD-10 is a mandate after Oct. 1, 2015 (reference). In the following examples, we assume that the member had been diagnosed once with "9-29630" and once with "10-I739", and we will use ICD-10 for the conversion.

{
"gender": "female",
"age": 77,
"riskModel": "cms_hcc22",
"ICDVersion": "10",
"diagnosisCodes": [
{
"code": "9-29630",
"count": 1
},
{
"code": "10-I739",
"count": 1
}
]
}

Suspect Hierarchical Condition Categories and Details

Now let’s assume that in addition to the diagnoses, this member was also taking breo ellipta (National Drug Code (NDC) is 00173085910, beta2-adrenergic agonist). After adding this code to the request body, let’s send a POST /api/suspect-hcc to see if we can find any missing HCCs.

POST /api/suspect-hcc HTTP/1.1
Host: developers.accordionhealth.com
Content-Type: application/json
Authorization: Bearer JSON.WEB.TOKEN
{
"gender": "female",
"age": 77,
"riskModel": "cms_hcc22",
"ICDVersion": "10",
"diagnosisCodes": [
{
"code": "9-29630",
"count": 1
},
{
"code": "10-I739",
"count": 1
}
],
"ndcCodes": ["00173085910"]
}

Here is the response.

HTTP/1.1 200 OK
Content-Type: application/json
{
"suspectHCC": [
"[CC111] Chronic Obstructive Pulmonary Disease"
],
"numHCC": 1,
"details": [
{
"cc": "[CC111] Chronic Obstructive Pulmonary Disease",
"potentialDXs": [
{
"dx": "10-J449",
"dxDesc": "Chronic obstructive pulmonary disease, unspecified",
"drisk": 0.346,
"likelihood": 0.433,
"evidence": [
{
"varname": "[Rx] beta2-Adrenergic Agonist",
"relevance":3.162
},
{
"varname": "[CC] 108: Vascular Disease",
"relevance": 1.033
}
]
} // closing bracket of the first potential diagnosis code
] // closing bracket of "potentialDXs"
}
] // closing bracket of "details"
}

In this response, you receive rich information about each suspect HCC suggested by Arise. Below are the explanations.

  1. suspectHCC shows all of the suspect HCCs suggested by Arise.
  2. All potential diagnosis codes that could lead to each HCC are provided in details.
  3. dx and dxDesc show the diagnosis code and its description. In this example, it means that 10-J449 “Chronic obstructive pulmonary disease, unspecified” is the one (and only, given the information provided in the request body) that can lead to CC 111 - Chronic Obstructive Pulmonary Disease (COPD).
  4. drisk indicates the risk score increase if such diagnosis code were documented in the member’s medical record.
  5. likelihood indicates how likely such diagnosis code can be found.
  6. evidence describes the reasons why Arise made such suggestion. The first evidence provided here is [Rx] beta2-Adrenergic Agonist with a relevance score of 3.162, indicating that the probability of having 10-J449 is 3.162 times higher for the people who take beta2 - adrenergic agonist than those who don’t (see more about lift here). This evidence makes perfect sense since beta2 - adrenergic agonist is primarily used to treat pulmonary diseases like COPD (reference).

How about Medical Procedures?

Above we learned how to include members’ medication information to help us find the missing HCCs. You might want to ask: How about medical procedures? Can we infer missing diagnoses from medical procedures? In order to answer these questions, let’s assume that the member also took two glycosylated hemoglobin tests, with HCPCS/CPT code 83036.

POST /api/suspect-hcc HTTP/1.1
Host: developers.accordionhealth.com
Content-Type: application/json
Authorization: Bearer JSON.WEB.TOKEN
{
"gender": "female",
"age": 77,
"riskModel": "cms_hcc22",
"ICDVersion": "10",
"diagnosisCodes": [
{
"code": "9-29630",
"count": 1
},
{
"code": "10-I739",
"count": 1
}
],
"ndcCodes": ["00173085910"],
"procedureCodes": [
{
"code": "83036",
"count": 2
}
]

}

With the procedure included, the new response will look as the following.

HTTP/1.1 200 OK
Content-Type: application/json
{
"suspectHCC": [
"[CC19] Diabetes without Complication",
"[CC111] Chronic Obstructive Pulmonary Disease"
],
"numHCC": 2,
"details": [
{
"cc": "[CC19] Diabetes without Complication",
"potentialDXs": [
{
"dx": "10-E119",
"dxDesc": "Type 2 diabetes mellitus without complications",
"drisk": 0.118,
"likelihood": 0.486,
"evidence": [
{
"varname": "[Pr] 83036: Glycosylated hemoglobin test",
"relevance": 4.765
}
]
}
]
},
{
"cc": "[CC111] Chronic Obstructive Pulmonary Disease"},
...this part remains unchanged...
}
]
}

As can be seen above, Arise provided a new suspect CC 19 - Diabetes without Complication based on the evidence including the glycosylated hemoglobin test.

What’s next?

Today, we introduced a new member of our Risk Profiler APIs, which is called /api/suspect-hcc. Powered by our proprietary machine learning engine Arise, this API helps you identify the missing/hidden diagnosis codes that were not properly documented, thereby saving you more time and resources to provide better care to your population.

In the next few posts, we will prepare some case studies to give you better insights into our Risk Profiler APIs and Arise.

Thoughts and comments are welcome! Also, please don’t hesitate to contact us at info@accordionhealth.com or visit our API documentation at developers.accordionhealth.com.

--

--