OERR Package Interface Specifications Feb09

Document Sample
OERR Package Interface Specifications Feb09 Powered By Docstoc
					       OE/RR Version 3

Package Interface Specifications




        Updated February 2009
         Department of Veterans Affairs
    Health Systems Design and Development
                Provider Systems




2      OE/RR Package Interface Specification   February 2009
Table of Contents

INTRODUCTION ................................................................................................................................................. 4

GENERAL ISSUES ................................................................................................................................................ 5

PACKAGE SPECIFICATIONS .................................................................................................................................... 9

ADVERSE REACTION TRACKING............................................................................................................................ 11

CONSULT/REQUEST TRACKING ............................................................................................................................ 14

NUTRITION & FOOD SVC ................................................................................................................................... 35

GENERIC ORDERS ............................................................................................................................................. 63

LABORATORY .................................................................................................................................................. 67

MAS ............................................................................................................................................................ 88

MEDICINE (CLINICAL PROCEDURES) ...................................................................................................................... 93

NURSING ....................................................................................................................................................... 94

PHARMACY .................................................................................................................................................... 95

RADIOLOGY/NUCLEAR MEDICINE ...................................................................................................................... 143

SCHEDULING ................................................................................................................................................. 163

SURGERY ..................................................................................................................................................... 164

VITALS ........................................................................................................................................................ 166

VBECS – VISTA BLOOD ENHANCEMENT COMPUTER SYSTEM ................................................................................... 168

APPENDIX A: REQUIRED AND REQUESTED ORDER CHECKS ....................................................................................... 169




February 2009                                        OE/RR Package Interface Specification                                                                     3
Introduction


This document contains the specifications for interfaces between OE/RR version 3 and other VistA packages.
We perceive this to be an evolving document, with each new version incorporating the changes and suggestions
agreed upon between the developers.



Most of the specifications are based on the HL7 2.3 draft specification. Please refer to it as you study this
document. In many places we refer to tables, coded values, and explanations contained in the HL7 document.



The format for communicating ORDER EVENTS and ORDERABLE ITEM UPDATES between Order Entry and
Authoritative packages will be done in HL7 version 2.3 formatted messages and as described in the OE/RR
Interface Specification Document. Examples of Order Events include new orders, rejected orders, discontinued
orders, order status updates and results upon completion.



The format for specified procedure calls to obtain interactive lists of items or true/false responses as described
in the OE/RR Interface Specification Document will be optimized to assure an acceptable interactive response
time. Entry point definition and naming as well as the format of the array in which the requested data is
returned to OE is left up to the responsible developer with the understanding that it will be documented for the
OE team to code against.



We hope this document provides adequate information about the interfaces between packages and OE/RR. We
appreciate the significant effort this project has required from all of us. We believe this product is of great
benefit to our health care system. Please call if you have any questions or concerns.




4                                    OE/RR Package Interface Specification                         February 2009
General Issues

HL7 Discussion: Based on MIRMO mandates, developer agreements at the September 1993 OE/RR Developer
and the April 1994 Messaging System meetings, inter-VistA package communication will occur via protocol
event points and HL7 compatible arrays. Using this communication strategy, a VistA package can hang a
protocol off another VistA package’s event protocol to obtain and process data in the HL7 arrays.



General Ordering/Resulting Process: When an order is placed and signed in OE/RR 3, an array of information
specific to the order will be created and an event protocol evoked. The array content will be HL7 specification
2.3 compatible and use HL7 tables or tables agreed upon between OE/RR and the respective package. The
content varies from package to package. From the OE/RR event protocol, the order filling package and other
interested packages will be able to hang their own protocols to obtain and process the order information.



For resulting and status changes, the order filling package will invoke an event protocol with an accompanying
HL7 array. OE/RR and other interested packages will hang their own protocols off the event protocol to obtain
and process the result information.



Clinical Lexicon: Key components of HL7 communication and translation between VistA packages and HOST
systems are the Coded Element (CE) fields. The CE data type is used to uniquely identify the item being
communicated in the HL7 message. There are two groups of components in a CE field. The first group includes
a unique identifier, textual representation, and the name of the coding system used. The second group allows
for a local identifier, term, and coding system. The first group must provide uniqueness to the data items so
they can be accurately mapped and translated by subscribers of the HL7 Messaging System. The first group CE
components will be referred to as CE1. For most OE/RR-related messages, CE1 will be found in the OBR
segment, field 4 (Universal Service ID.) Unsolicited results from the filling application will place CE1 in segment
OBX, field 3 (Observation Identifier.)



To facilitate communication between VistA packages and a wide variety of HOST systems, CE1 should map
easily to several different universal standards. Among others, this includes CPT, ICD, UMLS, SNOMED, NANDA,
Euclides, and DSM. Current efforts by the National Library of Medicine are directed at creating a Unified
Medical Language System (UMLS) which will serve as a meta-thesaurus for these diverse standards. The VistA
Clinical Lexicon file incorporates the UMLS meta-thesaurus and additional industry standards used in health
care. Thus the Clinical Lexicon could serve as a VHA-wide standard for clinical nomenclature which, through its
UMLS extensions, will map to a variety of coding standards used by prospective HOST systems (thus increasing
their ability to "plug and play".)



February 2009                         OE/RR Package Interface Specification                                      5
The benefit of using the VistA Clinical Lexicon as the coding scheme for CE1 extends to VistA packages. The
effort to develop an automated patient record with clinician interface requires a "clinician friendly"
representation of clinical data. The Clinical Lexicon supports this clinician-oriented view; many other coding
standards do not. The Clinical Lexicon will also support the exchange of data between VAMCs, development of
expert system/order checking rules, query of clinical data in v-files, and exchange of data between VistA and
external/HOST systems. Developers are encouraged to consider the possibility of creating links between their
terminology files and the Clinical Lexicon.



Notifications: In OE/RR 3, all notifications will be triggered via special Notifications protocols hung off package
protocol event points. For example, Critical Lab Result notifications will be triggered by hanging a Notifications
protocol off the Lab protocol LR7O CH EVSEND OR. The contents of the message will be processed to
determine if the Order Control is RE (completed). If it is, and the OBX-8 field (Abnormal Flags) is LL, HH or AA
(HL7 table 0078), the Critical Lab Result notification will be triggered. By mapping data requirements to HL7
segments and fields, the Notifications component of OE/RR will be able to obtain notification triggering
information from protocol event points, removing the need for developers to hard-code notification triggering
events in their respective packages.



Coded Elements: In many cases, the closest thing in VistA to a coded identifier which uniquely names an entity
is the internal entry number (IEN). Therefore, we use the IEN where it is important to specifically identify an
entity. This, however, is not ideal, as the values for IENs vary from system to system.



Using IENs essentially turns a file into a local coding system. This local coding is used in addition to national
coding, if a linkage to a national code exists. Local coding systems are identified using the format ‘99xxx’ (see
HL7 2.4.5.17). The following table lists the 99xxx code used to identify files in cases where we use the file as a
coding system.



    Code ID    Description

    99ALL      Allergies file

    99ALS      Signs/Symptoms file

    99CON      Consult Request Services file

    99DD       FileMan file, the code will be the file number

    99FHD      Diets file

    99FHI      Isolation/Precaution Type file

    99FHS      Diet Service Period (see Dietetics chapter)

    99FHT      Tubefeeding file

6                                     OE/RR Package Interface Specification                          February 2009
 99LEX          Clinical Lexicon Expressions file

 99LRB          Blood Products file

 99LRS          Collection Sample file

 99LRT          Laboratory Test file

 99LRX          Topography Field file

 99NDF          National Drug file (Generic Name or Generic Name-Form)

 99OCX          Order Checking file

 99ORD          Orderable Items file

 99ORN          Nature of Order file

 99ORR          Order Reason file

 99PRC          ConsultProcedure file

 99PRO          Protocol file

 99PSC          VA Drug Class file (use Drug Class code, not IEN)

 99PSD          Drug file

 99PSF          Dosage Form file

 99PSP          Pharmacy Orderable Item file

 99PSR          Medication Routes file

 99PSU          Drug Units file

 99RAP          Radiology/Nuclear Medicine Procedures file

 99RAR          Radiology/Nuclear Medicine Reason file



 99OTH          Other code, no specific file is involved, see table below




This local, VistA-specific code is placed in the alternative code portion of the coded element type. The first
three fields of the coded element are reserved for HL7-approved coding systems. The Clinical Lexicon will likely
play a significant part in accomplishing this.



It should be remembered that the text portion of the coded element is optional. It is shown in this document
for clarity but may not be present in the actual message.



When 99OTH is used as the coding system, possible values for the code are listed below.

February 2009                        OE/RR Package Interface Specification                                     7
    Code      Description

    FH-1      1/4 strength

    FH-2      1/2 strength

    FH-3      3/4 strength

    FH-4      full strength

    FH-5      NPO Diet

    FH-6      Diet Additional Order



    PS-1      IV Order (used in RXO-1)

    PS-2      Order Check (used in OBX 3 to identify an order check)

    PSIV-1    ML            (IV additive units)

    PSIV-2    LITER                      “

    PSIV-3    MCG                        “

    PSIV-4    MG                             “

    PSIV-5    GM                             “

    PSIV-6    UNITS                  “

    PSIV-7    IU                                 “

    PSIV-8    MEQ                        “

    PSIV-9    MM                             “

    PSIV-10   MU                             “

    PSIV-11   THOUU              “



    NOS       Not otherwise specified. This indicates that a coded element was not
              selected and that text portion of the coded element is what was
              entered (free text entry).




8                              OE/RR Package Interface Specification     February 2009
Package Specifications
The specifications are grouped by package. Each package specification contains several sections. These
sections are described below.



HL7 Ordering Fields: This is a list of fields that will be used in exchanging order information with a given
package. The fields are based completely on the HL7 2.3 specification. For each field the HL7 name, segment,
and sequence numbers are identified. Not all fields will be used in every transaction. Repeating segments are
identified with curly braces. We have made the simplifying assumption that, for order transactions, only one
patient per message will be sent.



Order Event Messages: This section identifies the fields that will be passed between OE/RR and the package on
an event by event basis. For instance, the fields that are passed for new orders, rejected orders, discontinued
orders, etc. are listed. The protocol that will be invoked for each event is also identified. The protocols involved
in the event messages as well as the routines they call must not interact with the user. They must be silent to
allow background processing. It cannot be assumed that a user will be available to answer prompts or read
messages written to the screen.



Orderable Item Updates: This section identifies the information that must be passed to OE/RR when packages
that have their own orderable item files make changes to those files. OE/RR needs to have a complete file of
items that are orderable to facilitate order set and order checking capabilities. It will be necessary to have
packages populate this file when OE/RR is first installed. After the initial population of the files, subsequent
updates will occur through the protocol event points identified in this section.



Ordering Parameters: This section identifies parameters in the package that are required by OE/RR. To provide
the kind of order validation that is currently offered by individual packages, OE/RR must access site parameters
set up by the individual packages. These parameters that will be needed by OE/RR and the names by which
they will be known in OE/RR are listed here. They will be kept in the Parameter Tools package.



Package Calls: There are instances where OE/RR needs information from a package that is not related to a
specific order event or file update event. This information will be obtained from packages via parameter passed
calls. The purpose of the call, and values passed, and the data to be returned are identified in this section. The
specific syntax and names of the calls are up to each package.



Open Issues: Any issues that are not yet resolved are listed in this section.


February 2009                         OE/RR Package Interface Specification                                      9
10   OE/RR Package Interface Specification   February 2009
Adverse Reaction Tracking
Procedure Calls


Beginning with patch OR*3*195 (GUI v25), allergies and adverse reactions are no longer entered into CPRS as
orders, and thus will no longer be passed to the Adverse Reaction Tracking package as an order message in HL7
format.



The following procedure calls have been provided by the Adverse Reaction Tracking package. Note that to
behave properly in a windowed environment, all variables used in the calls must be NEWed properly. Only
silent calls are acceptable (no reads or writes).



   Return Allergies/Adverse Reactions

   EN1^GMRAOR1(DFN,ARRAY)

       Passed:                 DFN:      Internal Entry number for patient in Patient (2) file.

                            ARRAY:       Optional variable indicating name of array in which
                                         results should be returned. If this is undefined, the
                                         array will be returned.

       Returned:            GMRARXN: <null,0,1 (no allergy assessment, no known allergies,
                                     one or more allergies)>

                        GMRARXN(X): Array of allergies/reactions for the patient
                                    including: <allergen/reactant^severity^ien>

                GMRARXN(X,"S",Y): Array of signs/symptoms for this reaction:
                                  <sign/symptom>




   Return true/false if patient is allergic to specified allergen

   $$ORCHK^GMRAOR(DFN,SOURCE,VALUE)

   Passed:      Upon selection of medication and certain radiological orderable items
                                  during order entry, OE/RR will call an entry point in
                                  the Allergy Tracking System (ATS) and provide the
                                  following information:

                        DFN:             Internal Entry number for patient in Patient (2) file.

                  SOURCE:                CM:      if contrast media (radiological orderable items
                                                                          which use contrast
                                         media)

                                         DR:      if drug (medication orderable items)

February 2009                         OE/RR Package Interface Specification                               11
                    VALUE:             Blank if source is CM,

                                       National Drug File ptr for medication selected if
                                                               source is DR

     Returned:     Provide an extrinsic function (or equivalent) to receive the
                                   information passed by OE/RR. Based on the SOURCE
                                   parameter, the extrinsic function will provide:

                   SOURCE="CM"         True (1) or False (0) if the patient has an allergy to
                                                               any contrast media.

                        Function value:   <null, 0, 1 (error in passed parameters or
                                    patient not in ART database, no reaction to contrast
                                    media, reaction to contrast media)>



                   SOURCE="DR"         True (1) or False (0) if the patient has an allergy to
                                                               the drug identified in the
                                       VALUE parameter, its                            VA
                                       drug class(es), or its ingredient(s) and an

                                                 Array of the class(es) and ingredient(s) the
                                                                         patient is allergic to.

                        Function value:   <null, 0, 1, 2 (no allergy assessment, no
                                    reaction to drug identified, reaction to drug
                                    identified, reaction only to one or more of VA drug
                                    classes of the drug identified by VALUE)>

                             GMRAING(X):   If function value is 1, this will be an array of
                                     the drug ingredients for drug identified in VALUE that
                                     the patient is allergic to: <drug ingredient>

                            GMRADRCL(X):   If function value is 2, this will be an array of
                                     the VA drug classes for drug identified in VALUE that
                                     the patient is allergic to: <VA drug class code^VA
                                     drug class name>




     Return Allergies/Adverse Reaction details

     EN1^GMRAOR2(IEN,ARRAY)

        Passed:               IEN:     Internal Entry number for Allergy/Adverse Reaction in
                                       Patient Allergies (120.8) file.

                            ARRAY:     Optional variable indicating name of array in which
                                       results should be returned. If this is undefined, the
                                       array will be returned.

        Returned:      Detailed info for a patient’s allergies/adverse reaction.

                            GMRACT:    <causative agent^originator^originator title^verified/
                                       not verified^observed/historical^^allergy type>



12                                   OE/RR Package Interface Specification            February 2009
                 GMRACT("C",Y):        Array of comments for this reaction. Comments is a
                                       multiple field, and word processing: <date/time
                                       entered^source (verifier/originator)>

           GMRACT("C",Y,Z,0):          Word processing text for comment GMRACT("C",Y).

                 GMRACT("O",Y):        Array of observation dates/severitys for this
                                       reaction: <observation date^severity>

                 GMRACT("S",Y):        Array of signs/symptoms for this reaction:
                                       <sign/symptom>

                 GMRACT("V",Y):        Array of VA drug classes for this reaction:         <VA drug
                                       class code^VA drug class name>




   Return orderable items

   EN1^GMRAOR3(START,NUM,ARRAY)

       passed:              START:     Optionally this is the starting point of the list that
                                       needs to be returned. If this does not exist, or it
                                       is null, the first NUM entries from list will be
                                       returned.

                              NUM:     Optionally this is the number of entries in this part
                                       of the list to be returned. If this parameter is
                                       undefined, or is null, then all entries from START to
                                       end of list will be returned.

                            ARRAY:     Optional variable indicating name of array in which
                                       results should be returned. If this is undefined, the
                                       GMRALST array will be returned.

       returned: GMRALST(X):           Array of orderable items, where X is a number 1 to
                                       number of items in list. One of the following three
                                       formats can exist depending on the source file of the
                                       item:

                                               If source is National Drug file:

                                                       <NDF IEN>^<VA Generic Name>^99NDF

                                               If source is VA Drug Class file:

                                                       <Drug Class Code>^<Classification>^99PSC

                                               If source is GMR Allergy file:

                     <Allergies IEN>^<Name>^99ALL




February 2009                        OE/RR Package Interface Specification                       13
Consult/Request Tracking
HL7 Fields
The following is a list of HL7 fields that are used in transactions between OE/RR 3 and the Consult/Request
Tracking package. Not every field will be used in every message.



SEG            SEQ   FIELD NAME                     EXAMPLE                        HL7 TYPE

MSH            1     Field Separator                |                              string

               2     Encoding Characters            ^~\&                           string

               3     Sending Application            ORDER ENTRY                    string

               4     Sending Facility               660                            string

               5     Receiving Application          CONSULTS                       string

               6     Receiving Facility             660                            string

               7     D/T of Message                 199404141430                   timestamp

               9     Message Type                   ORM                            ID



PID            3     Patient ID                     5340747                        composite ID

               5     Patient Name                   PATIENT,ONE H                  patient name



PV1            2     Patient Class                  I                              table 4

               3     Patient Location               32^234-4                       user table



{ ORC          1     Order Control                  NW                             table 119

               2     Placer Order Number            234123;1^OR                    number^application

               3     Filler Order Number            870745^GMRC                    number^application

               5     Order Status                   IP                             table 38

               7     Quantity/Timing                ^^^^^R                         ^^^^^priority

                                                                                   coded per HL7 4.4

               9     Date/Time of                   199404141425                   timestamp
                     Transaction

               10    Entered By                     1166                           composite ID



14                                   OE/RR Package Interface Specification                        February 2009
                12   Ordering Provider              1270                            composite ID

                15   Order Effective D/T            199404141430                    timestamp

                16   Order Control Reason           W^WRITTEN^99ORN^^^              coded element



    NTE         1    Set ID                         16                              set ID

                2    Source of Comment              L                               table 105

                3    Comment                        Cancelled by Service            formatted text



    OBR         4    Universal Service ID           ^^^58^Cardiology^99CON coded element

                18   Placer Field 1 (used           B                               string
                     for place of
                     consultation)

                19   Placer Field 2 (used           1044                            string
                     for attention)

                22   Results Rpt/Status             199404150635                    timestamp
                     Change - Date/Time

                25   Result Status                  F                               table 123

                32   Principle Result               1345                            composite ID
                     Interpreter



    ZSV         1    Request Service ID             ^^^12^Psychiatry^99CON coded element

                2    Consult Type                   Family Counseling               string



    { OBX }     1    Set ID                         1                               number

                2    Value Type                     TX                              table 125

                3    Observation ID                 2000.02^Reason for              coded element
                                                    Request^AS4

                4    Observation Sub-ID             1                               string

                5    Observation Value              r/o TB                          string

}               8    Abnormal Flag                  N                               table 78

Notes:        Sending Application is the name of the VistA package generating the message; Receiving
              Application is the VistA package that is the intended recipient of the message. Sending Facility
              and Receiving Facility are the station number.



February 2009                        OE/RR Package Interface Specification                                       15
     Patient ID is patient DFN (pointer to file 2)



     Patient Location, for an inpatient, is Hospital Location IEN^Room-Bed. For an outpatient, it is the
     Hospital Location IEN. In both cases it is the location from which the order is being placed.



     Placer Order Number is the OE/RR order number.



     Filler Order Number is the Consult order number.



     Order Status is needed when Consults releases an order; possible values

     from HL7 table 38 include:

               DC=Discontinued           SC=Active                          A=Partial Results

               CM=Completed              ZC=Scheduled                      CA=Cancelled (Denied)

               IP=Pending                RP=DC’d due to Edit




     Quantity/Timing will contain only the urgency, in the sixth ^-piece;

     possible values include:

                 S=Stat                  Z24=Within 24 hours               ZW=Within 1 week

                 R=Routine               Z48=Within 48 hours               ZM=Within 1 month

               ZT=Today                  Z72=Within 72 hours               ZN=Next available

               ZE=Emergency




     Entered By and Ordering Provider are IENs in the New Person file.



     Universal Service ID is a national code in the first part. The alternate code is essentially a pointer
     to the Request Services file.



     Placer Field 1 will contain the place of consultation, as a set of codes;

     possible values include:
16                          OE/RR Package Interface Specification                            February 2009
                       B=Bedside

                       E=Emergency Room

                      OC=Consultant’s choice




            Placer Field 2 will contain the IEN in the New Person file of the user to whom this consult should
            be directed.



            The OBX segment is used to transmit related data about the patient when placing a consult
            request; possible observation ID’s include:

                      Reason for Request              (AS4 2000.02)             = text

                      Provisional Diagnosis           (not coded)               = text

                      Provisional Diagnosis           (coded element)           = ICD ^ text

            The Observation ID is used for ordering OBX segments.




February 2009                      OE/RR Package Interface Specification                                    17
Consult/Request Tracking
Order Event Messages


The following tables identify the HL7 fields that are passed in each kind of event associated with OE/RR. For
each event there is an order control code and a set of fields listed. For any given event, however, some of the
fields may be empty (observation sub-id, for example).



The protocols identified in the tables use OE/RR namespacing conventions. The messages sent by OE/RR will
use the OR namespaced protocols indicated. Individual packages may use whatever protocol names they wish.



Front Door – Consult/Request Tracking

Action               Request from OE/RR                 Consults accepts            Consults rejects



Protocol             OR EVSEND GMRC                     GMRC EVSEND OR              GMRC EVSEND OR

Order Control        NW (new order)                     OK (accepted)               UA (unable to accept)

HL7 Fields           MSH: 1,2,3,4,5,6,7,9               MSH: 1,2,3,4,9              MSH: 1,2,3,4,9

                     PID: 3,5                           PID: 3,5                    PID: 3,5

                     PV1: 2,3                           ORC: 1,2,3                  ORC: 1,2,3,12,15,16

                     ORC: 1,2,7,9,10,12,15,16                                       OBR: 4

                     OBR: 4,18,19

                     ZSV: 1,2

                     OBX: 1,2,3,5



Protocol             OR EVSEND GMRC                     GMRC EVSEND OR              GMRC EVSEND OR

Order Control        DC (discontinue)                   DR (discontinued)           UD (unable to dc)

HL7 Fields           MSH: 1,2,3,4,5,6,7,9               MSH: 1,2,3,4,9              MSH: 1,2,3,4,9

                     PID: 3,5                           PID: 3,5                    PID: 3,5

                     ORC: 1,2,3,10,12,15,16             ORC: 1,2,3                  ORC: 1,2,3,16



Example:        Pulmonary Consult at bedside to rule out pneumonia

18                                   OE/RR Package Interface Specification                        February 2009
New Order

Array:          MSG(1)="MSH|^~\&|ORDER ENTRY|660|CONSULTS|660|199409151430||ORM"

                MSG(2)="PID|||270||PATIENT,ONE Q."

                MSG(3)="PV1||I|12^4101-B||||||||||||||||"

                MSG(4)="ORC|NW|934;1^OR|||||^^^^^R||199409151425|10||6|||199409151430|W

                      ^WRITTEN^99ORN"

                MSG(5)="OBR||||^^^25^^99CON||||||||||||||B|1044"

                MSG(6)="ZSV|^^^7^PULMONARY^99CON|"

                MSG(7)="OBX|1|TX|2000.02^Reason for Request^AS4|1|R/o pneumonia"

                MSG(8)="OBX|2|TX|^Provisional Diagnosis|1|Viral infection"

Call:           D MSG^XQOR("OR EVSEND GMRC",.MSG)        ; New order from OE/RR



Array:          MSG(1)="MSH|^~\&|CONSULTS|660|||||ORR"

                MSG(2)="PID|||270||PATIENT,ONE Q."

                MSG(3)="ORC|OK|934;1^OR|233445^GMRC"

Call:           D MSG^XQOR("GMRC EVSEND OR",.MSG)        ; Consults accepts, returns order #



Discontinue an Order

Array:          MSG(1)="MSH|^~\&|ORDER ENTRY|660|CONSULTS|660|199409151430||ORM"

                MSG(2)="PID|||270||PATIENT,ONE Q."

                MSG(3)="ORC|DC|934;2^OR|233445^GMRC|||||||10||6|||199409151430|W^WRITTEN

                        ^99ORN^14^Requesting Physician Cancelled^99ORR"

Call:           D MSG^XQOR("OR EVSEND GMRC",.MSG)        ; OE/RR requests discontinuing order



Array:          MSG(1)="MSH|^~\&|CONSULTS|660|||||ORR"

                MSG(2)="PID|||270||PATIENT,ONE Q."

                MSG(3)="ORC|DR|934;2^OR|233445^GMRC"

Call:           D MSG^XQOR("GMRC EVSEND OR",.MSG)                ; Consults discontinues order




February 2009                  OE/RR Package Interface Specification                        19
Example:    EKG at bedside stat



New Order

Array:      MSG(1)="MSH|^~\&|ORDER ENTRY|660|CONSULTS|660|199409151430||ORM"

            MSG(2)="PID|||270||PATIENT,ONE Q."

            MSG(3)="PV1||I|12^4101-B||||||||||||||||"

            MSG(4)="ORC|NW|935;1^OR|||||^^^^^S||199409151425|10||6|||199409151430|E

                  ^ELECTRONICALLY ENTERED^99ORN"

            MSG(5)="OBR||||^^^25^Electrocardiogram^99PRC||||||||||||||B|1044"

            MSG(6)="ZSV|^^^4^CARDIOLOGY^99CON"

            MSG(7)="OBX|1|TX|2000.02^Reason for Request^AS4|1|Monitoring progress"

            MSG(8)="OBX|2|CE|^PROVISIONAL DIAGNOSIS^||413.9^Angina^I9C"

Call:       D MSG^XQOR("OR EVSEND GMRC",.MSG)        ; New order from OE/RR



Array:      MSG(1)="MSH|^~\&|CONSULTS|660|||||ORR"

            MSG(2)="PID|||270||PATIENT,ONE Q."

            MSG(3)="ORC|OK|935;1^OR|233446^GMRC"

Call:       D MSG^XQOR("GMRC EVSEND OR",.MSG)        ; Consults accepts, returns order #




Example:    Family Counseling consult



New Order

Array:      MSG(1)="MSH|^~\&|ORDER ENTRY|660|CONSULTS|660|199409151430||ORM"

            MSG(2)="PID|||270||PATIENT,ONE Q."

            MSG(3)="PV1||I|12^4101-B||||||||||||||||"

            MSG(4)="ORC|NW|936;1^OR|||||^^^^^R||199409151425|10||6|||199409151430|E

                  ^ELECTRONICALLY ENTERED^99ORN"

            MSG(5)="OBR||||^^^15^PSYCHIATRY^99CON||||||||||||||OC|1044"

            MSG(6)="ZSV|^^^15^PSYCHIATRY^99CON|Family Counseling"

            MSG(7)="OBX|1|TX|2000.02^Reason for Request^AS4|1|"

20                         OE/RR Package Interface Specification              February 2009
Call:           D MSG^XQOR("OR EVSEND GMRC",.MSG)        ; New order from OE/RR




Array:          MSG(1)="MSH|^~\&|CONSULTS|660|||||ORR"

                MSG(2)="PID|||270||PATIENT,ONE Q."

                MSG(3)="ORC|OK|936;1^OR|233447^GMRC"

Call:           D MSG^XQOR("GMRC EVSEND OR",.MSG)        ; Consults accepts, returns order #




February 2009                  OE/RR Package Interface Specification                      21
Back door orders are handled by sending OE/RR the ORM message for a Consult order with a ‘send number’
order control code. This allows OE/RR to store the order in its database and return the OE/RR order number to
radiology with a ‘number assigned’ order control code. OE/RR cannot actually reject Consult events. The ‘data
errors’ order control code is just used as some way to communicate to Consults that OE/RR could not interpret
the ORM message. This should generally not happen. Use of the ‘back door’ by packages for ordering is
optional. It is still necessary to post an event when results are available.




Back Door – Consult/Request Tracking

Action              Event from Consults             OE/RR accepts                      OE/RR rejects



Protocol            GMRC EVSEND OR                                                     OR EVSEND GMRC

Order Control       SC (received)                                                      DE (data errors)

