PSOPROD1 ;ALB/MRD - Pharmacy Productivity and Revenue Report ;9/8/15
Source file <PSOPROD1.m>
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 |
Package | Total | Caller Graph |
---|---|---|
Outpatient Pharmacy | 1 | PSO PRODUCTIVITY REVENUE RPT |
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. |
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 |
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 |
|
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 |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Function Call: WRITE |
|
Routine Call |
|
Routine 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 |
Name | Line Occurrences |
---|---|
$$DATES | P4 |
$$DEVICE | P8+1 |
$$DIVISION | P1 |
$$EXCEL | P8 |
$$INCLUDE | P5 |
$$PATIENT | P7 |
$$REPORT | P2 |
$$SORT | P6 |
$$STATUS | P3+1 |
$$STOP | P2, P3+1, P4, P5, P6, P7, P8, P8+1 |
EXIT | P1, P2, P3+1, P4, P5, P6, P7, P8, P8+1 |
INC | INC+20, INC+34, INC+48, INC+62, INC+76 |
P1 | P2 |
P2 | P3+1, P4 |
P3 | P4 |
P4 | P3, P5 |
P5 | P6 |
P6 | P7 |
P7 | P8 |
P8 | P8+1 |
>> | 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~, P2, P3, P4, 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 |