Sandbox
Build and test your pharmacy benefit check against a test insurer and test members whose answers never change, with no real patient involved.
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.
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 member | Member ID | What every request gets |
|---|---|---|
| Mei Lin | EX0000001 | The formulary table's answer for the medication |
| Daniel Reyes | EX-DECLINED | The insurer declines the request, whatever the medication |
| Anyone else, for example Jane Doe | EX0000099 | An error: no test member matched |
Medications
| Medication | Outcome | The answer |
|---|---|---|
lisinopril 5 MG Oral Tablet RxNorm 311354 · NDC 00093111210 | Priced with a copay | Covered. Copay $10, total $10. |
atorvastatin 20 MG Oral Tablet RxNorm 617310 · NDC 00093505910 | Covered at $0, with an alternative | Covered. 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 alternative | Not 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 required | Prior 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 limit | Quantity limit applies (9 tablets per 30 days). Copay $10, total $10. |
| Any other medication | Priced with a copay | Covered. 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
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