Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Used in HL7 Interface |  FileMan Files Accessed Via FileMan Db Call |  Global Variables Directly Accessed |  Label References |  Naked Globals |  Local Variables  | All
Print Page as PDF
Routine: PSOHLDS

Package: Outpatient Pharmacy

Routine: PSOHLDS


Information

PSOHLDS ;BIR/PWC-HL7 V.2.4 AUTOMATED DISPENSE INTERFACE ;03/01/96 09:45

Source Information

Source file <PSOHLDS.m>

Call Graph

Call Graph

Call Graph Total: 12

Package Total Call Graph
Outpatient Pharmacy 4 ^PSOHLDIS  START^PSOHLDS1  SUS^PSOLBL4  ACK^PSORLLLI  
VA FileMan 4 NOW^%DTC  FILE^DICN  ^DIE  $$GET1^DIQ  
Health Level Seven 3 $$GETAPP^HLCS2  INIT^HLFNC2  GENERATE^HLMA  
Kernel 1 SETUP^XQALERT  

Caller Graph

Legends:

Legend of Colors

Package Component Superscript legend

action A extended action Ea event driver Ed subscriber Su protocol O limited protocol LP run routine RR broker B edit E server Se print P screenman SM inquire I

Caller Graph

Caller Graph Total: 6

Package Total Caller Graph
Outpatient Pharmacy 5 PSO DISP CLIENT  PSO EXT SERVER  PSOHLSG  PSORLLLI  PSORXL  
Kernel 1 ^ORD(101  

Entry Points

Name Comments DBIA/ICR reference
INIT ;initialize variables and build outgoing message
LOGMSG ;build status of message in log file (#52.51)
LOGBLD ;audit log file #52.51
UFILE
EXIT
ERRMSG
ACK ;process MSA received from the dispense machine (client)
EXT ;
ACK1 ;
ACK2
ALERT ;send alert to key holders
UDFILE ;updates from vendor
FACK1 ;
FACK2 ;
GETDEV ;get devices associated with dispensing printer
CHKCAT ;checks the ADD category to determine if and where the prescription should be routed.
STRAGE ;set HL7 entries in ^TMP global to be sent to the storage device.
MORSTG ;if more than one storage device is defined, add the others to the ^TMP global
ADDCHK(DEV) ;check ADD in file #52.53 and return status and the zero node
; 1 - valid or 0 - invalid
ALLADD ;get all active ADDs in #52.53
; OPNAM(dns)=dns name
ACLOG ;activity log (HL7 message transmitted to the interface)
RTE() ;get RX route

External References

Name Field # of Occurrence
NOW^%DTC INIT+8, FACK2+4, ACLOG+3
FILE^DICN LOGBLD+4
^DIE UFILE+6, UDFILE+2, FACK1+23
$$GET1^DIQ INIT+10, FACK1+9, FACK1+13, FACK1+14, FACK1+18, GETDEV+10
$$GETAPP^HLCS2 INIT+2
INIT^HLFNC2 INIT+5
GENERATE^HLMA INIT+41
^PSOHLDIS FACK1+21, FACK1+23
START^PSOHLDS1 INIT+29
SUS^PSOLBL4 INIT+23
ACK^PSORLLLI ACK+13
SETUP^XQALERT ALERT+3

Used in HL7 Interface

HL7 Protocol Name Call Tags
PSO EXT SERVER ACK
PSO DISP CLIENT ACK

FileMan Files Accessed Via FileMan Db Call

FileNo Call Tags
^PS(52.51 - [#52.51] Classic Fileman Calls,  GET1^DIQ
^PS(59 - [#59] GET1^DIQ

Global Variables Directly Accessed

Name Line Occurrences  (* Changed,  ! Killed)
^DPT - [#2] INIT+43
^ORD(101 - [#101] INIT+4
^PS(52.5 - [#52.5] INIT+19, INIT+20
^PS(52.51 - [#52.51] UFILE+3, UFILE+4, UFILE+5, ACK+16, UDFILE+1, FACK1+7, FACK1+8, FACK1+12, FACK1+17, FACK1+21
FACK1+22, FACK2+1, FACK2+2, ACLOG+2
^PS(52.53 - [#52.53] ADDCHK+4, ALLADD+4, ALLADD+5
^PS(59 - [#59] INIT+17, GETDEV+7, GETDEV+8, GETDEV+11, GETDEV+12
^PSDRUG - [#50] CHKCAT+5
^PSRX - [#52] INIT+17, INIT+18, FACK2+1, FACK2+2, FACK2+3, FACK2+4*, FACK2+5*, CHKCAT+4, ACLOG+4, ACLOG+5*
, RTE+2, RTE+3, RTE+4
^PSRXR(52.09 - [#52.09] ACK+13
^TMP("HLS" INIT+36!, INIT+37*, EXIT+3!
^TMP("PSO" INIT+3!, INIT+30, INIT+32!, EXIT+3!, STRAGE+5, STRAGE+6, STRAGE+7, STRAGE+10
^TMP("PSO1" ACK+14*, EXT+1!
^TMP("PSO2" ERRMSG+2*
^TMP("PSOADD" INIT+3!, INIT+30*, INIT+35, INIT+37, EXIT+3!, STRAGE+4, STRAGE+5*, STRAGE+10*, MORSTG+4*
^TMP("PSOMID" INIT+14*, LOGMSG+4*, LOGMSG+9, LOGMSG+10*, UFILEEXIT+1!
^UTILITY($J INIT+12, INIT+15, INIT+16, INIT+34, GETDEV+7
^XUSEC("PSOINTERFACE" ALERT+2

Label References

Name Line Occurrences
$$ADDCHK GETDEV+13, CHKCAT+6
$$RTE CHKCAT+4
ACK1 ACK+18
ACK2 ACK+19
ACLOG UFILE+7
ALERT INIT+43, INIT+44, ACK2+1
ALLADD INIT+11
CHKCAT INIT+25
EXIT INIT+4, INIT+5, INIT+46
EXT ACK+6, ACK+17
FACK1 ACK1+1
FACK2 ACK2+1
GETDEV INIT+11
LOGBLD LOGMSG+3, LOGMSG+8
LOGMSG INIT+27
MORSTG INIT+33
STRAGE INIT+31
UDFILE FACK1+2, FACK2+1
UFILE INIT+44, INIT+45

Naked Globals

Name Field # of Occurrence
^( UFILE
^(0 FACK1+22, FACK2+2

Local Variables

Legend:

>> Not killed explicitly
* Changed
! Killed
~ Newed

Name Field # of Occurrence
% INIT+8, EXIT+1!, FACK2+5, ACLOG+3
AA ERRMSG+1*, EXT+1!
AACK ACK+3*, ACK+14, EXT+1!
ACL FACK2+2*, FACK2+3*, FACK2+4*, FACK2+5!
ADDCAT INIT+1~, GETDEV+6!
ADDCAT( GETDEV+14*, CHKCAT+11, CHKCAT+12, CHKCAT+13
ADDCAT("A" CHKCAT+9
ADDCAT("S" INIT+31, INIT+33, LOGMSG+7, CHKCAT+14, STRAGE+2, MORSTG+2, MORSTG+3
CMID ACK+3*, ACK+14, EXT+1!, UDFILE+2, FACK1+23
CNT STRAGE+1~, STRAGE+6*, STRAGE+7, STRAGE+10
CNT1 STRAGE+1~, STRAGE+9*, STRAGE+10, STRAGE+11*
CPY INIT+17*, EXIT+1!
CS INIT+7*, EXIT+1!
CSB CHKCAT+1~, CHKCAT+10*, CHKCAT+11, CHKCAT+12
DA LOGBLD+1~, UFILE+6*, EXIT+2!, UDFILE+1*, FACK1+9*, FACK1+11, FACK1+14*, FACK1+16, FACK1+19*, FACK1+20
FACK1+21, FACK1+22
DAT GETDEV+5~, GETDEV+12*, GETDEV+13, GETDEV+14
DAT1 GETDEV+5~, GETDEV+13*, GETDEV+14
DAW INIT+13*, EXIT+1!
DD LOGBLD+1~, LOGBLD+4!
DDEV CHKCAT+1~, CHKCAT+5*, CHKCAT+6
DDNS INIT+1~, INIT+10*, INIT+26, INIT+35*, INIT+37, INIT+38, INIT+40, INIT+43, INIT+44, INIT+45
UFILE+5, GETDEV+5~, GETDEV+10*
DEV GETDEV+5~, GETDEV+11*, GETDEV+12, ADDCHK~, ADDCHK+2, ADDCHK+4
DEV53 CHKCAT+1~, CHKCAT+6*, CHKCAT+7, CHKCAT+8
DEVD ADDCHK+3~, ADDCHK+4*, ADDCHK+5, ADDCHK+6, ADDCHK+7
DFLAG INIT+1~
DFN INIT+17*, INIT+43, LOGBLD+3, EXIT+2!
DIC LOGBLD+1~, LOGBLD+2*, LOGBLD+4!
DIC("DR" LOGBLD+3*
DIC(0 LOGBLD+2*
DIE UFILE+6*, EXIT+2!, EXT+3!, UDFILE+2*, FACK1+23*
DIK LOGBLD+1~
DIN INIT+13*, INIT+14, EXIT+1!
DIV INIT+17*, LOGBLD+3, EXIT+2!
DIV1 ACK+16*, EXT+2!, UDFILE+1*
DN GETDEV+5~, GETDEV+8*, GETDEV+9
DNS STRAGE+1~, STRAGE+2*, STRAGE+3, STRAGE+4, STRAGE+5, STRAGE+9, STRAGE+10, STRAGE+11, MORSTG+1~, MORSTG+2*
MORSTG+3, MORSTG+4
DO LOGBLD+1~, LOGBLD+4!
DPORT INIT+38*, INIT+40, GETDEV+5~, GETDEV+10*
DR UFILE+6*, EXIT+2!, UDFILE+2*, FACK1+23*
DRG CHKCAT+1~, CHKCAT+3*, CHKCAT+4*, CHKCAT+5
DRG0 CHKCAT+1~, CHKCAT+5*, CHKCAT+10
DRI INIT+16*, EXIT+1!
DT INIT+5, ADDCHK+6, ALLADD+7
DTM ACK+3*, ACK+14, EXT+1!
DTME INIT+8*, INIT+9*, LOGBLD+3, EXIT+2!
DTTM ACLOG+1~, ACLOG+3*, ACLOG+5
EC INIT+7*, EXIT+1!
EID ACK+5*, ACK+14, EXT+1!
EIDS ACK+5*, ACK+14, EXT+1!
EIN EXT+3!, UDFILE+1*, FACK1+9*, FACK1+14*, FACK1+19*, FACK1+21!, FACK1+23!, FACK2+1, FACK2+2
EMSG ERRMSG*, ERRMSG+1*, ERRMSG+2, EXT+3!
ERRMSG ACK+8*, EXT+2!, ACK2
ETN ACK+3*, ACK+14, EXT+1!
FLD12 EXT+2!, ACK2*
FLD13 EXT+2!, ACK1+1*, ACK2*, UDFILE+2, FACK1+23
FLL EXT+2!, FACK2+2*, FACK2+5
FLLN EXT+2!, FACK2+2*, FACK2+5
FP INIT+13*, INIT+14, INIT+23, LOGBLD+3, EXIT+1!, RTE+2, RTE+3, RTE+4
FPN INIT+13*, INIT+14, INIT+23, LOGBLD+3, EXIT+1!, RTE+2, RTE+3, RTE+4
FS INIT+6*, EXIT+1!, ACK+5*, EXT+1!
HCNT ACLOG+1~, ACLOG+4*, ACLOG+5*
HCOM ACLOG+1~, ACLOG+3*, ACLOG+5
HJJ ACLOG+1~, ACLOG+4*
HL EXT+2!
HL("APAT" ACK+2*, ACK+3
HL("DTM" ACK+3
HL("EID" ACK+5
HL("EIDS" ACK+5
HL("ETN" ACK+3
HL("FS" ACK+5
HL("MID" ACK+3
HL("MTN" ACK+4
HL("RAN" ACK+4
HL("SAN" ACK+4
HL("VER" ACK+4
HL1 INIT+5, EXIT+2!
HL1("ECH" INIT+6*, INIT+7
HL1("FS" INIT+6
>> HLECH INIT+6*
HLERR INIT+39!, INIT+42*, INIT+44, INIT+45, EXIT+2!
HLL INIT+42!
HLMID INIT+39!, INIT+42*, INIT+43, INIT+44, INIT+45, UFILE+6, EXIT+1!, ACLOG+5
HLNEXT ERRMSG+1, ACK+7, EXT+3!
HLNODE ERRMSG+1, ACK+7, EXT+3!
HLNODE( ACK+11
HLP INIT+1~, INIT+39!, INIT+41
HLP("CONTPTR" INIT+40*
HLP("SUBSCRIBER" INIT+40*
HLPDT INIT+5*, EXIT+2!
HLQUIT ERRMSG+1, ACK+7, EXT+3!
HLRESLT INIT+1~, INIT+39!, INIT+41, INIT+42
HLRPT FACK1+22*, FACK1+23!
HLUSER FACK1+22*, FACK1+23!
I ACK+7*, ACK+8, ACK+9, ACK+10, ACK+11, FACK2+3*, FACK2+5!
IDGN INIT+13*, EXIT+1!
IEN52 ACLOG+1~, ACLOG+2*, ACLOG+4, ACLOG+5
II INIT+12*, INIT+14, INIT+15, INIT+16, LOGMSG+4, LOGMSG+9, LOGMSG+10, UFILE*, EXIT+1!
III UFILE*, UFILE+1, EXIT+2!
ING EXIT+1!
ING( INIT+15*
IRX EXT+2!, FACK2+2*, FACK2+3, FACK2+4, FACK2+5
IRXN INIT+13*, INIT+14, INIT+17, INIT+18, INIT+19, INIT+21, INIT+22, INIT+23, LOGBLD+2, EXIT+1!
CHKCAT+4, RTE+2, RTE+3, RTE+4
J EXIT+2!, ACK+7*, ACK+11*
JJ INIT+15*, EXIT+1!
MDUP FACK1+21*!
MESS INIT+44*, INIT+45*, UFILE+6, EXIT+1!, ACLOG+3
MSA EXT+1!
MSA1 EXT+2!
MSACDE ACK+8*, ACK+17, ACK+18, ACK+19, EXT+2!
MTH CHKCAT+1~, CHKCAT+13*
MTN ACK+4*, ACK+14, EXT+1!
MW RTE+1~, RTE+2*, RTE+3*, RTE+4*, RTE+5
ODR INIT+12*, INIT+13, INIT+16, INIT+17, EXIT+1!
OPADD INIT+1~, GETDEV+6!
OPADD( INIT+28, INIT+30*, INIT+38, GETDEV+10*, GETDEV+14*, CHKCAT+7, CHKCAT+8*, STRAGE+5*, STRAGE+9, STRAGE+11*
OPNAM INIT+1~, ALLADD+3!
OPNAM( INIT+45, ALLADD+9*
ORC ACK+7~, ACK+9*, EXT+3!, ACK1+1, FACK1+2, FACK1+3, FACK1+4
PAS INIT+28!, EXIT+2!
PAS1 INIT+28!, EXIT+2!
PAS2 INIT+28!, EXIT+2!
PAS3 INIT+28!, EXIT+2!
PDAT CHKCAT+1~, CHKCAT+4*
>> PDUZ ACLOG+5
PFP UFILE+1*, UFILE+4, EXIT+1!
PFPN UFILE+1*, UFILE+4, EXIT+1!
PIEN INIT+4*, INIT+5, INIT+41, EXIT+2!
PIO GETDEV+5~, GETDEV+7*, GETDEV+8, GETDEV+9, GETDEV+11, GETDEV+12
PN GETDEV+5~, GETDEV+7*
PRSN INIT+17*, LOGBLD+3, EXIT+2!
PRX UFILE+2*, UFILE+3, UFILE+4, UFILE+5, UFILE+6, EXIT+1!, ACLOG+2
PRXX UFILE+1*, UFILE+2, EXIT+2!
PSI INIT+5*, INIT+28*, INIT+30, EXIT+1!, STRAGE+5
PSLINK INIT+1~, INIT+34*
PSOADD INIT+1~, INIT+24*, INIT+25, INIT+26*, INIT+28, INIT+30, LOGMSG+2, LOGMSG+7, CHKCAT+2*, CHKCAT+7*
CHKCAT+8*, CHKCAT+9*, CHKCAT+11*, CHKCAT+12*, CHKCAT+13*, CHKCAT+14*, STRAGE+3
PSODEV LOGMSG+1~, LOGMSG+2*, LOGMSG+7*, LOGBLD+3
PSODTM INIT+8, INIT+9, EXIT+1!
PSOENH INIT+1~, INIT+11*, INIT+25, INIT+43, INIT+44, INIT+45, LOGMSG+6, LOGBLD+3, UFILE+5, UFILE+7
GETDEV+11*
PSOFNHL7 INIT+1~, ACK+10*, FACK1+14
PSOHLCL INIT+1~
PSOHLINX INIT+1~, INIT+2*
PSOHLNDA INIT+19~*, INIT+20*, INIT+21, INIT+22
PSOHLSER INIT+1~
PSOHLSPZ INIT+19~*, INIT+20
>> PSOHLSV("ROUTING" CHKCAT+3
>> PSOLDRUG CHKCAT+3
PSOMES INIT+1~, LOGMSG+1~, LOGMSG+4, LOGMSG+9, LOGBLD+5*
PSOMSG ACK+7!, EXT+3!
PSOMSG( ACK+7*, ACK+8, ACK+9, ACK+10, ACK+11*
>> PSONEADS CHKCAT+3, CHKCAT+4
>> PSONECT ALLADD+8
>> PSONECTC ALLADD+8*
>> PSOSITE INIT+10, INIT+17, GETDEV+7, GETDEV+8, GETDEV+10, GETDEV+11, GETDEV+12, CHKCAT+5
RAN ACK+4*, ACK+14, EXT+1!
RDNS MORSTG+1~, MORSTG+3*, MORSTG+4
RPRT INIT+17*, INIT+23, LOGBLD+3, EXIT+2!
RPT EXT+1!
RS INIT+7*, EXIT+1!
RTE CHKCAT+1~, CHKCAT+3*, CHKCAT+4*, CHKCAT+6, CHKCAT+12, CHKCAT+13
RX FACK1+1~, FACK1+8*, FACK1+9, FACK1+12*, FACK1+13, FACK1+14, FACK1+17*, FACK1+18, FACK1+19
RXDIV FACK1+1~, FACK1+7*, FACK1+8
>> RXFL( INIT+22
RXN FACK2+2*, FACK2+5!
RXNA FACK1+1~, FACK1+4*, FACK1+9, FACK1+12, FACK1+17
RXNAQ FACK1+1~, FACK1+4*, FACK1+7, FACK1+8, FACK1+9*, FACK1+12, FACK1+14*, FACK1+17, FACK1+19*
>> RXPR( INIT+21, INIT+22
>> RXRP( INIT+22
SAN ACK+4*, ACK+14, EXT+1!, UDFILE+2, FACK1+23
SCS INIT+7*, EXIT+1!
SDI INIT+16*, EXIT+1!
SMID ACK+8*, ACK+13, ACK+16, EXT+2!, ACK2UDFILE+1, FACK1+6, FACK1+7, FACK1+8
SP1 ACK+16*, EXT+2!, UDFILE+1*
SP2 ACK+16*, EXT+2!
STA INIT+44*, INIT+45*, UFILE+6, EXIT+1!
STPMTR INIT+17*, INIT+18, LOGBLD+3, EXIT+2!
STR LOGMSG+1~, LOGMSG+9*, LOGMSG+10, STRAGE+1~, STRAGE+7*, STRAGE+8
>> SUB FACK2+3*
UID EXT+2!, ALERT+2*
VER ACK+4*, ACK+6, ACK+14, EXT+1!
X LOGBLD+2*, EXIT+2!, ALLADD+2~, ALLADD+4*, ALLADD+5
XD ALLADD+2~, ALLADD+5*, ALLADD+6, ALLADD+7, ALLADD+9
XQA ALERT+1!
XQA( ALERT+2*
XQADATA ALERT+1!
XQAFLAG ALERT+1!
XQAID ALERT+1!
>> XQAMSG INIT+43*, INIT+44*, ACK2*
XQAOPT ALERT+1!
XQAROU ALERT+1!
XX UFILE+2*, EXIT+2!
XXX EXIT+2!
Y LOGBLD+5, LOGBLD+6!
>> ZTQUEUED EXIT
>> ZTREQ EXIT*
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Used in HL7 Interface |  FileMan Files Accessed Via FileMan Db Call |  Global Variables Directly Accessed |  Label References |  Naked Globals |  Local Variables  | All