Normalizing ADT Data

CTS allows you to normalize ADT data by specifying regular expressions that search and replace patient location and patient ID values in the HL7 feed so they are suitable for your Vocera system. A regular expression is a string that is used to find and manipulate text.

If you are unfamiliar with regular expressions, Vocera recommends that you brush up on them before tackling the task of normalizing patient locations and patient IDs. Here are just a few books that will help you learn how to use regular expressions:

There are also several regular expression tutorials and cheat sheets that you can find online.

Why would you need to normalize patient location values? For two reasons:

  1. Epic HL7 patient location values do not conform to the conventions for Vocera Staff Assignment group names.
  2. Some Epic HL7 patient locations are in hospital units not managed by Vocera Staff Assignment, and therefore all messages related to those locations can be ignored.

To normalize patient location and patient ID values, CTS requires that you create XML files with the following names in the \vocera\vcts\resources folder:

Table 1. XML files for normalizing patient location and patient ID
XML file Description
apl.xml Active (current) patient location
ppl.xml Prior patient location
pid.xml Patient ID

Here's a sample normalizer file for the active patient location (apl.xml):

Active patient location normalizer

<normalizer>
  <entry>
    <format>$1 Room $2 : Saint Joseph</format>
    <node>
      <input>/PV1-3-1</input>
      <pattern>SJ ([0-9]+ North).*</pattern>
      <variables>$*,$1</variables>
      <node>
        <input>/PV1-3-2</input>
        <pattern>^.*([0-9]{2})$</pattern>
        <variables>$*,$2</variables>
        <node>
          <input>$2</input>
          <pattern>0*([0-9]+)</pattern>
          <variables>$*,$2</variables>
        </node>
      </node>
    </node>
    <node>
      <input>/PV1-3-1</input>
      <pattern>SJ (ICU).*</pattern>
      <variables>$*,$1</variables>
      <node>
        <input>/PV1-3-2</input>
        <pattern>CC([0-9]+)</pattern>
        <variables>$*,$2</variables>
        <node>
          <input>$2</input>
          <pattern>0*([0-9]+)</pattern>
          <variables>$*,$2</variables>
        </node>
      </node>
    </node>
  </entry>
</normalizer>