T2.1: Adds Production Components

Knowledge Review - HL7 Interface Specialist

1. Add New Production Components Using "Create New" Functionality

Key Points

  • Create New: Build components from scratch (BS, BP, BO)
  • Component Types: Business Service, Business Process, Business Operation
  • HL7 Adapter Selection: TCP, File, FTP, HTTP, SOAP
  • Configure key parameters during initial creation

Detailed Notes

Overview

When building HL7 interfaces in InterSystems HealthConnect, you have several methods for adding production components. The "Create New" functionality allows you to add a completely new component from scratch.

Creation Process

  • Start by selecting the component type (Business Service, Business Process, or Business Operation)
  • For HL7 components, select the adapter type:
  • TCP: Real-time connections
  • File: File-based processing
  • FTP: Remote file transfers
  • HTTP: Web services
  • SOAP: SOAP-based integrations

Initial Configuration

During the creation process:

  • Configure the most relevant parameters for the selected adapter type
  • TCP adapter: Requires port configuration
  • File adapter: Needs a directory path (FilePath)
  • All settings can be modified later through the component configuration interface

Adapter Selection Guidelines

  • TCP adapters: Real-time, persistent connections with remote systems
  • File adapters: Batch processing, shared directory communication
  • FTP adapters: Remote file transfer capabilities
  • HTTP/SOAP adapters: Web service integrations
  • Each adapter type has specific configuration requirements and behaviors

When to Use "Create New"

Best when you need a component with unique configuration that doesn't match existing components:

  • Start with default settings appropriate for the adapter type
  • Build configuration to match specific integration requirements

Documentation References

2. Copy Existing Components to Create Similar Components

Key Points

  • Copy Function: Duplicate existing components with all settings
  • Use Case: Creating similar components (e.g., second TCP Business Operation)
  • Modify After Copy: Update environment-specific settings (IP, port, file path)
  • Rename Limitation: No direct rename - must copy with new name and delete original

Detailed Notes

Overview

The Copy function provides an efficient method for creating new components when you already have a similar component configured in your production.

Use Cases

Particularly useful when you need:

  • Multiple instances of the same type of component with similar configurations
  • Example: Send HL7 messages to multiple external systems via TCP
  • Copy an existing HL7 TCP Business Operation and modify only destination-specific settings

What Gets Copied

When you copy a component, all configuration settings are duplicated:

  • Pool size
  • Alert settings
  • Credentials references
  • Adapter-specific parameters
  • This ensures consistency and reduces configuration errors

Rename Limitation

InterSystems HealthConnect does not provide a direct "rename" function:

  • Must use the Copy function to create a new component with the desired name
  • Then delete the original component
  • This copy-and-delete workflow preserves all configuration

Important Considerations

Be careful with settings that reference external resources:

  • Credentials: May need to be updated
  • File paths: Often environment-specific
  • IP addresses: Usually need changing
  • Ports: May conflict with other components
  • The Copy function is a time-saver but requires careful review of all settings

Documentation References

3. Import Productions Using Deployment Tools

Key Points

  • Navigation: Interoperability → Manage → Deployment Changes → Deploy
  • Automatic Rollback: Deploy creates backup file before importing
  • Rollback Capability: Reverse failed deployments to previous state
  • Bundle Contents: Production, components, messages, routing rules, schemas, DTLs

Detailed Notes

Overview

InterSystems HealthConnect provides comprehensive deployment tools for moving productions between environments (Development, Test, and Production).

Navigation

Access the import process through:

  • Interoperability → Manage → Deployment Changes → Deploy
  • This centralized deployment interface ensures consistency
  • Provides safety mechanisms for production deployments

Automatic Rollback Feature

A critical safety feature:

  • Deploy function exports the entire current configuration to an external rollback file
  • Creates a complete backup of the existing production state before import
  • Allows you to reverse a failed deployment and return to previous working state
  • Minimizes downtime and risk during deployments

Deployment Bundle Contents

