| ID | product.clinical_data.encounter_service |
|---|---|
| Description | Encounters, visits and admissions. |
| Key | encounter_service |
| Type | microservice:service |
| Team | Clinical Data |
| Owner | clinical-data@healthcare.example |
| Status | active |
| Technologies | Go, PostgreSQL, Kafka |
| Attributes | driver: ADT messages, model: visit/admission |
| Tags |
The Encounter Service models visits and admissions — admit, discharge, transfer — and publishes domain events when encounter state changes. ADT messages from ingestion drive most transitions.
Responsibility in one sentence
Persist the authoritative encounter record, enforce valid ADT transitions and notify downstream consumers.
Could not build diagram for model "example-healthcare".
The Encounter Repository stores encounter aggregates keyed by patient and visit id.
The Encounter State Machine rejects illegal ADT jumps that would corrupt census.
The Event Publisher emits domain events for apps and audit correlation.
REST endpoints support encounter lookup and status queries for portals and FHIR mappers. See the Overview tab for the OpenAPI contract.
Contract
Status transitions are idempotent on message control id so duplicate ADT replays are safe.
1 workflow
| Workflow | Model | Participant id | Participant label |
|---|---|---|---|
| HL7 admission ingestion clinical-flows.admission | example-healthcare | product.clinical_data.encounter_service | Encounter service |