Skip to main content
Python
import requests

url = 'https://api.simplex.sh/pa_fax_get_clinical_questions'
headers = {
    'Authorization': 'Bearer your_api_key_here'
}
params = {
    'icd_code': 'E66.01',
    'drug_name': 'wegovy',
    'bin': '003858',
    'state': 'CA'
}

response = requests.get(url, headers=headers, params=params)
result = response.json()
print(f"LOB: {result['lob_id']} ({result['coverage_status']})")
if result['coverage_status'] == 'resolved':
    for q in result['questions']:
        print(f"{q['id']}: {q['prompt']} [{q['input_type']}]")
        for opt in q.get('options', []):
            print(f"    - {opt}")
{
  "coverage_status": "resolved",
  "icd_code": "<string>",
  "questions": [
    {
      "id": "<string>",
      "prompt": "<string>",
      "input_type": "boolean",
      "units": "<string>",
      "options": [
        "<string>"
      ],
      "depends_on": [
        "<string>"
      ],
      "source": "<string>"
    }
  ],
  "lob_id": "<string>",
  "rationale": "<string>"
}
Returns the clinical questions that must be answered on the prior authorization fax form for a given diagnosis. icd_code is required — it drives the question set. bin, pcn, group, and state are optional but improve the resolver’s accuracy when the payer has plan-specific question variants.
Supply at least one or two of bin, pcn, group, or state alongside icd_code for best results. Without any plan identifiers, the resolver falls back to the default question set for the diagnosis.

Authorizations

X-API-Key
string
header
required

Simplex API Key

Query Parameters

icd_code
string
required

Exact ICD-10 diagnosis code (e.g. "E11.9"). Drives which clinical question set is returned. Use the Search ICD Codes endpoint to resolve a fuzzy diagnosis first.

bin
string

Pharmacy BIN from the patient's insurance card (e.g. "003858"). Optional, but strongly improves resolver accuracy. At least one of bin, pcn, group, or state is recommended.

pcn
string

Processor Control Number from the patient's insurance card (e.g. "A4"). Optional.

group
string

Group number from the patient's insurance card (e.g. "RXINN01"). Optional.

state
string

Two-letter state code where the prescription will be filled (e.g. "CA"). Optional.

drug_name
string
required

Drug brand or generic name (e.g. "wegovy", "semaglutide", "zepbound", "mounjaro"). Required — drives which clinical schema is loaded. Matched case-insensitively on substring.

Response

200 - application/json

Get clinical questions response

coverage_status
enum<string>
required

resolved: LOB identified, questions rendered. ambiguous: multiple LOBs match — supply more identifiers. not_covered: drug not covered by this LOB. unknown_lob: drug has a schema but no matching LOB. not_attempted: drug_name didn't map to a drug with a clinical schema.

Available options:
resolved,
ambiguous,
not_covered,
unknown_lob,
not_attempted
icd_code
string
required

The ICD-10 code the questions were resolved for (echoed from the request).

questions
object[]
required

Rendered clinical questions in presentation order. Empty when coverage_status is not resolved.

lob_id
string

Resolved line-of-business ID (e.g. "caremark_commercial_2025"). Null when coverage_status is not resolved.

rationale
string

Human-readable explanation of the resolution (which LOB won, or why one couldn't be chosen).