Tracking the status of Service Requests

Overview

This guide describes how to track the status of your Service Requests. It's broken down by the overarching type of request:

  1. Requests to enroll a Provider or Group with a Payer
  2. Requests to obtain a License for a Provider
  3. Requests to Credential a Provider

For help creating Service Requests, see Creating New Service Requests.

📘

Save your IDs!

We recommend storing the IDs of your Service Requests when you create them. However, if you've lost track of them, you can use either the GET Payer Enrollment Service Requests endpoint, the GET Credentialing Service Requests, or the GET Service Requests endpoint with the appropriate filters (e.g. provider or provider_id) to search for a given Service Request.

🚧

Medallion's API is a pull-based system

Note that we do not currently offer push-based functionality (i.e., webhooks). Therefore, if you need to track a status on some cadence, you should set up a recurring call to Medallion's API. However, we recommend refreshing statuses "on-demand", if possible.

Payer Enrollment Service Requests (PESRs)

We recommend using the GET a Payer Enrollment Service Request endpoint to track the status of a given Payer Enrollment Service Request. To get the status of a given PESR, simply send a GET request with the ID of that Request, then access the status field for the current status of the PESR and the status_reason field for the "reason" that the PESR is in that status.

Licensing Service Requests (LSRs)

LSRs are best accessed via the GET a Service Request endpoint. As with PESRs, you should simply include the ID of the LSR you're interested in, then access the status field (note that status_reasonis not currently provided on LSRs).

Credentialing Service Requests

Credentialing Service Requests should be tracked via the GET Credentialing Service Requests endpoint. Simply send a GET request with the ID of the of the Service Request as a query param, then access the request_status field on the appropriate object.

import requests

api_key = "<YOUR_API_KEY>"
organization_id = "<YOUR_ORG_ID>"
url = f"https://app.medallion.co/p/api/v1/organizations/{organization_id}/credentialing-service-requests/"

headers = {"x-api-key": api_key, "accept": "application/json"}

request_id = "<REQUEST_ID>"
response = requests.get(url, params={"id": request_id}, headers=headers)
response.raise_for_status()

response_json = response.json()
if response_json["count"] != 1:
  raise ValueError(
    f"Expected exactly 1 Service Request with ID = {request_id}; got {response_json['count']}"
  )
print(
  f"Service Request {request_id} is currently in status {response_json['results'][0]['request_status']}"
)

👍

What do these statuses mean?

For the meanings of the various statuses, please see Payer Enrollment (PE) Statuses & Definitions for PESRs, License Statuses and Definitions for LSRs and Credentialing Statuses & Definitions for Credentialing Service Requests, with the caveat that the status strings returned by the Public API are (roughly) snake-cased version of the statuses listed in the help articles.

Note that a Medallion login is required to access our Platform documentation; please reach out to your admin if you need one.