PXRMXSD ; SLC/PJH - Reminder Reports DIR Prompts;23-Mar-2015 10:42;DU
;;2.0;CLINICAL REMINDERS;**4,1001,12,1005**;Feb 04, 2005;Build 23
;IHS/CIA/MGH Modifed to use HRCN instead of SSN
BED(YESNO) ;Option to sort by inpatient location and bed
N DIR,X,Y
K DIROUT,DIRUT,DTOUT,DUOUT
S DIR(0)="YA"
S DIR("A")="Sort by Inpatient Location/Bed: "
S DIR("B")="N"
S DIR("?")="Enter Y or N. For detailed help type ??"
S DIR("??")=U_"D HELP^PXRMXHLP(11)"
W !
D ^DIR
I $D(DIROUT) S DTOUT=1
I $D(DTOUT)!($D(DUOUT)) Q
S YESNO=$E(Y(0))
I YESNO="Y" S YESNO="B"
Q
;
COMB(YESNO,LIT,DEF) ;Option to combine report
N DIR,X,Y
K DIROUT,DIRUT,DTOUT,DUOUT
S DIR(0)="YA"
S DIR("A")="Combined report for all "_LIT_" : "
S DIR("B")=DEF
S DIR("?")="Enter Y or N. For detailed help type ??"
S DIR("??")=U_"D HELP^PXRMXHLP(9)"
W !
D ^DIR
I $D(DIROUT) S DTOUT=1
I $D(DTOUT)!($D(DUOUT)) Q
S YESNO=$E(Y(0))
Q
;
DELIMSEL() ;Select DELIMITER CHARACTER
N X,Y,DC,DIR
K DIROUT,DIRUT,DTOUT,DUOUT
S DIR(0)="S"_U_"C:Comma;"
S DIR(0)=DIR(0)_"M:Semicolon;"
S DIR(0)=DIR(0)_"L:Tilde;"
S DIR(0)=DIR(0)_"S:Space;"
S DIR(0)=DIR(0)_"T:Tab;"
S DIR(0)=DIR(0)_"U:Up arrow;"
S DIR("A")="Specify REPORT DELIMITER CHARACTER"
S DIR("B")="U"
S DIR("?")="Select from the codes displayed. For detailed help type ??"
S DIR("??")=U_"D HELP^PXRMXHLP(14)"
D ^DIR
I $D(DIROUT) S DTOUT=1
I $D(DTOUT)!($D(DUOUT)) Q ""
S DC=$S(Y="C":",",Y="M":";",Y="L":"~",Y="S":" ",Y="T":$C(9),Y="U":"^",1:"^")
Q DC
;
FUTURE(YESNO,PROMPT,NUM) ;Option to display all future appointments on detail report
N DIR,X,Y
K DIROUT,DIRUT,DTOUT,DUOUT
S DIR(0)="YA"
S DIR("A")=PROMPT
S DIR("B")="N"
S DIR("?")="Enter Y or N. For detailed help type ??"
S DIR("??")=U_"D HELP^PXRMXHLP("_NUM_")"
W !
D ^DIR
I $D(DIROUT) S DTOUT=1
I $D(DTOUT)!($D(DUOUT)) Q
S YESNO=$E(Y(0))
Q
;
PREV(TYPE) ;Future Appts/Prior Encounters selection
N X,Y,DIR
S NREM=0
K DIROUT,DIRUT,DTOUT,DUOUT
I 'PXRMINP D
.S DIR(0)="S"_U_"P:Previous Encounters;"
.S DIR(0)=DIR(0)_"F:Future Appointments;"
.S DIR("A")="PREVIOUS ENCOUNTERS OR FUTURE APPOINTMENTS"
.S DIR("B")="P"
.S DIR("??")=U_"D HELP^PXRMXHLP(3)"
I PXRMINP D
.S DIR(0)="S"_U_"A:Admissions to Location in date range;"
.S DIR(0)=DIR(0)_"C:Current Inpatients;"
.S DIR("A")="CURRENT INPATIENTS OR ADMISSIONS"
.S DIR("B")="C"
.S DIR("??")=U_"D HELP^PXRMXHLP(7)"
S DIR("?")="Select from the codes displayed. For detailed help type ??"
D ^DIR
I $D(DIROUT) S DTOUT=1
I $D(DTOUT)!($D(DUOUT)) Q
S TYPE=Y
Q
;
PRIME(TYPE) ;Primary Provider patients only or All
N X,Y,DIR
S NREM=0
K DIROUT,DIRUT,DTOUT,DUOUT
S DIR(0)="S"_U_"P:Primary care assigned patients only;"
S DIR(0)=DIR(0)_"A:All patients on list;"
S DIR("A")="PRIMARY CARE ONLY OR ALL"
S DIR("B")="P"
S DIR("?")="Select from the codes displayed. For detailed help type ??"
S DIR("??")=U_"D HELP^PXRMXHLP(4)"
D ^DIR
I $D(DIROUT) S DTOUT=1
I $D(DTOUT)!($D(DUOUT)) Q
S TYPE=Y
Q
;
REP(TYPE) ;Report type selection
N X,Y,DIR
S NREM=0
K DIROUT,DIRUT,DTOUT,DUOUT
S DIR(0)="S"_U_"D:Detailed;"
S DIR(0)=DIR(0)_"S:Summary;"
S DIR("A")="TYPE OF REPORT"
S DIR("B")="S"
I PXRMSEL="I" S DIR("B")="D"
S DIR("?")="Select from the codes displayed. For detailed help type ??"
S DIR("??")=U_"D HELP^PXRMXHLP(2)"
D ^DIR
I $D(DIROUT) S DTOUT=1
I $D(DTOUT)!($D(DUOUT)) Q
S TYPE=Y
Q
;
SELECT(TYPE) ;Patient Sample Selection
N X,Y,DIR
K DIROUT,DIRUT,DTOUT,DUOUT
S DIR(0)="S"_U_"I:Individual Patient;"
S DIR(0)=DIR(0)_"R:Reminder Patient List;"
S DIR(0)=DIR(0)_"L:Location;"
S DIR(0)=DIR(0)_"O:OE/RR Team;"
S DIR(0)=DIR(0)_"P:PCMM Provider;"
S DIR(0)=DIR(0)_"T:PCMM Team;"
;IHS/MSC/MGH Patch 1001 Add IHS primary provider
S DIR(0)=DIR(0)_"D:Designated Provider;"
S DIR("A")="PATIENT SAMPLE"
S DIR("B")="L"
S DIR("?")="Select from the codes displayed. For detailed help type ??"
S DIR("??")=U_"D HELP^PXRMXHLP(0)"
D ^DIR
I $D(DIROUT) S DTOUT=1
I $D(DTOUT)!($D(DUOUT)) Q
S TYPE=Y
Q
;
SEPCS(PXRMCCS) ;Allow users to determine the output of the Clinic Stops report
N DIR,TEXT,X,Y
K DIROUT,DIRUT,DTOUT,DUOUT
S PXRMCCS=""
I PXRMREP="S",PXRMTOT="T" Q
;PXRMLCSC only defined if report is by Clinic Stops.
I $P($G(PXRMLCSC),U)'="CS" Q
S TEXT="C:Report by Clinic Stops Only;"
I PXRMREP="S" S TEXT=TEXT_"B:Report by Clinic Stops and Individual Clinic(s);"
S TEXT=TEXT_"I:Report by Individual Clinic(s)"
S DIR(0)="S"_U_TEXT
S DIR("A")="Clinic Stops output"
S DIR("B")="C"
D ^DIR
I $D(DIROUT) S DTOUT=1
I $D(DTOUT)!($D(DUOUT)) Q
S PXRMCCS=Y
Q
;
SRT(YESNO) ;Option to sort by next appointment date on detail report
N DIR,X,Y
K DIROUT,DIRUT,DTOUT,DUOUT
S DIR(0)="YA"
S DIR("A")="Sort by Next Appointment date: "
S DIR("B")="N"
S DIR("?")="Enter Y or N. For detailed help type ??"
S DIR("??")=U_"D HELP^PXRMXHLP(6)"
W !
D ^DIR
I $D(DIROUT) S DTOUT=1
I $D(DTOUT)!($D(DUOUT)) Q
S YESNO=$E(Y(0))
Q
;
SSN(YESNO) ;Option to print full SSN.
N DIR,X,Y
K DIROUT,DIRUT,DTOUT,DUOUT
S DIR(0)="YA"
;IHS/MSC/MGH Patch 1001 Modifed to use HRCN instead of SSN
;S DIR("A")="Print full SSN: "
S DIR("A")="Print full HRCN: "
I $P($G(^PXRM(800,1,"FULL SSN")),U)="Y" S DIR("B")="Y"
E S DIR("B")="N"
S DIR("?")="Enter Y or N. For detailed help type ??"
S DIR("??")=U_"D HELP^PXRMXHLP(12)"
W !
D ^DIR
I $D(DIROUT) S DTOUT=1
I $D(DTOUT)!($D(DUOUT)) Q
S YESNO=$E(Y(0))
Q
;
TABS(YESNO) ;Option print compressed report
N DIR,X,Y
K DIROUT,DIRUT,DTOUT,DUOUT
S DIR(0)="YA"
S DIR("A")="Print delimited output only: "
S DIR("B")="N"
S DIR("?")="Enter Y or N. For detailed help type ??"
S DIR("??")=U_"D HELP^PXRMXHLP(13)"
W !
D ^DIR
I $D(DIROUT) S DTOUT=1
I $D(DTOUT)!($D(DUOUT)) Q
S YESNO=$E(Y(0))
Q
;
TOTALS(TYPE,LIT1,LIT2,LIT3) ;Totals Selection
N X,Y,DIR
K DIROUT,DIRUT,DTOUT,DUOUT
S DIR(0)="S"_U_"I:"_LIT1_";"
S DIR(0)=DIR(0)_"R:"_LIT2_";"
S DIR(0)=DIR(0)_"T:"_LIT3_";"
S DIR("A")="REPORT TOTALS"
S DIR("B")="I"
S DIR("?")="Select from the codes displayed. For detailed help type ??"
S DIR("??")=U_"D HELP^PXRMXHLP(10)"
D ^DIR
I $D(DIROUT) S DTOUT=1
I $D(DTOUT)!($D(DUOUT)) Q
S TYPE=Y
Q
PXRMXSD ; SLC/PJH - Reminder Reports DIR Prompts;23-Mar-2015 10:42;DU
+1 ;;2.0;CLINICAL REMINDERS;**4,1001,12,1005**;Feb 04, 2005;Build 23
+2 ;IHS/CIA/MGH Modifed to use HRCN instead of SSN
BED(YESNO) ;Option to sort by inpatient location and bed
+1 NEW DIR,X,Y
+2 KILL DIROUT,DIRUT,DTOUT,DUOUT
+3 SET DIR(0)="YA"
+4 SET DIR("A")="Sort by Inpatient Location/Bed: "
+5 SET DIR("B")="N"
+6 SET DIR("?")="Enter Y or N. For detailed help type ??"
+7 SET DIR("??")=U_"D HELP^PXRMXHLP(11)"
+8 WRITE !
+9 DO ^DIR
+10 IF $DATA(DIROUT)
SET DTOUT=1
+11 IF $DATA(DTOUT)!($DATA(DUOUT))
QUIT
+12 SET YESNO=$EXTRACT(Y(0))
+13 IF YESNO="Y"
SET YESNO="B"
+14 QUIT
+15 ;
COMB(YESNO,LIT,DEF) ;Option to combine report
+1 NEW DIR,X,Y
+2 KILL DIROUT,DIRUT,DTOUT,DUOUT
+3 SET DIR(0)="YA"
+4 SET DIR("A")="Combined report for all "_LIT_" : "
+5 SET DIR("B")=DEF
+6 SET DIR("?")="Enter Y or N. For detailed help type ??"
+7 SET DIR("??")=U_"D HELP^PXRMXHLP(9)"
+8 WRITE !
+9 DO ^DIR
+10 IF $DATA(DIROUT)
SET DTOUT=1
+11 IF $DATA(DTOUT)!($DATA(DUOUT))
QUIT
+12 SET YESNO=$EXTRACT(Y(0))
+13 QUIT
+14 ;
DELIMSEL() ;Select DELIMITER CHARACTER
+1 NEW X,Y,DC,DIR
+2 KILL DIROUT,DIRUT,DTOUT,DUOUT
+3 SET DIR(0)="S"_U_"C:Comma;"
+4 SET DIR(0)=DIR(0)_"M:Semicolon;"
+5 SET DIR(0)=DIR(0)_"L:Tilde;"
+6 SET DIR(0)=DIR(0)_"S:Space;"
+7 SET DIR(0)=DIR(0)_"T:Tab;"
+8 SET DIR(0)=DIR(0)_"U:Up arrow;"
+9 SET DIR("A")="Specify REPORT DELIMITER CHARACTER"
+10 SET DIR("B")="U"
+11 SET DIR("?")="Select from the codes displayed. For detailed help type ??"
+12 SET DIR("??")=U_"D HELP^PXRMXHLP(14)"
+13 DO ^DIR
+14 IF $DATA(DIROUT)
SET DTOUT=1
+15 IF $DATA(DTOUT)!($DATA(DUOUT))
QUIT ""
+16 SET DC=$SELECT(Y="C":",",Y="M":";",Y="L":"~",Y="S":" ",Y="T":$CHAR(9),Y="U":"^",1:"^")
+17 QUIT DC
+18 ;
FUTURE(YESNO,PROMPT,NUM) ;Option to display all future appointments on detail report
+1 NEW DIR,X,Y
+2 KILL DIROUT,DIRUT,DTOUT,DUOUT
+3 SET DIR(0)="YA"
+4 SET DIR("A")=PROMPT
+5 SET DIR("B")="N"
+6 SET DIR("?")="Enter Y or N. For detailed help type ??"
+7 SET DIR("??")=U_"D HELP^PXRMXHLP("_NUM_")"
+8 WRITE !
+9 DO ^DIR
+10 IF $DATA(DIROUT)
SET DTOUT=1
+11 IF $DATA(DTOUT)!($DATA(DUOUT))
QUIT
+12 SET YESNO=$EXTRACT(Y(0))
+13 QUIT
+14 ;
PREV(TYPE) ;Future Appts/Prior Encounters selection
+1 NEW X,Y,DIR
+2 SET NREM=0
+3 KILL DIROUT,DIRUT,DTOUT,DUOUT
+4 IF 'PXRMINP
Begin DoDot:1
+5 SET DIR(0)="S"_U_"P:Previous Encounters;"
+6 SET DIR(0)=DIR(0)_"F:Future Appointments;"
+7 SET DIR("A")="PREVIOUS ENCOUNTERS OR FUTURE APPOINTMENTS"
+8 SET DIR("B")="P"
+9 SET DIR("??")=U_"D HELP^PXRMXHLP(3)"
End DoDot:1
+10 IF PXRMINP
Begin DoDot:1
+11 SET DIR(0)="S"_U_"A:Admissions to Location in date range;"
+12 SET DIR(0)=DIR(0)_"C:Current Inpatients;"
+13 SET DIR("A")="CURRENT INPATIENTS OR ADMISSIONS"
+14 SET DIR("B")="C"
+15 SET DIR("??")=U_"D HELP^PXRMXHLP(7)"
End DoDot:1
+16 SET DIR("?")="Select from the codes displayed. For detailed help type ??"
+17 DO ^DIR
+18 IF $DATA(DIROUT)
SET DTOUT=1
+19 IF $DATA(DTOUT)!($DATA(DUOUT))
QUIT
+20 SET TYPE=Y
+21 QUIT
+22 ;
PRIME(TYPE) ;Primary Provider patients only or All
+1 NEW X,Y,DIR
+2 SET NREM=0
+3 KILL DIROUT,DIRUT,DTOUT,DUOUT
+4 SET DIR(0)="S"_U_"P:Primary care assigned patients only;"
+5 SET DIR(0)=DIR(0)_"A:All patients on list;"
+6 SET DIR("A")="PRIMARY CARE ONLY OR ALL"
+7 SET DIR("B")="P"
+8 SET DIR("?")="Select from the codes displayed. For detailed help type ??"
+9 SET DIR("??")=U_"D HELP^PXRMXHLP(4)"
+10 DO ^DIR
+11 IF $DATA(DIROUT)
SET DTOUT=1
+12 IF $DATA(DTOUT)!($DATA(DUOUT))
QUIT
+13 SET TYPE=Y
+14 QUIT
+15 ;
REP(TYPE) ;Report type selection
+1 NEW X,Y,DIR
+2 SET NREM=0
+3 KILL DIROUT,DIRUT,DTOUT,DUOUT
+4 SET DIR(0)="S"_U_"D:Detailed;"
+5 SET DIR(0)=DIR(0)_"S:Summary;"
+6 SET DIR("A")="TYPE OF REPORT"
+7 SET DIR("B")="S"
+8 IF PXRMSEL="I"
SET DIR("B")="D"
+9 SET DIR("?")="Select from the codes displayed. For detailed help type ??"
+10 SET DIR("??")=U_"D HELP^PXRMXHLP(2)"
+11 DO ^DIR
+12 IF $DATA(DIROUT)
SET DTOUT=1
+13 IF $DATA(DTOUT)!($DATA(DUOUT))
QUIT
+14 SET TYPE=Y
+15 QUIT
+16 ;
SELECT(TYPE) ;Patient Sample Selection
+1 NEW X,Y,DIR
+2 KILL DIROUT,DIRUT,DTOUT,DUOUT
+3 SET DIR(0)="S"_U_"I:Individual Patient;"
+4 SET DIR(0)=DIR(0)_"R:Reminder Patient List;"
+5 SET DIR(0)=DIR(0)_"L:Location;"
+6 SET DIR(0)=DIR(0)_"O:OE/RR Team;"
+7 SET DIR(0)=DIR(0)_"P:PCMM Provider;"
+8 SET DIR(0)=DIR(0)_"T:PCMM Team;"
+9 ;IHS/MSC/MGH Patch 1001 Add IHS primary provider
+10 SET DIR(0)=DIR(0)_"D:Designated Provider;"
+11 SET DIR("A")="PATIENT SAMPLE"
+12 SET DIR("B")="L"
+13 SET DIR("?")="Select from the codes displayed. For detailed help type ??"
+14 SET DIR("??")=U_"D HELP^PXRMXHLP(0)"
+15 DO ^DIR
+16 IF $DATA(DIROUT)
SET DTOUT=1
+17 IF $DATA(DTOUT)!($DATA(DUOUT))
QUIT
+18 SET TYPE=Y
+19 QUIT
+20 ;
SEPCS(PXRMCCS) ;Allow users to determine the output of the Clinic Stops report
+1 NEW DIR,TEXT,X,Y
+2 KILL DIROUT,DIRUT,DTOUT,DUOUT
+3 SET PXRMCCS=""
+4 IF PXRMREP="S"
IF PXRMTOT="T"
QUIT
+5 ;PXRMLCSC only defined if report is by Clinic Stops.
+6 IF $PIECE($GET(PXRMLCSC),U)'="CS"
QUIT
+7 SET TEXT="C:Report by Clinic Stops Only;"
+8 IF PXRMREP="S"
SET TEXT=TEXT_"B:Report by Clinic Stops and Individual Clinic(s);"
+9 SET TEXT=TEXT_"I:Report by Individual Clinic(s)"
+10 SET DIR(0)="S"_U_TEXT
+11 SET DIR("A")="Clinic Stops output"
+12 SET DIR("B")="C"
+13 DO ^DIR
+14 IF $DATA(DIROUT)
SET DTOUT=1
+15 IF $DATA(DTOUT)!($DATA(DUOUT))
QUIT
+16 SET PXRMCCS=Y
+17 QUIT
+18 ;
SRT(YESNO) ;Option to sort by next appointment date on detail report
+1 NEW DIR,X,Y
+2 KILL DIROUT,DIRUT,DTOUT,DUOUT
+3 SET DIR(0)="YA"
+4 SET DIR("A")="Sort by Next Appointment date: "
+5 SET DIR("B")="N"
+6 SET DIR("?")="Enter Y or N. For detailed help type ??"
+7 SET DIR("??")=U_"D HELP^PXRMXHLP(6)"
+8 WRITE !
+9 DO ^DIR
+10 IF $DATA(DIROUT)
SET DTOUT=1
+11 IF $DATA(DTOUT)!($DATA(DUOUT))
QUIT
+12 SET YESNO=$EXTRACT(Y(0))
+13 QUIT
+14 ;
SSN(YESNO) ;Option to print full SSN.
+1 NEW DIR,X,Y
+2 KILL DIROUT,DIRUT,DTOUT,DUOUT
+3 SET DIR(0)="YA"
+4 ;IHS/MSC/MGH Patch 1001 Modifed to use HRCN instead of SSN
+5 ;S DIR("A")="Print full SSN: "
+6 SET DIR("A")="Print full HRCN: "
+7 IF $PIECE($GET(^PXRM(800,1,"FULL SSN")),U)="Y"
SET DIR("B")="Y"
+8 IF '$TEST
SET DIR("B")="N"
+9 SET DIR("?")="Enter Y or N. For detailed help type ??"
+10 SET DIR("??")=U_"D HELP^PXRMXHLP(12)"
+11 WRITE !
+12 DO ^DIR
+13 IF $DATA(DIROUT)
SET DTOUT=1
+14 IF $DATA(DTOUT)!($DATA(DUOUT))
QUIT
+15 SET YESNO=$EXTRACT(Y(0))
+16 QUIT
+17 ;
TABS(YESNO) ;Option print compressed report
+1 NEW DIR,X,Y
+2 KILL DIROUT,DIRUT,DTOUT,DUOUT
+3 SET DIR(0)="YA"
+4 SET DIR("A")="Print delimited output only: "
+5 SET DIR("B")="N"
+6 SET DIR("?")="Enter Y or N. For detailed help type ??"
+7 SET DIR("??")=U_"D HELP^PXRMXHLP(13)"
+8 WRITE !
+9 DO ^DIR
+10 IF $DATA(DIROUT)
SET DTOUT=1
+11 IF $DATA(DTOUT)!($DATA(DUOUT))
QUIT
+12 SET YESNO=$EXTRACT(Y(0))
+13 QUIT
+14 ;
TOTALS(TYPE,LIT1,LIT2,LIT3) ;Totals Selection
+1 NEW X,Y,DIR
+2 KILL DIROUT,DIRUT,DTOUT,DUOUT
+3 SET DIR(0)="S"_U_"I:"_LIT1_";"
+4 SET DIR(0)=DIR(0)_"R:"_LIT2_";"
+5 SET DIR(0)=DIR(0)_"T:"_LIT3_";"
+6 SET DIR("A")="REPORT TOTALS"
+7 SET DIR("B")="I"
+8 SET DIR("?")="Select from the codes displayed. For detailed help type ??"
+9 SET DIR("??")=U_"D HELP^PXRMXHLP(10)"
+10 DO ^DIR
+11 IF $DATA(DIROUT)
SET DTOUT=1
+12 IF $DATA(DTOUT)!($DATA(DUOUT))
QUIT
+13 SET TYPE=Y
+14 QUIT