Provider credentialing
Primary-source verify a provider on the credentialing vertical — fan out license, history, and exclusion checks, park at the credentialing-committee gate, sign the privileging decision, then authorize payer enrollment. The irreversible enrollment stays shadowed until signed.
Scenario. A provider profile is collected from CAQH and intake documents, then primary-source verified in parallel — licenses/DEA/education, malpractice and work history via NPDB, and OIG/SAM/OFAC/Medicaid exclusion screening. Results are reconciled into a discrepancy list and risk profile. A credentialing committee signs the privileging decision and every adverse finding; a second MSO gate authorizes payer enrollment before it is submitted.
Vertical: credentialing · Parks at gate step-id: committee-signoff
(gate:credentialing-committee-signoff). A later gate, enrollment-approval
(gate:enrollment-ready), fronts the irreversible payer submission.
1. Register and set your token
TOKEN=$(curl -s -X POST "$API/auth/register" \
-H "Content-Type: application/json" \
-d '{"email":"you@acme.com","password":"<your-password>","company_name":"Acme Health"}' \
| jq -r .token)2. Start the run
RUN=$(curl -s -X POST "$API/process-runs" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"vertical": "credentialing",
"inputs": {
"provider_name": "Dr. Alex Rivera, MD",
"npi": "1234567890",
"specialty": "cardiology",
"caqh_id": "12345678",
"risk": "clean"
}
}')
RUN_ID=$(echo "$RUN" | jq -r .id)The run validates intake completeness, fans out the independent primary-source checks,
reconciles adverse findings, and parks at the committee gate. risk is the routing
input the resolver matches against the branch labels: "clean" sends the reconciled file
to the committee for ratification; a discrepancy routes back through intake for rework.
3. Read where it parked
curl -s "$API/process-runs/$RUN_ID" -H "Authorization: Bearer $TOKEN"status is awaiting_human and parked_at is gate:credentialing-committee-signoff; the
trace shows the run parked at the committee-signoff step. Use that step-id to resume.
4. Resume — the committee signs the privileging decision
curl -s -X POST "$API/process-runs/$RUN_ID/resume" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"gate": "committee-signoff",
"decision": "approved"
}'The committee reviews all verification materials and signs (or denies) the privileging
decision plus every adverse finding, documenting rationale. An approved verdict proceeds
toward enrollment; a denial stops it there.
5. Outcome — parks again at the enrollment gate
After privileging is signed, the run parks a second time at enrollment-approval
(gate:enrollment-ready), where the MSO lead authorizes submission of the payer enrollment
package — distinct from privileging. Resume it the same way with "gate": "enrollment-approval".
Only then does the run submit the enrollments and move to continuous exclusion monitoring.
6. Authorize enrollment
curl -s -X POST "$API/process-runs/$RUN_ID/resume" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"gate": "enrollment-approval",
"decision": "approved"
}'Governance note
The submit-enroll step (submit payer enrollments to Medicare PECOS / state Medicaid /
commercial insurers) is reversible: false and performs no real side effect (mock
connector) until you wire a live payer-enroll connector in. It only runs after both
gates sign — committee-signoff for privileging and enrollment-approval for the payer
submission — so no enrollment is filed without two distinct signed human verdicts.
SIM-swap fraud defense
Triage a SIM-change / port-out request on the sim-swap-fraud-defense vertical — auto-clear low-risk changes, park a flagged one at the fraud-analyst gate, sign the number release, and terminate. Every irreversible number release stays shadowed until signed.
SDKs
Two official SDKs — TypeScript and Python — both generated against the Minctrl OpenAPI schema, so every endpoint, model, and error is typed and in sync with the API.