PSOUTIL ;IHS/DSD/JCM - outpatient pharmacy utility routine ;29-May-2012 15:16;PLS
Source file <PSOUTIL.m>
| Package | Total | Call Graph | 
|---|---|---|
| VA Fileman | 3 | DD^%DT C^%DTC ^DIR | 
| IHS Changes To Pharmacy | 1 | $$ISSCH^APSPFNC2 | 
| Outpatient Pharmacy | 1 | (COSIGN,PROV)^PSODIR | 
| Name | Comments | DBIA/ICR reference | 
|---|---|---|
| GFDT | ; | |
| CHKPRVX | ||
| NPSOSD(PSORX) | ; Entry point to add newly added rx to patients PSOSD array | |
| SUSDATEK(PSOX) | ; | |
| PROV(PSORENW) | ;called from psoornew | |
| CHKPRV | ;check inactive providers and cosinging providers called from PSORENW (renew rx) | |
| ACP | ||
| RENFDT(PSOX) | ;gets the correct fill date | |
| SUSDATE(PSOX) | ; | |
| RNPSOSD | ;update PSOSD array for renewals | |
| NEXT(PSOX) | ; | |
| NEXTX | ; | |
| SDTX | ; | |
| STATUS(PSOREA,PSOSTAT) | ; | 
| Name | Line Occurrences | 
|---|---|
| Function Call: WRITE | 
 | 
| Routine Call | 
 | 
