> ## Documentation Index
> Fetch the complete documentation index at: https://docs.medera.info/llms.txt
> Use this file to discover all available pages before exploring further.

# Prior Authorization Agent

> Evidence-based PA across a 17-state workflow.

<div style={{ display: "inline-flex", alignItems: "center", justifyContent: "center", width: 76, height: 76, border: "1px solid rgba(20,20,19,0.08)", background: "#ffffff", marginBottom: 16 }}>
  <svg width="42" height="42" viewBox="0 0 16 16" shapeRendering="crispEdges" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
    <rect x="4" y="2" width="8" height="1" fill="#141413" />

    <rect x="3" y="3" width="1" height="7" fill="#141413" />

    <rect x="12" y="3" width="1" height="7" fill="#141413" />

    <rect x="4" y="10" width="1" height="1" fill="#141413" />

    <rect x="11" y="10" width="1" height="1" fill="#141413" />

    <rect x="5" y="11" width="1" height="1" fill="#141413" />

    <rect x="10" y="11" width="1" height="1" fill="#141413" />

    <rect x="6" y="12" width="4" height="1" fill="#141413" />

    <rect x="7" y="13" width="2" height="1" fill="#141413" />

    <rect x="5" y="7" width="1" height="1" fill="#76a1fc" />

    <rect x="6" y="8" width="1" height="1" fill="#76a1fc" />

    <rect x="7" y="7" width="1" height="1" fill="#76a1fc" />

    <rect x="8" y="6" width="1" height="1" fill="#76a1fc" />

    <rect x="9" y="5" width="1" height="1" fill="#76a1fc" />

    <rect x="10" y="4" width="1" height="1" fill="#76a1fc" />
  </svg>
</div>

<Info>
  **Category:** Clinical Operations  ·  **Voice agent:** PA Specialist (`agent type.PA_SPECIALIST`)
</Info>

The Prior Authorization Agent drives the PA lifecycle through a 17-state workflow with payer-specific rules and multi-channel submission. Voice agent The PA Specialist handles outbound peer-to-peer and status calls.

## Workflow states

