Construct a PAS Bundle: a ClaimResponse-referenced Claim resource (type = 'preauthorization') containing patient, insurer, provider, and item details with X12 278-equivalent data mapped to FHIR elements using the PAS profiles
POST the Bundle to the payer's or intermediary's '$submit' operation endpoint; include the Authorization header with YOUR_TOKEN obtained via SMART backend services or OAuth2 client credentials
Inspect the synchronous ClaimResponse: outcome 'complete' with adjudication.category = 'submitted' and item.adjudication indicating approved/denied/pended; extract the preAuthRef string for approved items
If outcome is 'queued' (pended), the payer will send an unsolicited response later; implement a FHIR Subscription or polling loop on the ClaimResponse resource using the id returned in the response location header
For a denied response parse the ClaimResponse.error and ClaimResponse.item.adjudication.reason CodeableConcepts; map reason codes to CARC/RARC equivalents for display and appeal workflow
Attach the ClaimResponse.preAuthRef values to the downstream 837 claim in REF*G1 segments to avoid claim denial for missing authorization
Known gotchas
PAS profiles impose strict Must Support requirements on the Claim resource; missing elements like Claim.insurance.coverage or Claim.item.productOrService.extension for X12 service type will cause the intermediary to reject the $submit operation with an OperationOutcome
The PAS FHIR operation translates internally to X12 278 at the clearinghouse or payer gateway; mapping errors between FHIR and X12 representations (e.g., incorrect service type codes) may not surface until the X12 layer processes the request
Not all payers support the PAS FHIR API natively; many route through an intermediary (e.g., a clearinghouse) that performs the FHIR-to-278 translation — confirm with the payer whether you are connecting to a native FHIR endpoint or an intermediary
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp