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 conn:execute() to update a database table
Added by iNTERFACEWARE
Use os.fs.chmod() to set file permissions, using octal mode (symbolic mode does not work)
Added by iNTERFACEWARE
Use node.child() to return the node of the specified name, 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
How to create Error, Warning, Informational, and Debug log entries
Added by iNTERFACEWARE
Use conn:merge{} to merge data into a database
Added by iNTERFACEWARE
Use os.remove() to delete a file or directory, only an empty directory can be deleted
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 encode and decode strings with hex, using filter.hex.enc() and filter.hex.dec()
Added by iNTERFACEWARE
How to open and read a file from disk, either one line at a time, or read the whole file at once
Added by iNTERFACEWARE
Use iguana.isTest() to prevent code from running in the editor
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 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
How to encode strings with html special characters, using filter.html.enc()
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
Use iguana.isTest() to allow code to run in the editor but not in the live channel
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
Encode and decode strings for use in uri/url, using filter.uri.enc() and filter.uri.dec()
Added by iNTERFACEWARE
How to parse an XML message using xml.parse()