Question
· Sep 9

Creating a lookup table with Data from ADT message to reference later in business rule

I have a vendor that only wants results on patients that arrive to the ED via EMS/Ambulance.  The value I need for filtering is in the PV2;38. Some of the results requested do not allow the PV2 segment to be added to the schema in the EMR.  I was told that other orgs have used a lookup table that is populated with the PV1;19 value when an ADT messages that meets the criteria is sent in.  This table is then referenced in the business rule for the results that do not have PV2;38 and if Encounter number from result message exists on the Table, the result is sent.  Has anyone done this before?  

Documentation I found suggests copying the EnsLib.Hl7.SearchTable.  Is this the correct route to take?  

Appreciate any feedback or instructions.  

Thanks!

Gigi La Course

Product version: IRIS 2024.1
Discussion (1)2
Log in or sign up to continue

To achieve your goal of filtering results based on EMS/Ambulance patient arrivals in the ED and using a lookup table for filtering based on PV1;19 values, you can consider the following approach:

  1. Using a SearchTable:

    • To create your lookup table, you can base it on the EnsLib.HL7.SearchTable class. This class allows for indexing specific fields within HL7 messages for faster query and rule processing.
    • You would typically:
      1. Copy the EnsLib.HL7.SearchTable class to a new custom class.
      2. Modify or extend the XData block to include specific fields you want to index, such as PV1;19.
      3. Assign this custom SearchTable in your production to the relevant components (like business rules or message routers) [1][2][3][4].
  2. Creating the Lookup Table:

    • Your custom SearchTable would define how the PV1;19 values in incoming ADT messages are stored and indexed.
    • Examples and modifications to SearchTables can be found in related documentation and community discussions, allowing you to adjust fields such as PV1:19 for filtering purposes [3][4].
  3. Referencing the Table in Business Rules:

    • Once the table is populated with relevant messages based on filtering from PV1;19, you can create business rules that reference this lookup table to decide whether subsequent result messages should be sent or filtered.
    • Ensure your business rule uses the encounter number present in the result messages and checks for its presence in the SearchTable before sending the result to the vendor [4].
  4. Populating Data into the SearchTable:

    • Use the BuildIndex() method to populate indices against past messages after configuring the SearchTable. Future messages will be evaluated in real-time as they pass through the production components configured with the SearchTable [4][5][6].

This approach allows for high-performance filtering and aligns with the described requirement of checking result messages against previously processed ADT messages to identify valid cases.

If additional help is needed with specific code examples or validation, the Developer Community or detailed examples provided in documentation can provide further support.

Sources: