[613] | 1 | SCRPO7 ;BP-CIOFO/KEITH - Historical Team Assignment Summary (cont.) ; 06 Jul 99 7:41 AM
|
---|
| 2 | ;;5.3;Scheduling;**177**;AUG 13, 1993
|
---|
| 3 | ;
|
---|
| 4 | CKTEAM(SCTM) ;Build from team
|
---|
| 5 | ;Input: SCTM=team ifn
|
---|
| 6 | N SCTM0,SCDIV,SCTPC,SCTMAX,SCTEAM,SCDT,SCRATCH,ERR,SCI
|
---|
| 7 | N SCACT,SCII,SCIII,SCINAC,SCPC,SCPNAM,SCTP
|
---|
| 8 | N DFN,SCTMASS,SCTMUNI,SCX,SCPTA,SCY
|
---|
| 9 | F SCI=1:1:12 S SCY(SCI)=""
|
---|
| 10 | S SCTM0=$G(^SCTM(404.51,SCTM,0)) Q:'$L(SCTM0)
|
---|
| 11 | S SCTEAM=$P(SCTM0,U)_U_SCTM ;team name
|
---|
| 12 | S SCDIV=$P(SCTM0,U,7) Q:'SCDIV ;division
|
---|
| 13 | I $O(^TMP("SC",$J,"DIV",0)),'$D(^TMP("SC",$J,"DIV",SCDIV)) Q
|
---|
| 14 | S SCDIV=$P($G(^DIC(4,SCDIV,0)),U)_U_SCDIV
|
---|
| 15 | S SCY(1)=$S($P(SCTM0,U,5)=1:"YES",1:"NO") ;pc team?
|
---|
| 16 | S SCY(2)=$P(SCTM0,U,8) ;max. patients
|
---|
| 17 | M SCDT=^TMP("SC",$J,"DTR") S SCDT="SCDT"
|
---|
| 18 | S SCRATCH="^TMP(""SCRATCH"",$J,1)" K @SCRATCH,^TMP("SCRPT",$J,2)
|
---|
| 19 | S SCI=$$PTTM^SCAPMC(SCTM,.SCDT,SCRATCH,"ERR")
|
---|
| 20 | S SCI=0 F S SCI=$O(^TMP("SCRATCH",$J,1,SCI)) Q:'SCI D
|
---|
| 21 | .S SCX=^TMP("SCRATCH",$J,1,SCI)
|
---|
| 22 | .S DFN=$P(SCX,U) Q:'DFN
|
---|
| 23 | .S DATA=$P(SCX,U,2)_U_$P(SCX,U,6)_U_$P(SCX,U,4,5)
|
---|
| 24 | .S SCPTA=$P(SCX,U,3) Q:'SCPTA
|
---|
| 25 | .F SCII=0,1,2 S ^TMP("SCRPT",$J,SCII,$$RPT(SCII),"TPTS",DFN,SCPTA)=DATA
|
---|
| 26 | ;Count team assignments and uniques
|
---|
| 27 | S DFN=0 F S DFN=$O(^TMP("SCRPT",$J,2,SCTEAM,"TPTS",DFN)) Q:'DFN D
|
---|
| 28 | .S SCY(7)=SCY(7)+1,SCPTA=0
|
---|
| 29 | .F S SCPTA=$O(^TMP("SCRPT",$J,2,SCTEAM,"TPTS",DFN,SCPTA)) Q:'SCPTA D
|
---|
| 30 | ..S SCY(3)=SCY(3)+1
|
---|
| 31 | ..Q
|
---|
| 32 | .Q
|
---|
| 33 | ;Get team positions
|
---|
| 34 | K @SCRATCH
|
---|
| 35 | S SCI=$$TPTM^SCAPMC(SCTM,.SCDT,,,SCRATCH,"ERR")
|
---|
| 36 | S SCI=0 F S SCI=$O(^TMP("SCRATCH",$J,1,SCI)) Q:'SCI D
|
---|
| 37 | .N SCDT2 M SCDT2=SCDT S SCDT2="SCDT2"
|
---|
| 38 | .S SCX=^TMP("SCRATCH",$J,1,SCI)
|
---|
| 39 | .S SCTP=$P(SCX,U) Q:'SCTP
|
---|
| 40 | .S SCPOSN=$P(SCX,U,2)
|
---|
| 41 | .S SCACT=$P(SCX,U,5),SCINAC=$P(SCX,U,6)
|
---|
| 42 | .S:SCACT>SCDT2("BEGIN") SCDT2("BEGIN")=SCACT
|
---|
| 43 | .I SCINAC,SCINAC<SCDT2("END") S SCDT2("END")=SCINAC
|
---|
| 44 | .S SCRATCH="^TMP(""SCRATCH"",$J,2)" K @SCRATCH
|
---|
| 45 | .;Get list of position patients
|
---|
| 46 | .S SCII=$$PTTP^SCAPMC(SCTP,.SCDT2,SCRATCH,"ERR")
|
---|
| 47 | .S SCII=0 F S SCII=$O(^TMP("SCRATCH",$J,2,SCII)) Q:'SCII D
|
---|
| 48 | ..S SCX=^TMP("SCRATCH",$J,2,SCII)
|
---|
| 49 | ..S DFN=$P(SCX,U) Q:'DFN
|
---|
| 50 | ..S DATA=$P(SCX,U,2)_U_$P(SCX,U,6)_U_$P(SCX,U,4,5)_U_SCPOSN
|
---|
| 51 | ..S SCPTPA=$P(SCX,U,3) Q:'SCPTPA
|
---|
| 52 | ..S SCPTPA0=$G(^SCPT(404.43,SCPTPA,0)) Q:'$L(SCPTPA0)
|
---|
| 53 | ..S SCPC=$P(SCPTPA0,U,5)>0 ;pc position?
|
---|
| 54 | ..F SCIII=0,1,2 S ^TMP("SCRPT",$J,SCIII,$$RPT(SCIII),"PPTS",SCPC,DFN,SCPTPA)=DATA
|
---|
| 55 | ..Q
|
---|
| 56 | .Q
|
---|
| 57 | ;Count team position assignment assignments and uniques
|
---|
| 58 | F SCI=0,1 S DFN=0 D
|
---|
| 59 | .F S DFN=$O(^TMP("SCRPT",$J,2,SCTEAM,"PPTS",SCI,DFN)) Q:'DFN D
|
---|
| 60 | ..S SCY(8+SCI)=SCY(8+SCI)+1,SCPTPA=0
|
---|
| 61 | ..F S SCPTPA=$O(^TMP("SCRPT",$J,2,SCTEAM,"PPTS",SCI,DFN,SCPTPA)) Q:'SCPTPA D
|
---|
| 62 | ...S SCY(4+SCI)=SCY(4+SCI)+1
|
---|
| 63 | ...Q
|
---|
| 64 | ..Q
|
---|
| 65 | .Q
|
---|
| 66 | ;check for broken team assignments
|
---|
| 67 | M ^TMP("SCRPT",$J,2,SCTEAM,"PPTS",1)=^TMP("SCRPT",$J,2,SCTEAM,"PPTS",0)
|
---|
| 68 | S DFN=0 F S DFN=$O(^TMP("SCRPT",$J,2,SCTEAM,"TPTS",DFN)) Q:'DFN D
|
---|
| 69 | .Q:$D(^TMP("SCRPT",$J,2,SCTEAM,"PPTS",1,DFN))
|
---|
| 70 | .S SCPTA=0,SCY(11)=SCY(11)+1
|
---|
| 71 | .F S SCPTA=$O(^TMP("SCRPT",$J,2,SCTEAM,"TPTS",DFN,SCPTA)) Q:'SCPTA D
|
---|
| 72 | ..S DATA=^TMP("SCRPT",$J,2,SCTEAM,"TPTS",DFN,SCPTA)
|
---|
| 73 | ..S SCPNAM=$P(DATA,U) Q:'$L(SCPNAM)
|
---|
| 74 | ..S ^TMP("SCRPT",$J,0,0,"TLIST",SCDIV,SCTEAM,SCPNAM,SCPTA)=DATA
|
---|
| 75 | ..S ^TMP("SCRPT",$J,0,0,"BTA",SCDIV,DFN)=""
|
---|
| 76 | ..S ^TMP("SCRPT",$J,0,0,"BTA",0,DFN)=""
|
---|
| 77 | ..Q
|
---|
| 78 | .Q
|
---|
| 79 | ;check for broken team position assignments
|
---|
| 80 | S DFN=0 F S DFN=$O(^TMP("SCRPT",$J,2,SCTEAM,"PPTS",1,DFN)) Q:'DFN D
|
---|
| 81 | .Q:$D(^TMP("SCRPT",$J,2,SCTEAM,"TPTS",DFN))
|
---|
| 82 | .S SCPTPA=0,SCY(12)=SCY(12)+1
|
---|
| 83 | .F S SCPTPA=$O(^TMP("SCRPT",$J,2,SCTEAM,"PPTS",1,DFN,SCPTPA)) Q:'SCPTPA D
|
---|
| 84 | ..S DATA=^TMP("SCRPT",$J,2,SCTEAM,"PPTS",1,DFN,SCPTPA)
|
---|
| 85 | ..S SCPNAM=$P(DATA,U) Q:'$L(SCPNAM)
|
---|
| 86 | ..S ^TMP("SCRPT",$J,0,0,"PLIST",SCDIV,SCTEAM,SCPNAM,SCPTPA)=DATA
|
---|
| 87 | ..S ^TMP("SCRPT",$J,0,0,"BTPA",SCDIV,DFN)=""
|
---|
| 88 | ..S ^TMP("SCRPT",$J,0,0,"BTPA",0,DFN)=""
|
---|
| 89 | ..Q
|
---|
| 90 | .Q
|
---|
| 91 | ;count total uniques and open slots
|
---|
| 92 | M ^TMP("SCRPT",$J,2,SCTEAM,"TPTS")=^TMP("SCRPT",$J,2,SCTEAM,"PPTS",1)
|
---|
| 93 | K ^TMP("SCRPT",$J,2,SCTEAM,"PPTS")
|
---|
| 94 | S DFN=0 F S DFN=$O(^TMP("SCRPT",$J,2,SCTEAM,"TPTS",DFN)) Q:'DFN D
|
---|
| 95 | .S SCY(10)=SCY(10)+1
|
---|
| 96 | .Q
|
---|
| 97 | S SCY(6)=SCY(2)-SCY(10) S:SCY(6)<0 SCY(6)=0
|
---|
| 98 | K ^TMP("SCRPT",$J,2)
|
---|
| 99 | ;Move team data to report and division totals
|
---|
| 100 | I SCY(1)="YES" D
|
---|
| 101 | .S $P(^TMP("SCRPT",$J,0,0),U)="YES"
|
---|
| 102 | .S $P(^TMP("SCRPT",$J,1,SCDIV),U)="YES"
|
---|
| 103 | .S $P(^TMP("SCRPT",$J,1,SCDIV,"TEAM",SCTEAM),U)="YES"
|
---|
| 104 | .Q
|
---|
| 105 | F SCI=2:1:6 D
|
---|
| 106 | .S $P(^TMP("SCRPT",$J,0,0),U,SCI)=$P($G(^TMP("SCRPT",$J,0,0)),U,SCI)+SCY(SCI)
|
---|
| 107 | .S $P(^TMP("SCRPT",$J,1,SCDIV),U,SCI)=$P($G(^TMP("SCRPT",$J,1,SCDIV)),U,SCI)+SCY(SCI)
|
---|
| 108 | .S $P(^TMP("SCRPT",$J,1,SCDIV,"TEAM",SCTEAM),U,SCI)=$P($G(^TMP("SCRPT",$J,1,SCDIV,"TEAM",SCTEAM)),U,SCI)+SCY(SCI)
|
---|
| 109 | .Q
|
---|
| 110 | F SCI=7:1:12 D
|
---|
| 111 | .S $P(^TMP("SCRPT",$J,1,SCDIV,"TEAM",SCTEAM),U,SCI)=SCY(SCI)
|
---|
| 112 | .Q
|
---|
| 113 | Q
|
---|
| 114 | ;
|
---|
| 115 | RPT(X) ;Return report section value
|
---|
| 116 | Q $S(X=1:SCDIV,X=2:SCTEAM,1:0)
|
---|
| 117 | ;
|
---|
| 118 | COUNT ;Count division and report uniques
|
---|
| 119 | S SCDIV="" F S SCDIV=$O(^TMP("SCRPT",$J,1,SCDIV)) Q:SCDIV="" D
|
---|
| 120 | .K SCY F SCI=7:1:12 S SCY(SCI)=""
|
---|
| 121 | .S DFN=0 F S DFN=$O(^TMP("SCRPT",$J,1,SCDIV,"TPTS",DFN)) Q:'DFN D
|
---|
| 122 | ..S SCY(7)=SCY(7)+1
|
---|
| 123 | ..Q
|
---|
| 124 | .F SCI=0,1 S DFN=0 D
|
---|
| 125 | ..F S DFN=$O(^TMP("SCRPT",$J,1,SCDIV,"PPTS",SCI,DFN)) Q:'DFN D
|
---|
| 126 | ...S SCY(8+SCI)=SCY(8+SCI)+1
|
---|
| 127 | ...Q
|
---|
| 128 | ..Q
|
---|
| 129 | .M ^TMP("SCRPT",$J,1,SCDIV,"PPTS",1)=^TMP("SCRPT",$J,1,SCDIV,"PPTS",0)
|
---|
| 130 | .M ^TMP("SCRPT",$J,1,SCDIV,"TPTS")=^TMP("SCRPT",$J,1,SCDIV,"PPTS",1)
|
---|
| 131 | .K ^TMP("SCRPT",$J,1,SCDIV,"PPTS")
|
---|
| 132 | .S DFN=0 F S DFN=$O(^TMP("SCRPT",$J,1,SCDIV,"TPTS",DFN)) Q:'DFN D
|
---|
| 133 | ..S SCY(10)=SCY(10)+1
|
---|
| 134 | ..Q
|
---|
| 135 | .K ^TMP("SCRPT",$J,1,SCDIV,"TPTS")
|
---|
| 136 | .F SCI="BTA","BTPA" S DFN=0 D
|
---|
| 137 | ..F S DFN=$O(^TMP("SCRPT",$J,0,0,SCI,SCDIV,DFN)) Q:'DFN D
|
---|
| 138 | ...S SCY($S(SCI="BTA":11,1:12))=SCY($S(SCI="BTA":11,1:12))+1
|
---|
| 139 | ...Q
|
---|
| 140 | ..K ^TMP("SCRPT",$J,0,0,SCI,SCDIV)
|
---|
| 141 | ..Q
|
---|
| 142 | .F SCI=7:1:12 D
|
---|
| 143 | ..S $P(^TMP("SCRPT",$J,1,SCDIV),U,SCI)=SCY(SCI)
|
---|
| 144 | ..Q
|
---|
| 145 | .Q
|
---|
| 146 | ;count report uniques
|
---|
| 147 | K SCY F SCI=7:1:12 S SCY(SCI)=""
|
---|
| 148 | S DFN=0 F S DFN=$O(^TMP("SCRPT",$J,0,0,"TPTS",DFN)) Q:'DFN D
|
---|
| 149 | .S SCY(7)=SCY(7)+1
|
---|
| 150 | .Q
|
---|
| 151 | F SCI=0,1 S DFN=0 D
|
---|
| 152 | .F S DFN=$O(^TMP("SCRPT",$J,0,0,"PPTS",SCI,DFN)) Q:'DFN D
|
---|
| 153 | ..S SCY(8+SCI)=SCY(8+SCI)+1
|
---|
| 154 | ..Q
|
---|
| 155 | .Q
|
---|
| 156 | M ^TMP("SCRPT",$J,0,0,"PPTS",1)=^TMP("SCRPT",$J,0,0,"PPTS",0)
|
---|
| 157 | M ^TMP("SCRPT",$J,0,0,"TPTS")=^TMP("SCRPT",$J,0,0,"PPTS",1)
|
---|
| 158 | K ^TMP("SCRPT",$J,0,0,"PPTS")
|
---|
| 159 | S DFN=0 F S DFN=$O(^TMP("SCRPT",$J,0,0,"TPTS",DFN)) Q:'DFN D
|
---|
| 160 | .S SCY(10)=SCY(10)+1
|
---|
| 161 | .Q
|
---|
| 162 | K ^TMP("SCRPT",$J,0,0,"TPTS")
|
---|
| 163 | F SCI="BTA","BTPA" S DFN=0 D
|
---|
| 164 | .F S DFN=$O(^TMP("SCRPT",$J,0,0,SCI,0,DFN)) Q:'DFN D
|
---|
| 165 | ..S SCY($S(SCI="BTA":11,1:12))=SCY($S(SCI="BTA":11,1:12))+1
|
---|
| 166 | ..Q
|
---|
| 167 | .K ^TMP("SCRPT",$J,0,0,SCI,0)
|
---|
| 168 | .Q
|
---|
| 169 | F SCI=7:1:12 D
|
---|
| 170 | .S $P(^TMP("SCRPT",$J,0,0),U,SCI)=SCY(SCI)
|
---|
| 171 | .Q
|
---|
| 172 | Q
|
---|
| 173 | ;
|
---|
| 174 | FOOT ;Summary report footer
|
---|
| 175 | N SCI
|
---|
| 176 | F SCI=1:1:80 W ! Q:$Y>(IOSL-9)
|
---|
| 177 | W !,SCLINE
|
---|
| 178 | W !,"NOTE: This report represents a count of team and team position assignments within the date range selected. If a date range"
|
---|
| 179 | W !?6,"larger than one day has been selected, the total unique patients and assignments may be greater than the maximum defined"
|
---|
| 180 | W !?6,"for the team, reducing the open slots reflected by this report accordingly. However, this does not imply that the team"
|
---|
| 181 | W !?6,"had more than its maximum number of patients on any single date."
|
---|
| 182 | W !,SCLINE
|
---|
| 183 | Q
|
---|