| 1 | PXRMGECO ;SLC/JVS GEC-Prompts Cont'd ;6/19/03  20:56 | 
|---|
| 2 | ;;2.0;CLINICAL REMINDERS;;Feb 04, 2005 | 
|---|
| 3 | Q | 
|---|
| 4 | ;^DISV(  = DBIA #510 | 
|---|
| 5 | N POP,DIROUT,DIRUT,DUOUT,LOCNP,MENU,PROV,Y | 
|---|
| 6 | N DETAIL,FORMAT | 
|---|
| 7 | ; | 
|---|
| 8 | SUM ;#8 Start of Summary (Scoring) report | 
|---|
| 9 | ; | 
|---|
| 10 | SUMBDT D BDT^PXRMGECP Q:$D(DIROUT)!($D(DIRUT)) | 
|---|
| 11 | SUMEDT D EDT^PXRMGECP Q:$D(DIROUT)  I $D(DIRUT) K DIRUT G SUMBDT | 
|---|
| 12 | SUMPAT D PAT^PXRMGECP Q:$D(DIROUT)  I $D(DIRUT) K DIRUT G SUMEDT | 
|---|
| 13 | SUMFOR D FOR^PXRMGECP Q:$D(DIROUT)  I $D(DIRUT) K DIRUT G SUMPAT | 
|---|
| 14 | SUMIOO D SUMIO Q:$D(DIROUT) | 
|---|
| 15 | Q | 
|---|
| 16 | SUMIO ;=====Select IO device | 
|---|
| 17 | N %ZIS | 
|---|
| 18 | S %ZIS="QM" D ^%ZIS | 
|---|
| 19 | I POP Q | 
|---|
| 20 | I $D(IO("Q")) D | 
|---|
| 21 | .S ZTRTN="SUM^PXRMGECM" | 
|---|
| 22 | .S ZTDESC="GEC SUMMARY(SCORING) REPORT" | 
|---|
| 23 | .S ZTSAVE("*")="" | 
|---|
| 24 | .D ^%ZTLOAD | 
|---|
| 25 | ;=====Call Report | 
|---|
| 26 | E  D SUM^PXRMGECN | 
|---|
| 27 | D HOME^%ZIS | 
|---|
| 28 | D ^%ZISC | 
|---|
| 29 | S:'$D(DIRUT)&('$D(DUOUT))&('$D(DIROUT)) DIR(0)="E" D ^DIR K DIR(0),Y | 
|---|
| 30 | Q | 
|---|
| 31 | ; | 
|---|
| 32 | RS ;#7 Start List and array of GEC Categories | 
|---|
| 33 | ; | 
|---|
| 34 | N CAT,CATNA,CNT,STAY,NUM,CATIEN,CATARY,BDT,EDT,CATDA | 
|---|
| 35 | N SYN,IEN,RPT7 | 
|---|
| 36 | W @IOF | 
|---|
| 37 | W "GEC Referral Service Categories" | 
|---|
| 38 | S CNT=0 | 
|---|
| 39 | S SYN="GECFC" F  S SYN=$O(^AUTTHF("D",SYN)) Q:SYN'["GECFC"  D | 
|---|
| 40 | .S IEN=0 F  S IEN=$O(^AUTTHF("D",SYN,IEN)) Q:IEN=""  D | 
|---|
| 41 | ..Q:$P($G(^AUTTHF(IEN,0)),"^",11)=1 | 
|---|
| 42 | ..; | 
|---|
| 43 | ..S CATNA=$P($P($G(^AUTTHF(IEN,0)),"^",1)," ",3,7) | 
|---|
| 44 | ..S CATARY(CATNA,IEN)="" | 
|---|
| 45 | S CATNA="" F  S CATNA=$O(CATARY(CATNA)) Q:CATNA=""  D | 
|---|
| 46 | .S CAT=$O(CATARY(CATNA,0)) | 
|---|
| 47 | .S CNT=CNT+1 | 
|---|
| 48 | .S CATDA(CNT,CAT)="" | 
|---|
| 49 | .W:CNT#2=1 !,CNT,?4,CATNA | 
|---|
| 50 | .W:CNT#2=0 ?35,CNT,?39,CATNA | 
|---|
| 51 | ; | 
|---|
| 52 | RSSC ;=====Select Referred Service Categories | 
|---|
| 53 | W ! | 
|---|
| 54 | S DIR("A",1)="Select Categories from the list above using" | 
|---|
| 55 | S DIR("A",2)="Commas and/or Dashes for ranges of numbers." | 
|---|
| 56 | S DIR("A")="Select Categories or ^ to exit" | 
|---|
| 57 | I $D(^DISV(DUZ,"PXRMGEC","RSSC")) S DIR("B")=$G(^DISV(DUZ,"PXRMGEC","RSSC")) | 
|---|
| 58 | S DIR(0)="L^1:"_CNT | 
|---|
| 59 | D ^DIR | 
|---|
| 60 | K DIR("A"),DIR("B"),DIR(0) | 
|---|
| 61 | Q:$D(DIROUT) | 
|---|
| 62 | Q:$D(DIRUT) | 
|---|
| 63 | S ^DISV(DUZ,"PXRMGEC","RSSC")=X | 
|---|
| 64 | N LEN,IME,MEY | 
|---|
| 65 | S LEN=$L(Y,",") | 
|---|
| 66 | S MEY=0 F IME=1:1:LEN-1 S MEY=$P(Y,",",IME) D | 
|---|
| 67 | .S CATMEY(MEY)="" | 
|---|
| 68 | S STAY=0 F  S STAY=$O(CATDA(STAY)) Q:STAY=""  D | 
|---|
| 69 | .I '$D(CATMEY(STAY)) K CATDA(STAY) | 
|---|
| 70 | S NUM=0 F  S NUM=$O(CATDA(NUM)) Q:NUM=""  D | 
|---|
| 71 | .S CATIEN($O(CATDA(NUM,0)))="" | 
|---|
| 72 | K CATDA,CATMEY | 
|---|
| 73 | RSBDT D BDT^PXRMGECP Q:$D(DIROUT)!$D(DIRUT) | 
|---|
| 74 | RSEDT D EDT^PXRMGECP Q:$D(DIROUT)  I $D(DIRUT) K DIRUT G RSBDT | 
|---|
| 75 | RSPAT D PAT^PXRMGECP Q:$D(DIROUT)  I $D(DIRUT) K DIRUT G RSEDT | 
|---|
| 76 | RSFOR D FOR^PXRMGECP Q:$D(DIROUT)  I $D(DIRUT) K DIRUT G RSPAT | 
|---|
| 77 | RSIOO S RPT7=1 D CATIO^PXRMGECP Q:$D(DIROUT) | 
|---|
| 78 | Q | 
|---|
| 79 | ; | 
|---|
| 80 | ;================================================================ | 
|---|
| 81 | LOC ;By Location in the Hospital | 
|---|
| 82 | LOCDIC ;====Select Location | 
|---|
| 83 | ;DBIA #10040 Supported | 
|---|
| 84 | N Y,DIC | 
|---|
| 85 | S DIC="^SC(" | 
|---|
| 86 | S DIC(0)="QAMEZ" | 
|---|
| 87 | D ^DIC | 
|---|
| 88 | I Y>0 S LOCNP=$P(Y(0),"^",1) | 
|---|
| 89 | K DIC,DIC(0),Y | 
|---|
| 90 | Q | 
|---|
| 91 | ; | 
|---|
| 92 | LOCDIR ;  #5 Start of Location Report | 
|---|
| 93 | ;--Returns LOCNP equal to Location Name | 
|---|
| 94 | N BDT,EDT | 
|---|
| 95 | W @IOF | 
|---|
| 96 | K DIR | 
|---|
| 97 | I $D(^DISV(DUZ,"PXRMGEC","LOCDIR")) S DIR("B")=$G(^DISV(DUZ,"PXRMGEC","LOCDIR")) | 
|---|
| 98 | S DIR(0)="S^A:All Locations;S:Single Location" | 
|---|
| 99 | D ^DIR | 
|---|
| 100 | K DIR("A"),DIR("B"),DIR(0) | 
|---|
| 101 | Q:$D(DIRUT)!($D(DUOUT)) | 
|---|
| 102 | Q:$D(DIROUT) | 
|---|
| 103 | S ^DISV(DUZ,"PXRMGEC","LOCDIR")=X | 
|---|
| 104 | I Y="A" S LOCNP=1 | 
|---|
| 105 | I Y="S" D LOCDIC | 
|---|
| 106 | ; | 
|---|
| 107 | LOCBDT D BDT^PXRMGECP Q:$D(DIROUT)!($D(DIRUT)) | 
|---|
| 108 | LOCEDT D EDT^PXRMGECP Q:$D(DIROUT)  I $D(DIRUT) K DIRUT G LOCBDT | 
|---|
| 109 | LOCFOR D FOR^PXRMGECP Q:$D(DIROUT)  I $D(DIRUT) K DIRUT G LOCEDT | 
|---|
| 110 | LOCIOO D LOCIO Q:$D(DIROUT) | 
|---|
| 111 | Q | 
|---|
| 112 | LOCIO ;=====Select IO device | 
|---|
| 113 | N %ZIS | 
|---|
| 114 | S %ZIS="QM" D ^%ZIS | 
|---|
| 115 | I POP Q | 
|---|
| 116 | I $D(IO("Q")) D | 
|---|
| 117 | .S ZTRTN="LOC^PXRMGECQ" | 
|---|
| 118 | .S ZTDESC="GEC LOCATION REPORT" | 
|---|
| 119 | .S ZTSAVE("*")="" | 
|---|
| 120 | .D ^%ZTLOAD | 
|---|
| 121 | ;=====Call Report | 
|---|
| 122 | E  D LOC^PXRMGECR | 
|---|
| 123 | D HOME^%ZIS | 
|---|
| 124 | D ^%ZISC | 
|---|
| 125 | S:'$D(DIRUT)&('$D(DUOUT))&('$D(DIROUT)) DIR(0)="E" D ^DIR K DIR(0),Y | 
|---|
| 126 | Q | 
|---|
| 127 | ; | 
|---|
| 128 | CT ; #6 Start Referral Count Totals | 
|---|
| 129 | ; makes 4 different reports | 
|---|
| 130 | ; | 
|---|
| 131 | N SOR | 
|---|
| 132 | CTSOR D SOR Q:$D(DIROUT)!($D(DIRUT)) | 
|---|
| 133 | CTBDT D BDT^PXRMGECP Q:$D(DIROUT)  I $D(DIRUT) K DIRUT G CTSOR | 
|---|
| 134 | CTEDT D EDT^PXRMGECP Q:$D(DIROUT)  I $D(DIRUT) K DIRUT G CTBDT | 
|---|
| 135 | CTFOR D FOR^PXRMGECP Q:$D(DIROUT)  I $D(DIRUT) K DIRUT G CTEDT | 
|---|
| 136 | CTIOO D CTIO Q:$D(DIROUT) | 
|---|
| 137 | Q | 
|---|
| 138 | ; | 
|---|
| 139 | SOR ;======Sort Type | 
|---|
| 140 | ;--Return SOR as Type of report | 
|---|
| 141 | S DIR("A")="Select Sort Type or ^ to exit" | 
|---|
| 142 | I $D(^DISV(DUZ,"PXRMGEC","SOR")) S DIR("B")=$G(^DISV(DUZ,"PXRMGEC","SOR")) | 
|---|
| 143 | S DIR(0)="S^PA:Patient;PR:Provider;L:Location;D:Date" | 
|---|
| 144 | D ^DIR | 
|---|
| 145 | K DIR("A"),DIR("B"),DIR(0) | 
|---|
| 146 | Q:$D(DIRUT)!($D(DIROUT)) | 
|---|
| 147 | S ^DISV(DUZ,"PXRMGEC","SOR")=X | 
|---|
| 148 | S SOR=Y | 
|---|
| 149 | Q | 
|---|
| 150 | ; | 
|---|
| 151 | CTIO ;=====Select IO device | 
|---|
| 152 | N %ZIS | 
|---|
| 153 | S %ZIS="QM" D ^%ZIS | 
|---|
| 154 | I POP Q | 
|---|
| 155 | ;=====Call Report | 
|---|
| 156 | I SOR="PA" D | 
|---|
| 157 | .I $D(IO("Q")) D | 
|---|
| 158 | ..S ZTRTN="CTP^PXRMGECT" | 
|---|
| 159 | ..S ZTDESC="GEC COUNT TOTALS REPORTS" | 
|---|
| 160 | ..S ZTSAVE("*")="" | 
|---|
| 161 | ..D ^%ZTLOAD | 
|---|
| 162 | .E  D CTP^PXRMGECS | 
|---|
| 163 | I SOR="PR" D | 
|---|
| 164 | .I $D(IO("Q")) D | 
|---|
| 165 | ..S ZTRTN="CTDR^PXRMGECT" | 
|---|
| 166 | ..S ZTDESC="GEC COUNT TOTALS REPORTS" | 
|---|
| 167 | ..S ZTSAVE("*")="" | 
|---|
| 168 | ..D ^%ZTLOAD | 
|---|
| 169 | .E  D CTDR^PXRMGECS | 
|---|
| 170 | I SOR="L" D | 
|---|
| 171 | .I $D(IO("Q")) D | 
|---|
| 172 | ..S ZTRTN="CTL^PXRMGECT" | 
|---|
| 173 | ..S ZTDESC="GEC COUNT TOTALS REPORTS" | 
|---|
| 174 | ..S ZTSAVE("*")="" | 
|---|
| 175 | ..D ^%ZTLOAD | 
|---|
| 176 | .E  D CTL^PXRMGECS | 
|---|
| 177 | I SOR="D" D | 
|---|
| 178 | .I $D(IO("Q")) D | 
|---|
| 179 | ..S ZTRTN="CTD^PXRMGECT" | 
|---|
| 180 | ..S ZTDESC="GEC COUNT TOTALS REPORTS" | 
|---|
| 181 | ..S ZTSAVE("*")="" | 
|---|
| 182 | ..D ^%ZTLOAD | 
|---|
| 183 | .E  D CTD^PXRMGECS | 
|---|
| 184 | D ^%ZISC | 
|---|
| 185 | S:'$D(DIRUT)&('$D(DUOUT))&('$D(DIROUT)) DIR(0)="E" D ^DIR K DIR(0),Y | 
|---|
| 186 | Q | 
|---|
| 187 | ; | 
|---|