SCRPO7 ;BP-CIOFO/KEITH - Historical Team Assignment Summary (cont.) ; 06 Jul 99 7:41 AM ;;5.3;Scheduling;**177**;AUG 13, 1993 ; CKTEAM(SCTM) ;Build from team ;Input: SCTM=team ifn N SCTM0,SCDIV,SCTPC,SCTMAX,SCTEAM,SCDT,SCRATCH,ERR,SCI N SCACT,SCII,SCIII,SCINAC,SCPC,SCPNAM,SCTP N DFN,SCTMASS,SCTMUNI,SCX,SCPTA,SCY F SCI=1:1:12 S SCY(SCI)="" S SCTM0=$G(^SCTM(404.51,SCTM,0)) Q:'$L(SCTM0) S SCTEAM=$P(SCTM0,U)_U_SCTM ;team name S SCDIV=$P(SCTM0,U,7) Q:'SCDIV ;division I $O(^TMP("SC",$J,"DIV",0)),'$D(^TMP("SC",$J,"DIV",SCDIV)) Q S SCDIV=$P($G(^DIC(4,SCDIV,0)),U)_U_SCDIV S SCY(1)=$S($P(SCTM0,U,5)=1:"YES",1:"NO") ;pc team? S SCY(2)=$P(SCTM0,U,8) ;max. patients M SCDT=^TMP("SC",$J,"DTR") S SCDT="SCDT" S SCRATCH="^TMP(""SCRATCH"",$J,1)" K @SCRATCH,^TMP("SCRPT",$J,2) S SCI=$$PTTM^SCAPMC(SCTM,.SCDT,SCRATCH,"ERR") S SCI=0 F S SCI=$O(^TMP("SCRATCH",$J,1,SCI)) Q:'SCI D .S SCX=^TMP("SCRATCH",$J,1,SCI) .S DFN=$P(SCX,U) Q:'DFN .S DATA=$P(SCX,U,2)_U_$P(SCX,U,6)_U_$P(SCX,U,4,5) .S SCPTA=$P(SCX,U,3) Q:'SCPTA .F SCII=0,1,2 S ^TMP("SCRPT",$J,SCII,$$RPT(SCII),"TPTS",DFN,SCPTA)=DATA ;Count team assignments and uniques S DFN=0 F S DFN=$O(^TMP("SCRPT",$J,2,SCTEAM,"TPTS",DFN)) Q:'DFN D .S SCY(7)=SCY(7)+1,SCPTA=0 .F S SCPTA=$O(^TMP("SCRPT",$J,2,SCTEAM,"TPTS",DFN,SCPTA)) Q:'SCPTA D ..S SCY(3)=SCY(3)+1 ..Q .Q ;Get team positions K @SCRATCH S SCI=$$TPTM^SCAPMC(SCTM,.SCDT,,,SCRATCH,"ERR") S SCI=0 F S SCI=$O(^TMP("SCRATCH",$J,1,SCI)) Q:'SCI D .N SCDT2 M SCDT2=SCDT S SCDT2="SCDT2" .S SCX=^TMP("SCRATCH",$J,1,SCI) .S SCTP=$P(SCX,U) Q:'SCTP .S SCPOSN=$P(SCX,U,2) .S SCACT=$P(SCX,U,5),SCINAC=$P(SCX,U,6) .S:SCACT>SCDT2("BEGIN") SCDT2("BEGIN")=SCACT .I SCINAC,SCINAC0 ;pc position? ..F SCIII=0,1,2 S ^TMP("SCRPT",$J,SCIII,$$RPT(SCIII),"PPTS",SCPC,DFN,SCPTPA)=DATA ..Q .Q ;Count team position assignment assignments and uniques F SCI=0,1 S DFN=0 D .F S DFN=$O(^TMP("SCRPT",$J,2,SCTEAM,"PPTS",SCI,DFN)) Q:'DFN D ..S SCY(8+SCI)=SCY(8+SCI)+1,SCPTPA=0 ..F S SCPTPA=$O(^TMP("SCRPT",$J,2,SCTEAM,"PPTS",SCI,DFN,SCPTPA)) Q:'SCPTPA D ...S SCY(4+SCI)=SCY(4+SCI)+1 ...Q ..Q .Q ;check for broken team assignments M ^TMP("SCRPT",$J,2,SCTEAM,"PPTS",1)=^TMP("SCRPT",$J,2,SCTEAM,"PPTS",0) S DFN=0 F S DFN=$O(^TMP("SCRPT",$J,2,SCTEAM,"TPTS",DFN)) Q:'DFN D .Q:$D(^TMP("SCRPT",$J,2,SCTEAM,"PPTS",1,DFN)) .S SCPTA=0,SCY(11)=SCY(11)+1 .F S SCPTA=$O(^TMP("SCRPT",$J,2,SCTEAM,"TPTS",DFN,SCPTA)) Q:'SCPTA D ..S DATA=^TMP("SCRPT",$J,2,SCTEAM,"TPTS",DFN,SCPTA) ..S SCPNAM=$P(DATA,U) Q:'$L(SCPNAM) ..S ^TMP("SCRPT",$J,0,0,"TLIST",SCDIV,SCTEAM,SCPNAM,SCPTA)=DATA ..S ^TMP("SCRPT",$J,0,0,"BTA",SCDIV,DFN)="" ..S ^TMP("SCRPT",$J,0,0,"BTA",0,DFN)="" ..Q .Q ;check for broken team position assignments S DFN=0 F S DFN=$O(^TMP("SCRPT",$J,2,SCTEAM,"PPTS",1,DFN)) Q:'DFN D .Q:$D(^TMP("SCRPT",$J,2,SCTEAM,"TPTS",DFN)) .S SCPTPA=0,SCY(12)=SCY(12)+1 .F S SCPTPA=$O(^TMP("SCRPT",$J,2,SCTEAM,"PPTS",1,DFN,SCPTPA)) Q:'SCPTPA D ..S DATA=^TMP("SCRPT",$J,2,SCTEAM,"PPTS",1,DFN,SCPTPA) ..S SCPNAM=$P(DATA,U) Q:'$L(SCPNAM) ..S ^TMP("SCRPT",$J,0,0,"PLIST",SCDIV,SCTEAM,SCPNAM,SCPTPA)=DATA ..S ^TMP("SCRPT",$J,0,0,"BTPA",SCDIV,DFN)="" ..S ^TMP("SCRPT",$J,0,0,"BTPA",0,DFN)="" ..Q .Q ;count total uniques and open slots M ^TMP("SCRPT",$J,2,SCTEAM,"TPTS")=^TMP("SCRPT",$J,2,SCTEAM,"PPTS",1) K ^TMP("SCRPT",$J,2,SCTEAM,"PPTS") S DFN=0 F S DFN=$O(^TMP("SCRPT",$J,2,SCTEAM,"TPTS",DFN)) Q:'DFN D .S SCY(10)=SCY(10)+1 .Q S SCY(6)=SCY(2)-SCY(10) S:SCY(6)<0 SCY(6)=0 K ^TMP("SCRPT",$J,2) ;Move team data to report and division totals I SCY(1)="YES" D .S $P(^TMP("SCRPT",$J,0,0),U)="YES" .S $P(^TMP("SCRPT",$J,1,SCDIV),U)="YES" .S $P(^TMP("SCRPT",$J,1,SCDIV,"TEAM",SCTEAM),U)="YES" .Q F SCI=2:1:6 D .S $P(^TMP("SCRPT",$J,0,0),U,SCI)=$P($G(^TMP("SCRPT",$J,0,0)),U,SCI)+SCY(SCI) .S $P(^TMP("SCRPT",$J,1,SCDIV),U,SCI)=$P($G(^TMP("SCRPT",$J,1,SCDIV)),U,SCI)+SCY(SCI) .S $P(^TMP("SCRPT",$J,1,SCDIV,"TEAM",SCTEAM),U,SCI)=$P($G(^TMP("SCRPT",$J,1,SCDIV,"TEAM",SCTEAM)),U,SCI)+SCY(SCI) .Q F SCI=7:1:12 D .S $P(^TMP("SCRPT",$J,1,SCDIV,"TEAM",SCTEAM),U,SCI)=SCY(SCI) .Q Q ; RPT(X) ;Return report section value Q $S(X=1:SCDIV,X=2:SCTEAM,1:0) ; COUNT ;Count division and report uniques S SCDIV="" F S SCDIV=$O(^TMP("SCRPT",$J,1,SCDIV)) Q:SCDIV="" D .K SCY F SCI=7:1:12 S SCY(SCI)="" .S DFN=0 F S DFN=$O(^TMP("SCRPT",$J,1,SCDIV,"TPTS",DFN)) Q:'DFN D ..S SCY(7)=SCY(7)+1 ..Q .F SCI=0,1 S DFN=0 D ..F S DFN=$O(^TMP("SCRPT",$J,1,SCDIV,"PPTS",SCI,DFN)) Q:'DFN D ...S SCY(8+SCI)=SCY(8+SCI)+1 ...Q ..Q .M ^TMP("SCRPT",$J,1,SCDIV,"PPTS",1)=^TMP("SCRPT",$J,1,SCDIV,"PPTS",0) .M ^TMP("SCRPT",$J,1,SCDIV,"TPTS")=^TMP("SCRPT",$J,1,SCDIV,"PPTS",1) .K ^TMP("SCRPT",$J,1,SCDIV,"PPTS") .S DFN=0 F S DFN=$O(^TMP("SCRPT",$J,1,SCDIV,"TPTS",DFN)) Q:'DFN D ..S SCY(10)=SCY(10)+1 ..Q .K ^TMP("SCRPT",$J,1,SCDIV,"TPTS") .F SCI="BTA","BTPA" S DFN=0 D ..F S DFN=$O(^TMP("SCRPT",$J,0,0,SCI,SCDIV,DFN)) Q:'DFN D ...S SCY($S(SCI="BTA":11,1:12))=SCY($S(SCI="BTA":11,1:12))+1 ...Q ..K ^TMP("SCRPT",$J,0,0,SCI,SCDIV) ..Q .F SCI=7:1:12 D ..S $P(^TMP("SCRPT",$J,1,SCDIV),U,SCI)=SCY(SCI) ..Q .Q ;count report uniques K SCY F SCI=7:1:12 S SCY(SCI)="" S DFN=0 F S DFN=$O(^TMP("SCRPT",$J,0,0,"TPTS",DFN)) Q:'DFN D .S SCY(7)=SCY(7)+1 .Q F SCI=0,1 S DFN=0 D .F S DFN=$O(^TMP("SCRPT",$J,0,0,"PPTS",SCI,DFN)) Q:'DFN D ..S SCY(8+SCI)=SCY(8+SCI)+1 ..Q .Q M ^TMP("SCRPT",$J,0,0,"PPTS",1)=^TMP("SCRPT",$J,0,0,"PPTS",0) M ^TMP("SCRPT",$J,0,0,"TPTS")=^TMP("SCRPT",$J,0,0,"PPTS",1) K ^TMP("SCRPT",$J,0,0,"PPTS") S DFN=0 F S DFN=$O(^TMP("SCRPT",$J,0,0,"TPTS",DFN)) Q:'DFN D .S SCY(10)=SCY(10)+1 .Q K ^TMP("SCRPT",$J,0,0,"TPTS") F SCI="BTA","BTPA" S DFN=0 D .F S DFN=$O(^TMP("SCRPT",$J,0,0,SCI,0,DFN)) Q:'DFN D ..S SCY($S(SCI="BTA":11,1:12))=SCY($S(SCI="BTA":11,1:12))+1 ..Q .K ^TMP("SCRPT",$J,0,0,SCI,0) .Q F SCI=7:1:12 D .S $P(^TMP("SCRPT",$J,0,0),U,SCI)=SCY(SCI) .Q Q ; FOOT ;Summary report footer N SCI F SCI=1:1:80 W ! Q:$Y>(IOSL-9) W !,SCLINE W !,"NOTE: This report represents a count of team and team position assignments within the date range selected. If a date range" W !?6,"larger than one day has been selected, the total unique patients and assignments may be greater than the maximum defined" W !?6,"for the team, reducing the open slots reflected by this report accordingly. However, this does not imply that the team" W !?6,"had more than its maximum number of patients on any single date." W !,SCLINE Q