Skip to main content

Radiology Service — Testing Strategy

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


1. Coverage Targets

LayerTarget
Unit≥ 80% statement coverage
IntegrationAll use cases covered
ContractAll REST endpoints (Pact); all events (schema)
E2EStudy view, report sign, viewer launch

2. Mandatory Tests

Test fileCoverage
test/integration/tenant-isolation.spec.tsCross-tenant study/report access blocked
test/integration/outbox.spec.tsDomain events written and published
test/integration/inbox.spec.tsclinical.orders.placed processed idempotently

3. Unit Test Scenarios

ModuleScenarios
ImagingStudyStateMachineAll valid/invalid transitions
RadiologyReportStateMachinePrelim → final → amended; no direct prelim → amended
ViewerLaunchTokenSignerToken generation, expiry, signature validation
PacsQidoClientTimeout handling, retry logic, error mapping
CriticalFindingDetectorFlag set on report with criticalFindingFlag=true

4. Integration Test Scenarios

ScenarioDescription
Order → study registrationConsume clinical.orders.placed; assert ImagingStudyRef created
QIDO-RS study syncMock PACS endpoint; assert study metadata updated
Report sign → FHIR publishSign report; assert FHIR DiagnosticReport created via outbox
Critical finding flowReport with critical flag; assert diag.radiology.finding.critical published
Viewer launch ABACMock ABAC denial; assert 403 returned and audit event logged
PACS unavailableQIDO-RS 503; assert graceful degradation, study stays in registered
Amendment chainFinal → amend → new final; assert prior = superseded

5. Contract Tests

ContractType
GET /v1/radiology/studiesPact provider
POST /v1/radiology/studies/:id/viewer-launchPact provider
diag.radiology.report.signed schemaJSON schema — patient-chart-service consumer
diag.radiology.finding.critical schemaJSON schema — communication-service consumer
GET /fhir/R4/ImagingStudyFHIR conformance

6. E2E Scenarios

ScenarioPriority
Clinician views imaging study and report in chartP0
Radiologist signs report and chart updatesP0
Clinician launches imaging viewerP0
Critical finding triggers visible notificationP1
Report amendment shows updated versionP2