<Frame>
  <svg viewBox="0 0 720 520" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="medera/pa-workflow.svg" style={{ width: '100%', height: 'auto', display: 'block', maxWidth: '780px', margin: '24px auto' }}><defs><pattern id="mdr-dots" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse"><circle cx="1" cy="1" r="1" fill="rgba(0,0,0,0.08)" /></pattern></defs><rect x="0" y="0" width="720" height="520" fill="#ffffff" /><rect x="0" y="0" width="720" height="32" fill="#141413" /><circle cx="14" cy="16" r="3" fill="#ff5f57" /><circle cx="26" cy="16" r="3" fill="#febc2e" /><circle cx="38" cy="16" r="3" fill="#28c840" /><text x="54" y="20" fill="#9a9893" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="11" fontWeight="500">medera/pa-workflow\.svg</text><text x="706" y="20" textAnchor="end" fill="#9a9893" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="10">17-state PA workflow</text><rect x="0" y="32" width="720" height="488" fill="#fafaf6" /><rect x="0" y="32" width="720" height="488" fill="url(#mdr-dots)" /><rect x="0.5" y="0.5" width="719" height="519" fill="none" stroke="#141413" strokeOpacity="0.18" /><text x="360.0" y="56" textAnchor="middle" fill="#141413" fontFamily="Inter, sans-serif" fontSize="15" fontWeight="600">Prior authorization · 17-state workflow</text><rect x="76.0" y="93.0" width="84" height="34" fill="#ffffff" stroke="rgba(0,0,0,0.08)" strokeWidth="1" /><text x="118.0" y="114" textAnchor="middle" fill="#141413" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="9" fontWeight="600">PA\_INITIATED</text><line x1="156.0" y1="110" x2="162.0" y2="110" stroke="rgba(20,20,19,0.40)" strokeWidth="1.5" /><polygon points="162.0,106 162.0,114 168.0,110" fill="rgba(20,20,19,0.25)" /><rect x="176.0" y="93.0" width="122" height="34" fill="#ffffff" stroke="rgba(0,0,0,0.08)" strokeWidth="1" /><text x="237.0" y="114" textAnchor="middle" fill="#141413" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="9" fontWeight="600">CRITERIA\_EVALUATION</text><line x1="294.0" y1="110" x2="300.0" y2="110" stroke="rgba(20,20,19,0.40)" strokeWidth="1.5" /><polygon points="300.0,106 300.0,114 306.0,110" fill="rgba(20,20,19,0.25)" /><rect x="314.0" y="93.0" width="117" height="34" fill="#ffffff" stroke="rgba(0,0,0,0.08)" strokeWidth="1" /><text x="372.5" y="114" textAnchor="middle" fill="#141413" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="9" fontWeight="600">CRITERIA\_EVALUATED</text><line x1="427.0" y1="110" x2="433.0" y2="110" stroke="rgba(20,20,19,0.40)" strokeWidth="1.5" /><polygon points="433.0,106 433.0,114 439.0,110" fill="rgba(20,20,19,0.25)" /><rect x="447.0" y="93.0" width="101" height="34" fill="#ffffff" stroke="rgba(0,0,0,0.08)" strokeWidth="1" /><text x="497.5" y="114" textAnchor="middle" fill="#141413" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="9" fontWeight="600">DOCUMENTS\_READY</text><line x1="544.0" y1="110" x2="550.0" y2="110" stroke="rgba(20,20,19,0.40)" strokeWidth="1.5" /><polygon points="550.0,106 550.0,114 556.0,110" fill="rgba(20,20,19,0.25)" /><rect x="564.0" y="93.0" width="80" height="34" fill="#ffffff" stroke="rgba(0,0,0,0.08)" strokeWidth="1" /><text x="604.0" y="114" textAnchor="middle" fill="#141413" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="9" fontWeight="600">SUBMITTED</text><path d="M 660 127.0 Q 672 142.0 660 157.0 L 60 157.0 Q 48 172.0 60 187.0" stroke="rgba(20,20,19,0.40)" strokeWidth="1.5" fill="none" /><rect x="168.5" y="187.0" width="80" height="34" fill="#ffffff" stroke="rgba(0,0,0,0.08)" strokeWidth="1" /><text x="208.5" y="208" textAnchor="middle" fill="#141413" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="9" fontWeight="600">IN\_REVIEW</text><line x1="244.5" y1="204" x2="250.5" y2="204" stroke="rgba(20,20,19,0.40)" strokeWidth="1.5" /><polygon points="250.5,200 250.5,208 256.5,204" fill="rgba(20,20,19,0.25)" /><rect x="264.5" y="187.0" width="80" height="34" fill="#ffffff" stroke="rgba(0,0,0,0.08)" strokeWidth="1" /><text x="304.5" y="208" textAnchor="middle" fill="#141413" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="9" fontWeight="600">PENDED</text><line x1="340.5" y1="204" x2="346.5" y2="204" stroke="rgba(20,20,19,0.40)" strokeWidth="1.5" /><polygon points="346.5,200 346.5,208 352.5,204" fill="rgba(20,20,19,0.25)" /><rect x="360.5" y="187.0" width="95" height="34" fill="#ffffff" stroke="rgba(0,0,0,0.08)" strokeWidth="1" /><text x="408.0" y="208" textAnchor="middle" fill="#141413" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="9" fontWeight="600">INFO\_REQUESTED</text><line x1="451.5" y1="204" x2="457.5" y2="204" stroke="rgba(20,20,19,0.40)" strokeWidth="1.5" /><polygon points="457.5,200 457.5,208 463.5,204" fill="rgba(20,20,19,0.25)" /><rect x="471.5" y="187.0" width="80" height="34" fill="#76a1fc" stroke="#4f7be0" strokeWidth="1" /><text x="511.5" y="208" textAnchor="middle" fill="#ffffff" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="9" fontWeight="700">APPROVED</text><text x="360.0" y="200" textAnchor="middle" fill="#5c5c5a" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="10">On denial</text><line x1="360.0" y1="210" x2="360.0" y2="222" stroke="rgba(20,20,19,0.40)" strokeWidth="1.5" /><polygon points="356.0,222 364.0,222 360.0,228" fill="rgba(20,20,19,0.25)" /><rect x="176.0" y="253.0" width="80" height="34" fill="#ffffff" stroke="rgba(0,0,0,0.08)" strokeWidth="1" /><text x="216.0" y="274" textAnchor="middle" fill="#141413" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="9" fontWeight="600">DENIED</text><line x1="252.0" y1="270" x2="258.0" y2="270" stroke="rgba(20,20,19,0.40)" strokeWidth="1.5" /><polygon points="258.0,266 258.0,274 264.0,270" fill="rgba(20,20,19,0.25)" /><rect x="272.0" y="253.0" width="80" height="34" fill="#ffffff" stroke="rgba(0,0,0,0.08)" strokeWidth="1" /><text x="312.0" y="274" textAnchor="middle" fill="#141413" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="9" fontWeight="600">APPEAL</text><line x1="348.0" y1="270" x2="354.0" y2="270" stroke="rgba(20,20,19,0.40)" strokeWidth="1.5" /><polygon points="354.0,266 354.0,274 360.0,270" fill="rgba(20,20,19,0.25)" /><rect x="368.0" y="253.0" width="80" height="34" fill="#ffffff" stroke="rgba(0,0,0,0.08)" strokeWidth="1" /><text x="408.0" y="274" textAnchor="middle" fill="#141413" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="9" fontWeight="600">P2P</text><line x1="444.0" y1="270" x2="450.0" y2="270" stroke="rgba(20,20,19,0.40)" strokeWidth="1.5" /><polygon points="450.0,266 450.0,274 456.0,270" fill="rgba(20,20,19,0.25)" /><rect x="464.0" y="253.0" width="80" height="34" fill="#ffffff" stroke="rgba(0,0,0,0.08)" strokeWidth="1" /><text x="504.0" y="274" textAnchor="middle" fill="#141413" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="9" fontWeight="600">OVERTURNED</text><path d="M 660 287.0 Q 672 302.0 660 317.0 L 60 317.0 Q 48 332.0 60 347.0" stroke="rgba(20,20,19,0.40)" strokeWidth="1.5" fill="none" /><rect x="176.0" y="347.0" width="80" height="34" fill="#ffffff" stroke="rgba(0,0,0,0.08)" strokeWidth="1" /><text x="216.0" y="368" textAnchor="middle" fill="#141413" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="9" fontWeight="600">EXPIRED</text><line x1="252.0" y1="364" x2="258.0" y2="364" stroke="rgba(20,20,19,0.40)" strokeWidth="1.5" /><polygon points="258.0,360 258.0,368 264.0,364" fill="rgba(20,20,19,0.25)" /><rect x="272.0" y="347.0" width="80" height="34" fill="#ffffff" stroke="rgba(0,0,0,0.08)" strokeWidth="1" /><text x="312.0" y="368" textAnchor="middle" fill="#141413" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="9" fontWeight="600">WITHDRAWN</text><line x1="348.0" y1="364" x2="354.0" y2="364" stroke="rgba(20,20,19,0.40)" strokeWidth="1.5" /><polygon points="354.0,360 354.0,368 360.0,364" fill="rgba(20,20,19,0.25)" /><rect x="368.0" y="347.0" width="80" height="34" fill="#ffffff" stroke="rgba(0,0,0,0.08)" strokeWidth="1" /><text x="408.0" y="368" textAnchor="middle" fill="#141413" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="9" fontWeight="600">CLOSED</text><line x1="444.0" y1="364" x2="450.0" y2="364" stroke="rgba(20,20,19,0.40)" strokeWidth="1.5" /><polygon points="450.0,360 450.0,368 456.0,364" fill="rgba(20,20,19,0.25)" /><rect x="464.0" y="347.0" width="80" height="34" fill="#ffffff" stroke="rgba(0,0,0,0.08)" strokeWidth="1" /><text x="504.0" y="368" textAnchor="middle" fill="#141413" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="9" fontWeight="600">ARCHIVED</text><text x="360.0" y="360" textAnchor="middle" fill="#141413" fontFamily="Inter, sans-serif" fontSize="12" fontWeight="600">Submission channels</text><rect x="67.0" y="382.0" width="74" height="28" fill="#76a1fc" stroke="none" strokeWidth="1" /><text x="104.0" y="400.2" textAnchor="middle" fill="#ffffff" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="10" fontWeight="600">EPA\_API</text><rect x="177.0" y="382.0" width="110" height="28" fill="#ffffff" stroke="rgba(0,0,0,0.08)" strokeWidth="1" /><text x="232.0" y="400.2" textAnchor="middle" fill="#141413" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="10" fontWeight="600">CLEARINGHOUSE</text><rect x="326.0" y="382.0" width="68" height="28" fill="#ffffff" stroke="rgba(0,0,0,0.08)" strokeWidth="1" /><text x="360.0" y="400.2" textAnchor="middle" fill="#141413" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="10" fontWeight="600">PORTAL</text><rect x="463.0" y="382.0" width="50" height="28" fill="#ffffff" stroke="rgba(0,0,0,0.08)" strokeWidth="1" /><text x="488.0" y="400.2" textAnchor="middle" fill="#141413" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="10" fontWeight="600">FAX</text><rect x="582.0" y="382.0" width="68" height="28" fill="#ffffff" stroke="rgba(0,0,0,0.08)" strokeWidth="1" /><text x="616.0" y="400.2" textAnchor="middle" fill="#141413" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="10" fontWeight="600">MANUAL</text><text x="360.0" y="460" textAnchor="middle" fill="#5c5c5a" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="10">Same state machine across every channel · per-payer rules · evidence-anchored</text></svg>