| Name | Line Occurrences (* Changed, ! Killed) | 
|---|---|
| ^DD("DD" | SUSDATE+6, SDTX+2 | 
| ^DD(52 | STATUS+33 | 
| ^PS(52.5 - [#52.5] | SUSDATE+4, GFDT+5, GFDT+6, GFDT+8 | 
| ^PSDRUG - [#50] | CHKPRV+19 | 
| ^PSRX - [#52] | NPSOSD+2, NPSOSD+4, NPSOSD+5, RNPSOSD+2, RNPSOSD+4, RNPSOSD+5, RNPSOSD+8, RNPSOSD+9, NEXT+1, NEXT+2 , NEXT+3, NEXT+5, NEXT+13, NEXT+14, ACP, RENFDT+6, RENFDT+7, RENFDT+8, GFDT+1, GFDT+3 | 
| ^PSRX("ACP" | ACP* | 
| ^TMP("PS" | NPSOSD+6*, RNPSOSD+10* | 
| ^VA(200 - [#200] | CHKPRV+1, CHKPRV+6, CHKPRV+7, CHKPRV+11, CHKPRV+13, CHKPRV+21, CHKPRV+26 | 
| Name | Line Occurrences | 
|---|---|
| CHKPRVX | CHKPRV+1, CHKPRV+6, CHKPRV+12, CHKPRV+20 | 
| GFDT | RENFDT+6, RENFDT+8 | 
| NEXTX | NEXT+5 | 
| SDTX | RENFDT+6 | 
| Name | Field # of Occurrence | 
|---|---|
| ^("IB" | ACP | 
| ^(0 | GFDT+6 | 
| ^(2 | ACP | 
| >> | Not killed explicitly | 
| * | Changed | 
| ! | Killed | 
| ~ | Newed | 
| Name | Field # of Occurrence | 
|---|---|
| >> ACOM | STATUS+1*, STATUS+4*, STATUS+7*, STATUS+11*, STATUS+15*, STATUS+19*, STATUS+23*, STATUS+27* | 
| APSPDIEN | CHKPRV+17~, CHKPRV+18*, CHKPRV+19, CHKPRV+20 | 
| CLOZPAT | CHKPRV+17~, CHKPRV+19*, CHKPRV+20, CHKPRV+22 | 
| DIR | STATUS+39! | 
| DIR("A" | STATUS+39* | 
| DIR(0 | STATUS+39* | 
| DIRUT | STATUS+39! | 
| >> DSMSG | STATUS+1*, STATUS+3, STATUS+6, STATUS+10, STATUS+14, STATUS+18, STATUS+22, STATUS+26, STATUS+29, STATUS+36 | 
| DT | CHKPRV+12, CHKPRV+26, RENFDT+9 | 
| DTOUT | STATUS+39! | 
| DUOUT | STATUS+39! | 
| LBL | RENFDT+4~, GFDT+3* | 
| LBP | RENFDT+4~, GFDT+3*, GFDT+4 | 
| >> OR0 | STATUS+1, STATUS+4, STATUS+7, STATUS+11, STATUS+15, STATUS+19, STATUS+23, STATUS+27 | 
| >> POERR | STATUS+3, STATUS+6, STATUS+10, STATUS+14, STATUS+18, STATUS+22, STATUS+26, STATUS+29, STATUS+35, STATUS+36 | 
| PSOA | STATUS+33*, STATUS+34, STATUS+35, STATUS+36, STATUS+37! | 
| PSOB | STATUS+33*, STATUS+37! | 
| PSODIR | CHKPRVX! | 
| PSODIR("COSIG | NING PROVIDER" , CHKPRV+29, CHKPRV+30 | 
| PSODIR("FIELD" | CHKPRV+3*, CHKPRV+8*, CHKPRV+14*, CHKPRV+23*, CHKPRV+28* | 
| PSODIR("PROVIDER" | CHKPRV+28* | 
| >> PSODRUG("IEN" | CHKPRV+18 | 
| >> PSODRUG("NAME" | NPSOSD+3, NPSOSD+4, NPSOSD+5, NPSOSD+6, RNPSOSD+3, RNPSOSD+4, RNPSOSD+5, RNPSOSD+6, RNPSOSD+8, RNPSOSD+9 , RNPSOSD+10 | 
| >> PSODRUG("NDF" | NPSOSD+4, NPSOSD+5 | 
| >> PSODRUG("VA C | LASS" , NPSOSD+4, NPSOSD+5 | 
| >> PSOOPT | STATUS+1 | 
| PSOREA | STATUS~, STATUS+2, STATUS+5, STATUS+9, STATUS+13, STATUS+17, STATUS+21, STATUS+25, STATUS+29, STATUS+31 | 
| PSORENW | PROV~, CHKPRV+3, CHKPRV+8, CHKPRV+14, CHKPRV+23 | 
| PSORENW("COSI | GNING PROVIDER" , CHKPRV+26, CHKPRV+30* | 
| PSORENW("COSIGNER" | CHKPRV+26 | 
| PSORENW("DFLG" | CHKPRV+1, CHKPRV+4*, CHKPRV+6, CHKPRV+9*, CHKPRV+12, CHKPRV+15*, CHKPRV+20, CHKPRV+24*, CHKPRV+29* | 
| PSORENW("DRUG | IEN" , CHKPRV+18 | 
| PSORENW("IRXN" | RNPSOSD+4, RNPSOSD+5, RNPSOSD+8, RNPSOSD+9 | 
| PSORENW("OIRXN" | RNPSOSD+2, RNPSOSD+3, RNPSOSD+4, RNPSOSD+6 | 
| PSORENW("OLD | FILL DATE" , SUSDATEK+2 | 
| PSORENW("PROVIDER" | CHKPRV+1, CHKPRV+3!, CHKPRV+4, CHKPRV+6, CHKPRV+7, CHKPRV+8!, CHKPRV+9, CHKPRV+11, CHKPRV+13, CHKPRV+14! , CHKPRV+15, CHKPRV+21, CHKPRV+23!, CHKPRV+24, CHKPRV+28 | 
| >> PSORNW("FILL | DATE" , RENFDT+9 | 
| PSORX | NPSOSD~ | 
| PSORX("FILL D | ATE" , SUSDATE+2, SUSDATE+6*, SUSDATEK+3*, RENFDT+2, SDTX+2* | 
| PSORX("IRXN" | NPSOSD+2, NPSOSD+4, NPSOSD+5 | 
| PSORX("OLD FI | LL DATE" , SUSDATE+2*, SUSDATEK+2*, SUSDATEK+3, SUSDATEK+4!, RENFDT+2* | 
| >> PSOSD | NPSOSD+6* | 
| >> PSOSD( | NPSOSD+3, NPSOSD+4*, NPSOSD+5*, RNPSOSD+3, RNPSOSD+4*, RNPSOSD+5*, RNPSOSD+6!, RNPSOSD+8*, RNPSOSD+9* | 
| PSOSTAT | STATUS~, STATUS+32*, STATUS+33 | 
| PSOX | CHKPRV+11!*, CHKPRV+12, CHKPRV+26!*, CHKPRVX!, NEXT~, SUSDATE~, SUSDATEK~, RENFDT~ | 
| PSOX("FILL DA | TE" , SUSDATE+1, SUSDATE+3*, SUSDATE+4*, SUSDATE+5, SUSDATEK+1*, RENFDT+1, RENFDT+3*, RENFDT+9*, SDTX+1 , GFDT+9* | 
| PSOX("IRXN" | NEXT+1, NEXT+2, NEXT+3, NEXT+5, NEXT+13, NEXT+14, SUSDATE+4, ACP, RENFDT+5 | 
| PSOX("OLD FIL | L DATE" , SUSDATE+1*, SUSDATEK+1, SUSDATEK+4!, RENFDT+1* | 
| PSOX("RX0" | NEXT+1*, NEXT+7, NEXT+17, NEXT+19 | 
| PSOX("RX2" | NEXT+2*, NEXT+4 | 
| PSOX("RX3" | NEXT+3*, NEXT+6*, NEXT+9*, NEXT+16*, NEXT+21*, SUSDATE+3, SUSDATE+4, RENFDT+3, GFDT+7, GFDT+9 | 
| PSOX1 | NEXT+4*, NEXT+6, NEXT+19, NEXTX+1! | 
| PSOX2 | NEXT+15*, NEXT+16, NEXTX+1! | 
| PSOY | NEXT+13*, NEXT+14*, NEXT+15, NEXTX+1! | 
| PSOY1 | NEXT+13*, NEXT+14, NEXTX+1! | 
| PSOY2 | NEXT+12*, NEXT+13*, NEXT+19, NEXTX+1! | 
| PSOY3 | NEXT+18*, NEXT+21, NEXTX+1! | 
| PSOY4 | NEXT+20*, NEXT+21, NEXTX+1! | 
| RF | RENFDT+4~, RENFDT+7*, RENFDT+8*, GFDT+2, GFDT+7 | 
| RFD | RENFDT+4~, GFDT+7*, GFDT+8 | 
| RFN | RENFDT+4~, RENFDT+5*, RENFDT+7*, RENFDT+8, GFDT+1, GFDT+2, GFDT+3, GFDT+7 | 
| RXY | RENFDT+4~, RENFDT+5*, RENFDT+6, RENFDT+7, RENFDT+8, GFDT+1, GFDT+3, GFDT+5 | 
| >> SPEED | STATUS+2, STATUS+3, STATUS+5, STATUS+6, STATUS+9, STATUS+10, STATUS+13, STATUS+14, STATUS+17, STATUS+18 , STATUS+21, STATUS+22, STATUS+25, STATUS+26, STATUS+29, STATUS+34, STATUS+35, STATUS+36, STATUS+39 | 
| >> STA | NPSOSD+1*, NPSOSD+2, RNPSOSD+1*, RNPSOSD+2 | 
| >> STAT | NPSOSD+2*, NPSOSD+3, NPSOSD+4, NPSOSD+5, NPSOSD+6, RNPSOSD+2*, RNPSOSD+3, RNPSOSD+4, RNPSOSD+5, RNPSOSD+6 , RNPSOSD+8, RNPSOSD+9, RNPSOSD+10 | 
| SUPN | RENFDT+4~, GFDT+5*, GFDT+6, GFDT+8 | 
| U | CHKPRV+21 | 
| >> VALMBCK | STATUS+3*, STATUS+6*, STATUS+10*, STATUS+14*, STATUS+18*, STATUS+22*, STATUS+26*, STATUS+29*, STATUS+36* | 
| >> VALMSG | STATUS+3*, STATUS+6*, STATUS+10*, STATUS+14*, STATUS+18*, STATUS+22*, STATUS+26*, STATUS+29*, STATUS+36* | 
| X | NEXT+9, NEXT+10!, NEXT+18, NEXT+20, NEXTX+1! | 
| >> X1 | NEXT+6*, NEXT+16*, NEXT+19* | 
| >> X2 | NEXT+7*, NEXT+17*, NEXT+19* | 
| Y | SUSDATE+5*, SUSDATE+6!, SUSDATEK+2*!, SDTX+1*, SDTX+2! |