The bundle contains all production definitions in a single file:

  • Production definition itself
  • All Business Services, Business Processes, and Business Operations
  • HL7 message definitions
  • Routing rules
  • Lookup tables
  • Custom schemas
  • Data Transformation Language (DTL) transformations
  • May need to manually add custom classes outside standard production components

Best Practices

Before deploying to production:

  • Always test the deployment in a TEST environment
  • Validate that all components import correctly
  • Verify the rollback process works as expected
  • Check environment-specific configuration differences
  • The deployment process compiles all components, which can reveal errors

Documentation References

4. Export Productions and Dependencies Using Deployment Tools

Key Points

  • Export Function: Production → Actions → Export
  • Single File Bundle: All production definitions in one export file
  • Included Components: Production, BS/BP/BO, messages, rules, lookup tables, schemas, DTLs
  • Manual Additions: Add missing dependencies manually
  • Repeat Export: Use repeat export button for updated bundles

Detailed Notes

Overview

The export process begins from the Production page using the Actions menu and selecting Export. This creates a comprehensive deployment package for deploying complete HL7 integrations across environments.

Export Contents

The export includes:

  • Production definition itself
  • All configured Business Services, Business Processes, and Business Operations
  • HL7 message definitions
  • Routing rules
  • Lookup tables
  • Custom schema definitions
  • DTL transformations

Dependency Detection

The deployment tool attempts to automatically detect all dependencies:

  • May not capture custom classes that aren't standard production components
  • Example: Custom business logic classes or utility classes
  • Export interface provides buttons to manually add additional elements
  • Ensures all dependencies are captured

Repeat Export

When you need an updated export:

  • Use the "repeat export" button
  • Creates new versions without reconfiguring export settings each time
  • Particularly useful during iterative development and testing cycles

Configuration Values Warning

Critical to understand:

  • Configuration settings export with the values currently set in Development
  • IP addresses, ports, file paths all export as-is
  • When imported to Test or Production, these values are imported too
  • Potentially causes connections to wrong servers
  • This is why Default Site Settings are essential for environment-specific values

Documentation References

5. Handle Environment-Specific Configuration with Default Site Settings

Key Points

  • Challenge: Configuration settings export with DEV values
  • Solution: Default Site Settings override imported values
  • Environment-Specific: Different values for DEV/TEST/PROD
  • Common Use Cases: SMTP servers, database connections, file paths, IP addresses

Detailed Notes

The Challenge

One of the most important challenges in production deployment:

  • When you export from Development, all configuration settings export with Development values
  • Includes IP addresses, port numbers, file paths, credentials
  • Importing to Test or Production would configure those environments to use Development resources

The Solution: Default Site Settings

Default Site Settings solve this challenge:

  • Defined outside of the production definition itself, at the site or environment level
  • When configured for a particular component and setting, it takes precedence over imported values
  • Allows exporting production with Development values intact
  • Test and Production environments use their appropriate values

Example: SMTP Server Configuration

  • Development, Test, and Production each have different SMTP servers
  • Define a Default Site Setting in Test and Production for the SMTP server IP address
  • During deployment, Development SMTP IP is imported but immediately overridden
  • Each environment connects to its correct SMTP server without manual changes

Wildcard Notation

Default Site Settings can use asterisk (*) for multiple components:

  • Apply a file path setting to all Business Services that use File adapters
  • Apply a pool size setting to all Business Operations
  • Provides powerful flexibility for managing configuration
  • Maintains environment-specific control

Common Use Cases

  • SMTP servers: Different email servers per environment
  • Database connections: Environment-specific databases
  • File paths: Different directory structures
  • IP addresses: Environment-specific endpoints

Documentation References

6. Test Deployments Before Production

Key Points

  • Always Test First: Deploy to TEST before PROD
  • Validate Import: Verify all components import correctly
  • Test Rollback: Ensure rollback functionality works
  • Environment Settings: Confirm Default Site Settings apply correctly

Detailed Notes

Fundamental Best Practice

