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

Legends:

Legend of Colors

Package Component Superscript legend

action A extended action Ea event driver Ed subscriber Su protocol O limited protocol LP run routine RR broker B edit E server Se print P screenman SM inquire I

Caller Graph

Caller Graph Total: 27

Package Total Caller Graph
Outpatient Pharmacy 27 PSOCMOPR  PSODISP1  PSOERX  PSOERX1A  PSOERX1B  PSOERX1C  PSOERX1D  PSOERX1F  
PSOERX1G  PSOERXA1  PSOERXAU  PSOERXC1  PSOERXD1  PSOERXD2  PSOERXH1  PSOERXI1  
PSOERXU1  PSOERXU3  PSOERXU4  PSOERXU7  PSOERXU8  PSOERXU9  PSON52  PSOORFI1  
PSOORFI5  PSOORNEW  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

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
^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
^PSNDF(50.68 - [#50.68] 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

Global Variables Directly Accessed

Name Line Occurrences  (* Changed,  ! Killed)
^PS(52.49 - [#52.49] AUDLOG+8, OLDVAL+8, OLDVAL+10, OLDVAL+11
^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*
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
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
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
NEWVAL AUDLOG~, AUDLOG+11, AUDLOG+14, EQUAL~
NEWVAL( EQUAL+9, EQUAL+10
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*
RXWRDATE PRDRVAL+7~, PRDRVAL+18*, PRDRVAL+29, PRDRVAL+42, PRDRVAL+43, PRDRVAL+46, PRDRVAL+89, PRDRVAL+90, PRDRVAL+107
SAVERES AUDLOG+6~
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 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