Creating New Service Requests

Overview

This guide explains how to create New Service Requests for Licenses and Payer Enrollments.

Creating License New Service Requests

Preparation

Start by setting your Organization ID (reach out on Intercom if you've lost this UUID) and your API key. Then, gather your Provider's unique ID.

📘

Save your IDs!

Provider IDs

We recommend storing your Providers' IDs when you invite them to Medallion (see Managing User Memberships and Importing / Adding Providers). However, if at any point you've lost track of them, you can use the GET Providers endpoint with a search to find them again, e.g. withrequests.get(providers_url, params={"search": "[[email protected]](mailto:[email protected])"}, headers=headers)

Service Request IDs

As with Provider 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.

Through the Medallion API Platform UI

You can easily use the Medallion API Platform UI for creating License New Service Requests

Go to License Service Request endpoint. You can create new license requests for multiple states and multiple license types in a single request.

In order to create a new request you are required to fill

  • Organization ID (organization_id)
  • Provider ID (provider)
  • Certificate Type (certificate_type)

Currently we allow making new requests for

License TypeBody Parameter
State Licenseslicense_states
DEA Registrationsdea_states
CSR Registrationscsr_states
State Registered Nurse Licensesrn_states
State Prescriptive Authorityprescriptive_authority_states
State Autonomous Registrationautonomous_registration_states

If you are using the endpoints through the Medallion API Platform UI, for each license type you want to request for, find the corresponding body parameter, click 'Add String' and select the state. It will look like the image below.

You can also specify whether the request will be owned and worked by Medallion or your organization. If you set

"is_medallion_owned": True the request will be owned by Medallion

"is_medallion_owned": False the request will be owned by your organization

Other optional body parameters are

  • duration_type

        unless a different duration type is specified, request will be sent as `permanent`
    
  • created

  • request_via_imlc

  • request_supporting_nlc

Outside of the Medallion API Platform UI

If you are not using the Medallion API Platform UI, you need to specify the license type and add create a list of states

dea_states = ["AK", "AL"],
license_states = ["DE"]

Putting it all together

import requests

headers = {
    "accept": "application/json",
    "content-type": "application/json",
    "x-api-key": "<YOUR_API_KEY>"
}

organization_id = "<YOUR_ORG_ID>"
provider_id = "<PROVIDER_ID>"
certificate_type = "<CERTIFICATE_TYPE>" #e.g. DO

#make a list of states you want for any of the available license types
dea_states = ["AK", "AL"],
license_states = ["DE"]

#optional parameters
request_via_imlc = True,       #or False
request_supporting_nlc = True, #or False
created = "YYYY-MM-DD"
      
url = f"https://api.medallion.co/p/api/v1/organizations/{organization_id}/new-license-request/"

payload = {
    "provider": provider_id
    "certificate_type": certificate_type,
  
    #your license types you create requests for
    "dea_states": dea_states,
    "csr_states": license_states,
  
    #if you set any optional parameters include them here
    "duration_type": "training",   #set to "permanent" by default unless specified otherwise
    "request_via_imlc": request_via_imlc,
    "request_supporting_nlc": request_supporting_nlc,
    "created": created
}

response = requests.post(url, json=payload, headers=headers)
response_json = response.json()
print(response_json)

Creating Payer Enrollment New Service Requests

You can create Payer Enrollment New Service Requests for a Group or a Provider.

You can easily use the Medallion API Platform UI for creating Payer Enrollment New Service Requests by going to POST a Payer Enrollment Service Request endpoint.

Preparation

  • Gather your Payer's State and Name and also if you know your Payer's unique UUID. Set these parameters
state = "<YOUR_PAYER_STATE>"
payer_name = "<YOUR_PAYER_NAME>"
payer_id= "<YOUR_PAYER_ID>" #set if you know

is_medallion_owned = True #True if the request will be owned by Medallion, False if owned by your org
  • You might want to add Lines of Business to your request. If you do not know IDs for lines of business, you can use the GET Lines Of Business endpoint and get the IDs corresponding to the business lines you want. If you are using the Medallion API Platform UI, you can click on ADD OBJECT under lines_of_business to add the each Line of Business ID you want. If you are not using the Medallion API Platform UI
lines_of_business = [{ "id": "<LINE_OF_BUSINESS_ID>" }, { "id": "<LINE_OF_BUSINESS_ID>" }]
  • Similarly, you may want to add Practices to your request. If you are using the Medallion API Platform UI, you can click on ADD OBJECT under practices to add the each Line of Business ID you want. You need the ID of the Practice and other Practice parameters such name and address related parameters are optional. If you are not using the Medallion API Platform UI
practices = [
        {
            "id": "<PRACTICE_ID>",
            "name": "<PRACTICE_NAME>",
            "country": "<PRACTICE_COUNTRY>",
        },
        {
        "id": "<PRACTICE_ID>",
        }
    ],

New Request for a Group

Gather your Group Profile ID. If you did not saved your Group Profile ID, you can use the GET Group Profiles endpoint with a search or name to find it. Then set group_profile with this ID.

If you are using the Medallion API Platform UI, please select NewGroupPayerEnrollmentServiceRequest body parameter.

If you are requesting outside of the the Medallion API Platform UI

import requests

headers = {
    "accept": "application/json",
    "content-type": "application/json",
    "x-api-key": "<YOUR_API_KEY>"
}

group_profile="<GROUP_PROFILE_ID>"
state = "<YOUR_PAYER_STATE>"
payer_name = "<YOUR_PAYER_NAME>"
payer_id= "<YOUR_PAYER_ID>" #set if you know

is_medallion_owned = True #True if the request will be owned by Medallion, False if owned by your org
resourcetype= "NewGroupPayerEnrollmentServiceRequest"

#lines_of_business and practices are optional
lines_of_business = [{ "id": "<LINE_OF_BUSINESS_ID>" }, { "id": "<LINE_OF_BUSINESS_ID>" }]
practices = [
        {
            "id": "<PRACTICE_ID>",
            "name": "<PRACTICE_NAME>",
            "country": "<PRACTICE_COUNTRY>",
        },
        {
        "id": "<PRACTICE_ID>",
        }
    ]

url = "https://app.medallion.co/p/api/v1/service-requests/payer-enrollments/"

payload = {
    "group_profile":group_profile,
    "state":state,
    "payer_name":payer_name,
    "payer_id":payer_id,
    "is_medallion_owned": is_medallion_owned,
    "resourcetype": resourcetype,
    "lines_of_business":lines_of_business,
    "practices":practices
}

response = requests.post(url, json=payload, headers=headers)
response_json = response.json()
print(response_json)

New Request for a Provider

Gather your your Provider's ID. If you did not saved your Provider's ID, you can use the GET Providers endpoint with a search to find them again, e.g. with requests.get(providers_url, params={"search": "[email protected]"}, headers=headers) . Then set provider with this ID.

If you are using the Medallion API Platform UI, please select NewProviderPayerEnrollmentServiceRequest body parameter.

import requests

headers = {
    "accept": "application/json",
    "content-type": "application/json",
    "x-api-key": "<YOUR_API_KEY>"
}

provider = "<PROVIDER_ID>"
state = "<YOUR_PAYER_STATE>"
payer_name = "<YOUR_PAYER_NAME>"
payer_id= "<YOUR_PAYER_ID>" #set if you know

is_medallion_owned = True #True if the request will be owned by Medallion, False if owned by your org
resourcetype= "NewProviderPayerEnrollmentServiceRequest"

#lines_of_business and practices are optional
lines_of_business = [{ "id": "<LINE_OF_BUSINESS_ID>" }, { "id": "<LINE_OF_BUSINESS_ID>" }]
practices = [
        {
            "id": "<PRACTICE_ID>",
            "name": "<PRACTICE_NAME>",
            "country": "<PRACTICE_COUNTRY>",
        },
        {
        "id": "<PRACTICE_ID>",
        }
    ]

url = "https://app.medallion.co/p/api/v1/service-requests/payer-enrollments/"

payload = {
    "provider":provider,
    "state":state,
    "payer_name":payer_name,
    "payer_id":payer_id,
    "is_medallion_owned": is_medallion_owned,
    "resourcetype": resourcetype,
    "lines_of_business":lines_of_business,
    "practices":practices
}

response = requests.post(url, json=payload, headers=headers)
response_json = response.json()
print(response_json)