FHCTF1 ; HISC/REL/NCA - Display Tickler File ;4/6/01 08:43
;;5.5;DIETETICS;**4**;Jan 28, 2005;Build 32
;patch 4 - changed the output by clinician order if ALL is selected.
E0 W !!,"Select CLINICIAN (or ALL): ",$P($G(^VA(200,DUZ,0)),"^",1)," // " R X:DTIME G:'$T!(X="^") KIL
I X="" S FHDUZ=DUZ G DISP
D TR^FH I X="ALL" S FHDUZ=0 G DISP
K DIC S DIC="^VA(200,",DIC(0)="AQEM",DIC("A")="Select CLINICIAN: ",DIC("B")=$P($G(^VA(200,DUZ,0)),"^",1) W ! D ^DIC K DIC G KIL:"^"[X!$D(DTOUT),E0:Y<1 S FHDUZ=+Y
DISP ; Display Tickler File
E1 S %DT="AEFX",%DT("A")="Through Date: ",%DT("B")="TODAY" W ! D ^%DT S:$D(DTOUT) X="^" G KIL:U[X,E1:Y<1 S EDT=+Y+.3
E2 W ! K IOP,%ZIS S %ZIS("A")="Select LIST PRINTER: ",%ZIS="MQ" D ^%ZIS K %ZIS,IOP G:POP KIL
I $D(IO("Q")) S FHPGM="Q0^FHCTF1",FHLST="EDT^FHDUZ" D EN2^FH G KIL
U IO D Q0 D ^%ZISC K %ZIS,IOP G KIL
Q0 ; Process Displaying Tickler File Entries
D ^FHCTF4 S (CNT,PG)=0,YN="" G:FHDUZ Q1
;F FHDUZ=0:0 S FHDUZ=$O(^FH(119,FHDUZ)) Q:FHDUZ<1 I $O(^FH(119,FHDUZ,"I",EDT+1),-1) D Q1 Q:YN="^"
K FHTCK S FHDTP=""
F FHDUZ=0:0 S FHDUZ=$O(^FH(119,FHDUZ)) Q:FHDUZ<1 I $O(^FH(119,FHDUZ,"I",EDT+1),-1) S FHTCK($P(^VA(200,FHDUZ,0),"^",1),FHDUZ)=""
S FHDUZNM="" F S FHDUZNM=$O(FHTCK(FHDUZNM)) Q:FHDUZNM="" S FHDUZ=$O(FHTCK(FHDUZNM,0)) D:FHDUZ Q1 Q:YN="^"
Q
Q1 D HDR K ^TMP($J,"FH")
F K=0:0 S K=$O(^FH(119,FHDUZ,"I",K)) Q:K<1!(K>EDT) S FHTF=^(K,0) S FHDFN=$P(FHTF,U,4) S:'FHDFN ^TMP($J,"FH","1PERSONALIZED",K)="" I FHDFN,$D(^DPT(FHDFN,0)) D
.S ^TMP($J,"FH",$P(^DPT(FHDFN,0),U,1))=FHDFN
.S ^TMP($J,"FH",$P(^DPT(FHDFN,0),U,1),K)=""
G:'$D(^TMP($J,"FH")) QT2
S FHI=""
F S FHI=$O(^TMP($J,"FH",FHI)) Q:(FHI="")!(YN="^") D PT1 F FHJ=0:0 S FHJ=$O(^TMP($J,"FH",FHI,FHJ)) Q:(FHJ'>0)!(YN="^") D D2
QT2 I 'CNT W !!,"No Tickler File Entries"
W ! Q
;
D2 S FHTF=^FH(119,FHDUZ,"I",FHJ,0) D:$Y>(IOSL-5) HDR Q:YN["^"
S DTP=$P(FHTF,"^",1),TYP=$P(FHTF,"^",2),X=$P(FHTF,"^",3),DFN=$P(FHTF,"^",4),ADM=$P(FHTF,"^",5),FHOR=$P(FHTF,"^",6)
D DTP
W !
I FHDTP'=DTP W DTP S FHDTP=DTP
W ?18,$S(TYP="C":"Consult",TYP="S":"SF Review",TYP="D":"Diet Review",TYP="X":"Personal",TYP="T":"Tubefeed",TYP="N":"Status",1:""),": ",X
;I DFN W !?18,$P($G(^DPT(DFN,0)),"^",1)," (",$E($P($G(^(0)),"^",9),6,9),") "
I DFN S FHZ115="P"_DFN D CHECK^FHOMDPA I FHDFN="" Q
I DFN S FHWRD=$P($G(^FHPT(FHDFN,"A",ADM,0)),"^",8) W " ",$P($G(^FH(119.6,+FHWRD,0)),"^",1)," ",$P($G(^DPT(DFN,.101)),"^",1)
S CNT=CNT+1 Q
;
PT1 ;print patient info.
S FHDTP=""
W !
S DFN=$G(^TMP($J,"FH",FHI)) I 'DFN W !?18,"** PERSONALIZED TICKLER **" Q
W:DFN !?18,"** ",$P($G(^DPT(DFN,0)),"^",1)," (",$E($P($G(^(0)),"^",9),6,9),") **"
Q
;
DTP ; Printable Date/Time
S %=DTP,DTP=$J(+$E(DTP,6,7),2)_"-"_$P("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec"," ",+$E(DTP,4,5))_"-"_$E(DTP,2,3)
S:%#1 %=+$E(%_"0",9,10)_"^"_$E(%_"000",11,12),DTP=DTP_$J($S(%>12:%-12,1:+%),3)_":"_$P(%,"^",2)_$S(%<12:"am",%<24:"pm",1:"m") K % Q
HDR ; Display Header
I PG,IOST?1"C-".E R !!,"Press RETURN to continue or ""^"" to exit. ",YN:DTIME S:'$T!(YN["^") YN="^" Q:YN="^" I "^"'[YN W !,"Enter Return or ""^""." G HDR
W:'($E(IOST,1,2)'="C-"&'PG) @IOF
S PG=PG+1,DTP=NOW D DTP^FH W !,DTP,?28,"T I C K L E R F I L E",?73,"Page ",PG
W !,$P(^VA(200,FHDUZ,0),"^",1) S DTP=EDT\1 D DTP^FH W ?64,"Thru: ",DTP
S $P(LN,"-",80)="" W !,LN,! Q
KIL K ^TMP($J,"FH") G KILL^XUSCLEAN
FHCTF1 ; HISC/REL/NCA - Display Tickler File ;4/6/01 08:43
+1 ;;5.5;DIETETICS;**4**;Jan 28, 2005;Build 32
+2 ;patch 4 - changed the output by clinician order if ALL is selected.
E0 WRITE !!,"Select CLINICIAN (or ALL): ",$PIECE($GET(^VA(200,DUZ,0)),"^",1)," // "
READ X:DTIME
IF '$TEST!(X="^")
GOTO KIL
+1 IF X=""
SET FHDUZ=DUZ
GOTO DISP
+2 DO TR^FH
IF X="ALL"
SET FHDUZ=0
GOTO DISP
+3 KILL DIC
SET DIC="^VA(200,"
SET DIC(0)="AQEM"
SET DIC("A")="Select CLINICIAN: "
SET DIC("B")=$PIECE($GET(^VA(200,DUZ,0)),"^",1)
WRITE !
DO ^DIC
KILL DIC
IF "^"[X!$DATA(DTOUT)
GOTO KIL
IF Y<1
GOTO E0
SET FHDUZ=+Y
DISP ; Display Tickler File
E1 SET %DT="AEFX"
SET %DT("A")="Through Date: "
SET %DT("B")="TODAY"
WRITE !
DO ^%DT
IF $DATA(DTOUT)
SET X="^"
IF U[X
GOTO KIL
IF Y<1
GOTO E1
SET EDT=+Y+.3
E2 WRITE !
KILL IOP,%ZIS
SET %ZIS("A")="Select LIST PRINTER: "
SET %ZIS="MQ"
DO ^%ZIS
KILL %ZIS,IOP
IF POP
GOTO KIL
+1 IF $DATA(IO("Q"))
SET FHPGM="Q0^FHCTF1"
SET FHLST="EDT^FHDUZ"
DO EN2^FH
GOTO KIL
+2 USE IO
DO Q0
DO ^%ZISC
KILL %ZIS,IOP
GOTO KIL
Q0 ; Process Displaying Tickler File Entries
+1 DO ^FHCTF4
SET (CNT,PG)=0
SET YN=""
IF FHDUZ
GOTO Q1
+2 ;F FHDUZ=0:0 S FHDUZ=$O(^FH(119,FHDUZ)) Q:FHDUZ<1 I $O(^FH(119,FHDUZ,"I",EDT+1),-1) D Q1 Q:YN="^"
+3 KILL FHTCK
SET FHDTP=""
+4 FOR FHDUZ=0:0
SET FHDUZ=$ORDER(^FH(119,FHDUZ))
IF FHDUZ<1
QUIT
IF $ORDER(^FH(119,FHDUZ,"I",EDT+1),-1)
SET FHTCK($PIECE(^VA(200,FHDUZ,0),"^",1),FHDUZ)=""
+5 SET FHDUZNM=""
FOR
SET FHDUZNM=$ORDER(FHTCK(FHDUZNM))
IF FHDUZNM=""
QUIT
SET FHDUZ=$ORDER(FHTCK(FHDUZNM,0))
IF FHDUZ
DO Q1
IF YN="^"
QUIT
+6 QUIT
Q1 DO HDR
KILL ^TMP($JOB,"FH")
+1 FOR K=0:0
SET K=$ORDER(^FH(119,FHDUZ,"I",K))
IF K<1!(K>EDT)
QUIT
SET FHTF=^(K,0)
SET FHDFN=$PIECE(FHTF,U,4)
IF 'FHDFN
SET ^TMP($JOB,"FH","1PERSONALIZED",K)=""
IF FHDFN
IF $DATA(^DPT(FHDFN,0))
Begin DoDot:1
+2 SET ^TMP($JOB,"FH",$PIECE(^DPT(FHDFN,0),U,1))=FHDFN
+3 SET ^TMP($JOB,"FH",$PIECE(^DPT(FHDFN,0),U,1),K)=""
End DoDot:1
+4 IF '$DATA(^TMP($JOB,"FH"))
GOTO QT2
+5 SET FHI=""
+6 FOR
SET FHI=$ORDER(^TMP($JOB,"FH",FHI))
IF (FHI="")!(YN="^")
QUIT
DO PT1
FOR FHJ=0:0
SET FHJ=$ORDER(^TMP($JOB,"FH",FHI,FHJ))
IF (FHJ'>0)!(YN="^")
QUIT
DO D2
QT2 IF 'CNT
WRITE !!,"No Tickler File Entries"
+1 WRITE !
QUIT
+2 ;
D2 SET FHTF=^FH(119,FHDUZ,"I",FHJ,0)
IF $Y>(IOSL-5)
DO HDR
IF YN["^"
QUIT
+1 SET DTP=$PIECE(FHTF,"^",1)
SET TYP=$PIECE(FHTF,"^",2)
SET X=$PIECE(FHTF,"^",3)
SET DFN=$PIECE(FHTF,"^",4)
SET ADM=$PIECE(FHTF,"^",5)
SET FHOR=$PIECE(FHTF,"^",6)
+2 DO DTP
+3 WRITE !
+4 IF FHDTP'=DTP
WRITE DTP
SET FHDTP=DTP
+5 WRITE ?18,$SELECT(TYP="C":"Consult",TYP="S":"SF Review",TYP="D":"Diet Review",TYP="X":"Personal",TYP="T":"Tubefeed",TYP="N":"Status",1:""),": ",X
+6 ;I DFN W !?18,$P($G(^DPT(DFN,0)),"^",1)," (",$E($P($G(^(0)),"^",9),6,9),") "
+7 IF DFN
SET FHZ115="P"_DFN
DO CHECK^FHOMDPA
IF FHDFN=""
QUIT
+8 IF DFN
SET FHWRD=$PIECE($GET(^FHPT(FHDFN,"A",ADM,0)),"^",8)
WRITE " ",$PIECE($GET(^FH(119.6,+FHWRD,0)),"^",1)," ",$PIECE($GET(^DPT(DFN,.101)),"^",1)
+9 SET CNT=CNT+1
QUIT
+10 ;
PT1 ;print patient info.
+1 SET FHDTP=""
+2 WRITE !
+3 SET DFN=$GET(^TMP($JOB,"FH",FHI))
IF 'DFN
WRITE !?18,"** PERSONALIZED TICKLER **"
QUIT
+4 IF DFN
WRITE !?18,"** ",$PIECE($GET(^DPT(DFN,0)),"^",1)," (",$EXTRACT($PIECE($GET(^(0)),"^",9),6,9),") **"
+5 QUIT
+6 ;
DTP ; Printable Date/Time
+1 SET %=DTP
SET DTP=$JUSTIFY(+$EXTRACT(DTP,6,7),2)_"-"_$PIECE("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec"," ",+$EXTRACT(DTP,4,5))_"-"_$EXTRACT(DTP,2,3)
+2 IF %#1
SET %=+$EXTRACT(%_"0",9,10)_"^"_$EXTRACT(%_"000",11,12)
SET DTP=DTP_$JUSTIFY($SELECT(%>12:%-12,1:+%),3)_":"_$PIECE(%,"^",2)_$SELECT(%<12:"am",%<24:"pm",1:"m")
KILL %
QUIT
HDR ; Display Header
+1 IF PG
IF IOST?1"C-".E
READ !!,"Press RETURN to continue or ""^"" to exit. ",YN:DTIME
IF '$TEST!(YN["^")
SET YN="^"
IF YN="^"
QUIT
IF "^"'[YN
WRITE !,"Enter Return or ""^""."
GOTO HDR
+2 IF '($EXTRACT(IOST,1,2)'="C-"&'PG)
WRITE @IOF
+3 SET PG=PG+1
SET DTP=NOW
DO DTP^FH
WRITE !,DTP,?28,"T I C K L E R F I L E",?73,"Page ",PG
+4 WRITE !,$PIECE(^VA(200,FHDUZ,0),"^",1)
SET DTP=EDT\1
DO DTP^FH
WRITE ?64,"Thru: ",DTP
+5 SET $PIECE(LN,"-",80)=""
WRITE !,LN,!
QUIT
KIL KILL ^TMP($JOB,"FH")
GOTO KILL^XUSCLEAN