PXRMG2M1 ;SLC/JVS -GEC #2 MAIL MESSAGES ;7/14/05 08:12
;;2.0;CLINICAL REMINDERS;**2,4**;Feb 04, 2005;Build 21
Q
;=================================================
TASK ;Start queued option PXRM GEC QUARTERLY ROLLUP
Q:'$D(DT)
D CALCMON
D EN^PXRMG2E2
D MAIL
Q
START ;Start queued option PXRM GEC QUARTERLY ROLLUP
Q:'$D(DT)
D CALC
D EN^PXRMG2E2
D MAIL
Q
MAIL ;MAIL OUT the STAT array
N SITE,XMZ,XMY,XMSUB,XMDUZ,SITE2
S XMSUB="GEC FISCAL QUARTER "_FQUARTER_" "_YEAR_" Rollup Data"
I DT<3050401 S XMSUB="TEST DATA-- "_XMSUB
S SITE=$P($$SITE^VASITE,"^",2)_" #"_$P($$SITE^VASITE,"^",3)
S SITE2=$P($$SITE^VASITE,"^",3)_" "_$P($$SITE^VASITE,"^",2)
S XMDUZ=SITE2_" GEC Rollup Data"
RETRY D XMZ^XMA2
I XMZ<1 G RETRY
;
N PROG,MON,L,LINE,MGIEN,MGROUP
S L=0
S PROG="AD" F S PROG=$O(STAT(PROG)) Q:PROG="" D
.S MON=0 F S MON=$O(STAT(PROG,MON)) Q:MON="" D
..S L=L+1
..S ^XMB(3.9,XMZ,2,L,0)=$G(STAT(PROG,MON))
;
I L>10 D
.F I=(L+1):1:14 S ^XMB(3.9,XMZ,2,I,0)=$P($T(TEXT+(I-12)),";",3)
.S ^XMB(3.9,XMZ,2,15,0)="data from "_SITE_" for Fiscal Quarter # "_FQUARTER_" of "_YEAR_". (Calendar Quarter "_QUARTER_")"
.S L=15 F I=(L+1):1:55 S ^XMB(3.9,XMZ,2,I,0)=$P($T(TEXT+(I-12)),";",3)
.;
.S ^XMB(3.9,XMZ,2,0)="^3.92^"_I_"^"_I_"^"_DT
.S XMDUZ="GEC Project"
.I $$PROD^XUPROD(1) S XMY("G.GEC2 NATIONAL ROLLUP")=""
.S MGIEN=$G(^PXRM(800,1,"MGFE"))
.I MGIEN'="" D
..S MGROUP="G."_$$GET1^DIQ(3.8,MGIEN,.01)
..S XMY(MGROUP)=""
.D ENT1^XMD
.D EXIT
Q
TEXT ;Text added to the bottom of the mail message
;13;
;14; The above information is Geriatric Extended Care "Home" Referral
;15;
;16;-------------------------------------------------
;17; Each section of data is separated by a comma. The table below
;18;defines the sections. Numbers represent Patients. Patient only counted once.
;19;
;20; 1 Number for the site.
;21; 2 Number that stands for the Month (1=January)...
;22; 3 Acronym for the Program (ADHC,HHHA,VAIHR,CC)
;23; 4 Total number of patients referred to the program that month
;24; 5 Number that DID NOT MEET ANY of the criteria
;25; 6 Number that only met criteria 1
;26; 7 Number that only met criteria 2
;27; 8 Number that only met criteria 3
;28; 9 Number that only met criteria 4
;29; 10 Number that only met both criteria's 1 and 2
;30; 11 Number that only met both criteria's 1 and 3
;31; 12 Number that only met both criteria's 1 and 4
;32; 13 Number that only met both criteria's 2 and 3
;34; 14 Number that only met both criteria's 2 and 4
;35; 15 Number that only met both criteria's 3 and 4
;36; 16 Number that only met the criteria's 1 and 2 and 3
;37; 17 Number that only met the criteria's 1 and 2 and 4
;38; 18 Number that only met the criteria's 1 and 3 and 4
;39; 19 Number that only met the criteria's 2 and 3 and 4
;40; 20 Number that met all criteria's 1 and 2 and 3 and 4
;41;
;42;--------------------------------------------------
;43;The Basic Criteria for Eligibility is shown below.
;44;
;45; 1: Problems with 3 or more ADL's.
;46; 2: 1 or more patient behavior or cognitive problem.
;47; 3: Expected life limit of less than 6 months.
;48; 4: Combination of the following:
;49; 2 or more ADL dependencies.
;50; <AND> 2 or more of the following:
;51; problems with 3 or more IADL's.
;52; <OR> age of patients is 75 or more.
;53; <OR> living alone in the community.
;54; <OR> utilizes the clinics 12 or more times in the
;55; preceding 12 months.
;============================================
EXIT ;Exit and Clean up Variables
K ^TMP("PXRMGEC",$J)
Q
CALC ;Calculate the quarter number
N MON,YER,CQTR,BCQTR,BQTR,BYER,FQTR
S MON=+$E(DT,4,5),YER=1700+$E(DT,1,3)
;
I MON=1!(MON=2)!(MON=3) S CQTR=1
I MON=4!(MON=5)!(MON=6) S CQTR=2
I MON=7!(MON=8)!(MON=9) S CQTR=3
I MON=10!(MON=11)!(MON=12) S CQTR=4
;
I CQTR=1 S BYER=YER-1
E S BYER=YER
I CQTR=1 S BQTR=4
E S BQTR=CQTR-1
;
I BQTR=1 S FQTR=2
I BQTR=2 S FQTR=3
I BQTR=3 S FQTR=4
I BQTR=4 S FQTR=1
S QUARTER=BQTR,FQUARTER=FQTR,YEAR=BYER,DFNONLY=0
;After april 1 2005 no test patients
S TPAT=0
Q
;
CALCMON ;Calculate the quarter number for current quarter
N MON,YER,CQTR,BQTR,BCQTR,BYER,FQTR
S MON=+$E(DT,4,5),YER=1700+$E(DT,1,3)
;
I MON=1!(MON=2)!(MON=3) S CQTR=1
I MON=4!(MON=5)!(MON=6) S CQTR=2
I MON=7!(MON=8)!(MON=9) S CQTR=3
I MON=10!(MON=11)!(MON=12) S CQTR=4
;
S BYER=YER
S BQTR=CQTR
;
I BQTR=1 S FQTR=2
I BQTR=2 S FQTR=3
I BQTR=3 S FQTR=4
I BQTR=4 S FQTR=1
;
S QUARTER=BQTR,FQUARTER=FQTR,YEAR=BYER,DFNONLY=0
;After april 1 2005 no test patients
S TPAT=0
S ZTREQ="@"
;
Q
;
POST ;Post installation routine
;add remote members to mail group
D ADDMBRS^XMXAPIG(DUZ,"GEC2 NATIONAL ROLLUP","VAUGHN.SMITH@MED.VA.GOV")
D ADDMBRS^XMXAPIG(DUZ,"GEC2 NATIONAL ROLLUP","patrick.brady@e2k.hq.med.va.gov")
D ADDMBRS^XMXAPIG(DUZ,"GEC2 NATIONAL ROLLUP","daniel.schoeps@e2k.hq.med.va.gov")
;
TASKRPT ;This will task a monthy report for 4 month.
;May 8th 2005,June 8th 2005,AUG 8th 2005,Sept 8th 2005
N ZTRTN,ZTDESC,ZTDTH,ZTIO,MON,ZTREQ,ZTSK
S MON=0
Q:$D(^TMP("PXRMG2TSK"))
F ZTDTH="3050508.0200","3050608.0200","3050808.0200","3050908.0200" D
.S MON=MON+1
.I MON=1 S MONTH="MAY"
.I MON=2 S MONTH="JUNE"
.I MON=3 S MONTH="AUGUST"
.I MON=4 S MONTH="SEPT"
.S ZTRTN="TASK^PXRMG2M1"
.S ZTDESC=MONTH_" 2005 GEC National Report"
.S ZTIO=""
.D ^%ZTLOAD
.D BMES^XPDUTL(MONTH_" 8th's GEC Tasked Job number "_ZTSK)
S ^TMP("PXRMG2TSK",$J)="DT"
CLEAN ;Clean up after previous builds
K ^PXRMD(801.5,"ATASK")
Q
PXRMG2M1 ;SLC/JVS -GEC #2 MAIL MESSAGES ;7/14/05 08:12
+1 ;;2.0;CLINICAL REMINDERS;**2,4**;Feb 04, 2005;Build 21
+2 QUIT
+3 ;=================================================
TASK ;Start queued option PXRM GEC QUARTERLY ROLLUP
+1 IF '$DATA(DT)
QUIT
+2 DO CALCMON
+3 DO EN^PXRMG2E2
+4 DO MAIL
+5 QUIT
START ;Start queued option PXRM GEC QUARTERLY ROLLUP
+1 IF '$DATA(DT)
QUIT
+2 DO CALC
+3 DO EN^PXRMG2E2
+4 DO MAIL
+5 QUIT
MAIL ;MAIL OUT the STAT array
+1 NEW SITE,XMZ,XMY,XMSUB,XMDUZ,SITE2
+2 SET XMSUB="GEC FISCAL QUARTER "_FQUARTER_" "_YEAR_" Rollup Data"
+3 IF DT<3050401
SET XMSUB="TEST DATA-- "_XMSUB
+4 SET SITE=$PIECE($$SITE^VASITE,"^",2)_" #"_$PIECE($$SITE^VASITE,"^",3)
+5 SET SITE2=$PIECE($$SITE^VASITE,"^",3)_" "_$PIECE($$SITE^VASITE,"^",2)
+6 SET XMDUZ=SITE2_" GEC Rollup Data"
RETRY DO XMZ^XMA2
+1 IF XMZ<1
GOTO RETRY
+2 ;
+3 NEW PROG,MON,L,LINE,MGIEN,MGROUP
+4 SET L=0
+5 SET PROG="AD"
FOR
SET PROG=$ORDER(STAT(PROG))
IF PROG=""
QUIT
Begin DoDot:1
+6 SET MON=0
FOR
SET MON=$ORDER(STAT(PROG,MON))
IF MON=""
QUIT
Begin DoDot:2
+7 SET L=L+1
+8 SET ^XMB(3.9,XMZ,2,L,0)=$GET(STAT(PROG,MON))
End DoDot:2
End DoDot:1
+9 ;
+10 IF L>10
Begin DoDot:1
+11 FOR I=(L+1):1:14
SET ^XMB(3.9,XMZ,2,I,0)=$PIECE($TEXT(TEXT+(I-12)),";",3)
+12 SET ^XMB(3.9,XMZ,2,15,0)="data from "_SITE_" for Fiscal Quarter # "_FQUARTER_" of "_YEAR_". (Calendar Quarter "_QUARTER_")"
+13 SET L=15
FOR I=(L+1):1:55
SET ^XMB(3.9,XMZ,2,I,0)=$PIECE($TEXT(TEXT+(I-12)),";",3)
+14 ;
+15 SET ^XMB(3.9,XMZ,2,0)="^3.92^"_I_"^"_I_"^"_DT
+16 SET XMDUZ="GEC Project"
+17 IF $$PROD^XUPROD(1)
SET XMY("G.GEC2 NATIONAL ROLLUP")=""
+18 SET MGIEN=$GET(^PXRM(800,1,"MGFE"))
+19 IF MGIEN'=""
Begin DoDot:2
+20 SET MGROUP="G."_$$GET1^DIQ(3.8,MGIEN,.01)
+21 SET XMY(MGROUP)=""
End DoDot:2
+22 DO ENT1^XMD
+23 DO EXIT
End DoDot:1
+24 QUIT
TEXT ;Text added to the bottom of the mail message
+1 ;13;
+2 ;14; The above information is Geriatric Extended Care "Home" Referral
+3 ;15;
+4 ;16;-------------------------------------------------
+5 ;17; Each section of data is separated by a comma. The table below
+6 ;18;defines the sections. Numbers represent Patients. Patient only counted once.
+7 ;19;
+8 ;20; 1 Number for the site.
+9 ;21; 2 Number that stands for the Month (1=January)...
+10 ;22; 3 Acronym for the Program (ADHC,HHHA,VAIHR,CC)
+11 ;23; 4 Total number of patients referred to the program that month
+12 ;24; 5 Number that DID NOT MEET ANY of the criteria
+13 ;25; 6 Number that only met criteria 1
+14 ;26; 7 Number that only met criteria 2
+15 ;27; 8 Number that only met criteria 3
+16 ;28; 9 Number that only met criteria 4
+17 ;29; 10 Number that only met both criteria's 1 and 2
+18 ;30; 11 Number that only met both criteria's 1 and 3
+19 ;31; 12 Number that only met both criteria's 1 and 4
+20 ;32; 13 Number that only met both criteria's 2 and 3
+21 ;34; 14 Number that only met both criteria's 2 and 4
+22 ;35; 15 Number that only met both criteria's 3 and 4
+23 ;36; 16 Number that only met the criteria's 1 and 2 and 3
+24 ;37; 17 Number that only met the criteria's 1 and 2 and 4
+25 ;38; 18 Number that only met the criteria's 1 and 3 and 4
+26 ;39; 19 Number that only met the criteria's 2 and 3 and 4
+27 ;40; 20 Number that met all criteria's 1 and 2 and 3 and 4
+28 ;41;
+29 ;42;--------------------------------------------------
+30 ;43;The Basic Criteria for Eligibility is shown below.
+31 ;44;
+32 ;45; 1: Problems with 3 or more ADL's.
+33 ;46; 2: 1 or more patient behavior or cognitive problem.
+34 ;47; 3: Expected life limit of less than 6 months.
+35 ;48; 4: Combination of the following:
+36 ;49; 2 or more ADL dependencies.
+37 ;50; <AND> 2 or more of the following:
+38 ;51; problems with 3 or more IADL's.
+39 ;52; <OR> age of patients is 75 or more.
+40 ;53; <OR> living alone in the community.
+41 ;54; <OR> utilizes the clinics 12 or more times in the
+42 ;55; preceding 12 months.
+43 ;============================================
EXIT ;Exit and Clean up Variables
+1 KILL ^TMP("PXRMGEC",$JOB)
+2 QUIT
CALC ;Calculate the quarter number
+1 NEW MON,YER,CQTR,BCQTR,BQTR,BYER,FQTR
+2 SET MON=+$EXTRACT(DT,4,5)
SET YER=1700+$EXTRACT(DT,1,3)
+3 ;
+4 IF MON=1!(MON=2)!(MON=3)
SET CQTR=1
+5 IF MON=4!(MON=5)!(MON=6)
SET CQTR=2
+6 IF MON=7!(MON=8)!(MON=9)
SET CQTR=3
+7 IF MON=10!(MON=11)!(MON=12)
SET CQTR=4
+8 ;
+9 IF CQTR=1
SET BYER=YER-1
+10 IF '$TEST
SET BYER=YER
+11 IF CQTR=1
SET BQTR=4
+12 IF '$TEST
SET BQTR=CQTR-1
+13 ;
+14 IF BQTR=1
SET FQTR=2
+15 IF BQTR=2
SET FQTR=3
+16 IF BQTR=3
SET FQTR=4
+17 IF BQTR=4
SET FQTR=1
+18 SET QUARTER=BQTR
SET FQUARTER=FQTR
SET YEAR=BYER
SET DFNONLY=0
+19 ;After april 1 2005 no test patients
+20 SET TPAT=0
+21 QUIT
+22 ;
CALCMON ;Calculate the quarter number for current quarter
+1 NEW MON,YER,CQTR,BQTR,BCQTR,BYER,FQTR
+2 SET MON=+$EXTRACT(DT,4,5)
SET YER=1700+$EXTRACT(DT,1,3)
+3 ;
+4 IF MON=1!(MON=2)!(MON=3)
SET CQTR=1
+5 IF MON=4!(MON=5)!(MON=6)
SET CQTR=2
+6 IF MON=7!(MON=8)!(MON=9)
SET CQTR=3
+7 IF MON=10!(MON=11)!(MON=12)
SET CQTR=4
+8 ;
+9 SET BYER=YER
+10 SET BQTR=CQTR
+11 ;
+12 IF BQTR=1
SET FQTR=2
+13 IF BQTR=2
SET FQTR=3
+14 IF BQTR=3
SET FQTR=4
+15 IF BQTR=4
SET FQTR=1
+16 ;
+17 SET QUARTER=BQTR
SET FQUARTER=FQTR
SET YEAR=BYER
SET DFNONLY=0
+18 ;After april 1 2005 no test patients
+19 SET TPAT=0
+20 SET ZTREQ="@"
+21 ;
+22 QUIT
+23 ;
POST ;Post installation routine
+1 ;add remote members to mail group
+2 DO ADDMBRS^XMXAPIG(DUZ,"GEC2 NATIONAL ROLLUP","VAUGHN.SMITH@MED.VA.GOV")
+3 DO ADDMBRS^XMXAPIG(DUZ,"GEC2 NATIONAL ROLLUP","patrick.brady@e2k.hq.med.va.gov")
+4 DO ADDMBRS^XMXAPIG(DUZ,"GEC2 NATIONAL ROLLUP","daniel.schoeps@e2k.hq.med.va.gov")
+5 ;
TASKRPT ;This will task a monthy report for 4 month.
+1 ;May 8th 2005,June 8th 2005,AUG 8th 2005,Sept 8th 2005
+2 NEW ZTRTN,ZTDESC,ZTDTH,ZTIO,MON,ZTREQ,ZTSK
+3 SET MON=0
+4 IF $DATA(^TMP("PXRMG2TSK"))
QUIT
+5 FOR ZTDTH="3050508.0200","3050608.0200","3050808.0200","3050908.0200"
Begin DoDot:1
+6 SET MON=MON+1
+7 IF MON=1
SET MONTH="MAY"
+8 IF MON=2
SET MONTH="JUNE"
+9 IF MON=3
SET MONTH="AUGUST"
+10 IF MON=4
SET MONTH="SEPT"
+11 SET ZTRTN="TASK^PXRMG2M1"
+12 SET ZTDESC=MONTH_" 2005 GEC National Report"
+13 SET ZTIO=""
+14 DO ^%ZTLOAD
+15 DO BMES^XPDUTL(MONTH_" 8th's GEC Tasked Job number "_ZTSK)
End DoDot:1
+16 SET ^TMP("PXRMG2TSK",$JOB)="DT"
CLEAN ;Clean up after previous builds
+1 KILL ^PXRMD(801.5,"ATASK")
+2 QUIT