Skip to content

Forces Analysis

Understanding the forces that drive pattern selection is crucial for successful FHIR implementations. This analysis breaks down the key tensions and constraints that healthcare interoperability systems must address.

What are Forces?

In pattern-oriented design, forces are the conflicting concerns and constraints that shape a problem space. They represent the tensions that must be balanced when choosing and implementing design patterns.

For FHIR implementations, forces typically arise from:

  • Technical constraints (performance, reliability, capability differences)
  • Regulatory requirements (audit, consent, privacy)
  • Organizational needs (federated access, legacy integration)
  • Clinical workflows (real-time collaboration, imaging integration)

Detailed Force Analysis

Force Analysis Template

Each force follows a consistent structure:

  • Problem Statement: Core issue or tension
  • Manifestations: Real-world symptoms and examples
  • Pattern Solutions: Specific patterns that address this force

Technical Forces

Forces arising from technical constraints, system capabilities, and infrastructure limitations.

Endpoint Capability Variation

Problem: FHIR servers implement different subsets of the specification, leading to compatibility issues.

Manifestations:

  • Operations that work on one server fail on another
  • Different search parameter support
  • Varying validation rules and profile requirements
  • Inconsistent extension handling

Pattern Solutions:

  • Broker: Provide a unified entry point for FHIR operations that routes requests to appropriate backend services based on capability, policy, and context.
  • Capability Facade: Provide a simplified interface for querying and managing FHIR server capabilities and configuration, abstracting the complexity of CapabilityStatement parsing.
  • Naming and Trading Service: Enable dynamic discovery and selection of FHIR endpoints based on capability requirements and service characteristics, supporting federated healthcare networks.

Version/IG skew

Problem: Coexistence of R4/R4B/R5 and realm/specialty IGs causes constraints and validator differences.

Symptoms: One record must validate against multiple profiles; churn.

Standards: FHIR docs; US Core IG.

Network Latency & Reliability

Problem: Healthcare networks often span institutions with varying connectivity quality.

Manifestations:

  • Timeouts during cross-institutional queries
  • Degraded user experience during network issues
  • Failed bulk operations
  • Inconsistent response times

Pattern Solutions:

  • Asynchronous Invocation: Handle long-running FHIR operations through asynchronous job management and polling, enabling non-blocking execution of time-consuming processes.
  • Broker: Provide a unified entry point for FHIR operations that routes requests to appropriate backend services based on capability, policy, and context.
  • Population Export Pipeline: Orchestrate large-scale data extraction using FHIR Bulk Data APIs with proper authentication and transformation, enabling research and analytics use cases.

Regulatory & Privacy Forces

Forces arising from legal, compliance, and privacy requirements in healthcare.

Context-dependent authorization

Problem: User vs backend flows require distinct SMART methods/scopes.

Symptoms: Scope mismatches; launch failures.

Pattern Solutions:

  • Security Strategy: Provide pluggable authentication and authorization strategies for different FHIR access contexts (EHR launch, standalone apps, backend services) using the Strategy design pattern.

Standards: SMART App Launch; obligations/capabilities.

Problem: Healthcare data sharing must respect complex, context-dependent consent and privacy rules.

Manifestations:

  • Treatment vs research access controls
  • Time-based consent expiration
  • Purpose-specific data restrictions
  • Cross-border data transfer limitations

Pattern Solutions:

  • Privacy Enforcement: Apply patient consent and data use restrictions through FHIR security labels and consent resources, enabling granular privacy controls across healthcare data exchanges.
  • Audit & Provenance Chain: Implement end-to-end audit logging and provenance tracking through a chain of responsibility pattern, enabling comprehensive traceability for regulatory compliance.
  • De-Identification Adapter: Apply consistent de-identification transformations across FHIR and DICOM data for secondary use scenarios, enabling research while preserving privacy.

Auditability & Trust

Problem: Healthcare systems must maintain comprehensive audit trails for regulatory compliance.

Manifestations:

  • Incomplete audit logs across system boundaries
  • Missing provenance information
  • Difficulty correlating events across systems
  • Regulatory compliance gaps

Pattern Solutions:

  • Audit & Provenance Chain: Implement end-to-end audit logging and provenance tracking through a chain of responsibility pattern, enabling comprehensive traceability for regulatory compliance.
  • Privacy Enforcement: Apply patient consent and data use restrictions through FHIR security labels and consent resources, enabling granular privacy controls across healthcare data exchanges.
  • Broker: Provide a unified entry point for FHIR operations that routes requests to appropriate backend services based on capability, policy, and context.

Clinical Workflow Forces

Forces arising from clinical practice requirements and user experience needs.

Population-scale export

Problem: Cohort analytics need standardized, performant extraction.

Symptoms: ETL sprawl; custom pipelines.

Pattern Solutions:

  • Population Export Pipeline: Orchestrate large-scale data extraction using FHIR Bulk Data APIs with proper authentication and transformation, enabling research and analytics use cases.
  • Asynchronous Invocation: Handle long-running FHIR operations through asynchronous job management and polling, enabling non-blocking execution of time-consuming processes.
  • Security Strategy: Provide pluggable authentication and authorization strategies for different FHIR access contexts (EHR launch, standalone apps, backend services) using the Strategy design pattern.

Standards: Bulk Data IG; SMART Backend.

Risk of re-identification

Problem: Secondary use requires robust de-ID across FHIR and DICOM.

Symptoms: Privacy risk; inconsistent de-ID.

