{"id":11109,"date":"2017-06-12T12:11:12","date_gmt":"2017-06-12T16:11:12","guid":{"rendered":"http:\/\/www.iri.com\/blog\/?p=11109"},"modified":"2026-02-23T15:23:47","modified_gmt":"2026-02-23T20:23:47","slug":"process-and-protect-hl7-data-with-voracity","status":"publish","type":"post","link":"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/","title":{"rendered":"Process and Protect HL7 Data with Voracity"},"content":{"rendered":"<p><em><strong>Editors Note<\/strong>:\u00a0<\/em><em>It is now possible to discover, deliver, and <a href=\"https:\/\/www.iri.com\/solutions\/data-masking\/hipaa\">de-identify PHI<\/a> in text-based HL7 files directly using the <a href=\"https:\/\/www.iri.com\/products\/darkshield\">IRI DarkShield<\/a> data masking product for semi-structured and unstructured files, which is also included in the IRI data management platform mentioned in the discussion below where the HL7 files are structured. See this article on how to discovery and de-identify PHI in HL7 files directly with the fit-for-purpose <a href=\"https:\/\/www.iri.com\/blog\/data-protection\/masking-phi-in-hl7-edi-files-with-darkshield\/\">HL7 search\/mask wizard in DarkShield<\/a>.<\/em><\/p>\n<p><span style=\"font-weight: 400;\">This article shows how you can use <\/span><a href=\"http:\/\/www.iri.com\/products\/voracity\"><span style=\"font-weight: 400;\">IRI Voracity<\/span><\/a><span style=\"font-weight: 400;\"> to rapidly integrate <\/span><i><span style=\"font-weight: 400;\">and mask<\/span><\/i><span style=\"font-weight: 400;\"> sensitive healthcare data in the <\/span><a href=\"http:\/\/www.iri.com\/blog\/data-protection\/unmasking-the-hl7-data-standard\/\"><span style=\"font-weight: 400;\">HL7 file standard we introduced here<\/span><\/a><span style=\"font-weight: 400;\">. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">The process begins as HL7 messages are converted into a relational format using <\/span><a href=\"https:\/\/flexter.sonra.io\/\"><span style=\"font-weight: 400;\">Flexter Data Liberator<\/span><\/a><span style=\"font-weight: 400;\"> software from Sonra. The output of that process will be an Oracle database &#8212; which means easy metadata discovery and data manipulation\/masking job creation in Voracity. \u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Flexter is XML parsing software for any industry data standard, including HL7. Voracity is a data management platform for data discovery (profiling), integration (ETL), migration, governance (DQ, masking, line age, etc.), and analytics (BI and data preparation), built on Eclipse. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">We will invoke Flexter\u2019s REST API to process the data from a Linux client. In the configuration file for the client we specify the REST end point, the output data store, and the connection details to our database:<\/span><\/p>\n<p><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Output-Data.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-11121\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Output-Data.png\" alt=\"Output Data\" width=\"434\" height=\"132\" srcset=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Output-Data.png 434w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Output-Data-300x91.png 300w\" sizes=\"(max-width: 434px) 100vw, 434px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">We execute the command: <\/span><\/p>\n<pre><span style=\"font-weight: 400;\">.\/push_full.sh ADT_01.messages.xml ADT_01.schema.zip<\/span><\/pre>\n<p><span style=\"font-weight: 400;\">Then, we pass the filename of the XML message <\/span><i><span style=\"font-weight: 400;\">ADT_01.messages.xml<\/span><\/i><span style=\"font-weight: 400;\"> and the filename of the XSD <\/span><i><span style=\"font-weight: 400;\">ADT_01.schema.zip<\/span><\/i><span style=\"font-weight: 400;\"> to the command.<\/span><\/p>\n<p><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/XML-message.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-11122\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/XML-message.png\" alt=\"XML message\" width=\"600\" height=\"262\" srcset=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/XML-message.png 685w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/XML-message-300x131.png 300w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">It takes a few seconds to process the file. \u00a0XML parsing in Flexter happens in three steps:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Flexter analyses the XML schema and collects sample statistics from the provided XML files. It uses this information to generate an optimized and simplified relational target schema. <\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Flexter generates the mappings from the XML source elements to the relational target attributes. <\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Flexter processes the data locked away in the XML files and loads it into the target data store; e.g., an Oracle DB. It also generates the primary and foreign keys, constraints, and indexes.<\/span><\/li>\n<\/ol>\n<p><b>Note<\/b><span style=\"font-weight: 400;\">: Flexter uses a pluggable architecture, which allows us to easily add new input and output data stores or even different data formats such as JSON, EDI, etc. Flexter and Voracity can also run atop Spark to optionally distribute large processing loads across multiple servers.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Once Flexter has finished creating the target schema and we have successfully staged the HL7 data in our Oracle database, we can use Voracity to transform it further downstream.<\/span><\/p>\n<h3><b>HL7 Data Processing &amp; Protection in IRI Voracity<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Now that we have processed the HL7 XML data into a usable format, we can utilize Voracity for ETL, cleansing, masking, reporting, or other processing. \u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In this example, Voracity used the Oracle schema that Flexter generated, and it simply needed to execute the SQL command against the provided DDL to populate the tables. That<\/span><span style=\"font-weight: 400;\"> script was only needed because Flexter and Voracity were not on the same server; in most cases, they would and this process would be automatic (no DDL needed).<\/span><\/p>\n<p><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/IRI-Workbench-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-11112\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/IRI-Workbench-1.png\" alt=\"IRI Workbench 1\" width=\"600\" height=\"399\" srcset=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/IRI-Workbench-1.png 1442w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/IRI-Workbench-1-300x200.png 300w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/IRI-Workbench-1-768x511.png 768w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/IRI-Workbench-1-1024x682.png 1024w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/IRI-Workbench-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-11113\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/IRI-Workbench-2.png\" alt=\"IRI Workbench 2\" width=\"600\" height=\"399\" srcset=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/IRI-Workbench-2.png 1442w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/IRI-Workbench-2-300x200.png 300w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/IRI-Workbench-2-768x511.png 768w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/IRI-Workbench-2-1024x682.png 1024w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p><i><span style=\"font-weight: 400;\">Shown above in <\/span><\/i><a href=\"http:\/\/www.iri.com\/products\/workbench\"><i><span style=\"font-weight: 400;\">IRI Workbench<\/span><\/i><\/a><i><span style=\"font-weight: 400;\"> &#8212; the free Eclipse IDE for Voracity &#8212; are the HL7 tables in Oracle and their auto-exported content on display. On the right is the auto-built E-R Diagram and the SQL display of the target table we created and populated, again all in the same environment.<\/span><\/i><\/p>\n<p><span style=\"font-weight: 400;\">I created a single Voracity job to simultaneously (in the same script and I\/O pass):<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">sort and join the ADT_01 fact table to the PV1_8 first and last name dimension table<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">aggregate, on a running basis, the price column in the fact table<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">encrypt the driver license value in the fact table with AES-256 format-preserving encryption<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">pseudonymize only the last name value in the PV1_8 dimension table from a look-up set<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">collect only the first 50 records (to save time and space)<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">bulk load the pre-sorted data into a new target table <\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">The same wizard that helped me create this job also created the create table and SQL*Loader control file to bulk-load the pre-sorted data into my new target table. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">I used dialogs like this one to modify it apply the masking rule:<\/span><\/p>\n<p><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Dialog.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-11114\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Dialog.png\" alt=\"Dialog\" width=\"600\" height=\"409\" srcset=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Dialog.png 1409w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Dialog-300x204.png 300w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Dialog-768x523.png 768w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Dialog-1024x698.png 1024w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">and a menu function to abstract the job into a workflow. Inside that workflow is my combinatory job script, a dynamic outline that interacts with it (and the rest of the GUI), and its representative transform mapping diagram alternative that ETL architects often prefer:<\/span><\/p>\n<p><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Transform-mapping-diagram.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-11115\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Transform-mapping-diagram.png\" alt=\"Transform mapping diagram\" width=\"600\" height=\"400\" srcset=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Transform-mapping-diagram.png 1180w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Transform-mapping-diagram-300x200.png 300w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Transform-mapping-diagram-768x512.png 768w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Transform-mapping-diagram-1024x682.png 1024w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">Voracity serializes workflows into a <\/span><span style=\"font-weight: 400;\">batch file that runs the mapping\/masking and load jobs together, and produces the final result in load file (and table) form:<\/span><\/p>\n<p><a href=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Final-result.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-11116\" src=\"http:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Final-result.png\" alt=\"Final result\" width=\"600\" height=\"400\" srcset=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Final-result.png 1180w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Final-result-300x200.png 300w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Final-result-768x512.png 768w, https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Final-result-1024x682.png 1024w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">The driver\u2019s license (DL) and price column values in the target did not have the variability I would have liked, as the original values provided by NIST appear to have been planted with redundant test data. However, it does make it easier to show the changes Voracity made to the data, and to demonstrate that the masking rules applied consistently which proves referential integrity is preserved.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">During this same processing pass in Voracity, I could have specified more targets, including custom-formatted detail and summary <\/span><a href=\"http:\/\/www.iri.com\/solutions\/business-intelligence\/embedded-bi\"><span style=\"font-weight: 400;\">reports<\/span><\/a><span style=\"font-weight: 400;\">, or <\/span><a href=\"http:\/\/www.iri.com\/solutions\/business-intelligence\/bi-tool-acceleration\"><span style=\"font-weight: 400;\">hand-offs<\/span><\/a><span style=\"font-weight: 400;\"> to third-party business intelligence or reporting tools.<\/span><\/p>\n<p><a href=\"mailto:voracity@iri.com\"><span style=\"font-weight: 400;\">Contact IRI<\/span><\/a><span style=\"font-weight: 400;\"> if you are interested in using either Flexter Data Liberator and\/or the <a href=\"http:\/\/www.iri.com\/products\/voracity-platform\">Voracity platform<\/a>.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Editors Note:\u00a0It is now possible to discover, deliver, and de-identify PHI in text-based HL7 files directly using the IRI DarkShield data masking product for semi-structured and unstructured files, which is also included in the IRI data management platform mentioned in the discussion below where the HL7 files are structured. See this article on how to<\/p>\n<div><a class=\"btn-filled btn\" href=\"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/\" title=\"Process and Protect HL7 Data with Voracity\">Read More<\/a><\/div>\n","protected":false},"author":104,"featured_media":11116,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[8,31,1,776,91,2255],"tags":[1265,1260,1264,1258,1259,1267,1266,1263,1262,789,550,1261],"class_list":["post-11109","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-protection","category-data-migration","category-data-transformation2","category-etl","category-iri-workbench","category-archived-articles","tag-flexter-data-liberator","tag-hl7","tag-hl7-adt","tag-hl7-get-started","tag-hl7-intro","tag-hl7-message-encryption","tag-hl7-message-masking","tag-hl7-oru","tag-hl7-xml","tag-iri-voracity","tag-xml","tag-xsd"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v23.4 (Yoast SEO v23.4) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Process and Protect HL7 Data with Voracity - IRI<\/title>\n<meta name=\"description\" content=\"Integrate and mask sensitive healthcare data in HL7 files using IRI Voracity with Sonra Flexter for ETL or IRI DarkShield for PHI masking.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Process and Protect HL7 Data with Voracity\" \/>\n<meta property=\"og:description\" content=\"Integrate and mask sensitive healthcare data in HL7 files using IRI Voracity with Sonra Flexter for ETL or IRI DarkShield for PHI masking.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/\" \/>\n<meta property=\"og:site_name\" content=\"IRI\" \/>\n<meta property=\"article:published_time\" content=\"2017-06-12T16:11:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-23T20:23:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Final-result.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1180\" \/>\n\t<meta property=\"og:image:height\" content=\"786\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Uli Bethke\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Uli Bethke\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/\"},\"author\":{\"name\":\"Uli Bethke\",\"@id\":\"https:\/\/www.iri.com\/blog\/#\/schema\/person\/acc581bfef8e29ae36a70cafd77121a7\"},\"headline\":\"Process and Protect HL7 Data with Voracity\",\"datePublished\":\"2017-06-12T16:11:12+00:00\",\"dateModified\":\"2026-02-23T20:23:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/\"},\"wordCount\":879,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/www.iri.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Final-result.png\",\"keywords\":[\"Flexter Data Liberator\",\"HL7\",\"HL7 ADT\",\"HL7 get started\",\"HL7 intro\",\"HL7 message encryption\",\"HL7 message masking\",\"HL7 ORU\",\"HL7 XML\",\"IRI Voracity\",\"xml\",\"XSD\"],\"articleSection\":[\"Data Masking\/Protection\",\"Data Migration\",\"Data Transformation\",\"ETL\",\"IRI Workbench\",\"Archived Articles\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/\",\"url\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/\",\"name\":\"Process and Protect HL7 Data with Voracity - IRI\",\"isPartOf\":{\"@id\":\"https:\/\/www.iri.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Final-result.png\",\"datePublished\":\"2017-06-12T16:11:12+00:00\",\"dateModified\":\"2026-02-23T20:23:47+00:00\",\"description\":\"Integrate and mask sensitive healthcare data in HL7 files using IRI Voracity with Sonra Flexter for ETL or IRI DarkShield for PHI masking.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/#primaryimage\",\"url\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Final-result.png\",\"contentUrl\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Final-result.png\",\"width\":1180,\"height\":786,\"caption\":\"Final result\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.iri.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Process and Protect HL7 Data with Voracity\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.iri.com\/blog\/#website\",\"url\":\"https:\/\/www.iri.com\/blog\/\",\"name\":\"IRI\",\"description\":\"Total Data Management Blog\",\"publisher\":{\"@id\":\"https:\/\/www.iri.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.iri.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.iri.com\/blog\/#organization\",\"name\":\"IRI\",\"url\":\"https:\/\/www.iri.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.iri.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png\",\"contentUrl\":\"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png\",\"width\":750,\"height\":206,\"caption\":\"IRI\"},\"image\":{\"@id\":\"https:\/\/www.iri.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.iri.com\/blog\/#\/schema\/person\/acc581bfef8e29ae36a70cafd77121a7\",\"name\":\"Uli Bethke\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.iri.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0ecf5eeb999d448380e478be54356df2?s=96&d=blank&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0ecf5eeb999d448380e478be54356df2?s=96&d=blank&r=g\",\"caption\":\"Uli Bethke\"},\"url\":\"https:\/\/www.iri.com\/blog\/author\/ulibethke\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Process and Protect HL7 Data with Voracity - IRI","description":"Integrate and mask sensitive healthcare data in HL7 files using IRI Voracity with Sonra Flexter for ETL or IRI DarkShield for PHI masking.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/","og_locale":"en_US","og_type":"article","og_title":"Process and Protect HL7 Data with Voracity","og_description":"Integrate and mask sensitive healthcare data in HL7 files using IRI Voracity with Sonra Flexter for ETL or IRI DarkShield for PHI masking.","og_url":"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/","og_site_name":"IRI","article_published_time":"2017-06-12T16:11:12+00:00","article_modified_time":"2026-02-23T20:23:47+00:00","og_image":[{"width":1180,"height":786,"url":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Final-result.png","type":"image\/png"}],"author":"Uli Bethke","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Uli Bethke","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/#article","isPartOf":{"@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/"},"author":{"name":"Uli Bethke","@id":"https:\/\/www.iri.com\/blog\/#\/schema\/person\/acc581bfef8e29ae36a70cafd77121a7"},"headline":"Process and Protect HL7 Data with Voracity","datePublished":"2017-06-12T16:11:12+00:00","dateModified":"2026-02-23T20:23:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/"},"wordCount":879,"commentCount":2,"publisher":{"@id":"https:\/\/www.iri.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/#primaryimage"},"thumbnailUrl":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Final-result.png","keywords":["Flexter Data Liberator","HL7","HL7 ADT","HL7 get started","HL7 intro","HL7 message encryption","HL7 message masking","HL7 ORU","HL7 XML","IRI Voracity","xml","XSD"],"articleSection":["Data Masking\/Protection","Data Migration","Data Transformation","ETL","IRI Workbench","Archived Articles"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/","url":"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/","name":"Process and Protect HL7 Data with Voracity - IRI","isPartOf":{"@id":"https:\/\/www.iri.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/#primaryimage"},"image":{"@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/#primaryimage"},"thumbnailUrl":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Final-result.png","datePublished":"2017-06-12T16:11:12+00:00","dateModified":"2026-02-23T20:23:47+00:00","description":"Integrate and mask sensitive healthcare data in HL7 files using IRI Voracity with Sonra Flexter for ETL or IRI DarkShield for PHI masking.","breadcrumb":{"@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/#primaryimage","url":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Final-result.png","contentUrl":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Final-result.png","width":1180,"height":786,"caption":"Final result"},{"@type":"BreadcrumbList","@id":"https:\/\/www.iri.com\/blog\/data-transformation2\/process-and-protect-hl7-data-with-voracity\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.iri.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Process and Protect HL7 Data with Voracity"}]},{"@type":"WebSite","@id":"https:\/\/www.iri.com\/blog\/#website","url":"https:\/\/www.iri.com\/blog\/","name":"IRI","description":"Total Data Management Blog","publisher":{"@id":"https:\/\/www.iri.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.iri.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.iri.com\/blog\/#organization","name":"IRI","url":"https:\/\/www.iri.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.iri.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png","contentUrl":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2019\/02\/iri-logo-total-data-management-small-1.png","width":750,"height":206,"caption":"IRI"},"image":{"@id":"https:\/\/www.iri.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.iri.com\/blog\/#\/schema\/person\/acc581bfef8e29ae36a70cafd77121a7","name":"Uli Bethke","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.iri.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0ecf5eeb999d448380e478be54356df2?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0ecf5eeb999d448380e478be54356df2?s=96&d=blank&r=g","caption":"Uli Bethke"},"url":"https:\/\/www.iri.com\/blog\/author\/ulibethke\/"}]}},"jetpack_featured_media_url":"https:\/\/www.iri.com\/blog\/wp-content\/uploads\/2017\/06\/Final-result.png","_links":{"self":[{"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/posts\/11109"}],"collection":[{"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/users\/104"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/comments?post=11109"}],"version-history":[{"count":12,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/posts\/11109\/revisions"}],"predecessor-version":[{"id":18123,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/posts\/11109\/revisions\/18123"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/media\/11116"}],"wp:attachment":[{"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/media?parent=11109"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/categories?post=11109"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iri.com\/blog\/wp-json\/wp\/v2\/tags?post=11109"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}