PSOHLDS ;BIR/PWC-HL7 V.2.4 AUTOMATED DISPENSE INTERFACE ;03/01/96 09:45
Source file <PSOHLDS.m>
| action | A | extended action | Ea | event driver | Ed | subscriber | Su | protocol | O | limited protocol | LP | run routine | RR | broker | B | edit | E | server | Se | P | screenman | SM | inquire | I |
| Package | Total | Caller Graph |
|---|---|---|
| Outpatient Pharmacy | 5 | PSO DISP CLIENT PSO EXT SERVER PSOHLSG PSORLLLI PSORXL |
| Kernel | 1 | ^ORD(101 |
| 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
|
| 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 |
| HL7 Protocol Name | Call Tags |
|---|---|
| PSO EXT SERVER | ACK |
| PSO DISP CLIENT | ACK |
| FileNo | Call Tags |
|---|---|
| ^PS(52.51 - [#52.51] | Classic Fileman Calls, GET1^DIQ |
| ^PS(59 - [#59] | GET1^DIQ |
| 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 |
| >> | 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!, ACK2, UDFILE+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* |