My friend Jeremy Hulick recently wrote to me about NIH’s caAdaptor tool, an open source product he learned about at the recent CaBIG conference. Here’s how the authors describe it:
caAdapter is an open source tool set that facilitates data mapping and transformation among different kinds of data sources including HL7 v2 and v3 messages, Study Data Tabulation Model (SDTM) data sets, object models and data models. For HL7 v3 messages, it possesses the capability to perform vocabulary validation by integrating with NCICB caCORE components and provides web service access for easy application integration. caAdapter has a component-based architecture to support message development and reporting using standard data formats. caAdapter also provides the capability to perform vocabulary validation and integrates with NCICB caCORE components. caAdapter has a component-based architecture that offers a tool set to support data mapping and transformation, and standard data reporting.
caAdapter Core Components
- CSV to HL7 v3 Mapping and Transformation Service
- caAdapter Web Service
- Model Mapping Service
- SDTM Mapping and Transformation Service
- HL7 v2 to v3 Conversion Service
Jeremy was interested in HL7 2.x to 3.x mapping and he had the following to say about the pros and cons of using caAdaptor to convert an HL7 v2 CSV source file to an HL7 v3 xml file.
- Intuitive interface – easy to upload source files and the layout is easy to interpret
- Mapping source data to target elements is relatively easy
- Applying Mapping Functions is easy – ex. using a concatenate function to combine two source data fields into a single destination element
- Generating source into multiple formats is easy – converts to XML, CSV, or a relation data model
- Source mapping from HL7 v2 to v3 is manual – there were no intelligent defaults (perhaps this is the nature of the of the business domain?)
- Needs a domain expert to properly convert from v2 to v3
- Display of mapped elements does not fit on the screen (minor issue). It is difficult to navigate the links between source and destination elements
- Not web enabled – uses Java Swing
Thanks, Jeremy for sharing your review with us.