Do I still need to use Chameleon with the Translator?

At the moment if you are working with EDI/X12/ASTM/HL7 then Chameleon is required to define the ‘schema’ of these message formats.  It plays a much diminished role with the Translator than it was traditionally required.  In the medium term we plan to eliminate all need for Chameleon by allowing the HL7 schema to be edited within Iguana itself.

In practice it means 10% or less of the work for a given integration might need to be spent tweaking the vmd files in Chameleon to get a segment grammar which ‘covers’ the messages you are dealing with.  Most of the time the default library definitions are good enough.

See hl7.parse{} and hl7.message{} for more information.

The other calls which depend on Chameleon are db.tables and conn:merge which use the tables defined in Chameleon vmd files to do their work.

It is possible to use the Translator without using Chameleon at all if you do not need any of those four functions – like if you are working with purely XML or parsing flat files interfacing which doesn’t use HL7.

In fact you could choose to parse HL7 using Lua directly without using the hl7.parse{} call.  The disadvantage of this is that the node tree objects returned by hl7.parse{} and hl7.message{} have much richer behaviour with respect to their auto-completion and annotations than say using the built in Lua tables.

If you have any more questions please let us know.