PSOERXUT ;ALB/MR - eRx CS utilities ;7/21/2020 9:57am
Source file <PSOERXUT.m>
Name | Comments | DBIA/ICR reference |
---|---|---|
CSFILTER(ERXIEN) | ; Check eRx against CS Filter Prompt Answers
; Global variables: PSOCSERX: CS Filter Selection | PSOCSSCH: Drug Schedule Filter Selection ; Input: (r)ERXIEN - Pointer to ERX HOLDING QUEUE (#52.49) |
|
VALPTADD(DFN) | ; Returns whether the patient has a valid address or not
; Input: (r)DFN - Pointer to the PATIENT file (#2) |
|
CSKEYS(USER) | ; Checks whether the user has a valid Security Key for CS Orders
; Input: (r)USER - Pointer to the NEW PERSON file (#200) |
|
PRDRVAL(RESULT,ACTION,ERXIEN,PROVIEN,DRUGIEN) | ; API used to Verify Provider and Drug Selection/Validation for CS Prescriptions
; Input:(r)ACTION - Ation being peformed ("EP": Edit Provider | "VP": Validate Provider | "ED": Edit Drug | "VD": Validate Drug | "AC": Accept eRx) ; (r)ERXIEN - eRx IEN. Pointer to the ERX HOLDING QUEUE file (#52.49) ; (o)PROVIEN - Provider IEN. Pointer to the NEW PERSON file (#200) ; (o)DRUGIEN - Dispense Drug IEN. Pointer to the DRUG file (#50) |
|
ERXDRSCH(ERXIEN) | ; Returns the CS Schedule for the eRx Drug (Internal^External Format)
; Input: (r) ERXIEN - Pointer to the ERX HOLDING QUEUE file (52.49) |
|
VADRSCH(DRUGIEN) | ; Returns the CS Schedule for the VistA Dispense Drug (Internal^External Format)
; Input: (r) DRUGIEN - Pointer to the DRUG file (#50) |
|
PAUSE | ; Pauses screen until user hits Return
|
|
ERXIEN(PORXIEN) | ; Given the Pending Order (#52.41) or Prescription (#52) IEN, returns the eRx (#52.49) IEN or "" (null)
; Input: (r) PORXIEN - Pointer to either the PENDING ORDERS file (#52.41) (e.g., "139839P") or PRESCRIPTION file (#52) (e.g., 12930984) |
|
AUDLOG(ERXIEN,FIELD,EDITBY,NEWVAL) | ; Sets eRx Edit Audit Log
; Input: (r) ERXIEN - Pointer to ERX HOLDING QUEUE File (#52.49). eRx record being edited. ; (r) FIELD - Freetext eRx Field Name (e.g.,"DRUG", "PROVIDER", "PATIENT", Etc...). Field being edited. ; (r) EDITBY - Pointer to NEW PERSON File (#200). User who made the edit. ; (r) NEWVAL - Array containing the new value for the field being edited (Passed in by Reference) |
|
EQUAL(ERXIEN,FIELD,NEWVAL) | ; Compare if the OLD and NEW values are the same
|
|
OLDVAL(ERXIEN,FIELD,STRTFROM,OLDVAL) | ; Retrieves the Previous/Old Value for the eRx Field
; Input: (r) ERXIEN - Pointer to ERX HOLDING QUEUE File (#52.49). eRx record being edited. ; (r) FIELD - Freetext eRx Field Name (e.g.,"DRUG", "PROVIDER", "PATIENT", Etc...). Field being edited. ; (o) STRTFROM - Start From Audit Log IEN. Default: Lastest value for the field. |
|
PROXYDUZ() | ; Returns the Proxy DUZ for Audit Log entries from Auto-Matching
; Output: PROXYDUZ - Pointer to NEW PERSON file (#200) |
|
DONOTFIL(ERXIEN) | ; Do Not Fill record
; Input: (r) ERXIEN - Pointer to ERX HOLDING QUEUE File (#52.49). eRx record being edited. |
|
SUFFWARN(RESULT,ERXPRDEA,VADEADSP,HEADER) | ; Append suffix warning to end of RESULT array
; Input: (r) ERXPRDEA - eRx DEA number ; (r) VADEADSP - VA DEA # ; (o) HEADER - Print Message Heading ; Output: RESULT - DEA Number suffix mismatch warning text |
|
DEFROUTE(OIIEN) | ; Returns the Default Route for Orderable Item
; Input: OIIEN - Orderable Item IEN - Pointer to PHARMACY ORDERABLE ITEM file (#50.7) |
|
ERXSIG(ERXIEN) | ; Returns the eRx SIG
; Input: (r) ERXIEN - Pointer to ERX HOLDING QUEUE File (#52.49) |
Name | Field # of Occurrence |
---|---|
^DIC | PROXYDUZ+3 |
UPDATE^DIE | AUDLOG+21 |
$$GET1^DIQ | CSFILTER+6, CSFILTER+7, PRDRVAL+9, PRDRVAL+10, PRDRVAL+13, PRDRVAL+14, PRDRVAL+15, PRDRVAL+16, PRDRVAL+18, PRDRVAL+45 , PRDRVAL+48, PRDRVAL+96, PRDRVAL+99, PRDRVAL+109, ERXDRSCH+6, VADRSCH+6, VADRSCH+7, ERXIEN+6, ERXIEN+7, OLDVAL+9 , DONOTFIL+4, DEFROUTE+5, DEFROUTE+8, DEFROUTE+9, DEFROUTE+10, DEFROUTE+13, DEFROUTE+16, DEFROUTE+18, ERXSIG+7, ERXSIG+8 , ERXSIG+11, ERXSIG+15 |
^DIR | PAUSE+1 |
$$CHKERX^PSOERXU1 | ERXIEN+9 |
$$DETOX^PSSOPKI | PRDRVAL+46, PRDRVAL+107 |
ADD^VADPT | VALPTADD+5 |
PAUSE^VALM1 | DONOTFIL+6 |
$$NOW^XLFDT | AUDLOG+17 |
$$UP^XLFSTR | PRDRVAL+15, PRDRVAL+29, PRDRVAL+42, PRDRVAL+89 |
$$DEA^XUSER | PRDRVAL+29, PRDRVAL+43, PRDRVAL+90 |
$$DETOX^XUSER | PRDRVAL+46, PRDRVAL+107 |
$$SDEA^XUSER | PRDRVAL+42, PRDRVAL+89 |
$$NPI^XUSNPI | PRDRVAL+24 |
Name | Line Occurrences |
---|---|
Function Call: WRITE |
|
Routine Call |
|
Routine Call |
|
Routine Call |
|
FileNo | Call Tags |
---|---|
^VA(200 - [#200] | Classic Fileman Calls, GET1^DIQ |
^PSDRUG - [#50] | GET1^DIQ |
50.6061 | GET1^DIQ |
^PSNDF(50.68 - [#50.68] | GET1^DIQ |
^PS(50.7 - [#50.7] | GET1^DIQ |
50.711 | GET1^DIQ |
^PSRX - [#52] | GET1^DIQ |
^PS(52.41 - [#52.41] | 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(50.606 - [#50.606] | DEFROUTE+11, DEFROUTE+12 |
^PS(50.7 - [#50.7] | DEFROUTE+3, DEFROUTE+6, DEFROUTE+7 |
^PS(52.49 - [#52.49] | AUDLOG+8, OLDVAL+8, OLDVAL+10, OLDVAL+11, ERXSIG+6, ERXSIG+10 |
^VA(200 - [#200] | AUDLOG+10 |
^XUSEC("PSDRPH" | CSKEYS+4 |
^XUSEC("PSO ERX ADV TECH" | CSKEYS+4 |
^XUSEC("PSO ERX TECH" | CSKEYS+4 |
Name | Line Occurrences |
---|---|
$$EQUAL | AUDLOG+14 |
$$ERXDRSCH | PRDRVAL+17 |
$$VADRSCH | PRDRVAL+39, PRDRVAL+41, PRDRVAL+69 |
OLDVAL | EQUAL+8 |
SUFFWARN | PRDRVAL+52, PRDRVAL+53, PRDRVAL+54, PRDRVAL+55 |
>> | Not killed explicitly |
* | Changed |
! | Killed |
~ | Newed |
Name | Field # of Occurrence |
---|---|
ACTION | PRDRVAL~, PRDRVAL+22, PRDRVAL+25, PRDRVAL+53, PRDRVAL+54, PRDRVAL+55, PRDRVAL+58, PRDRVAL+61, PRDRVAL+64, PRDRVAL+68 , PRDRVAL+70, PRDRVAL+98, PRDRVAL+101, PRDRVAL+108 |
AUDLOG | AUDLOG+6~, OLDVAL+6~, OLDVAL+7*, OLDVAL+8*, OLDVAL+9, OLDVAL+10, OLDVAL+11 |
AUDLOG( | AUDLOG+17*, AUDLOG+18*, AUDLOG+19*, AUDLOG+20* |
DEFROUTE | DEFROUTE+4~*, DEFROUTE+8*, DEFROUTE+13*, DEFROUTE+16, DEFROUTE+18, DEFROUTE+20 |
DFIEN | DEFROUTE+4~, DEFROUTE+10*, DEFROUTE+11, DEFROUTE+12, DEFROUTE+13 |
DFN | VALPTADD~, VALPTADD+4 |
DIC | PROXYDUZ+2~, PROXYDUZ+3* |
DIC(0 | PROXYDUZ+3* |
DIR | PAUSE+1! |
DIR("A" | PAUSE+1* |
DIR(0 | PAUSE+1* |
DRGCSCH | CSFILTER+5~, CSFILTER+6*, CSFILTER+10, CSFILTER+11, CSFILTER+12, CSFILTER+13 |
DRUGIEN | PRDRVAL~, PRDRVAL+8*, PRDRVAL+10*, PRDRVAL+11, PRDRVAL+38, PRDRVAL+39, PRDRVAL+41, PRDRVAL+46, PRDRVAL+69, PRDRVAL+107 , VADRSCH~, VADRSCH+5, VADRSCH+6, VADRSCH+7 |
DSERXFLG | PRDRVAL+7~, PRDRVAL+16*, PRDRVAL+28, PRDRVAL+70, PRDRVAL+76 |
EDITBY | AUDLOG~, AUDLOG+7*, AUDLOG+10, AUDLOG+19 |
EQUAL | EQUAL+6~*, EQUAL+9*, EQUAL+10*, EQUAL+11 |
ERXCSFLG | CSFILTER+5~, CSFILTER+7*, CSFILTER+8, CSFILTER+9, CSFILTER+12, CSFILTER+13 |
ERXDRSCH | PRDRVAL+7~, PRDRVAL+17*, PRDRVAL+72, PRDRVAL+75, ERXDRSCH+4~, ERXDRSCH+6*, ERXDRSCH+7 |
ERXIEN | CSFILTER~, CSFILTER+6, CSFILTER+7, PRDRVAL~, PRDRVAL+8*, PRDRVAL+9, PRDRVAL+10, PRDRVAL+11, PRDRVAL+13, PRDRVAL+16 , PRDRVAL+17, PRDRVAL+18, ERXDRSCH~, ERXDRSCH+5, ERXDRSCH+6, AUDLOG~, AUDLOG+7*, AUDLOG+8, AUDLOG+14, AUDLOG+17 , AUDLOG+18, AUDLOG+19, AUDLOG+20, EQUAL~, EQUAL+8, OLDVAL~, OLDVAL+8, OLDVAL+9, OLDVAL+10, OLDVAL+11 , DONOTFIL~, DONOTFIL+4, ERXSIG~, ERXSIG+6, ERXSIG+7, ERXSIG+8, ERXSIG+10, ERXSIG+11, ERXSIG+15 |
ERXPRDEA | PRDRVAL+7~, PRDRVAL+15*, PRDRVAL+32, PRDRVAL+34, PRDRVAL+35, PRDRVAL+36, PRDRVAL+52, PRDRVAL+53, PRDRVAL+54, PRDRVAL+55 , PRDRVAL+82, PRDRVAL+91, PRDRVAL+92, PRDRVAL+103, PRDRVAL+105, SUFFWARN~, SUFFWARN+7 |
ERXPRNPI | PRDRVAL+7~, PRDRVAL+14*, PRDRVAL+25, PRDRVAL+26 |
ERXPROV | PRDRVAL+7~, PRDRVAL+13*, PRDRVAL+14, PRDRVAL+15 |
ERXSIG | ERXSIG+4~, ERXSIG+5*, ERXSIG+6, ERXSIG+13*, ERXSIG+15*, ERXSIG+16 |
ERXSUFF | PRDRVAL+23~*, PRDRVAL+35*, PRDRVAL+51, PRDRVAL+91 |
FIELD | AUDLOG~, AUDLOG+9, AUDLOG+14, AUDLOG+18, EQUAL~, EQUAL+8, OLDVAL~, OLDVAL+9 |
HEADER | SUFFWARN~, SUFFWARN+5 |
I | VALPTADD+4~, EQUAL+6~, EQUAL+9*, EQUAL+10*, OLDVAL+10*, OLDVAL+11, ERXSIG+4~, ERXSIG+12*, ERXSIG+13 |
MEDIEN | ERXSIG+4~, ERXSIG+10*, ERXSIG+11 |
MTYPE | ERXSIG+4~, ERXSIG+8*, ERXSIG+9 |
NEWVAL | AUDLOG~, AUDLOG+11, AUDLOG+14, EQUAL~ |
NEWVAL( | EQUAL+9, EQUAL+10 |
OIIEN | DEFROUTE~, DEFROUTE+3, DEFROUTE+5, DEFROUTE+6, DEFROUTE+7, DEFROUTE+8, DEFROUTE+9, DEFROUTE+10, DEFROUTE+16, DEFROUTE+18 |
OLDVAL | EQUAL+6~, EQUAL+8, OLDVAL~, OLDVAL+6! |
OLDVAL( | EQUAL+9, EQUAL+10, OLDVAL+11* |
OLDVAL(0 | OLDVAL+8 |
OR100IEN | ERXIEN+4~, ERXIEN+6*, ERXIEN+7*, ERXIEN+8, ERXIEN+9 |
PORXIEN | ERXIEN~, ERXIEN+5, ERXIEN+6, ERXIEN+7 |
PROVIEN | PRDRVAL~, PRDRVAL+8*, PRDRVAL+9*, PRDRVAL+11, PRDRVAL+24, PRDRVAL+29, PRDRVAL+42, PRDRVAL+43, PRDRVAL+45, PRDRVAL+46 , PRDRVAL+48, PRDRVAL+86, PRDRVAL+89, PRDRVAL+90, PRDRVAL+96, PRDRVAL+99, PRDRVAL+107, PRDRVAL+109 |
>> PSOCSERX | CSFILTER+8, CSFILTER+9, CSFILTER+10, CSFILTER+11, CSFILTER+12, CSFILTER+13 |
>> PSOCSSCH | CSFILTER+10, CSFILTER+11, CSFILTER+12, CSFILTER+13 |
RESULT | PRDRVAL~, PRDRVAL+8!*, PRDRVAL+11*, PRDRVAL+52*, PRDRVAL+53*, PRDRVAL+54*, PRDRVAL+55*, PRDRVAL+56*, PRDRVAL+59*, PRDRVAL+62* , PRDRVAL+65*, PRDRVAL+71*, PRDRVAL+77*, PRDRVAL+83*, PRDRVAL+93*, PRDRVAL+95*, PRDRVAL+98*, PRDRVAL+101*, PRDRVAL+104*, PRDRVAL+108* , SUFFWARN~ |
RESULT( | PRDRVAL+26*, PRDRVAL+31*, PRDRVAL+33*, PRDRVAL+36*, PRDRVAL+45*, PRDRVAL+48*, PRDRVAL+73*, PRDRVAL+75*, PRDRVAL+79*, PRDRVAL+81* , PRDRVAL+84*, PRDRVAL+92*, PRDRVAL+96*, PRDRVAL+99*, PRDRVAL+102*, PRDRVAL+105*, PRDRVAL+109*, SUFFWARN+6*, SUFFWARN+7* |
RESULT("" | PRDRVAL+26, PRDRVAL+31, PRDRVAL+33, PRDRVAL+36, PRDRVAL+45, PRDRVAL+48, PRDRVAL+73, PRDRVAL+75, PRDRVAL+79, PRDRVAL+81 , PRDRVAL+84, PRDRVAL+92, PRDRVAL+96, PRDRVAL+99, PRDRVAL+102, PRDRVAL+105, PRDRVAL+109, SUFFWARN+6, SUFFWARN+7 |
RESULT(0 | PRDRVAL+52, PRDRVAL+56 |
RESULT(1 | PRDRVAL+11* |
RTIEN | DEFROUTE+4~, DEFROUTE+6*, DEFROUTE+7, DEFROUTE+8, DEFROUTE+11*, DEFROUTE+12, DEFROUTE+13 |
RXWRDATE | PRDRVAL+7~, PRDRVAL+18*, PRDRVAL+29, PRDRVAL+42, PRDRVAL+43, PRDRVAL+46, PRDRVAL+89, PRDRVAL+90, PRDRVAL+107 |
S2017 | ERXSIG+4~, ERXSIG+7*, ERXSIG+9, ERXSIG+14 |
SAVERES | AUDLOG+6~ |
SIG | ERXSIG+4~, ERXSIG+11* |
SIG( | ERXSIG+12, ERXSIG+13 |
STRTFROM | OLDVAL~, OLDVAL+7 |
USER | CSKEYS~, CSKEYS+4 |
VACSDRUG | PRDRVAL+7~, PRDRVAL+19*, PRDRVAL+40*, PRDRVAL+47*, PRDRVAL+53, PRDRVAL+58, PRDRVAL+69*, PRDRVAL+70, PRDRVAL+76, PRDRVAL+82 , PRDRVAL+88 |
VADEADSP | PRDRVAL+7~, PRDRVAL+29*, PRDRVAL+36, PRDRVAL+43*, PRDRVAL+52, PRDRVAL+53, PRDRVAL+54, PRDRVAL+55, PRDRVAL+90*, PRDRVAL+91 , PRDRVAL+92, SUFFWARN~, SUFFWARN+7 |
VADEANUM | PRDRVAL+7~, PRDRVAL+29*, PRDRVAL+30, PRDRVAL+34, PRDRVAL+35, PRDRVAL+42*, PRDRVAL+44, PRDRVAL+52, PRDRVAL+53, PRDRVAL+54 , PRDRVAL+55, PRDRVAL+89*, PRDRVAL+94, PRDRVAL+97, PRDRVAL+100, PRDRVAL+102, PRDRVAL+103, PRDRVAL+105 |
VADRSCH | PRDRVAL+7~, PRDRVAL+41*, PRDRVAL+42, PRDRVAL+45, PRDRVAL+69*, PRDRVAL+78, PRDRVAL+79, PRDRVAL+81, PRDRVAL+89, PRDRVAL+99 , VADRSCH+4~, VADRSCH+7*, VADRSCH+8, VADRSCH+9 |
VAPA | VALPTADD+4~ |
VAPA(11 | VALPTADD+5 |
VAPA(24 | VALPTADD+5 |
VAPA(25 | VALPTADD+5 |
VAPRDIEN | VADRSCH+4~, VADRSCH+6*, VADRSCH+7, VADRSCH+9 |
VAPRNPI | PRDRVAL+7~, PRDRVAL+24*, PRDRVAL+25, PRDRVAL+26 |
X | OLDVAL+6~, PROXYDUZ+2~, PROXYDUZ+3* |
Y | PROXYDUZ+2~, PROXYDUZ+4 |