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 |  Label References |  Local Variables  | All
Print Page as PDF
Routine: PSOPROD1

Package: Outpatient Pharmacy

Routine: PSOPROD1


Information

PSOPROD1 ;ALB/MRD - Pharmacy Productivity and Revenue Report ;9/8/15

Source Information

Source file <PSOPROD1.m>

Call Graph

Call Graph

Call Graph Total: 7

Package Total Call Graph
Kernel 3 $$FMTE^XLFDT  $$UP^XLFSTR  EN^XUTMDEVQ  
VA FileMan 3 ^DIC  $$GET1^DIQ  ^DIR  
Outpatient Pharmacy 1 SEL^PSOREJU1  

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: 1

Package Total Caller Graph
Outpatient Pharmacy 1 PSO PRODUCTIVITY REVENUE RPT  

Entry Points

Name Comments DBIA/ICR reference
EN ; Main entry point for user prompts.
P1
P2
P3
P4
P5
P6
P7
P8
EXIT ; Exit point.
STOP() ; Determine if user wishes to exit out of the option entirely.
; Function return values:
; 1 - Yes, exit entirely.
; 0 - No, do not exit but return to the previous question.
DIVISION(PSODIV) ; Allow user to select Divisions or All Divisions.
; Input: None.
; Output: PSODIV
; PSODIV = "ALL" if the user opted to include all divisions.
; PSODIV = "D" if the user selected specific division. If that is
; the case, the selected pharmacies will be listed in PSODIV:
; PSODIV(IEN) = Division name, where IEN is a pointer to file#
; 59, Outpatient Site.
; Function return values:
; 1 - A valid entry or entries were selected.
; 0 - User has exited out (^).
REPORT(PSOREPORT) ; Allow user to select report to run (Productivity or Revenue).
; Input: None.
; Output: PSOREPORT, set to one of the following.
; PSOREPORT = "" if no selection was made.
; PSOREPORT = "R" if user selected the RRR Revenue report.
; PSOREPORT = "P" if user selected the Productivity Report.
; Function return values:
; 1 - The user selected one of the two reports.
; 0 - The user exited out.
STATUS(PSOSTATUS) ; Allow user to select statuses to include in report.
; Input: None.
; Output: PSOSTATUS, set to one of the following.
; PSOSTATUS = "" if no selection was made.
; PSOSTATUS = "P" if user selected Closed/Resolved - ePayable.
; PSOSTATUS = "R" if user selected Closed/Resolved - eRejected.
; PSOSTATUS = "B" if users opted to include both of the above.
; PSOSTATUS(0) = String to display on report header.
; Function return values:
; 1 - A valid selection was made.
; 0 - The user exited out.
DATES(PSODTBEGIN,PSODTEND) ; Prompt user for a date range.
; Function return values:
; 1 - A valid date range was entered.
; 0 - A valid date range was not entered.
INCLUDE(PSOINCLUDE) ; Allow user to enter specific Patients, Drugs, etc., to include.
; Input: None.
; Output:
; PSOINCLUDE, set to PATIENT, DRUG, RX, INSURANCE or REJECT CODE.
; For the field selected by the user to include-by, the list of
; entries to include will be at PSOINCLUDE(include-by,value)="",
; for example PSOINCLUDE("RX",12345)="" to include RxIEN 12345.
; All are defaulted to "ALL", e.g. PSOINCLUDE("RX")="ALL", and
; only the one selected by the user may be reset to be a string
; being a list of the external values of the items selected.
; Function return values:
; 1 - A valid selection was made.
; 0 - The user exited out.
INC ;
SORT(PSOSORT) ; Prompt user for the sort order.
; Input: None.
; Output: PSOSORT, set to one of the following.
; PSOSORT = "" if no selection was made.
; PSOSORT = "D" if user selected Division.
; PSOSORT = "R" if user selected Date Resolved.
; PSOSORT = "B" if user selected Resolved By.
; PSOSORT = "N" if user selected Drug Name.
; PSOSORT = "C" if user selected Reject Code.
; Function return values:
; 1 - A valid selection was made.
; 0 - The user exited out.
PATIENT(PSOSHOWPAT) ; Display Patient Name on report?
; Input: None.
; Output: PSOSHOWPAT, set to one of the following.
; 1 - Yes, display Patient Name on the report.
; 0 - No, do not display the Patient Name.
; * Note: The Patient Name will always be displayed if the user
; requests output in Excel format.
; Function return values:
; 1 - User answered the Y/N question.
; 0 - User exited out.
EXCEL(PSOEXCEL) ; Export the report to MS Excel?
; Function return values:
; 1 - User made a valid selection.
; 0 - User exited out.
; This function allows the user to indicate whether the report should be
; printed in a format that could easily be imported into an Excel
; spreadsheet. If the user wants that, the variable PSOEXCEL will be set
; to '1', otherwise PSOEXCEL will be set to '0'.
DEVICE() ; Prompt user for output device.
; Function return values:
; 1 - User selected a device.
; 0 - User exited out.

