Skip to content

Services Overview

Olly is composed of 14 backend services sharing a PostgreSQL cluster, communicating over Kafka, and authenticating with Keycloak. Each service owns its own database schema and exposes a JWT-protected REST API.

Service Catalogue

ServicePortDatabaseDescription
claims4001claimsClaims adjudication, prior auth, ClaimLine processing
eligibility4002eligibilityMember coverage lookups and accumulator tracking
enrollment4003enrollmentQuote/policy lifecycle, transactions, underwriting
billing4004billingInvoices, payments, ledger, installment schedules
provider4005providerProvider directory, credentialing, network status
notifications4006notificationsMulti-channel notification dispatch (email/SMS)
policy-admin4007policy_adminProducts, plan designs, rule sets, parties, accounts
triage4008triageAI-powered medical triage sessions and DDx engine
care4009careCare episodes, appointments, prescriptions, referrals
consent4010consentMember consent records and right-to-erasure requests
document-service4011document_serviceDocument storage, template rendering, S3-backed delivery
group-scheme-service4012group_schemeEmployer group schemes and bulk enrollment
broker-api4013brokerBroker/agent portal — quotes, portfolio, commissions
member-portal-api4014Stateless BFF aggregating data for member portal and mobile app

Common Patterns

Every service follows the same startup sequence and internal layout. See Architecture → Service Structure for full details.

Authentication: All externally accessible routes require a Keycloak Bearer token validated against the JWKS endpoint. Routes prefixed /internal/ bypass JWT and are protected at the APISIX gateway level.

Kafka / Outbox: Services publish domain events transactionally via an outbox table. A background poller reads undelivered rows, publishes to Kafka, then deletes them. This guarantees at-least-once delivery without distributed transactions.

Migrations: Each service runs Goose SQL migrations on startup against its dedicated database schema.

Observability: All services emit OpenTelemetry traces and structured JSON logs. Health endpoints at /healthz (liveness) and /readyz (readiness + DB ping) are standard.

Olly Health Insurance Platform