- SDRRCRR1 ;10N20/MAH;Recall Reminder list report; 11/8/2006
- ;;5.3;PIMS;**1016**;JUN 30, 2012;Build 20
- EN2 ;BY Teams SELECTED Team
- G:'$D(SDT) QUIT
- N VAUTSTR,VAUTVB
- S DIC="^SD(403.55,",VAUTVB="VAUTT",VAUTSTR="Team",VAUTNI="1"
- S DIC(0)="EQMNZ",DIC("A")="Select "_VAUTSTR_": " K @VAUTVB S (@VAUTVB,Y)=0
- REDO1 N VAERR,VAI,VAUTNALL,VAUTX
- W !,DIC("A") W:'$D(VAUTNALL) "ALL// " R X:DTIME G QUIT:(X="^")!'$T D:X["?" QQQ I X="" G:$D(VAUTNALL) QUIT S @VAUTVB=1 G TEAM
- S DIC("A")="Select another "_VAUTSTR_": " D ^DIC G:Y'>0 REDO1 D SET
- F VAI=1:0:19 W !,DIC("A") R X:DTIME G QUIT:(X="^")!'$T K Y Q:X="" D QQQ:X["?" S:$E(X)="-" VAUTX=X,X=$E(VAUTX,2,999) D ^DIC I Y>0 D SET G:VAX REDO1 S:'VAERR VAI=VAI+1
- TEAM ;
- I VAUTT=1 G ENTEAM
- I VAUTT=0 G ONTEAM
- Q
- QQQ W !!,"Please select up to 20 Team that you would like to print" Q
- ENTEAM W !!,"***This report requires 132 columns",!! S %ZIS="QM" D ^%ZIS G:POP QUIT
- I $D(IO("Q")) S ZTIO=ION,ZTDESC="Print Recall List for Clinics",ZTRTN="ENTEAM1^SDRRCRR1" S ZTSAVE("*")="" D ^%ZTLOAD G QUIT
- ENTEAM1 ;ALL TEAMS
- K ^TMP($J,"ENTEAM")
- S (PRO,RDT,CDT,CDT1,PAT,PHONE,CLINIC,COMMENT,DIV,DIV1,TEST)=""
- S ZPR=0 F S ZPR=$O(^SD(403.5,"C",ZPR)) Q:ZPR="" S D0=0 F S D0=$O(^SD(403.5,"C",ZPR,D0)) Q:D0="" S DTA=$G(^SD(403.5,D0,0)) D:DTA]""
- .S TEST=$P($G(^SD(403.5,D0,0)),U,5) S DIV=$P($G(^SD(403.54,TEST,0)),U,2)
- .I DIV'="" S DIV1=$P($G(^SD(403.55,DIV,0)),"^",1)
- .I DIV1="" S DIV1="Unknown"
- .S RDT=$P($G(DTA),"^",6) Q:RDT=""
- .Q:RDT<SDT!(RDT>EDT)
- .S MONTH=$E(RDT,4,5),YR=$E(RDT,2,3)
- .S CLINIC=$P($G(DTA),"^",2),DIV=CLINIC I CLINIC'="" S CLINIC=$$GET1^DIQ(44,CLINIC_",",.01)
- .I CLINIC="" S CLINIC="Unknown Clinic" ;CLINIC
- .S Y=RDT D DD^%DT S DATE=Y K Y ;RECALL DATE
- .S PAT=$P($G(DTA),"^",1)
- .Q:$$TESTPAT^VADPT(PAT)
- .S DFN=PAT
- .D ADD^VADPT,DEM^VADPT
- .S LN=$E(VADM(1),1)_$P(VA("BID"),U)
- .S PAT1=$P(VADM(1),U)
- .S (CDT,CDT1)="",Y=$P($G(DTA),"^",10) I Y'="" D DD^%DT S CDT=Y K Y
- .S Z=$P($G(DTA),"^",13) I Z'="" S CDT1="*"_CDT K Z D
- ..I CDT1'="" S CDT=CDT1
- .I CDT="" S CDT="NotSent"
- .S PHONE=$P(VAPA(8),U)
- .I PHONE="" S PHONE="Unk. Phone" ;phone
- .S COMMENT=$P($G(DTA),"^",7)
- .S PRO=$P($G(DTA),"^",5) I PRO'="" S PRO1=$P($G(^SD(403.54,PRO,0)),"^",1),PRO2=$$NAME^XUSER(PRO1,"F")
- .I PRO="" S PRO2="Unk. Provider"
- .S USER=$P($G(DTA),"^",11) I USER'="" S USER1=$$NAME^XUSER(USER)
- .I USER="" S USER1="Unk. User"
- .S ^TMP($J,"ENTEAM",DIV1,CLINIC,PRO2,MONTH,RDT,PAT1)=CLINIC_"^"_PRO2_"^"_DATE_"^"_CDT_"^"_PAT1_"^"_PHONE_"^"_COMMENT_"^"_USER1_"^"_LN
- .K CLINIC,USER,PRO,PAT,RDT,CDT,CDT1
- D PRT4^SDRRCRRP
- D ^%ZISC
- G QUIT
- ;THIS PART OF THE TEAMS IS OK
- ONTEAM W !!,"***This report requires 132 columns",!! S %ZIS="QM" D ^%ZIS G:POP QUIT
- I $D(IO("Q")) S ZTIO=ION,ZTDESC="Print Recall List for Clinics",ZTRTN="ONTEAM1^SDRRCRR1" S ZTSAVE("*")="" D ^%ZTLOAD G QUIT
- ONTEAM1 ;SELECTED TEAMS
- K ^TMP($J,"ONTEAM")
- S (PRO,RDT,CDT,CDT1,PAT,PHONE,CLINIC,COMMENT,DIV,DIV1,TEST)=""
- S TM=0
- F S TM=$O(VAUTT(TM)) Q:TM="" S TEAM=$P(VAUTT(TM),"^",1) D
- .S ZPR=0 F S ZPR=$O(^SD(403.5,"C",ZPR)) Q:ZPR="" S D0=0 F S D0=$O(^SD(403.5,"C",ZPR,D0)) Q:D0="" S DTA=$G(^SD(403.5,D0,0)) D:DTA]""
- ..S TEST=$P($G(^SD(403.5,D0,0)),U,5) S DIV=$P($G(^SD(403.54,TEST,0)),U,2)
- ..Q:DIV'=TEAM
- ..I DIV'="" S DIV1=$P($G(^SD(403.55,DIV,0)),"^",1)
- ..I DIV1="" S DIV1="Unknown"
- ..S RDT=$P($G(DTA),"^",6) Q:RDT=""
- ..Q:RDT<SDT!(RDT>EDT)
- ..S MONTH=$E(RDT,4,5),YR=$E(RDT,2,3)
- ..S CLINIC=$P($G(DTA),"^",2),DIV=CLINIC I CLINIC'="" S CLINIC=$$GET1^DIQ(44,CLINIC_",",.01)
- ..I CLINIC="" S CLINIC="Unknown Clinic" ;CLINIC
- ..S Y=RDT D DD^%DT S DATE=Y K Y ;RECALL DATE
- ..S PAT=$P($G(DTA),"^",1)
- ..Q:$$TESTPAT^VADPT(PAT)
- ..S DFN=PAT
- ..D ADD^VADPT,DEM^VADPT
- ..S LN=$E(VADM(1),1)_$P(VA("BID"),U)
- ..S PAT1=$P(VADM(1),U)
- ..S (CDT,CDT1)="",Y=$P($G(DTA),"^",10) I Y'="" D DD^%DT S CDT=Y K Y
- ..S Z=$P($G(DTA),"^",13) I Z'="" S CDT1="*"_CDT K Z D
- ...I CDT1'="" S CDT=CDT1
- ..I CDT="" S CDT="NotSent"
- ..S PHONE=$P(VAPA(8),U)
- ..I PHONE="" S PHONE="Unk. Phone" ;phone
- ..S COMMENT=$P($G(DTA),"^",7)
- ..S PRO=$P($G(DTA),"^",5) I PRO'="" S PRO1=$P($G(^SD(403.54,PRO,0)),"^",1),PRO2=$$NAME^XUSER(PRO1,"F")
- ..I PRO="" S PRO2="Unk. Provider"
- ..S USER=$P($G(DTA),"^",11) I USER'="" S USER1=$$NAME^XUSER(USER)
- ..I USER="" S USER1="Unk. User"
- ..S ^TMP($J,"ONTEAM",DIV1,CLINIC,PRO2,MONTH,RDT,PAT1)=CLINIC_"^"_PRO2_"^"_DATE_"^"_CDT_"^"_PAT1_"^"_PHONE_"^"_COMMENT_"^"_USER1_"^"_LN
- ..K CLINIC,USER,PRO,PAT,RDT,CDT,CDT1
- D PRT5^SDRRCRRP
- D ^%ZISC
- G QUIT
- ;BY CLINICS WORK FINE
- SET S VAX=0 I $D(VAUTX) S J=$S(VAUTNI=2:+Y,1:$P(Y(0),"^")) K VAUTX S VAERR=$S($D(@VAUTVB@(J)):0,1:1) W $S('VAERR:"...removed from list...",1:"...not on list...can't remove") Q:VAERR S VAI=VAI-1 K @VAUTVB@(J) S:$O(@VAUTVB@(0))']"" VAX=1 Q
- S VAERR=0 I $S($D(@VAUTVB@($P(Y(0),U))):1,$D(@VAUTVB@(+Y)):1,1:0) W !?3,*7,"You have already selected that ",VAUTSTR,". Try again." S VAERR=1
- I VAUTNI=1 S @VAUTVB@($P(Y(0),U))=+Y Q
- I VAUTNI=3 S @VAUTVB@($P(Y(0,0),U))=+Y Q
- S @VAUTVB@(+Y)=$P(Y(0),U) Q
- QUIT K DIR,Y,SDT,EDT,COMMENT,D0,DATE,DIC,DIV,DIV1,DTA,I,J,LN,MONTH,PAT1,PHONE,POP,PRO1,PRO2,SSN,TEAM,TEST,TM,USER1,X,YR,ZPR
- K ZTDESC,ZTIO,ZTRTN,ZTSAVE,%DT,%ZIS,%,VAUTC,VAUTD,VA,VAUTNI,VAUTT,DFN,VAX,VAERR,VADM,VAPA
- D KVAR^VADPT
- Q
- SDRRCRR1 ;10N20/MAH;Recall Reminder list report; 11/8/2006
- +1 ;;5.3;PIMS;**1016**;JUN 30, 2012;Build 20
- EN2 ;BY Teams SELECTED Team
- +1 IF '$DATA(SDT)
- GOTO QUIT
- +2 NEW VAUTSTR,VAUTVB
- +3 SET DIC="^SD(403.55,"
- SET VAUTVB="VAUTT"
- SET VAUTSTR="Team"
- SET VAUTNI="1"
- +4 SET DIC(0)="EQMNZ"
- SET DIC("A")="Select "_VAUTSTR_": "
- KILL @VAUTVB
- SET (@VAUTVB,Y)=0
- REDO1 NEW VAERR,VAI,VAUTNALL,VAUTX
- +1 WRITE !,DIC("A")
- IF '$DATA(VAUTNALL)
- WRITE "ALL// "
- READ X:DTIME
- IF (X="^")!'$TEST
- GOTO QUIT
- IF X["?"
- DO QQQ
- IF X=""
- IF $DATA(VAUTNALL)
- GOTO QUIT
- SET @VAUTVB=1
- GOTO TEAM
- +2 SET DIC("A")="Select another "_VAUTSTR_": "
- DO ^DIC
- IF Y'>0
- GOTO REDO1
- DO SET
- +3 FOR VAI=1:0:19
- WRITE !,DIC("A")
- READ X:DTIME
- IF (X="^")!'$TEST
- GOTO QUIT
- KILL Y
- IF X=""
- QUIT
- IF X["?"
- DO QQQ
- IF $EXTRACT(X)="-"
- SET VAUTX=X
- SET X=$EXTRACT(VAUTX,2,999)
- DO ^DIC
- IF Y>0
- DO SET
- IF VAX
- GOTO REDO1
- IF 'VAERR
- SET VAI=VAI+1
- TEAM ;
- +1 IF VAUTT=1
- GOTO ENTEAM
- +2 IF VAUTT=0
- GOTO ONTEAM
- +3 QUIT
- QQQ WRITE !!,"Please select up to 20 Team that you would like to print"
- QUIT
- ENTEAM WRITE !!,"***This report requires 132 columns",!!
- SET %ZIS="QM"
- DO ^%ZIS
- IF POP
- GOTO QUIT
- +1 IF $DATA(IO("Q"))
- SET ZTIO=ION
- SET ZTDESC="Print Recall List for Clinics"
- SET ZTRTN="ENTEAM1^SDRRCRR1"
- SET ZTSAVE("*")=""
- DO ^%ZTLOAD
- GOTO QUIT
- ENTEAM1 ;ALL TEAMS
- +1 KILL ^TMP($JOB,"ENTEAM")
- +2 SET (PRO,RDT,CDT,CDT1,PAT,PHONE,CLINIC,COMMENT,DIV,DIV1,TEST)=""
- +3 SET ZPR=0
- FOR
- SET ZPR=$ORDER(^SD(403.5,"C",ZPR))
- IF ZPR=""
- QUIT
- SET D0=0
- FOR
- SET D0=$ORDER(^SD(403.5,"C",ZPR,D0))
- IF D0=""
- QUIT
- SET DTA=$GET(^SD(403.5,D0,0))
- IF DTA]""
- Begin DoDot:1
- +4 SET TEST=$PIECE($GET(^SD(403.5,D0,0)),U,5)
- SET DIV=$PIECE($GET(^SD(403.54,TEST,0)),U,2)
- +5 IF DIV'=""
- SET DIV1=$PIECE($GET(^SD(403.55,DIV,0)),"^",1)
- +6 IF DIV1=""
- SET DIV1="Unknown"
- +7 SET RDT=$PIECE($GET(DTA),"^",6)
- IF RDT=""
- QUIT
- +8 IF RDT<SDT!(RDT>EDT)
- QUIT
- +9 SET MONTH=$EXTRACT(RDT,4,5)
- SET YR=$EXTRACT(RDT,2,3)
- +10 SET CLINIC=$PIECE($GET(DTA),"^",2)
- SET DIV=CLINIC
- IF CLINIC'=""
- SET CLINIC=$$GET1^DIQ(44,CLINIC_",",.01)
- +11 ;CLINIC
- IF CLINIC=""
- SET CLINIC="Unknown Clinic"
- +12 ;RECALL DATE
- SET Y=RDT
- DO DD^%DT
- SET DATE=Y
- KILL Y
- +13 SET PAT=$PIECE($GET(DTA),"^",1)
- +14 IF $$TESTPAT^VADPT(PAT)
- QUIT
- +15 SET DFN=PAT
- +16 DO ADD^VADPT
- DO DEM^VADPT
- +17 SET LN=$EXTRACT(VADM(1),1)_$PIECE(VA("BID"),U)
- +18 SET PAT1=$PIECE(VADM(1),U)
- +19 SET (CDT,CDT1)=""
- SET Y=$PIECE($GET(DTA),"^",10)
- IF Y'=""
- DO DD^%DT
- SET CDT=Y
- KILL Y
- +20 SET Z=$PIECE($GET(DTA),"^",13)
- IF Z'=""
- SET CDT1="*"_CDT
- KILL Z
- Begin DoDot:2
- +21 IF CDT1'=""
- SET CDT=CDT1
- End DoDot:2
- +22 IF CDT=""
- SET CDT="NotSent"
- +23 SET PHONE=$PIECE(VAPA(8),U)
- +24 ;phone
- IF PHONE=""
- SET PHONE="Unk. Phone"
- +25 SET COMMENT=$PIECE($GET(DTA),"^",7)
- +26 SET PRO=$PIECE($GET(DTA),"^",5)
- IF PRO'=""
- SET PRO1=$PIECE($GET(^SD(403.54,PRO,0)),"^",1)
- SET PRO2=$$NAME^XUSER(PRO1,"F")
- +27 IF PRO=""
- SET PRO2="Unk. Provider"
- +28 SET USER=$PIECE($GET(DTA),"^",11)
- IF USER'=""
- SET USER1=$$NAME^XUSER(USER)
- +29 IF USER=""
- SET USER1="Unk. User"
- +30 SET ^TMP($JOB,"ENTEAM",DIV1,CLINIC,PRO2,MONTH,RDT,PAT1)=CLINIC_"^"_PRO2_"^"_DATE_"^"_CDT_"^"_PAT1_"^"_PHONE_"^"_COMMENT_"^"_USER1_"^"_LN
- +31 KILL CLINIC,USER,PRO,PAT,RDT,CDT,CDT1
- End DoDot:1
- +32 DO PRT4^SDRRCRRP
- +33 DO ^%ZISC
- +34 GOTO QUIT
- +35 ;THIS PART OF THE TEAMS IS OK
- ONTEAM WRITE !!,"***This report requires 132 columns",!!
- SET %ZIS="QM"
- DO ^%ZIS
- IF POP
- GOTO QUIT
- +1 IF $DATA(IO("Q"))
- SET ZTIO=ION
- SET ZTDESC="Print Recall List for Clinics"
- SET ZTRTN="ONTEAM1^SDRRCRR1"
- SET ZTSAVE("*")=""
- DO ^%ZTLOAD
- GOTO QUIT
- ONTEAM1 ;SELECTED TEAMS
- +1 KILL ^TMP($JOB,"ONTEAM")
- +2 SET (PRO,RDT,CDT,CDT1,PAT,PHONE,CLINIC,COMMENT,DIV,DIV1,TEST)=""
- +3 SET TM=0
- +4 FOR
- SET TM=$ORDER(VAUTT(TM))
- IF TM=""
- QUIT
- SET TEAM=$PIECE(VAUTT(TM),"^",1)
- Begin DoDot:1
- +5 SET ZPR=0
- FOR
- SET ZPR=$ORDER(^SD(403.5,"C",ZPR))
- IF ZPR=""
- QUIT
- SET D0=0
- FOR
- SET D0=$ORDER(^SD(403.5,"C",ZPR,D0))
- IF D0=""
- QUIT
- SET DTA=$GET(^SD(403.5,D0,0))
- IF DTA]""
- Begin DoDot:2
- +6 SET TEST=$PIECE($GET(^SD(403.5,D0,0)),U,5)
- SET DIV=$PIECE($GET(^SD(403.54,TEST,0)),U,2)
- +7 IF DIV'=TEAM
- QUIT
- +8 IF DIV'=""
- SET DIV1=$PIECE($GET(^SD(403.55,DIV,0)),"^",1)
- +9 IF DIV1=""
- SET DIV1="Unknown"
- +10 SET RDT=$PIECE($GET(DTA),"^",6)
- IF RDT=""
- QUIT
- +11 IF RDT<SDT!(RDT>EDT)
- QUIT
- +12 SET MONTH=$EXTRACT(RDT,4,5)
- SET YR=$EXTRACT(RDT,2,3)
- +13 SET CLINIC=$PIECE($GET(DTA),"^",2)
- SET DIV=CLINIC
- IF CLINIC'=""
- SET CLINIC=$$GET1^DIQ(44,CLINIC_",",.01)
- +14 ;CLINIC
- IF CLINIC=""
- SET CLINIC="Unknown Clinic"
- +15 ;RECALL DATE
- SET Y=RDT
- DO DD^%DT
- SET DATE=Y
- KILL Y
- +16 SET PAT=$PIECE($GET(DTA),"^",1)
- +17 IF $$TESTPAT^VADPT(PAT)
- QUIT
- +18 SET DFN=PAT
- +19 DO ADD^VADPT
- DO DEM^VADPT
- +20 SET LN=$EXTRACT(VADM(1),1)_$PIECE(VA("BID"),U)
- +21 SET PAT1=$PIECE(VADM(1),U)
- +22 SET (CDT,CDT1)=""
- SET Y=$PIECE($GET(DTA),"^",10)
- IF Y'=""
- DO DD^%DT
- SET CDT=Y
- KILL Y
- +23 SET Z=$PIECE($GET(DTA),"^",13)
- IF Z'=""
- SET CDT1="*"_CDT
- KILL Z
- Begin DoDot:3
- +24 IF CDT1'=""
- SET CDT=CDT1
- End DoDot:3
- +25 IF CDT=""
- SET CDT="NotSent"
- +26 SET PHONE=$PIECE(VAPA(8),U)
- +27 ;phone
- IF PHONE=""
- SET PHONE="Unk. Phone"
- +28 SET COMMENT=$PIECE($GET(DTA),"^",7)
- +29 SET PRO=$PIECE($GET(DTA),"^",5)
- IF PRO'=""
- SET PRO1=$PIECE($GET(^SD(403.54,PRO,0)),"^",1)
- SET PRO2=$$NAME^XUSER(PRO1,"F")
- +30 IF PRO=""
- SET PRO2="Unk. Provider"
- +31 SET USER=$PIECE($GET(DTA),"^",11)
- IF USER'=""
- SET USER1=$$NAME^XUSER(USER)
- +32 IF USER=""
- SET USER1="Unk. User"
- +33 SET ^TMP($JOB,"ONTEAM",DIV1,CLINIC,PRO2,MONTH,RDT,PAT1)=CLINIC_"^"_PRO2_"^"_DATE_"^"_CDT_"^"_PAT1_"^"_PHONE_"^"_COMMENT_"^"_USER1_"^"_LN
- +34 KILL CLINIC,USER,PRO,PAT,RDT,CDT,CDT1
- End DoDot:2
- End DoDot:1
- +35 DO PRT5^SDRRCRRP
- +36 DO ^%ZISC
- +37 GOTO QUIT
- +38 ;BY CLINICS WORK FINE
- SET SET VAX=0
- IF $DATA(VAUTX)
- SET J=$SELECT(VAUTNI=2:+Y,1:$PIECE(Y(0),"^"))
- KILL VAUTX
- SET VAERR=$SELECT($DATA(@VAUTVB@(J)):0,1:1)
- WRITE $SELECT('VAERR:"...removed from list...",1:"...not on list...can't remove")
- IF VAERR
- QUIT
- SET VAI=VAI-1
- KILL @VAUTVB@(J)
- IF $ORDER(@VAUTVB@(0))']""
- SET VAX=1
- QUIT
- +1 SET VAERR=0
- IF $SELECT($DATA(@VAUTVB@($PIECE(Y(0),U))):1,$DATA(@VAUTVB@(+Y)):1,1:0)
- WRITE !?3,*7,"You have already selected that ",VAUTSTR,". Try again."
- SET VAERR=1
- +2 IF VAUTNI=1
- SET @VAUTVB@($PIECE(Y(0),U))=+Y
- QUIT
- +3 IF VAUTNI=3
- SET @VAUTVB@($PIECE(Y(0,0),U))=+Y
- QUIT
- +4 SET @VAUTVB@(+Y)=$PIECE(Y(0),U)
- QUIT
- QUIT KILL DIR,Y,SDT,EDT,COMMENT,D0,DATE,DIC,DIV,DIV1,DTA,I,J,LN,MONTH,PAT1,PHONE,POP,PRO1,PRO2,SSN,TEAM,TEST,TM,USER1,X,YR,ZPR
- +1 KILL ZTDESC,ZTIO,ZTRTN,ZTSAVE,%DT,%ZIS,%,VAUTC,VAUTD,VA,VAUTNI,VAUTT,DFN,VAX,VAERR,VADM,VAPA
- +2 DO KVAR^VADPT
- +3 QUIT