HL7 Parsing, Validation, Transformation, and Routing
PilotFish is designed to handle the parsing, validation, transformation, and routing of HL7 messages, and other tasks.
The key validation features offered are:
- HL7 Schema Validation: supports the validation of HL7 messages against specific versions of the HL7 schema, such as HL7 v2.x or HL7 v3. This ensures that the messages adhere to the defined structure and data types specified by the HL7 standard.
- Syntax Validation: The software performs syntactic validation to ensure that the HL7 messages conform to the correct syntax rules. It checks for the proper use of segment delimiters, field separators, and other required elements to ensure the message is structurally sound and allow for transformation and mapping.
- Message Structure Validation: PilotFish’s eiPlatform validates the overall structure of HL7 messages, including the presence of mandatory segments, fields, and components. It verifies that the message contains all the necessary segments in the correct order and that the fields are populated as expected. PilotFish offers the ability to toggle on and off certain structural checks such as maximum field recurrence so allow for flexibility in validation. The PilotFish HL7 engine offers the ability to accept custom Z-segments through easy configuration rather than additional coding allowing for more lenient parsing. More complex content and structural validation can be accomplished within the PilotFish mapper.
- Data Type Validation: The system validates the data types of HL7 message elements, ensuring that the values provided are of the correct type and Format. It checks for appropriate date Formats, numeric values, and other specific data type requirements defined by HL7.
- Custom Validation Rules: PilotFish allows users to define custom validation rules and logic based on their specific requirements. This flexibility enables organizations to enforce additional business rules or constraints on HL7 messages beyond the standard validation checks. Compared to other integration platforms with more rigid validation paradigms, PilotFish allows for more lenient parsing to accept variations in message structure while allowing the ability to also build complex intelligence to determine message validity. Most other products have rigid structural validation. This can prevent the ability to accept message variations that are otherwise valid and create roadblocks that cannot be overcome without a significant amount of additional coding. The PilotFish lenient HL7 parser provides the ability to toggle on and off some of these validations rather than creating a significant amount of custom configuration or coding. The switches in combination with the Data Mapper, make the validation, not only more flexible, but potentially more stringent if necessary.
- Error Reporting and Logging: The validation process includes comprehensive error reporting and logging capabilities. It identifies validation errors and provides detailed information about the specific issues encountered, helping users diagnose and resolve problems efficiently.
- Parsing: PilotFish offers a proprietary HL7 Lenient Parser as well as the HAPI HL7 Parser for working with HL7 messages. The PilotFish HL7 Lenient Parser and the HAPI HL7 Parser differ in their approach to parsing HL7 messages. PilotFish emphasizes leniency and flexibility, allowing for the processing of non-standard messages, while HAPI adheres more strictly to the HL7 standards. The PilotFish Lenient Parser offers the ability to accept message variations and then determine within the mapper where the message is potentially invalid.
The choice between the two parsers depends on specific project requirements, adherence to standards, and the need for flexibility in handling HL7 messages. While both parsers serve the same purpose, there are some differences between them.
- Flexibility and Leniency
PilotFish HL7 Lenient Parser: The PilotFish parser is known for its leniency and flexibility in handling non-standard or non-compliant HL7 messages. It can often parse and process messages that don’t strictly adhere to the HL7 standards, allowing for greater interoperability and integration with various systems.
HAPI HL7 Parser: The HAPI parser follows the HL7 standards more strictly. It is designed to handle compliant HL7 messages and may be more strict when encountering non-standard or invalid messages. It emphasizes adherence to the standards, ensuring that the parsed messages conform to the defined HL7 specifications.
- Flexibility and Leniency
- Parsing Capabilities
PilotFish HL7 Lenient Parser: The PilotFish parser can handle a wide variety of HL7 message versions and formats, including HL7 v2.x and HL7 v3. It supports both XML and delimited text-based message formats. It offers robust parsing capabilities, allowing the extraction and transformation of data within HL7 messages.
HAPI HL7 Parser: The HAPI parser is primarily focused on HL7 v2.x messages. It supports various message encoding formats such as XML, ER7 (traditional pipe-and-hat delimited), and others. HAPI provides comprehensive parsing functionality, allowing developers to extract and manipulate data from HL7 messages effectively.
- Parsing Capabilities
- Integration and Development
PilotFish HL7 Lenient Parser: PilotFish provides a comprehensive integration platform that includes the Lenient Parser. It offers an extensive set of tools and features for HL7 message processing, mapping, and transformation. The PilotFish platform is designed to simplify the integration of HL7 data into different systems and applications.
HAPI HL7 Parser: HAPI is an open-source library for working with HL7 messages in Java. It provides developers with a powerful set of APIs and utilities for parsing, creating, and manipulating HL7 messages programmatically. HAPI can be integrated into Java-based applications and frameworks, offering flexibility for developers.
- Integration and Development