External References

Name Field # of Occurrence
^DIC DIVISION+43
$$GET1^DIQ INC+28, INC+42, INC+56, INC+70, INC+84
^DIR STOP+13, DIVISION+20, DIVISION+64, REPORT+23, STATUS+23, DATES+14, DATES+26, INC+5, SORT+27, PATIENT+18
, EXCEL+19, DEVICE+24
SEL^PSOREJU1 INC+22, INC+36, INC+50, INC+64, INC+78
$$FMTE^XLFDT DATES+9, DATES+21
$$UP^XLFSTR INC+11, SORT+29
EN^XUTMDEVQ DEVICE+22

Interaction Calls

Name Line Occurrences
Function Call: WRITE
  • Prompt: @IOF,!,"Pharmacy Productivity/Revenue Report",!!
  • Line Location: EN+2
Function Call: WRITE
  • Prompt: !
  • Line Location: STOP+12
Function Call: WRITE
  • Prompt: $C(7)
  • Line Location: DIVISION+21
Function Call: WRITE
  • Prompt: !!?2,"Selected:"
  • Line Location: DIVISION+34
Function Call: WRITE
  • Prompt: !,?10,PSODIV(X)
  • Line Location: DIVISION+35
Function Call: WRITE
  • Prompt: !
  • Line Location: DIVISION+42
Function Call: WRITE
  • Prompt: $C(7)
  • Line Location: DIVISION+47
Function Call: WRITE
  • Prompt: $C(7)
  • Line Location: DIVISION+65
Function Call: WRITE
  • Prompt: !!?2,"Selected:"
  • Line Location: DIVISION+81
Function Call: WRITE
  • Prompt: !,?10,PSODIV(X)
  • Line Location: DIVISION+82
Function Call: WRITE
  • Prompt: $C(7)
  • Line Location: REPORT+24
Function Call: WRITE
  • Prompt: $C(7)
  • Line Location: STATUS+24
Function Call: WRITE
  • Prompt: !
  • Line Location: DATES+13
Function Call: WRITE
  • Prompt: $C(7)
  • Line Location: DATES+15
Function Call: WRITE
  • Prompt: !
  • Line Location: DATES+25
Function Call: WRITE
  • Prompt: $C(7)
  • Line Location: DATES+27
Function Call: WRITE
  • Prompt: $C(7)
  • Line Location: INC+6
Function Call: WRITE
  • Prompt: $C(7)
  • Line Location: SORT+28
Function Call: WRITE
  • Prompt: !
  • Line Location: PATIENT+17
Function Call: WRITE
  • Prompt: $C(7)
  • Line Location: PATIENT+19
Function Call: WRITE
  • Prompt: !
  • Line Location: EXCEL+18
Function Call: WRITE
  • Prompt: $C(7)
  • Line Location: EXCEL+21
Function Call: WRITE
  • Prompt: !!,"This report is 132 characters wide. Please choose an appropriate device.",!
  • Line Location: DEVICE+8
Function Call: WRITE
  • Prompt: !!?5,"Before continuing, please set up your terminal to capture the"
  • Line Location: DEVICE+10
Function Call: WRITE
  • Prompt: !?5,"detail report data and save the detail report data in a text file"
  • Line Location: DEVICE+11
Function Call: WRITE
  • Prompt: !?5,"to a local drive. This report may take a while to run."
  • Line Location: DEVICE+12
Function Call: WRITE
  • Prompt: !!?5,"Note: To avoid undesired wrapping of the data saved to the file,"
  • Line Location: DEVICE+13
