PSXUTL ;BIR/BAB,WPB,HTW-Utility Subroutines ;14 Feb 2002 2:27 PM
Source file <PSXUTL.m>
| Name | Comments | DBIA/ICR reference | 
|---|---|---|
| TOP(TARGROOT) | ; Move to the top the returned DIQ array ; Move array(file,iens,field)=value to array(field)=value ; also moves the ,field,"I") =value(internal) to (field)=value(internal) | |
| UNMARK | ;Entry point to unmark drug for CMOP dispense | |
| LOG | ;create a log entry in the CMOP INTERFACE file | |
| IENS(IENS) | ;Resolve IENS to numbers X,Y,Z to 89,34,345 | |
| CHKD | ||
| CHKE | ||
| CHKA | ||
| DRG | ; | |
| SET(REC,DLM,ABCD) | ; where XX = VAR_U_I  ex: XX="PATNM^1" ; Set VAR into piece I of REC using delimiter DLM | |
| SETVER | ||
| RALRT | ||
| DRUGW | ; | |
| CHKB | ||
| PIECE(REC,DLM,XX) | ; where XX = VAR_U_I  ex: XX="PATNM^1" ; Set VAR = piece I of REC using delimiter DLM | |
| STATUS | ;display CMOP status for entry action on RX menu | |
| TSIN | ;convert an HL7 timestamp to fileman format | |
| CHK | ||
| HEX | ;converts decimal #<128 to a two byte hex # | |
| GETS(FILE,IENS,DR,FORM,TARG,ERR) | ; | |
| FLUSH1 | ||
| TSOUT | ;convert current date time to HL7 timestamp | |
| ALRT | ||
| EXIT | 
| Name | Line Occurrences | 
|---|---|
| Function Call: READ | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Routine Call | 
 | 
