PSOSPMV ;BIRM/MFR - Multiple Individual Prescription ASAP Data Listman Driver ;09/29/2020
Source file <PSOSPMV.m>
| Package | Total | Call Graph |
|---|---|---|
| Outpatient Pharmacy | 7 | $$NUMERIC^PSOASAP0 $$RXNUM^PSOBPSU2 ($$RXRLDT,$$RXSITE,$$RXSTATE,$$RXSTATEP)^PSOBPSUT $$GETNDC^PSONDCUT ($$GETNDC,PAUSE)^PSOSPMU1 $$RXFILL^PSOSPMU2 ($$PREIEN,$$RPHIEN,$$SCREEN,$$SPOK,SETNAME)^PSOSPMUT |
| VA FileMan | 4 | (IX,LIST)^DIC FILE^DICN $$GET1^DIQ ^DIR |
| Kernel | 2 | ($$FMADD,$$NOW)^XLFDT $$UP^XLFSTR |
| List Manager | 2 | EN^VALM FULL^VALM1 |
| Registration | 1 | (ADD,DEM)^VADPT |
| 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 | 2 | PSO SPMP VOID RX VIEW/EXPORT PSOSPMU1 |
| Kernel | 1 | ^DIC(19 |
| Name | Comments | DBIA/ICR reference |
|---|---|---|
| MULTI | ; Entry Point
|
|
| EN(STATE,PSOFROM,PSOTO) | ; Entry point
|
|
| RXLOOP(PSODONE) | ; - Prompt for Rx, Fill, Record Type
|
|
| ONEFILL(RXIEN,FILLNUM) | ; Get All Fills for on RX#
|
|
| RECTYP(RXIEN,FILLNUM,RECTYPE) | ; Get Record Type
|
|
| GETDATA(RXIEN,FILLNUM,RECTYPE,PSORXOK) | ; Entry point
|
|
| BLDBAT(EXPTYPE,PSOBATLST) | ; Given a list of Rx's builds a new Export Batch
; Input: (r) EXPTYPE - Export Type ((MA)naul/(SC)heduled/(RX) Single Rx)/(VD) Void Only ; (r) List of Rx's: ^TMP("PSOSPMRX",$J,STATE,RXIEN,RXFILL)=Record Type ((N)ew/(R)evise/(V)oid) ; Note: This ^TMP global will be cleaned up at the end |
|
| RXLKP(RXNUM) | ; - Peforms Lookup on the PRESCRIPTION file
|
|
| VDRXBAT(BATIEN) | ; Check for VOIDs in RX batch
|
|
| VOIDST(RXIEN,FILL) | ; Determine the state to send the void
; Make sure the void is sent to the state that received the most recent fill |
| Name | Field # of Occurrence |
|---|---|
| IX^DIC | RXLKP+3 |
| LIST^DIC | VDRXBAT+4 |
| FILE^DICN | BLDBAT+17, BLDBAT+33 |
| $$GET1^DIQ | RXLOOP+19, RXLOOP+20, RXLOOP+25, RXLOOP+26, RXLOOP+28, RECTYP+1, GETDATA+4, GETDATA+6, GETDATA+8, BLDBAT+13 , BLDBAT+21, BLDBAT+29, BLDBAT+30, VDRXBAT+3, VOIDST+7 |
| ^DIR | RXLOOP+3, RECTYP+17 |
| $$NUMERIC^PSOASAP0 | BLDBAT+29 |
| $$RXNUM^PSOBPSU2 | RXLOOP+9 |
| $$RXRLDT^PSOBPSUT | ONEFILL+4, RECTYP+7 |
| $$RXSITE^PSOBPSUT | RXLOOP+28, GETDATA+5 |
| $$RXSTATE^PSOBPSUT | RXLOOP+17 |
| $$RXSTATEP^PSOBPSUT | RXLOOP+18 |
| $$GETNDC^PSONDCUT | BLDBAT+31 |
| $$GETNDC^PSOSPMU1 | BLDBAT+27 |
| PAUSE^PSOSPMU1 | RXLOOP+14 |
| $$RXFILL^PSOSPMU2 | ONEFILL+1 |
| $$PREIEN^PSOSPMUT | GETDATA+11 |
| $$RPHIEN^PSOSPMUT | GETDATA+12 |
| $$SCREEN^PSOSPMUT | RXLOOP+12 |
| $$SPOK^PSOSPMUT | RXLOOP+30, BLDBAT+10 |
| SETNAME^PSOSPMUT | GETDATA+7 |
| ADD^VADPT | RXLOOP+19, GETDATA+7 |
| DEM^VADPT | GETDATA+7 |
| EN^VALM | EN+2 |
| FULL^VALM1 | EN+3 |
| $$FMADD^XLFDT | MULTI+3, MULTI+7 |
| $$NOW^XLFDT | MULTI+3, MULTI+7, BLDBAT+14 |
| $$UP^XLFSTR | RXLOOP+4 |
| Name | Line Occurrences |
|---|---|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Routine Call |
|
| Routine Call |
|
| Routine Call |
|
| Routine Call |
|
| FileNo | Call Tags |
|---|---|
| ^PSDRUG - [#50] | GET1^DIQ |
| ^PSRX - [#52] | Classic Fileman Calls, GET1^DIQ |
| ^PS(58.41 - [#58.41] | GET1^DIQ |
| ^PS(58.42 - [#58.42] | Classic Fileman Calls, GET1^DIQ |
| 58.42001 | LIST^DIC |
| ^PS(59 - [#59] | GET1^DIQ |
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^DD("DILOCKTM" | BLDBAT+11 |
| ^PS(58.42 - [#58.42] | BLDBAT+11, BLDBAT+12, BLDBAT+18, VOIDST+4, VOIDST+5, VOIDST+6 |
| ^TMP("PSOSPMRX" | GETDATA+13*, BLDBAT+6, BLDBAT+9, BLDBAT+20, BLDBAT+22, BLDBAT+25, BLDBAT+35! |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| % | BLDBAT+5~ |
| ASAP | GETDATA+1~ |
| BAT | VOIDST+2~, VOIDST+4*, VOIDST+5, VOIDST+6, VOIDST+7 |
| BATCHIEN | BLDBAT+5~, BLDBAT+9, BLDBAT+10*, BLDBAT+12*, BLDBAT+19*, BLDBAT+23, BLDBAT+24, BLDBAT+36 |
| BATIEN | MULTI+1~, RXLOOP+34*, VDRXBAT~, VDRXBAT+3, VDRXBAT+4 |
| >> BEGRLDT | BLDBAT+15, BLDBAT+16 |
| D | RXLKP+1~, RXLKP+2* |
| DA | BLDBAT+5~, BLDBAT+24! |
| DA(1 | BLDBAT+24* |
| DD | BLDBAT+5~, BLDBAT+17!, BLDBAT+33! |
| DFN | MULTI+1~, RXLOOP+1~, RXLOOP+19*, GETDATA+6*, GETDATA+7 |
| DIC | BLDBAT+5~, BLDBAT+14*, BLDBAT+24!*, RXLKP+1~, RXLKP+2* |
| DIC("DR" | BLDBAT+14*, BLDBAT+16*, BLDBAT+32* |
| DIC(0 | BLDBAT+14*, BLDBAT+24*, RXLKP+2* |
| DINUM | BLDBAT+5~, BLDBAT+12*, BLDBAT+13, BLDBAT+14, BLDBAT+24! |
| DIR | MULTI+1~, RXLOOP+2!, RXLOOP+11!, RECTYP+3! |
| DIR("?" | RXLOOP+2* |
| DIR("??" | RXLOOP+2*, RECTYP+6* |
| DIR("A" | RXLOOP+2*, RECTYP+3* |
| DIR("B" | RECTYP+12*, RECTYP+16* |
| DIR("L" | RECTYP+4*, RECTYP+5*, RECTYP+9*, RECTYP+10*, RECTYP+11*, RECTYP+15* |
| DIR(0 | RXLOOP+2*, RECTYP+8*, RECTYP+14* |
| DIRUT | MULTI+1~, RXLOOP+3, RXLOOP+11!, RECTYP+17 |
| DLAYGO | BLDBAT+5~, BLDBAT+17*, BLDBAT+33* |
| DO | BLDBAT+5~, BLDBAT+17!, BLDBAT+33! |
| DONE | VOIDST+2~, VOIDST+3*, VOIDST+4, VOIDST+5, VOIDST+7* |
| DR | BLDBAT+5~ |
| DRUGIEN | GETDATA+1~, GETDATA+8*, BLDBAT+5~, BLDBAT+21*, BLDBAT+29, BLDBAT+30 |
| DTOUT | RXLOOP+15! |
| DUOUT | RXLOOP+11!, RXLOOP+15!, RECTYP+17 |
| DUZ | BLDBAT+14 |
| >> ENDRLDT | BLDBAT+16 |
| EXPTYP | VDRXBAT+1~, VDRXBAT+3* |
| EXPTYPE | BLDBAT~, BLDBAT+13, BLDBAT+14, BLDBAT+34 |
| FILL | BLDBAT+5~, BLDBAT+8*, BLDBAT+22*, BLDBAT+25, BLDBAT+27, BLDBAT+31, BLDBAT+32, VOIDST~, VOIDST+4, VOIDST+5 |
| FILLIEN | GETDATA+1~, GETDATA+9* |
| FILLNUM | RXLOOP+1~, RXLOOP+11, RXLOOP+12, RXLOOP+15, RXLOOP+22, RXLOOP+33, ONEFILL~, ONEFILL+1*, ONEFILL+4, ONEFILL+6* , RECTYP~, RECTYP+7, GETDATA~, GETDATA+3*, GETDATA+9, GETDATA+11, GETDATA+12, GETDATA+13 |
| LST | RXLOOP+1~, RXLOOP+23*, RXLOOP+24 |
| MBMST | RXLOOP+1~, RXLOOP+20*, RXLOOP+21, RXLOOP+22 |
| NDC | BLDBAT+5~, BLDBAT+27*, BLDBAT+30*, BLDBAT+31*, BLDBAT+32 |
| PATIEN | GETDATA+1~, GETDATA+6* |
| PREIEN | GETDATA+1~, GETDATA+11* |
| >> PSOASVER | RXLOOP+25*, RECTYP+1*, GETDATA+4* |
| PSOBATLST | MULTI+2~, RXLOOP+34, BLDBAT~ |
| PSOBATLST( | MULTI+9, BLDBAT+23* |
| PSOBATLST(0 | MULTI+5 |
| PSODONE | MULTI+2~, MULTI+3*, MULTI+4, RXLOOP~, RXLOOP+3* |
| PSOFROM | MULTI+2~, MULTI+3*, MULTI+9, EN~ |
| PSOLSTLN | MULTI+1~ |
| PSONAME | GETDATA+1~ |
| PSOQUIT | MULTI+1~, RXLOOP+4*, RXLOOP+7, RXLOOP+8*, RXLOOP+9* |
| PSORXOK | RXLOOP+33, GETDATA~ |
| PSOTO | MULTI+2~, MULTI+7*, MULTI+9, EN~ |
| PSOTPCNT | MULTI+1~ |
| PSOTTCNT | MULTI+1~ |
| >> PSOTXRTS | MULTI+6*, RXLOOP+26* |
| REC | VDRXBAT+1~, VDRXBAT+5* |
| RECTYP | VDRXBAT+1~ |
| RECTYPAR | VDRXBAT+1~ |
| RECTYPAR("DILIST" | VDRXBAT+5 |
| RECTYPE | RXLOOP+1~, RXLOOP+15, RXLOOP+22, RXLOOP+33, RECTYP~, RECTYP+19*, GETDATA~, GETDATA+11, GETDATA+12, GETDATA+13 , BLDBAT+5~, BLDBAT+25*, BLDBAT+26, BLDBAT+32 |
| RPHIEN | GETDATA+1~, GETDATA+12* |
| RSTREC | GETDATA+1~ |
| RTSDATA | GETDATA+1~ |
| RTSREC | GETDATA+1~ |
| RX | BLDBAT+5~, BLDBAT+8*, BLDBAT+20*, BLDBAT+21, BLDBAT+22, BLDBAT+25, BLDBAT+27, BLDBAT+31, BLDBAT+32 |
| RXERMSG | RXLOOP+1~, RXLOOP+28*, RXLOOP+29, RXLOOP+30*, RXLOOP+31 |
| RXIEN | MULTI+1~, RXLOOP+1~, RXLOOP+5*, RXLOOP+9*, RXLOOP+11, RXLOOP+12, RXLOOP+15, RXLOOP+17, RXLOOP+18, RXLOOP+19 , RXLOOP+22, RXLOOP+28, RXLOOP+33, ONEFILL~, ONEFILL+1, ONEFILL+4, RECTYP~, RECTYP+7, GETDATA~, GETDATA+5 , GETDATA+6, GETDATA+8, GETDATA+11, GETDATA+12, GETDATA+13, VOIDST~, VOIDST+4, VOIDST+5 |
| RXNODE | VOIDST+2~, VOIDST+5*, VOIDST+6 |
| RXNUM | RXLKP~, RXLKP+2 |
| SCREEN | MULTI+1~, RXLOOP+1~, RXLOOP+12*, RXLOOP+13, RXLOOP+14 |
| SITEIEN | GETDATA+1~, GETDATA+5* |
| SPOK | BLDBAT+5~ |
| STATE | EN~, EN+1, RXLOOP+17*, RXLOOP+18, BLDBAT+5~, BLDBAT+8*, BLDBAT+9*, BLDBAT+10, BLDBAT+13, BLDBAT+14 , BLDBAT+20, BLDBAT+22, BLDBAT+23, BLDBAT+25 |
| STATECK | VOIDST+2~, VOIDST+7*, VOIDST+8 |
| STATEIEN | MULTI+1~, MULTI+3*, MULTI+9*, EN+1~*, RXLOOP+24*, RXLOOP+25, RXLOOP+26, RXLOOP+27, RXLOOP+30, RECTYP+1 , GETDATA+4, GETDATA+13 |
| STATELST | RXLOOP+1~, RXLOOP+18*, RXLOOP+21*, RXLOOP+22*, RXLOOP+23, RXLOOP+24 |
| TRXTYPE | GETDATA+1~, GETDATA+10* |
| VALM | MULTI+1~ |
| VALMBCK | MULTI+1~ |
| VALMCNT | MULTI+1~ |
| VALMHDR | MULTI+1~ |
| VALMSG | MULTI+1~ |
| >> VAPA(5 | RXLOOP+19, RXLOOP+20, RXLOOP+21 |
| >> VDRXBAT | VDRXBAT+2*, VDRXBAT+3, VDRXBAT+5*, VDRXBAT+6 |
| X | MULTI+1~, RXLOOP+3, RXLOOP+4*, RXLOOP+5, RXLOOP+7, RXLOOP+8, RXLOOP+9, BLDBAT+5~, BLDBAT+14*, BLDBAT+32* , RXLKP+1~, RXLKP+2* |
| XX | BLDBAT+5~, BLDBAT+10* |
| Y | RECTYP+19, BLDBAT+5~, BLDBAT+19, RXLKP+1~, RXLKP+4 |