Skip to content

Diagnosis Gaps API

About the application

Vim Diagnosis Gaps delivers diagnosis gap data seamlessly into EHR workflows for improved risk coding at the point of care. The app helps users more easily address gaps to improve risk adjustment scores and receive proper compensation for all relevant patients. For more information feel free to visit our website.

Get Gaps

This endpoint should return all open gaps for an eligible patient. These gaps will be presented to the user when in patient context, enabling them to take action and accept or dismiss the gaps. This endpoint receives a patient identifier (ID/token) as input, and returns a list of gaps.

Request Details

  • Method: GET
  • URL Pattern: https://<clientDomain>/api/getGaps/<patientToken>

Input Example

json
{
  "patientToken": "fieurhf943rh2kljrn9323hdsfbf342030"
}

Output Example

json
[
  {
    "hcc_code": "18",
    "hcc_description": "Diabetes with Chronic Complications",
    "gap_status": "OPEN",
    "raf_score": "0.302",
    "gap_id": "123243412",
    "icd_code": "E1122",
    "hcc_model_version": "V24",
    "gap_type": "Suspected",
    "icd_description": "Type 2 diabetes mellitus with diabetic chronic kidney disease",
  },
  {
    "hcc_code": "100",
    "hcc_description": "Ischemic or Unspecified Stroke",
    "gap_status": "OPEN",
    "hcc_model": "HCC-HHS",
    "raf_score": "0.222",
    "gap_id": "12324342",
    "icd_code": "I639",
    "icd_description": "Cerebral infarction, unspecified",
    "last_recorded_dos": "2021-07-14T00:00:00.000Z",
    "last_recorded_provider_name": "Victor Test, M.D.",
    "notes": "Last billed 2021-07-14 by Victor Test, M.D"
  }
]

Feedback

Unlike the previous endpoints, this endpoint is triggered by Vim in real-time whenever a gap is addressed by a user. Gaps can either be accepted or dismissed, depending on the user's decision. If a user accepts a gap - they would need to select icd code/codes to writeback to the current encounter assessment section in the EHR. If a user dismisses a gap - they would need to provide a reason for their dismissal. Vim updates the customer about the action taken so they can update the gap's status in the customer's system. If a gap is closed, we expect not to receive it the next time we invoke the getGaps query for the same patient.

Request Details

  • Method: POST
  • URL Pattern: https://<clientDomain>/api/gapsFeedback

Input Example (sent by Vim)

json
{
   "patientId": "1ba3d-d0973-119836-aaab2",
   "organizationName": "Test Medical",
   "vimOrganizationId": 1234,
   "userFirstName": "John",
   "userLastName": "Doe",                                    
   "userNpi": "1676809742",
   "ehrUsername": "J_doe",
   "gapId": "a570210c-7f07-41af-a223-9791263b82f1",
   "gapType": "Dx",
   "gapSystem": "HCC",
   "gapCode": "59",
   "gapDescription": "Major Depressive, Bipolar, and Paranoid Disorders",
   "selectedMedicalCodes": [],
   "encounterDate": "2024-01-20",
   "actionType": "dismiss",
   "actionDate": "2024-02-07",
   "actionReason": "NOT_PRESENT",
   "additionalComments": "Patient did not display symptoms"
 }

Response

The response should have a successful HTTP code (2XX) when successful, otherwise it would be considered a failed request. The content of the response could be empty, or contain some information about the new gap status, if needed.

Authentication

In most implementations, Vim uses JWT or OAuth authentication. We can support other authentication methods, such as API key or username and user secret, if needed. Vim is able to adapt the authentication method used to the customer's needs and abilities. Vim will include the obtained access token in the Authorization header for subsequent requests.

Token Request

  • Method: POST
  • URL Patten: https://<clientDomain>/api/token

Input Example (sent by Vim)

json
{
  "client_id": "your_client_id",
  "secret": "your_secret",
  "ehr_username": "user_ehr_username",
  "vim_organization_id": "user_vim_organization_id"
}

Response

json
{
  "access_token": "your_access_token",
  "token_type": "Bearer",
  "expires_in": 3600
}

Customizations

This document describes all the fields Vim has available when initiating the API call. You may receive these fields or any subset of them. Vim can adjust the payload to adapt to the customer’s needs, including authorization or any other needed header.