- SDRRRECP ;10N20/MAH;Recall Reminder Manual Printing; 09/20/2004
- ;;5.3;PIMS;**1016**;JUN 30, 2012;Build 20
- ;;This routine is called from SDRRLRP
- ;;If the site has set TYPE OF NOTIFICATION to CARDS this routine
- ;;will run.
- K TYPE
- MEN ;SET UP WHAT ARE THEY WOULD LIKE TO PRINT FOR CARDS
- K DIR,Y,DTOUT,DIROUT,DIRUT,DUOUT
- S DIR(0)="SO^1:Print Cards by Division;2:Print Cards by Clinic;3:Print Cards by Provider;4:Print Cards by Team;5:Print a Card by Patient;6:Print Cards for Nonresponsive Patients"
- W ! S DIR("A")="Please select what you are looking for"
- D ^DIR G:$D(DUOUT)!($D(DTOUT)!($D(DIRUT))) QUIT S Q=Y
- I Q=1 G EN3
- I Q=2 G EN
- I Q=3 G EN2
- I Q=4 G EN1
- I Q=5 G EN4
- I Q=6 G EN5
- Q
- ;ALLK Q,Y,DIR
- EN3 ;PRINT BY DIVISION
- S DIC="^DG(40.8,",DIC(0)="AEQMZ" D ^DIC G:Y<0 QUIT S DIV=+Y D SELDT G:Y<0 QUIT
- S %ZIS="QM" D ^%ZIS G:POP QUIT I $D(IO("Q")) S ZTDSC="Print Recall Cards by Division",ZTRTN="DQD1^SDRRRECP" S ZTSAVE("*")="" D ^%ZTLOAD G QUIT
- DQD1 K ^TMP($J)
- S PR=0 F S PR=$O(^SD(403.5,"C",PR)) Q:PR="" I $P($G(^SD(403.54,PR,0)),"^",3)=DIV S D0=0 F S D0=$O(^SD(403.5,"C",PR,D0)) Q:D0="" S DTA=$G(^SD(403.5,D0,0)) D:DTA]""
- .S TIME=""
- .I $P(^SD(403.5,D0,0),"^",9)["60" S TIME=$P(^SD(403.5,D0,0),"^",9) S TIME="**"_TIME_"**"
- .S LAB=$S($P($G(^SD(403.5,D0,0)),"^",8)="f":"**FL",$P(^SD(403.5,D0,0),"^",8)="n":"**NFL",1:"")
- .S DFN=+DTA
- .Q:$$TESTPAT^VADPT(DFN)
- .D ADD^VADPT,DEM^VADPT
- .S PN=$P(VADM(1),U)
- .S STATE=$P(VAPA(5),"^",1),STATE=$$GET1^DIQ(5,STATE_",",1)
- .I $G(VADM(6),U)'="" Q
- .Q:$P(DTA,"^",6)<SDT!($P(DTA,"^",6)>EDT)
- .S CHECK=$$BADADR^DGUTL3 I CHECK>0 S XMSUB="Bad Address for Recall Reminder Patient",XMTEXT="SDRR(" D
- ..S XMY("G.SDRR BAD ADDRESS")="",XMDUZ=.5
- ..S SDRR(1)="Bad Address- card will not be printed for:"_" "_PN_" "_VA("BID")
- ..D ^XMD
- ..K XMY,XMSUB,XMTEXT,XMDUZ
- .;ADDED THE DATE INFORMATION
- .S $P(^SD(403.5,D0,0),"^",10)=DT
- .D PR
- D ^%ZISC G QUIT
- EN ;PRINT BY CLINIC
- S DIC="^SC(",DIC(0)="AEQMZ" D ^DIC Q:Y<0 S DIV=+Y D SELDT G:Y<0 QUIT
- S %ZIS="QM" D ^%ZIS G:POP QUIT I $D(IO("Q")) S ZTDESC="Print Recall Cards by Clinic",ZTRTN="DQD^SDRRRECP" S ZTSAVE("*")="" D ^%ZTLOAD G QUIT
- DQD K ^TMP($J)
- S D0=0 F S D0=$O(^SD(403.5,"E",DIV,D0)) Q:D0="" S DTA=$G(^SD(403.5,D0,0)) D:DTA]""
- .S TIME=""
- .I $P(^SD(403.5,D0,0),"^",9)["60" S TIME=$P(^SD(403.5,D0,0),"^",9) S TIME="**"_TIME_"**"
- .S LAB=$S($P($G(^SD(403.5,D0,0)),"^",8)="f":"**FL",$P(^SD(403.5,D0,0),"^",8)="n":"**NFL",1:"")
- .S DFN=+DTA
- .Q:$$TESTPAT^VADPT(DFN)
- .D ADD^VADPT,DEM^VADPT
- .S STATE=$P(VAPA(5),"^",1),STATE=$$GET1^DIQ(5,STATE_",",1)
- .S PN=$P(VADM(1),U)
- .I $G(VADM(6),U)'="" Q
- .Q:$P(DTA,"^",6)<SDT!($P(DTA,"^",6)>EDT)
- .S CHECK=$$BADADR^DGUTL3 I CHECK>0 S XMSUB="Bad Address for Recall Reminder Patient",XMTEXT="SDRR(" D
- ..S XMY("G.SDRR BAD ADDRESS")="",XMDUZ=.5
- ..S SDRR(1)="Bad Address- card will not be printed for:"_" "_PN_" "_VA("BID")
- ..D ^XMD
- ..K XMY,XMSUB,XMTEXT,XMDUZ
- .;ADDED THE DATE INFORMATION
- .S $P(^SD(403.5,D0,0),"^",10)=DT
- .D PR
- D ^%ZISC G QUIT
- QUIT K ADTA,D0,DFN,DIC,DIR,DIRUT,DTA,I,L,PN,POP,Y,DIV,EDT,PR,SDT,TIME,LAB,Y,STATE
- K DATE,DOD,X,Q,%DT,%ZIS,SDRR,VA,CHECK,ZTDESC,ZTDSC,ZTEAM,ZTIO,ZTRTN,ZTSAVE
- Q
- SELDT S %DT="AEX",%DT("A")="Start with RECALL DATE: " D ^%DT Q:Y<0 S SDT=Y,%DT("A")="End with RECALL DATE: " D ^%DT I Y<SDT W $C(7)," ??" G SELDT
- S EDT=Y Q
- PR W @IOF F L=1:1:7 W !
- W !?20,$P($P(PN,",",2)," ",1)_" "_$P(PN,",")
- I $P(VAPA(1),U)'="" W !?20,$P(VAPA(1),U)
- I $P(VAPA(2),U)'="" W !?20,$P(VAPA(2),U)
- I $P(VAPA(3),U)'="" W !?20,$P(VAPA(3),U)
- W !?20,$P(VAPA(4),U),", "_STATE_" ",$P(VAPA(6),U)
- I TIME'="" W !!?45,TIME
- I LAB'="" W !!?45,LAB
- Q
- EN1 ;PRINT BY TEAM
- S DIC="^SD(403.55,",DIC(0)="AEQMZ",DIC("A")="Select Clinic Team: " D ^DIC Q:Y<0 S ZTEAM=+Y D SELDT G:Y<0 QUIT
- S %ZIS="QM" D ^%ZIS G:POP QUIT I $D(IO("Q")) S ZTDESC="Print Recall Cards by Team",ZTRTN="DQT^SDRRRECP" S ZTSAVE("*")="" D ^%ZTLOAD G QUIT
- DQT K ^TMP($J)
- S PR=0 F S PR=$O(^SD(403.5,"C",PR)) Q:PR="" I $P($G(^SD(403.54,PR,0)),U,2)=+ZTEAM S D0=0 F S D0=$O(^SD(403.5,"C",PR,D0)) Q:D0="" S DTA=$G(^SD(403.5,D0,0)) D:DTA]""
- .S TIME=""
- .I $P(^SD(403.5,D0,0),"^",9)["60" S TIME=$P(^SD(403.5,D0,0),"^",9) S TIME="**"_TIME_"**"
- .S LAB=$S($P($G(^SD(403.5,D0,0)),"^",8)="f":"**FL",$P(^SD(403.5,D0,0),"^",8)="n":"**NFL",1:"")
- .S DFN=+DTA
- .Q:$$TESTPAT^VADPT(DFN)
- .D ADD^VADPT,DEM^VADPT
- .S PN=$P(VADM(1),U)
- .S STATE=$P(VAPA(5),"^",1),STATE=$$GET1^DIQ(5,STATE_",",1)
- .I $G(VADM(6),U)'="" Q
- .Q:$P(DTA,"^",6)<SDT!($P(DTA,"^",6)>EDT)
- .S CHECK=$$BADADR^DGUTL3 I CHECK>0 S XMSUB="Bad Address for Recall Reminder Patient",XMTEXT="SDRR(" D
- ..S XMY("G.SDRR BAD ADDRESS")="",XMDUZ=.5
- ..S SDRR(1)="Bad Address- card will not be printed for:"_" "_PN_" "_VA("BID")
- ..D ^XMD
- ..K XMY,XMSUB,XMTEXT,XMDUZ
- ..D ^%ZISC G QUIT
- .;ADDED THE DATE INFORMATION
- .S $P(^SD(403.5,D0,0),"^",10)=DT
- .D PR
- D ^%ZISC G QUIT
- EN2 ;PRINT BY PROV
- S DIC="^SD(403.54,",DIC(0)="AEQMZ",DIC("A")="Select Provider: " D ^DIC G:Y<0 QUIT S PR=+Y D SELDT G:Y<0 QUIT
- S %ZIS="QM" D ^%ZIS G:POP QUIT I $D(IO("Q")) S ZTDESC="Print Recall Cards by Prov",ZTRTN="DQP^SDRRRECP" S ZTSAVE("*")="" D ^%ZTLOAD G QUIT
- DQP K ^TMP($J)
- S D0=0 F S D0=$O(^SD(403.5,"C",PR,D0)) Q:D0="" S DTA=$G(^SD(403.5,D0,0)) D:DTA]""
- .S TIME=""
- .I $P(^SD(403.5,D0,0),"^",9)>30 S TIME=$P(^SD(403.5,D0,0),"^",9) S TIME="**"_TIME_"**"
- .S LAB=$S($P($G(^SD(403.5,D0,0)),"^",8)="f":"**FL",$P(^SD(403.5,D0,0),"^",8)="n":"**NFL",1:"")
- .S DFN=+DTA
- .Q:$$TESTPAT^VADPT(DFN)
- .D ADD^VADPT,DEM^VADPT
- .S STATE=$P(VAPA(5),"^",1),STATE=$$GET1^DIQ(5,STATE_",",1)
- .S PN=$P(VADM(1),U)
- .I $G(VADM(6),U)'="" Q
- .Q:$P(DTA,"^",6)<SDT!($P(DTA,"^",6)>EDT)
- .S CHECK=$$BADADR^DGUTL3 I CHECK>0 S XMSUB="Bad Address for Recall Reminder Patient",XMTEXT="SDRR(" D
- ..S XMY("G.SDRR BAD ADDRESS")="",XMDUZ=.5
- ..S SDRR(1)="Bad Address- card will not be printed for:"_" "_PN_" "_VA("BID")
- ..D ^XMD
- ..K XMY,XMSUB,XMTEXT,XMDUZ
- .;ADDED THE DATE INFORMATION
- .S $P(^SD(403.5,D0,0),"^",10)=DT
- .D PR
- D ^%ZISC G QUIT
- EN4 ;PRINT BY Patient
- W ! S DIC="^SD(403.5,",DIC(0)="AEQMZ",DIC("A")="Select Patient: " D ^DIC G:Y<0 QUIT S D0=+Y
- S %ZIS="QM" D ^%ZIS G:POP QUIT I $D(IO("Q")) S ZTDESC="Print Recall Cards by Prov",ZTRTN="DPP^SDRRRECP" S ZTSAVE("*")="" D ^%ZTLOAD G QUIT
- DPP K ^TMP($J)
- S DTA=$G(^SD(403.5,D0,0)) D:DTA]""
- .S TIME=""
- .I $P(^SD(403.5,D0,0),"^",9)>30 S TIME=$P(^SD(403.5,D0,0),"^",9) S TIME="**"_TIME_"**"
- .S LAB=$S($P($G(^SD(403.5,D0,0)),"^",8)="f":"**FL",$P(^SD(403.5,D0,0),"^",8)="n":"**NFL",1:"")
- .S DFN=+DTA
- .Q:$$TESTPAT^VADPT(DFN)
- .D ADD^VADPT,DEM^VADPT
- .S STATE=$P(VAPA(5),"^",1),STATE=$$GET1^DIQ(5,STATE_",",1)
- .S PN=$P(VADM(1),U)
- .I $G(VADM(6),U)'="" Q
- .S CHECK=$$BADADR^DGUTL3 I CHECK>0 S XMSUB="Bad Address for Recall Reminder Patient",XMTEXT="SDRR(" D
- ..S XMY("G.SDRR BAD ADDRESS")="",XMDUZ=.5
- ..S SDRR(1)="Bad Address- card will not be printed for:"_" "_PN_" "_VA("BID")
- ..D ^XMD
- ..K XMY,XMSUB,XMTEXT,XMDUZ
- .;ADDED THE DATE INFORMATION
- .S $P(^SD(403.5,D0,0),"^",10)=DT
- .D PR
- D ^%ZISC G QUIT
- EN5 ;PRINT BY TEAM
- S DIC="^SD(403.55,",DIC(0)="AEQMZ",DIC("A")="Select Clinic Team: " D ^DIC S ZTEAM=+Y G:Y<0 QUIT
- S %ZIS="QM" D ^%ZIS G:POP QUIT I $D(IO("Q")) S ZTDESC="Print Nonresponsive Recall Cards by Team",ZTRTN="DQDD^SDRRRECP" S ZTSAVE("*")="" D ^%ZTLOAD G QUIT
- DQDD K ^TMP($J)
- N CHKDATE
- S PR=0 F S PR=$O(^SD(403.5,"C",PR)) Q:PR="" I $P($G(^SD(403.54,PR,0)),U,2)=+ZTEAM S D0=0 F S D0=$O(^SD(403.5,"C",PR,D0)) Q:D0="" S DTA=$G(^SD(403.5,D0,0)) D:DTA]""
- .I $P($G(^SD(403.5,D0,0)),"^",10)="" QUIT
- .; SD*569 - Prevent from printing more than ONE second card
- .I $P($G(^SD(403.5,D0,0)),"^",13)'="" QUIT
- .S CHKDATE=5 S RDATE=$P($G(^SD(403.5,D0,0)),"^",6) S CHECK=$$FMDIFF^XLFDT(RDATE,DT) I CHECK>CHKDATE K RDATE QUIT
- .S TIME=""
- .I $P(^SD(403.5,D0,0),"^",9)["60" S TIME=$P(^SD(403.5,D0,0),"^",9) S TIME="**"_TIME_"**"
- .S LAB=$S($P($G(^SD(403.5,D0,0)),"^",8)="f":"**FL",$P(^SD(403.5,D0,0),"^",8)="n":"**NFL",1:"")
- .S DFN=+DTA
- .Q:$$TESTPAT^VADPT(DFN)
- .D ADD^VADPT,DEM^VADPT
- .S STATE=$P(VAPA(5),"^",1),STATE=$$GET1^DIQ(5,STATE_",",1)
- .S PN=$P(VADM(1),U)
- .I $G(VADM(6),U)'="" Q
- .S CHECK=$$BADADR^DGUTL3 I CHECK>0 S XMSUB="Bad Address for Recall Reminder Patient",XMTEXT="SDRR(" D
- ..S XMY("G.SDRR BAD ADDRESS")="",XMDUZ=.5
- ..S SDRR(1)="Bad Address- card will not be printed for:"_" "_PN_" "_VA("BID")
- ..D ^XMD
- ..K XMY,XMSUB,XMTEXT,XMDUZ
- .;ADDED THE DATE INFORMATION
- .S $P(^SD(403.5,D0,0),"^",13)=DT
- .D PR
- D ^%ZISC G QUIT
- Q
- SDRRRECP ;10N20/MAH;Recall Reminder Manual Printing; 09/20/2004
- +1 ;;5.3;PIMS;**1016**;JUN 30, 2012;Build 20
- +2 ;;This routine is called from SDRRLRP
- +3 ;;If the site has set TYPE OF NOTIFICATION to CARDS this routine
- +4 ;;will run.
- +5 KILL TYPE
- MEN ;SET UP WHAT ARE THEY WOULD LIKE TO PRINT FOR CARDS
- +1 KILL DIR,Y,DTOUT,DIROUT,DIRUT,DUOUT
- +2 SET DIR(0)="SO^1:Print Cards by Division;2:Print Cards by Clinic;3:Print Cards by Provider;4:Print Cards by Team;5:Print a Card by Patient;6:Print Cards for Nonresponsive Patients"
- +3 WRITE !
- SET DIR("A")="Please select what you are looking for"
- +4 DO ^DIR
- IF $DATA(DUOUT)!($DATA(DTOUT)!($DATA(DIRUT)))
- GOTO QUIT
- SET Q=Y
- +5 IF Q=1
- GOTO EN3
- +6 IF Q=2
- GOTO EN
- +7 IF Q=3
- GOTO EN2
- +8 IF Q=4
- GOTO EN1
- +9 IF Q=5
- GOTO EN4
- +10 IF Q=6
- GOTO EN5
- +11 QUIT
- +12 ;ALLK Q,Y,DIR
- EN3 ;PRINT BY DIVISION
- +1 SET DIC="^DG(40.8,"
- SET DIC(0)="AEQMZ"
- DO ^DIC
- IF Y<0
- GOTO QUIT
- SET DIV=+Y
- DO SELDT
- IF Y<0
- GOTO QUIT
- +2 SET %ZIS="QM"
- DO ^%ZIS
- IF POP
- GOTO QUIT
- IF $DATA(IO("Q"))
- SET ZTDSC="Print Recall Cards by Division"
- SET ZTRTN="DQD1^SDRRRECP"
- SET ZTSAVE("*")=""
- DO ^%ZTLOAD
- GOTO QUIT
- DQD1 KILL ^TMP($JOB)
- +1 SET PR=0
- FOR
- SET PR=$ORDER(^SD(403.5,"C",PR))
- IF PR=""
- QUIT
- IF $PIECE($GET(^SD(403.54,PR,0)),"^",3)=DIV
- SET D0=0
- FOR
- SET D0=$ORDER(^SD(403.5,"C",PR,D0))
- IF D0=""
- QUIT
- SET DTA=$GET(^SD(403.5,D0,0))
- IF DTA]""
- Begin DoDot:1
- +2 SET TIME=""
- +3 IF $PIECE(^SD(403.5,D0,0),"^",9)["60"
- SET TIME=$PIECE(^SD(403.5,D0,0),"^",9)
- SET TIME="**"_TIME_"**"
- +4 SET LAB=$SELECT($PIECE($GET(^SD(403.5,D0,0)),"^",8)="f":"**FL",$PIECE(^SD(403.5,D0,0),"^",8)="n":"**NFL",1:"")
- +5 SET DFN=+DTA
- +6 IF $$TESTPAT^VADPT(DFN)
- QUIT
- +7 DO ADD^VADPT
- DO DEM^VADPT
- +8 SET PN=$PIECE(VADM(1),U)
- +9 SET STATE=$PIECE(VAPA(5),"^",1)
- SET STATE=$$GET1^DIQ(5,STATE_",",1)
- +10 IF $GET(VADM(6),U)'=""
- QUIT
- +11 IF $PIECE(DTA,"^",6)<SDT!($PIECE(DTA,"^",6)>EDT)
- QUIT
- +12 SET CHECK=$$BADADR^DGUTL3
- IF CHECK>0
- SET XMSUB="Bad Address for Recall Reminder Patient"
- SET XMTEXT="SDRR("
- Begin DoDot:2
- +13 SET XMY("G.SDRR BAD ADDRESS")=""
- SET XMDUZ=.5
- +14 SET SDRR(1)="Bad Address- card will not be printed for:"_" "_PN_" "_VA("BID")
- +15 DO ^XMD
- +16 KILL XMY,XMSUB,XMTEXT,XMDUZ
- End DoDot:2
- +17 ;ADDED THE DATE INFORMATION
- +18 SET $PIECE(^SD(403.5,D0,0),"^",10)=DT
- +19 DO PR
- End DoDot:1
- +20 DO ^%ZISC
- GOTO QUIT
- EN ;PRINT BY CLINIC
- +1 SET DIC="^SC("
- SET DIC(0)="AEQMZ"
- DO ^DIC
- IF Y<0
- QUIT
- SET DIV=+Y
- DO SELDT
- IF Y<0
- GOTO QUIT
- +2 SET %ZIS="QM"
- DO ^%ZIS
- IF POP
- GOTO QUIT
- IF $DATA(IO("Q"))
- SET ZTDESC="Print Recall Cards by Clinic"
- SET ZTRTN="DQD^SDRRRECP"
- SET ZTSAVE("*")=""
- DO ^%ZTLOAD
- GOTO QUIT
- DQD KILL ^TMP($JOB)
- +1 SET D0=0
- FOR
- SET D0=$ORDER(^SD(403.5,"E",DIV,D0))
- IF D0=""
- QUIT
- SET DTA=$GET(^SD(403.5,D0,0))
- IF DTA]""
- Begin DoDot:1
- +2 SET TIME=""
- +3 IF $PIECE(^SD(403.5,D0,0),"^",9)["60"
- SET TIME=$PIECE(^SD(403.5,D0,0),"^",9)
- SET TIME="**"_TIME_"**"
- +4 SET LAB=$SELECT($PIECE($GET(^SD(403.5,D0,0)),"^",8)="f":"**FL",$PIECE(^SD(403.5,D0,0),"^",8)="n":"**NFL",1:"")
- +5 SET DFN=+DTA
- +6 IF $$TESTPAT^VADPT(DFN)
- QUIT
- +7 DO ADD^VADPT
- DO DEM^VADPT
- +8 SET STATE=$PIECE(VAPA(5),"^",1)
- SET STATE=$$GET1^DIQ(5,STATE_",",1)
- +9 SET PN=$PIECE(VADM(1),U)
- +10 IF $GET(VADM(6),U)'=""
- QUIT
- +11 IF $PIECE(DTA,"^",6)<SDT!($PIECE(DTA,"^",6)>EDT)
- QUIT
- +12 SET CHECK=$$BADADR^DGUTL3
- IF CHECK>0
- SET XMSUB="Bad Address for Recall Reminder Patient"
- SET XMTEXT="SDRR("
- Begin DoDot:2
- +13 SET XMY("G.SDRR BAD ADDRESS")=""
- SET XMDUZ=.5
- +14 SET SDRR(1)="Bad Address- card will not be printed for:"_" "_PN_" "_VA("BID")
- +15 DO ^XMD
- +16 KILL XMY,XMSUB,XMTEXT,XMDUZ
- End DoDot:2
- +17 ;ADDED THE DATE INFORMATION
- +18 SET $PIECE(^SD(403.5,D0,0),"^",10)=DT
- +19 DO PR
- End DoDot:1
- +20 DO ^%ZISC
- GOTO QUIT
- QUIT KILL ADTA,D0,DFN,DIC,DIR,DIRUT,DTA,I,L,PN,POP,Y,DIV,EDT,PR,SDT,TIME,LAB,Y,STATE
- +1 KILL DATE,DOD,X,Q,%DT,%ZIS,SDRR,VA,CHECK,ZTDESC,ZTDSC,ZTEAM,ZTIO,ZTRTN,ZTSAVE
- +2 QUIT
- SELDT SET %DT="AEX"
- SET %DT("A")="Start with RECALL DATE: "
- DO ^%DT
- IF Y<0
- QUIT
- SET SDT=Y
- SET %DT("A")="End with RECALL DATE: "
- DO ^%DT
- IF Y<SDT
- WRITE $CHAR(7)," ??"
- GOTO SELDT
- +1 SET EDT=Y
- QUIT
- PR WRITE @IOF
- FOR L=1:1:7
- WRITE !
- +1 WRITE !?20,$PIECE($PIECE(PN,",",2)," ",1)_" "_$PIECE(PN,",")
- +2 IF $PIECE(VAPA(1),U)'=""
- WRITE !?20,$PIECE(VAPA(1),U)
- +3 IF $PIECE(VAPA(2),U)'=""
- WRITE !?20,$PIECE(VAPA(2),U)
- +4 IF $PIECE(VAPA(3),U)'=""
- WRITE !?20,$PIECE(VAPA(3),U)
- +5 WRITE !?20,$PIECE(VAPA(4),U),", "_STATE_" ",$PIECE(VAPA(6),U)
- +6 IF TIME'=""
- WRITE !!?45,TIME
- +7 IF LAB'=""
- WRITE !!?45,LAB
- +8 QUIT
- EN1 ;PRINT BY TEAM
- +1 SET DIC="^SD(403.55,"
- SET DIC(0)="AEQMZ"
- SET DIC("A")="Select Clinic Team: "
- DO ^DIC
- IF Y<0
- QUIT
- SET ZTEAM=+Y
- DO SELDT
- IF Y<0
- GOTO QUIT
- +2 SET %ZIS="QM"
- DO ^%ZIS
- IF POP
- GOTO QUIT
- IF $DATA(IO("Q"))
- SET ZTDESC="Print Recall Cards by Team"
- SET ZTRTN="DQT^SDRRRECP"
- SET ZTSAVE("*")=""
- DO ^%ZTLOAD
- GOTO QUIT
- DQT KILL ^TMP($JOB)
- +1 SET PR=0
- FOR
- SET PR=$ORDER(^SD(403.5,"C",PR))
- IF PR=""
- QUIT
- IF $PIECE($GET(^SD(403.54,PR,0)),U,2)=+ZTEAM
- SET D0=0
- FOR
- SET D0=$ORDER(^SD(403.5,"C",PR,D0))
- IF D0=""
- QUIT
- SET DTA=$GET(^SD(403.5,D0,0))
- IF DTA]""
- Begin DoDot:1
- +2 SET TIME=""
- +3 IF $PIECE(^SD(403.5,D0,0),"^",9)["60"
- SET TIME=$PIECE(^SD(403.5,D0,0),"^",9)
- SET TIME="**"_TIME_"**"
- +4 SET LAB=$SELECT($PIECE($GET(^SD(403.5,D0,0)),"^",8)="f":"**FL",$PIECE(^SD(403.5,D0,0),"^",8)="n":"**NFL",1:"")
- +5 SET DFN=+DTA
- +6 IF $$TESTPAT^VADPT(DFN)
- QUIT
- +7 DO ADD^VADPT
- DO DEM^VADPT
- +8 SET PN=$PIECE(VADM(1),U)
- +9 SET STATE=$PIECE(VAPA(5),"^",1)
- SET STATE=$$GET1^DIQ(5,STATE_",",1)
- +10 IF $GET(VADM(6),U)'=""
- QUIT
- +11 IF $PIECE(DTA,"^",6)<SDT!($PIECE(DTA,"^",6)>EDT)
- QUIT
- +12 SET CHECK=$$BADADR^DGUTL3
- IF CHECK>0
- SET XMSUB="Bad Address for Recall Reminder Patient"
- SET XMTEXT="SDRR("
- Begin DoDot:2
- +13 SET XMY("G.SDRR BAD ADDRESS")=""
- SET XMDUZ=.5
- +14 SET SDRR(1)="Bad Address- card will not be printed for:"_" "_PN_" "_VA("BID")
- +15 DO ^XMD
- +16 KILL XMY,XMSUB,XMTEXT,XMDUZ
- +17 DO ^%ZISC
- GOTO QUIT
- End DoDot:2
- +18 ;ADDED THE DATE INFORMATION
- +19 SET $PIECE(^SD(403.5,D0,0),"^",10)=DT
- +20 DO PR
- End DoDot:1
- +21 DO ^%ZISC
- GOTO QUIT
- EN2 ;PRINT BY PROV
- +1 SET DIC="^SD(403.54,"
- SET DIC(0)="AEQMZ"
- SET DIC("A")="Select Provider: "
- DO ^DIC
- IF Y<0
- GOTO QUIT
- SET PR=+Y
- DO SELDT
- IF Y<0
- GOTO QUIT
- +2 SET %ZIS="QM"
- DO ^%ZIS
- IF POP
- GOTO QUIT
- IF $DATA(IO("Q"))
- SET ZTDESC="Print Recall Cards by Prov"
- SET ZTRTN="DQP^SDRRRECP"
- SET ZTSAVE("*")=""
- DO ^%ZTLOAD
- GOTO QUIT
- DQP KILL ^TMP($JOB)
- +1 SET D0=0
- FOR
- SET D0=$ORDER(^SD(403.5,"C",PR,D0))
- IF D0=""
- QUIT
- SET DTA=$GET(^SD(403.5,D0,0))
- IF DTA]""
- Begin DoDot:1
- +2 SET TIME=""
- +3 IF $PIECE(^SD(403.5,D0,0),"^",9)>30
- SET TIME=$PIECE(^SD(403.5,D0,0),"^",9)
- SET TIME="**"_TIME_"**"
- +4 SET LAB=$SELECT($PIECE($GET(^SD(403.5,D0,0)),"^",8)="f":"**FL",$PIECE(^SD(403.5,D0,0),"^",8)="n":"**NFL",1:"")
- +5 SET DFN=+DTA
- +6 IF $$TESTPAT^VADPT(DFN)
- QUIT
- +7 DO ADD^VADPT
- DO DEM^VADPT
- +8 SET STATE=$PIECE(VAPA(5),"^",1)
- SET STATE=$$GET1^DIQ(5,STATE_",",1)
- +9 SET PN=$PIECE(VADM(1),U)
- +10 IF $GET(VADM(6),U)'=""
- QUIT
- +11 IF $PIECE(DTA,"^",6)<SDT!($PIECE(DTA,"^",6)>EDT)
- QUIT
- +12 SET CHECK=$$BADADR^DGUTL3
- IF CHECK>0
- SET XMSUB="Bad Address for Recall Reminder Patient"
- SET XMTEXT="SDRR("
- Begin DoDot:2
- +13 SET XMY("G.SDRR BAD ADDRESS")=""
- SET XMDUZ=.5
- +14 SET SDRR(1)="Bad Address- card will not be printed for:"_" "_PN_" "_VA("BID")
- +15 DO ^XMD
- +16 KILL XMY,XMSUB,XMTEXT,XMDUZ
- End DoDot:2
- +17 ;ADDED THE DATE INFORMATION
- +18 SET $PIECE(^SD(403.5,D0,0),"^",10)=DT
- +19 DO PR
- End DoDot:1
- +20 DO ^%ZISC
- GOTO QUIT
- EN4 ;PRINT BY Patient
- +1 WRITE !
- SET DIC="^SD(403.5,"
- SET DIC(0)="AEQMZ"
- SET DIC("A")="Select Patient: "
- DO ^DIC
- IF Y<0
- GOTO QUIT
- SET D0=+Y
- +2 SET %ZIS="QM"
- DO ^%ZIS
- IF POP
- GOTO QUIT
- IF $DATA(IO("Q"))
- SET ZTDESC="Print Recall Cards by Prov"
- SET ZTRTN="DPP^SDRRRECP"
- SET ZTSAVE("*")=""
- DO ^%ZTLOAD
- GOTO QUIT
- DPP KILL ^TMP($JOB)
- +1 SET DTA=$GET(^SD(403.5,D0,0))
- IF DTA]""
- Begin DoDot:1
- +2 SET TIME=""
- +3 IF $PIECE(^SD(403.5,D0,0),"^",9)>30
- SET TIME=$PIECE(^SD(403.5,D0,0),"^",9)
- SET TIME="**"_TIME_"**"
- +4 SET LAB=$SELECT($PIECE($GET(^SD(403.5,D0,0)),"^",8)="f":"**FL",$PIECE(^SD(403.5,D0,0),"^",8)="n":"**NFL",1:"")
- +5 SET DFN=+DTA
- +6 IF $$TESTPAT^VADPT(DFN)
- QUIT
- +7 DO ADD^VADPT
- DO DEM^VADPT
- +8 SET STATE=$PIECE(VAPA(5),"^",1)
- SET STATE=$$GET1^DIQ(5,STATE_",",1)
- +9 SET PN=$PIECE(VADM(1),U)
- +10 IF $GET(VADM(6),U)'=""
- QUIT
- +11 SET CHECK=$$BADADR^DGUTL3
- IF CHECK>0
- SET XMSUB="Bad Address for Recall Reminder Patient"
- SET XMTEXT="SDRR("
- Begin DoDot:2
- +12 SET XMY("G.SDRR BAD ADDRESS")=""
- SET XMDUZ=.5
- +13 SET SDRR(1)="Bad Address- card will not be printed for:"_" "_PN_" "_VA("BID")
- +14 DO ^XMD
- +15 KILL XMY,XMSUB,XMTEXT,XMDUZ
- End DoDot:2
- +16 ;ADDED THE DATE INFORMATION
- +17 SET $PIECE(^SD(403.5,D0,0),"^",10)=DT
- +18 DO PR
- End DoDot:1
- +19 DO ^%ZISC
- GOTO QUIT
- EN5 ;PRINT BY TEAM
- +1 SET DIC="^SD(403.55,"
- SET DIC(0)="AEQMZ"
- SET DIC("A")="Select Clinic Team: "
- DO ^DIC
- SET ZTEAM=+Y
- IF Y<0
- GOTO QUIT
- +2 SET %ZIS="QM"
- DO ^%ZIS
- IF POP
- GOTO QUIT
- IF $DATA(IO("Q"))
- SET ZTDESC="Print Nonresponsive Recall Cards by Team"
- SET ZTRTN="DQDD^SDRRRECP"
- SET ZTSAVE("*")=""
- DO ^%ZTLOAD
- GOTO QUIT
- DQDD KILL ^TMP($JOB)
- +1 NEW CHKDATE
- +2 SET PR=0
- FOR
- SET PR=$ORDER(^SD(403.5,"C",PR))
- IF PR=""
- QUIT
- IF $PIECE($GET(^SD(403.54,PR,0)),U,2)=+ZTEAM
- SET D0=0
- FOR
- SET D0=$ORDER(^SD(403.5,"C",PR,D0))
- IF D0=""
- QUIT
- SET DTA=$GET(^SD(403.5,D0,0))
- IF DTA]""
- Begin DoDot:1
- +3 IF $PIECE($GET(^SD(403.5,D0,0)),"^",10)=""
- QUIT
- +4 ; SD*569 - Prevent from printing more than ONE second card
- +5 IF $PIECE($GET(^SD(403.5,D0,0)),"^",13)'=""
- QUIT
- +6 SET CHKDATE=5
- SET RDATE=$PIECE($GET(^SD(403.5,D0,0)),"^",6)
- SET CHECK=$$FMDIFF^XLFDT(RDATE,DT)
- IF CHECK>CHKDATE
- KILL RDATE
- QUIT
- +7 SET TIME=""
- +8 IF $PIECE(^SD(403.5,D0,0),"^",9)["60"
- SET TIME=$PIECE(^SD(403.5,D0,0),"^",9)
- SET TIME="**"_TIME_"**"
- +9 SET LAB=$SELECT($PIECE($GET(^SD(403.5,D0,0)),"^",8)="f":"**FL",$PIECE(^SD(403.5,D0,0),"^",8)="n":"**NFL",1:"")
- +10 SET DFN=+DTA
- +11 IF $$TESTPAT^VADPT(DFN)
- QUIT
- +12 DO ADD^VADPT
- DO DEM^VADPT
- +13 SET STATE=$PIECE(VAPA(5),"^",1)
- SET STATE=$$GET1^DIQ(5,STATE_",",1)
- +14 SET PN=$PIECE(VADM(1),U)
- +15 IF $GET(VADM(6),U)'=""
- QUIT
- +16 SET CHECK=$$BADADR^DGUTL3
- IF CHECK>0
- SET XMSUB="Bad Address for Recall Reminder Patient"
- SET XMTEXT="SDRR("
- Begin DoDot:2
- +17 SET XMY("G.SDRR BAD ADDRESS")=""
- SET XMDUZ=.5
- +18 SET SDRR(1)="Bad Address- card will not be printed for:"_" "_PN_" "_VA("BID")
- +19 DO ^XMD
- +20 KILL XMY,XMSUB,XMTEXT,XMDUZ
- End DoDot:2
- +21 ;ADDED THE DATE INFORMATION
- +22 SET $PIECE(^SD(403.5,D0,0),"^",13)=DT
- +23 DO PR
- End DoDot:1
- +24 DO ^%ZISC
- GOTO QUIT
- +25 QUIT