Skip to main content

Architecture Decision Records

Architecture Decision Records (ADRs) document significant architectural choices made in the Ignixa FHIR project. ADRs are maintained in the repository at docs/adr/.

Core Design Principle

All architectural decisions support the F5 Developer Experience: a developer can press F5 and run the solution with minimal setup.

ADR Index

Authorization & Security

ADRTitleStatus
2501RBAC Authorization with Capability Statement EnforcementAccepted

Architecture & Design

ADRTitleStatus
2509Vertical Slice ArchitectureAccepted
2509InMemory Search ArchitectureAccepted
2509Bundle Processing with ChannelsAccepted
2510CapabilityStatement Without Firely SDKAccepted

Data & Storage

ADRTitleStatus
2510Multi-Tenancy and Data PartitioningProposed
2510NDJSON File-Based StorageAccepted
2510Four-Scope Caching ArchitectureAccepted

Operations & Features

ADRTitleStatus
2510Background Jobs with DurableTaskAccepted
2510Three-Tier Validation ArchitectureAccepted
2510Conditional CRUD OperationsAccepted
2510FHIR Patch OperationsIn Progress
2512$member-match OperationProposed
2512Narrative Generator LibraryAccepted
2512Patient Summary GenerationProposed

ADR Format

Each ADR follows this structure:

# ADR {YYMM}: {Short Title}

## Status
Proposed | Accepted | Deprecated | Superseded

## Context
What problem are we solving?

## Decision
What did we decide?

## Consequences
**Positive:** Benefits
**Negative:** Trade-offs

Creating New ADRs

  1. Create file: docs/adr/adr-{YYMM}-{short-title}.md
  2. Use the template above
  3. Keep it concise (40-100 lines)
  4. Focus on decision and rationale, not implementation details