| 1 | PXRMGECR ;SLC/JVS GEC-Reports ;7/14/05  10:44 | 
|---|
| 2 | ;;2.0;CLINICAL REMINDERS;**4**;Feb 04, 2005;Build 21 | 
|---|
| 3 | Q | 
|---|
| 4 | LOC ;Referrals by Location | 
|---|
| 5 | N CAT,HF,DATE,DFN,Y,HFN,DFNXX | 
|---|
| 6 | D E^PXRMGECV("LOC",1,BDT,EDT,"F",0) | 
|---|
| 7 | I FORMAT="F" S FOR=1 | 
|---|
| 8 | I FORMAT="D" S FOR=0 | 
|---|
| 9 | W @IOF | 
|---|
| 10 | W "==============================================================================" | 
|---|
| 11 | W !,"Complete GEC Referrals by Location" | 
|---|
| 12 | W !,"From: "_$$FMTE^XLFDT(BDT,"5ZM")_" To: "_$$FMTE^XLFDT(EDT,"5ZM") | 
|---|
| 13 | I FOR W !,"Location" | 
|---|
| 14 | I FOR W !,?5,"Patient",?50,"Finish Date" | 
|---|
| 15 | I 'FOR W !,"Location^Location Count^Patient^SSN^Finish Date" | 
|---|
| 16 | W !,"==============================================================================" | 
|---|
| 17 | W ! D PB Q:Y=0 | 
|---|
| 18 | S LOCN="" F  S LOCN=$O(^TMP("PXRMGEC",$J,"TMPLOC",LOCN)) Q:LOCN=""!(Y=0)  D | 
|---|
| 19 | .Q:LOCNP'=1&(LOCN'=LOCNP) | 
|---|
| 20 | .I FOR W ! D PB Q:Y=0 | 
|---|
| 21 | .I FOR W !,IOUON,LOCN,IOUOFF,?30,"Total # Patients Evaluated= ",$G(^TMP("PXRMGEC",$J,"REFLOCC",LOCN)) D PB Q:Y=0 | 
|---|
| 22 | .I FOR W ! D PB Q:Y=0 | 
|---|
| 23 | .S DFNXX="" F  S DFNXX=$O(^TMP("PXRMGEC",$J,"TMPLOC",LOCN,DFNXX)) Q:DFNXX=""!(Y=0)  D | 
|---|
| 24 | ..S VDT=0 F  S VDT=$O(^TMP("PXRMGEC",$J,"TMPLOC",LOCN,DFNXX,VDT)) Q:VDT=""!(Y=0)  D | 
|---|
| 25 | ...I VDT["0000" I FOR W !,?5,DFNXX,?50,"Incomplete" | 
|---|
| 26 | ...E  I FOR W !,?5,$P(DFNXX," ",1,$L(DFNXX," ")-1),"  ("_$P(DFNXX," ",$L(DFNXX," "))_")",?50,$P($$FMTE^XLFDT(VDT,"5ZM"),"@",1) | 
|---|
| 27 | ...I FOR D PB Q:Y=0 | 
|---|
| 28 | ...I 'FOR W !,LOCN,"^",$G(^TMP("PXRMGEC",$J,"REFLOCC",LOCN)),"^",$P(DFNXX," ",1,$L(DFNXX," ")-1),"^",$P(DFNXX," ",$L(DFNXX," ")),"^",$P($$FMTE^XLFDT(VDT,"5ZM"),"@",1) | 
|---|
| 29 | K ^TMP("PXRMGEC",$J) | 
|---|
| 30 | Q | 
|---|
| 31 | ;_______ | 
|---|
| 32 | DR ;Referrals by Date Range | 
|---|
| 33 | N CAT,HF,DATE,DFN,Y,HFN,CNTREF,DIF,DIFF | 
|---|
| 34 | D E^PXRMGECV("HS1",INC,BDT,EDT,$S(INC=1:"F",1:"S"),DFNONLY) | 
|---|
| 35 | I FORMAT="D" S FOR=0 | 
|---|
| 36 | I FORMAT="F" S FOR=1 | 
|---|
| 37 | W @IOF | 
|---|
| 38 | W "==============================================================================" | 
|---|
| 39 | W !,"Complete and/or Incomplete GEC Referrals by Date Range" | 
|---|
| 40 | W !,"From: "_$$FMTE^XLFDT(BDT,"5ZM")_" To: "_$$FMTE^XLFDT(EDT,"5ZM") | 
|---|
| 41 | W !,$S(INC=0:"Incomplete",INC=1:"Complete",INC=2:"Complete and Incomplete",1:"")_" Referrals" | 
|---|
| 42 | I FOR W !,"Patient" | 
|---|
| 43 | I INC=1 I FOR W !,?5,"Start Date",?20,"Finished",?35,"Elapsed Time" | 
|---|
| 44 | E  I FOR W !,?5,"Start Date",?20,"Finished",?35,"Elapsed Time",?50,"Incomplete Status" | 
|---|
| 45 | I 'FOR W !,"Patient^SS#^Count^Start Date^Finished Date^Elapsed Time" | 
|---|
| 46 | W !,"==============================================================================" | 
|---|
| 47 | W ! D PB Q:Y=0 | 
|---|
| 48 | S DFN="" F  S DFN=$O(^TMP("PXRMGEC",$J,"HS1",DFN)) Q:DFN=""!(Y=0)  D | 
|---|
| 49 | .I FOR W ! D PB Q:Y=0 | 
|---|
| 50 | .I FOR W !,IOUON,$P(DFN," ",1,$L(DFN," ")-1)," ("_$P(DFN," ",$L(DFN," "))_")"," ",IOUOFF | 
|---|
| 51 | .I FOR W ?44,$G(^TMP("PXRMGEC",$J,"REFDFNN",$P(DFN," ",1,($L(DFN," ")-1))))," Referral(s)" D PB Q:Y=0 | 
|---|
| 52 | .I FOR W ! D PB Q:Y=0 | 
|---|
| 53 | .S CNTREF="" F  S CNTREF=$O(^TMP("PXRMGEC",$J,"HS1",DFN,CNTREF)) Q:CNTREF=""!(Y=0)  D | 
|---|
| 54 | ..S DATE=0 F  S DATE=$O(^TMP("PXRMGEC",$J,"HS1",DFN,CNTREF,DATE)) Q:DATE=""!(Y=0)  D | 
|---|
| 55 | ...S VDT=0 F  S VDT=$O(^TMP("PXRMGEC",$J,"HS1",DFN,CNTREF,DATE,VDT)) Q:VDT=""!(Y=0)  D | 
|---|
| 56 | ....S DIFF="" I VDT>0 S DIFF=$$FMDIFF^XLFDT(VDT,DATE,1)+1 | 
|---|
| 57 | ....S DIF="" S DIF=$$FMDIFF^XLFDT(DT,DATE,1)+1 | 
|---|
| 58 | ....I VDT["0000" I FOR W !,?5,$P($$FMTE^XLFDT(DATE,"5ZM"),"@",1),?20,"",?35,$S(DIFF="":DIF_" Days",DIFF>0:DIFF_" Days",1:""),?50,$S(DIFF="":"Incomplete",1:"") | 
|---|
| 59 | ....E  I FOR W !,?5,$P($$FMTE^XLFDT(DATE,"5ZM"),"@",1),?20,$P($$FMTE^XLFDT(VDT,"5ZM"),"@",1),?35,$S(DIFF="":DIF_" Days",DIFF>0:DIFF_" Days",1:""),?50,$S(DIFF="":"Incomplete",1:"") | 
|---|
| 60 | ....I FOR D PB Q:Y=0 | 
|---|
| 61 | ....I 'FOR W !,$P(DFN," ",1,$L(DFN," ")-1),"^",$P(DFN," ",$L(DFN," ")),"^" | 
|---|
| 62 | ....I 'FOR W $G(^TMP("PXRMGEC",$J,"REFDFNN",$P(DFN," ",1,$L(DFN," ")-1))),"^",$P($$FMTE^XLFDT(DATE,"5ZM"),"@",1),"^",$P($$FMTE^XLFDT(VDT,"5ZM"),"@",1),"^",$S(DIFF="":DIF,DIFF>0:DIFF,1:"") | 
|---|
| 63 | K ^TMP("PXRMGEC",$J) | 
|---|
| 64 | Q | 
|---|
| 65 | ;_____ | 
|---|
| 66 | HS1 ;By Patient | 
|---|
| 67 | N CAT,HF,DATE,DFN,Y,HFN,CNTREF,X,REFNUM,CNT,STATUS,NAME,DIV | 
|---|
| 68 | D E^PXRMGECV("HS1",1,BDT,EDT,"F",DFNONLY) | 
|---|
| 69 | I FORMAT="D" S FOR=0 | 
|---|
| 70 | I FORMAT="F" S FOR=1 | 
|---|
| 71 | W @IOF | 
|---|
| 72 | W "==============================================================================" | 
|---|
| 73 | W !,"GEC Patient" | 
|---|
| 74 | W !,"From: "_$$FMTE^XLFDT(BDT,"5ZM")_" To: "_$$FMTE^XLFDT(EDT,"5ZM") | 
|---|
| 75 | I FOR W !,"Patient" | 
|---|
| 76 | I FOR W !," Category" | 
|---|
| 77 | I FOR W !,"    Health Factor",?44,"Value",?55,"Date of Evaluation" | 
|---|
| 78 | I 'FOR W !,"Patient^Category^Health Factor^Value^Date of Evaluation" | 
|---|
| 79 | W !,"==============================================================================" | 
|---|
| 80 | S CNT=0 | 
|---|
| 81 | S Y=1 | 
|---|
| 82 | S DFN="" F  S DFN=$O(^TMP("PXRMGEC",$J,"HS1",DFN)) Q:DFN=""!(Y=0)  D | 
|---|
| 83 | .N NAME,DFNN,STATUS,DIV | 
|---|
| 84 | .I FOR W ! D PB Q:Y=0 | 
|---|
| 85 | .S NAME=$P(DFN," ",1,$L(DFN," ")-1) | 
|---|
| 86 | .S DFNN=$O(^DPT("B",NAME,0)) D | 
|---|
| 87 | ..Q:DFNN="" | 
|---|
| 88 | ..S STATUS=$S($D(^DPT(DFNN,.1)):"INPATIENT",1:"OUTPATIENT") | 
|---|
| 89 | ..S DIV=$$GET1^DIQ(2,DFNN,.19) I DIV="" S DIV="Unknown" | 
|---|
| 90 | .S CNT=CNT+1 | 
|---|
| 91 | .I STATUS["IN" I FOR W !,CNT,") ",STATUS,", DIVISION:",DIV D PB Q:Y=0 | 
|---|
| 92 | .I STATUS["OU" I FOR W !,CNT,") ",STATUS D PB Q:Y=0 | 
|---|
| 93 | .I FOR W !,CNT,") ",IOUON,$P(DFN," ",1,$L(DFN," ")-1)," (",$P(DFN," ",$L(DFN," "))_")",IOUOFF,?48,"Total # Complete referrals: ",$G(^TMP("PXRMGEC",$J,"REFDFNN",$P(DFN," ",1,$L(DFN," ")-1))) D PB Q:Y=0 | 
|---|
| 94 | .S CNTREF="",REFNUM=0 F  S CNTREF=$O(^TMP("PXRMGEC",$J,"HS1",DFN,CNTREF)) Q:CNTREF=""!(Y=0)  D | 
|---|
| 95 | ..I FOR W ! D PB Q:Y=0 | 
|---|
| 96 | ..S REFNUM=REFNUM+1 | 
|---|
| 97 | ..I FOR W !,IOUON,"Referral #"_REFNUM,IOUOFF D PB Q:Y=0 | 
|---|
| 98 | ..S DATE=0 F  S DATE=$O(^TMP("PXRMGEC",$J,"HS1",DFN,CNTREF,DATE)) Q:DATE=""!(Y=0)  D | 
|---|
| 99 | ...S VDT=0 F  S VDT=$O(^TMP("PXRMGEC",$J,"HS1",DFN,CNTREF,DATE,VDT)) Q:VDT=""!(Y=0)  D | 
|---|
| 100 | ....S CAT=0 F  S CAT=$O(^TMP("PXRMGEC",$J,"HS1",DFN,CNTREF,DATE,VDT,CAT)) Q:CAT=""!(Y=0)  D | 
|---|
| 101 | .....I FOR W !,?1,$P(CAT," ",3,6) D PB Q:Y=0 | 
|---|
| 102 | .....S DATEV=0 F  S DATEV=$O(^TMP("PXRMGEC",$J,"HS1",DFN,CNTREF,DATE,VDT,CAT,DATEV)) Q:DATEV=""!(Y=0)  D | 
|---|
| 103 | ......S DA=0 F  S DA=$O(^TMP("PXRMGEC",$J,"HS1",DFN,CNTREF,DATE,VDT,CAT,DATEV,DA)) Q:DA=""!(Y=0)  D | 
|---|
| 104 | .......S HFN=$$HFNAME(DA) | 
|---|
| 105 | .......I FOR W !,?4,$P(HFN,"^",1),?44,$P(HFN,"^",2),?55,$P($$FMTE^XLFDT(DATEV,"5ZM"),"@",1) | 
|---|
| 106 | .......I FOR D PB Q:Y=0 | 
|---|
| 107 | .......S COMMENT=$G(^AUPNVHF(DA,811)) | 
|---|
| 108 | .......I FOR I COMMENT'="" D COM^PXRMGECZ | 
|---|
| 109 | .......I 'FOR W !,$P(DFN," ",1,$L(DFN," ")-1)_"^"_$P(DFN," ",$L(DFN," ")),"^",$P(CAT," ",3,6),"^",$P(HFN,"^",1),"^",$P(HFN,"^",2),"^",$P($$FMTE^XLFDT(DATEV,"5ZM"),"@",1),"^",REFNUM | 
|---|
| 110 | K ^TMP("PXRMGEC",$J) | 
|---|
| 111 | Q | 
|---|
| 112 | ;______ | 
|---|
| 113 | HFCD ;Health Factor Category Detailed | 
|---|
| 114 | N CAT,HF,DATE,DFN,DFN1,FOR,HFDA,COMMENT | 
|---|
| 115 | I FORMAT="D" S FOR=0 | 
|---|
| 116 | I FORMAT="F" S FOR=1 | 
|---|
| 117 | K ^TMP("PXRMGEC",$J,"HFCD") | 
|---|
| 118 | D E^PXRMGECV("HFCD",1,BDT,EDT,"F",DFNONLY) | 
|---|
| 119 | W @IOF | 
|---|
| 120 | W "==============================================================================" | 
|---|
| 121 | W !,"GEC Health Factor Category Detailed Report" | 
|---|
| 122 | W !,"From: "_$$FMTE^XLFDT(BDT,"5ZM")_" To: "_$$FMTE^XLFDT(EDT,"5ZM") | 
|---|
| 123 | W !,"Complete and Incomplete Referrals" | 
|---|
| 124 | I FOR W !,"Category" | 
|---|
| 125 | I FOR W !,?2,"Patient Name" | 
|---|
| 126 | I FOR W !,?4,"Health Factors",?45,$S($D(RPT7):"",1:"Value"),?52,"Date" | 
|---|
| 127 | I 'FOR W !,"Category^Patient^SSN^Health Factor^"_$S($D(RPT7):"Date",1:"Value^Date") | 
|---|
| 128 | W !,"==============================================================================" | 
|---|
| 129 | D PB Q:Y=0 | 
|---|
| 130 | S CAT="" F  S CAT=$O(^TMP("PXRMGEC",$J,"HFCD",CAT)) Q:CAT=""!(Y=0)  D | 
|---|
| 131 | .S DFN1=0 | 
|---|
| 132 | .I FOR W ! D PB Q:Y=0 | 
|---|
| 133 | .I FOR W !,IOUON,$P(CAT," ",3,6),IOUOFF D PB Q:Y=0 | 
|---|
| 134 | .S DFN=0 F  S DFN=$O(^TMP("PXRMGEC",$J,"HFCD",CAT,DFN)) Q:DFN=""!(Y=0)  D | 
|---|
| 135 | ..S HF="" F  S HF=$O(^TMP("PXRMGEC",$J,"HFCD",CAT,DFN,HF)) Q:HF=""!(Y=0)  D | 
|---|
| 136 | ...S DATE=0 F  S DATE=$O(^TMP("PXRMGEC",$J,"HFCD",CAT,DFN,HF,DATE)) Q:DATE=""!(Y=0)  D | 
|---|
| 137 | ....I FOR I DFN'=DFN1 W ! D PB Q:Y=0 | 
|---|
| 138 | ....I FOR I DFN'=DFN1 W !,?2,$P($G(^DPT(DFN,0)),"^",1)_" ("_$P($G(^DPT(DFN,0)),"^",9)_")" D PB Q:Y=0  W ! D PB Q:Y=0  S DFN1=DFN | 
|---|
| 139 | ....S HFN=$$HFNAME(0,HF) | 
|---|
| 140 | ....S HFDA=$O(^TMP("PXRMGEC",$J,"HFCD",CAT,DFN,HF,DATE,0)) | 
|---|
| 141 | ....I FOR W !,?4,$P(HFN,"^",1),?45,$S($D(RPT7):"",1:$P(HFN,"^",2)),?52,$P($$FMTE^XLFDT(DATE,"5ZM"),"@",1) | 
|---|
| 142 | ....I FOR D PB Q:Y=0 | 
|---|
| 143 | ....S COMMENT=$G(^AUPNVHF(HFDA,811)) | 
|---|
| 144 | ....I FOR I COMMENT'="" D COM^PXRMGECZ | 
|---|
| 145 | ....I 'FOR W !,$P(CAT," ",3,5),"^",$P($G(^DPT(DFN,0)),"^",1)_"^"_$P($G(^DPT(DFN,0)),"^",9),"^",$P(HFN,"^",1),$S($D(RPT7):"",1:"^"_$P(HFN,"^",2)),"^",$P($$FMTE^XLFDT(DATE,"5ZM"),"@",1) | 
|---|
| 146 | K ^TMP("PXRMGEC",$J) | 
|---|
| 147 | D ^%ZISC | 
|---|
| 148 | Q | 
|---|
| 149 | ;____ | 
|---|
| 150 | LOCCNT ;Count Locations of Referrals | 
|---|
| 151 | N LOC,VDT | 
|---|
| 152 | S LOC="" F  S LOC=$O(^TMP("PXRMGEC",$J,"LOCB",LOC)) Q:LOC=""  D | 
|---|
| 153 | .S VDT="" F  S VDT=$O(^TMP("PXRMGEC",$J,"LOCB",LOC,VDT)) Q:VDT=""  D | 
|---|
| 154 | ..I $D(^TMP("PXRMGEC",$J,"LOCBB",LOC)) S ^TMP("PXRMGEC",$J,"LOCBB",LOC)=$G(^TMP("PXRMGEC",$J,"LOCBB",LOC))+1 | 
|---|
| 155 | ..E  S ^TMP("PXRMGEC",$J,"LOCBB",LOC)=1 | 
|---|
| 156 | Q | 
|---|
| 157 | ; | 
|---|
| 158 | HFNAME(DA,NAME) ;Decide to split name into columns | 
|---|
| 159 | N WHOLE,FIRST,SECOND,REF,REF2,RESULT | 
|---|
| 160 | I DA>0 D | 
|---|
| 161 | .S WHOLE=$P($G(^AUTTHF($P($G(^AUPNVHF(DA,0)),"^",1),0)),"^",1) | 
|---|
| 162 | E  S WHOLE=NAME | 
|---|
| 163 | I $D(RPT7) D | 
|---|
| 164 | .I WHOLE["(REFERRED TO)" D | 
|---|
| 165 | ..S WHOLE=$P(WHOLE," (",1) | 
|---|
| 166 | S RESULT="^" | 
|---|
| 167 | S REF="YESNOSTAGE 1STAGE 2STAGE 3STAGE 4" | 
|---|
| 168 | S REF2="12" | 
|---|
| 169 | S FIRST=$P(WHOLE,"-",1,$L(WHOLE,"-")-1) | 
|---|
| 170 | S SECOND=$P(WHOLE,"-",$L(WHOLE,"-")) | 
|---|
| 171 | I REF[SECOND S RESULT=FIRST_"^"_SECOND | 
|---|
| 172 | E  S RESULT=WHOLE_"^" | 
|---|
| 173 | I REF2[SECOND S RESULT=WHOLE_"^" | 
|---|
| 174 | Q RESULT | 
|---|
| 175 | ;===== | 
|---|
| 176 | PB ;PAGE BREAK | 
|---|
| 177 | S Y="" | 
|---|
| 178 | I $Y=(IOSL-2)!($Y=(IOSL-3)) D | 
|---|
| 179 | .K DIR | 
|---|
| 180 | .S DIR(0)="E" | 
|---|
| 181 | .D ^DIR | 
|---|
| 182 | .I Y=1 W @IOF S $Y=0 | 
|---|
| 183 | K DIR | 
|---|
| 184 | Q | 
|---|
| 185 | ; | 
|---|