</Frame>

## Payer rules

stores rules for 10 payers (`PayerId` enum): `CARELON_ANTHEM`, `OPTUM_BH`, `MAGELLAN`, `EVERNORTH`, `UNITED_HEALTHCARE`, `AETNA`, `CIGNA`, `BLUE_CROSS`, `MEDICAID`, `MEDICARE`. returns:

| Field          | Values                                                          |
| :------------- | :-------------------------------------------------------------- |
| Recommendation | `AUTO_APPROVE`, `LIKELY_APPROVE`, `NEEDS_REVIEW`, `LIKELY_DENY` |
| Match result   | `ALL_MET`, `MOSTLY_MET`, `PARTIALLY_MET`, `NOT_MET`             |

## Document generators

| Document type             | Producer |
| :------------------------ | :------- |
| `MEDICAL_NECESSITY`       |          |
| `CLINICAL_SUMMARY`        |          |
| `TREATMENT_PLAN`          |          |
| `ASSESSMENT`              |          |
| `PROGRESS_NOTE`           |          |
| `DISCHARGE_SUMMARY`       |          |
| X-12 EDI 278 (PA request) |          |

## Submission channels Channel priority :

<Frame>
  <svg viewBox="0 0 720 280" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="medera/pa-channels.svg" style={{ width: '100%', height: 'auto', display: 'block', maxWidth: '780px', margin: '24px auto' }}><defs><pattern id="mdr-dots" x="0" y="0" width="10" height="10" patternUnits="userSpaceOnUse"><circle cx="1" cy="1" r="1" fill="rgba(0,0,0,0.08)" /></pattern></defs><rect x="0" y="0" width="720" height="280" fill="#ffffff" /><rect x="0" y="0" width="720" height="32" fill="#141413" /><circle cx="14" cy="16" r="3" fill="#ff5f57" /><circle cx="26" cy="16" r="3" fill="#febc2e" /><circle cx="38" cy="16" r="3" fill="#28c840" /><text x="54" y="20" fill="#9a9893" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="11" fontWeight="500">medera/pa-channels.svg</text><text x="706" y="20" textAnchor="end" fill="#9a9893" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="10">submission channels</text><rect x="0" y="32" width="720" height="248" fill="#fafaf6" /><rect x="0" y="32" width="720" height="248" fill="url(#mdr-dots)" /><rect x="0.5" y="0.5" width="719" height="279" fill="none" stroke="#141413" strokeOpacity="0.18" /><text x="360.0" y="56" textAnchor="middle" fill="#141413" fontFamily="Inter, sans-serif" fontSize="15" fontWeight="600">Submission channel priority</text><text x="360.0" y="76" textAnchor="middle" fill="#5c5c5a" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="11">highest available channel selected at submission time</text><rect x="47.0" y="110" width="114.0" height="80" fill="#76a1fc" stroke="#4f7be0" strokeWidth="1" /><text x="104.0" y="142" textAnchor="middle" fill="#ffffff" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="11" fontWeight="700">EPA\_API</text><text x="104.0" y="160" textAnchor="middle" fill="#dbe5ff" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="9">preferred · automated</text><text x="104.0" y="176" textAnchor="middle" fill="#ffffff" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="8" fontWeight="700" letterSpacing="1.8">PRIMARY</text><line x1="167.0" y1="150" x2="165.0" y2="150" stroke="rgba(20,20,19,0.40)" strokeWidth="1.5" /><polygon points="165.0,146 165.0,154 171.0,150" fill="rgba(20,20,19,0.25)" /><rect x="175.0" y="110" width="114.0" height="80" fill="#dbe5ff" stroke="#76a1fc" strokeWidth="1" /><text x="232.0" y="142" textAnchor="middle" fill="#141413" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="11" fontWeight="700">CLEARINGHOUSE</text><text x="232.0" y="160" textAnchor="middle" fill="#4f7be0" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="9">automated · async</text><text x="232.0" y="176" textAnchor="middle" fill="#4f7be0" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="8" fontWeight="700" letterSpacing="1.8">SECONDARY</text><line x1="295.0" y1="150" x2="293.0" y2="150" stroke="rgba(20,20,19,0.40)" strokeWidth="1.5" /><polygon points="293.0,146 293.0,154 299.0,150" fill="rgba(20,20,19,0.25)" /><rect x="303.0" y="110" width="114.0" height="80" fill="#ffffff" stroke="rgba(0,0,0,0.08)" strokeWidth="1" /><text x="360.0" y="142" textAnchor="middle" fill="#141413" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="11" fontWeight="700">PORTAL</text><text x="360.0" y="160" textAnchor="middle" fill="#5c5c5a" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="9">agent-driven</text><text x="360.0" y="176" textAnchor="middle" fill="#5c5c5a" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="8" fontWeight="700" letterSpacing="1.8">FALLBACK</text><line x1="423.0" y1="150" x2="421.0" y2="150" stroke="rgba(20,20,19,0.40)" strokeWidth="1.5" /><polygon points="421.0,146 421.0,154 427.0,150" fill="rgba(20,20,19,0.25)" /><rect x="431.0" y="110" width="114.0" height="80" fill="#ffffff" stroke="rgba(0,0,0,0.08)" strokeWidth="1" /><text x="488.0" y="142" textAnchor="middle" fill="#141413" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="11" fontWeight="700">FAX</text><text x="488.0" y="160" textAnchor="middle" fill="#5c5c5a" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="9">agent-driven</text><text x="488.0" y="176" textAnchor="middle" fill="#5c5c5a" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="8" fontWeight="700" letterSpacing="1.8">FALLBACK</text><line x1="551.0" y1="150" x2="549.0" y2="150" stroke="rgba(20,20,19,0.40)" strokeWidth="1.5" /><polygon points="549.0,146 549.0,154 555.0,150" fill="rgba(20,20,19,0.25)" /><rect x="559.0" y="110" width="114.0" height="80" fill="#ffffff" stroke="rgba(0,0,0,0.08)" strokeWidth="1" /><text x="616.0" y="142" textAnchor="middle" fill="#141413" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="11" fontWeight="700">MANUAL</text><text x="616.0" y="160" textAnchor="middle" fill="#5c5c5a" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="9">human-in-the-loop</text><text x="616.0" y="176" textAnchor="middle" fill="#5c5c5a" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="8" fontWeight="700" letterSpacing="1.8">FALLBACK</text><text x="360.0" y="230" textAnchor="middle" fill="#5c5c5a" fontFamily="ui-monospace, SFMono-Regular, Menlo, monospace" fontSize="10">Same state machine across every channel · per-payer rules · evidence-anchored</text></svg>