HL7 Fields          MSH: 1,2,3,4,9                  There is no return event.          MSH: 1,2,3,4,5,6,
                                                    OE/RR must accept the
                    PID: 3,5                        instruction from                          7,9
                                                    Consults.
                    PV1: 2,3                                                           PID: 3,5

                    ORC: 1,2,3,5,10,15                                                 ORC: 1,2,3,16

                    OBR: 4,22,25




Protocol            GMRC EVSEND OR                                                     OR EVSEND GMRC

Order Control       OC (cancelled/denied)                                              DE (data errors)

                    OD (discontinued)

HL7 Fields          MSH: 1,2,3,4,9                  There is no return event.          MSH: 1,2,3,4,5,6,
                                                    OE/RR must accept the
                    PID: 3,5                        instruction from                          7,9
                                                    Consults.
                    PV1: 2,3                                                           PID: 3,5

                    ORC: 1,2,3,5,7,10,15                                               ORC: 1,2,3,16

                    NTE: 1,2,3

                    OBR: 4,22,25




22                                  OE/RR Package Interface Specification                      February 2009
Protocol        GMRC EVSEND OR                                          OR EVSEND GMRC

Order Control   XX (forward, resubmit)                                  DE (data errors)

HL7 Fields      MSH: 1,2,3,4,9              There is no return event.   MSH: 1,2,3,4,5,6,
                                            OE/RR must accept the
                PID: 3,5                    instruction from                 7,9
                                            Consults.
                PV1: 2,3                                                PID: 3,5

                ORC: 1,2,3,5,7,9,10,                                    ORC: 1,2,3,16

                     12,15,16

                NTE: 1,2,3

                OBR: 4,18,19,22,25

                ZSV: 1

                OBX: 1,2,3,4,5




Protocol        GMRC EVSEND OR                                          OR EVSEND GMRC

Order Control   RE (completed)                                          DE (data errors)

HL7 Fields      MSH: 1,2,3,4,9              There is no return event.   MSH: 1,2,3,4,5,6,
                                            OE/RR must accept the
                PID: 3,5                    instruction from                 7,9
                                            Consults.
                PV1: 2,3                                                PID: 3,5

                ORC: 1,2,3,5,7,10,15                                    ORC: 1,2,3,16

                OBR: 4,22,25,32

                OBX: 1,2,3,4,5,8




February 2009                OE/RR Package Interface Specification                       23
Example:    Pulmonary consult at bedside to rule out pneumonia



Order Received

Array:      MSG(1)="MSH|^~\&|CONSULTS|660|||||ORM"

            MSG(2)="PID|||270||PATIENT,ONE Q."

            MSG(3)="PV1||I|1D^4101-B"

            MSG(4)="ORC|SC|92234;1^OR|234455^GMRC||SC|||||1374||1329|||199409151430"

            MSG(5)="OBR||||^^^7^PULMONARY^99CON||||||||||||||||||199409151445|||I"

Call:       D MSG^XQOR("GMRC EVSEND OR",.MSG)           ; Consults accepted order



Order Forwarded

Array:      MSG(1)="MSH|^~\&|CONSULTS|660|||||ORM"

            MSG(2)="PID|||270||PATIENT,ONE Q."

            MSG(3)="PV1||I|1D^4101-B"

            MSG(4)="ORC|XX|92234;1^OR|233445^GMRC||IP||^^^^^R||199409151530|10||6|||

                       199409151430|S^SERVICE CORRECTION^99ORN^^FORWARD^"

            MSG(5)="NTE|16|L|Suggest follow-up"

            MSG(6)="OBR||||^^^25^PUL/B^99CON||||||||||||||B|1044|||199409151530|||O"

            MSG(7)="ZSV|^^^25^PULMONARY B^99CON"

            MSG(8)="OBX|1|TX|2000.02^Reason for Request^AS4|1|R/O pneumonia"

Call:       D MSG^XQOR("GMRC EVSEND OR",.MSG)           ; New order from Consults



Discontinue an Order

Array:      MSG(1)="MSH|^~\&|CONSULTS|660|||||ORM"

            MSG(2)="PID|||270||PATIENT,ONE Q."

            MSG(3)="PV1||I|1D^4101-B"

            MSG(4)="ORC|OD|92234;2^OR|234455^GMRC||DC||^^^^^R||199409160910|10|||||

                       199409151430"

            MSG(5)="NTE|16|L|Consult no longer needed"

            MSG(6)="OBR||||^^^25^PUL/B^99CON||||||||||||||||||199409160910|||X"
24                            OE/RR Package Interface Specification                 February 2009
Call:           D MSG^XQOR("GMRC EVSEND OR",.MSG)          ; Consults discontinued order



Completed Order

Array:          MSG(1)="MSH|^~\&|CONSULTS|660|||||ORM"

                MSG(2)="PID|||270||PATIENT,ONE Q."

                MSG(3)="PV1||I|1D^4101-B"

                MSG(4)="ORC|RE|92234;2^OR|234455^GMRC||CM||^^^^^R||199409160910|10|||||

                        199409151430"

                MSG(5)="OBR||||^^^25^PUL/B^99CON||||||||||||||||||199409160910|||F|||||

                        ||455"

                MSG(6)="OBX|1|TX|2000.02^Reason for Request^AS4|1|R/O Pneumonia"

                MSG(7)="OBX|2|TX|^SIG FINDINGS^|1|Y"

Call:           D MSG^XQOR("GMRC EVSEND OR",.MSG)              ; Consults completed order




February 2009                    OE/RR Package Interface Specification                      25
Consult/Request Tracking
Orderable Item Updates


When Consult/Request Tracking makes request services available for ordering, OE/RR needs to be notified. This
is done via a protocol event point which should be defined by Consults. When this event point is invoked, an
HL7 master file update message is sent. Information that should be available in this segment is listed in the
following table.



SEG          SEQ   FIELD NAME                   EXAMPLE                     HL7 TYPE

MSH          1     Field Separator              |                           string

             2     Encoding Characters          ^~\&                        string

             3     Sending Application          CONSULTS                    string

             4     Sending Facility             660                         string

             9     Message Type                 MFN                         ID



MFI          1     Master File ID               123.5^REQUEST               coded element
                                                SERVICES^99DD

             3     File-Level Event             REP                         table 178
                   Code

             6     Response Level Code          NE                          table 179



{ MFE        1     Record-Level Event           MAD                         table 180
                   Code

             4     Primary Key                  ^^^25^CARDIOLOGY^99         coded element
                                                CON



     ZCS     1     Service Usage                2                           coded value (1=Grouper
                                                                            only, 2=Tracking only)



     { ZSY } 1     Set ID                       1                           Numeric

}            2     Synonym                      CARD                        string



Notes:       When doing the initial population of the orderable items file, the File Level Event Code should be
             REP. After the initial population, subsequent changes should have the UPD code.
26                                  OE/RR Package Interface Specification                        February 2009
            Orderable item updates always originate from Consults.



            There may be multiple MFE segments passed in a single transaction.



            The record-level event code tells whether this transaction is an update, addition, inactivation, etc.



            The primary key is the coded element that is normally passed when creating an order. By using
            the coded element, we can know the national and local names for a consult.



Example:

Adding a new request service

Array:          MSG(1)="MSH|^~\&|CONSULTS|660|||||MFN"

                MSG(2)="MFI|123.5^REQUEST SERVICES^99DD||REP|||NE"

                MSG(3)="MFE|MAD|||^^^4^CARDIOLOGY^99CON"

                MSG(4)="ZCS|2"

                MSG(5)="ZSY|1|CARD"

Call:           D MSG^XQOR("GMRC ORDERABLE ITEM UPDATE",.MSG)



Inactivating a request service

Array:          MSG(1)="MSH|^~\&|CONSULTS|660|||||MFN"

                MSG(2)="MFI|123.5^REQUEST SERVICES^99DD||UPD|||NE"

                MSG(3)="MFE|MDC|||^^^2^MEDICINE^99CON"

Call:           D MSG^XQOR("GMRC ORDERABLE ITEM UPDATE",.MSG)




February 2009                      OE/RR Package Interface Specification                                     27
Consult/Request Tracking - Procedure Requests
Orderable Item Updates


When Consults makes procedures available for ordering or inactivates a procedure, OE/RR needs to be notified.
This is done via a protocol event point which should be defined by Consults. When this event point is invoked,
an HL7 master file update message is sent. Information that should be available in this segment is listed in the
following table.



SEG           SEQ   FIELD NAME                   EXAMPLE                     HL7 TYPE

MSH           1     Field Separator              |                           string

              2     Encoding Characters          ^~\&                        string

              3     Sending Application          PROCEDURES                  string

              4     Sending Facility             660                         string

              9     Message Type                 MFN                         ID



MFI           1     Master File ID               123.3^PROCEDURES^99         coded element
                                                 DD

              3     File-Level Event             REP                         table 178
                    Code

              6     Response Level Code          NE                          table 179



{ MFE         1     Record-Level Event           MAD                         table 180
                    Code

              4     Primary Key                  ^^^1225^ELECTROCARD         coded element
                                                 IOGRAM^99PRC



     { ZSY}   1     Set ID                       1                           numeric

}             2     Synonym                      EKG                         string




Notes:        When doing the initial population of the orderable items file, the File Level Event Code should be
              REP. After initial population, subsequent changes should have the UPD code.



              Orderable item updates always originate from Consults.
28                                 OE/RR Package Interface Specification                          February 2009
              There may be multiple MFE segments passed in a single transaction.



              The record-level event code tells whether this transaction is an update, addition, inactivation, etc.



              The primary key is the coded element that is normally passed when creating an order. By using
              the coded element, we can know the national and local names for a procedure.

Example:



Adding new procedures

Array:          MSG(1)="MSH|^~\&|PROCEDURES|660|||||MFN"

                MSG(2)="MFI|123.3^PROCEDURES^99DD||REP|||NE"

                MSG(3)="MFE|MAD|||^^^1688^ATRIAL LEAD IMPLANT^99PRC"

                MSG(4)="ZSY|1|A-L IMP"

Call:           D MSG^XQOR("GMRC ORDERABLE ITEM UPDATE",.MSG)



Inactivating a procedure

Array:          MSG(1)="MSH|^~\&|PROCEDURES|660|||||MFN"

                MSG(2)="MFI|123.3^PROCEDURES^99DD||UPD|||NE"

                MSG(3)="MFE|MDC|||^^^1705^BONE MARROW ASPIRATE^99PRC"

Call:           D MSG^XQOR("GMRC ORDERABLE ITEM UPDATE",.MSG)




Consult/Request Tracking
Ordering Parameters


There are no Consult ordering parameters identified at this time.




February 2009                        OE/RR Package Interface Specification                                     29
Consult/Request Tracking
Procedure Calls


