PSOERUT ;ALB/MFR - eRx Utilities; 06/25/2022 5:14pm
Source file <PSOERUT.m>
| Package | Total | Call Graph |
|---|---|---|
| Outpatient Pharmacy | 9 | $$NUMERIC^PSOASAP0 $$LSTRFL^PSOBPSU1 ($$RXFLDT,$$RXRLDT)^PSOBPSUT $$RELERX^PSOERSE1 $$DRUGHASH^PSOERUT $$SAMEDOSE^PSOERUT7 $$RESOLV^PSOERXU2 $$GETDRUG^PSOERXU5 ($$ERXIEN,$$ERXSIG)^PSOERXUT |
| Kernel | 2 | $$FMADD^XLFDT ($$TRIM,$$UP)^XLFSTR |
| VA FileMan | 2 | $$GET1^DIQ ^DIWP |
| Web Services Client | 1 | $$STATCHK^XOBWLIB |
| 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 |
| Name | Comments | DBIA/ICR reference |
|---|---|---|
| DSPERX(ERXIEN) | ; Displays eRx Info to the Screen
; Input: ERXIEN - Pointer to the ERX HOLDING QUEUE (#52.49) |
|
| XML2GBL(XML,OUTARR) | ;Transfers XML incoming data into a TMP Gobal
; Input: XML - XML Message to be transferred to a Temp Global or Local Array ; OUTARR - Output Array (Temp Global or Local Array, e.g. $NA(^TMP($J,"PSOERUT")), "XMLMSG", "MSG(""ERX"")", etc. |
|
| PATNAME(ERXIEN) | ; Returns the eRx Patient Name for a specific eRx Record
; Input: ERXIEN - eRx IEN - Pointer to #52.49 |
|
| EPATFLST(MAXSIZE) | ; Returns the eRx Patient Filter as a String List
|
|
| VPATFLST(MAXSIZE) | ; Returns the VistA Patient Filter as a String List
|
|
| VPRVFLST(MAXSIZE) | ; Returns the VistA Provider Filter as a String List
|
|
| EPRVFLST(MAXSIZE) | ; Returns the eRx Provider Filter as a String List
|
|
| STATEABB(FILE,IEN) | ; Returns the Patient or Provider State Abbreviation (eRx and VistA)
; Input: FILE - VistA File # (Can be 2, 200, 52.46 or 52.48) ; IEN - Internal Entry # |
|
| LASTREDT(XREF,IEN) | ; Returns the Last eRx Received Date for a VistA Patient OR Provider
|
|
| SSN(SSN) | ; Returns the formatted SSN (999-99-9999)
; Input: SSN - Unformatted SSN (999999999) |
|
| ACTIONSTS(STS) | ; Returns whether the eRx status is Actionable or no
; Input: STS - eRx Status. It can be external (e.g.,"N","RXF","RRN", etc...) or internal value (pointer to #52.45) |
|
| C2S(STR) | ; Replaces commas with spaces (for auto-wrap to work) - Arbitrarily using '@' (not likely to be on the string)
|
|
| S2C(STR) | ; Replaces spaces with commas (for auto-wrap to work)
|
|
| SORT(STR) | ; Sorts a comma (,) separated list alphabetically
|
|
| WRAP(STRING,LENGTH,WRPSTR) | ; Formats a String into an Array
; Input: STRING - String to be formatted/wrapped in multiple lines ; LENGHT - Text line length |
|
| SADRGVRX(ERXIEN,RXIEN) | ; Sets the "ADRGVRX" cross-reference on the ERX HOLDING QUEUE file (#52.49),
; PHARMACY PRESCRIPTION NUMBER field (#.13) ; Input: ERXIEN - Pointer to the ERX HOLDING QUEUE file (#52.49) ; RXIEN - Pointer to the PRESCRIPTION file (#52) |
|
| KADRGVRX(ERXIEN,RXIEN) | ; Kills the "ADRGVRX" cross-reference on the ERX HOLDING QUEUE file (#52.49),
; PHARMACY PRESCRIPTION NUMBER field (#.13) ; Input: ERXIEN - Pointer to the ERX HOLDING QUEUE file (#52.49) ; RXIEN - Pointer to the PRESCRIPTION file (#52) |
|
| DRUGHASH(ERXIEN,FACTOR) | ; Return the Drug Information corresponding Hash Value (Recursivity used)
; Input: ERXIEN - Pointer to the eRx being worked on (Pointer to #52.49) ; FACTOR - Counter used to prevent wrong matches |
|
| SAMESIG(ERXIEN,HASH) | ; Check if SIG matches other eRx with same Hash code
; Input: ERXIEN - Pointer to the eRx being worked on (Pointer to #52.49) ; DRUGHASH - Hash value calculated based on the Drug information for the eRx passed in |
|
| UANSIG(ERXIEN) | ; Returns the SIG in upper case with alphanumeric chars only
; Input: ERXIEN - Pointer to the eRx being worked on (Pointer to #52.49) |
|
| SUGFLDT(ORDIEN) | ; Returns the Suggested Fill Date for the eRx Pending Order
; Input: ORDIEN - Ponter to the Pending Order (Pointer to #52.41) |
|
| VARXSIG(RXIEN) | ; Returns the VistA Rx SIG (From the PRESCRIPTION file (#52))
; Input: RXIEN - Pointer to the PRESCRIPTION file (#52) |
|
| VARXPI(RXIEN) | ; Returns the VistA Rx Patient Instructions
; Input: RXIEN - Pointer to the PRESCRIPTION file (#52) |
|
| CMOPSTS(RXIEN,FILL) | ; Returns the CMOP Status for the Rx Fill
; Input: RXIEN - Rx IEN (#52) ; FILL - Fill # (0 for original) |
| Name | Field # of Occurrence |
|---|---|
| $$GET1^DIQ | DSPERX+5, DSPERX+7, DSPERX+9, DSPERX+12, DSPERX+14, DSPERX+15, DSPERX+16, DSPERX+17, DSPERX+18, DSPERX+20 , DSPERX+22, PATNAME+4, PATNAME+5, PATNAME+6, PATNAME+9, EPATFLST+6, VPATFLST+6, VPRVFLST+6, EPRVFLST+6, EPRVFLST+7 , STATEABB+6, STATEABB+7, ACTIONSTS+4, SADRGVRX+6, DRUGHASH+9, DRUGHASH+10, DRUGHASH+12, DRUGHASH+13, DRUGHASH+15, DRUGHASH+16 , DRUGHASH+17, DRUGHASH+18, SUGFLDT+7, SUGFLDT+10, SUGFLDT+11, SUGFLDT+21, SUGFLDT+22, SUGFLDT+25, SUGFLDT+28, SUGFLDT+29 , VARXPI+4 |
| ^DIWP | WRAP+6 |
| $$NUMERIC^PSOASAP0 | SSN+3 |
| $$LSTRFL^PSOBPSU1 | SUGFLDT+14 |
| $$RXFLDT^PSOBPSUT | SUGFLDT+16 |
| $$RXRLDT^PSOBPSUT | SUGFLDT+15 |
| $$RELERX^PSOERSE1 | DSPERX+6 |
| $$DRUGHASH^PSOERUT | KADRGVRX+6 |
| $$SAMEDOSE^PSOERUT7 | SUGFLDT+13 |
| $$RESOLV^PSOERXU2 | PATNAME+8 |
| $$GETDRUG^PSOERXU5 | DRUGHASH+11 |
| $$ERXIEN^PSOERXUT | SUGFLDT+6 |
| $$ERXSIG^PSOERXUT | DSPERX+10, UANSIG+4 |
| $$FMADD^XLFDT | SUGFLDT+21, SUGFLDT+22, SUGFLDT+25, SUGFLDT+30 |
| $$TRIM^XLFSTR | WRAP+7, WRAP+9, WRAP+11 |
| $$UP^XLFSTR | UANSIG+4 |
| $$STATCHK^XOBWLIB | XML2GBL+12 |
| 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 |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| FileNo | Call Tags |
|---|---|
| ^DPT - [#2] | GET1^DIQ |
| ^VA(200 - [#200] | GET1^DIQ |
| ^DIC(5 - [#5] | GET1^DIQ |
| ^PSRX - [#52] | GET1^DIQ |
| ^PS(52.41 - [#52.41] | GET1^DIQ |
| ^PS(52.45 - [#52.45] | GET1^DIQ |
| ^PS(52.46 - [#52.46] | GET1^DIQ |
| ^PS(52.48 - [#52.48] | GET1^DIQ |
| ^PS(52.49 - [#52.49] | GET1^DIQ |
| 52.49311 | GET1^DIQ |
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^PS(52.41 - [#52.41] | SUGFLDT+5 |
| ^PS(52.49 - [#52.49] | DSPERX+3, DSPERX+15, LASTREDT+5, LASTREDT+6, LASTREDT+7, SADRGVRX+4, SADRGVRX+8*, KADRGVRX+4, KADRGVRX+7!, SAMESIG+6 , SAMESIG+7 |
| ^PS(55 - [#55] | SUGFLDT+8, SUGFLDT+9 |
| ^PSRX - [#52] | SADRGVRX+4, KADRGVRX+4, VARXSIG+5, VARXSIG+7, CMOPSTS+5, CMOPSTS+6 |
| ^UTILITY($J | WRAP+6!, WRAP+7, WRAP+9 |
| Name | Line Occurrences |
|---|---|
| $$CMOPSTS | SUGFLDT+24 |
| $$DRUGHASH | SADRGVRX+7, DRUGHASH+27 |
| $$SAMESIG | DRUGHASH+26 |
| $$UANSIG | DRUGHASH+20, SAMESIG+8 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| ARRDPTH | XML2GBL+9~, XML2GBL+10*, XML2GBL+17 |
| C2S | C2S+1~, C2S+2*, C2S+3*, C2S+4 |
| CMOP | CMOPSTS+4~, CMOPSTS+5*, CMOPSTS+6 |
| CMOPSTS | CMOPSTS+4~, CMOPSTS+5*, CMOPSTS+7*, CMOPSTS+8 |
| DAYS | DRUGHASH+7~, DRUGHASH+17*, DRUGHASH+24 |
| DAYSSUP | SUGFLDT+4~, SUGFLDT+28*, SUGFLDT+30 |
| DFN | SUGFLDT+4~, SUGFLDT+7*, SUGFLDT+8, SUGFLDT+9 |
| DIWF | WRAP+5~, WRAP+6* |
| DIWL | WRAP+5~, WRAP+6* |
| DIWR | WRAP+5~, WRAP+6* |
| DONE | SUGFLDT+4~, SUGFLDT+8*, SUGFLDT+12*, SUGFLDT+18*, SUGFLDT+21*, SUGFLDT+24* |
| DRUG | DRUGHASH+7~, DRUGHASH+11*, DRUGHASH+20, SUGFLDT+4~, SUGFLDT+7*, SUGFLDT+11 |
| DRUGHASH | DRUGHASH+7~, DRUGHASH+8*, DRUGHASH+24*, DRUGHASH+26, DRUGHASH+27*, DRUGHASH+29 |
| DRUGSIG | DRUGHASH+7~, DRUGHASH+20*, DRUGHASH+21 |
| DRUGSIGH | DRUGHASH+7~, DRUGHASH+20*, DRUGHASH+21*, DRUGHASH+22*, DRUGHASH+24 |
| DT | SUGFLDT+5, SUGFLDT+6, SUGFLDT+18, SUGFLDT+21, SUGFLDT+25, SUGFLDT+26, SUGFLDT+29, SUGFLDT+30 |
| EIEN | LASTREDT+3~, LASTREDT+5*, LASTREDT+6, LASTREDT+7 |
| ERX | SAMESIG+4~, SAMESIG+7*, SAMESIG+8 |
| ERXIEN | DSPERX~, DSPERX+3, DSPERX+5, DSPERX+6*, DSPERX+7, DSPERX+9, DSPERX+10, DSPERX+12, DSPERX+14, DSPERX+15 , DSPERX+16, DSPERX+17, DSPERX+18, DSPERX+20, DSPERX+22, PATNAME~, PATNAME+4, PATNAME+5, PATNAME+6, PATNAME+8 , PATNAME+9, SADRGVRX~, SADRGVRX+4, SADRGVRX+6, SADRGVRX+7, SADRGVRX+8, KADRGVRX~, KADRGVRX+4, KADRGVRX+6, KADRGVRX+7 , DRUGHASH~, DRUGHASH+8, DRUGHASH+9, DRUGHASH+10, DRUGHASH+11, DRUGHASH+12, DRUGHASH+13, DRUGHASH+15, DRUGHASH+16, DRUGHASH+17 , DRUGHASH+18, DRUGHASH+20, DRUGHASH+26, DRUGHASH+27, SAMESIG~, SAMESIG+5, SAMESIG+7, SAMESIG+8, UANSIG~, UANSIG+4 , SUGFLDT+4~, SUGFLDT+6*, SUGFLDT+13 |
| ERXQTY | DSPERX+4~, DSPERX+18*, DSPERX+19 |
| ERXREFS | DSPERX+4~, DSPERX+17*, DSPERX+18*, DSPERX+21 |
| ERXSIG | DSPERX+4~, DSPERX+10*, DSPERX+11* |
| FACTOR | DRUGHASH~, DRUGHASH+22, DRUGHASH+27 |
| FIELD | STATEABB+4~, STATEABB+5*, STATEABB+6 |
| FILE | STATEABB~, STATEABB+5, STATEABB+6 |
| FILL | CMOPSTS~, CMOPSTS+7 |
| FILLDATE | SUGFLDT+4~, SUGFLDT+16*, SUGFLDT+18, SUGFLDT+19 |
| HASH | SAMESIG~, SAMESIG+5, SAMESIG+6, SAMESIG+7 |
| HIGH | DSPERX+4~, DSPERX+5*, DSPERX+9, DSPERX+11, DSPERX+13, DSPERX+14, DSPERX+16, DSPERX+19, DSPERX+20, DSPERX+21 , DSPERX+22 |
| I | DSPERX+11*, DSPERX+13*, SORT+1~, SORT+2*, WRAP+5~, WRAP+7*, WRAP+9*, WRAP+12*, WRAP+13, DRUGHASH+7~ , DRUGHASH+21*, UANSIG+3~, UANSIG+5*, VARXPI+3~, VARXPI+5* |
| IEN | STATEABB~, STATEABB+5, STATEABB+6, LASTREDT~, LASTREDT+5, LASTREDT+6, LASTREDT+7 |
| >> IOINHI | DSPERX+5 |
| >> IOINORM | DSPERX+5 |
| >> IOUOFF | DSPERX+8, DSPERX+23 |
| >> IOUON | DSPERX+8, DSPERX+23 |
| ISSUEDT | SUGFLDT+4~, SUGFLDT+29*, SUGFLDT+30 |
| LASTFILL | SUGFLDT+4~, SUGFLDT+14*, SUGFLDT+15, SUGFLDT+16, SUGFLDT+24 |
| LASTREDT | LASTREDT+3~, LASTREDT+4*, LASTREDT+6, LASTREDT+7*, LASTREDT+8 |
| LENGTH | WRAP~, WRAP+6, WRAP+7, WRAP+13 |
| MAXSIZE | EPATFLST~, EPATFLST+10, VPATFLST~, VPATFLST+10, VPRVFLST~, VPRVFLST+10, EPRVFLST~, EPRVFLST+10 |
| MEDIEN | DSPERX+4~, DSPERX+15* |
| MTYPE | DSPERX+4~, DSPERX+5*, DSPERX+6, DSPERX+8, DSPERX+18, PATNAME+3~, PATNAME+5*, PATNAME+6, DRUGHASH+7~, DRUGHASH+9* , DRUGHASH+18 |
| NDCCODE | DRUGHASH+7~, DRUGHASH+12*, DRUGHASH+13*, DRUGHASH+14, DRUGHASH+24 |
| NEWERX | PATNAME+3~, PATNAME+8*, PATNAME+9 |
| NORM | DSPERX+4~, DSPERX+5*, DSPERX+9, DSPERX+11, DSPERX+13, DSPERX+14, DSPERX+16, DSPERX+19, DSPERX+20, DSPERX+21 , DSPERX+22 |
| NOTES | DSPERX+4~, DSPERX+12*, DSPERX+13* |
| NUMREFS | SUGFLDT+4~, SUGFLDT+28*, SUGFLDT+30 |
| ORDIEN | SUGFLDT~, SUGFLDT+5, SUGFLDT+6, SUGFLDT+7, SUGFLDT+28, SUGFLDT+29 |
| OUTARR | XML2GBL~, XML2GBL+6, XML2GBL+8, XML2GBL+10, XML2GBL+15, XML2GBL+16*, XML2GBL+17*, XML2GBL+19 |
| PAT | EPATFLST+2~, EPATFLST+5*, EPATFLST+6 |
| PATFLST | EPATFLST+2~, EPATFLST+4*, EPATFLST+7*, EPATFLST+9*, EPATFLST+10*, EPATFLST+11 |
| >> PATFLTR | EPATFLST+3 |
| >> PATFLTR( | EPATFLST+5 |
| PATIEN | PATNAME+3~, PATNAME+4*, PATNAME+6 |
| PATNAM | EPATFLST+2~, EPATFLST+6*, EPATFLST+7, EPATFLST+8, VPATFLST+2~, VPATFLST+6*, VPATFLST+7, VPATFLST+8 |
| PATNAME | PATNAME+3~, PATNAME+6*, PATNAME+7, PATNAME+9*, PATNAME+10*, PATNAME+11 |
| PRV | EPRVFLST+2~, EPRVFLST+5*, EPRVFLST+6, EPRVFLST+7 |
| PRVDPTH | XML2GBL+9~, XML2GBL+10*, XML2GBL+14, XML2GBL+17, XML2GBL+20* |
| PRVFLST | EPRVFLST+2~, EPRVFLST+4*, EPRVFLST+7*, EPRVFLST+9*, EPRVFLST+10*, EPRVFLST+11 |
| >> PRVFLTR | EPRVFLST+3 |
| >> PRVFLTR( | EPRVFLST+5 |
| PRVNAM | VPRVFLST+2~, VPRVFLST+6*, VPRVFLST+7, VPRVFLST+8, EPRVFLST+2~, EPRVFLST+6*, EPRVFLST+7, EPRVFLST+8 |
| PSOHASH | SADRGVRX+5~, SADRGVRX+7*, SADRGVRX+8, KADRGVRX+5~, KADRGVRX+6*, KADRGVRX+7 |
| QTY | DRUGHASH+7~, DRUGHASH+15*, DRUGHASH+24 |
| QTYQUAL | DSPERX+4~, DSPERX+15*, DSPERX+16 |
| READER | XML2GBL+9~, XML2GBL+11 |
| REFS | DRUGHASH+7~, DRUGHASH+18*, DRUGHASH+24 |
| RELDATE | SUGFLDT+4~, SUGFLDT+15*, SUGFLDT+18, SUGFLDT+21, SUGFLDT+22, SUGFLDT+24 |
| RSPTYPE | DSPERX+4~, DSPERX+7*, DSPERX+18, DRUGHASH+7~, DRUGHASH+10*, DRUGHASH+18 |
| RX | SAMESIG+4~, SAMESIG+6*, SAMESIG+7 |
| RXIEN | SADRGVRX~, SADRGVRX+4, SADRGVRX+8, KADRGVRX~, KADRGVRX+4, KADRGVRX+7, SUGFLDT+4~, SUGFLDT+9*, SUGFLDT+10, SUGFLDT+11 , SUGFLDT+13, SUGFLDT+14, SUGFLDT+15, SUGFLDT+16, SUGFLDT+19, SUGFLDT+21, SUGFLDT+22, SUGFLDT+24, SUGFLDT+25, SUGFLDT+26 , VARXSIG~, VARXSIG+4*, VARXSIG+5, VARXSIG+7, VARXPI~, VARXPI+4, CMOPSTS~, CMOPSTS+5, CMOPSTS+6 |
| RXPI | VARXPI+3~, VARXPI+4 |
| RXPI( | VARXPI+5 |
| RXSTS | SUGFLDT+4~, SUGFLDT+10*, SUGFLDT+18 |
| S2C | S2C+1~, S2C+2*, S2C+3*, S2C+4*, S2C+5 |
| SAMESIG | SAMESIG+4~, SAMESIG+5*, SAMESIG+8*, SAMESIG+9 |
| SARR | SORT+1~ |
| SARR( | SORT+2*, SORT+3 |
| SEQ | XML2GBL+9~, XML2GBL+15*, XML2GBL+16, SUGFLDT+4~, SUGFLDT+8*, SUGFLDT+9 |
| SIG | VARXSIG+3~, VARXSIG+5*, VARXSIG+7 |
| SSN | SSN~, SSN+3*, SSN+4, SSN+5 |
| SSTR | SORT+1~, SORT+3*, SORT+4*, SORT+5 |
| STATEIEN | STATEABB+4~, STATEABB+6*, STATEABB+7 |
| STATUS | XML2GBL+9~, XML2GBL+11*, XML2GBL+12 |
| STR | C2S~, C2S+2, S2C~, S2C+2, SORT~, SORT+2 |
| STRING | WRAP~, WRAP+6, WRAP+11*, WRAP+12, WRAP+13* |
| STS | ACTIONSTS~, ACTIONSTS+4*, ACTIONSTS+5, ACTIONSTS+6 |
| SUBS | DRUGHASH+7~, DRUGHASH+16*, DRUGHASH+24 |
| SUGFLDT | SUGFLDT+4~, SUGFLDT+6*, SUGFLDT+19*, SUGFLDT+22*, SUGFLDT+25*, SUGFLDT+26*, SUGFLDT+30*, SUGFLDT+32 |
| TMP | EPATFLST+2~, VPATFLST+2~, VPRVFLST+2~, EPRVFLST+2~ |
| TMP( | EPATFLST+7, EPATFLST+8*, VPATFLST+7, VPATFLST+8*, VPRVFLST+7, VPRVFLST+8*, EPRVFLST+7, EPRVFLST+8* |
| TOOLONG | WRAP+5~, WRAP+7*, WRAP+8 |
| UANSIG | UANSIG+3~, UANSIG+4*, UANSIG+5*, UANSIG+6 |
| VARXPI | VARXPI+3~, VARXPI+5*, VARXPI+6*, VARXPI+7 |
| VARXSIG | VARXSIG+3~, VARXSIG+4*, VARXSIG+6*, VARXSIG+7*, VARXSIG+8 |
| VPAT | VPATFLST+2~, VPATFLST+5*, VPATFLST+6 |
| VPATFLST | VPATFLST+2~, VPATFLST+4*, VPATFLST+7*, VPATFLST+9*, VPATFLST+10*, VPATFLST+11 |
| >> VPATFLTR | VPATFLST+3 |
| >> VPATFLTR( | VPATFLST+5 |
| VPRV | VPRVFLST+2~, VPRVFLST+5*, VPRVFLST+6 |
| VPRVFLST | VPRVFLST+2~, VPRVFLST+4*, VPRVFLST+7*, VPRVFLST+9*, VPRVFLST+10*, VPRVFLST+11 |
| >> VPRVFLTR | VPRVFLST+3 |
| >> VPRVFLTR( | VPRVFLST+5 |
| WORD | SORT+1~, SORT+3* |
| WRPSTR | WRAP~, WRAP+5!, WRAP+14! |
| WRPSTR( | WRAP+9*, WRAP+13* |
| WRPSTR(1 | WRAP+14 |
| X | WRAP+5~, WRAP+6*, DRUGHASH+7~, UANSIG+3~, UANSIG+4*, UANSIG+5 |
| XML | XML2GBL~, XML2GBL+11 |
| >> XOBERR | XML2GBL+12 |
| XREF | LASTREDT~, LASTREDT+5, LASTREDT+6, LASTREDT+7 |
| XX | DSPERX+4~, DSPERX+8*, DSPERX+23*, VARXPI+3~, VARXPI+4* |
| Z | CMOPSTS+4~, CMOPSTS+6*, CMOPSTS+7 |