Parse an HL7 message
 Verified
		Added by iNTERFACEWARE
How to parse an HL7 message and create an HL7 output message
Source Code
                
                local Msg, Name = hl7.parse{vmd='example/demo.vmd',data=Data}
local Out = hl7.message{vmd='example/demo.vmd',name=Name}
                            Description
        How to parse an HL7 message and create an HL7 output message
    Usage Details
        When you parse an HL7 input message you also need to create an HL7 output message. The reason for this is that hl7.parse() returns a read-only node tree (so you always have an unchanged copy of the original message). Therefore you also need to use hl7.message() to create a writable node tree to use when mapping, filtering and transforming the message.
How to use the snippet:
- Paste the code into a Filter or To Translator script
- Change the vmd parameter if you want to use a different VMD file
- Do not change the data parameter (99.9% of the time it is correct as is)
More Information
        
    Added by iNTERFACEWARE
            
            Use node.append() to append a node to an XML node tree
    Added by iNTERFACEWARE
            
            Use node.isLeaf() to check if a node is a leaf node (has no children), works for all node types
    Added by iNTERFACEWARE
            
            Use node.isKey() to check if a node is the primary key for a database table, this method only for table node trees
    Added by iNTERFACEWARE
            
            Use node.isNull() to check if a node is null (not present), works for all node types
    Added by iNTERFACEWARE
            
            Code to connect to commonly used databases (connecting to other databases is very similar).
    Added by iNTERFACEWARE
            
            Use  iguana.stopOnError(false) to prevent a channel from stopping when an error occurs
    Added by iNTERFACEWARE
            
            How to convert numbers and node trees to a to string representation, and how to convert a numeric strings to numbers
    Added by iNTERFACEWARE
            
            Convert a string to upper case with string.upper(), or lower case with string.lower()
    Added by iNTERFACEWARE
            
            How to convert an HL7 message to and from an XML representation, using chm.toXml{} and chm.fromXml{}
    Added by iNTERFACEWARE
            
            Convert characters to/from numeric codes, the codes will vary depending on the code page settings
    Added by iNTERFACEWARE
            
            Use node.childCount() to count the number of children for a specified node, works for all node types
    Added by iNTERFACEWARE
            
            How to create and unzip a bzip2 or gzip file, using filter.bzip2.deflate() and filter.bzip2.inflate() or gzip.deflate() and gzip.inflate()
    Added by iNTERFACEWARE
            
            Create a generic ACK by using a script in an LLP Listener component
    Added by iNTERFACEWARE
            
            How to create and unzip a zip file containing multiple files and directories, using filter.zip.deflate() and filter.zip.inflate()
    Added by iNTERFACEWARE
            
            How to create Error, Warning, Informational, and Debug log entries
    Added by iNTERFACEWARE
            
            Use os.fs.rmdir() to delete an empty directory, if the directory is not empty an error is returned
    Added by iNTERFACEWARE
            
            Use os.remove() to delete a file or directory, only an empty directory can be deleted
    Added by iNTERFACEWARE
            
            Use node.remove() to delete an element from a table,
    Added by iNTERFACEWARE
            
            Use table.remove() to delete an element from a table
    