We need entry points defined in the Consult/Request Tracking package that will handle the following procedure
calls. It is up to the developers exactly how entry points are defined and named. Note that to behave properly
in a windowed environment, all variables used in the calls must be NEWed properly. The calls must also be
silent (no reads or writes).



         Return Consult/Procedure List

         OER^GMRCSLM1(DFN,SERV,BEG,END,STS)

         Passed:       DFN:    Patient DFN

                       SERV: Request Service file (#123.5) IEN

                       BEG:    Beginning date

                       END:    Ending date

                       STS:    Order status IEN

         Returned: ^TMP("GMRCR",$J,"CS",#,0) = IEN^request date^order status^

                               service^procedure name or consult



         Return Narrative of Report

         DT^GMRCSLM2(IEN)

         Passed:       IEN:    Request/Consultation file (#123) IEN

         Returned: ^TMP("GMRCR",$J,"DT",#,0) = line of report text



         Return Results Report

         RT^GMRCGUIA(IEN,ARRAY)

         Passed:       IEN:    Request/Consultation file (#123) IEN

                       ARRAY:name of array to return report text

         Returned: @ARRAY@(#,0) = line of report text



         Return List of Services the Current User may Order From

         SERV1^GMRCASV

30                                  OE/RR Package Interface Specification                       February 2009
        Passed:   GMRCTO: 1

                  GMRCDG: 1

        Returned: ^TMP("GMRCSLIST",$J,#) = IEN^service name^grouper IEN^+^usage

                  where + indicates a grouper with members following,

                       and Usage is 1 if Grouper Only or 2 if Tracker Only



        Select New Request Service

        ASRV^GMRCASV

        Passed:   nothing

        Returned: GMRCDG: Request Service file (#123.5) IEN



        Return action menu for user and selected consult

        CPRS^GMRCACTM(X,GUI)

        Passed:   X:       IEN;IEN;…;IEN from Request/Consultation file (#123.5)

                  GUI:     1 if called from GUI

        Returned: ORFLG(IEN) = 1 for general menu, 2 = Service actions



        Return List of Services for a Procedure

        GETSVC^GMRCPRO(.ARRAY,ID)

        Passed:   ARRAY:array to return list of services

                  ID:      procedure identifier, in HL7 format `IEN;99PRC’

        Returned: ARRAY=number of services in list

                  ARRAY(#) = IEN ^ name of service



        Return Prerequisite Text

        PREREQ^GMRCUTL1(ARRAY,ID,DFN)

        Passed:   ARRAY:name of array to return text

                  ID:      Request Service or Procedure identifier, in HL7 format

                           ‘IEN;99CON’ or ‘IEN;99PRC’

                  DFN:     Patient DFN

        Returned: ARRAY(#,0) = line of text

February 2009                  OE/RR Package Interface Specification                31
     Return Default Reason for Request

     GETDEF^GMRCDRFR(ARRAY,SERV,DFN,RESLV)

     Passed:   ARRAY:name of array to return default text

               SERV: Request Service file (#123.5) IEN

               DFN:   Patient DFN [optional]

               RESLV:1 or 0, if embedded TIU objects are to be resolved

     Returned: ARRAY(#,0) = line of text



     Return Allowable Editing Flag for Reason

     $$REAF^GMRCDRFR(SERV)

     Passed:   SERV: Request Service file (#123.5) IEN

     Returned: 0 if unrestricted, 1 for Edit only, or 2 if no editing allowed



     Return Provisional Diagnosis requirements

     $$PROVDX^GMRCUTL1(ID)

     Passed:   ID:    Request Service or Procedure identifier, in HL7 format

                      ‘IEN;99CON’ or ‘IEN;99PRC’

     Returned: A^B:   A = O (optional), R (required), or S (suppress)

                      B = F (free text) or L (Lexicon entry)



     Return Consult form SF513

     GUI^GMRCP5(.ARRAY,IEN)

     Passed:   ARRAY:name of array to return report text

               IEN:   Request/Consultation file (#123) IEN

     Returned: ARRAY:name of array containing report text



     Entry points for Consult actions

     EN^GMRCALRT(XQADATA,XQAID)     Alert follow-up action

     EN^GMRCEDIT(XQADATA,XQAID)     Alert follow-up action

     EDTSUB^GMRCA1(IEN)             Edit/resubmit

32                        OE/RR Package Interface Specification         February 2009
        RC^GMRCA1(IEN,[1])              Receive [and schedule]

        FR^GMRCAFRD(IEN)                Reroute

        COMMENT^GMRCA1(IEN)             Add a comment

        ENTER^GMRCTIU(IEN)              Complete via Note

        DIS^GMRCDIS(IEN)                Remove Medicine Results

        DC^GMRCA1(IEN,FLG)              Discontinue or Deny

        PS^GMRCA1(IEN)                  Print Consult Form

        SF^GMRCASF(IEN)                 Significant Findings

        ADDEND^GMRCTIU(IEN)             Make addendum to consult results




February 2009                 OE/RR Package Interface Specification        33
Consult/Request Tracking
Open Issues


Scenario for "rejects" needs to be clarified for both OE and Consults, although Consults should be the
authoritative source for the order status.




34                                   OE/RR Package Interface Specification                       February 2009
Nutrition & Food Svc
HL7 Fields


The following is a list of HL7 fields that are used in transactions between OE/RR 3 and the Dietetics package.
Not every field will be used in every message.



SEG             SEQ   FIELD NAME                     VALUE/EXAMPLE                 TYPE

MSH             1     Field Separator                |                             string

                2     Encoding Characters            ^~\&                          string

                3     Sending Application            ORDER ENTRY                   string

                4     Sending Facility               660                           string

                5     Receiving Application          DIETETICS                     string

                6     Receiving Facility             660                           string

                7     D/T of Message                 199404150600                  timestamp

                9     Message Type                   ORM                           ID



PID             3     Patient ID                     532563                        composite ID

                5     Patient Name                   Doe,John H                    patient name



PV1             2     Patient Class                  I                             table 4

                3     Patient Location               32^234-4                      user table



{ ORC           1     Order Control                  NW                            Table 119

                2     Placer Order Number            234123;1^OR                   number^namespace

                3     Filler Order Number            870745^FH                     number^namespace

                7     Quantity/Timing                ^^^199404150600               quantity^interval^dura
                                                                                   tion^start^stop (coded
                                                                                   per 4.4)

                9     D/T of Transaction             199404150600                  timestamp

                10    Entered By                     10                            composite ID

                12    Ordering Provider              93                            composite ID

February 2009                        OE/RR Package Interface Specification                                       35
                15     Order Effective D/T              199404141430              timestamp

                16     Order Control Reason             Patient is not            coded element
                                                        inpatient



     { ODS }    1      Type of Diet Order               ZD                        table 159

                2      Service Period                   3                         coded element

                3      Diet, Supplement, or             ^^^13^High                coded element
                       Preference Code                  Fiber^99FHD

                4      Text Instruction                 small portions            string



       ZQT      2      Quantity/Timing                  100&C^BID^H6^1995041      quantity^interval^dura
                                                        50600                     tion^start^stop



     ODT        1      Type of Tray                     EARLY                     table 160

                2      Service Period                   ^^^BE1^^99FHS             coded element

                3      Text Instruction                 bagged                    string



     OBR        12     Danger Code                      ^^^2^STRICT^99FHI         coded element

}




Notes:         The ODS and ODT segments are not used together under one ORC segment. ODS segments are
               used for diets, tubefeedings, and outpatient meals; ODT segments are used for early/late trays.



               Sending Application is the name of the VistA package generating the

               message; Receiving Application is the name of the VistA package that is

               the intended recipient of the message. Sending Facility and Receiving

               Facility are the station number.



               Patient ID is the patient DFN (a pointer to file 2).




36                                     OE/RR Package Interface Specification                      February 2009
            Patient Location is Hospital Location IEN^Room-Bed. This is the location from which the order is
            being placed.



            Placer Order Number is the OE/RR order number.



            Filler Order Number is the string of characters necessary to identify the order in Dietetics; when a
            previous inpatient diet is being re-ordered, its filler id may be passed to Dietetics here on NW
            messages.



            Ordering Provider is the IEN of the provider in the New Person file.



            Quantity/Timing is used in several ways.



                    For inpatient diets, the start and stop pieces are used for start & stop times.



                    For tubefeedings, Quantity/Timing will be in the ZQT segment immediately following each
                    ODS. The quantity piece is used for the quantity and units, delimited by an ampersand.
                    The values for units are K, C, O, G, and U (for Kcal, cc, oz, grams, and units respectively).
                    For example, 2000&K or 8&O. The interval piece contains the frequency. Possible values
                    are QD, QH, BID, TID, QID, Q2H, Q3H, Q4H, and Q6H. An optional duration may be
                    specified in hours or number of feedings, for example as H6 or X3 (for 6 hours or 3
                    feedings respectively).



                    For early/late trays, the start and stop pieces are used for the start and stop times. The
                    days on which the tray should be delivered are listed in the interval piece. For example,
                    every Monday, Wednesday, and Friday would be QJ1~QJ3~QJ5 (see HL7 4.4).



                    For outpatient meals, the start and stop pieces are used for start and stop dates. The
                    days on which the meal should be available are listed in the interval piece as for early/late
                    trays.




February 2009                      OE/RR Package Interface Specification                                     37
     Type of Diet Order will be used to also indicate the service type, for inpatient diets. The following
     values will be allowed in this field:



                       ZT       Inpatient Diet/Tray service

                       ZC       Inpatient Diet/Cafeteria

                       ZD       Inpatient Diet/Dining Room

                       ZE       Tubefeeding

                       D        Outpatient Recurring Meal

                       S        Outpatient Special Meal




     Service Period in the ODS segment is only used for outpatient meals; the HL7 values for Breakfast
     (1), Lunch (3), and Dinner (5) will be used.



     Diet, Supplement, or Preference Code is the specific diet modification being ordered; see HL7
     section 4.6.1.3 for details for the coding used for diets. The following special codes can also be
     used:



               ^^^FH-5^NPO^99OTH                             for NPO

               ^^^FH-6^Additional Order^99OTH                for an additional order

               ^^^FH-X^No Meal^99OTH                         for a canceled instance of a

                                                                 recurring outpatient meal




     As there is no national coding system for diets, the first three ^-pieces will be null and the IEN of
     entries in the Diets file will be used for the code to identify each diet modification. 99FHD will be
     used to identify the Diets file as the coding system. 99FHT will be similarly used to identify
     tubefeeding products. The ODS segment may be repeated to accommodate multiple inpatient
     diet modifications.



     In the case of a tubefeeding, there is no specific field for strength. The meaning of the
     tubefeeding code will be expanded to include strength, (1=1/4, 2=1/2, 3=3/4, 4=FULL). For
     example,

                       ODS|ZE||^^^7-4^ENSURE, FULL STRENGTH^99FHT


38                           OE/RR Package Interface Specification                          February 2009
            Multiple tubefeeding products should be passed as one order, with a single ORC segment and
            multiple ODS/ZQT pairs. This is because each tubefeeding product requires its own
            timing/quantity field.



            Text Instruction in the ODS segment is used for provider comments. It is also used for text
            instructions in the case of a diet additional order.



            Service Period in the ODT segment identifies the meal. Rather than the list offered in the HL7
            document, the following codes will be used:



                              BE1     Breakfast Early Tray, Time 1

                              BE2     Breakfast Early Tray, Time 2

                              BE3     Breakfast Early Tray, Time 3

                              BL1     Breakfast Late Tray, Time 1

                              BL2     Breakfast Late Tray, Time 2

                              BL3     Breakfast Late Tray, Time 3

                              NE1     Noon Early Tray, Time 1

                              NE2     Noon Early Tray, Time 2

                              NE3     Noon Early Tray, Time 3

                              NL1     Noon Late Tray, Time 1

                              NL2     Noon Late Tray, Time 2

                              NL3     Noon Late Tray, Time 3

                              EE1     Evening Early Tray, Time 1

                              EE2     Evening Early Tray, Time 2

                              EE3     Evening Early Tray, Time 3

                              EL1     Evening Late Tray, Time 1

                              EL2     Evening Late Tray, Time 2

                              EL3     Evening Late Tray, Time 3




February 2009                       OE/RR Package Interface Specification                                    39
     Text Instruction in the ODT segment will contain the word ‘bagged’ if an early/late tray should be
     a bagged meal.



     Only Isolation/Precaution messages use the OBR segment, in place of either ODS or ODT.

     Dietetic consults should now be handled through the Consults package.




40                          OE/RR Package Interface Specification                        February 2009
Nutrition & Food Svc
Order Event Messages


The following tables identify the HL7 fields that are passed in each kind of event associated with OE/RR. For
each event there is an order control code and a set of fields listed. For any given event, however, some of the
fields may be empty (text instruction, for example).



The protocols identified in the tables use OE/RR namespacing conventions. The messages sent by OE/RR will
use the OR namespaced protocols indicated. Individual packages may use whatever protocol names they wish.



Front Door - Diet Order/Tubefeeding/Additional Order

Action               Request from OE/RR                 Dietetics accepts           Dietetics rejects



Protocol             OR EVSEND FH                       FH EVSEND OR                FH EVSEND OR

Order Control        NW (new order)                     OK (accepted)               UA (unable to accept)

HL7 Fields           MSH: 1,2,3,4,5,6,7,9               MSH: 1,2,3,4,9              MSH: 1,2,3,4,9

                     PID: 3,5                           PID: 3,5                    PID: 3,5

                     PV1: 2,3                           ORC: 1,2,3                  ORC: 1,2,12,15,16

                     ORC: 1,2,7,9,10,12,15,16                                       ODS: 3

                     ODS: 1,3,4

                     ZQT: 2



Protocol             OR EVSEND FH                       FH EVSEND OR                FH EVSEND OR

Order Control        CA (cancel)                        CR (cancelled)              UC (unable to cancel)

                     DC (discontinue)                   DR (discontinued)           UD (unable to dc)

                     SS (send status)                   SC (status update)

HL7 Fields           MSH: 1,2,3,4,5,6,7,9               MSH: 1,2,3,4,9              MSH: 1,2,3,4,9

                     PID: 3,5                           PID: 3,5                    PID: 3,5

                     ORC: 1,2,3,5,10,12,15,16           ORC: 1,2,3,5                ORC: 1,2,3,16




February 2009                        OE/RR Package Interface Specification                                   41
A diet order with multiple diet modifications would send several ODS segments, one for each diet modification.
A tubefeeding order would be handled similarly; each tubefeeding product and its strength would be in the ODS
segment, while the quantity information would follow in a ZQT. An additional diet order would be placed in the
text instruction field of the ODS segment.



Example:       High Fiber, Low Fat diet, starting now



New Order

Array:         MSG(1)="MSH|^~\&|ORDER ENTRY|660|DIETETICS|660|199402281010||ORM"

               MSG(2)="PID|||532563||PATIENT,ONE H"

               MSG(3)="PV1||I|3A^346-B||||||||||||||||"

               MSG(4)="ORC|NW|12345;1^OR|||||^^^199402281010||199402281010|10||93|||

                       199402281010|W^WRITTEN^99ORN"

               MSG(5)="ODS|ZT||^^^13^HIGH FIBER^99FHD"

               MSG(6)="ODS|ZT||^^^7^LOW FAT^99FHD"

Call:          D MSG^XQOR("OR EVSEND FH",.MSG)                 ; New Order from OE/RR



Array:         MSG(1)="MSH|^~\&|DIETETICS|660|||||ORR"

               MSG(2)="PID|||532563||PATIENT,ONE H"

               MSG(3)="ORC|OK|12345;1^OR|1224;2^FH"

Call:          D MSG^XQOR("FH EVSEND OR",.MSG)                 ; Dietetics accepts, returns order #




42                                  OE/RR Package Interface Specification                       February 2009
Cancel Order

Array:          MSG(1)="MSH|^~\&|ORDER ENTRY|660|DIETETICS|660|199403011010||ORM"

                MSG(2)="PID|||532563||PATIENT,ONE H"

                MSG(3)="ORC|CA|12345;2^OR|1224;2^FH|||||||10||93|||199403011010|E^ELEC

                      TRONICALLY ENTERED^99ORN^7^Requesting Physician Cancelled^99ORR"

Call:           D MSG^XQOR("OR EVSEND FH",.MSG)             ; OE/RR requests cancelling order



Array:          MSG(1)="MSH|^~\&|DIETETICS|660|||||ORR"

                MSG(2)="PID|||532563||PATIENT,ONE H"

                MSG(3)="ORC|CR|12345;2^OR|1224;2^FH"

Call:           D MSG^XQOR("FH EVSEND OR",.MSG)             ; Dietetics cancels order




Example:        8 oz. Ensure, full strength, TID, starting now



Array:          MSG(1)="MSH|^~\&|ORDER ENTRY|660|DIETETICS|660|199402281010||ORM"

                MSG(2)="PID|||532563||PATIENT,ONE H"

                MSG(3)="PV1||I|3A^346-B||||||||||||||||"

                MSG(4)="ORC|NW|12345;1^OR|||||^^^199402281010||199402281010|10||93|||

                      199402281010|W^WRITTEN^99ORN"

                MSG(5)="ODS|ZE||^^^5-4^ENSURE^99FHT"

                MSG(6)="ZQT||8&O^TID^^199402281010"

Call:           D MSG^XQOR("OR EVSEND FH",.MSG)             ; New Order from OE/RR



Array:          MSG(1)="MSH|^~\&|DIETETICS|660|||||ORR"

                MSG(2)="PID|||532563||PATIENT,ONE H"

                MSG(3)="ORC|OK|12345;1^OR|517;5^FH"

Call:           D MSG^XQOR("FH EVSEND OR",.MSG)             ; Dietetics accepts, returns order #




Example:        NPO at midnight

February 2009                     OE/RR Package Interface Specification                         43
Array:     MSG(1)="MSH|^~\&|ORDER ENTRY|660|DIETETICS|660|199402281010||ORM"

           MSG(2)="PID|||532563||PATIENT,ONE H"

           MSG(3)="PV1||I|3A^346-B||||||||||||||||"

           MSG(4)="ORC|NW|12345;1^OR|||||^^^199402282359||199402281010|10||93|||

                 199402281010|W^WRITTEN^99ORN"

           MSG(5)="ODS|D||^^^FH-5^NPO^99OTH"

Call:      D MSG^XQOR("OR EVSEND FH",.MSG)          ; New Order from OE/RR



Array:     MSG(1)="MSH|^~\&|DIETETICS|660|||||ORR"

           MSG(2)="PID|||532563||PATIENT,ONE H"

           MSG(3)="ORC|OK|12345;1^OR|1224;4^FH"

Call:      D MSG^XQOR("FH EVSEND OR",.MSG)          ; Dietetics accepts, returns order #




Example:   Additional Order



Array:     MSG(1)="MSH|^~\&|ORDER ENTRY|660|DIETETICS|660|199402281010||ORM"

           MSG(2)="PID|||532563||PATIENT,ONE H"

           MSG(3)="PV1||I|3A^346-B||||||||||||||||"

           MSG(4)="ORC|NW|12345;1^OR|||||^^^199402282359||199402281010|10||93|||

                 199402281010|W^WRITTEN^99ORN"

           MSG(5)="ODS|D||^^^FH-6^ADDITIONAL ORDER^99OTH|Include coffee with meals"

Call:      D MSG^XQOR("OR EVSEND FH",.MSG)          ; New Order from OE/RR



Array:     MSG(1)="MSH|^~\&|DIETETICS|660|||||ORR"

           MSG(2)="PID|||532563||PATIENT,ONE H"

           MSG(3)="ORC|OK|12345;1^OR|A;3569;1^FH"

Call:      D MSG^XQOR("FH EVSEND OR",.MSG)          ; Dietetics accepts, returns order #




44                        OE/RR Package Interface Specification              February 2009
Back door orders are handled by sending OE/RR the ORM message for a dietary order with a ‘send number’
order control code. This allows OE/RR to store the order in its database and return the OE/RR order number to
dietetics with an ‘number assigned’ order control code. OE/RR cannot actually reject dietetic events. The ‘data
errors’ order control code is just used as some way to communicate to dietetics that OE/RR could not interpret
the ORM message. This should generally not happen. Use of the ‘back door’ by packages is optional.



Back Door - Diet Order/Tubefeeding/Additional Order

Action               Event from Dietetics         OE/RR accepts                          OE/RR rejects



Protocol             FH EVSEND OR                 OR EVSEND FH                           OR EVSEND FH

Order Control        SN (send number)             NA (number assigned)                   DE (data errors)

HL7 Fields           MSH: 1,2,3,4,9               MSH: 1,2,3,4,5,6,7,9                   MSH: 1,2,3,4,5,6,

                     PID: 3,5                     PID: 3,5                                     7,9

                     PV1: 2,3                     ORC: 1,2,3                             PID: 3,5

                     ORC: 1,3,7,10,12,15                                                 ORC: 1,3,16

                     ODS: 1,3,4

                     ZQT: 2




Protocol             FH EVSEND OR                                                        OR EVSEND FH

Order Control        OC (cancel)                  There is no return event.              DE (data errors)
                                                  OE/RR must accept the
                     OD (discontinue)             instruction from Dietetics.



HL7 Fields           MSH: 1,2,3,4,9                                                      MSH: 1,2,3,4,5,6,

                     PID: 3,5                                                                  7,9

                     ORC: 1,2,3,12,15,16                                                 PID: 3,5

                                                                                         ORC: 1,2,3,16



Example:        High Fiber, Low Fat diet starting now



New Order

Array:          MSG(1)="MSH|^~\&|DIETETICS|660|||||ORM"
February 2009                       OE/RR Package Interface Specification                                   45
               MSG(2)="PID|||532563||PATIENT,ONE H"

               MSG(3)="PV1||I|3A^346-B||||||||||||||||"

               MSG(4)="ORC|SN||1224;2^FH||||^^^199402281010|||10||93|||199402281010"

               MSG(5)="ODS|ZT||^^^13^High Fiber^99FHD"

               MSG(6)="ODS|ZT||^^^7^Low Fat^99FHD"

Call:          D MSG^XQOR("FH EVSEND OR",.MSG)          ; New Order from Dietetics



Array:         MSG(1)="MSH|^~\&|ORDER ENTRY|660|DIETETICS|660|199402281010||ORR"

               MSG(2)="PID|||532563||PATIENT,ONE H"

               MSG(3)="ORC|NA|12345^OR|1224;2^FH"

Call:          D MSG^XQOR("OR EVSEND FH",.MSG)          ; OE/RR returns order #



Cancel Order

Array:         MSG(1)="MSH|^~\&|DIETETICS|660|||||ORM"

               MSG(2)="PID|||532563||PATIENT,ONE H"

               MSG(3)="ORC|OC|12345^OR|1224;2^FH|||||||||93|||199403011010"

Call:          D MSG^XQOR("FH EVSEND OR",.MSG)          ; Dietetics cancels order




46                            OE/RR Package Interface Specification                 February 2009
Early/Late tray orders pass most of the tray information in the ORC and ODT segments. Start and stop
information is in the ORC segment, while the specific early or late time is identified in the ODT segment.



Front Door - Early/Late Tray

Action               Request from OE/RR                  Dietetics accepts           Dietetics rejects



Protocol             OR EVSEND FH                        FH EVSEND OR                FH EVSEND OR

Order Control        NW (new order)                      OK (accepted)               UA (unable to accept)

HL7 Fields           MSH: 1,2,3,4,5,6,7,9                MSH: 1,2,3,4,9              MSH: 1,2,3,4,9

                     PID: 3,5                            PID: 3,5                    PID: 3,5

                     PV1: 2,3                            ORC: 1,2,3                  ORC: 1,2,12,15,16

                     ORC: 1,2,7,9,10,12,15,16                                        ODS: 3

                     ODT: 1,2,3




Protocol             OR EVSEND FH                        FH EVSEND OR                FH EVSEND OR

Order Control        CA (cancel)                         CR (cancelled)              UC (unable to cancel)

                     DC (discontinue)                    DR (discontinued)           UD (unable to dc)

                     SS (send status)                    SC (status update)

HL7 Fields           MSH: 1,2,3,4,5,6,7,9                MSH: 1,2,3,4,9              MSH: 1,2,3,4,9

                     PID: 3,5                            PID: 3,5                    PID: 3,5

                     ORC: 1,2,3,5,10,12,15,16            ORC: 1,2,3,5                ORC: 1,2,3,16



Example:        Late Tray today for noon meal, 2nd time period, bagged meal



New Order

Array:          MSG(1)="MSH|^~\&|ORDER ENTRY|660|DIETETICS|660|199402281400||ORM"

                MSG(2)="PID|||532563||PATIENT,ONE H"

                MSG(3)="PV1||I|3A^346-B||||||||||||||||"

                MSG(4)="ORC|NW|12345;1^OR|||||^ONCE^^199402281400||199402281400|10||

                        93|||199402281010|W^WRITTEN^99ORN"
February 2009                        OE/RR Package Interface Specification                                   47
            MSG(5)="ODT|EARLY|^^^NL2^^99FHS|bagged"

Call:       D MSG^XQOR("OR EVSEND FH",.MSG)          ; New Order from OE/RR



Array:      MSG(1)="MSH|^~\&|DIETETICS|660|||||ORR"

            MSG(2)="PID|||532563||PATIENT,ONE H"

            MSG(4)="ORC|OK|12345;1^OR|742;3^FH"

Call:       D MSG^XQOR("FH EVSEND OR",.MSG)          ; Dietetics accepts, returns order #




Example:    Evening meal early tray, 1st time period, Tuesdays and Thursdays



New Order

Array:      MSG(1)="MSH|^~\&|ORDER ENTRY|660|DIETETICS|660|199402281400||ORM"

            MSG(2)="PID|||532563||PATIENT,ONE H"

            MSG(3)="PV1||I|3A^346-B||||||||||||||||"

            MSG(4)="ORC|NW|12345;1^OR|||||^QJ2~QJ4^^19940228||199402281400|10||93|||

                  199402281010|W^WRITTEN^99ORN"

            MSG(5)="ODT|LATE|^^^EE1^^99FHS"

Call:       D MSG^XQOR("OR EVSEND FH",.MSG)          ; New Order from OE/RR



Array:      MSG(1)="MSH|^~\&|DIETETICS|660|||||ORR"

            MSG(2)="PID|||532563||PATIENT,ONE H"

            MSG(4)="ORC|OK|12345;1^OR|743;3^FH"

Call:       D MSG^XQOR("FH EVSEND OR",.MSG)          ; Dietetics accepts, returns order #




48                         OE/RR Package Interface Specification              February 2009
Back Door - Early/Late Tray

Action              Event from Dietetics      OE/RR accepts                    OE/RR rejects



Protocol            FH EVSEND OR              OR EVSEND FH                     OR EVSEND FH

Order Control       SN (send number)          NA (number assigned)             DE (data errors)

HL7 Fields          MSH: 1,2,3,4,9            MSH: 1,2,3,4,5,6,7,9             MSH: 1,2,3,4,5,6,

                    PID: 3,5                  PID: 3,5                              7,9

                    PV1: 2,3                  ORC: 1,2,3                       PID: 3,5

                    ORC: 1,3,7,10,12,15                                        ORC: 1,3,16

                    ODT: 1,2




Protocol            FH EVSEND OR                                               OR EVSEND FH

Order Control       OC (cancel)               There is no return event.        DE (data errors)
                                              OE/RR must accept the
                    OD (discontinue)          instruction from Dietetics.



HL7 Fields          MSH: 1,2,3,4,9                                             MSH: 1,2,3,4,5,6,

                    PID: 3,5                                                        7,9

                    ORC: 1,2,3,12,15,16                                        PID: 3,5

                                                                               ORC: 1,2,3,16



Example:        Late Tray today for noon meal, 2nd time period, bagged meal



New Order

Array:          MSG(1)="MSH|^~\&|DIETETICS|660|||||ORM"

                MSG(2)="PID|||532563||PATIENT,ONE H"

                MSG(3)="PV1||I|3A^346-B||||||||||||||||"

                MSG(4)="ORC|SN||234;3^FH||||^ONCE^^199402281400|||10||93|||199402281010"

                MSG(5)="ODT|EARLY|^^^NL2^^99FHS|bagged"

Call:           D MSG^XQOR("FH EVSEND OR",.MSG)             ; New Order from Dietetics


February 2009                     OE/RR Package Interface Specification                        49
Array:      MSG(1)="MSH|^~\&|ORDER ENTRY|660|DIETETICS|660|199402281400||ORR"

            MSG(2)="PID|||532563||PATIENT,ONE H"

            MSG(4)="ORC|NA|12345^OR|742;3^FH"

Call:       D MSG^XQOR("OR EVSEND FH",.MSG)          ; OE/RR returns order #




Example:    Evening meal early tray, 1st time period, Tuesdays and Thursdays



New Order

Array:      MSG(1)="MSH|^~\&|DIETETICS|660|||||ORM"

            MSG(2)="PID|||532563||PATIENT,ONE H"

            MSG(3)="PV1||I|3A^346-B||||||||||||||||"

            MSG(4)="ORC|SN||742;3^FH||||^QJ2~QJ4^^19940228|||10||93|||199402281010"

            MSG(5)="ODT|LATE|^^^EE1^^99FHS"

Call:       D MSG^XQOR("FH EVSEND OR",.MSG)          ; New order from Dietetics



Array:      MSG(1)="MSH|^~\&|ORDER ENTRY|660|DIETETICS|660|199402281010||ORR"

            MSG(2)="PID|||532563||PATIENT,ONE H"

            MSG(4)="ORC|NA|12345^OR|743;3^FH"

Call:       D MSG^XQOR("OR EVSEND FH",.MSG)          ; OE/RR returns order #




50                         OE/RR Package Interface Specification               February 2009
Outpatient meal messages look very much like inpatient diet messages, with the addition of the Service Period
in the ODS segment and a value of “O” in the Patient Class field of PV1. Tubefeedings, early/late trays, and
additional orders may also be placed against an existing outpatient meal instance, the only difference in those
messages being the Patient Class of “O” in PV1.



Front Door – Outpatient Meal

Action               Request from OE/RR                 Dietetics accepts          Dietetics rejects



Protocol             OR EVSEND FH                       FH EVSEND OR               FH EVSEND OR

Order Control        NW (new order)                     OK (accepted)              UA (unable to accept)

HL7 Fields           MSH: 1,2,3,4,5,6,7,9               MSH: 1,2,3,4,9             MSH: 1,2,3,4,9

                     PID: 3,5                           PID: 3,5                   PID: 3,5

                     PV1: 2,3                           ORC: 1,2,3                 ORC: 1,2,12,15,16

                     ORC: 1,2,7,9,10,12,15,16                                      ODS: 3

                     ODS: 1,2,3,4




Protocol             OR EVSEND FH                       FH EVSEND OR               FH EVSEND OR

Order Control        DC (discontinue)                   DR (discontinued)          UD (unable to dc)

                     SS (send status)                   SC (status update)

HL7 Fields           MSH: 1,2,3,4,5,6,7,9               MSH: 1,2,3,4,9             MSH: 1,2,3,4,9

                     PID: 3,5                           PID: 3,5                   PID: 3,5

                     ORC: 1,2,3,5,10,12,15,16           ORC: 1,2,3,5               ORC: 1,2,3,16




Example:        Regular recurring meal, every Monday noon for 3 weeks



New Order

Array:          MSG(1)="MSH|^~\&|ORDER ENTRY|660|DIETETICS|660|199402281010||ORM"

                MSG(2)="PID|||532563||PATIENT,ONE H"

                MSG(3)="PV1||O|3A^346-B||||||||||||||||"

February 2009                        OE/RR Package Interface Specification                                   51
               MSG(4)="ORC|NW|12345;1^OR|||||^QJ1^^199402281115||199403141115|10||93|||

                     199402281010|W^WRITTEN^99ORN"

               MSG(5)="ODS|D|3|^^^1^REGULAR^99FHD"

Call:          D MSG^XQOR("OR EVSEND FH",.MSG)          ; New Order from OE/RR



Array:         MSG(1)="MSH|^~\&|DIETETICS|660|||||ORR"

               MSG(2)="PID|||532563||PATIENT,ONE H"

               MSG(3)="ORC|OK|12345;1^OR|1224;2^FH"

Call:          D MSG^XQOR("FH EVSEND OR",.MSG)          ; Dietetics accepts, returns order #



Cancel Order

Array:         MSG(1)="MSH|^~\&|ORDER ENTRY|660|DIETETICS|660|199403011010||ORM"

               MSG(2)="PID|||532563||PATIENT,ONE H"

               MSG(3)="PV1||O|3A^346-B||||||||||||||||"

               MSG(4)="ORC|DC|12345;2^OR|1224;2^FH|||||||10||93|||199403011010|E^ELEC

                     TRONICALLY ENTERED^99ORN^7^Requesting Physician Cancelled^99ORR"

Call:          D MSG^XQOR("OR EVSEND FH",.MSG)          ; OE/RR requests canceling order



Array:         MSG(1)="MSH|^~\&|DIETETICS|660|||||ORR"

               MSG(2)="PID|||532563||PATIENT,ONE H"

               MSG(3)="ORC|DR|12345;2^OR|1224;2^FH"

Call:          D MSG^XQOR("FH EVSEND OR",.MSG)          ; Dietetics cancels order




52                            OE/RR Package Interface Specification                 February 2009
Outpatient meals may be canceled, or single meal instances of a recurring meal order changed or canceled.
When only single instances are modified in any way, the XX message is used; an exception for that time is
attached to the order and the overall order status remains active.



Back Door – Outpatient Meal

Action              Event from Dietetics         OE/RR accepts                         OE/RR rejects



Protocol            FH EVSEND OR                 OR EVSEND FH                          OR EVSEND FH

Order Control       SN (send number)             NA (number assigned)                  DE (data errors)

                    XX (change meals)

HL7 Fields          MSH: 1,2,3,4,9               MSH: 1,2,3,4,5,6,7,9                  MSH: 1,2,3,4,5,6,

                    PID: 3,5                     PID: 3,5                                     7,9

                    PV1: 2,3                     PV1: 2,3                              PID: 3,5

                    ORC: 1,3,7,10,12,15          ORC: 1,2,3                            PV1: 2,3

                    ODS: 1,2,3,4                                                       ORC: 1,3,16




Protocol            FH EVSEND OR                                                       OR EVSEND FH

Order Control       OC (cancel)                  There is no return event.             DE (data errors)
                                                 OE/RR must accept the
                                                 instruction from Dietetics.

HL7 Fields          MSH: 1,2,3,4,9                                                     MSH: 1,2,3,4,5,6,

                    PID: 3,5                                                                  7,9

                    ORC: 1,2,3,12,15,16                                                PID: 3,5

                                                                                       PV1: 2,3

                                                                                       ORC: 1,2,3,16




Example:        Regular recurring meal, every Monday noon for 3 weeks



New Order

Array:          MSG(1)="MSH|^~\&|ORDER ENTRY|660|DIETETICS|660|199402281010||ORM"
February 2009                       OE/RR Package Interface Specification                                   53
            MSG(2)="PID|||532563||PATIENT,ONE H"

            MSG(3)="PV1||O|3A^346-B||||||||||||||||"

            MSG(4)="ORC|SN||1224;2^FH||||^QJ1^^19940228^19940314|||10||93|||

                  199402281010|"

            MSG(5)="ODS|D|3|^^^1^REGULAR^99FHD"

Call:       D MSG^XQOR("FH EVSEND OR",.MSG)          ; New Order from Dietetics



Array:      MSG(1)="MSH|^~\&|DIETETICS|660|||||ORR"

            MSG(2)="PID|||532563||PATIENT,ONE H"

            MSG(3)="PV1||O|3A^346-B||||||||||||||||"

            MSG(4)="ORC|OK|12345;1^OR|1224;2^FH"

Call:       D MSG^XQOR("OR EVSEND FH",.MSG)          ; OE/RR accepts, returns order #



Change second instance

Array:      MSG(1)="MSH|^~\&|ORDER ENTRY|660|DIETETICS|660|199402281010||ORM"

            MSG(2)="PID|||532563||PATIENT,ONE H"

            MSG(3)="PV1||O|3A^346-B||||||||||||||||"

            MSG(4)="ORC|XX|12345^OR|1224;2^FH||||^^^19940307^19940307|||10||93|||

                  199402281010|"

            MSG(5)="ODS|D|3|^^^2^CLEAR LIQUID^99FHD"

Call:       D MSG^XQOR("FH EVSEND OR",.MSG)          ; Change Meal from Dietetics



Cancel third instance

Array:      MSG(1)="MSH|^~\&|ORDER ENTRY|660|DIETETICS|660|199402281010||ORM"

            MSG(2)="PID|||532563||PATIENT,ONE H"

            MSG(3)="PV1||O|3A^346-B||||||||||||||||"

            MSG(4)="ORC|XX|12345^OR|1224;2^FH||||^^^19940314^19940314|||10||93|||

                  199402281010|"

            MSG(5)="ODS|D|3|^^^FH-X^NO MEAL^99FHD"

Call:       D MSG^XQOR("FH EVSEND OR",.MSG)          ; Cancel Meal from Dietetics



54                         OE/RR Package Interface Specification              February 2009
Nutrition & Food Svc
Orderable Item Updates


When the dietetics package makes diet modifications and tubefeeding products available for ordering, or
changes information related to them, OE/RR needs to be notified. This is done via a protocol event point which
should be defined by dietetics. This protocol is invoked with an HL7 master file update message. Segments that
should be in this message are listed in the following table.



SEG             SEQ   FIELD NAME                   EXAMPLE                   HL7 TYPE

MSH             1     Field Separator              |                         string

                2     Encoding Characters          ^~\&                      string

                3     Sending Application          DIETETICS                 string

                4     Sending Facility             660                       string

                9     Message Type                 MFN                       ID



MFI             1     Master File ID               111^DIETS^99DD            coded element

                3     File-Level Event Code        UPD                       table 178

                6     Response Level Code          NE                        table 179



{ MFE           1     Record-Level Event           MAD                       table 180
                      Code

                4     Primary Key                  ^^^9^2GM                  coded element
                                                   SODIUM^99FHD



  ZFH           1     Type                         D                         coded value

                                                                             (D=diet modification,

                                                                              T=tubefeeding product)

                2     Precedence                   1                         numeric

                3     Message                      some text                 string

                4     Ask Expiration Date          Y                         coded value (Y=yes)




February 2009                       OE/RR Package Interface Specification                                 55
     { ZSY }   1      Set ID                           1                          numeric

}              2      Synonym                          NA2GM                      string




Notes:         When doing the initial population of the orderable items file, the File-Level Event Code should be
               REP. After initial population, subsequent changes should have the UPD code.



               There may be multiple MFE segments passed in a single transaction.



               The record-level event code tells whether this transaction is an update, addition, inactivation, etc.



               The primary key is the coded element that is normally passed when creating an order (in the Diet,
               Supplement, or Preference Code of the ORM message).



               Precedence is used to avoid conflicting diet modifications (for example, 1500 calorie diet and
               2000 calorie diet selected together).



               Message is optional text that will be displayed every time the diet modification or tubefeeding
               product is selected.



               ZSY is a repeating segment for synonyms.



Example:



Adding new diets

Array:           MSG(1)="MSH|^~\&|DIETETICS|660|||||MFN"

                 MSG(2)="MFI|111^DIETS^99DD||REP|||NE"

                 MSG(3)="MFE|MAD|||^^^1^REGULAR^99FHD"

                 MSG(4)="ZFH|D|20|"

                 MSG(5)="ZSY|1|Normal"

                 MSG(6)="MFE|MAD|||^^^2^HIGH MINERAL^99FHD"
56                                    OE/RR Package Interface Specification                          February 2009
                MSG(7)="ZFH|D|4|Order extra fluids"

Call:           D MSG^XQOR("FH ORDERABLE ITEM UPDATE",.MSG)



Inactivating a diet

Array:          MSG(1)="MSH|^~\&|DIETETICS|660|||||MFN"

                MSG(2)="MFI|111^DIETS^99DD||UPD|||NE"

                MSG(3)="MFE|MDC|||^^^2^HIGH MINERAL^99FHD"

Call:           D MSG^XQOR("FH ORDERABLE ITEM UPDATE",.MSG)




February 2009                  OE/RR Package Interface Specification   57
Nutrition & Food Svc
Ordering Parameters


OE/RR is interested in several Dietetics parameters. Because the ordering parameters for diets map to dietetic
Communication Offices rather than Hospital Locations in file #44 directly, these parameters are being returned
in an array via a procedure call.



       Return ordering parameters

       EN^FHWOR8(DFN,.PRM)

       Passed:         Patient DFN

       Returned:       PRM(1)=EB1^EB2^EB3^LB1^LB2^LB3^EN1^EN2^EN3^LN1^LN2^LN3^EE1^EE2^EE3

                       PRM(2)=LB Alarm Beg^LB Alarm End^LN Alarm Beg^LN Alarm End^LE

                         Alarm Beg^LE Alarm End^Beg Breakfast^Beg Noon^Beg Evening^Bagged

                       PRM(3)=Type of service



       EN1^FHWOR8(LOC,.PRM)

       Passed:         Location variable pointer = #;SC( or #;DIC(42,

       Returned:       same as EN^FHWOR8



       Return available outpatient diets

       DIETLST^FHOMAPI

       Passed:         nothing

       Returned:       FHDIET(n)=IEN^NAME of diet modification in Diets file #111



       Return currently ordered outpatient meal times

       EN2^FHWOR8(DFN,MEAL,.LIST)

       Passed:         Patient DFN

                       Meal code B, N, or E [optional]

       Returned:       LIST(n)=date^meal code




58                                  OE/RR Package Interface Specification                        February 2009
February 2009   OE/RR Package Interface Specification   59
Nutrition & Food Svc
Procedure Calls


The current version of OE/RR provides access to the dietetic profile, and access to the Nutritional Assessments
has been requested. It is not possible to display the profile directly in the windows environment; therefore, a
call that returns the information in an array in necessary.



Note that to behave properly in a windowed environment, all variables used in the calls must be NEWed
properly and the calls must be silent (NO reads or writes). When making Fileman calls, the silent calls should be
used.



        Return dietetic profile

        $$P^FHWOR71(DFN)

        Passed:         Patient DFN

        Returned:       -1^error message, if there is no data, or

                        1, with the profile in ^TMP($J,"FHPROF",DFN,#) = line of text



        Return nutritional assessment(s)

        $$FHWORADT^FHWORA(DFN)

        Passed:         Patient DFN

        Returned:       -1^error message, if there are no assessments available, or

                        1, with the list of assessment dates in

                        ^TMP($J,"FHADT",DFN,inverse date) = external form of date



        $$FHWORASM^FHWORA(DFN,EXTDT)

        Passed:         DFN:     Patient DFN

                        EXTDT: External form of date of assessment

        Returned:       -1^error message, if unsuccessful, or

                        1, with the assessment in ^TMP($J,"FHASM",DFN,#) = line of text



        Display current diet

60                                   OE/RR Package Interface Specification                        February 2009
       CUR^FHORD7

       Passed:      Patient DFN

       Returned:    Screen display of patient’s current diet



       Return #CC in tubefeeding quantity ordered

       $$QUAN^FHWOR5R(TF,QTY)

       Passed:      TF:   Tubefeeding product IEN – Strength of product (i.e. "7-4")

                    QTY: Quantity, in HL7 format (i.e. "8&O^TID^X3")

       Returned:    Number of cc’s in this tubefeeding order



       Return existence of previous diet/NPO order

       $$RESUME^FHWORR(DFN)

       Passed:      Patient DFN

       Returned:    0, if no current diet order exists, or

                    1, if a current diet order exists (should prompt to resume), or

                    2, if a current NPO order exists (should prompt to resume)




February 2009                 OE/RR Package Interface Specification                    61
Nutrition & Food Svc
Open Issues


It would be extremely useful to have a national standard list of diet modifications and tubefeeding products.




62                                   OE/RR Package Interface Specification                        February 2009
Generic Orders
HL7 Ordering Fields


The following is a list of HL7 fields that will be used in messages posting OE/RR 3 Generic Orders. Not every
field will be used in every message.



SEG           SEQ FIELD NAME                      EXAMPLE                        HL7 TYPE

MSH           1     Field Separator               |                              string

              2     Encoding Characters           ^~\&                           string

              3     Sending Application           ORDER ENTRY                    string

              4     Sending Facility              660                            string

              5     Receiving Application ORDER ENTRY                            string

              6     Receiving Facility            660                            string

              7     D/T of Message                199409151010                   timestamp

              9     Message Type                  ORM                            ID



PID           3     Patient ID                    5340747                        composite ID

              5     Patient Name                  PATIENT,ONE H                  patient name



PV1           2     Patient Class                 I                              table 4

              3     Patient Location              32^234-4                       user table



{ ORC         1     Order Control                 NW                             table 119

              2     Placer Order Number           234123;1^OR                    number^application

              7     Quantity Timing               ^^^199409151010^               ^^^start date^stop date

                                                  199409161010

              9     D/T of Transaction            199409151010                   timestamp

              10    Entered by                    10                             composite ID

              12    Ordering Provider             97378                          composite ID


February 2009                        OE/RR Package Interface Specification                                      63
           15    Order Effective D/T             199409151010                    timestamp

           16    Order Control Reason            D^DUPLICATE^99ORN^7^            coded element
                                                 Duplicate Order^99ORR



     OBR   4     Universal Service ID            ^^^8^DNR^99ORD                  coded element



     NTE   1     Set ID                          1                               set ID

           2     Source of Comment               P                               table 105

           3     Comment                         Do Not Resuscitate              formatted text

}




Notes:     Sending Application is the name of the VistA package generating the message; Receiving
           Application is the name of the VistA package that is the intended recipient of the message.
           Sending Facility and Receiving Facility are the station number.



           Patient ID is patient DFN (pointer to file 2). Patient Location, for an inpatient, is Hospital Location
           IEN^Room^Bed. For an outpatient, it is the Hospital Location IEN. In both cases, this is the
           location from which the order is being placed.



           Quantity/Timing contains the start and stop dates for the generic order.



           Ordering Provider is the IEN in the New Person file.



           Universal Service ID identifies the item being ordered.




64                                 OE/RR Package Interface Specification                            February 2009
Generic Orders
Order Event Messages


The following tables identify the HL7 fields that are passed in each kind of event associated with OE/RR. For
each event there is an order control code and a set of fields listed. For any given event, however, some of the
fields may be empty (provider instructions, for example).



The protocols identified in the tables use OE/RR namespacing conventions. The messages sent by OE/RR will
use the OR namespaced protocols indicated. For Generic Orders in OE/RR 3 there will be no specific accepting
package. There will also be no backdoor generic orders. Generic orders are posted via HL7 protocols for the
convenience of other packages/utilities (like OE/RR Notifications), which may wish to be informed when certain
generic orders are placed.



Front Door - Generic Orders

Action               Request from OE/RR



Protocol             OR EVSEND ORG

Order Control        NW (new order)

HL7 Fields           MSH: 1,2,3,4,5,6,7,9

                     PID: 3,5

                     PV1: 2,3

                     ORC: 1,2,7,9,10,12,15,16

                     OBR: 4

                     NTE: 1,2,3



Protocol             OR EVSEND ORG

Order Control        CA (cancel)

                     DC (discontinue)

                     HD (hold)

                     RL (release)




February 2009                        OE/RR Package Interface Specification                                   65
HL7 Fields         MSH: 1,2,3,4,9

                   PID: 3,5

                   ORC: 1,2,10,12,15,16




Example:     DNR



New DNR order

Array:       MSG(1)= "MSH|^~\&|ORDER ENTRY|660|ORDER ENTRY|660|199402231430||ORM"

             MSG(2)= "PID|||5340747||PATIENT,ONE H"

             MSG(3)= "PV1||I|32^234-4|||||||||||||||"

             MSG(4)= "ORC|NW|234123;1^OR|||||^^^199402221430^199402231430||1994022314

                     30|10||97378|||199402221430|V^VERBAL^99ORN"

             MSG(5)= "OBR||||^^^8^DNR^99ORD"

Call:        D MSG^XQOR("OR EVSEND ORG",.MSG) ; New order from OE/RR



Cancel DNR

Array:       MSG(1)= "MSH|^~\&|ORDER ENTRY|660|ORDER ENTRY|660|199402221530||ORM"

             MSG(2)= "PID|||5340747||PATIENT,ONE H"

             MSG(3)= "ORC|CA|234123;2^OR|234123^OR|||||||10||12|||199402221530|D^

                     DUPLICATE^99ORN^7^Duplicate Order^99ORR"

Call:        D MSG^XQOR("OR EVSEND ORG",.MSG) ; Cancel from OE/RR




66                            OE/RR Package Interface Specification       February 2009
Laboratory
HL7 Fields


The following is a list of HL7 fields that are used in transactions between OE/RR 3 and the Laboratory package.
Not every field will be used in every message.



SEG             SEQ   FIELD NAME                    EXAMPLE                       HL7 TYPE

MSH             1     Field Separator               |                             string

                2     Encoding Characters           ^~\&                          string

                3     Sending Application           ORDER ENTRY                   string

                4     Sending Facility              660                           string

                5     Receiving Application         LABORATORY                    string

                6     Receiving Facility            660                           string

                7     D/T of Message                199404150545                  timestamp

                9     Message Type                  ORM                           ID



PID             3     Patient ID                    270                           composite ID

                4     Alternate Patient ID          1166;VA(200,                  string

                5     Patient Name                  PATIENT,ONE H                 patient name



PV1             2     Patient Class                 I                             table 4

                3     Patient Location              32^234-4                      user table



{ ORC           1     Order Control                 NW                            table 119

                2     Placer Order Number           49295;1^OR                    number^application

                3     Filler Order Number           780;2970313;3^LRCH            identifier^application

                5     Order Status                  CM                            string

                7     Quantity/Timing               2^^^199404150600              quantity^^^start d/t^
                                                                                  stop d/t

                9     D/T of Transaction            199404150545                  timestamp

February 2009                        OE/RR Package Interface Specification                                   67
             10   Entered By                  10                        composite ID

             12   Ordering Provider           5934                      composite ID

             15   Order Effective D/T         199404150600              timestamp

             16   Order Control Reason        6^DUPLICATE^99ORN^1^ coded element (Nat’l=
                                              DUPLICATE TESTS^99ORR Nature, Local=Reason)



     NTE     1    Set ID                      16                        set ID

             2    Source of Comment           L                         table 105

             3    Comment                     inadequate specimen       formatted text



     OBR     4    Universal Service ID        84295.0000^Sodium^99N coded element
                                              LT^176^SODIUM^99LRT

             7    Observation D/T             199404150630              timestamp

             11   Specimen Action Code        L                         table 65

             12   Danger Code                 ^isolation                composite ID

             14   Specimen Received           199404140645              timestamp
                  Date/Time

             15   Specimen Source             0X000;BLOOD;SNM;3;        source (table 70)
                                              BLOOD;99LRS^^^70^

                                              BLOOD;99LRX

             20   Filler Field 1 (used        CH 2 123^12345            string
                  for Acc#, LRUID)

             22   Results Rpt/Sts Chg         199404150635              timestamp

             25   Result Status               F                         table 123

             27   Quantity/Timing             ^^^^^R;9                  ^^^^^priority



     NTE     1    Set ID                      1                         set ID

             2    Source of Comment           P                         table 105

             3    Comment                     Call with results         formatted text



     { OBX   2    Value Type                  ST                        table 125

             3    Observation ID              ^^^170^Glucose^99LRT      coded element



68                              OE/RR Package Interface Specification               February 2009
                4      Observation Sub-ID              1                                  string

                5      Observation Value               30                                 string

                6      Units                           mg/dL                              coded per HL7 7.1.5

                7      Reference Range                 60-123                             string

                8      Abnormal Flag                   L                                  table 78

                11     Observ Result Status            F                                  table 85



         NTE    2      Source of comment               L                                  table 105

    }           3      Comment                         corrected value                    formatted text

}




Notes:         Sending Application is the name of the VistA package generating the

               message; Receiving Application is the name of the VistA package that is

               the intended recipient of the message. Sending Facility and Receiving

               Facility are the station number.



               Patient ID is patient DFN (pointer to file 2); Alternate Patient ID will

               be a variable pointer, used in the event the order is not being placed

               for a patient in file #2 (an employee in file #200, for example). If the Alternate Patient ID is used,
               Patient ID will be zero and Patient Name will be the resolved pointer.



               Patient Location, for an inpatient, is Hospital Location IEN^Room-Bed. For an outpatient, it is the
               Hospital Location IEN. In both cases, this is the location from which the order is being placed.



               Placer Order Number is the OE/RR order number.



               Filler Order Number is the Laboratory order number;Order Date;Specimen Number, an ‘^’, and an
               alpha code that specifies what part of lab this order came from:

                 LRCH - Chemistry, Hematology, Toxicology, Microbiology, Etc


February 2009                          OE/RR Package Interface Specification                                      69
       LRBB - Blood bank

       LRAP - Anatomic Pathology




     Order status will be CM when all the tests associated with the order have been completed (only
     Lab can make this determination).



     Quantity/timing will use only the start date/time and quantity sub-pieces. Priority will not be set
     in this segment. Rather, the priority of individual tests will be set in the quantity/timing field of
     the OBR segment. The start date/time piece will be used as follows:



               lab collect:         requested collection time

               send patient:        requested collection time

               ward collect:        actual (anticipated) collection time

               immediate collect:          requested collection time



     Quantity will be used to specify the number of units requested in the case of blood orders.



     Date/time of Transaction is when the ordered was entered.



`    Entered By is the IEN in the New Person file (DUZ of the user).



     Ordering Provider is the IEN in the New Person file of the person requesting the order.



     Universal Service ID identifies an orderable laboratory test. The pointer to the Lab Test file is used
     as a code in the alternate ID section. When a national standard is agreed upon for laboratory
     tests, this will be passed in the first three pieces.



     Observation D/T is returned by laboratory with results and is the actual time of the specimen
     collection.




70                           OE/RR Package Interface Specification                          February 2009
            Specimen Action Code indicates how the collection sample is to be obtained. L will indicate Lab
            Collect, with the Requested d/t in ORC-7; The letter O will mean Ward Collect, with the Collection
            d/t passed in OBR-7. The number 1 will be added to table 65 for Send Patient, and the number 2
            for Immediate Collect.



            Specimen Received D/T, when sent in a status change message, indicates the date/time the
            specimen was received in the lab.



            Specimen Source is defined to be a 6 ^-piece identifier, however only the first and fourth pieces
            are used here. The first 3 ;-pieces identify the specimen to be tested, as a SNOMED code; the
            second 3 ;-pieces give the sample to be collected, from the Collection Sample file (62). The fourth
            piece may be used to pass the specimen’s entry in the Topography file (61), especially if no
            SNOMED code is available.



            Quantity/Timing in the OBR segment will be used to pass the urgency of the order in the sixth ^-
            piece; the second ;-piece identifies the urgency as an entry number from the Lab Urgency file
            (62.05).



            The OBX segments can be used to pass specific information required to be with the order.
            Examples are information that might be required to be included with a request for a pathology
            study, or whether a blood request is pre-operative, etc.



            The OBX segment is also used to pass the text entered by a physician if there was a positive order
            check that the physician chose to override. The special code, 14^Lab-drug interaction^99OCX, is
            used to identify this OBX segment in the Observation ID field. The Observation Value field
            contains detailed order check information delimited by ampersands (&):

            Order check message/person over-riding the order check/over-ride reason



            Orders with a schedule other than ‘once’ will be passed as separate orders.




February 2009                      OE/RR Package Interface Specification                                    71
Laboratory
Order Event Messages


The following tables identify the HL7 fields that are passed in each kind of event associated with OE/RR. For
each event there is an order control code and a set of fields listed. For any given event, however, some of the
fields may be empty (Danger Code, for example).



The protocols identified in the tables use OE/RR namespacing conventions. The messages sent by OE/RR will
use the OR namespaced protocols indicated. Individual packages may use whatever protocol names they wish.



Front Door - Laboratory

Action               Request from OE/RR                 Lab accepts            Lab rejects



Protocol             OR EVSEND LRCH                     LR7O EVSEND OR         LR7O EVSEND OR

Order Control        NW (new order)                     OK (accepted)          UA (unable to accept)

HL7 Fields           MSH: 1,2,3,4,5,6,7,9               MSH: 1,2,3,4,9         MSH: 1,2,3,4,9

                     PID: 3,5                           PID: 3,5               PID: 3,5

                     PV1: 2,3                           ORC: 1,2,3             ORC: 1,2,12,15,16

                     ORC: 1,2,7,9,10,12,15,16                                  NTE: 1,2,3

                     OBR: 4,11,12,15,27                                        OBR: 4

                     NTE: 1,2,3



Protocol             OR EVSEND LRCH                     LR7O EVSEND OR         LR7O EVSEND OR

Order Control        CA (cancel)                        CR (cancelled)         UC (unable to cancel)

HL7 Fields           MSH: 1,2,3,4,5,6,7,9               MSH: 1,2,3,4,9         MSH: 1,2,3,4,9

                     PID: 3,5                           PID: 3,5               PID: 3,5

                     ORC: 1,2,3,10,12,15,16             ORC: 1,2,3             ORC: 1,2,3,16

                     OBR: 4                                                    NTE: 1,2,3



Example:        CBC with Differential ASAP

72                                   OE/RR Package Interface Specification                        February 2009
New Order

Array:          MSG(1)="MSH|^~\&|ORDER ENTRY|660|LABORATORY|660|199402230600||ORM"

                MSG(2)="PID|||270||PATIENT,ONE Q."

                MSG(3)="PV1||I|10^4101-B||||||||||||||||"

                MSG(4)="ORC|NW|49295;1^OR|||||^^^199402230600||199402230600|10||5934|||

                      199402221430|W^WRITTEN^99ORN"

                MSG(5)="OBR||||^^^71^CBC^99LRT|||||||L||||0X000;BLOOD;SNM;3;BLOOD;99LRS

                      ^^^70;BLOOD;99LRX||||||||||||^^^^^A;2"

                MSG(6)="NTE|1|P|Call provider with results"

Call:           D MSG^XQOR("OR EVSEND LRCH",.MSG)        ; New Order from OE/RR



Array:          MSG(1)="MSH|^~\&|LABORATORY|660|||||ORR"

                MSG(2)="PID|||270||PATIENT,ONE Q."

                MSG(3)="ORC|OK|49295;1^OR|780;2940223;3^LR"

Call:           D MSG^XQOR("LR7O CH EVSEND OR",.MSG)             ; Lab accepts, returns order #



Cancel an Order

Array:          MSG(1)="MSH|^~\&|ORDER ENTRY|660|LABORATORY|660|199402221430||ORM"

                MSG(2)="PID|||270||PATIENT,ONE Q."

                MSG(3)="ORC|CA|49296;2^OR|780;2940222;3^LR|||||||10||5934|||

                      199402221430|D^DUPLICATE^99ORN^Duplicate Orders^99ORR"

                MSG(4)="OBR||||^^^71^CBC^99LRT"

Call:           D MSG^XQOR("OR EVSEND LRCH",.MSG)        ; OE/RR requests canceling order



Array:          MSG(1)="MSH|^~\&|LABORATORY|660|||||ORR"

                MSG(2)="PID|||270||PATIENT,ONE Q."

                MSG(3)="ORC|CR|49296;2^OR|780;2940223;3^LR"

Call:           D MSG^XQOR("LR7O CH EVSEND OR",.MSG)             ; Lab accepts cancellation




February 2009                  OE/RR Package Interface Specification                          73
Back door orders are handled by sending OE/RR the ORM message for a laboratory order with a ‘send number’
order control code. This allows OE/RR to store the order in its database and return the OE/RR order number to
laboratory with a ‘number assigned’ order control code. OE/RR cannot actually reject laboratory events. The
‘data errors’ order control code is just used as some way to communicate to laboratory that OE/RR could not
interpret the ORM message. This should generally not happen. Use of the ‘back door’ by packages for ordering
is optional. It is still necessary to post an event when results are available.



Back Door - Laboratory

Action              Event from Lab                      OE/RR accepts                  OE/RR rejects



Protocol            LR7O CH EVSEND OR                   OR EVSEND LRCH                 OR EVSEND LRCH

Order Control       SN (send number)                    NA (number assigned)           DE (data errors)

                    ZC (conversion)

HL7 Fields          MSH: 1,2,3,4,9                      MSH: 1,2,3,4,5,6,7,9           MSH: 1,2,3,4,5,

                    PID: 3,4,5                          PID: 3,4,5                           6,7,9

                    PV1: 2,3                            ORC: 1,2,3                     PID: 3,4,5

                    ORC: 1,3,5,7,10,12,15,16                                           ORC: 1,3,16

                    OBR: 4,7,11,15,27

                    NTE: 1,2,3




Protocol            LR7O CH EVSEND OR                                                  OR EVSEND LRCH

Order Control       OC (cancel)                                                        DE (data errors)

HL7 Fields          MSH: 1,2,3,4,9                      There is no return             MSH: 1,2,3,4,5,
                                                        event. OE/RR must
                    PID: 3,4,5                          accept the instruction               6,7,9
                                                        from Laboratory.
                    ORC: 1,2,3,5,12,15,16                                              PID: 3,4,5

                    NTE: 1,2,3                                                         ORC: 1,2,3,16

                    OBR: 4



Protocol            LR7O CH EVSEND OR                                                  OR EVSEND LRCH

Order Control       SC (sample collected)                                              DE (data errors)



74                                  OE/RR Package Interface Specification                      February 2009
HL7 Fields      MSH: 1,2,3,4,9                  There is no return       MSH: 1,2,3,4,5,
                                                event. OE/RR must
                PID: 3,4,5                      accept the instruction        6,7,9
                                                from Laboratory.
                ORC: 1,2,3,5,12,15                                       PID: 3,4,5

                OBR: 4,14,22                                             ORC: 1,2,3,16



Protocol        LR7O CH EVSEND OR                                        OR EVSEND LRCH

Order Control   RE (completed)                                           DE (data errors)

HL7 Fields      MSH: 1,2,3,4,9                  There is no return       MSH: 1,2,3,4,5,
                                                event. OE/RR must
                PID: 3,4,5                      accept the instruction        6,7,9
                                                from Laboratory.
                ORC: 1,2,3,5,12,15                                       PID: 3,4,5

                OBR: 4,7,14,15,20,22,25                                  ORC: 1,2,3,16

                OBX: 2,3,4,5,6,7,8,11

                NTE: 2,3




February 2009                OE/RR Package Interface Specification                        75
Example:    CBC with Differential ASAP



New Order

Array:      MSG(1)="MSH|^~\&|LABORATORY|660|||||ORM"

            MSG(2)="PID|||270||PATIENT,ONE Q."

            MSG(3)="PV1||I|10^4101-B||||||||||||||||"

            MSG(4)="ORC|SN||780;2940222;3^LRCH||||^^^199402230600|||10||5934|||

                   199402221430|3^TELEPHONED^99ORN"

            MSG(5)="OBR||||^^^27^CBC WITH DIFF^99LRT|||||||L||||0X000;BLOOD;SNM;

                   3;BLOOD;99LRS^^^70;BLOOD^99LRX||||||||||||^^^^^A;2"

Call:       D MSG^XQOR("LR7O CH EVSEND OR",.MSG)              ; New Order from Lab



Array:      MSG(1)="MSH|^~\&|ORDER ENTRY|660|LABORATORY|660|199402230600||ORR"

            MSG(2)="PID|||270||PATIENT,ONE Q."

            MSG(3)="ORC|NA|9295^OR|780;2940222;3^LRCH"

Call:       D MSG^XQOR("OR EVSEND LRCH",.MSG)         ; OE/RR returns order #



Cancelled Order

Array:      MSG(1)="MSH|^~\&|LABORATORY|660|||||ORM"

            MSG(2)="PID|||270||PATIENT,ONE Q."

            MSG(3)="ORC|OC|9295^OR|780;2940222;3^LRCH||CA|||||10||5934|||

                   199402221455|6^DUPLICATE^99ORN^1^DUPLICATE TESTS^99ORR"

            MSG(4)="OBR||||^^^27^CBC WITH DIFF^99LRT"

Call:       D MSG^XQOR("LR7O CH EVSEND OR",.MSG)              ; Lab cancels order



Sample Collected

Array:      MSG(1)="MSH|^~\&|LABORATORY|660|||||ORM"

            MSG(2)="PID|||270||PATIENT,ONE Q."

            MSG(3)="ORC|SC|9295^OR|23445^LRCH||IP|||||10||5934|||199402230655"

            MSG(4)="OBR||||^^^27^CBC WITH DIFF^99LRT||||||||||199402230650

                   ||||||||199402230655"

76                          OE/RR Package Interface Specification                   February 2009
Call:           D MSG^XQOR("LR7O CH EVSEND OR",.MSG)             ; Lab collects order



Order Completed

Array:          MSG(1)="MSH|^~\&|LABORATORY|660|||||ORM"

                MSG(2)="PID|||270||PATIENT,ONE Q."

                MSG(3)="ORC|RE|9295^OR|780;2940223;3^LRCH||CM|||||10||59|||199402230819"

                MSG(4)="OBR||||^^^27^CBC WITH DIFF^99LRT|||199402230630|||||||199402230

                      650|0X000;BLOOD;SNM;3;BLOOD;99LRS^^^70;BLOOD;99LRX|||||CH 0722 2|

                      |199402230819|||F"

                MSG(5)="OBX|1|ST|^^^2^WBC^99LRT||10|K/cmm|3.4-8.3|H|||F"

                MSG(6)="OBX|2|ST|^^^3^RBC^99LRT||5.4|M/cmm|5.00-6.00||||F"

                 .

                 .

                 .

                MSG(35)="OBX|31|ST|^^^185^NUCLEATED RBC/100WBC^99LRT||0|%|0-0||||F"

Call:           D MSG^XQOR("LR7O CH EVSEND OR",.MSG)             ; Lab completes order




February 2009                  OE/RR Package Interface Specification                     77
Laboratory
Orderable Item Updates


When the laboratory service makes tests available for ordering, inactivates tests, or changes information
related to a test, OE/RR needs to be notified. This is done via a protocol event point which should be defined by
lab. When this event point is invoked, an HL7 master file update message is sent. Information that should be
available in this segment is listed in the following table.



SEG           SEQ FIELD NAME                       EXAMPLE                             HL7 TYPE

MSH           1     Field Separator                |                                   string

              2     Encoding Characters            ^~\&                                string

              3     Sending Application            LABORATORY                          string

              4     Sending Facility               660                                 string

              9     Message Type                   MFN                                 ID



MFI           1     Master File ID                 60^LAB TEST^99DD                    coded element

              3     File-Level Event Code          REP                                 table 178

              6     Response Level Code            NE                                  table 179



{ MFE         1     Record-Level Event             MAD                                 table 180
                    Code

              4     Primary Key                    84330.0000^^99NLT^175^              coded element

                                                   GLUCOSE^99LRT



     ZLR      1     Specimen                       0X500;SERUM;SNM;1;BLOOD;            table 70
                                                   99LRS

              2     Can Lab Collect?               Y                                   coded value
                                                                                       (Y=yes,N=no)

              3     Sequence                       1                                   numeric

              4     Lab Subscript                  CH                                  coded value
                                                                                       (CH,MI,BB,EM,SP,AU)

              5     Maximum Order Freq.            30                                  numeric


78                                   OE/RR Package Interface Specification                        February 2009
            6     Daily Order Maximum             1                                   numeric

            7     Cost                            37.50                               money

            8     Type                            B                                   coded value(B=both,

                                                                                      I=input, O=output)



    { ZLC } 1     Set ID                          1                                   numeric

            4     Component                       ^^^1^WBC^99LRT                      coded element



    { ZSY } 1     Set ID                          1                                   numeric

            2     Synonym                         Blood Sugar                         string



    NTE     1     Set ID                          1                                   numeric

}           3     Comment                         general ward instructions string




Notes:      When doing the initial population of the orderable items file, the File-Level Event Code should be
            REP. After the initial population, subsequent changes should have the UPD code.



            There may be multiple MFE segments passed in a single transaction.



            The record-level event code tells whether this transaction is an update, addition, inactivation, etc.



            The primary key is the coded element that is normally passed when creating an order. By using
            the coded element, we can know the national and local names for a test.



            One MFE segment may have multiple ZLC (component) and ZSY (synonym) segments.



            An NTE segment will contain general ward instructions by test.




February 2009                      OE/RR Package Interface Specification                                     79
           The sequence field is used to identify the precedence the specimen has in the lab package. When
           an order is being placed, sequence 1 will be the default. The list box will list additional options in
           sequence order.



           The lab subscript will be used to map the order to a display group in OE/RR and will determine the
           type of dialog used.



           It is important to have cost information, but it need not be exact. It has been found that the total
           price of a patient stay can be reduced if a cost is displayed for each item while it is being ordered.



           The message text will be displayed when this specific orderable item is selected.



           Everything that can be requested from lab should be identified as an orderable item.



Example:



Adding new tests

Array:       MSG(1)="MSH|^~\&|LABORATORY|660|||||MFN"

             MSG(2)="MFI|60^LAB TEST^99DD||REP|||NE"

             MSG(3)="MFE|MAD|||^^^1^WBC^99LRT"

             MSG(4)="ZLR|X1000;CEREBROSPINAL FLUID;SNM;9;CSF;99LRS||1|CH||||O"

             MSG(5)="MFE|MAD|||^^^33^PROTHROMBIN TIME^99LRT"

             MSG(6)="ZLR|0X400;PLASMA;SNM;2;BLOOD;99LRS||1|CH||||B"

             MSG(7)="ZLC||||^^^32^ANTICOAGULANTS^99LRT"

             MSG(8)="ZLC||||^^^467^PT^99LRT"

             MSG(9)="ZSY|1|PT"

Call:        D MSG^XQOR("LR7O ORDERABLE OR",.MSG)



Inactivating a test

Array:       MSG(1)="MSH|^~\&|LABORATORY|660|||||MFN"

             MSG(2)="MFI|60^Lab Test^99DD||UPD|||NE"
80                                 OE/RR Package Interface Specification                          February 2009
                MSG(3)="MFE|MDC|||^^^1^WBC^99LRT"

Call:           D MSG^XQOR("LR7O ORDERABLE OR",.MSG)




February 2009                  OE/RR Package Interface Specification   81
Laboratory
Ordering Parameters


OE/RR is interested in several laboratory parameters. All parameters will be kept in the Parameter Tools utility.
When a package changes a given parameter, the Parameter file should be updated. The parameters in which
OE/RR is interested are as follows:



ENTITY        LAB PARAMETER                                 DATA TYPE         PARAMETER NAME IN OE/RR



Package       COLLECT THURSDAY ORDERS IN                    boolean           LR COLLECT THURSDAY

              COLLECT FRIDAY ORDERS IN                      boolean           LR COLLECT FRIDAY

              COLLECT SATURDAY ORDERS IN                    boolean           LR COLLECT SATURDAY

              COLLECT SUNDAY ORDERS IN                      boolean           LR COLLECT SUNDAY

              COLLECT MONDAY ORDERS IN                      boolean           LR COLLECT MONDAY

              COLLECT TUESDAY ORDERS IN                     boolean           LR COLLECT TUESDAY

              COLLECT WEDNESDAY ORDERS IN                   boolean           LR COLLECT WEDNESDAY

              IGNORE HOLIDAYS                               boolean           LR IGNORE HOLIDAYS



Division      PHLEBOTOMY COLLECTION TIME                    time (m)          LR PHLEBOTOMY COLLECTION



Location      MAX DAYS FOR CONTINUOUS ORDERS                numeric           LR MAX DAYS CONTINUOUS

              EXCEPTED LOCATIONS                            yes/no            LR EXCEPTED LOCATIONS

              DEFAULT COLLECTION TYPE                       set of codes      LR DEFAULT TYPE QUICK

              ASK URGENCY                                   yes/no            LR ASK URGENCY

                                                            numeric           LR LAB COLLECT FUTURE




These parameters should be updated by the following call,



         D EN^XPAR(ENTITY, PARAMETER, INSTANCE, VALUE)
82                                   OE/RR Package Interface Specification                         February 2009
where,



         ENTITY is a variable pointer that identifies the entity to which this
         parameter applies. Parameters that apply to the entire package point to the
         package file. Parameters that apply to a division point to the Institution
         file. Parameters that apply to a specific location point to the Hospital
         Location file. Parameters may also point to the New Person file.



         PARAMETER is a string that names the parameter in the OE/RR parameter file.



         INSTANCE is a string that uniquely identifies the parameter if it may be used
         multiple times. Generally it is a number. For example, a site may have
         several PHLEBOTOMY COLLECTION TIME’s. The different collection times may be
         identified by assigning a different number to each instance.



         VALUE is the new value of the parameter.




OE/RR will offset the cut-off time parameters by several minutes to minimize the risk of an order being placed
which meets the cut-off time when it is signed, but is past the cut-off time after it is transmitted to the service.




February 2009                         OE/RR Package Interface Specification                                       83
Laboratory
Procedure Calls


We need entry points defined in the Laboratory package that will handle the following procedure calls. It is up
to the developers exactly how these entry points are defined and named. Note that to behave properly in a
windowed environment, all variables used in the calls must be NEWed properly and the call must be silent (no
reads or writes). Calls to Fileman should use the silent calls.



Return lab results

RR^LR7OR1(DFN,ORD,BEG,END,SUB,TEST,FLAG,MAX)

Passed:         DFN:    Patient DFN

                ORD:    Lab order number (i.e. ORPK)

                BEG:    Beginning date

                END:    Ending date

                SUB:    Lab subsection of CH,MI,BB,AP or ALL [default is ALL]

                TEST: Lab test (ptr to #60)

                FLAG: (L)ocal or (N)ational test ID used

                MAX:    Maximum number of results to return

Note:           Different combinations of parameters may be passed in, for example:

                        By date range = DFN, BEG, END, [SUB]

                        Historical by test = DFN, [BEG, END, SUB,] TEST, FLAG

                        By lab order = DFN, ORD

Returned:       ^TMP("LRRR",$J,DFN,SUB,inverse d/t,sequence #)

                = Test^result^L/N flag^units^reference range^result status^^^Nat’l
                Code^Name^System^Verified by^^Ther flag^Print Name^Accession^Order#

                where Test is a ptr to the Lab Test file #60.



Return lab cumulative report

EN^LR7OSUM(.Y,DFN,BEG,END,MAX,RM,SUB)

Passed:         DFN:    Patient DFN

                BEG:    Beginning date [optional]

                END:    Ending date [optional]
84                                   OE/RR Package Interface Specification                        February 2009
                MAX:   Maximum number of results to return [optional]

                RM:    Right margin [default=80]

                SUB:   Subheaders from #64.5 to return results for [default=ALL]

Returned:       Y(#,0)=report (lines of text)



Return ordering parameters for a test

TEST^LR7OR3(TEST,.Y)

Passed:         TEST: Lab test (ptr to #60)

Returned:       Y:     Array of allowable and default attributes for TEST:

                Y("Unique CollSamp")=n, where n is the entry in the CollSamp list below

                Y("Default CollSamp")=n

                Y("Lab CollSamp")=n

                Y("Default Urgency")=ptr 62.05^Name

                Y("Urgencies",n)=ptr 62.05^Name

                Y("Specimens",n)=ptr 61^Name

                Y("CollSamp",n)=ptr 62^Name^DefSpecimen^TubeColor^MaxOrd^MaxDay^

                                 LabCollect^ReqComID

                Y("CollSamp",n,"WD",i,0)=Ward Remarks

                Y("GenWardInstructions",n)=General Ward Instructions

                Y("ReqCom")=Required Comment ID at Test level



SCOM^LR7OR3(TEST,SAMP,.Y)

Passed:         TEST: Lab test (ptr to #60)

                SAMP: Collection sample (ptr to #62)

Returned:       Y:     Array of text in wp format



$$DEFURG^LR7OR3

Passed:         nothing

Returned:       Default urgency for the site



Return ordering parameters for Immediate Collection

February 2009                   OE/RR Package Interface Specification                85
$$ON^LR7OV4(DIV)

Passed:       DIV:   Ordering division

Returned:     1 or 0, if Immediate Collection is allowed



$$DEFTIME^LR7OV4(DIV)

Passed:       DIV:   Ordering division

Returned:     Next allowable time for immediate collect



$$VALID^LR7OV4(DIV,TM)

Passed:       DIV:   Ordering division

              TM:    Date/time requested for collection

Returned:     1 or 0^message, if TM is valid for immediate collect



SHOW^LR7OV4(DIV,.Y)

Passed:       DIV:   Ordering division

Returned:     Y:     Array of allowable date/time ranges for immediate collect,

                     formatted for display



Return other lab reports

EN^LR7OSUM           Cumulative

AP^LR7OSUM           Anatomic Pathology

EN^LR7OSMZ0          Microbiology

EN1^LR7OSBR          Blood Bank

L2^LRDIST4           Graph results

SET^LRRP4            Interim Report

SET^LRGEN            Results by Test




86                            OE/RR Package Interface Specification         February 2009
Laboratory
Open Issues


Should we create our own units table and treat the units field in OBX as a coded element? Some units in the
Lab test file are not found in the ISO tables.




February 2009                       OE/RR Package Interface Specification                                     87
MAS


Patient Movements are handled in two distinct ways in OE/RR 2.5



1) Clerks use MAS defined protocols to enter movement information.

2) Physicians use OE/RR defined protocols to enter orders for movements. The

  actual movement is then entered into the computer by MAS staff.



It is anticipated that these methods will be sufficient in OE/RR version 3. Clerks will still access the MAS
routines to enter actual movement data while physicians will enter movement orders which will need to be
acted on by staff. These physician entered orders will be treated like other generic orders (i.e., orders to
nursing, activity limitations).



An important aspect of OE/RR will be the accurate linking of a patient with their Attending Physician and
Primary Provider. The only transaction required between OE/RR and MAS will be OE/RR updating MAS
regarding the patient’s Attending Physician and Primary Provider. It is anticipated by OE/RR and other packages
that MAS will update their files so subsequent VADPT calls will return the patient’s updated Attending Physician
and Primary Provider.



OE/RR will continue to make heavy use of the MAS protocol event points for handling actions such as DC orders
on transfer, generate notification on admission, etc.




88                                   OE/RR Package Interface Specification                        February 2009
MAS
HL7 Fields


The following is a list of HL7 fields that are used in transactions between OE/RR 3 and the MAS package. For now,
HL7 communication will be limited to OERR updating MAS regarding Attending Physician and Primary Provider. Not
every field will be used in every message.



 SEG            SEQ   FIELD NAME                     VALUE/EXAMPLE                    TYPE

 MSH            1     Field Separator                |                                string

                2     Encoding Characters            ^~\&                             string

                3     Sending Application            ORDER ENTRY                      string

                4     Sending Facility               660                              string

                5     Receiving Application          M.A.S.                           string

                6     Receiving Facility             660                              string

                7     D/T of Message                 199403141605                     timestamp

                9     Message Type                   ADT                              ID (table 76)



 EVN            1     Event Type                     A08                              ID (table 3)

                2     Date/Time of Event             199403141605                     timestamp



 PID            3     Patient ID                     270                              composite ID

                5     Patient Name                   Doe, John H                      patient name



 PV1            2     Patient Class                  I                                table 4

                3     Patient Location               32^234-4                         user table

                7     Attending Physician            114777^LEBAUER, CARL J.          composite ID



 ZDG            1     Primary Provider               1554677^JOHNSON, MARTIN          composite ID




Notes:       Sending Application is the name of the VistA package generating the
February 2009                       OE/RR Package Interface Specification                                 89
     message; Receiving Application is the name of the VistA package that is

     the intended recipient of the message. Sending Facility and Receiving

     Facility are the station number.



     Message Type for this non-order use is ADT.



     Event Type is the type of A/D/T transaction. For attending/provider

     updates, this will be A08 (update patient information.)



     Date/Time of Event is the date/time the admission order was placed

     identifying the primary provider and attending physician.



     Patient ID is the patient DFN (a pointer to file 2)



     Patient Location, for an inpatient, is Hospital Location IEN^Room-Bed. For an outpatient, it is
     Hospital Location IEN. In both cases, this is the location from which the order is being placed.



     Attending Physician is the patient’s attending physician in the form DUZ^Name.



     Primary Provider is the patient’s primary provider in the form DUZ^Name.




90                           OE/RR Package Interface Specification                         February 2009
MAS
Message Event Messages


When attending physician and/or primary provider are identified in OE/RR, this information is passed to the
MAS package using the following event. These messages are not really orders, so the typical order events do
not apply here.




Front Door - MAS

 Action            OE/RR MAS Send



 Protocol          OR EVSEND DGPM

 HL7 Fields        MSH: 1,2,3,4,5,6,7,9

                   EVN: 1,2

                   PID: 3,5

                   PV1: 2,3,7

                   ZDG: 1




February 2009                       OE/RR Package Interface Specification                                 91
MAS
Procedure Calls


OE/RR will rely on VADPT to return a patient’s current: Primary Provider, Attending Physician, hospital location,
room-bed, ssn, date of birth and next of kin. Note that to behave properly in a windowed environment only
silent calls are acceptable (no reads or writes). Specific VADPT calls used by OE/RR will include:



        DEM^VADPT

        INP^VADPT

        ADD^VADPT

        ELIG^VADPT

        SVC^VADPT

        OAD^VADPT

        SDA^VADPT

        KVAR^VADPT

        ADM^VADPT2




92                                   OE/RR Package Interface Specification                         February 2009
Medicine (Clinical Procedures)

Requests to the Medicine package will be handled through Consult/Request Tracking, as is done in OE/RR 2.5.
The next version of the Consults package will provide additional facilities for customizing request dialogs. This
will allow specific information to be obtained when particular procedures are requested.



On the results reporting side, we need entry points defined in the Medicine package that will handle the
following procedure calls. It is up to the developers exactly how these entry points are defined and named.
Note that to behave properly in a windowed environment, all variables used in the calls must be NEWed
properly and the call must be silent (no reads or writes). Calls to Fileman should use the silent calls.



        Return procedures for a patient

        EN^MCARPS2(DFN)

        Passed:         patient DFN

        Returned:       ^TMP("OR",$J,"MCAR","OT",ID)= print name^procedure ptr^print

                        routine^print line^print name^date/time of procedure^

        Note: The global ^TMP("MCAR",$J) should be killed before and after this call.



        Return narrative of procedure report




It would be very useful for order checking if, when results from procedures became available, they were posted
through a protocol event point, as is being done with the laboratory package. The procedures should be
identified with a nationally accepted coding system for this purpose. These codes could be included in the
clinical lexicon.




February 2009                         OE/RR Package Interface Specification                                    93
Nursing

Currently, orders to nurses are handled internally to OE/RR (see Generic Orders). The orders are placed through
OE/RR and then printed out on the ward, where the nurses can see them and act on them. In version 3 of
OE/RR, it is possible for nurses to verify the orders on-line.



Some institutions (outside of the VA) have attempted to create Nursing Orders automatically from the Doctor’s
Orders. This has proven difficult, as a level of human interpretation is frequently necessary. However, if this
kind of functionality is desired, it would be possible for OE/RR to post orders to nursing (and vitals) via an HL7
message, as is done with the other packages.




94                                    OE/RR Package Interface Specification                         February 2009
Pharmacy
HL7 Ordering Fields


The following is a list of HL7 fields that will be used in transactions between OE/RR 3 and the Pharmacy
packages. Not every field will be used in every message.



SEG           SEQ FIELD NAME                      EXAMPLE                        HL7 TYPE

MSH           1     Field Separator               |                              string

              2     Encoding Characters           ^~\&                           string

              3     Sending Application           ORDER ENTRY                    string

              4     Sending Facility              660                            string

              5     Receiving Application PHARMACY                               string

              6     Receiving Facility            660                            string

              7     D/T of Message                199409151010                   timestamp

              9     Message Type                  ORM                            ID



PID           3     Patient ID                    5340747                        composite ID

              5     Patient Name                  PATIENT,ONE H                  patient name



PV1           2     Patient Class                 I                              table 4

              3     Patient Location              32^234-4                       user table



{ ORC         1     Order Control                 NW                             table 119

              2     Placer Order Number           234123;1^OR                    number^application

              3     Filler Order Number           870745^PS                      number^application

              5     Order Status                  CM                             table 38

              7     Quantity/Timing               325&MG&1&TABLET&325MG& dose^schedule^duration^
                                                  638^Q1D^D14^1994091510 start^^priority^^text^
                                                  10^^R^^325MG^          conjunction

              9     D/T of Transaction            199409151010                   timestamp


February 2009                        OE/RR Package Interface Specification                                 95
             10   Entered by                10                          composite ID

             11   Verified by               23                          composite ID

             12   Ordering Provider         97378                       composite ID

             15   Order Effective D/T       199409151010                timestamp

             16   Order Control Reason      E^ELECTRONICALLY            coded element:
                                            ENTERED^99ORN^12^
                                            Requesting Physician        NoO Code^NoO Name^99ORN
                                            Cancelled^99ORR             ^#^Reason for Action^
                                                                        99ORR



     RXO     1    Requested Give Code       ^^^8^DIGOXIN TAB^99PSP coded element

             2    Requested Give Amt        125                         numeric

             10   Requested Dispense        576.4^DIGOXIN 0.5MG    coded element
                  Code                      TAB^99NDF^4213^DIGOXIN
                                            0.5MG TAB^99PSD

             11   Requested Disp Amt        30                          numeric

             13   Number of Refills         5                           numeric

             17   Requested Give Per        D30                         string



     RXE     1    Quantity/Timing           325&MG&1&TABLET^QD^^        dose^schedule^duration^

                                            199409150600^19940925       start^stop^priority^^

                                            0600^^^325MG^               text^conjunction

             2    Give Code                 576.4^^99NDF^21^^99PSD coded element

             10   Dispense Amount           100                         numeric

             12   Number of Refills         11                          numeric

             22   Give Per Time             D30                         string

             23   Give Rate Amount          125                         string

             24   Give Rate Units           ^^^^ml/hr99PSU              coded element

             25   Give Strength             325                         numeric

             26   Give Strength Units       ^^^20^MG^99PSU              coded element



     { NTE } 1    Set ID                    7                           set ID

             2    Source of Comment         P                           table 105


96                              OE/RR Package Interface Specification                  February 2009
            3    Comment                    take with food              formatted text



  { RXR } 1      Route                      ^^^23^ORAL^99PSR            coded element



  { RXC } 1      RX Component Type          B                           table 166

            2    Component Code             ^^^4132^D5 W NS^99PSD       coded element

            3    Component Amount           1                           numeric

            4    Component Units            ^^^PSIV-1^ML^99OTH          coded element



  { OBX } 1      Set ID                     1                           set ID

            2    Value Type                 TX                          table 125

            3    Observation ID             ^^^38^Critical Drug-   coded element
                                            Drug interaction^99OCX

            5    Observation Value          Critical drug-drug          string
                                            interaction Aspirin-
                                            Warfarin

            14   Date/time of               199606130813                timestamp
                 Observation

            16   Observer                   10                          composite ID



    NTE     1    Set ID                     1                           set ID

            2    Source of Comment          P                           table 105

            3    Comment                    Worth the risk              formatted text



  ZRX       1    Previous Order #           2355                        numeric

            2    Nature of Order            W                           set of codes

            3    Reason Order Created       N                           set of codes

            4    Routing                    W                           set of codes

            5    Current User               DUZ^NAME^99NP               composite ID

            6    IV Identifier              IV                          string



  ZSC       1    Service Connected          SC                          coded element


February 2009                   OE/RR Package Interface Specification                    97
}




Notes:   Sending Application is the name of the VistA package generating the

         message; Receiving Application is the name of the VistA package that is

         the intended recipient of the message. Sending Facility and Receiving

         Facility are the station number.



         Patient ID is patient DFN (pointer to file 2)



         Patient Location, for an inpatient, is Hospital Location IEN^Room^Bed. For an outpatient, it is the
         Hospital Location IEN. In both cases, this is the location from which the order is being placed.



         Placer Order Number is the OE/RR order number.



         Filler Order Number is the Pharmacy order number.



         Ordering Provider is the IEN in the New Person file.



         Order Status identifies the current status of the order. Codes from table 38 that will be
         used, and those added, include:

                     IP = pending

                     CM = finished/verified by pharmacist (active)

                     DC = discontinued

                     RP = replaced

                     HD = on hold

                     ZE = expired

                     ZS = suspended (active)

                     ZU = un-suspended (active)

                     ZX = unreleased

98                               OE/RR Package Interface Specification                        February 2009
                         ZZ = renewed




            Quantity/Timing contains the give amount, schedule, duration, start and stop times, and priority
            for the order, as well as the actual text of the dose ordered. The quantity field is delimited with
            ‘&’ as:

                Total Dose & Unit & Give Amount & Unit & Text & Dispense Drug

            By using the quantity and conjunction fields, orders with multiple schedules may be sent. For
            outpatient orders, multiple schedules will be sent delimited by ‘~’ and combined into a single SIG;
            an inpatient order with multiple schedules will be sent as separate orders for each schedule. The
            conjunction will be S (then), A (and), or X (except).

            For Inpatient orders, the schedule piece may include the order’s expected Administration time.
            This will include an & followed by the administration time. The schedule type associated with the
            schedule is included in Quantity/Timing field in piece 7.



            Requested Give Code identifies a combination of the drug and dosage form in the format of a
            universal service ID. The last three pieces (alternate components) are used to identify an entry in
            the Pharmacy Orderable Item file.



            Provider’s Pharmacy Instructions are text instructions from the provider to the pharmacist; these
            are passed in an NTE segment following RXO with an ID of 6.



            Provider’s Administration Instructions are Outpatient Pharmacy’s "Patient Instructions" if the
            provider wishes to include them with the order; these are passed in an NTE segment following
            RXO or RXE with an ID of 7.



            Requested Dispense Code identifies the drug ordered as it maps to the National Drug File and to
            the local drug file. The first three pieces identify a VA Product Name entry in the National Drug
            File, the last three pieces (alternate components) are used to identify an entry in the Drug file.
            The ‘code’ field (piece 1) of the National Drug file portion uses two numbers, separated by a
            period, to identify VA Generic Name and VA Product Name. The fourth piece uses the IEN of the
            Drug file to identify a dispensed drug. This field will be blank if a pharmacy orderable item, but no
            dispensed drug, was selected.




February 2009                       OE/RR Package Interface Specification                                    99
      Requested Dispense Amount is used to pass the amount that was entered in the Quantity field for
      an outpatient order.



      Requested Give Per is used to pass the amount that was entered in the Days Supply field for an
      outpatient order.



      Route uses the IEN of the Medication Routes file to identify a route. To truly be HL7 compatible,
      the Medication Routes file should be mapped to the four route fields identified in HL7 4.8.3.



      In the case of an order for IV Fluids, the Requested Give Code will be PS-1^IV^99OTH. This will
      indicate that the order is for IV fluids and the solutions and additives will be found in the RXC
      segment.



      The RXC segment may repeat, once for each solution and additive in an IV order. The RX
      Component Type is B for a solution and A for an additive.



      The Component Code identifies additives and solutions by their IEN in the Pharmacy Orderable
      Item file.



      Component Units uses 99OTH codes (listed at the beginning of this document) to map the IV
      Additive units.



      The OBX segment is used if there was a positive order check that the physician chose to override.
      The special code, 38^Critical Drug-drug interaction^99OCX, is used to identify this OBX segment in
      the Observation ID field, and the Observation Value field contains the actual order check message
      displayed to the provider; the OBX will be followed by an NTE segment, if an override reason was
      entered.



      A Z-segment(ZRX) is used to pass additional data on new orders:

      Previous Order Number identifies the order being edited or renewed by the current order; for
              front-door orders this will be the Pharmacy order number, and for back-door orders it will
              be the Order Entry order number.


100                          OE/RR Package Interface Specification                         February 2009
            Nature of Order may be (W)ritten, (V)erbal, (P)honed, (S)ervice Correction, (X) Rejected,
                   (D)uplicate, Pol(I)cy, (A)uto, or (E)lectronically entered.

            Reason the order was created may be (N)ew, (E)dit, or (R)enew.

            Routing may be (W)indow, (M)ail, or (C)linic.

            Current User identifies the user currently on the system performing the actions on the order.

            IV Identifier will indicate the IV type either Intermittent (I) or Continuous (C)or a fluid TPN
                     (TPN).



            A Z-segment(ZSC) is used for service connectedness, as this must be at the individual order level;
            values may be either SC or NSC.




February 2009                      OE/RR Package Interface Specification                                    101
Pharmacy
Order Event Messages


The following tables identify the HL7 fields that are passed in each kind of event associated with OE/RR. For
each event there is an order control code and a set of fields listed. For any given event, however, some of the
fields may be empty (provider instructions, for example). Pharmacy may wish to send additional fields in the
RXE segment.



The protocols identified in the tables use OE/RR namespacing conventions. The messages sent by OE/RR will
use the OR namespaced protocols indicated. Individual packages may use whatever protocol names they wish.



Front Door - Inpatient Medications

Action               Request from OE/RR                 Pharmacy accepts            Pharmacy rejects



Protocol             OR EVSEND PS                       PS EVSEND OR                PS EVSEND OR

Order Control        NW (new order)                     OK (accepted)               UA (unable to accept)

                     XO (change)                        XR (new order)              UX (unable to change)

HL7 Fields           MSH: 1,2,3,4,5,6,7,9               MSH: 1,2,3,4,9              MSH: 1,2,3,4,9

                     PID: 3,5                           PID: 3,5                    PID: 3,5

                     PV1: 2,3                           PV1: 2,3                    PV1: 2,3

                     ORC: 1,2,7,9,10,12,15,16           ORC: 1,2,3,5                ORC: 1,2,3,12,15,16

                     RXO: 1,10                                                      RXE: 2

                     NTE: 1,2,3

                     RXR: 1

                     OBX: 1,2,3,5,14,16

                     ZRX: 1,2,3



Protocol             OR EVSEND PS

Order Control        ZV (verified)




102                                  OE/RR Package Interface Specification                        February 2009
HL7 Fields          MSH: 1,2,3,4,5,6,7,9               There is no return
                                                       event.
                    PID: 3,5

                    PV1: 2,3,19

                    ORC: 1,2,3,11,15



Protocol            OR EVSEND PS                       PS EVSEND OR              PS EVSEND OR

Order Control       CA (cancel)                        CR (cancelled)            UC (unable to cancel)

                    DC (discontinue)                   DR (discontinued)         UD (unable to dc)

                    HD (hold)                          HR (held)                 UH (unable to hold)

                    RL (release)                       OR (released)             UR (unable to release)

                    SS (send status)                   SC (status update)        DE (data errors)

HL7 Fields          MSH: 1,2,3,4,5,6,7,9               MSH: 1,2,3,4,9            MSH: 1,2,3,4,9

                    PID: 3,5                           PID: 3,5                  PID: 3,5

                    PV1: 2,3,19                        PV1: 2,3                  PV1: 2,3

                    ORC: 1,2,3,10,12,15,16             ORC: 1,2,3,5              ORC: 1,2,3,16

                                                       RXE: 1




OE/RR will use CA to cancel orders which have not been finished by Pharmacy; DC will be used for orders which
have been finished.




February 2009                       OE/RR Package Interface Specification                                103
Example:      Digoxin .125 mg QAM



New Order

Array:

              MSG(1)="MSH|^~\&|ORDER ENTRY|660|PHARMACY|660|20090203131002-0700||ORM"

              MSG(2)="PID|||87||PATIENT,ONE"

              MSG(3)="PV1||I|2^100-3|||||||||||||||||||||||||||||||||||||||||"

               MSG(4)="ORC|NW|26548;1^OR|||||^QAM&10^^^^R^C^0.125MG^~||200902031309-
         0700|1395||1395|||20090203131002-0700|E^ELECTRONICALLY ENTERED^99ORN^^^"

              MSG(5)="RXO|^^^32^DIGOXIN TAB ^99PSP|||||||||"

              MSG(6)="RXR|^^^1^ORAL^99PSR"

              MSG(7)="ZRX||E|N"Call:    D MSG^XQOR("OR EVSEND PS",.MSG) ; New order from
OE/RR



Array:        MSG(1)="MSH|^~\&|PHARMACY|5000|||||ORR"

              MSG(2)="PID|||66||PATIENT,ONE||||||||||||||||||"

              MSG(3)="PV1||I|14||||||||||||||||"

              MSG(4)="ORC|OK|12500;1^OR|1079P^PS||IP|"

Call:         D MSG^XQOR("PS EVSEND OR",.MSG) ; Pharmacy accepts



Verified by Nursing staff

Array:        MSG(1)="MSH|^~\&|ORDER ENTRY|5000|PHARMACY|5000|19971109192242||ORM"

              MSG(2)="PID|||66||PATIENT,ONE"

              MSG(3)="PV1||I|14||||||||||||||||"

              MSG(4)="ORC|ZV|12500^OR|1079P^PS||||||||1345||||19971109192242"

Call:         D MSG^XQOR("OR EVSEND PS",.MSG) ; Verify order from OE/RR



Discontinue Order

Array:        MSG(1)="MSH|^~\&|ORDER ENTRY|5000|PHARMACY|5000|19971109192735||ORM"

              MSG(2)="PID|||66||PATIENT,ONE"

              MSG(3)="PV1||I|14||||||||||||||||"
104                           OE/RR Package Interface Specification          February 2009
                MSG(4)="ORC|DC|12500;2^OR|29U^PS|||||||1311||1311|||19971109192735|

                       D^DUPLICATE^99ORN^7^Duplicate Orders^99ORR"

Call:           D MSG^XQOR("OR EVSEND PS",.MSG) ; OE/RR requests dc of order



Array:          MSG(1)="MSH|^~\&|PHARMACY|5000|||||ORR||||||||||"

                MSG(2)="PID|||66||PATIENT,ONE||||||||||||||||||"

                MSG(3)="PV1||I|14||||||||||||||||"

                MSG(4)="ORC|DR|12500;2^OR|29U^PS||DC|"

                MSG(5)="RXE|^^^199711091920^199711091927"

Call:           D MSG^XQOR("PS EVSEND OR",.MSG) ; Pharmacy accepts dc request




February 2009                  OE/RR Package Interface Specification                  105
Back door orders are handled by sending OE/RR the RDE message (pharmacy encoded order) with a ‘send
number’ order control code. This allows OE/RR to store the order in its database and return the OE/RR order
number to pharmacy with an ‘number assigned’ order control code. OE/RR cannot actually reject pharmacy
events. The ‘data errors’ order control code is just used as some way to communicate to pharmacy that OE/RR
could not interpret the RDE message. This should generally not happen.



Back Door - Inpatient Medications

Action              Event from Pharmacy               OE/RR accepts                   OE/RR rejects

Protocol            PS EVSEND OR                      OR EVSEND PS                    OR EVSEND PS

Order Control       SN (send number)                  NA (number assigned)            DE (data errors)

                    ZC (conversion)

HL7 Fields          MSH: 1,2,3,4,9                    MSH: 1,2,3,4,5,6,7,9            MSH: 1,2,3,4,5,6,

                    PID: 3,5                          PID: 3,5                              7,9

                    PV1: 2,3                          PV1: 2,3                        PID: 3,5

                    ORC: 1,3,5,9,10,12,15,16          ORC: 1,2,3                      ORC: 1,2,3,16

                    RXO: 1

                    RXE: 1,2,25,26

                    NTE: 1,2,3

                    RXR: 1

                    ZRX: 1,2,3,5



Protocol            PS EVSEND OR                                                      OR EVSEND PS

Order Control       SC (finished)                                                     DE (data errors)

                    RO (finished/replaced)

                    XX (order changed)                ORC-5 = CM (active)




106                                 OE/RR Package Interface Specification                     February 2009
HL7 Fields      MSH: 1,2,3,4,9                  There is no return       MSH: 1,2,3,4,5,6,
                                                event. OE/RR must
                PID: 3,5                        accept the instruction        7,9
                                                from Pharmacy.
                PV1: 2,3                                                 PID: 3,5

                ORC: 1,2,3,5,9,10,12,15,                                 ORC: 1,2,3,16

                     16

                RXO: 1

                RXE: 1,2,25,26

                NTE: 1,2,3

                RXR: 1

                ZRX: 1,2,3,5



Protocol        PS EVSEND OR                                             OR EVSEND PS

Order Control   ZV (verified)                                            DE (data errors)

HL7 Fields      MSH: 1,2,3,4,9                  There is no return       MSH: 1,2,3,4,5,6,
                                                event. OE/RR must
                PID: 3,5                        accept the instruction        7,9
                                                from Pharmacy.
                PV1: 2,3                                                 PID: 3,5

                ORC: 1,2,3,11,15                                         ORC: 1,2,3,16



Protocol        PS EVSEND OR                                             OR EVSEND PS

Order Control   OC (cancel)                                              DE (data errors)

                OD (discontinue)

                OH (hold)

                OR (release)

                SC (status change)

HL7 Fields      MSH: 1,2,3,4,9                  There is no return       MSH: 1,2,3,4,5,6,
                                                event. OE/RR must
                PID: 3,5                        accept the instruction        7,9
                                                from Pharmacy.
                PV1: 2,3                                                 PID: 3,5

                ORC: 1,2,3,5,12,15,16                                    ORC: 1,2,3,16

                RXE: 1

                ZRX: 2,5



February 2009                 OE/RR Package Interface Specification                      107
Notes:   OC - order cancelled before pharmacist verification

         OD - order cancelled after pharmacist verification

         SC - sent by pharmacy when order is verified, expired, or suspended

         XX - sent by pharmacy when fields change that do not generate new order




108                       OE/RR Package Interface Specification        February 2009
Example:        Digoxin .125 mg QAM



New Order from Pharmacy through backdoor

Array:          MSG(1)="MSH|^~\&|PHARMACY|5000|||||ORM|"

                MSG(2)="PID|||66||PATIENT,ONE||||||||||||||||||"

                MSG(3)="PV1||I|14^||||||||||||||||"

                MSG(4)="ORC|SN|^OR|1081P^PS||IP||^QAM&10^^^^^C||199711100752

                       |1311^CARE^GIVER||1311^CARE,GIVER||

                       |199711100900|W^WRITTEN^99ORN^^^|||"

                MSG(5)="RXO|^^^342^DIGOXIN TAB^99PSP|||||||||||||||||"

                MSG(6)="RXE|.125&MG&1&TABLET^QAM&10^D25^199711100900^199712052400^^C

                       ^.125MG^|372.2^^99NDF^142^DIGOXIN 0.125MG

                       U/D^99PSD|||||||||||||||||||||||.125|^^^20^MG^99PSU"

                MSG(7)="RXR|^^^1^ORAL^99PSR||||"

                MSG(8)="ZRX||W|N||1311^CARE,GIVER^99NP||"

Call:           D MSG^XQOR("PS EVSEND OR",.MSG)



Array:          MSG(1)= "MSH|^~\&|ORDER ENTRY|5000|PHARMACY|5000|19971110075215||ORR"

                MSG(2)= "PID|||66||PATIENT,ONE"

                MSG(3)= "PV1||I|14||||||||||||||||"

                MSG(4)= "ORC|NA|12502^OR|1081P^PS|||||||1311||1311|||19971110075215|"

Call:           D MSG^XQOR("OR EVSEND OR",.MSG) ; OE/RR returns #



Order has expired

Array:          MSG(1)="MSH|^~\&|PHARMACY|5000|||||ORM||||||||||"

                MSG(2)="PID|||66||PATIENT,ONE||||||||||||||||||"

                MSG(3)="PV1||I|14^ A-1||||||||||||||||"

                MSG(4)="ORC|SC|12500^OR|29U^PS||ZE||||199711121236|1311^CARE,GIVER||1311

                       ^CARE,GIVER|||199711120900|W^WRITTEN^99ORN^^^|||"

                MSG(5)="RXO|^^^342^DIGOXIN TAB^99PSP|||||||||||||||||"
February 2009                  OE/RR Package Interface Specification                   109
                MSG(6)="RXE|.125&MG&1&TABLET^QAD^D26^199711120900^199711121238^^^.125MG|

                       ||||||||||||1311^CARE,GIVER^99NP|||||||||||"

                MSG(7)="RXR|^^^1^ORAL^99PSR||||"

                MSG(8)="ZRX||W|||1311^CARE,GIVER^99NP||"

Call:           D MSG^XQOR("PS EVSEND OR",.MSG)



Front door order has been finished and verified by Pharmacy

Array:          MSG(1)="MSH|^~\&|PHARMACY|5000|||||ORM||||||||||"

                MSG(2)="PID|||66||PATIENT,ONE||||||||||||||||||"

                MSG(3)="PV1||I|14^||||||||||||||||"

               MSG(4)="ORC|SC|12500;1^OR|29U^PS||CM||^QAM&10^^^^^C||19971109191941|1311
         ^CARE,GIVER||

                       1311^CARE,GIVER|||199711090900|^^99ORN^^^|||"

                MSG(5)="RXO|^^^342^DIGOXIN TAB^99PSP|||||||||||||||||"

                MSG(6)="RXE|.125&MG&1&TABLET^QAM&10^D26^199711090900^199712052400^^C^.12
         5MG|

                       372.2^^99NDF^142^DIGOXIN 0.125MG U/D^99PSD||||||||||||1311^CARE,

                       GIVER^99NP|||||||||||.125|^^^20^MG^99PSU"

                MSG(7)="RXR|^^^1^ORAL^99PSR||||"

                MSG(8)="ZRX|||N||1311^CARE,GIVER^99NP||"

Call:           D MSG^XQOR("PS EVSEND OR",.MSG)




110                            OE/RR Package Interface Specification         February 2009
IV fluid orders use the RXC component to contain information about solutions and additives. Therefore, a
special code is sent in RXO;1 to identify the order as an IV order (PS-1^IV Order^99OTH). Since the RXC
segments are used, the give fields in RXO are unnecessary.



Front Door - IV Fluids

Action               Request from OE/RR                Pharmacy accepts           Pharmacy rejects



Protocol             OR EVSEND PS                      PS EVSEND OR               PS EVSEND OR

Order Control        NW (new order)                    OK (accepted)              UA (unable to accept)

                     XO (changed order)                XR (new order)             UX (unable to change)

HL7 Fields           MSH: 1,2,3,4,5,6,7,9              MSH: 1,2,3,4,9             MSH: 1,2,3,4,9

                     PID: 3,5                          PID: 3,5                   PID: 3,5

                     PV1: 2,3                          PV1: 2,3                   PV1: 2,3

                     ORC: 1,2,7,9,10,12,15,16          ORC: 1,2,3,5               ORC: 1,2,3,12,15,16

                     RXO: 1,2

                     RXR: 1

                     NTE: 1,2,3

                     RXC: 1,2,3,4

                     OBX: 1,2,3,5,14,16

                     ZRX: 1,2,3



Protocol             OR EVSEND PS

Order Control        ZV (verified)

HL7 Fields           MSH: 1,2,3,4,5,6,7,9              There is no return
                                                       event.
                     PID: 3,5

                     PV1: 2,3

                     ORC: 1,2,3,11,15



Protocol             OR EVSEND PS                      PS EVSEND OR               PS EVSEND OR




February 2009                       OE/RR Package Interface Specification                                  111
Order Control     CA (cancel)                     CR (canceled)         UC (unable to cancel)

                  DC (discontinue)                DR (discontinued)     UD (unable to dc)

                  HD (hold)                       HR (held)             UH (unable to hold)

                  RL (release)                    OR (released)         UR (unable to release)

                  SS (send status)                SC (status update)    DE (data errors)

HL7 Fields        MSH: 1,2,3,4,5,6,7,9            MSH: 1,2,3,4,9        MSH: 1,2,3,4,9

                  PID: 3,5                        PID: 3,5              PID: 3,5

                  PV1: 2,3                        PV1: 2,3              PV1: 2,3

                  ORC: 1,2,3,10,12,15,16          ORC: 1,2,3,5          ORC: 1,2,3,16



Continuous Example:



               AMPICILLIN INJ 20 MMOL in

               10% AMINO ACID W/O ELECTROLYTES INJ, SOLN 500 ML IV 20 ml/hr for 10
hours



New Order

Array:

         MSG(1)="MSH|^~\&|ORDER ENTRY|660|PHARMACY|660|20090203125514-0700||ORM"

         MSG(2)="PID|||87||PATIENT,ONE"

         MSG(3)="PV1||I|2^100-3|||||||||||||||||||||||||||||||||||||||||"

         MSG(4)="ORC|NW|26545;1^OR|||||^^^^^R||200902031253-

                 0700|1395||1395|||20090203125514-0700|E^ELECTRONICALLY

                 ENTERED^99ORN^^^"

         MSG(5)="RXO|^^h10^PS-1^IV^99OTH|20 ml/hr"

         MSG(6)="RXR|^^^14^INTRAVENOUS^99PSR"

         MSG(7)="RXC|B|^^^1^10% AMINO ACIDS W/O ELECTROLYTES INJ,SOLN

                 ^99PSP|500|^^^PSIV-1^ML^99OTH"

         MSG(8)="RXC|A|^^^13^AMPICILLIN INJ

                ^99PSP|20|^^^PSIV14^MMOL^99OTH"MSG(9)="ZRX||E|N|||C"




112                             OE/RR Package Interface Specification              February 2009
February 2009   OE/RR Package Interface Specification   113
Intermittent Example:



               AMPICILLIN INJ 20 MMOL

               IVPB INFUSE OVER 2 Minutes BID for a total of 10 doses



Array:




         MSG(1)="MSH|^~\&|ORDER ENTRY|660|PHARMACY|660|20090203125519-0700||ORM"

         MSG(2)="PID|||87||PATIENT,ONE"

         MSG(3)="PV1||I|2^100-3|||||||||||||||||||||||||||||||||||||||||"

         MSG(4)="ORC|NW|26546;1^OR|||||^BID&0930-1730^^^^R||200902031254-

                 0700|1395||1395|||20090203125519-0700|E^ELECTRONICALLY

                 ENTERED^99ORN^^^"

         MSG(5)="RXO|^^doses10^PS-1^IV^99OTH|INFUSE OVER 2 Minutes"

         MSG(6)="RXR|^^^160^IV PIGGYBACK^99PSR"

         MSG(7)="RXC|A|^^^13^AMPICILLIN INJ ^99PSP|20|^^^PSIV-14^MMOL^99OTH"

         MSG(8)="ZRX||E|N|||I"



Call:          D MSG^XQOR("OR EVSEND PS",.MSG) ;New order from OE/RR



Array:         MSG(1)="MSH|^~\&|PHARMACY|5000|||||ORR||||||||||"

               MSG(2)="PID|||66||PATIENT,ONE||||||||||||||||||"

               MSG(3)="PV1||I|14||||||||||||||||"

               MSG(4)="ORC|OK|12501;1^OR|1080P^PS||IP||||19971109200218|1311^CARE,GIVER

                      ||1311^CARE,GIVER||||^^99ORN^^^|||"

Call:          D MSG^XQOR("PS EVSEND OR",.MSG) ; Pharmacy accepts




114                              OE/RR Package Interface Specification         February 2009
Back Door - IV Fluids

Action                  Event from Pharmacy              OE/RR accepts            OE/RR rejects



Protocol                PS EVSEND OR                     OR EVSEND PS             OR EVSEND PS

Order Control           SN (send number)                 NA (number assigned)     DE (data errors)

                        ZC (conversion)

HL7 Fields              MSH: 1,2,3,4,9                   MSH: 1,2,3,4,5,6,7,9     MSH: 1,2,3,4,5,

                        PID: 3,5                         PID: 3,5                      6,7,9

                        PV1: 2,3                         PV1: 2,3                 PID: 3,5

                        ORC: 1,3,5,9,10,12,15,16         ORC: 1,2,3               ORC: 1,2,3,16

                        RXE: 1,23,24

                        RXC: 1,2,3,4

                        ZRX: 1,2,3,5,6



Protocol                PS EVSEND OR                                              OR EVSEND PS

Order Control           SC (finished)                                             DE (data errors)

                        XX (order changed)

HL7 Fields              MSH: 1,2,3,4,9                   There is no return       MSH: 1,2,3,4,5,
                                                         event. OE/RR must
                        PID: 3,5                         accept the instruction        6,7,9
                                                         from Pharmacy.
                        PV1: 2,3                                                  PID: 3,5

                        ORC: 1,2,3,5,9,10,12,15,16                                ORC: 1,2,3,16

                        RXE: 1,23,24

                        NTE: 1,2,3

                        RXC: 1,2,3,4

                        ZRX: 1,2,3,5,6



Protocol                PS EVSEND OR                                              OR EVSEND PS




February 2009                        OE/RR Package Interface Specification                       115
Order Control     OC (cancel)                                                DE (data errors)

                  OD (discontinue)

                  OH (hold)

                  OR (release)

                  SC (status change)

HL7 Fields        MSH: 1,2,3,4,9                    There is no return       MSH: 1,2,3,4,5,
                                                    event. OE/RR must
                  PID: 3,5                          accept the instruction        6,7,9
                                                    from Pharmacy.
                  PV1: 2,3                                                   PID: 3,5

                  ORC: 1,2,3,5,9,10,12,15,16                                 ORC: 1,2,3,16

                  RXE: 1

                  ZRX: 2,5



Continuous IV Example:



               POTASSIUM CHLORIDE INJ,SOLN FOR IV ORDERS 125 MEQ in

               SODIUM INJ,SOLN FOR IV ORDERS 1000 ml 100 ml/hr



New Order

Array:



         MSG(1)="MSH|^~\&|PHARMACY|5000|||||ORM||||||||||"

         MSG(2)="PID|||66||PATIENT,ONE||||||||||||||||||"

         MSG(3)="PV1||I|14^A-1||||||||||||||||"

         MSG(4)="ORC|SN|^OR|187V^PS||CM||^&^^^^^C||2009020313270700|1311^CARE,GIVER||13

                11^CARE,GIVER|||200902031327-0700|W^WRITTEN^99ORN^^^|||"

         MSG(5)="RXO|^^^1467^POTASSIUM CHLORIDE INJ,SOLN^99PSP|||||||||||||||||"

         MSG(6)="RXE|^&^D3^199711121256^199711151800^^C^125MEQ|||||||||||

                ||1311^CARE,GIVER^99NP|||||||||100|^^^^ml/hr^PSU|"

         MSG(7)=RXR|^^^14^INTRAVENOUS^99PSR|||

         MSG(8)="ZRX||W|N||1311^CARE,GIVER^99NP|C"



116                             OE/RR Package Interface Specification            February 2009
Verify order



       MSG(1)=MSH|^~\&|PHARMACY|660|||||ORM|||||||||

       MSG(2)=PID|||48||CPRSPATIENT,EIGHT|||||||||||||||||

       MSG(3)=PV1||I|2^||||||||||||||||1419|||||||||||||||||||||||||||||||

       MSG(4)=ORC|SC|26551^OR|7V^PS||CM||^&^^^^^||200902031327-0700|1395^CPRS,USER

                ||1395^CPRS,USER|||200902031530-0700|W^Written^99ORN^^^||

       MSG(5)=RXO|^^^72^POTASSIUM CHLORIDE INJ,SOLN^99PSP||||||||||||||||

       MSG(6)=RXE|^&^^200902031530-0700^200902180000-0700^|||||||||||||1395^CPRS,USER

                ^99NP|||||||^^99PSA^^^||100|^^^^ml/hr^PSU||

       MSG(7)=RXC|A|^^^72^POTASSIUM CHLORIDE^99PSP|125|^^^PSIV

                8^MEQ^99OTH||||||||||||||||||||

       MSG(8)=RXC|B|^^^106^0.9% SODIUM CHLORIDE^99PSP|250|^^^PSIV-

                1^ML^99OTH||||||||||||||||||||

       MSG(9)=RXR|^^^14^INTRAVENOUS^99PSR|||

       MSG(10)=ZRX||W|N||1395^CPRS,USER ^99NP|C




Intermittent IV Example:



                     POTASSIUM CHLORIDE INJ, SOLN 125 MEQ in

                     0.9% sodium chloride inj 250 ml IVPB INFUSE OVER 30 MINUTES BID



New Order

       MSG(1)=MSH|^~\&|PHARMACY|660|||||ORM|||||||||

       MSG(2)=PID|||48||CPRSPATIENT,EIGHT|||||||||||||||||

       MSG(3)=PV1||I|2^||||||||||||||||1419|||||||||||||||||||||||||||||||

       MSG(4)=ORC|SN|^OR|6619P^PS||IP||^BID&0930-1730^^^^^C||200902031333-0700|1395^
       CPRS,USER ||1395^ CPRS,USER |||200902031730-0700|W^Wr

       itten^99ORN^^SEND ORDER NUMBER^||


February 2009                 OE/RR Package Interface Specification                117
         MSG(5)=RXO|^^^72^POTASSIUM CHLORIDE INJ,SOLN^99PSP||||||||||||||||

         MSG(6)=RXE|^BID&0930-1730^^200902031730-0700^200902140000-0700^^C^125
         MEQ|||||||||||||1395^PULEO,ANTHONY^99NP|||||||^0930-1730^99PSA^^^|||||

         MSG(7)=RXR|^^^160^IV PIGGYBACK^99PSR|||

         MSG(8)=ZRX|||N||1395^ CPRS,USER ^99NP|I



Verify Order



         MSG(1)=MSH|^~\&|PHARMACY|660|||||ORM|||||||||

         MSG(2)=PID|||48||CPRSPATIENT,EIGHT|||||||||||||||||

         MSG(3)=PV1||I|2^||||||||||||||||1419|||||||||||||||||||||||||||||||

         MSG(4)=ORC|SC|26552^OR|8V^PS||CM||^BID&0930-1730^^^^^||200902031333-0700|1395^
         CPRS,USER||1395^CPRS,USER|||200902031730-0700|W^Written^99ORN^^^||

         MSG(5)=RXO|^^^72^POTASSIUM CHLORIDE INJ,SOLN^99PSP||||||||||||||||

         MSG(6)=RXE|^BID&0930-1730^^200902031730-0700^2009021400

         00-0700^|||||||||||||1395^CPRS,USER^99NP|||||||^0930-1730^99PSA^^^||INFUSE O

         VER 30 MINUTES|||

         MSG(7)=RXC|A|^^^72^POTASSIUM CHLORIDE^99PSP|125|^^^PSIV-
         8^MEQ^99OTH||||||||||||||||||||

         MSG(8)=RXC|B|^^^106^0.9% SODIUM CHLORIDE^99PSP|250|^^^PSIV-
         1^ML^99OTH||||||||||||||||||||

         MSG(9)=RXR|^^^160^IV PIGGYBACK^99PSR|||

         MSG(10)=ZRX||W|N||1395^CPRS,USER^99NP|I



Call:          D MSG^XQOR("PS EVSEND OR",.MSG) ; Pharmacy backdoor order



Array:         MSG(1)="MSH|^~\&|ORDER ENTRY|5000|PHARMACY|5000|19971112125616||ORR"

               MSG(2)="PID|||66||PATIENT,ONE"

               MSG(3)="PV1||I|14^A-1||||||||||||||||"

               MSG(4)="ORC|NA|12531^OR|187V^PS|||||||1311||1311|||19971112125616|"

Call:          D MSG^XQOR("OR EVSEND OR",.MSG) ; OE/RR returns #




118                           OE/RR Package Interface Specification            February 2009
Outpatient medication orders are set up similar to inpatient medication orders. The additional fields passed
include the number of refills and service connectedness. Service connectedness is not listed in the HL7
specification, so it is passed in a separate Z-segment. Pharmacy may wish to pass back information in addition
to that listed in the RXE segment (Refills remaining, total daily dose, etc.).



Front Door - Outpatient Medications

Action               Request from OE/RR                 Pharmacy accepts           Pharmacy rejects



Protocol             OR EVSEND PS                       PS EVSEND OR               PS EVSEND OR

Order Control        NW (new order)                     OK (accepted)              UA (unable to accept)

                     XO (changed order)                 XR (changed)               UX (unable to change)

HL7 Fields           MSH: 1,2,3,4,5,6,7,9               MSH: 1,2,3,4,9             MSH: 1,2,3,4,9

                     PID: 3,5                           PID: 3,5                   PID: 3,5

                     PV1: 2,3                           PV1: 2,3                   PV1: 2,3

                     ORC: 1,2,7,9,10,12,15,16           ORC: 1,2,3,5               ORC: 1,2,3,12,15,16

                     RXO: 1,10,11,13,17                                            RXE: 2

                     NTE: 1,2,3

                     RXR: 1

                     OBX: 1,2,3,5,14,16

                     ZRX: 1,2,3,4

                     ZSC: 1



Protocol             OR EVSEND PS                       PS EVSEND OR               PS EVSEND OR

Order Control        CA (cancel)                        CR (canceled)              UC (unable to cancel)

                     DC (discontinue)                   DR (discontinued)          UD (unable to dc)

                     HD (hold)                          HR (held)                  UH (unable to hold)

                     RL (release)                       OR (released)              UR (unable to release)

                     SS (send status)                   SC (status update)         DE (data errors)

                     ZF (refill request)




February 2009                        OE/RR Package Interface Specification                                 119
HL7 Fields      MSH: 1,2,3,4,5,6,7,9             MSH: 1,2,3,4,9        MSH: 1,2,3,4,9

                PID: 3,5                         PID: 3,5              PID: 3,5

                PV1: 2,3                         PV1: 2,3              PV1: 2,3

                ORC: 1,2,3,10,12,15              ORC: 1,2,3,5          ORC: 1,2,3,16

                                                 RXE: 1



Example:     Digoxin .125 mg BID for 7 days then QAM, 30 days supply with 5 refills



Array:       MSG(1)="MSH|^~\&|ORDER ENTRY|660|PHARMACY|660|199402221430||ORM"

             MSG(2)="PID|||5340747||PATIENT,ONE H"

             MSG(3)="PV1||O|37|||||||||||||||"

             MSG(4)="ORC|NW|234123;1^OR|||||.125&MG&1&TABLET&.125MG&4213^BID^D7^^^R^^

                    .125MG^S~.125&MG&1&TABLET&.125MG&4213^QAM^^^^^^||199402221430|10|

                    |97378|||199402221430|W^WRITTEN^99ORN"

             MSG(5)="RXO|^^^8^DIGOXIN TAB^99PSP|||||||||372.2^DIGOXIN 0.125MG

                    TAB^99NDF^4213^DIGOXIN .125 MG TAB^99PSD|37||5||||D30"

             MSG(6)="RXR|^^^23^PO^99PSR"

             MSG(7)="ZRX||W|N|W"

             MSG(8)="ZSC|SC"

Call:        D MSG^XQOR("OR EVSEND PS",.MSG) ; New order from OE/RR



Array:       MSG(1)="MSH|^~\&|PHARMACY|660|||||ORR"

             MSG(2)="PID|||5340747||PATIENT,ONE H"

             MSG(3)="PV1||O|37|||||||||||||||"

             MSG(3)="ORC|OK|234123;1^OR|87045^PS"

Call:        D MSG^XQOR("PS EVSEND OR",.MSG) ; Pharmacy accepts




120                            OE/RR Package Interface Specification              February 2009
Back Door - Outpatient Medications

Action             Event from Pharmacy                   OE/RR accepts            OE/RR rejects



Protocol           PS EVSEND OR                          OR EVSEND PS             OR EVSEND PS

Order Control      SN (send number)                      NA (number assigned)     DE (data errors)

                   ZC (conversion)

HL7 Fields         MSH: 1,2,3,4,9                        MSH: 1,2,3,4,5,6,7,9     MSH: 1,2,3,4,5,

                   PID: 3,5                              PID: 3,5                      6,7,9

                   PV1: 2,3                              PV1: 2,3                 PID: 3,5

                   ORC: 1,3,5,9,10,12,15,16              ORC: 1,2,3               ORC: 1,2,3,16

                   RXO: 1

                   RXE: 1,2,10,12,22,25,26

                   NTE: 1,2,3

                   RXR: 1

                   ZRX: 1,2,3,4,5

                   ZSC:1



Protocol           PS EVSEND OR                                                   OR EVSEND PS

Order Control      SC (finished)                                                  DE (data errors)

                   RO (finished/replaced)

HL7 Fields         MSH: 1,2,3,4,9                        There is no return       MSH: 1,2,3,4,5,
                                                         event. OE/RR must
                   PID: 3,5                              accept the instruction        6,7,9
                                                         from Pharmacy.
                   PV1: 2,3                                                       PID: 3,5

                   ORC: 1,2,3,5,9,10,12,15,16                                     ORC: 1,2,3,16

                   RXO: 1

                   RXE: 1,2,10,12,22,25,26

                   NTE: 1,2,3

                   RXR: 1

                   ZRX: 1,2,3,4,5

                   ZSC: 1



February 2009                        OE/RR Package Interface Specification                       121
Protocol        PS EVSEND OR                                               OR EVSEND PS

Order Control   OC (cancel)                                                DE (data errors)

                OD (discontinue)

                OH (hold)

                OE (release)

                SC (status change)

HL7 Fields      MSH: 1,2,3,4,9                    There is no return       MSH: 1,2,3,4,5,
                                                  event. OE/RR must
                PID: 3,5                          accept the instruction        6,7,9
                                                  from Pharmacy.
                PV1: 2,3                                                   PID: 3,5

                ORC: 1,2,3,5,10,12,15,16                                   ORC: 1,2,3,16

                RXE: 1

                ZRX: 2,5



Example:     Digoxin .125 mg QAM, Qty=30, 5 refills



Array:       MSG(1)="MSH|^~\&|PHARMACY|660|||||ORM"

             MSG(2)="PID|||5340747||PATIENT,ONE H"

             MSG(3)="PV1||O|37|||||||||||||||"

             MSG(4)="ORC|SN||87045^PS||CM||||199403071430|10||97378|||199403071430|

                   W^WRITTEN^99ORN"

             MSG(5)="RXO|^^^8^DIGOXIN TAB^99PSP"

             MSG(6)="RXE|.125&MG&1&TABLET^QAM^D14^199402221600^199403081600^^^.125MG|

                   372.2^DIGOXIN 0.125MG TAB^99NDF^4213^DIGOXIN .125 MG TAB^99PSD||||

                   ^^^63^TAB^99PSF||||30||5||||||||||D30|||.125|^^^32^MG^99PSU"

             MSG(7)="RXR|^^^23^PO^99PSR"

             MSG(8)="ZRX||W|N|M"

Call:        D MSG^XQOR("PS EVSEND OR",.MSG) ; Pharmacy backdoor order



Array:       MSG(1)="MSG|^~\&|ORDER ENTRY|660|PHARMACY|660|199403071430||ORR"

             MSG(2)="PID|||5340747||PATIENT,ONE H"

122                           OE/RR Package Interface Specification            February 2009
                MSG(3)="PV1||O|37|||||||||||||||"

                MSG(4)="ORC|NA|234123^OR|87045^PS"

Call:           D MSG^XQOR("OR EVSEND PS",.MSG) ; OE/RR returns #




February 2009                  OE/RR Package Interface Specification   123
Pharmacy
Orderable Item Updates


When the pharmacy service makes medications available for ordering, inactivates medications, or changes
information related to a medication, OE/RR needs to be notified. This is done via a protocol event point which
should be defined by the pharmacy package. When this event point is invoked, an HL7 master file update
message is sent.



SEG           SEQ    FIELD NAME                    EXAMPLE                       HL7 TYPE

MSH           1      Field Separator               |                             string

              2      Encoding Characters           ^~\&                          string

              3      Sending Application           PHARMACY                      string

              4      Sending Facility              660                           string

              9      Message Type                  MFN                           ID



MFI           1      Master File ID                50.7^Pharmacy                 coded element
                                                   Orderable Item^99DD

              3      File-Level Event Code UPD                                   table 178

              6      Response Level Code           NE                            table 179



{ MFE         1      Record-Level Event            MAD                           table 180
                     Code

              3      Effective Date                199402231015                  timestamp

              4      Primary Key                   ^^^854^Digoxin~Tab^           coded element
                                                   99PSP



  ZPS         1      Usage                         IO                            coded value

                                                                                 (I=inpt, O=outpt,
                                                                                 B=base, A=additive,
                                                                                 S=supply, V=IV med)

              2      Non-Formulary                 1                             coded value (1=NF)




124                                 OE/RR Package Interface Specification                        February 2009
    { ZSY }     1    Set ID                         1                               numeric

}               2    Synonym                        Lanoxin Tabs                    string




Notes:        When doing the initial population of the orderable items file, the File Level Event Code should be
              REP. After initial population, subsequent changes should have the UPD code.



              There may be multiple MFE segments passed in a single transaction.



              The record-level event code tells whether this transaction is an update, addition, inactivation, etc.



              The primary key is the coded element that is normally passed when creating an order. The coded
              element will include Orderable Item Name~Dose Form for non-IV meds. IV meds will include
              Orderable Item Name~Dose Form~IV identifier.



              The local part of primary key is based on Drug/Form. This allows us to have the initial medication
              selection based on Drug/Form as discussed in the Pharmacy EP meeting.



              The fields in a ZPS segment apply to the Drug/Form combination.



              Usage identifies whether this medication is for inpatient, outpatient or both. Additionally, it tells
              us whether the medication may be used as a base or additive in an IV solution, or as a supply
              item.



              Synonym lists other names by which the medication is known. Synonyms belong to their own
              segment, (ZSY) which may repeat.

Example:



Adding new medications


February 2009                         OE/RR Package Interface Specification                                    125
Array:      MSG(1)="MSH|^~\&|PHARMACY|660|||||MFN"

            MSG(2)="MFI|50.7^Pharmacy Orderable Item^99DD||REP|||NE"

            MSG(3)="MFE|MAD|||^^^4^Acetaminophen 300/Codeine 30~TAB^99PSP"

            MSG(4)="ZPS|IO"

            MSG(5)="ZSY|1|Tylenol"

            MSG(6)="MFE|MAD|||^^^3^Acebutolol~CAP^99PSP"

            MSG(7)="ZPS|IO"

            MSG(8)="ZSY|1|Sectral"

Call:       D MSG^XQOR("PS MFSEND OR",.MSG)



Inactivating a medication

Array:      MSG(1)="MSH|^~\&|PHARMACY|660|||||MFN"

            MSG(2)="MFI|50.7^Pharmacy Orderable Item^99DD||UPD|||NE"

            MSG(3)="MFE|MDC||199402280800|^^^3^Acebutolol~CAP^99PSP"

Call:       D MSG^XQOR("PS MFSEND OR",.MSG)




126                           OE/RR Package Interface Specification      February 2009
Pharmacy
Ordering Parameters


There are no pharmacy ordering parameters identified at this time.




February 2009                       OE/RR Package Interface Specification   127
Pharmacy
Procedure Calls


We need entry points defined in the pharmacy package that will handle the following procedure calls. It is up to
the developers exactly how these entry points are defined and named. Note that to behave properly in a
windowed environment, all variables used in the calls must be NEWed properly and the call must be silent (no
reads or writes). Calls to Fileman should use the silent calls.



Note the decimal delimited format for identifying drug and form in the National Drug file.



        Condensed Medication List

        OCL^PSOORRL(DFN,BEG,END)

        Passed:      DFN:      Patient DFN

                     BEG:      Date/Time to start search for medications (optional)

                     END:      Date/Time to terminate search for medications (optional)



        Returned: ^TMP("PS",$J,D0,0) = Order#_File;Pkg^Drug Name^Infusion Rate^Stop

                                                Date^Refills Remaining^Total Dose^Units per Dose

                                                ^Placer#^Status^Last Filldate^Days Supply^Qty^

                                                NOT TO BE GIVEN^Pending Renewal (1 or 0)



             where Order #:       Internal entry number of order

               in File;Pkg:       R;O = prescription (file #52),

                                  P;O = pending outpatient order (file #52.41),

                                  P;I = pending inpatient order (file #53.1),

                                  U;I = unit dose order (file #55, subfile 55.06),

                                  V;I = IV order (file #55, subfile 55.01)



                     ^TMP("PS",$J,D0,"A",0)               = # of lines

                     ^TMP("PS",$J,D0,"A",D1,0)            = Additive Name^Amount^Bottle



128                                  OE/RR Package Interface Specification                       February 2009
                 ^TMP("PS",$J,D0,"ADM",0)        = # of lines

                 ^TMP("PS",$J,D0,"ADM",D1,0) = Administration Times



                 ^TMP("PS",$J,D0,"B",0)          = # of lines

                 ^TMP("PS",$J,D0,"B",D1,0)       = Solution Name^Amount



                 ^TMP("PS",$J,D0,"MDR",0)        = # of lines

                 ^TMP("PS",$J,D0,"MDR",D1,0) = Medication Route abbreviation



                 ^TMP("PS",$J,D0,"P",0)          = IEN^Name of Ordering Provider (#200)



                 ^TMP("PS",$J,D0,"SCH",0)        = # of lines

                 ^TMP("PS",$J,D0,"SCH",D1,0) = Schedule Name



                 ^TMP("PS",$J,D0,"SIG",0)        = # of lines

                 ^TMP("PS",$J,D0,"SIG",D1,0) = Sig (outpatient) or

                                                    Instructions (inpatient)



                 ^TMP("PS",$J,D0,"SIO",0)        = # of lines

                 ^TMP("PS",$J,D0,"SIO",D1,0) = Special Instructions/Other Print Info




       Expanded Medication Orders

       OEL^PSOORRL(DFN,ORDER)

       Passed:   DFN:   Patient DFN

                 ORDER: Order#_File;Pkg (see Condensed List)



       Returned: ^TMP("PS",$J,0)= Drug Name^Infusion Rate^Stop Date^Refills Remaining

                                    ^Start Date^Status^Days Supply^Quantity^Total Dose^

                                    Units per Dose^Placer#^Last Filldate^NOT TO BE

                                    GIVEN^Pending Renewal (1 or 0)

February 2009                OE/RR Package Interface Specification                   129
      ^TMP("PS",$J,"A",0)           = # of lines

      ^TMP("PS",$J,"A",D1,0)        = Additive Name^Amount^Bottle



      ^TMP("PS",$J,"ADM",0)         = # of lines

      ^TMP("PS",$J,"ADM",D1,0)      = Administration Times



      ^TMP("PS",$J,"B",0)           = # of lines

      ^TMP("PS",$J,"B",D1,0)        = Solution Name^Amount



      ^TMP("PS",$J,"DD",0)          = # of lines

      ^TMP("PS",$J,"DD",D1,0)       = Dispense Drug IEN(#50)^Units per Dose^

                                     Corresponding Oupatient Drug IEN^Pharmacy

                                     Orderable Item IEN



      ^TMP("PS",$J,"MDR",0)         = # of lines

      ^TMP("PS",$J,"MDR",D1,0)      = Medication Route abbreviation



      ^TMP("PS",$J,"P",0)           = IEN^Name of Ordering Provider (#200)



      ^TMP("PS",$J,"PAR",0)         = # of lines

      ^TMP("PS",$J,"PAR",D1,0)      = Partial Fill Date^Days Supply^Quantity^

                                       Release Date^Routing^Remarks



      ^TMP("PS",$J,"PC",0)          = # of lines

      ^TMP("PS",$J,"PC",D1,0)       = Provider Comments



      ^TMP("PS",$J,"REF",0)         = # of lines

      ^TMP("PS",$J,"REF",1,0)       = Refill Date^Days Supply^Quantity^Release

                                       Date^Routing^Remarks



130               OE/RR Package Interface Specification               February 2009
                 ^TMP("PS",$J,"RXN",0)            = Rx Number^Release Date^Routing^Remarks^

                                                     Finisher^Original Fill Date



                 ^TMP("PS",$J,"SCH",0)            = # of lines

                 ^TMP("PS",$J,"SCH",D1,0)         = Schedule Name^Schedule Type



                 ^TMP("PS",$J,"SIG",0)            = # of lines

                 ^TMP("PS",$J,"SIG",D1,0)         = Sig (outpatient) or

                                                     Instructions (inpatient)



                 ^TMP("PS",$J,"SIO",0)            = # of lines

                 ^TMP("PS",$J,"SIO",D1,0)         = Special Instructions/Other Print Info



       Return Possible Dose List

       DOSE^PSSORUTL(.PSX,PSOI,TYPE,DFN)

       Passed:   PSX:     Target array for returned data

                 PSOI: Pharmacy Orderable Item file (#50.7) IEN

                 TYPE: Type of drug (O:Outpatient, U:Unit Dose, I:IV)

                 DFN:     Patient DFN

       Returned: PSX(I)           = Total Dose^Units^Units per Dose^Noun^Local Dose^

                                        Dispense Drug IEN^Price

                 PSX(I,J)         = same format, with alternate forms of same dose

                 PSX("DD",IEN) = Dispense Drug Name^Cost^NF^Dispense Unit^Strength^

                                        Units^Dose Form^Max #Refills Allowed^Schedule Reqd^

                                        DEA Special Handling^Allow Split Tabs

                 PSX("DEA")       = DEA Special Handling (for orderable item)

                 PSX("MISC")      = Verb^Preposition^Conjunction

                 PSX("PI")        = Patient Instructions




February 2009                   OE/RR Package Interface Specification                   131
      Return Dispense Drug List for IVs (IV only)

      ENDDIV^PSJORUTL(PSOI,TYPE,VOL,.PSX)

      Passed:   PSOI:   Pharmacy Orderable Item file (#50.7) IEN

                TYPE:   Type of IV drug (A:additive, B:base)

                VOL:    Volume of the solution (required to identify dispense drug)

                PSX:    Target variable for returned data

      Returned: PSX:    Number of entries found (0 if none)

                PSX(#): Drug File IEN^Generic Name (.01)^Price Per Dispense Unit

                        (16)^Non-Formulary(51)^Dispense Unit(14.5)



      Return Formulary Alternative(s)

      ENRFA^PSJORUTL(DDRG,TYPE,.PSX)

      Passed:   DDRG:   Drug file (#50) IEN

                TYPE:   Type of drug (O:Outpatient, U:Unit Dose, I:IV)

                PSX:    Target variable for returned data

      Returned: PSX:    Number of alternatives found (0 if none)

                PSX(IEN): Drug file (50) IEN of Formulary Alternative^Formulary

                           Alternative Name^Formulary Alternative Cost^Orderable Item

                           IEN^Orderable Item Name^Max # of Refills



      Return Drug Cost, Message, VA Product Name IEN

      $$ENDCM^PSJORUTL(DDRG)

      Passed:   DDRG:   Drug file (#50) IEN

      Returned: Price Per Dispense Unit(16)^Message(101)^NDF Entry(20).PSNDF VA

                Product Name Entry (22)



      Return National Formulary Indicator text

      EN^PSSDIN(PSOI,"")

132                           OE/RR Package Interface Specification         February 2009
       Passed:    PSOI:    Pharmacy Orderable Item file (#50.7) IEN

       Returned: ^TMP("PSSDIN",$J,"OI",PSOI,I,J) = line of text



       Return DEA Special Handling code

       $$OIDEA^PSSUTLA1(PSOI,TYPE)

       Passed:    PSOI:    Pharmacy Orderable Item file (#50.7) IEN

                  Type:    Type of drug (I:Inpatient, O:Outpatient)

       Returned: 1 if a wet signature is required,

                  2 if the item is a controlled substance,

                  0 if neither of the above is true for its active dispense drugs, or

                  "" if there are no active dispense drugs for this item



       Return Route(s) and Schedule

       START^PSSORDF(PSOI,TYPE)

       Passed:    PSOI:    Pharmacy Orderable Item file (#50.7) IEN

                  TYPE:    Type of drug (I:Inpatient, O:Outpatient)

       Returned: ^TMP("PSJMR",$J,IEN) = MED ROUTE^MED ROUTE ABBREVIATION

                  ^TMP("PSJSCH",$J)       = SCHEDULE

       Notes:    If the dosage form is valid, all med routes and the default schedule
                 associated with the orderable item’s dose form will be returned. If
                 the Orderable Item’s dose form is null, all med routes in the med
                 route file will be returned.



       Return if Schedule is required

       $$SCHREQ^PSJORPOE(RTE,PSOI,DDRG)

       Passed:    RTE:     Medication Route file (#51.2) IEN

                  PSOI:    Pharmacy Orderable Item file (#50.7) IEN

                  DDRG:    Drug file (#50) IEN

       Returned: 1 if schedule is required, or 0 if optional



       Validate Schedule

       EN^PSSGS0(.ORX,TYPE)     = interactive


February 2009                  OE/RR Package Interface Specification               133
      EN^PSSGSGUI(.ORX,TYPE) = silent, for GUI

      Passed:   ORX:    Schedule name

                TYPE:   Type of drug (I:Inpatient, O:Outpatient)

      Returned: ORX:    defined, if valid schedule, otherwise killed



      Return Default Start Date/Time and Duration (IP only)

      $$STARTSTP^PSJORPOE(DFN,SCH,PSOI,WARD,PSJIEN)

      Passed:   DFN:    Patient DFN

                SCH:    Schedule name

                PSOI:   Pharmacy Orderable Item file (#50.7) IEN

                WARD:   Ward Location file (#42) IEN

                PSJIEN: Unit Dose order#, if for a renewal

      Returned: Piece1: free text name of time (NOW, NEXT, or CLOSEST)

                Piece2: resolved date/time in FileMan format

                Piece3: default number of days for order to remain active



      $$RESOLVE^PSJORPOE(DFN,SCH,PSOI,DT,WARD)

      Passed:   DFN:    Patient DFN

                SCH:    Schedule name

                PSOI:   Pharmacy Orderable Item file (#50.7) IEN

                DT:     name of desired time (NOW, NEXT, or CLOSEST)

                WARD:   Ward Location file (#42) IEN

      Returned: Resolved date/time in FileMan format



      Return Default Days Supply (OP only)

      DSUP^PSOSIGDS(.PSX)

      Passed:   PSX("PATIENT"):          Patient DFN

                PSX("DRUG"):             Drug file (#50) IEN

      Returned: PSX("DAYS SUPPLY"): default Days Supply



      Return Default Quantity (OP only)

134                            OE/RR Package Interface Specification        February 2009
       QTYX^PSOSIG(.PSX)

       Passed:   PSX("PATIENT"):                  Patient DFN

                 PSX("DRUG"):                     Drug file (#50) IEN

                 PSX("DAYS SUPPLY"):              Days Supply

                 PSX("DOSE ORDERED",I):           Instructions

                 PSX("SCHEDULE",I):               Schedule name

                 PSX("DURATION",I):               Duration

       Returned: PSX("QTY"):                      default Quantity



       Return Maximum number of refills allowed (OP only)

       MAX^PSOSIGDS(.PSX)

       Passed:   PSX("PATIENT"):          Patient DFN

                 PSX("ITEM"):             Pharmacy Orderable Item file (#50.7) IEN

                 PSX("DRUG"):             Drug file (#50) IEN

                 PSX("DAYS SUPPLY"): Days Supply

       Returned: PSX("MAX"):              Max number of refills allowed



       Return service-connected status

       $$SC^PSOCP(DFN,DDRG)

       Passed:   DFN:      Patient DFN

                 DDRG:     Drug file (#50) IEN

       Returned: 1 if patient is exempt from a copay, or 0 otherwise



       Return Volume Units (IV only)

       ENVOL^PSJORUT2(PSOI,.PSX)

       Passed:   PSOI:     Pharmacy Orderable Item file (#50.7) IEN_"A" (additive)

                 PSX:      Target variable for returned data

       Returned: PSX:      If volume or units is found PSX will = 1 (0 if none)

                 PSX(IV Additives file IEN) = volume units




February 2009                   OE/RR Package Interface Specification                135
      Validate Infusion Rate format

      ORINF^PSIVSP

      Passed:   X:      Infusion rate.     Ex: 100

      Returned: X:      Infusion rate and the unit per hour.        Ex: 100 ml/hr




      Return ‘Not to be Given’ Flag

      $$ENNG^PSJORUT2(DFN,PSJIEN)

      Passed:   DFN:    Patient DFN

                PSJIEN: Unit Dose order#

      Returned: 1, if the order has been marked as ‘Not to be Given’



      Return replacement for inactive orderable item

      $$ITEM^PSSUTIL1(PSOI,DDRG)

      Passed:   PSOI:   Pharmacy Orderable Item file (#50.7) IEN

                DDRG:   Drug file (#50) IEN

      Returned: 0 = no replacement available

                1^IEN = replacement item IEN available



      Validate Renewal Request (IP only)

      $$ACTIVE^PSJORREN(DFN,PSJIEN)

      Passed:   DFN:    Patient DFN

                PSJIEN: Unit Dose order#

      Returned: 1 = ok to renew

                0^reason = unable to renew



      Validate Renewal Request (OP only)

      $$RENEW^PSORENW(PSOIEN)

      Passed:   PSOIEN: Prescription file (#52) IEN

      Returned: -1 = couldn't find order

136                         OE/RR Package Interface Specification              February 2009
                 1[^orderable item] = ok to renew, with replacement item if inactive

                 0^reason = unable to renew, with possible reasons:

                           Not a Valid Outpatient Medication Order

                           Duplicate Rx Renewal Request (already renewed)

                           Drug is No longer used by Outpatient Pharmacy

                           The Drug has been Inactivated

                           Non-Renewable Drug Narcotic

                           Non-Renewable Drug

                           Non-Renewable Prescription (Rx Patient Status)

                           Max number of renewals (26) has been reached

                           Prescription is in a Non-Renewable Status (Non-Verified,
                           Hold, Drug Interactions, Deleted, Discontinued (Edit),
                           Provider Hold)



       Return Refills Remaining (OP only)

       $$ENREF^PSJORUT2(PSOIEN)

       Passed:   PSOIEN: Prescription file (#52) IEN

       Returned: Number of refills remaining (returns a 0 if nothing found)



       Validate Refill Request (OP only)

       $$REFILL^PSOREF(PSOIEN)

       Passed:   PSOIEN: Prescription file (#52) IEN

       Returned: 1 = ok to refill

                 0^reason = unable to refill



       Return MAR labels

       MAR^PSJORMAR(DFN,ORD,PT,MARLB)

       Passed:   DFN:      Patient DFN

                 ORD:      Order number (ex: 53U (U/D), 14V (IV), 1000P (pending)

                 PT:       If PT=1, the patient data will print on the right label, if

                           PT=0, the patient data will not print

                 MARLB: Array name

February 2009                  OE/RR Package Interface Specification                  137
      Returned: MARLB(X): There are 5 lines print per label.          An order may contain

                            multiple labels.




      Drug Order checks used by CPRS and Inpatient Meds:

      EN^PSOORDRG(DFN,DRUG)

      Passed:   DFN:     Patient DFN

                DRUG:    Drug file (#50) IEN



      Drug Interactions:

      Returned: ^TMP($J,"DI",n,0) = Interacting Drug IEN^Interacting Drug Name

                                        ^Interaction Ptr (file #56)^severity (CRITICAL

                                        or SIGNIFICANT)^Ingredient #1 (ptr to file

                                        #50.416)^Ingredient #2 (ptr to file #50.416)

                                        ^OERR IEN^ORDER #;TYPE^PKG (I or O).

      Duplicate Class:

      Returned: ^TMP($J,"DC",n,0) = VA Drug Class Name^Generic Drug Name(#50)^Drug

                                        IEN (#50)^OERR IEN^ORDER #;TYPE^PKG (I or O).



      Duplicate Drug:

      Returned: ^TMP($J,"DD",n,0) = Duplicate drug IEN (#50)^Duplicate Drug

                                        Name)^OERR IEN^ORDER #;TYPE^PKG (I or O).



      Note: OERR # IEN is the pointer to file 100. ORDER # is the order number in
            the pharmacy files. Type is P(ending), U(nit Dose), I(V),
            R(outpatient). PKG: Inpatient Meds, Outpatient Pharmacy.




138                           OE/RR Package Interface Specification              February 2009
       DRGCHK^PSOORDRG(PSODFN,DREN,DRUG).

       Passed:    PSODFN: Patient's DFN

                  DREN:    Drug file (#50) IEN, to be checked against the drugs in the

                           DDRUG array.

                  DRUG:    The array of dispense drugs in the buffer.



       Drug Interaction:

       Returned: ^TMP($J,"DI",n,0) = Interacting Drug IEN^Interacting Drug Name

                                          ^Interaction Ptr (#56)^severity (CRITICAL

                                          or SIGNIFICANT)^Ingredient #1 (#50.416)^

                                          Ingredient #2 (#50.416)^OERR IEN^ORDER #;TYPE^

                                          PKG (I or O).



       Duplicate Class:

       Returned: ^TMP($J,"DC",n,0) = VA Drug Class Name^Generic Drug Name(#50)^Drug

                                           IEN (#50)^OERR IEN^ORDER #;TYPE^PKG (I or O)



       Duplicate Drug:

       Returned: ^TMP($J,"DD",n,0) = Duplicate drug IEN (#50)^Duplicate Drug

                                           Name^OERR IEN^ORDER #;TYPE^PKG (I or O).



       Note:    CPRS does order checks against inpatient medications and outpatient
                prescriptions. Inpatient Medications does order checks against active
                inpatient medications and outpatient prescriptions. Outpatient
                Pharmacy only does order checks against outpatient prescriptions.



       EN^PSODRG(DRUG)

       Passed:    DRUG:    Drug file (#50) IEN

       Returned: LAB("NOT")         = 1 or 0, if DRUG is clozapine or not

                  LAB("WBC")        = Lab Test file (#60) IEN ^ Specimen file (#61) IEN

                                        of White Blood Count test

                  LAB("ANC")        = Lab Test file (#60) IEN ^ Specimen file (#61) IEN


February 2009                  OE/RR Package Interface Specification                  139
                                      of Absolute Neutrophil Count test

                LAB("BAD TEST") = error finding lab test pointers

      Note: WBC and ANC results are required to determine if a clozapine order is
             warranted.




      DRG^PSSUTIL1(.PSX,PSOI,TYPE)

      Passed:   PSX:   Target array for returned data

                PSOI: Pharmacy Orderable Item file (#50.7) IEN

                TYPE: Type of drug (I:Inpatient, O:Outpatient)

      Returned: PSX("I1;I2") where I1 is the Drug file (#50) IEN and I2 is the

                        VA Generic file (#50.6) IEN that the drug is matched to




140                          OE/RR Package Interface Specification        February 2009
Pharmacy
Open Issues


As part of the dosage form or route table it may also be necessary to include a flag that identifies the form as
having a systemic or non-systemic action. This would decrease the number of false positive order checks.



The current plan for printed reports is to continue using the existing protocols.




February 2009                         OE/RR Package Interface Specification                                   141
Pharmacy
Misc. Agreements


As per the EPs, all medications must include an orderable item and/or a dispense drug - no free text orders will
be accepted.



For outpatient prescription edits, only the provider, routing, clinic and refills fields will be editable with the
provider and clinic fields stuffed.



Outpatient prescription reinstates will be handled behind the scenes as a DC of the old order and the placement
of a new order with the new order message containing the old order’s number in the ZRX segment field 1
Previous Order Number. How this is presented to the pharmacists needs to be worked out between B’Ham
developers and the Pharmacy EP.



The Pharmacy package is responsible for routing IV outpatient orders to the IV package.



Overriding critical order checks (such as critical drug-drug interactions) will stuff an order check over-ride
progress note. This is appropriate for both front door and back door orders.



The Start Time returned in the Patient Meds Admin/Taken over a D/T Range will be the original fill date for
outpatient meds.



Orders with a control code of NW will always include a ZRX segment.




142                                    OE/RR Package Interface Specification                            February 2009
Radiology/Nuclear Medicine
HL7 Fields


The following is a list of HL7 fields that are used in transactions between OE/RR 3 and the Radiology/Nuclear
Medicine package. Not every field will be used in every message.



SEG             SEQ    FIELD NAME                   EXAMPLE                        HL7 TYPE

MSH             1      Field Separator              |                              string

                2      Encoding Characters          ^~\&                           string

                3      Sending Application          ORDER ENTRY                    string

                4      Sending Facility             660                            string

                5      Receiving                    RADIOLOGY                      string
                       Application

                6      Receiving Facility           660                            string

                7      D/T of Message               199404150600                   timestamp

                9      Message Type                 ORM                            ID



PID             3      Patient ID                   5340747                        composite ID

                5      Patient Name                 PATIENT,ONE H                  patient name



PV1             2      Patient Class                I                              table 4

                3      Patient Location             32^234-4                       user table



{ ORC           1      Order Control                NW                             table 119

                2      Placer Order Number          234123;1^OR                    number^application

                3      Filler Order Number          870745^RA                      number^application

                5      Order Status                 ZR                             table 38

                7      Quantity/Timing              ^^^199404150600^^A             ^^^start d/t^^priority

                                                                                   coded per HL7 4.4

                9      D/T of Transaction           199404150600                   timestamp

February 2009                        OE/RR Package Interface Specification                                  143
            10     Entered By                 1166                      composite ID

            11     Verified By                1254                      composite ID

            12     Ordering Provider          1270                      composite ID

            15     Order Effective D/T        199404141430              timestamp

            16     Order Control Reason       X^REJECTED^99ORN^14^      coded element
                   and Nature of Order        Patient Expired^99RAR



  OBR       4      Universal Service ID       71020^CHEST XRAY^CPT4     coded element

                                              ^58^CHEST 2 VIEWS PA&
                                              LAT^99RAP

            7      Observation D/T            199404150630              timestamp

            12     Danger Code                isolation                 composite ID

            18     Placer Field 1 (used       right~portable            string
                   for modifiers)

            19     Placer Field 2 (used       44^RADIOLOGY              string
                   for imaging
                   location)

            22     Results Rpt/Status         199404150635              timestamp
                   Change - Date/Time

            25     Result Status              F                         table 123

            30     Transportation Mode        PORT                      table 124

            31.2   Reason For Study           Generic Reason for
                                              Study text

            32     Principle Result           1345                      composite ID
                   Interpreter

            36     Scheduled -                199404150600              timestamp
                   Date/Time



  { OBX }   1      Set ID                     1                         number

            2      Value Type                 TX                        table 125

            3      Observation ID             2000.02^Clinical          coded element
                                              History^AS4

            4      Observation Sub-ID         1                         string

            5      Observation Value          r/o TB                    string

            8      Abnormal Flag              N                         table 78


144                             OE/RR Package Interface Specification               February 2009
}




Notes: Sending Application is the name of the VistA package generating the

             message; Receiving Application is the name of the VistA package that is

             the intended recipient of the message. Sending Facility and Receiving Facility are the station
             number of the requesting location.



             Patient ID is the patient DFN (pointer to file 2)



             Patient Location, for an inpatient, is Hospital Location IEN^Room-Bed. For and outpatient, it is
             the Hospital Location IEN. In both cases it is the location from which the order is being placed.



             Placer Order Number is the OE/RR order number.



             Filler Order Number is the Radiology/Nuclear Medicine order number;

             the exam ID will be included with the order number in the first piece

             when the exam is registered.



             Verified By is the IEN of the approving radiologist or nuclear medicine

             physician, when required.



             Ordering Provider is the IEN in the New Person file.



             Order Effective D/T is the date/time the order is released.



             Universal Service ID is a national CPT4 code in the first part. The alternate code is a pointer to the
             Rad/Nuc Med Procedures file.



February 2009                        OE/RR Package Interface Specification                                    145
      Danger Code is from a VA wide table of codes that is yet to be defined. (It seems several
      packages have such a table).



      Procedure modifiers will be obtained directly from the Radiology/Nuclear Medicine Procedure
      Modifiers file; Placer Field 1 will contain the text of the selected entries, delimited by ‘~’.



      The OBX segment is used to transmit related data about the patient when placing a
      Radiology/Nuclear Medicine order, or a positive order check that the physician chose to override.
      The Observation ID is for ordering OBX segments, and the Sub-ID is for grouping segments or
      distinguishing between segments with identical ID’s. Possible observation ID’s include:



                Clinical History                (AS4 2000.02)           = text

                  Sample: OBX|1|TX|2000.02^Clinical History^AS4|1|Clin hist line 1

                             OBX|2|TX|2000.02^Clinical History^AS4|1|Clin hist line 2

                             OBX|3|TX|2000.02^Clinical History^AS4|1|Clin hist line 3



                Pregnant                        (AS4 2000.33)           = YES/NO/UNKNOWN (Y/N/U)

                  Sample: OBX|4|TX|2000.33^Pregnant^AS4||U



                Contract/Sharing Source (#34 IEN)                       = IEN^Name

                  Sample: OBX|5|CE|34^Contract Sharing/Source^99DD||3^Mercy Hosp



                Research Source                 (not coded)             = Name

                  Sample: OBX|5|TX|^Research Source^||Loyola Med Center



                Pre-Op Scheduled D/T            (not coded)             = timestamp

                  Sample: OBX|6|TS|^Pre Op Scheduled Date/Time^||19950222



                Order Check                     (#864.5 IEN)            = order check message

                  Sample: OBX|7|TX|^^^67^Contrast media-allergy interaction^99OCX|

                                |Contrast media-allergy interaction: Barium


146                          OE/RR Package Interface Specification                        February 2009
            A Clinical History segment will always be sent with a new order; a segment for Pregnant will also
            be sent if the patient is female. The remaining segments will be sent only if the exam is related to
            a contract/sharing agreement, research project, or scheduled pre-op, otherwise they will not be
            included in the message.




February 2009                      OE/RR Package Interface Specification                                   147
Radiology/Nuclear Medicine
Order Event Messages


The following tables identify the HL7 fields that are passed in each kind of event associated with OE/RR. For
each event there is an order control code and a set of fields listed. For any given event, however, some of the
fields may be empty (observation sub-id, for example).



The protocols identified in the tables use OE/RR namespacing conventions. The messages sent by OE/RR will
use the OR namespaced protocols indicated. Individual packages may use whatever protocol names they wish.



Front Door – Radiology/Nuclear Medicine

Action               Request from OE/RR              Radiology accepts              Radiology rejects



Protocol             OR EVSEND RA                    RA EVSEND OR                   RA EVSEND OR

Order Control        NW (new order)                  OK (accepted)                  UA (unable to cancel)

HL7 Fields           MSH: 1,2,3,4,5,6,7,9            MSH: 1,2,3,4,5,6,7,9           MSH: 1,2,3,4,5,6,7,9

                     PID: 3,5                        PID: 3,5                       PID: 3,5

                     PV1: 2,3                        ORC: 1,2,3                     ORC: 1,2,3,16

                     ORC: 1,2,7,9,10,11,12,

                            15,16

                     OBR:
                     4,12,18,19,30,31.2

                     OBX: 1,2,3,4,5



Protocol             OR EVSEND RA                    RA EVSEND OR                   RA EVSEND OR

Order Control        DC (discontinue)                DR (discontinued)              UD (unable to dc)

HL7 Fields           MSH: 1,2,3,4,5,6,7,9            MSH: 1,2,3,4,5,6,7,9           MSH: 1,2,3,4,5,6,7,9

                     PID: 3,5                        PID: 3,5                       PID: 3,5

                     ORC: 1,2,3,10,12,15,16          ORC: 1,2,3                     ORC: 1,2,3,16



Example:        Chest 2 views PA&LAT

148                                  OE/RR Package Interface Specification                        February 2009
New Order

Array:          MSG(1)="MSH|^~\&|ORDER ENTRY|660|RADIOLOGY|660|199409151430||ORM"

                MSG(2)="PID|||270||PATIENT,ONE Q."

                MSG(3)="PV1||I|12^4101-B||||||||||||||||"

                MSG(4)="ORC|NW|92234;1^OR|||||^^^199409160800^^A||199409151430|10||6|||

                      199409151430|E^ELECTRONICALLY ENTERED^99ORN"

                MSG(5)="OBR||||71020^CHEST 2 VIEWS PA&LAT^CPT4^58^CHEST X-RAY^99RAP

                        ||||||||||||||LEFT|44^RADIOLOGY|||||||||||WHLC|^Reason For
                        Study"

                MSG(6)="OBX|1|TX|2000.02^Clinical History^AS4|1|R/o pneumonia"

Call:           D MSG^XQOR("OR EVSEND RA",.MSG)          ; New order from OE/RR




Array:          MSG(1)="MSH|^~\&|RADIOLOGY|660|ORDER ENTRY|660|199409151430||ORR"

                MSG(2)="PID|||270||PATIENT,ONE Q."

                MSG(3)="ORC|OK|92234;1^OR|233445^RA"

Call:           D MSG^XQOR("RA EVSEND OR",.MSG)          ; Radiology accepts, returns order #



Discontinue an Order

Array:          MSG(1)="MSH|^~\&|ORDER ENTRY|660|RADIOLOGY|660|199409161430||ORM"

                MSG(2)="PID|||270||PATIENT,ONE Q."

                MSG(3)="ORC|DC|92234;2^OR|233445^RA|||||||10||12|||199409161430|D^

                      DUPLICATE^99ORN^^Duplicate Orders^"

Call:           D MSG^XQOR("OR EVSEND RA",.MSG)          ; OE/RR requests discontinuing order



Array:          MSG(1)="MSH|^~\&|RADIOLOGY|660|ORDER ENTRY|660|199409161430||ORR"

                MSG(2)="PID|||270||PATIENT,ONE Q."

                MSG(3)="ORC|DR|92234;2^OR|233445^RA"

Call:           D MSG^XQOR("RA EVSEND OR",.MSG)                  ; Radiology discontinues order




February 2009                  OE/RR Package Interface Specification                       149
Back door orders are handled by sending OE/RR the ORM message for a Radiology/Nuclear Medicine order with
a ‘send number’ order control code. This allows OE/RR to store the order in its database and return the OE/RR
order number to Radiology/Nuclear Medicine with a ‘number assigned’ order control code. OE/RR cannot
actually reject Radiology/Nuclear Medicine events; the ‘data errors’ order control code is just used as some way
to communicate to Radiology/Nuclear Medicine that OE/RR could not interpret the ORM message. This should
generally not happen. Use of the ‘back door’ by packages for ordering is optional. It is still necessary to post an
event when results are available.



Back Door – Radiology/Nuclear Medicine

Action               Event from Radiology          OE/RR accepts                            OE/RR rejects



Protocol             RA EVSEND OR                  OR EVSEND RA                             OR EVSEND RA

Order Control        SN (send number)              NA (number assigned)                     DE (data errors)

                     XX (changed)

HL7 Fields           MSH: 1,2,3,4,5,6,7,9          MSH: 1,2,3,4,5,6,7,9                     MSH: 1,2,3,4,5,6,

                     PID: 3,5                      PID: 3,5                                       7,9

                     PV1: 2,3                      ORC: 1,2,3                               PID: 3,5

                     ORC: 1,2,3,7,10,11,                                                    ORC: 1,3,16

                            12,15,16

                     OBR: 4,12,18,19,30,

                            31.2

                     NTE: 1,2,3

                     OBX: 1,2,3,4,5




Protocol             RA EVSEND OR                                                           OR EVSEND RA

Order Control        OD (discontinue)                                                       DE (data errors)

                     OH (hold)

HL7 Fields           MSH: 1,2,3,4,5,6,7,9          There is no return event.                MSH: 1,2,3,4,5,6,
                                                   OE/RR must accept the
                     PID: 3,5                      instruction from Radiology.                    7,9

                     ORC: 1,2,3,12,16                                                       PID: 3,5

                                                                                            ORC: 1,2,3,16


150                                   OE/RR Package Interface Specification                         February 2009
Protocol        RA EVSEND OR                                          OR EVSEND RA

Order Control   SC (scheduled)                                        DE (data errors)

HL7 Fields      MSH: 1,2,3,4,5,6,7,9    There is no return event.     MSH: 1,2,3,4,5,6,
                                        OE/RR must accept the
                PID: 3,5                instruction from Radiology.        7,9

                ORC: 1,2,3,12                                         PID: 3,5

                OBR: 4,36                                             ORC: 1,2,3,16



Protocol        RA EVSEND OR                                          OR EVSEND RA

Order Control   SC (registered)         ORC-5 = ZR (active)           DE (data errors)

HL7 Fields      MSH: 1,2,3,4,5,6,7,9    There is no return event.     MSH: 1,2,3,4,5,6,
                                        OE/RR must accept the
                PID: 3,5                instruction from Radiology.        7,9

                ORC: 1,2,3,5,12                                       PID: 3,5

                OBR: 4                                                ORC: 1,2,3,16




Protocol        RA EVSEND OR                                          OR EVSEND RA

Order Control   SC (uncompleted)        ORC-5 = ZU (active)           DE (data errors)

HL7 Fields      MSH: 1,2,3,4,5,6,7,9    There is no return event.     MSH: 1,2,3,4,5,6,
                                        OE/RR must accept the
                PID: 3,5                instruction from Radiology.        7,9

                ORC: 1,2,3,5,12                                       PID: 3,5

                                                                      ORC: 1,2,3,16



Protocol        RA EVSEND OR                                          OR EVSEND RA

Order Control   RE (completed)                                        DE (data errors)

HL7 Fields      MSH: 1,2,3,4,5,6,7,9    There is no return event.     MSH: 1,2,3,4,5,6,
                                        OE/RR must accept the
                PID: 3,5                instruction from Radiology.        7,9

                ORC: 1,2,3,7,12                                       PID: 3,5

                OBR: 4,7,22,25,32                                     ORC: 1,2,3,16

                OBX: 1,2,3,4,5,8

February 2009               OE/RR Package Interface Specification                     151
Example:    Chest X-ray (PA & Lat)



New Order

Array:      MSG(1)="MSH|^~\&|RADIOLOGY|660|ORDER ENTRY|660|199409151430||ORM"

            MSG(2)="PID|||270||PATIENT,ONE Q."

            MSG(3)="PV1||I|10^4101-B||||||||||||||||"

            MSG(4)="ORC|SN||233445^RA||||^^^199409160800^^A|||10||6|||199409151430"

            MSG(5)="OBR||||71020^CHEST 2 VIEWS PA&LAT^CPT4^58^CHEST X-RAY^99RAP

                       ||||||||||||||LEFT|44^RADIOLOGY|||||||||||WHLC|^Reason For
                       Study"

            MSG(6)="OBX|1|TX|2000.02^Clinical History^AS4|1|R/o pneumonia"

            MSG(7)="OBX|2|CE|34^Contract/Sharing Source^99DD||2^University"

Call:       D MSG^XQOR("RA EVSEND OR",.MSG)             ; New order from Radiology




Array:      MSG(1)="MSH|^~\&|ORDER ENTRY|660|RADIOLOGY|660|199409151430||ORR"

            MSG(2)="PID|||270||PATIENT,ONE Q."

            MSG(3)="ORC|NA|92234^OR|234455^RA"

Call:       D MSG^XQOR("OR EVSEND RA",.MSG)             ; OE/RR returns order number



Discontinue an Order

Array:      MSG(1)="MSH|^~\&|RADIOLOGY|660|ORDER ENTRY|660|199409151455||ORM"

            MSG(2)="PID|||270||PATIENT,ONE Q."

            MSG(3)="ORC|OD|92234^OR|234455^RA|||||||||6|||199409151455|X^REJECTED^

                  99ORN^8^INADEQUATE CLINICAL HISTORY^99RAR"

Call:       D MSG^XQOR("RA EVSEND OR",.MSG)             ; Radiology discontinued order



Scheduled Order

Array:      MSG(1)="MSH|^~\&|RADIOLOGY|660|ORDER ENTRY|660|199409151440||ORM"

            MSG(2)="PID|||270||PATIENT,ONE Q."


152                           OE/RR Package Interface Specification              February 2009
                MSG(3)="ORC|SC|92234^OR|234455^RA|||||||||6|||199409151440"

                MSG(4)="OBR||||71020^CHEST 2 VIEWS PA&LAT^CPT4^58^CHEST X-RAY^99RAP

                      ||||||||||||||||||||||||||||||||199409160800"

Call:           D MSG^XQOR("RA EVSEND OR",.MSG)          ; Radiology scheduled order



Registered Exam

Array:          MSG(1)="MSH|^~\&|RADIOLOGY|660|||||ORM"

                MSG(2)="PID|||270||PATIENT,ONE Q."

                MSG(3)="ORC|SC|92234^OR|234455~7049188.8741~1^RA||ZR|||||||4527"

                MSG(4)="OBR||||71020^CHEST 2 VIEWS PA&LAT^CPT4^58^CHEST X-RAY^99RAP"

Call:           D MSG^XQOR("RA EVSEND OR",.MSG)          ; Radiology registered the exam



Completed Order

Array:          MSG(1)="MSH|^~\&|RADIOLOGY|660|||||ORU"

                MSG(2)="PID|||270||PATIENT,ONE Q."

                MSG(3)="ORC|RE|92234^OR|234455~7049188.8741~1^RA|||||||||6|||"

                MSG(4)="OBR||||71020^CHEST 2 VIEWS PA&LAT^CPT4^58^CHEST X-RAY^99RAP

                        |||199409160810|||||||||||||||199409160910|||F|||||||455"

                MSG(5)="OBX|1|TX|I^Impression^L|1|First line of impression text|||"

Note:           If an exam was abnormal, the abnormal flag will be placed on the first

                Impression OBX segment.

Call:           D MSG^XQOR("RA EVSEND OR",.MSG)           ; Radiology completed order




February 2009                  OE/RR Package Interface Specification                       153
Radiology/Nuclear Medicine
Orderable Item Updates


When Radiology/Nuclear Medicine makes procedures available for ordering, inactivates a procedure, or
changes information related to a procedure, OE/RR needs to be notified. This is done via a protocol event point
which should be defined by Radiology/Nuclear Medicine. When this event point is invoked, an HL7 master file
update message is sent. Information that should be available in this segment is listed in the following table.



SEG          SEQ    FIELD NAME                  EXAMPLE                     HL7 TYPE

MSH          1      Field Separator             |                           string

             2      Encoding Characters         ^~\&                        string

             3      Sending Application         RADIOLOGY                   string

             4      Sending Facility            660                         string

             9      Message Type                MFN                         ID



MFI          1      Master File ID              71^Rad/Nuc Med              coded element
                                                Procedures^99DD

             3      File-Level Event            REP                         table 178
                    Code

             6      Response Level Code         ER                          table 179



{ MFE        1      Record-Level Event          MAD                         table 180
                    Code

             3      Effective D/T               19940916                    timestamp

             4      Primary Key                 71020^CHEST                 coded element
                                                XRAY^CPT4^34^Chest
                                                2 views^99RAP



  ZRA        1      Imaging Type                RAD                         coded value (RAD,CT,MRI,
                                                                            NVI,CARD,NM,US,VAS,MAM)

             2      Radiologist Approval N                                  coded value
                    Required
                                                                            (Y=yes,N=no)

             3      Cost                        235.00                      money



154                                 OE/RR Package Interface Specification                        February 2009
            4     Contrast Media               B                            coded value (I=Ionic
                                                                            Iodinated,N=Non-ionic
                                                                            Iodinated,L=G

                                                                            adolinium,C=Cholecystograp
                                                                            hic,G=Gastrografin,B=Bariu
                                                                            m,M=unspecified contrast
                                                                            media,””=none)

            5     Common Order Flag            Y                            coded value

                                                                            (Y=yes,N=no)

            6     Procedure Type               B                            coded value (B=Broad,
                  Indicator                                                 D=Detailed, S=Series,

                                                                            P=Parent)



    { ZSY } 1     Set ID                       1                            numeric

            2     Synonyms                     CXR                          string



    { NTE } 1     Set ID                       1                            numeric

}           3     Procedure Message            sched. 3 wks prior           string




Notes:      When doing the initial population of the orderable items file, the File Level Event Code should be
            REP. After initial population, subsequent changes should have the UPD code.



            Orderable item updates always originate from Radiology/Nuclear Medicine.



            There may be multiple MFE segments passed in a single transaction.



            The record-level event code tells whether this transaction is an update, addition, inactivation, etc.



            The primary key is the coded element that is normally passed when creating an order. By using
            the coded element, we can know the national and local names for a test.



            Imaging type is included to allow procedures to be screened by display group.


February 2009                      OE/RR Package Interface Specification                                    155
           It is important to have cost information, but it need not be exact. It has been found that the total
           price of a patient stay can be reduced if a cost is displayed for each item while it is being ordered.



           ZSY is a repeating segment for procedure synonyms.



Example:



Adding new procedures

Array:       MSG(1)="MSH|^~\&|RADIOLOGY|660|||||MFN"

             MSG(2)="MFI|71^Radiology Procedures^99DD||UPD|||ER”

             MSG(3)="MFE|MAD|||71015^X-RAY EXAM OF CHEST^CPT4^57^Chest Stereo

                        PA^99RAP”

             MSG(4)=”ZRA|RAD|N||||D”

             MSG(5)="MFE|MAD|||71020^CHEST X-RAY^CPT4^58^Chest 2 Views PA&LAT^99RAP"

             MSG(7)=”ZRA|RAD|N|55.75||Y|D”

             MSG(8)=”ZSY|1|CXR”

Call:        D MSG^XQOR("RA ORDERABLE ITEM UPDATE",.MSG)



Inactivating a procedure

Array:       MSG(1)="MSH|^~\&|RADIOLOGY|660|||||MFN"

             MSG(2)="MFI|71^Radiology Procedures^99DD||UPD|||ER”

             MSG(3)="MFE|MDC|||71015^^CPT4^57^Chest Stereo PA^99RAP”

Call:        D MSG^XQOR("RA ORDERABLE ITEM UPDATE",.MSG)




156                                OE/RR Package Interface Specification                          February 2009
Radiology/Nuclear Medicine
Ordering Parameters


OE/RR is interested in two Radiology/Nuclear Medicine parameters. OE/RR will keep all parameters in a single
master file. When a package changes a given parameter, the OE/RR parameter file should be updated. The
parameters in which OE/RR is interested are as follows:



ENTITY          RADIOLOGY PARAMETER                         DATA TYPE       PARAMETER NAME IN OE/RR



Division        ASK IMAGING LOCATION                        boolean         RA SUBMIT PROMPT

Division        DETAILED PROCEDURE REQUIRED                 boolean         RA REQUIRE DETAILED




These parameters should be updated by the following call,



         D EN^XPAR(ENTITY, PARAMETER, INSTANCE, VALUE)




where,



         ENTITY is a variable pointer that identifies the entity to which this
         parameter applies. Parameters that apply to the entire package point to the
         package file. Parameters that apply to a division point to the Institution
         file. Parameters that apply to a specific location point to the Hospital
         Location file. Parameters may also point to the New Person file.



         PARAMETER is a string that names the parameter in the OE/RR parameter file.



         INSTANCE is a string that uniquely identifies the parameter if it may be used
         multiple times. Generally it is a number. For example, a site may have
         several PHLEBOTOMY COLLECTION TIME’s. The different collection times may be
         identified by assigning a different number to each instance.



         VALUE is the new value of the parameter.

February 2009                       OE/RR Package Interface Specification                                157
158   OE/RR Package Interface Specification   February 2009
Radiology/Nuclear Medicine
Procedure Calls


We need entry points defined in the Radiology/Nuclear Medicine package that will handle the following
procedure calls. It is up to the developers exactly how entry points are defined and named. Note that to
behave properly in a windowed environment, all variables used in the calls must be NEWed properly. The calls
must also be silent (no reads or writes).



       Return Exam List

       EN1^RAO7PC1(DFN,BEG,END,[MAX])

       Passed:      DFN: Patient DFN

                    BEG: Beginning date in FileMan internal format

                    END: Ending date in FileMan internal format

                    MAX: maximum number of exams (optional)

       Returned: ^TMP($J,"RAE1",DFN,exam ID) = [parent] procedure name^case #^

                       report status^abnormal alert flag^report ien^exam status order

                       number~exam status name^imaging location name^imaging type abbr~

                       imaging type name^abnormal results flag^CPT Code

                    where report status will be "Draft", "Released/not verified",

                    "Verified", or "No report"; abnormal flag will be "Y" or null;

                    exam ID format will be: exam IEN-Case IEN (ex: "7058980.8669-3")



       Return Last 7 Days of Exams

       EN2^RAO7PC1(DFN)

       Passed:      DFN: Patient DFN

       Returned: ^TMP($J,"RAE7",DFN,exam ID) = procedure name^case #^report status^

                       imaging location IEN^imaging location name^INLGMBC

                    where report status will be as defined above; INLGMBC are flags

                    indicating contrast(s) used per exam: (I)Ionic Iodinated,(N)Non-

                    ionic Iodinated, (L)Gadolinium,(C)Cholecystographic,(G)Gastrografin,

                    (B)Barium,(M)unspecified contrast media; exam ID format will be:

February 2009                       OE/RR Package Interface Specification                               159
                exam IEN-Case IEN (ex: "7058980.8669-3")




      Return Narrative

      EN3^RAO7PC1(EXAM)

      Passed:   EXAM: DFN ^ exam id [^ case IEN]

      Returned: ^TMP($J,"RAE2",DFN,case IEN,procedure name)

                  = report status^abnormal flag, or

                  = "" (for subsequent cases in same print set)

                  where report status and abnormal flag will be as defined above.

                ^TMP($J,"RAE2",Patient IEN,case IEN,procedure name,"CM",n)

                  = contrast media used during exam (internal)^contrast media used

                  during exam (external)

                ^TMP($J,"RAE2",DFN,case IEN,procedure name,"D",n)

                  = diagnostic code (for n=1, this is the primary code)

                  (node does not occur for subsequent cases in same print set)

                ^TMP($J,"RAE2",DFN,case IEN,procedure name,"H",n)

                  = clinical history (line of text)

                ^TMP($J,"RAE2",DFN,case IEN,procedure name,"I",n)

                  = impression (line of text)

                  (node does not occur for subsequent cases in same print set)

                ^TMP($J,"RAE2",DFN,case IEN,procedure name,"M",n)

                  = procedure modifiers

                ^TMP($J,"RAE2",DFN,case IEN,procedure name,"R",n)

                  = report (line of text)

                  (node does not occur for subsequent cases in same print set)

                ^TMP($J,"RAE2",Patient IEN,case IEN,procedure name,"RFS")

                  = REASON FOR STUDY; the reason the study was conducted (a line

                    of text)

                ^TMP($J,"RAE2",DFN,case IEN,procedure name,"TCOM",1)

                  = most recent technologist’s comment

160                        OE/RR Package Interface Specification            February 2009
                 ^TMP($J,"RAE2",DFN,case IEN,procedure name,"V")

                   = verifier IEN^signature block name

                   (node does not occur for subsequent cases in same print set)

                 ^TMP($J,"RAE2",DFN,"ORD")=Procedure ordered

                 ^TMP($J,"RAE2",DFN,"PRINT_SET")=""

                   (Only occurs if there are multiple case IEN/Procedures and a

                    single report applies to all)



       EN30^RAO7PC1(ORDER)

       Passed:   ORDER: Radiology order IEN

       Returned: same as EN3^RAO7PC1



       Note:     If a "printset" was registered (i.e. multiple exams for which a

                 single report is entered) the case-specific noeds will be repeated:

                 diagnostic code, clinical history, and modifiers.   If an "examset"

                 was registered (i.e. multiple exams with a separate report for each)

                 all nodes except the "ORD" node will be repeated for each exam.



       Return Imaging Location(s)

       EN4^RAO7PC1(IMTYPE,ARRAY)

       Passed:   IMTYPE: imaging type abbreviation

                 ARRAY: array name

       Returned: ARRAY(Imaging Loc File 79.1 IEN) = IEN^Name^Division IEN^Div Name




February 2009                OE/RR Package Interface Specification                 161
Radiology/Nuclear Medicine
Open Issues


OE/RR will need an integration agreement to read the Radiology/Nuclear Medicine Procedure Modifiers file,
and the Rad/Nuc Med Reason file.




162                                 OE/RR Package Interface Specification                     February 2009
Scheduling



OE/RR needs to associate a set of orders with an appointment. If the appointment is rescheduled, the orders
need to be rescheduled automatically. OE/RR will use the SDAM APPOINTMENT EVENTS protocol event points
to accomplish this.



OE/RR will rely on the SDAM APPOINTMENT EVENTS protocol event point to capture outpatient movements for
the purpose of updating team lists, and triggering notifications.



OE/RR will rely on VADPT-SD* calls to return patient information relevant to outpatient clinics scheduling and
visits.



OE/RR will cooperate with Scheduling to develop a methodology for identifying and linking outpatients with
Primary Providers and Primary Care Teams.



Some functionality that has been requested by the OE/RR EP will not be available until the next version of
scheduling. This includes:



        1) The ability to get a list of open timeslots for a given clinic.



        2) The ability to request that an appointment be scheduled within a given

          time.




February 2009                          OE/RR Package Interface Specification                                 163
Surgery



The Surgery package allows for the entry of requests for surgery. This begins a process whereby the requests
are scheduled. It may be desirable, at certain points in this process, to allow the Surgery package user to place
orders. Toward this end, OE/RR will make its ordering option available to Surgery for placement on the Surgery
menus.



OE/RR needs to know about surgery requests that have been placed, so that it may display these with orders
and future visit lists. Surgery will make this information available to OE/RR through a ‘backdoor’ approach only.
When Surgery posts an HL7 message regarding a surgery request, OE/RR will look at this message to create an
entry in the Orders file. A protocol event point will need to be invoked by Surgery, with the HL7 message
passed as a parameter. This will post the message in a way that OE/RR can receive it. Status updates will also
be provided by the Surgery Package to OE/RR via HL7 messages. Surgery will send the specifications for the HL7
messages they are using to SLC to accomodate this. These specifications need to include a list of the segments
and fields that are posted for each of the following events:



                Procedure Requested

                Procedure Scheduled

                Procedure Canceled

                Procedure Completed



The information in Surgery HL7 messages that is of interest to OE/RR includes:



                Patient ID

                Procedure

                Requested Date

                Scheduled Date/Time

                Request Status (scheduled, completed, etc.)




164                                  OE/RR Package Interface Specification                         February 2009
Further analysis will determine if a need exists for surgery requesting and ordering to be more tightly
integrated. This will require a significant study of the surgery requesting process, which is beyond the scope of
this version of OE/RR.




February 2009                        OE/RR Package Interface Specification                                   165
Vitals

As far as ordering is concerned, vitals will be treated like the other nursing orders. The orders are placed
through OE/RR and then printed out on the ward, where the nurses can see them and act on them. Vitals are
charted by the nurse. There is no other mechanism by which the nurse actually identifies a specific vitals order
and marks it as being done. Therefore, sending an order to the vitals package through a message makes little
sense; the nurse already has the order and there is nothing further the package does with the order.



OE/RR will be interested in the vitals results that are charted on-line. If these results are posted via an HL7
message, as is done with laboratory results, they can be used as parts of rules in the order checking system.
Types of vital measurements should be identified with a nationally accepted coding system. These codes could
be included in the clinical lexicon.



The following procedure calls will be useful to OE/RR:



        Return patient vitals

                Passed:         patient DFN, start date/time, stop date/time

                Returned:       Array of patient vitals within start and stop date/times

                                Returned data should include:

                                vital measurement ien^vital type^data/time taken^rate

                notes:          Do not return vitals which were entered in error.

                                If start and stop date/times are null, return most current
                                only. Do not return codes or internal entry numbers (except
                                vital measurement ien), please resolve to user understand-
                                able text.

                                Dates and times should be returned in FileMan format (i.e.

                                2950126.1600).



        Return vital details

                Passed:         vital measurement ien

                Returned:       vital type^data/time taken^rate^site^quality^hosp
                                location^date/time entered^entered by^comments

                notes:          Do not return codes or internal entry numbers - please


166                                  OE/RR Package Interface Specification                        February 2009
                               resolve to user understandable text.

                               Dates and times should be returned in FileMan format (i.e.

                               2950126.1600).




Note that to behave properly in a windowed environment, all variables used in the call must be NEWed properly
and the call must be silent (no reads or writes). Calls to Fileman should use the silent calls.




February 2009                       OE/RR Package Interface Specification                               167
VBECS – VistA Blood Enhancement Computer System

Patch OR*3*215 (GUI v26) implemented an interface with the VBECS system. This application is external to the
VistA M system, and therefore all communication occurs via HL7 messages and the VistA HL7 package. See
VBECS – CPRS HL7 Message Specification.doc for complete message specifications.




168                                OE/RR Package Interface Specification                      February 2009
Appendix A: Required and Requested Order Checks

Ordering Service      Order Check                                             Required   Requested

Allergies:            Allergy-Drug interactions                                 X

                      Allergy-Food interactions                                            X

                      Allergy-Contrast media interactions                       X



Blood Bank:           Display PT and PTT for fresh frozen plasma orders         X

                      Dangerous Antibodies                                                 X



Consults/ Requests:

                      Mandatory concurrent consult/procedure orders                        X



Dietetics:            Late tray ordered after cut-off time                      X

                      Diet order after mealtime cuttoff - order a late tray     X



Lab:                  Maximum order frequency                                   X

                      Lab-Drug interactions                                                X

                      Transfusion appropriateness                                          X

                      Liver/kidney-Biochemical interactions                                X



MAS:                  None identified



Medicine:             None identified



Nursing:              None identified
February 2009                           OE/RR Package Interface Specification                        169
Order Entry:   Duplicate orders                                           X

               Ordered item recently resulted                             X

               Display total cost of an ordering session                  X

               Display cost of individual orderable items                 X

               Release requirements (co-sign, ancillary review, verif, etc.)      X

               Items flagged by the P & T committee for cost containment          X

               Acceptable values (ranges, dosages, etc.)                  X

               New orders since last sign on                              X

               New results since last sign on                             X

               STAT results                                               X



Pharmacy:      Duplicate drug class order                                 X

               Drug-Drug interactions                                     X

               Drug-Allergy interactions                                  X

               Drug-Food interactions                                             X

               Estimated creatinine clearance if < 50                             X

               IV Fluid-Additive incompatibility                                  X

               Non-formulary orders w/suggested formulary alternative             X

               Drug-Lab interactions                                              X

               Display culture results and sensitivity for antibiotic selection   X

               Total dose and maximum daily dose for IV additives                 X

               Drug utilization review                                            X

               Aminoglycosides                                                    X

               Clozapine appropriateness                                  X

               Narcotic profile                                                   X

               Order Checking not available/supported                     X

170                               OE/RR Package Interface Specification               February 2009
Problem List:    Diabetes-Food interactions                                        X

                 Diabetes-Drug interactions                                        X

                 Narcotic profile                                                  X

                 Liver/kidney-Biochemical interactions                             X

                 Diabetes patients receive yearly eye exam                         X

                 Diabetes patients receive yearly podiatry exam                    X

                 Diabetes patients receive yearly lab tests (lipid, Hbg Alc, UA)   X



Radiology/Nuc Med:

                 Contrast media-Allergy interactions                        X

                 Recent barium study (w/in 2 days)                          X

                 Physical limitations for CT and MRI scanners               X

                 Medication contraindications for invasive procedures              X

                 Order certain mandatory lab procs with certain rad orders         X

                 Biochem (BUN, creatinine) abnormality for contrast media          X

                 Coagulation abnormal for invasive study                           X

                 TSH level for I-131 total body scans                              X

                 BUN/Creatinine for renal scan                                     X

                 If pt is on Captopril/ACE inhibitors prior to renal scan          X

                 If pt is on Lasix/diuretic prior to renal scan                    X

                 If pt is on theophylline prior to persantine thallium scan        X

                 If pt is on an iodine preparation prior to thyroid scan           X

                 Recent arterial blood gas and cxr prior to lung ventilation/

                                                         perfusion scan            X

                 If pt had an Oral Cholecystogram in past 7 days            X

                 If pt has multiple myeloma                                        X

February 2009                       OE/RR Package Interface Specification              171
                    If pt has gout                                                     X

                    If pt has diabetes                                                 X

                    Pertinent outside studies                                          X



Scheduling:         Multiple patient appointments                               X

                    Available appointments based on service connectedness,

                         eligibility, visit type, and dr overbook priviledges          X



Surgery:            Medication contraindications for invasive procedures X



Vitals:




Order Check Informational API

Some packages (Pharmacy in specific) receive order checking information via the HL7 messages that pass
between the package and OE/RR. However, others do not. Thus, the below API has been created to allow
ancillary packages to have access to the Order Checking information including the Override Reasons. This API is
covered by Integration Agreement #4859.



4859      NAME: ORDER CHECK API

CUSTODIAL PACKAGE: ORDER ENTRY/RESULTS REPORTING

SUBSCRIBING PACKAGE:

USAGE: Supported        ENTERED: MAY 22,2006

STATUS:                EXPIRES:

DURATION:              VERSION:

DESCRIPTION:               TYPE: Routine

This Integration Agreement will permit ancillary packages to obtain the order check information for a specific
order.


172                                  OE/RR Package Interface Specification                        February 2009
ROUTINE: ORCHECK

COMPONENT: OCAPI

VARIABLES: Input     IFN

                This is the order number to gather the order checking info on.



VARIABLES: Both      ORPLACE

       This variable is the subscript that will be used to store the information in the return data. i.e.
       ^TMP($J,ORPLACE,D0,"OC LEVEL")="order checklevel"

                           ,"OC TEXT")="order check text"

                           ,"OR REASON")="over ride reasontext"

                           ,"OR PROVIDER")="provider DUZwho entered over ride reason"

                           ,"OR DT")="date/time over ridereason was entered"




February 2009                         OE/RR Package Interface Specification                                 173

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:25
posted:3/10/2012
language:
pages:173