haau3platform
ProductsPricingDocs
Sign inGet started
All products

Sandbox

Build and test your pharmacy benefit check against a test insurer and test members whose answers never change, with no real patient involved.

POSTapi.haau3.com/v1/sandbox/fhir/r4/$process-message
Get started free

The haau3 platform API is in preview: it may change as we build, usually to add features or improve performance. Every API on the platform today is included in every plan. Free to start on the Developer plan.

api.haau3.com

Request

POST /v1/sandbox/fhir/r4/$process-message
{
  "resourceType": "Bundle",
  "type": "message",
  "entry": [
    { "resource": {
        "resourceType": "MessageHeader",
        "eventCoding": { "code": "rtpbc-request" } } },
    { "resource": {
        "resourceType": "Claim",
        "item": [{ "productOrService": { "coding": [{
          "code": "311354",
          "display": "lisinopril 5 MG Oral Tablet" }] } }] } },
    { "resource": {
        "resourceType": "Coverage",
        "subscriberId": "EX0000001",
        "payor": [{ "display": "Example Health Plan" }] } }
  ]
}

Response

{
  "resourceType": "Bundle",
  "type": "message",
  "entry": [{
    "resource": {
      "resourceType": "ClaimResponse",
      "insurer": { "display": "Example Health Plan" },
      "outcome": "complete",
      "item": [{
        "extension": [{
          "url":
            "http://hl7.org/fhir/us/carin-rtpbc/StructureDefinition/rtpbc-benefitRestriction",
          "valueCoding": {
            "code": "covered",
            "display": "Covered" } }],
        "adjudication": [
          { "category": { "coding": [{
              "code": "copay", "display": "Copay" }] },
            "amount": { "value": 10, "currency": "USD" } },
          { "category": { "coding": [{
              "code": "total",
              "display": "Total patient responsibility" }] },
            "amount": { "value": 10, "currency": "USD" } }
        ]
      }]
    }
  }]
}

Every answer, from one table.

Example Health Plan, a test insurer, answers each test member the same way every time. A request names a test member and a medication, and the tables say what comes back.

Test members

Test memberMember IDWhat every request gets
Mei LinEX0000001The formulary table's answer for the medication
Daniel ReyesEX-DECLINEDThe insurer declines the request, whatever the medication
Anyone else, for example Jane DoeEX0000099An error: no test member matched

Medications

MedicationOutcomeThe answer

lisinopril 5 MG Oral Tablet

RxNorm 311354 · NDC 00093111210

Priced with a copayCovered. Copay $10, total $10.

atorvastatin 20 MG Oral Tablet

RxNorm 617310 · NDC 00093505910

Covered at $0, with an alternativeCovered. Copay $0, total $0. Alternative: rosuvastatin calcium 10 MG Oral Tablet. Covered. Copay $0, total $0.

sofosbuvir 400 MG / velpatasvir 100 MG Oral Tablet [Epclusa]

RxNorm 1799218 · NDC 61958220101

Not covered, with an alternativeNot covered. Eligible amount $0. Alternative: elbasvir 50 MG / grazoprevir 100 MG Oral Tablet [Zepatier]. Prior authorization required and quantity limit applies (28 tablets per month). Copay $405, coinsurance $469, total $874.

fluoxetine 10 MG Oral Capsule [Prozac]

RxNorm 205535 · NDC 00777310402

Prior authorization requiredPrior authorization required. Copay $40, coinsurance $30, total $70. Alternative: fluoxetine 10 MG Oral Capsule. Covered. Copay $10, total $10.

sumatriptan 50 MG Oral Tablet

RxNorm 313161 · NDC 00378563159

Quantity limitQuantity limit applies (9 tablets per 30 days). Copay $10, total $10.
Any other medicationPriced with a copayCovered. Copay $15, total $15.

What it does

  • Two test members and a published table of medications, each with one answer that never changes
  • Priced with a copay, covered at $0 with an alternative, not covered, prior authorization and a quantity limit
  • A declined request and someone who is not a test member, answered as an insurer answers, so your app can handle both
  • The CARIN request and answer as the STU2 ballot specifies them
  • Synthetic only: no real person's data, and nothing a request carries is stored or logged

Built on

FHIR R4CARIN Real-Time Pharmacy Benefit Check

The Sandbox answers the CARIN Consumer Real-Time Pharmacy Benefit Check with synthetic data, at the same paths as the platform's FHIR base with /sandbox in front. Example Health Plan, a test insurer, answers for a small cast of test members, and each medication in its published table always gets the same answer, so a test suite can rely on it. Send test members only, never a real person: anyone else gets an error, and nothing a request carries is stored or logged.

Start building today

Detailed developer docs live at docs.haau3.com.

Open-source SDKs for TypeScript, Python and Go cover every endpoint. SDK docs

Get started free
haau3platform

Clinical informatics, as an API.

Products

  • Scheduling
  • MedList
  • Medical Benefits
  • Provider Directory
  • Terminology
  • Questionnaires
  • Structured Sig
  • Sandbox

Platform

  • Pricing
  • Roadmap
  • Docs
  • Contact

Legal

  • Terms
  • Privacy
  • Security

© 2026 haau3. All rights reserved.

A haau3 product