Skip to main content

Radiology Service — Deployment Topology

Status: populated Owner: TBD Last updated: 2026-04-18 Companion: Service Template · 03 platform-services · 02 DDD


1. Runtime

AttributeValue
RuntimeNode 22 / NestJS 11
LanguageTypeScript 5.x
Port3000
Package name@ghasi/radiology-service

2. Replicas and Scaling

EnvironmentMinMaxTrigger
Production (hub)24CPU > 70%
Staging12Manual
Development11N/A

3. Node Deployment

Radiology service is primarily hub-deployed. Facility-node deployment is optional and only provides study metadata cache; PACS queries still route to the external PACS system at the facility.


4. Dependencies

DependencyTypeNotes
PostgreSQL 16HardIsolated schema
NATS JetStreamHardEvents
interop-service FHIR gatewayHard (report sign)FHIR DiagnosticReport publish
PACS / DICOMwebSoftDegraded mode if unreachable
access-policy-serviceHard (viewer launch)ABAC check
KeycloakHardJWT validation
KongHardAPI routing

5. Kong Routes

RouteUpstream
/v1/radiology/*radiology-service:3000
/fhir/R4/ImagingStudyRouted by interop-service → radiology-service
/fhir/R4/DiagnosticReport (category=RAD)Routed by interop-service → radiology-service

6. Environment Variables

VariableRequiredDescription
DATABASE_URLYesPostgreSQL connection string
NATS_URLYesNATS JetStream URL
KEYCLOAK_JWKS_URIYesJWT validation
FHIR_GATEWAY_URLYesinterop-service FHIR base
ABAC_SERVICE_URLYesaccess-policy-service URL
VIEWER_TOKEN_SECRETYesHS256 signing secret for viewer tokens
VIEWER_TOKEN_TTL_MINUTESNoDefault 60
MODULE_LICENSE_KEYYesdiag.radiology entitlement