</Frame>

## Endpoints

| Method | Path (Backend)                            | Path (AI Services)             |
| :----- | :---------------------------------------- | :----------------------------- |
| POST   | `/api/prior-auth/evaluate`                | `/api/pa/evaluate`             |
| POST   | `/api/prior-auth/evaluate/quick`          | `/api/pa/evaluate/quick`       |
| POST   | `/api/prior-auth/requests`                | `/api/pa/requests`             |
| GET    | `/api/prior-auth/requests/{id}`           | `/api/pa/requests/{id}`        |
| POST   | `/api/prior-auth/requests/{id}/submit`    | `/api/pa/requests/{id}/submit` |
| POST   | `/api/prior-auth/requests/{id}/appeal`    | `/api/pa/requests/{id}/appeal` |
| GET    | `/api/prior-auth/payers`                  | `/api/pa/payers`               |
| GET    | `/api/prior-auth/payers/{id}/rules`       | `/api/pa/payers/{id}/rules`    |
| POST   | `/api/prior-auth/documents/generate`      | `/api/pa/documents/generate`   |
| GET    | `/api/prior-auth/channels`                | `/api/pa/channels`             |
| POST   | `/api/prior-auth/webhooks/payer-response` | `/api/pa/webhooks/status`      |
| POST   | —                                         | `/api/pa/coding-suggest`       |

