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: 11

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

Caller Graph

Legends:

Legend of Colors

Package Component Superscript legend

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

Caller Graph

Caller Graph Total: 5

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

Entry Points

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

External References

Name Field # of Occurrence
NOW^%DTC INIT+8, FACK2+4, ACLOG+3
FILE^DICN LOGBLD+4
^DIE UFILE+6, UDFILE+2, FACK1+7
$$GET1^DIQ INIT+10, GETDEV+10
$$GETAPP^HLCS2 INIT+2
INIT^HLFNC2 INIT+5
GENERATE^HLMA INIT+41
^PSOHLDIS FACK1+5, FACK1+7
START^PSOHLDS1 INIT+29
SUS^PSOLBL4 INIT+23
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
^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+14, UDFILE+1, FACK1+3, FACK1+5, FACK1+6, 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+4
^PSRX - [#52] INIT+17, INIT+18, FACK2+1, FACK2+2, FACK2+3, FACK2+4*, FACK2+5*, CHKCAT+3, ACLOG+4, ACLOG+5*
, RTE+2, RTE+3, RTE+4
^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+12*, 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*, UFILE, EXIT+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+5
$$RTE CHKCAT+3
ACK1 ACK+16
ACK2 ACK+17
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+15
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+1, FACK2+1
UFILE INIT+44, INIT+45

Naked Globals

Name Field # of Occurrence
^( UFILE
^(0 FACK1+6, 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+12, EXT+1!
ACL FACK2+2*, FACK2+3*, FACK2+4*, FACK2+5!
ADDCAT INIT+1~, GETDEV+6!
ADDCAT( GETDEV+14*, CHKCAT+10, CHKCAT+11, CHKCAT+12
ADDCAT("A" CHKCAT+8
ADDCAT("S" INIT+31, INIT+33, LOGMSG+7, CHKCAT+13, STRAGE+2, MORSTG+2, MORSTG+3
CMID ACK+3*, ACK+12, EXT+1!, UDFILE+2, FACK1+7
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+9*, CHKCAT+10, CHKCAT+11
DA LOGBLD+1~, UFILE+6*, EXIT+2!, UDFILE+1*, FACK1+3*, FACK1+4, FACK1+5, FACK1+6
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+4*, CHKCAT+5
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+5*, CHKCAT+6, CHKCAT+7
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+7*
DIK LOGBLD+1~
DIN INIT+13*, INIT+14, EXIT+1!
DIV INIT+17*, LOGBLD+3, EXIT+2!
DIV1 ACK+14*, 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+7*
DRG CHKCAT+1~, CHKCAT+3*, CHKCAT+4
DRG0 CHKCAT+1~, CHKCAT+4*, CHKCAT+9
DRI INIT+16*, EXIT+1!
DT INIT+5, ADDCHK+6, ALLADD+7
DTM ACK+3*, ACK+12, 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+12, EXT+1!
EIDS ACK+5*, ACK+12, EXT+1!
EIN EXT+3!, UDFILE+1*, FACK1+3*, FACK1+5!, FACK1+7!, FACK2+1, FACK2+2
EMSG ERRMSG*, ERRMSG+1*, ERRMSG+2, EXT+3!
ERRMSG ACK+8*, EXT+2!, ACK2
ETN ACK+3*, ACK+12, EXT+1!
FLD12 EXT+2!, ACK2*
FLD13 EXT+2!, ACK1+1*, ACK2*, UDFILE+2, FACK1+7
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+10
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+6*, FACK1+7!
HLUSER FACK1+6*, FACK1+7!
I ACK+7*, ACK+8, ACK+9, ACK+10, 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+3, RTE+2, RTE+3, RTE+4
J EXIT+2!, ACK+7*, ACK+10*
JJ INIT+15*, EXIT+1!
MDUP FACK1+5*!
MESS INIT+44*, INIT+45*, UFILE+6, EXIT+1!, ACLOG+3
MSA EXT+1!
MSA1 EXT+2!
MSACDE ACK+8*, ACK+15, ACK+16, ACK+17, EXT+2!
MTH CHKCAT+1~, CHKCAT+12*
MTN ACK+4*, ACK+12, 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+6, CHKCAT+7*, STRAGE+5*, STRAGE+9, STRAGE+11*
OPNAM INIT+1~, ALLADD+3!
OPNAM( INIT+45, ALLADD+8*
ORC ACK+7~, ACK+9*, EXT+3!, ACK1+1, FACK1+1, FACK1+2, FACK1+3
PAS INIT+28!, EXIT+2!
PAS1 INIT+28!, EXIT+2!
PAS2 INIT+28!, EXIT+2!
PAS3 INIT+28!, EXIT+2!
PDAT CHKCAT+1~, CHKCAT+3*
>> 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+6*
, CHKCAT+7*, CHKCAT+8*, CHKCAT+10*, CHKCAT+11*, CHKCAT+12*, CHKCAT+13*, 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*
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
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*
>> PSOSITE INIT+10, INIT+17, GETDEV+7, GETDEV+8, GETDEV+10, GETDEV+11, GETDEV+12, CHKCAT+4
RAN ACK+4*, ACK+12, 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+5, CHKCAT+11, CHKCAT+12
>> RX FACK1+3*
>> RXFL( INIT+22
RXN FACK1+3*, FACK2+2*, FACK2+5!
>> RXPR( INIT+21, INIT+22
>> RXRP( INIT+22
SAN ACK+4*, ACK+12, EXT+1!, UDFILE+2, FACK1+7
SCS INIT+7*, EXIT+1!
SDI INIT+16*, EXIT+1!
SMID ACK+8*, ACK+14, EXT+2!, ACK2, UDFILE+1
SP1 ACK+14*, EXT+2!, UDFILE+1*
SP2 ACK+14*, 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+12, EXT+1!
X LOGBLD+2*, EXIT+2!, ALLADD+2~, ALLADD+4*, ALLADD+5
XD ALLADD+2~, ALLADD+5*, ALLADD+6, ALLADD+7, ALLADD+8
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