Engineering Transparency
Every engineering choice documented, debated, and validated. Open source under BSL 1.1.
HDIM is organized into layered service categories, each with distinct responsibilities and deployment characteristics. All services share common modules for authentication, tracing, and event handling.
JWT validation, routing, trusted header injection
CQRS, event sourcing, immutable audit trails
FHIR, CQL, HEDIS, care gaps, risk scoring
5 domain + 15 infra + 4 API contract modules
Independent schemas, Liquibase migrations
Client (Angular / API)
│
▼
Gateway Edge (nginx — TLS, routing, cookie→JWT)
│
├─▶ Gateway Admin (auth, tenants, users, API keys)
├─▶ Gateway Clinical (care gaps, events, analytics)
└─▶ Gateway FHIR (FHIR R4, CQL engine, quality measures)
│
├─▶ Domain Services (patient, care-gap, quality-measure, ...)
│ └─▶ PostgreSQL (per-service database)
│
├─▶ Event Services (patient-event, care-gap-event, ...)
│ ├─▶ Kafka (event streaming)
│ └─▶ PostgreSQL (event store + projections)
│
└─▶ Shared Infrastructure
├─▶ Redis (cache, sessions, rate limiting)
├─▶ OpenTelemetry → Jaeger (distributed tracing)
└─▶ Prometheus → Grafana (metrics)