| Name | Line Occurrences (* Changed, ! Killed) | 
|---|---|
| ^PS(54 - [#54] | DRUGW+1 | 
| ^PSDRUG - [#50] | DRG+1, DRG+2, UNMARK+2*, UNMARK+3*, UNMARK+4, UNMARK+5*, UNMARK+6* | 
| ^PSDRUG("AQ" | UNMARK+2! | 
| ^PSX(553 | LOG+8, LOG+9*, LOG+10*, LOG+11, STATUS+2 | 
| ^TMP($J | TOP+8*, TOP+10, TOP+11! | 
| Name | Line Occurrences | 
|---|---|
| $$IENS | GETS+1 | 
| ALRT | SETVER, SETVER+1 | 
| CHK | CHKA, CHKB, CHKD | 
| LOG | LOG+7 | 
| TOP | GETS+4 | 
| Name | Field # of Occurrence | 
|---|---|
| ^(0 | DRUGW+1, UNMARK+6* | 
| ^(5 | DRG+2* | 
| >> | Not killed explicitly | 
| * | Changed | 
| ! | Killed | 
| ~ | Newed | 
| Name | Field # of Occurrence | 
|---|---|
| % | HEX+3~*, HEX+4, HEX+5, HEX+6, HEX+7, CHK~, CHK+1*, CHK+2, LOG+6, LOG+9* , LOG+10*, LOG+12!, TSOUT+3*, TSOUT+4, TSOUT+5!, UNMARK+1~, UNMARK+5, UNMARK+7! | 
| %H | LOG+4!, TSOUT+5! | 
| %I | LOG+4!, TSOUT+5! | 
| ABCD | SET~, SET+2 | 
| DA | EXIT!, SETVER+1*! | 
| DD | LOG+5!, LOG+12! | 
| DELTA | CHKA*, CHKB*, CHKD*, CHKE*, CHK+2, CHK+3! | 
| DIC | LOG+5!, LOG+6*, LOG+12!, EXIT!, SETVER*!, SETVER+1*! | 
| DIC(0 | LOG+6*, SETVER*! | 
| DIE | EXIT! | 
| DINUM | LOG+6*, LOG+12! | 
| DIQ | SETVER+1*! | 
| DIQ(0 | SETVER+1*! | 
| DLAYGO | LOG+12! | 
| DLM | PIECE~, PIECE+2, SET~, SET+3, SET+4 | 
| DO | LOG+5!, LOG+12! | 
| DR | EXIT!, SETVER+1*, GETS~, GETS+2, GETS+3 | 
| DTIME | LOG+8 | 
| DTOUT | LOG+12! | 
| DUOUT | LOG+12! | 
| DUZ | UNMARK+5 | 
| ERR | GETS~, GETS+2 | 
| FILE | GETS~, GETS+2, GETS+3, TOP+4~, TOP+5*, TOP+6, TOP+7, TOP+8 | 
| FLD | TOP+4~, TOP+7*, TOP+13, TOP+14*, TOP+15 | 
| FORM | GETS~, GETS+2, GETS+3 | 
| H | HEX+3~, HEX+6*, HEX+7* | 
| H1 | HEX+3~, HEX+6*, HEX+8 | 
| H2 | HEX+3~, HEX+7*, HEX+8 | 
| I | IENS+1~, IENS+2*, IENS+3, PIECE+2~*, SET+2~*, SET+3, SET+4 | 
| IENS | GETS~, GETS+1*, GETS+2, GETS+3, IENS~, IENS+2, IENS+3*, IENS+4, TOP+4~, TOP+6* , TOP+7, TOP+8 | 
| IOM | STATUS+5 | 
| >> LOG( | LOG+9 | 
| N | FLUSH1~*, FLUSH1+2* | 
| PSX | UNMARK+1~, UNMARK+4*, UNMARK+5*, UNMARK+6, UNMARK+7! | 
| >> PSXCK | UNMARK+2, UNMARK+3, UNMARK+4, UNMARK+5, UNMARK+6 | 
| >> PSXDLTA | CHKA | 
| >> PSXDLTB | CHKB | 
| >> PSXDLTD | CHKD | 
| >> PSXDLTE | CHKE | 
| PSXER | ALRT*! | 
| PSXFILE | RALRT!, ALRT! | 
| >> PSXFM | TSIN+3*, TSIN+4* | 
| >> PSXHEX | HEX+3, HEX+4*, HEX+5*, HEX+8* | 
| PSXSTAT | STATUS+1~, STATUS+2*, STATUS+3, STATUS+4, STATUS+6! | 
| >> PSXTM | CHKA*, CHKB*, CHKD*, CHKE*, CHK+1, CHK+2 | 
| >> PSXTMA | CHKA | 
| >> PSXTMB | CHKB | 
| >> PSXTMD | CHKD | 
| >> PSXTME | CHKE | 
| >> PSXTMOUT | CHK+2* | 
| >> PSXTS | TSOUT+4*, TSIN+3, TSIN+4 | 
| PSXTXT | STATUS+1~, STATUS+4*, STATUS+5, STATUS+6! | 
| PSXUTL1 | SETVER+1! | 
| PSXUTL1( | SETVER+1 | 
| >> PSXV | SETVER+1* | 
| >> PSXVER | SETVER+1* | 
| REC | PIECE~, PIECE+2, SET~, SET+3*, SET+4* | 
| TARG | GETS~, GETS+2, GETS+3, GETS+4 | 
| TARGROOT | TOP~, TOP+3, TOP+5, TOP+6, TOP+7, TOP+8, TOP+9, TOP+10, TOP+13, TOP+14 , TOP+15 | 
| U | PIECE+2, SET+2 | 
| X | FLUSH1~, FLUSH1+2*, LOG+2~, LOG+6*, LOG+9*, LOG+12!, TSOUT+4, TSIN+4~*, DRUGW+1!, DRG+1* , DRG+2, SETVER*!, SETVER+1!, IENS+1~, IENS+2*, IENS+3* | 
| X1 | FLUSH1~, FLUSH1+2* | 
| X2 | FLUSH1~, FLUSH1+2* | 
| XDA | SETVER*, SETVER+1! | 
| XQA | RALRT!, ALRT! | 
| XQALERT | RALRT!, ALRT! | 
| XQAMSG | RALRT*!, ALRT*! | 
| XX | DRG+2*!, PIECE~, PIECE+2 | 
| Y | LOG+2~, LOG+7, LOG+9, LOG+10, LOG+12!, EXIT!, SETVER!, SETVER+1!, PIECE+2~*, SET+2~* , SET+3, SET+4 | 
| Y(0 | LOG+10 | 
| Z | UNMARK+1~, UNMARK+4*, UNMARK+7! | 
| >> Z0 | DRUGW+1* | 
| >> Z1 | DRUGW+1* |