Skip to main content

Immunizations Service — Service Overview

Status: populated Owner: TBD Last updated: 2026-04-18 Companion: Service Template

1. Purpose

The immunizations-service is the authoritative system of record for all vaccination activity across the Ghasi eHealth platform. It records administered immunizations, captures refusals and contraindications, computes due-date forecasts against the Afghanistan EPI (Expanded Programme on Immunization) national schedule, tracks defaulters, and integrates bidirectionally with the national immunization registry. It provides FHIR R4 Immunization, ImmunizationRecommendation, and ImmunizationEvaluation resources to downstream consumers.

Module license key: clinical.immunizations

2. Bounded Context

AspectDetail
DomainClinical — Preventive Care
Context nameImmunizations
Aggregate rootsImmunizationRecord, ImmunizationForecast
FHIR resources ownedImmunization, ImmunizationRecommendation, ImmunizationEvaluation
NATS subjects (produced)IMMUNIZATIONS.*
Database schemaimmunizations
Module entitlementclinical.immunizations

3. Responsibilities

ResponsibilityIn scopeOut of scope
Record vaccine administration (dose, lot, site, route)YesPrescribing vaccines (orders-service)
Record immunization refusals with reasonYesEnforcing refusal workflows — downstream concern
Forecast next due dates per EPI scheduleYesScheduling the actual appointment (scheduling-service)
Track defaulters and generate outreach listsYesSending outreach messages (communication-service)
National registry bidirectional syncYesRegistry data governance
Generate digital vaccination certificatesYesCertificate public-key infrastructure
Contraindication checkingYesDrug allergy checking (orders-service CDS)
FHIR Immunization/Recommendation/Evaluation read+searchYesFHIR write from external systems (interop-service adapter)
Coverage analytics and population reportingYesData warehouse ETL (analytics-service)

4. Upstream and Downstream Dependencies

5. Key Architectural Decisions

DecisionChoiceRationale
EPI schedule as configurationJSON schedule loaded from terminology-serviceAllows schedule updates without code deployment
Forecast engineRule-based interval calculation + contraindication guardDeterministic, auditable; AI advisory tier planned for S3
Registry syncAsync outbox → interop-service adapterDecouples from registry availability; retryable
Contraindication sourceFHIR Immunization.contraindication + allergy graph from registration-serviceAvoid duplicating allergy data
Coverage reportingMaterialized views refreshed on event receiptNear-real-time without heavy OLAP joins
Digital certificatesSigned JWT payload; public key in JWKS endpointStandard verifiable credential pattern
FHIR ownershipOwns Immunization, ImmunizationRecommendation, ImmunizationEvaluationAs per FHIR_FIRST_STANDARD.md resource ownership map

6. Non-Goals

  • This service does not own the appointment or scheduling workflow.
  • It does not own drug/vaccine allergy records (those live in registration-service or orders-service).
  • It does not directly communicate with patients — it emits events consumed by communication-service.
  • It does not perform HL7 v2 VXU message parsing — that is interop-service's concern; it receives canonical commands.