Harmony 0.9: Enhanced debugging, advanced DICOM handling, and flexible configuration
Harmony 0.9 introduces powerful debugging capabilities, improved DICOM structure manipulation, extended DIMSE support, and flexible environment-based configuration—enabling deeper visibility and control over healthcare data integration pipelines.
We're pleased to announce Harmony 0.9, a release focused on enhancing pipeline visibility, extending data format capabilities, and improving deployment flexibility. This version introduces powerful debugging middleware, advanced structure manipulation, extended service protocol support, and environment-based configuration—providing organisations with deeper control and observability over their integration infrastructure.
For teams building secure data integration platforms, Harmony 0.9 delivers essential tools for debugging complex transformation pipelines, handling sophisticated data structures, and managing environment-specific configuration across development, staging, and production deployments. Whether you're troubleshooting integration issues, handling complex data workflows, or managing multi-environment infrastructure, this release provides the visibility and flexibility needed for sophisticated integration operations.
Advanced Debugging with Data Dumper Middleware
Harmony 0.9 introduces data dumper middleware, a powerful tool for inspecting and debugging pipeline data flows without modifying transformation logic. This middleware captures request and response data at any point in a pipeline, enabling organisations to diagnose integration issues, validate data transformations, and verify compliance with data standards.
The data dumper middleware provides complete visibility into pipeline data:
- Request inspection: Capture incoming request bodies before transformation processing
- Response inspection: Examine outgoing response data after transformations complete
- Selective dumping: Target specific routes or conditions for focused debugging
- Non-intrusive: Debug pipelines without altering transformation logic
- Audit trails: Generate detailed logs suitable for compliance auditing and security investigations
For teams troubleshooting multi-hop transformation pipelines, data dumper middleware eliminates the trial-and-error debugging experience. Integration teams can inspect data at each transformation stage—raw incoming payloads, intermediate representations, transformed outputs—without modifying the actual transformation rules. Networks can validate that identifiers remain consistent through complex mapping logic, services can verify that structures comply with required schemas, and systems can ensure metadata flows correctly through integration pipelines.
The middleware integrates seamlessly with Harmony's existing logging infrastructure, producing structured logs compatible with operations workflows. Enable debugging selectively for problematic routes, leave it disabled for high-performance paths, and adjust logging levels based on operational requirements. Organisations gain the transparency needed to build confidence in integration infrastructure while maintaining performance.
DICOM Structure Manipulation: Flattening and Unflattening
Harmony 0.9 extends data handling with powerful flatten and unflatten middleware, enabling sophisticated structure transformations within pipelines. These tools address real-world integration challenges where nested structures need to be simplified for downstream processing, or flat representations must be reconstructed into complete hierarchical objects. This is especially valuable for complex formats like DICOM used in medical imaging.
Flattening structures transforms nested hierarchies into flat, key-value representations—converting complex multi-level nesting into accessible dot-notation keys. This capability simplifies downstream data processing for systems expecting flat structures, enables easier attribute mapping in transformation rules, and facilitates integration with legacy systems unable to process complex nested objects.
Unflattening performs the reverse operation, reconstructing flat representations back into properly nested hierarchical structures. This enables pipelines to maintain data integrity throughout complex workflows: receive flat exports, transform attributes safely using flat structures, then reconstruct complete objects for backend systems requiring standard formats.
Organisations working with complex structured data benefit significantly from this capability. Systems can flatten incoming data for attribute enrichment and transformation, then unflatten for storage in standard formats. Integration layers can simplify nested structures for legacy systems, while maintaining the ability to reconstruct properly formatted objects for modern platforms. Data normalisation pipelines can standardise structures from diverse sources into consistent formats, then unflatten for downstream systems.
The flattening/unflattening middleware works seamlessly with Harmony's existing JOLT transformation capabilities, enabling teams to define sophisticated data transformations using familiar patterns. Configure flattening at ingestion points, apply transformations, then unflatten for archival—all within a single, declarative pipeline configuration.
Extended DIMSE SCP Support with C-STORE
Harmony 0.9 extends the DIMSE Service Class Provider (SCP) implementation with support for C-STORE operations, completing the core DIMSE server capabilities for DICOM workflows. The DIMSE SCP now handles the full lifecycle of incoming DICOM instance uploads, enabling organisations to receive DICOM data from external systems, devices, and partners.
C-STORE support includes:
- Instance reception: Accept incoming DICOM instances from DIMSE SCUs (client systems)
- Storage management: Route received instances to configured backends for archival
- Association handling: Manage DIMSE associations for reliable multi-instance transfers
- Status reporting: Communicate storage success/failure to client systems
- Compliance: Full DICOM standards compliance for imaging workflows
For organisations operating as DICOM storage destinations—imaging archives, systems integrating DICOM from multiple sources, research networks—C-STORE support completes the DIMSE implementation. Imaging devices sending data directly to Harmony, external systems transferring DICOM via DIMSE associations, and worklist systems pushing data for processing all work seamlessly.
Combined with the existing C-ECHO, C-FIND, C-GET, and C-MOVE operations introduced in version 0.5, Harmony 0.9 provides comprehensive DIMSE server capabilities for sophisticated DICOM integration scenarios. Teams can operate Harmony as a primary DICOM receiver, a DICOM hub routing data between systems, or an intermediary normalizing DICOM structures from diverse sources.
Flexible Configuration with Environment Variable Replacement
Harmony 0.9 introduces environment variable replacement in configuration files, enabling deployment workflows that separate configuration from secrets and environment-specific settings. Organisations can now maintain single configuration files across development, staging, and production environments, with environment variables providing deployment-specific values.
Environment variable features:
- Configuration references: Use
${VARIABLE_NAME}syntax in TOML configuration files - Default values: Specify fallback values with
${VARIABLE_NAME:default} - Security integration: Reference secrets stored in environment without exposing in version control
- Deployment flexibility: Adjust configuration for different environments without file duplication
- Standards compliance: Aligns with infrastructure-as-code and twelve-factor app principles
For teams managing Harmony across multiple environments, environment variable replacement simplifies deployment pipelines. Define database connection strings, API credentials, backend addresses, and encryption keys as environment variables—avoiding the need to maintain environment-specific configuration files. CI/CD systems can inject secrets during deployment, container orchestrators can provide configuration through environment variables, and operators can adjust settings without rebuilding container images.
Organisations deploying Harmony across development, staging, and production environments gain:
- Single configuration source: Maintain one canonical configuration file across environments
- Secure secrets handling: Environment variables separate secrets from configuration files tracked in version control
- Deployment simplicity: CI/CD pipelines inject environment-specific values at deployment time
- Operational flexibility: Update backend addresses, API keys, or encryption settings without configuration file changes
This approach aligns Harmony deployment with modern infrastructure practices, supporting containerized deployments on Kubernetes, cloud platforms like AWS ECS or Google Cloud Run, and traditional infrastructure environments.
Refined DIMSE Implementation and Pipeline Improvements
Beyond new capabilities, Harmony 0.9 includes significant refinements to the DIMSE implementation reducing reliance on external dcmtk dependencies and improving long-term maintainability. The transform pipeline now uses a consistent internal data structure for normalized/transform data, streamlining how data flows through middleware and enabling more reliable data transformations.
Transform pipeline improvements address real-world issues identified through deployments. The consistent internal structure eliminates edge cases where data representation varied between middleware, enabling more reliable transformations and reducing unexpected data format issues in complex pipelines.
Get Started with Harmony 0.9
Harmony 0.9 is available now on GitHub. Pre-built binaries are available for macOS (Apple Silicon and Intel), Linux (x86_64 and ARM64), and Windows platforms. The comprehensive documentation includes guides for debugging pipelines with data dumper middleware, DICOM structure manipulation examples, and environment variable configuration patterns.
This release continues the evolution of Harmony as a comprehensive secure data integration platform, adding visibility, flexibility, and operational capabilities that organisations need for sophisticated integration scenarios. The combination of advanced debugging, extended data structure handling, complete DIMSE support, and flexible configuration makes Harmony 0.9 a significant upgrade for organisations operating complex integration infrastructure.
Ready to enhance your integration visibility and flexibility? Download Harmony 0.9, explore the debugging documentation, and discover how data dumper middleware and structure manipulation tools can simplify your integration workflows.
Building observable, flexible data interoperability with Harmony 0.9.
