Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Interaction Calls |  FileMan Files Accessed Via FileMan Db Call |  Global Variables Directly Accessed |  Label References |  Local Variables  | All
Print Page as PDF
Routine: PSOERXUT

Package: Outpatient Pharmacy

Routine: PSOERXUT


Information

PSOERXUT ;ALB/MR - eRx CS utilities ;7/21/2020 9:57am

Source Information

Source file <PSOERXUT.m>

Call Graph

Call Graph

Call Graph Total: 12

Package Total Call Graph
Kernel 4 $$NOW^XLFDT  $$UP^XLFSTR  ($$DEA,$$DETOX,$$SDEA)^XUSER  $$NPI^XUSNPI  
VA FileMan 4 ^DIC  UPDATE^DIE  $$GET1^DIQ  ^DIR  
List Manager 1 PAUSE^VALM1  
Outpatient Pharmacy 1 $$CHKERX^PSOERXU1  
Pharmacy Data Management 1 $$DETOX^PSSOPKI  
Registration 1 ADD^VADPT  

Caller Graph

Caller Graph Total: 33

Package Total Caller Graph
Outpatient Pharmacy 33 PSOCMOPR  PSODDPR1  PSODDPR3  PSODISP1  PSODRDU1  PSOERX  PSOERX1A  PSOERX1B  
PSOERX1C  PSOERX1D  PSOERX1F  PSOERX1G  PSOERXA1  PSOERXAU  PSOERXC1  PSOERXD1  
PSOERXD2  PSOERXD3  PSOERXH1  PSOERXI1  PSOERXU1  PSOERXU3  PSOERXU4  PSOERXU7  
PSOERXU8  PSOERXU9  PSON52  PSOORFI1  PSOORFI5  PSOORNE3  PSOORNEW  PSOORNW1  
PSORN52C  

Entry Points

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)

External References

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

Interaction Calls

Name Line Occurrences
Function Call: WRITE
  • Prompt: !!,"This is a DO NOT FILL record. The only actions available are REMOVE or REJECT.",$C(7)
  • Line Location: DONOTFIL+5
Routine Call
  • DIC
  • Line Location:
    • PROXYDUZ+3
Routine Call
  • DIE
  • Line Location:
    • AUDLOG+21
Routine Call
  • DIR
  • Line Location:
    • PAUSE+1

FileMan Files Accessed Via FileMan Db 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

Global Variables Directly Accessed

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

Label References

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

Local Variables

Legend:

>> 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
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Interaction Calls |  FileMan Files Accessed Via FileMan Db Call |  Global Variables Directly Accessed |  Label References |  Local Variables  | All