| [613] | 1 | SCRPO6 ;BP-CIOFO/KEITH - Historical Team Assignment Summary ; 9/14/99 10:07am | 
|---|
|  | 2 | ;;5.3;Scheduling;**177,297**;AUG 13, 1993 | 
|---|
|  | 3 | ; | 
|---|
|  | 4 | EN ;Queue report | 
|---|
|  | 5 | N LIST,RTN,DESC | 
|---|
|  | 6 | S SUMON=0 | 
|---|
|  | 7 | W !,"Print Final Summary Only" S %=2 D YN^DICN I %=1 S SUMON=1 | 
|---|
|  | 8 | S LIST="DIV,TEAM" | 
|---|
|  | 9 | S RTN="RUN^SCRPO6" | 
|---|
|  | 10 | S DESC="Historical Team Assignment Summary" | 
|---|
|  | 11 | D PROMPT(LIST,RTN,DESC) Q | 
|---|
|  | 12 | ; | 
|---|
|  | 13 | PROMPT(LIST,SCRTN,SCDESC) ;Prompt for report parameters, queue report | 
|---|
|  | 14 | ;Input: LIST=comma delimited string of list subscripts to prompt for | 
|---|
|  | 15 | ;Input: SCRTN=report routine entry point | 
|---|
|  | 16 | ;Input: SCDESC=tasked job description | 
|---|
|  | 17 | ; | 
|---|
|  | 18 | N SCDIV,SCBDT,SCEDT,SC,SCI,SCX,SCOUT,SCT | 
|---|
|  | 19 | S SC="^TMP(""SC"",$J)" K @SC S SCOUT=0 | 
|---|
|  | 20 | D TITL^SCRPW50(SCDESC) | 
|---|
|  | 21 | D SUBT^SCRPW50("**** Date Range Selection ****") | 
|---|
|  | 22 | S (SCBDT("B"),SCEDT("B"))="TODAY" | 
|---|
|  | 23 | G:'$$DTR^SCRPO(.SC,.SCBDT,.SCEDT) END | 
|---|
|  | 24 | D SUBT^SCRPW50("**** Report Parameter Selection ****") | 
|---|
|  | 25 | F SCI=1:1:$L(LIST,",") S SCX=$P(LIST,",",SCI) D  Q:SCOUT | 
|---|
|  | 26 | .S SCOUT='$$LIST^SCRPO(.SC,SCX,1) | 
|---|
|  | 27 | .Q | 
|---|
|  | 28 | G:SCOUT END | 
|---|
|  | 29 | S SCT(1)="**** Report Parameters Selected ****" D SUBT^SCRPW50(SCT(1)) | 
|---|
|  | 30 | G:'$$PPAR^SCRPO(.SC,1,.SCT) END | 
|---|
|  | 31 | W !!,"This report requires 132 column output!" | 
|---|
|  | 32 | W ! N ZTSAVE S ZTSAVE("^TMP(""SC"",$J,")="",ZTSAVE("SC")="",ZTSAVE("SUMON")="" | 
|---|
|  | 33 | D EN^XUTMDEVQ(SCRTN,SCDESC,.ZTSAVE) | 
|---|
|  | 34 | END K ^TMP("SC",$J) D DISP0^SCRPW23,END^SCRPW50 Q | 
|---|
|  | 35 | ; | 
|---|
|  | 36 | STOP ;Check for stop task request | 
|---|
|  | 37 | S:$D(ZTQUEUED) (SCOUT,ZTSTOP)=$S($$S^%ZTLOAD:1,1:0) Q | 
|---|
|  | 38 | ; | 
|---|
|  | 39 | RUN ;Print report | 
|---|
|  | 40 | N SCI,SCOUT | 
|---|
|  | 41 | K ^TMP("SCRPT",$J) | 
|---|
|  | 42 | S SCOUT=0 | 
|---|
|  | 43 | D BUILD Q:SCOUT  D COUNT^SCRPO7 D STOP Q:SCOUT | 
|---|
|  | 44 | D PRINT | 
|---|
|  | 45 | K ^TMP("SCRPT",$J),^TMP("SCRATCH",$J) Q | 
|---|
|  | 46 | ; | 
|---|
|  | 47 | BUILD ;gather report information | 
|---|
|  | 48 | N SCTM | 
|---|
|  | 49 | ;build from list of teams | 
|---|
|  | 50 | I $O(^TMP("SC",$J,"TEAM",0)) S SCTM=0 D  Q | 
|---|
|  | 51 | .F  S SCTM=$O(^TMP("SC",$J,"TEAM",SCTM)) Q:'SCTM!SCOUT  D | 
|---|
|  | 52 | ..D CKTEAM^SCRPO7(SCTM),STOP | 
|---|
|  | 53 | ..Q | 
|---|
|  | 54 | .Q | 
|---|
|  | 55 | ;build from all teams | 
|---|
|  | 56 | S SCTM=0 F  S SCTM=$O(^SCTM(404.51,SCTM)) Q:'SCTM!SCOUT  D | 
|---|
|  | 57 | .D CKTEAM^SCRPO7(SCTM),STOP | 
|---|
|  | 58 | .Q | 
|---|
|  | 59 | Q | 
|---|
|  | 60 | ; | 
|---|
|  | 61 | PRINT ;Print report | 
|---|
|  | 62 | N SCLF,SCFF,SCLINE,SCPAGE,SCPNOW,SCTITL | 
|---|
|  | 63 | S (SCLF,SCFF)=0 | 
|---|
|  | 64 | D HINI D:$E(IOST)="C" DISP0^SCRPW23 | 
|---|
|  | 65 | S SCTITL(2)=$$HDRX("P") D HDR^SCRPO(.SCTITL,132) Q:SCOUT  S SCOUT=$$PPAR^SCRPO(.SC,,.SCTITL)=0 | 
|---|
|  | 66 | Q:SCOUT | 
|---|
|  | 67 | I '$D(^TMP("SCRPT",$J,0)) D  Q | 
|---|
|  | 68 | .K SCTITL(2) D HDR^SCRPO(.SCTITL,132) Q:SCOUT | 
|---|
|  | 69 | .S SCX="No team or team position assignments found within selected report parameters!" | 
|---|
|  | 70 | .W !!?(132-$L(SCX)\2),SCX | 
|---|
|  | 71 | .Q | 
|---|
|  | 72 | S SCPAGE=1 | 
|---|
|  | 73 | S SCTITL(2)=$$HDRX("S") D HDR^SCRPO(.SCTITL,132),SHDR("S") Q:SCOUT | 
|---|
|  | 74 | S SCDIV="" F  S SCDIV=$O(^TMP("SCRPT",$J,1,SCDIV)) Q:SCDIV=""!SCOUT  D | 
|---|
|  | 75 | .S SCX=^TMP("SCRPT",$J,1,SCDIV) D SLINE(SCDIV,SCX,12,.SCLF) S SCTEAM="" | 
|---|
|  | 76 | .F  S SCTEAM=$O(^TMP("SCRPT",$J,1,SCDIV,"TEAM",SCTEAM)) Q:SCTEAM=""!SCOUT  D | 
|---|
|  | 77 | ..S SCX=^TMP("SCRPT",$J,1,SCDIV,"TEAM",SCTEAM) | 
|---|
|  | 78 | ..D SLINE("  "_SCTEAM,SCX,10,.SCLF) | 
|---|
|  | 79 | ..Q | 
|---|
|  | 80 | .Q | 
|---|
|  | 81 | Q:SCOUT | 
|---|
|  | 82 | S SCX=^TMP("SCRPT",$J,0,0) D SLINE("REPORT TOTAL:",SCX,12,.SCLF) | 
|---|
|  | 83 | Q:SCOUT  D FOOT^SCRPO7 | 
|---|
|  | 84 | Q:$G(SUMON) | 
|---|
|  | 85 | I $D(^TMP("SCRPT",$J,0,0,"TLIST")) D | 
|---|
|  | 86 | .S SCTITL(2)=$$HDRX("T") D HDR^SCRPO(.SCTITL,132),SHDR("T") Q:SCOUT | 
|---|
|  | 87 | .S SCDIV="" | 
|---|
|  | 88 | .F  S SCDIV=$O(^TMP("SCRPT",$J,0,0,"TLIST",SCDIV)) Q:SCDIV=""!SCOUT  D | 
|---|
|  | 89 | ..S SCTEAM="" | 
|---|
|  | 90 | ..F  S SCTEAM=$O(^TMP("SCRPT",$J,0,0,"TLIST",SCDIV,SCTEAM)) Q:SCTEAM=""!SCOUT  D | 
|---|
|  | 91 | ...S SCPNAM="" | 
|---|
|  | 92 | ...F  S SCPNAM=$O(^TMP("SCRPT",$J,0,0,"TLIST",SCDIV,SCTEAM,SCPNAM)) Q:SCPNAM=""!SCOUT  D | 
|---|
|  | 93 | ....S SCI=0 | 
|---|
|  | 94 | ....F  S SCI=$O(^TMP("SCRPT",$J,0,0,"TLIST",SCDIV,SCTEAM,SCPNAM,SCI)) Q:'SCI!SCOUT  D | 
|---|
|  | 95 | .....S SCX=^TMP("SCRPT",$J,0,0,"TLIST",SCDIV,SCTEAM,SCPNAM,SCI) | 
|---|
|  | 96 | .....D TLINE(SCDIV,SCTEAM,SCPNAM,SCX) | 
|---|
|  | 97 | .....Q | 
|---|
|  | 98 | ....Q | 
|---|
|  | 99 | ...Q | 
|---|
|  | 100 | ..Q | 
|---|
|  | 101 | .Q | 
|---|
|  | 102 | Q:SCOUT  I $D(^TMP("SCRPT",$J,0,0,"PLIST")) D | 
|---|
|  | 103 | .S SCTITL(2)=$$HDRX("TP") D HDR^SCRPO(.SCTITL,132),SHDR("P") Q:SCOUT | 
|---|
|  | 104 | .S SCDIV="" | 
|---|
|  | 105 | .F  S SCDIV=$O(^TMP("SCRPT",$J,0,0,"PLIST",SCDIV)) Q:SCDIV=""!SCOUT  D | 
|---|
|  | 106 | ..S SCTEAM="" | 
|---|
|  | 107 | ..F  S SCTEAM=$O(^TMP("SCRPT",$J,0,0,"PLIST",SCDIV,SCTEAM)) Q:SCTEAM=""!SCOUT  D | 
|---|
|  | 108 | ...S SCPNAM="" | 
|---|
|  | 109 | ...F  S SCPNAM=$O(^TMP("SCRPT",$J,0,0,"PLIST",SCDIV,SCTEAM,SCPNAM)) Q:SCPNAM=""!SCOUT  D | 
|---|
|  | 110 | ....S SCI=0 | 
|---|
|  | 111 | ....F  S SCI=$O(^TMP("SCRPT",$J,0,0,"PLIST",SCDIV,SCTEAM,SCPNAM,SCI)) Q:'SCI!SCOUT  D | 
|---|
|  | 112 | .....S SCX=^TMP("SCRPT",$J,0,0,"PLIST",SCDIV,SCTEAM,SCPNAM,SCI) | 
|---|
|  | 113 | .....D PLINE(SCDIV,SCTEAM,SCPNAM,SCX) | 
|---|
|  | 114 | .....Q | 
|---|
|  | 115 | ....Q | 
|---|
|  | 116 | ...Q | 
|---|
|  | 117 | ..Q | 
|---|
|  | 118 | .Q | 
|---|
|  | 119 | I 'SCOUT,$E(IOST)="C" N DIR S DIR(0)="E" W ! D ^DIR | 
|---|
|  | 120 | Q | 
|---|
|  | 121 | ; | 
|---|
|  | 122 | SLINE(SCN,SCX,SCPF,SCLF) ;Print summary line | 
|---|
|  | 123 | ;Input: SCN=name of item to print | 
|---|
|  | 124 | ;Input: SCX=string of item values | 
|---|
|  | 125 | ;Input: SCPF=minimum lines without page feed | 
|---|
|  | 126 | ;Input: SCLF=extra line feed flag | 
|---|
|  | 127 | ; | 
|---|
|  | 128 | N SCI,SCY | 
|---|
|  | 129 | S SCY="2^3^7^5^4^9^8^10^6^11^12" | 
|---|
|  | 130 | I $Y>(IOSL-SCPF) D FOOT^SCRPO7,HDR^SCRPO(.SCTITL,132),SHDR("S") S SCLF=0 | 
|---|
|  | 131 | Q:SCOUT  W:SCPF>10&SCLF ! | 
|---|
|  | 132 | ;bp/djb Omit PC? column from REPORT TOTAL line. | 
|---|
|  | 133 | ;Old code start | 
|---|
|  | 134 | ;W !,$E($P(SCN,U),1,28),?30,$S($P(SCX,U)="":"NO",1:$P(SCX,U)) | 
|---|
|  | 135 | ;Old code end | 
|---|
|  | 136 | ;New code start | 
|---|
|  | 137 | I SCN["REPORT TOTAL" W !,$E($P(SCN,U),1,28) | 
|---|
|  | 138 | E  W !,$E($P(SCN,U),1,28),?30,$S($P(SCX,U)="":"NO",1:$P(SCX,U)) | 
|---|
|  | 139 | ;New code end | 
|---|
|  | 140 | F SCI=1:1:11 W ?(27+(9*SCI)),$J(+$P(SCX,U,$P(SCY,U,SCI)),6,0) | 
|---|
|  | 141 | S SCLF=1 | 
|---|
|  | 142 | Q | 
|---|
|  | 143 | ; | 
|---|
|  | 144 | TLINE(SCDIV,SCTEAM,SCPNAM,SCX) ;Print broken team assignment line | 
|---|
|  | 145 | ;Input: SCDIV=division | 
|---|
|  | 146 | ;Input: SCTEAM=team | 
|---|
|  | 147 | ;Input: SCPNAM=patient name | 
|---|
|  | 148 | ;Input: SCX=string of patient assignment data | 
|---|
|  | 149 | ; | 
|---|
|  | 150 | N SCI,Y | 
|---|
|  | 151 | F SCI=3,4 S Y=$P($P(SCX,U,SCI),".") X ^DD("DD") S $P(SCX,U,SCI)=Y | 
|---|
|  | 152 | I $Y>(IOSL-4) D HDR^SCRPO(.SCTITL,132),SHDR("T") Q:SCOUT | 
|---|
|  | 153 | W !,$P(SCDIV,U),?32,$P(SCTEAM,U),?64,SCPNAM | 
|---|
|  | 154 | W ?96,$TR($P(SCX,U,2),"-",""),?108,$P(SCX,U,3),?121,$P(SCX,U,4) | 
|---|
|  | 155 | Q | 
|---|
|  | 156 | ; | 
|---|
|  | 157 | PLINE(SCDIV,SCTEAM,SCPNAM,SCX) ;Print broken team assignment line | 
|---|
|  | 158 | ;Input: SCDIV=division | 
|---|
|  | 159 | ;Input: SCTEAM=team | 
|---|
|  | 160 | ;Input: SCPNAM=patient name | 
|---|
|  | 161 | ;Input: SCX=string of patient assignment data | 
|---|
|  | 162 | ; | 
|---|
|  | 163 | N SCI,Y | 
|---|
|  | 164 | F SCI=3,4 S Y=$P($P(SCX,U,SCI),".") X ^DD("DD") S $P(SCX,U,SCI)=Y | 
|---|
|  | 165 | I $Y>(IOSL-4) D HDR^SCRPO(.SCTITL,132),SHDR("P") Q:SCOUT | 
|---|
|  | 166 | W !,$P(SCDIV,U),?24,$P(SCTEAM,U),?48,SCPNAM,?72,$TR($P(SCX,U,2),"-","") | 
|---|
|  | 167 | W ?84,$P(SCX,U,5),?108,$P(SCX,U,3),?121,$P(SCX,U,4) | 
|---|
|  | 168 | Q | 
|---|
|  | 169 | ; | 
|---|
|  | 170 | HDRX(SCX) ;extra header line | 
|---|
|  | 171 | ;Input: SCX='P' for parameters, 'S' for summary, 'T' for broken team | 
|---|
|  | 172 | ;            assignments, 'TP' for broken team position assignments | 
|---|
|  | 173 | ; | 
|---|
|  | 174 | Q:SCX="P" "Selected Report Parameters" | 
|---|
|  | 175 | Q:SCX="S" "Summary of Team and Team Position Assignments Effective: "_^TMP("SC",$J,"DTR","PBDT")_" to "_^TMP("SC",$J,"DTR","PEDT") | 
|---|
|  | 176 | Q:SCX="T" "Team Assignments Without Active Position Assignments Effective: "_^TMP("SC",$J,"DTR","PBDT")_" to "_^TMP("SC",$J,"DTR","PEDT") | 
|---|
|  | 177 | Q:SCX="TP" "Position Assignments Without Active Team Assignments Effective: "_^TMP("SC",$J,"DTR","PBDT")_" to "_^TMP("SC",$J,"DTR","PEDT") | 
|---|
|  | 178 | Q:"" | 
|---|
|  | 179 | ; | 
|---|
|  | 180 | HINI ;Initialize header variables | 
|---|
|  | 181 | N Y | 
|---|
|  | 182 | S SCTITL(1)="<*>  HISTORICAL TEAM ASSIGNMENT SUMMARY  <*>" | 
|---|
|  | 183 | S SCLINE="",$P(SCLINE,"-",133)="",SCPAGE=1 | 
|---|
|  | 184 | S Y=$$NOW^XLFDT() X ^DD("DD") S SCPNOW=$P(Y,":",1,2) | 
|---|
|  | 185 | Q | 
|---|
|  | 186 | ; | 
|---|
|  | 187 | SHDR(X) ;Print subheader | 
|---|
|  | 188 | Q:SCOUT | 
|---|
|  | 189 | N SCI | 
|---|
|  | 190 | I X="S" D  Q | 
|---|
|  | 191 | .W !?56,"Team  --Team Position-  --Team Position-    Total",?116,"Pts w/o  Pts w/o" | 
|---|
|  | 192 | .W !,"Division",?38,"Max.     Team  Assign.  ---Assignments--  ---Unique Pts.--   Unique     Open     Pos.     Team" | 
|---|
|  | 193 | .W !?2,"Team",?30,"PC?     Pts.  Assign.  Uniques  PC",?72,"Non-PC  PC",?90,"Non-PC     Pts.    Slots  Assign.  Assign." | 
|---|
|  | 194 | .W !,$E(SCLINE,1,28),"  ---" F SCI=0:1:10 W ?(35+(9*SCI)),"-------" | 
|---|
|  | 195 | .Q | 
|---|
|  | 196 | I X="T" D  Q | 
|---|
|  | 197 | .W !,"Division",?32,"Team",?64,"Patient Name",?96,"SSN",?108,"Active Date",?121,"Inact. Date" | 
|---|
|  | 198 | .W ! F SCI=1:1:3 W $E(SCLINE,1,30),"  " | 
|---|
|  | 199 | .W "----------  -----------  -----------" | 
|---|
|  | 200 | .Q | 
|---|
|  | 201 | I X="P" D  Q | 
|---|
|  | 202 | .W !,"Division",?24,"Team",?48,"Patient Name",?72,"SSN",?84,"Team Position",?108,"Active Date",?121,"Inact. Date" | 
|---|
|  | 203 | .W ! F SCI=1:1:3 W $E(SCLINE,1,22),"  " | 
|---|
|  | 204 | .W "----------  ",$E(SCLINE,1,22),"  -----------  -----------" | 
|---|
|  | 205 | .Q | 
|---|
|  | 206 | Q | 
|---|