Conceptually, the task of generating an ACK message is a different
task from complete message parsing and executing business logic.
For this reason a well-designed HL7 interface will keep
the functionality required to implement ACK messages separate from
the general message parsing logic.
It is recommended that you take advantage of the
auto acknowledgement
technique. This means that you will end up with at least two
instances of the Chameleon engine. One should just be used to implement
the generation of ACKs, while the other should be used to do the actual parsing
of messages.