## Real-time coding suggestion

runs during intake to flag PA-required codes. Detected CPT: `90832`, `90834`, `90837`, `99213`, `99214`, `99215`, `96127`. Detected ICD-10: `F32.1`, `F33.1`, `F41.1`, `F43.10`, `F11.20`. Each suggestion includes `pa_required`, `pa_urgency`, `payer_policy_url`, `evidence_excerpt`.

## Composable experts

| Expert                      | Role                               |
| :-------------------------- | :--------------------------------- |
| **PubMed Expert**           | Peer-reviewed evidence             |
| **Payer Policy Expert**     | Carrier-specific rules + formulary |
| **Clinical Scoring Expert** | PHQ-9, GAD-7, validated scores     |
| **Medical Coding Expert**   | ICD-10 + procedure code validation |

## Compliance guarantees

<Warning>
  * Every PA letter carries explicit citations to chart and payer policy. - Letters are submitted only after clinician approval. - Payer webhooks are verified with per-payer HMAC secrets.
</Warning>

***

## Related

<CardGroup cols={2}>
  <Card title="Quickstart" icon="https://mintcdn.com/medera-357fd587/n1mgcc3nR2sq_PoL/icons/ui/zap.svg?fit=max&auto=format&n=n1mgcc3nR2sq_PoL&q=85&s=279c57d41af922abbba25c4afddfc3fe" href="/quickstart/prior-auth" width="40" height="40" data-path="icons/ui/zap.svg">
    Generate your first PA letter.
  </Card>

  <Card title="PA API" icon="https://mintcdn.com/medera-357fd587/n1mgcc3nR2sq_PoL/icons/ui/terminal.svg?fit=max&auto=format&n=n1mgcc3nR2sq_PoL&q=85&s=a54c23f663622840fa7b900ec04462a5" href="/api-reference/pa/initiate" width="40" height="40" data-path="icons/ui/terminal.svg">
    REST surface.
  </Card>

  <Card title="Denial Appeals" icon="https://mintcdn.com/medera-357fd587/n1mgcc3nR2sq_PoL/icons/ui/undo.svg?fit=max&auto=format&n=n1mgcc3nR2sq_PoL&q=85&s=c51a77eb19d96b00093f62df6a32c5f5" href="/agentic/agents/denial-appeals" width="40" height="40" data-path="icons/ui/undo.svg">
    Appeal lifecycle.
  </Card>

  <Card title="Eligibility" icon="https://mintcdn.com/medera-357fd587/iC-6rAuwl-0aQSw_/icons/ui/badge-check.svg?fit=max&auto=format&n=iC-6rAuwl-0aQSw_&q=85&s=56e825a4617429f1459f14dd9ee0d798" href="/agentic/agents/eligibility-verification" width="40" height="40" data-path="icons/ui/badge-check.svg">
    Pre-visit benefits.
  </Card>
</CardGroup>