Always test the deployment in a TEST environment before deploying to PRODUCTION:

  • This testing phase prevents production outages
  • TEST environment should mirror production as closely as possible
  • Same InterSystems IRIS version, configuration, and system settings

Validation During TEST Deployment

Verify that all components import correctly:

  • Check for compilation errors
  • Ensure all dependencies are included in the deployment package
  • Look for warnings or errors during import
  • Check for missing classes or resources
  • Run test messages through the production
  • Validate routing rules, DTL transformations, and component configurations

Test Rollback Functionality

In your TEST environment:

  • Deliberately create a scenario where you need to rollback
  • Verify the rollback file was created correctly
  • Confirm the rollback process successfully restores previous state
  • Understanding rollback is essential before using it in production emergency

Validate Default Site Settings

Confirm environment-specific Default Site Settings:

  • Ensures mechanism will work when deployed to PRODUCTION
  • Check database connections
  • Verify file paths
  • Confirm IP addresses point to TEST resources, not Development
  • Validate any other environment-specific settings

Documentation References

7. Understand Production Component Class Creation

Key Points

  • Component Types: Business Service, Business Process, Business Operation
  • Class Hierarchy: Extend base classes (Ens.BusinessService, Ens.BusinessProcess, Ens.BusinessOperation)
  • Adapter Integration: Configure adapters for connectivity
  • Custom Logic: Implement business logic for specific integration requirements

Detailed Notes

Overview

While InterSystems HealthConnect provides standard HL7 components suitable for most scenarios, custom component classes are sometimes needed for:

  • Specific business logic
  • Unique integration requirements
  • Advanced HL7 interface development

Component Class Structure

Production components are ObjectScript classes that extend base production component classes:

  • Business Services: Extend Ens.BusinessService
  • Business Processes: Extend Ens.BusinessProcess
  • Business Operations: Extend Ens.BusinessOperation

Base classes provide framework for:

  • Integration with the production environment
  • Message handling
  • Error handling
  • Configuration management

Custom Business Services

Typically implement specific message reception logic:

  • Reading from proprietary file formats
  • Receiving messages through custom protocols
  • Use adapters for connectivity aspects
  • Business logic focuses on message processing, not connection management

Custom Business Processes

Implement complex routing or orchestration logic:

  • Beyond what can be achieved with standard routing rules
  • More than DTL transformations can handle
  • Multi-step workflows
  • Complex decision making

Custom Business Operations

Handle specific requirements for sending messages:

  • Custom formatting requirements
  • Protocol handling
  • Acknowledgment processing required by target system
  • Use adapters for connectivity, separating connection management from business logic

Best Practices

When creating custom components:

  • Follow InterSystems best practices for error handling
  • Implement proper logging
  • Use configuration management
  • Ensure seamless integration with production environment

Documentation References

Exam Preparation Summary

Critical Concepts to Master:

  1. Component Creation Methods: Create New (from scratch), Copy (duplicate existing), Find Existing (reuse)
  2. Adapter Selection: TCP (real-time), File (batch), FTP (remote), HTTP/SOAP (web services)
  3. Built-in HL7 Classes: EnsLib.HL7.Service.TCPService, EnsLib.HL7.Operation.TCPOperation
  4. Copy Workflow: No rename function - must copy with new name, then delete original
  5. Custom Components: Extend built-in classes when standard functionality insufficient
  6. Pool Size: Controls concurrent processing; affects throughput and resource usage

Common Exam Scenarios:

  • Selecting appropriate method for adding components (create vs copy)
  • Choosing correct adapter type for integration requirements
  • Understanding when to use built-in vs custom components
  • Configuring key settings during component creation
  • Renaming components using copy-and-delete workflow
  • Troubleshooting component startup and configuration issues

Hands-On Practice Recommendations:

  • Add components using Create New with various adapter types
  • Practice Copy function to duplicate component configurations
  • Use Find Existing to add pre-built components
  • Configure component settings (pool size, timeouts, credentials)
  • Explore custom component development patterns
  • Test component enable/disable and restart behavior

Report an Issue