We are rebuilding dental insurance administration from the ground up. By replacing outdated paper-and-fax workflows with an AI-native platform, we make care faster and more accessible for payers, providers, and patients.
We automate the entire value chain—from credentialing to claims processing.
- 90%+ Claims auto-adjudicated
- <1 Week Provider onboarding (down from 45-60 days)
- 50% Reduction in administrative costs
- Claims Automation: Real-time processing with Generative AI.
- Provider Credentialing: Streamlined verification and onboarding.
- Benefits Management: Next-gen plan design and administration.
A dental insurance TPA (Third-Party Administrator) platform — 37+ microservices, 3 frontend apps, 133+ credentialing crawlers on GCP.
┌─────────────────────────────────────────────────────────────────────┐
│ FRONTEND APPS │
│ plan-config-app (28 clients) admin-app (26 svcs) provider-app │
│ Internal admin UI Cross-env admin Provider portal │
└──────────────────────────┬──────────────────────────────────────────┘
│ GraphQL + REST
┌──────────────────────────▼──────────────────────────────────────────┐
│ API GATEWAY (Auth0 JWT) │
│ 27 route prefixes → Cloud Run services │
└──────────────────────────┬──────────────────────────────────────────┘
│
┌──────────────────────┼──────────────────────────┐
▼ ▼ ▼
┌─────────┐ ┌──────────────────────┐ ┌──────────────────────────┐
│ ENTITY │ │ CORE BUSINESS │ │ PLATFORM SERVICES │
│ SERVICES│ │ SERVICES │ │ │
├─────────┤ ├──────────────────────┤ ├──────────────────────────┤
│member │ │plan-svc (config) │ │auth-svc (identity/RBAC) │
│provider │ │adjudication-svc │ │event-svc (orchestrator) │
│group │ │claim-svc │ │document-svc (gen/store) │
│office │ │rules-engine-svc │ │communication-svc (email) │
│atlas │ │manual-claim-svc │ │notification-svc │
│address │ │billing-svc (invoices)│ │correspondence-svc (bulk) │
│broker │ │financial-svc (pay) │ │case-management-svc │
│onboard │ │ledger-svc (ledger) │ │audit-log-svc / cx-svc │
│bulk-load│ │ │ │bulk-load-svc │
└────┬────┘ └──────────┬───────────┘ └────────────┬─────────────┘
│ │ │
└──────────────────┼────────────────────────────┘
│ Pub/Sub + Cloud Tasks
┌───────────────────┼───────────────────────┐
▼ ▼ ▼
┌──────────┐ ┌─────────────────┐ ┌────────────────────────┐
│CREDENTIAL│ │ EDI / CLAIMS │ │ EXTERNAL DATA │
│ SYSTEM │ │ PIPELINE │ │ PIPELINES │
├──────────┤ ├─────────────────┤ ├────────────────────────┤
│credential│ │edi-service │ │fdb-workflows (orchestr)│
│v2-svc │ │edi-to-ada-form │ │fdb-reports (Looker/BQ) │
│caqh-svc │ │gcloud-edi-bulk │ │data-migrator (Az→GCS) │
│crawler │ │vyne (library) │ │pos-asb-fastapi (Az SB) │
│-svc │ │dentalexchange │ │careington-workflows │
│crawlerv2 │ │ada_information_ │ │guardian-cactus-symplr │
│(133 svcs)│ │ extraction(ML) │ │ │
└──────────┘ └─────────────────┘ └────────────────────────┘
plan-svc is the source of truth for benefit plans — fee schedules, procedure codes, coinsurance/deductible/maximum rules, networks, plan families. base-svc provides lookup data to the plan-config-app frontend.
group-svc manages employer groups and sub-groups. member-svc stores member demographics and eligibility. bulk-load-svc ingests enrollment files (EDI 834, CSV/Excel). member-eligibility-load-v2-svc handles the dedicated 834 parsing pipeline. Melissa API standardizes addresses via address-svc / address-validation-svc.
provider-svc stores provider profiles. onboarding-svc manages new provider applications. credentialv2-svc orchestrates the full credentialing lifecycle. It dispatches to 133+ crawlers in crawlerv2-svc-monorepo (Playwright-based) that scrape state licensing boards, DEA, NPI, NPDB, OIG, SAM, Medicaid exclusions, and CMS preclusion lists. Results callback via Cloud Tasks. caqh-svc integrates with the CAQH ProView API. careington-workflows exchanges PSV files with Careington via Azure Blob.
Claims arrive two ways:
- Electronic (EDI 837D): Clearinghouses (Vyne, DXC) SFTP files to GCS → fdb-workflows triggers processing → edi-service (EdiFabric) converts EDI→JSON → publishes to Pub/Sub
validate-process-adjudicate-claim - Paper/scanned: Scanned forms → ada_information_extraction (Donut ML model on Vertex AI) → extracts ADA form fields → edi-service converts to 837D → same Pub/Sub topic
manual-claim-svc handles paper claim queuing, FairHealth fee schedule lookups, and attachment retrieval (via vyne/dentalexchange libraries for signed GCS URLs).
The Pub/Sub topic validate-process-adjudicate-claim feeds into the adjudication pipeline:
- rules-engine-svc evaluates benefit rules (frequency limits, age restrictions, waiting periods, maximums, deductibles, coinsurance)
- adjudication-svc and claim-svc share the same
adjudicationdatabase — parallel views on claims processing (different route prefixes) - Rules pull plan config from plan-svc, member eligibility from member-svc, provider network status from atlas-svc
financial-svc executes payment runs — generates NACHA files for ACH, prints checks, handles capitation payments. Publishes claim-closing events via Pub/Sub. billing-svc generates invoices for member premiums. ledger-svc maintains the double-entry financial ledger. correspondence-svc triggers bulk document generation (EOBs, IDNs, remittances) via document-svc.
fdb-workflows generates outbound EDI: 999 acknowledgments back to Vyne, 837D encounter files from BigQuery, 834 enrollment diffs to HealthSun. All EDI conversion goes through the central EdiFabric API at edi-translator.32health.care.
| Service | Purpose |
|---|---|
activity-log-svc |
User interaction tracking for audit and monitoring |
address-svc |
Address management with Melissa API standardization and geocoding |
address-validation-svc |
Melissa Personator proxy/cache for address/name/phone/email validation |
adjudication-svc |
Core dental claim adjudication engine — rules-based processing, EDI, queues |
adjudication-svc-v2 |
V2 rewrite of adjudication (stub) |
atlas-svc |
Centralized lookup/reference data store — all picklist values, entity type mappings |
audit-log-svc |
CRUD change audit trail with before/after snapshots |
auth-svc |
Authentication/authorization — Auth0, RBAC, feature flags, permissions |
base-svc |
Plan configuration lookup data serving the plan-config-app frontend |
billing-svc |
Invoice generation — member premiums, credit notes, billing configs |
broker-svc |
Broker/agency management — commissions, licensing, bonus structures |
bulk-load-svc |
Bulk data ingestion — Excel/CSV/EDI for members, claims, providers, plans |
caqh-svc |
CAQH ProView API integration for provider credentialing |
carrier-application-svc |
Carrier application lifecycle — submissions and document processing |
case-management-svc |
Clinical/administrative case lifecycle — queues, notes, polymorphic entity linking |
claim-svc |
Claims processing — intake, payments, service lines, queue management |
communication-svc |
Multi-channel messaging — email (SendGrid), fax, with template support |
copy-manual-claim-svc |
Utility for copying manual claim records between environments |
correspondence-svc |
Bulk correspondence campaigns linked to claims and payment runs |
crawler-svc |
Legacy monolithic provider credentialing crawler (Selenium) |
credentialv2-svc |
Full provider credentialing lifecycle — licenses, DEA, NPDB, OIG, SAM, CMS |
cx-svc |
Contact center aggregation layer — unified view across 16+ services |
document-svc |
Document lifecycle — templates, generation (Syncfusion/Apryse), GCS storage |
e-sign-svc |
Electronic signatures and PKI certificate management |
event-svc |
Central event orchestrator — routes events to notifications, cases, comms, audit |
financial-svc |
Payment execution — NACHA/ACH, checks, capitation, EOP/IDN generation |
group-svc |
Insurance group/sub-group hierarchy — premiums, bundles, snapshots |
ledger-svc |
Double-entry financial ledger — balances and ledger events |
manual-claim-svc |
Paper/scanned claim processing — OCR/AI intake, FairHealth lookups |
member-eligibility-load-v2-svc |
Dedicated EDI 834 and fixed-width eligibility file parsing pipeline |
member-svc |
Member/patient data — demographics, eligibility, COB, enrollment |
notification-svc |
Notification type/category/priority management and queuing |
office-svc |
Dental office management — profiles, addresses, contacts, network plans |
onboarding-svc |
Provider/business onboarding workflows before promotion to provider-svc |
plan-svc |
Core plan configuration — fee schedules, networks, procedure codes, benefit rules |
provider-svc |
Provider profiles — credentials, specialties, continuous monitoring, snapshots |
rules-engine-svc |
Benefit rules evaluation — frequency, age, waiting periods, maximums, deductibles |
virtual-agent-conversation |
AI chatbot conversation history for utilization review (Firestore) |
| App | Stack | Purpose |
|---|---|---|
plan-config-app |
Next.js, React 18, Ant Design 5, Apollo 3, Pages Router | Primary admin UI — 230+ pages, 28 Apollo clients |
admin-app |
Next.js, React 18, Ant Design 6, Apollo 4, App Router | Cross-environment admin — GCP service account auth |
provider-app |
Next.js, React 18, Ant Design 5, Apollo 3, Pages Router | Provider portal — claims, eligibility, onboarding |
| Repo | Purpose |
|---|---|
crawlerv2-svc-monorepo |
133+ Playwright crawlers — state licenses, DEA, NPI, NPDB, OIG, SAM, Medicaid, CMS |
lightspun-crawler-utils |
70+ shared utilities for all crawlers (published to Artifact Registry) |
careington-workflows |
Bidirectional PSV file exchange with Careington via Azure Blob |
guardian-cactus-symplr-dataload |
Guardian provider data sync (Azure File Share → GCS) |
| Repo | Purpose |
|---|---|
edi-service |
Multi-format EDI translation (837D, 999, 277A, 835, 834) via EdiFabric |
edi-to-ada-form |
EDI 837D → ADA dental form JSON conversion |
dentalexchange |
DXC clearinghouse attachment library (published to Artifact Registry) |
vyne |
Unified attachment library for Vyne + DXC with AI classification |
gcloud-edi-bulk |
Batch EDI file reprocessing from GCS |
pos-asb-fastapi |
GCP → Azure Service Bus bridge for POS clearinghouse |
ada_information_extraction |
Donut ML model for scanned ADA form data extraction (Vertex AI) |
| Repo | Purpose |
|---|---|
fdb-workflows |
GCP Cloud Functions orchestrating EDI pipelines, eligibility ingestion |
fdb-reports |
Looker dashboards and BigQuery views over service databases |
data-migrator |
Azure File Share → GCS sync with resumable chunked uploads |
| Repo | Purpose |
|---|---|
three2h-core |
Foundation — async DB, config, CORS, logging (used by all services) |
three2h-utils |
Middleware, decorators, validators, cross-service clients (used by all services) |
db |
Legacy typed DB queries for fee schedule and benefit lookups |
| Repo | Purpose |
|---|---|
pulumi-infra-svc |
Pulumi IaC — Cloud SQL, Pub/Sub (40+ topics), Redis, Cloud Run, BigQuery |
api-gateway |
Google Cloud API Gateway — Auth0 JWT validation, 27 service routes |
lightspun-cli |
Developer CLI — redock, DB/Cloud Run proxy, migrations, secrets |
db-proxy |
Cloud SQL Proxy for local dev (dev:25430, UAT:35430, prod:45430) |
devops |
Deployment scripts, CI/CD management, service scaling |
scripts |
Operational automation — health checks, Cloud SQL lifecycle |
| Topic | Publisher | Subscriber | Purpose |
|---|---|---|---|
validate-process-adjudicate-claim |
manual-claim-svc, bulk-load-svc, edi-service, claim-svc | adjudication-svc, rules-engine-svc | Claim adjudication pipeline |
document-generate-bulk |
adjudication-svc, provider-svc, claim-svc | document-svc | Bulk document generation |
document-generatev2 |
financial-svc, correspondence-svc | document-svc | Document generation v2 |
create-case |
atlas-svc | case-management-svc | Auto-create cases on data changes |
bulk-load-* (15+ topics) |
bulk-load-svc | bulk-load-svc | Chunked bulk data processing |
credential-report-callback |
crawlerv2 crawlers | credentialv2-svc | Crawler results (Cloud Tasks) |
| System | Service | Purpose |
|---|---|---|
| Auth0 | auth-svc, all frontends | Identity provider |
| Vyne | fdb-workflows | EDI 837D clearinghouse (bidirectional) |
| DentalXChange | fdb-workflows | Claim attachment clearinghouse |
| EdiFabric | edi-service | EDI ↔ JSON translation engine |
| Melissa Personator | address-svc | Address/name standardization |
| SendGrid | communication-svc | Email delivery |
| CAQH ProView | caqh-svc | Provider credentialing aggregator |
| NPDB / NPI / DEA / SAM / OIG | crawlerv2 | Federal provider verification |
| 50+ state boards | crawlerv2 (133 crawlers) | State license verification |
| Careington | careington-workflows | PSV exchange (Azure Blob) |
| Syncfusion / Apryse | document-svc | PDF generation and manipulation |
| Vertex AI | ada_information_extraction | ML model for claim form OCR |
| BigQuery / Looker | fdb-reports | Analytics and BI dashboards |
- Cloud: GCP (Cloud Run, Cloud SQL PostgreSQL, Pub/Sub, GCS, Secret Manager, Cloud Tasks, BigQuery, Vertex AI)
- Secondary: Azure (Blob Storage, File Share, Service Bus for third-party integrations)
- IaC: Pulumi — 3 GCP projects (dev, UAT, prod)
- CI/CD: Cloud Build with per-service
cloudbuild_{env}.yaml - Environments: dev, uat, uat2, preprod, prod