Pattern Solutions:

  • De-Identification Adapter: Apply consistent de-identification transformations across FHIR and DICOM data for secondary use scenarios, enabling research while preserving privacy.

Standards: Azure de-ID $export; DICOM PS3.15; TCIA.

Interactive Viewing & Context Sync

Problem: Clinical workflows require real-time coordination between multiple applications.

Manifestations:

  • Applications showing outdated patient context
  • Manual copy/paste between systems
  • Workflow interruptions due to context switching
  • Inconsistent data views

Pattern Solutions:

  • Event Observer: Enable real-time synchronization of clinical context across applications through FHIR subscriptions and FHIRcast, allowing multiple healthcare applications to coordinate their views and workflows.
  • IID Facade: Provide simplified, URL-based launching of imaging viewers with patient and study context, enabling seamless integration between clinical applications and imaging viewers.
  • Imaging Bridge: Connect FHIR-based clinical systems with DICOM imaging systems through standardized web APIs, enabling seamless integration between clinical metadata and imaging data.

Metadata vs Payload (Imaging)

Problem: Clinical data (FHIR) and imaging data (DICOM) live in separate systems with different access patterns.

Manifestations:

  • Broken links between clinical records and images
  • Inconsistent metadata across systems
  • Different security models for text vs imaging data
  • Workflow fragmentation

Pattern Solutions:

  • Imaging Bridge: Connect FHIR-based clinical systems with DICOM imaging systems through standardized web APIs, enabling seamless integration between clinical metadata and imaging data.
  • IID Facade: Provide simplified, URL-based launching of imaging viewers with patient and study context, enabling seamless integration between clinical applications and imaging viewers.
  • Event Observer: Enable real-time synchronization of clinical context across applications through FHIR subscriptions and FHIRcast, allowing multiple healthcare applications to coordinate their views and workflows.

Integration Forces

Forces arising from system integration, legacy modernization, and organizational change.

Preserving clinical semantics (legacy)

Problem: Transformations must retain meaning and bind to terminology.

Symptoms: Loss from CDA/DICOM SR mappings.

Pattern Solutions:

  • Legacy Adapter: Transform legacy data formats (HL7v2, CDA, DICOM SR) to FHIR while preserving clinical semantics and enabling incremental modernization of healthcare systems.

Standards: Mapping Language; DICOM SR->FHIR.

Incremental modernization

Problem: Prefer staged migration with consistent front door and observability.

Symptoms: Big-bang risk; fragmented APIs.

Pattern Solutions:

  • Broker: Provide a unified entry point for FHIR operations that routes requests to appropriate backend services based on capability, policy, and context.
  • Audit & Provenance Chain: Implement end-to-end audit logging and provenance tracking through a chain of responsibility pattern, enabling comprehensive traceability for regulatory compliance.
  • Legacy Adapter: Transform legacy data formats (HL7v2, CDA, DICOM SR) to FHIR while preserving clinical semantics and enabling incremental modernization of healthcare systems.

Standards: Capability discovery; audit best practices.

Legacy System Preservation

Problem: Healthcare organizations must modernize gradually while preserving existing clinical semantics and workflows.

Manifestations:

  • Data trapped in legacy formats (HL7v2, CDA)
  • Risk of losing clinical meaning during transformation
  • Expensive "big bang" migration projects
  • Workflow disruption during transitions

Pattern Solutions:

  • Legacy Adapter: Transform legacy data formats (HL7v2, CDA, DICOM SR) to FHIR while preserving clinical semantics and enabling incremental modernization of healthcare systems.
  • Broker: Provide a unified entry point for FHIR operations that routes requests to appropriate backend services based on capability, policy, and context.
  • Audit & Provenance Chain: Implement end-to-end audit logging and provenance tracking through a chain of responsibility pattern, enabling comprehensive traceability for regulatory compliance.

Forces Summary Table

Force Area Force Description
Technical Endpoint Capability Variation FHIR servers implement different subsets of the specification, leading to compatibility issues.
Technical Version/IG skew
Technical Network Latency & Reliability Healthcare networks often span institutions with varying connectivity quality.
Regulatory & Privacy Context-dependent authorization
Regulatory & Privacy Granular Sharing & Legal Obligations Healthcare data sharing must respect complex, context-dependent consent and privacy rules.
Regulatory & Privacy Auditability & Trust Healthcare systems must maintain comprehensive audit trails for regulatory compliance.
Clinical Workflow Population-scale export
Clinical Workflow Risk of re-identification
Clinical Workflow Interactive Viewing & Context Sync Clinical workflows require real-time coordination between multiple applications.
Clinical Workflow Metadata vs Payload (Imaging) Clinical data (FHIR) and imaging data (DICOM) live in separate systems with different access patterns.
Integration Preserving clinical semantics (legacy)
Integration Incremental modernization
Integration Legacy System Preservation Healthcare organizations must modernize gradually while preserving existing clinical semantics and workflows.

How to Use This Analysis

  1. Identify Your Forces: Review the force areas above to identify which forces are most relevant to your implementation context.

  2. Prioritize: Not all forces carry equal weight in every scenario. Consider your specific regulatory, technical, and organizational constraints.

  3. Select Patterns: Use the pattern solutions listed for each force as starting points for your architecture decisions.

  4. Consider Interactions: Many forces are interconnected. Address related forces together using pattern combinations from the Co-Usage Map.

Start Small

Begin with the most critical forces for your use case, then incrementally address additional forces as your implementation matures.