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