Function Call: WRITE
  • Prompt: !?11,"please enter '0;256;99999' at the 'DEVICE:' prompt.",!
  • Line Location: DEVICE+14
Function Call: WRITE
  • Prompt: !!,"Report compilation has started with task# ",ZTSK,".",!
  • Line Location: DEVICE+24
Routine Call
  • DIC
  • Line Location:
    • DIVISION+43
Routine Call
  • DIR
  • Line Location:
    • STOP+13
    • DIVISION+20
    • DIVISION+64
    • REPORT+23
    • STATUS+23
    • DATES+14
    • DATES+26
    • INC+5
    • SORT+27
    • PATIENT+18
    • EXCEL+19
    • DEVICE+24

FileMan Files Accessed Via FileMan Db Call

FileNo Call Tags
^DPT - [#2] GET1^DIQ
^DIC(36 - [#36] GET1^DIQ
^PSDRUG - [#50] GET1^DIQ
^PSRX - [#52] GET1^DIQ
^BPSF(9002313.93 - [#9002313.93] GET1^DIQ

Label References

Name Line Occurrences
$$DATES P4
$$DEVICE P8+1
$$DIVISION P1
$$EXCEL P8
$$INCLUDE P5
$$PATIENT P7
$$REPORT P2
$$SORT P6
$$STATUS P3+1
$$STOP P2P3+1, P4P5P6P7P8P8+1
EXIT P1P2P3+1, P4P5P6P7P8P8+1
INC INC+20, INC+34, INC+48, INC+62, INC+76
P1 P2
P2 P3+1, P4
P3 P4
P4 P3P5
P5 P6
P6 P7
P7 P8
P8 P8+1

Local Variables

Legend:

>> Not killed explicitly
* Changed
! Killed
~ Newed

Name Field # of Occurrence
DIC DIVISION+12~, DIVISION+38!, DIVISION+39*
DIC("A" DIVISION+41*
DIC(0 DIVISION+40*
DIR STOP+5~, DIVISION+12~, DIVISION+61!, REPORT+10~, STATUS+12~, DATES+5~, DATES+18!, INCLUDE+14~, SORT+13~, PATIENT+11~
, EXCEL+9~, EXCEL+20!, DEVICE+5~
DIR("?" STOP+10*, STOP+11*, REPORT+15*, REPORT+16*, REPORT+17*, REPORT+18*, REPORT+19*, REPORT+20*, REPORT+21*, REPORT+22*
, DATES+11*, DATES+12*, DATES+23*, DATES+24*, EXCEL+15*, EXCEL+16*, EXCEL+17*
DIR("A" STOP+8*, DIVISION+18*, DIVISION+62*, REPORT+13*, STATUS+15*, DATES+8*, DATES+20*, INC+2*, SORT+16*, PATIENT+14*
, EXCEL+12*
DIR("B" STOP+9*, DIVISION+19*, DIVISION+63*, REPORT+14*, STATUS+16*, STATUS+17*, DATES+9*, DATES+10*, DATES+21*, DATES+22*
INC+3*, INC+4*, SORT+17*, SORT+18*, PATIENT+15*, PATIENT+16*, EXCEL+13*, EXCEL+14*
DIR("L" STATUS+18*, STATUS+19*, STATUS+20*, STATUS+21*, STATUS+22*, SORT+19*, SORT+20*, SORT+21*, SORT+22*, SORT+23*
, SORT+24*, SORT+25*, SORT+26*
DIR(0 STOP+7*, DIVISION+17*, DIVISION+62*, REPORT+12*, STATUS+14*, DATES+7*, DATES+19*, INC+1*, SORT+15*, PATIENT+13*
, EXCEL+11*, DEVICE+24*
DIROUT DIVISION+12~, DIVISION+65
DIRUT STOP+5~, STOP+14, DIVISION+12~, DIVISION+21, DIVISION+47, REPORT+10~, REPORT+24, STATUS+12~, STATUS+24, DATES+5~
, DATES+15, DATES+27, INCLUDE+14~, INC+6, SORT+13~, SORT+28, PATIENT+11~, PATIENT+19, EXCEL+9~, EXCEL+21
IOF EN+2
POP DEVICE+5~, DEVICE+23
PSOARRAY INCLUDE+14~, INC+20, INC+22, INC+23, INC+24, INC+34, INC+36, INC+37, INC+38, INC+48
INC+50, INC+51, INC+52, INC+62, INC+64, INC+65, INC+66, INC+76, INC+78, INC+79
INC+80
PSODIV EN+4~, P1, DIVISION~, DIVISION+19, DIVISION+25!*, DIVISION+33, DIVISION+47!*, DIVISION+65!*, DIVISION+76!, DIVISION+83*
, DIVISION+85*, DIVISION+86*
PSODIV( DIVISION+35, DIVISION+56, DIVISION+66!, DIVISION+72*, DIVISION+82, DIVISION+84, DIVISION+86
PSODTBEGIN EN+4~, P4, DATES~, DATES+9, DATES+16*, DATES+19
PSODTEND EN+4~, P4, DATES~, DATES+21, DATES+28*
PSOEXCEL EN+4~, P8, EXCEL~, EXCEL+13, EXCEL+22*, DEVICE+8, DEVICE+9
PSOINCLUDE EN+4~, P5, INCLUDE~, INC+3, INC+10!, INC+11*, INC+20, INC+34, INC+48, INC+62
INC+76, INC+88!
PSOINCLUDE("DRUG" INC+13*, INC+35*, INC+38*, INC+40, INC+41*, INC+42*
PSOINCLUDE("INSURANCE" INC+15*, INC+63*, INC+66*, INC+68, INC+69*, INC+70*
PSOINCLUDE("PATIENT" INC+12*, INC+21*, INC+24*, INC+26, INC+27*, INC+28*
PSOINCLUDE("R EJECT CODE" , INC+16*, INC+77*, INC+80*, INC+82, INC+83*, INC+84*
PSOINCLUDE("RX" INC+14*, INC+49*, INC+52*, INC+54, INC+55*, INC+56*
PSOREPORT EN+4~, P2P3P4, REPORT~, REPORT+14, REPORT+25*, DEVICE+18
PSORETURN DEVICE+5~, DEVICE+6*, DEVICE+23*, DEVICE+25
PSOSHOWPAT EN+4~, P7, PATIENT~, PATIENT+15, PATIENT+20*
PSOSORT EN+4~, P6, SORT~, SORT+17, SORT+29*
PSOSORT(0 SORT+29*
PSOSTATUS EN+4~, P3*, P3+1, STATUS~, STATUS+16, STATUS+26*, STATUS+28
PSOSTATUS(0 P3*, STATUS+27*, STATUS+28*
PSOX DIVISION+83*, DIVISION+84*, DIVISION+86, INCLUDE+14~, INC+25*, INC+26*, INC+28, INC+39*, INC+40*, INC+42
INC+53*, INC+54*, INC+56, INC+67*, INC+68*, INC+70, INC+81*, INC+82*, INC+84
U DIVISION+62, DIVISION+72
X DIVISION+12~, DIVISION+35*, DIVISION+51, DIVISION+82*, DEVICE+5~
Y STOP+5~, STOP+14*, STOP+15, DIVISION+12~, DIVISION+25, DIVISION+29, DIVISION+47*, DIVISION+51*, DIVISION+56, DIVISION+60
, DIVISION+65*, DIVISION+66, DIVISION+72, REPORT+10~, REPORT+25, STATUS+12~, STATUS+26, DATES+5~, DATES+15, DATES+16
, DATES+27, DATES+28, INCLUDE+14~, SORT+13~, SORT+29, PATIENT+20, EXCEL+9~, EXCEL+22, DEVICE+5~
Y(0 STATUS+27, INC+11, SORT+29
Z DIVISION+12~, DIVISION+60*, DIVISION+62, DIVISION+66
ZTDESC DEVICE+5~, DEVICE+18*, DEVICE+19*, DEVICE+22
ZTQUEUED DEVICE+5~
ZTREQ DEVICE+5~
ZTRTN DEVICE+5~, DEVICE+17*, DEVICE+22
ZTSAVE DEVICE+5~, DEVICE+22
ZTSAVE("PSO*" DEVICE+20*
ZTSK DEVICE+5~, DEVICE+24
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Interaction Calls |  FileMan Files Accessed Via FileMan Db Call |  Label References |  Local Variables  | All