The systems your business actually runs on: built, modernized, integrated, and made AI-ready. For healthcare and other regulated industries in the US and EU.
A hosted Da Vinci reference-implementation-backed mock payer, synthetic data only, that runs the
full CRD → DTR → PAS cycle — so you can test your prior-authorization client against a
real counterparty before any live payer will give you access.
Sign up with your work email — a magic link, no password, gets you a bearer token and a synthetic patient in under a minute.
Run a CRD hook against a scenario fixture and get back a card flagging that prior authorization is required.
Fetch the DTR questionnaire the CRD card pointed at — pre-filled from the fixture's US Core data, with the rest left for the clinician.
Submit the PAS request and get back approved, denied with a reason, or pended.
Poll the pended one for a status update, the same way your product would instead of picking up a phone.
What it looks like
Scenario catalog — every clinical module the sandbox ships, filterable by outcome.An expanded scenario — CRD → DTR → PAS steps, with a run button and curl for each.Request inspector — a logged PAS submit call, 200 response, full JSON body.
Try a request
The sandbox requires a bearer token — no live payer lets untrusted code near production either, so this one
doesn't pretend to. Run this first, before you have a token, and you'll get this back — the live server's
actual response to an unauthenticated call, captured 5 September 2026:
# No token yet — verified live response:
$ curl -s https://fhir-sandbox.greenice.net/api/crd/scenarios/prior-auth-required/hooks/order-sign
{"resourceType":"OperationOutcome","issue":[{"severity":"error","code":"login",
"diagnostics":"Missing bearer token. Get one at /signup."}]}
Sign up below for a token (free, under a minute), then run these three requests — CRD hook, then the DTR
questionnaire it points at, then the PAS submission. Each one feeds the next:
# after signup:
export TOKEN=<your token, from the dashboard>
export BASE=https://fhir-sandbox.greenice.net
# 1) CRD: does this order need prior auth?
curl -s "$BASE/api/crd/scenarios/prior-auth-required/hooks/order-sign" \
-H "Authorization: Bearer $TOKEN" -o hook-request.json
curl -s -X POST "$BASE/cds-services/order-sign-crd" \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d @hook-request.json | tee crd-response.json
# 2) DTR: fetch the questionnaire package the CRD response pointed at
curl -s "$BASE/api/dtr/scenarios/prior-auth-required/variants/prior-auth-required-canonical" \
-H "Authorization: Bearer $TOKEN" -o dtr-request.json
curl -s -X POST "$BASE/fhir/Questionnaire/\$questionnaire-package" \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/fhir+json" \
-d @dtr-request.json | tee dtr-response.json
# 3) PAS: submit, see the decision
curl -s "$BASE/api/pas/scenarios/prior-auth-required/variants/prior-auth-required-initial" \
-H "Authorization: Bearer $TOKEN" -o pas-request.json
curl -s -X POST "$BASE/fhir/Claim/\$submit" \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/fhir+json" \
-d @pas-request.json | tee pas-response.json
Response shape, per the CDS Hooks / Da Vinci CRD spec — the sandbox's actual card text, summary and links
will differ by scenario, and every call you make is logged in full in the request inspector:
Prefer to click instead of copy-paste exact ids? The scenario catalog below has a run-in-browser button for every module, and every call still shows up in the inspector.
Limits
Synthetic data only — every patient, coverage, and claim is a test fixture. Don't send real patient data (PHI); there's nothing on the other end to protect it.
Development use only, on shared infrastructure — requests are rate-limited per token, and there's no production SLA.
Not a conformance checker. Use the official Inferno test kits for that — this is a live counterparty to test your client against, not a certifier of it.
Not a real payer, and not a private environment — everyone shares the same hosted instance and scenario library.
Get a token
Scenario catalog
Every module is a fixed coverage rule you can pick, run, and inspect — filterable by outcome:
ApprovalDenialPendedDocs needed
Cardiology Consultation Appointment — denied, referral capture and network guidance
Documentation Required — pended, a CDex attachments workflow
Home Oxygen Therapy Dispatch — pended, DME supplier verification
Home Health Service Assessment — pended, coverage determination at order signing
Experimental Neurostimulator Implant — denied, an invented procedure code for testing unknown-code handling
Plus more modules covering the rest of the approval / denial / pended / docs-needed matrix — the full, current list is in the catalog itself once you're signed in.
What implementing a client actually involves
CRD is a CDS Hooks integration your EHR or ordering workflow calls at the point of order. DTR is a
SMART on FHIR app that reads US Core / USCDI data your system already has and asks the clinician
for the rest. PAS is a FHIR submission plus a status-check endpoint. The Da Vinci PAS profiles were
built to map cleanly onto the X12 278 transaction HIPAA otherwise mandates for prior authorization
— but CMS granted enforcement discretion in February 2024, so a payer running the FHIR API isn't
obligated to translate to X12 at all, and PAS STU2 provides for sending the FHIR bundle through
intact instead. Either way, what you send is FHIR — whether the payer translates internally is the
payer's problem. Each stage can be built and tested independently — you don't need all three live
on day one to start reducing manual work.
CDS Hooks
SMART on FHIR
US Core / USCDI
Da Vinci PAS STU2
X12 278
Authorization and security stack
App launch
SMART App Launch, both EHR launch (opened from inside Epic/Cerner with patient and encounter context already loaded) and standalone launch, with scopes limited to what a given app actually reads or writes.
Authorization
OAuth 2.0 — authorization-code flow for launches with a clinician in the loop; client-credentials flow for backend calls (e.g. a DTR auto-fill pull or a PAS status check) that don't have a user present.
Token handling & audit logging
Access tokens are handled server-side and don't cross into the browser beyond the launch context; calls that touch PHI are logged on our side of the client's PHI boundary, not assumed to be covered by the payer's.
CMS-0057-F deliberately excludes drugs. CMS has proposed a separate rule, "Interoperability Standards and Prior Authorization for Drugs" (published April 14, 2026), extending the same interoperability and prior authorization requirements to drugs; it hasn't been finalized as of this writing. If it lands, it's the same CRD/DTR/PAS pipeline with a new set of counterparties — the work carries over.
Not sure this is your problem yet?
Run the numbers first — the CMS-0057 readiness checker and the interoperability assessment both
end with a link back here, whatever stage you're at.