LRCAPV3 ;SLC/AM/DALOI/FHS - CONTINUE STORE OF CAP WORKLOAD TO 64.1 ; 5/1/99
;;5.2T9;LR;**1018**;Nov 17, 2004
;;5.2;LAB SERVICE;**105,263**;Sep 27, 1994
EN ;
S:'$D(LRLOG) LRLOG=$P($G(^LAB(69.9,1,"NITE")),U,6)
I $G(LRLOG) D LRDSS ; This line controls the addition of data to the WKLD LOG FILE (#64.03) FOR DSS LAB WORKLOAD RECORDING
D BLDIN,STORE
Q
BLDIN ;
K DINUM G:$D(^LRO(64.1,LRIN,0))=1 BLDCD
K DIC,DIE,DR,DA,DO S (X,DINUM,DA)=LRIN,DLAYGO=64.1,DIC(0)="LNM",DIC="^LRO(64.1,",DA(1)=64.1 D FILE^DICN
S ^LRO(64.1,LRIN,1,0)="^64.11DA^"
BLDCD ;
K DINUM G:$D(^LRO(64.1,LRIN,1,LRCDT,0))=1 BLDCC
K DIC,DIE,DR,DA,DO S (X,DINUM,DA)=LRCDT,DLAYGO=64.1,DIC(0)="LNM",DA(2)=64.1,DA(1)=LRIN,DIC="^LRO(64.1,"_LRIN_",1," D FILE^DICN
S ^LRO(64.1,LRIN,1,LRCDT,1,0)="^64.111PA^"
BLDCC ;
K DINUM Q:$D(^LRO(64.1,LRIN,1,LRCDT,1,LRCC,0))=1
K DIC,DIE,DR,DA,DO S (X,DINUM,DA)=LRCC,DLAYGO=64.1,DIC(0)="LNM",DA(3)=64.1,DA(2)=LRIN,DA(1)=LRCDT,DIC="^LRO(64.1,"_LRIN_",1,"_LRCDT_",1," D FILE^DICN
I $D(^LRO(64.1,LRIN,1,LRCDT,1,LRCC,0))#2 D
. S $P(^LRO(64.1,LRIN,1,LRCDT,1,LRCC,0),U,2)=1
. S $P(^LRO(64.1,LRIN,1,LRCDT,1,LRCC,0),U,3)=$P($G(^LAM(LRCC,0)),U,10)
S ^LRO(64.1,LRIN,1,LRCDT,1,LRCC,1,0)="^64.1111A^"
K DIC,DIE,DR,DA,DO,DINUM,DLAYGO
Q
STORE ;
S LRCTM=("."_LRCTM)*10000
F LRCTM=LRCTM:.001 Q:'($D(^LRO(64.1,LRIN,1,LRCDT,1,LRCC,1,LRCTM,0))#2)
S LRZCNT=0
S:$D(^LRO(64.1,LRIN,1,LRCDT,1,LRCC,1,0))#2 LRZCNT=$P(^(0),U,4)
L +^LRO(64.1,LRIN,1,LRCDT,1,LRCC) S ^LRO(64.1,LRIN,1,LRCDT,1,LRCC,1,0)="^64.1111A^"_LRCTM_U_(LRZCNT+1)
S ^LRO(64.1,LRIN,1,LRCDT,1,LRCC,1,LRCTM,0)=LRCTM_U_LRTS_U_LRCNT_U_U_U_LRLD_U_LRMA_U_LRLSS_U_LRACC_U_LRFILE_U_LROAD_U_LROAD1_U_LROAD2_U_$S($G(LRSPEC):LRSPEC,1:"")_U_LRRRL
S ^LRO(64.1,LRIN,1,LRCDT,1,LRCC,1,LRCTM,0)=^(0)_U_LRRRL1_U_LRRRL2_U_LRRRL3_U_LRRRL4_U_U_LROL_U_LRIDT_U_LRUG_U_LRTEC_U_LRWA L -^LRO(64.1,LRIN,1,LRCDT,1,LRCC)
Q ;I LRFNUM=62.3 D SETQC
Q
SETQC ;
S LRQC=0
L +^LRO(64.1,LRIN,1,LRCDT,1,LRCC,"S") I $D(^LRO(64.1,LRIN,1,LRCDT,1,LRCC,"S"))#2 S LRQC=+$P(^("S"),U,2)
S $P(^LRO(64.1,LRIN,1,LRCDT,1,LRCC,"S"),U,2)=LRQC+LRCNT L -^LRO(64.1,LRIN,1,LRCDT,1,LRCC,"S")
Q
LRDSS ; entry point for DSS/DMSS like projects
;Only patients from ^DPT( and LMIP BILLABLE or DSS Feeder=yes or
;suffix code = 9999 are passed to LRO(64.03 file
Q:$P($G(LRX),U,2)'?5N1"."4N.5N Q:$S($G(LRFNUM)'=2:1,$P(LRX,U,5):0,$P(LRX,U,16):0,+$P(LRX,".",2)=9999:0,1:1)
S:'$D(^LRO(64.03,0))#2 ^LRO(64.03,0)="WKLD LOG FILE^64.03^"
S LRDSS0=^LRO(64.03,0),LRDSS=$S($P(LRDSS0,U,3):$P(LRDSS0,U,3),1:1) F LRDSS=LRDSS:1 Q:'$D(^LRO(64.03,LRDSS,0))
S $P(LRDSS0,U,3)=LRDSS,$P(LRDSS0,U,4)=$P(LRDSS0,U,4)+1,^LRO(64.03,0)=LRDSS0
S ^LRO(64.03,LRDSS,0)=LRDSS_U_LRRRL1_U_LRFILE_U_LRCDT_"."_LRCTM_U_LRIN_U_LRRRL4_U_LRAA_U_LRTS_U_LRUG_U_LRRRL2_U_LRCC_U_LRIDT_U_LROAD_U_LROAD1_U_LROL_U_LRII_U_$S($G(LRSPEC):LRSPEC,1:"")
K LRDSS0,LRDSS,LRDN0,LRDSFP,LRDSF
Q
LRCAPV3 ;SLC/AM/DALOI/FHS - CONTINUE STORE OF CAP WORKLOAD TO 64.1 ; 5/1/99
+1 ;;5.2T9;LR;**1018**;Nov 17, 2004
+2 ;;5.2;LAB SERVICE;**105,263**;Sep 27, 1994
EN ;
+1 IF '$DATA(LRLOG)
SET LRLOG=$PIECE($GET(^LAB(69.9,1,"NITE")),U,6)
+2 ; This line controls the addition of data to the WKLD LOG FILE (#64.03) FOR DSS LAB WORKLOAD RECORDING
IF $GET(LRLOG)
DO LRDSS
+3 DO BLDIN
DO STORE
+4 QUIT
BLDIN ;
+1 KILL DINUM
IF $DATA(^LRO(64.1,LRIN,0))=1
GOTO BLDCD
+2 KILL DIC,DIE,DR,DA,DO
SET (X,DINUM,DA)=LRIN
SET DLAYGO=64.1
SET DIC(0)="LNM"
SET DIC="^LRO(64.1,"
SET DA(1)=64.1
DO FILE^DICN
+3 SET ^LRO(64.1,LRIN,1,0)="^64.11DA^"
BLDCD ;
+1 KILL DINUM
IF $DATA(^LRO(64.1,LRIN,1,LRCDT,0))=1
GOTO BLDCC
+2 KILL DIC,DIE,DR,DA,DO
SET (X,DINUM,DA)=LRCDT
SET DLAYGO=64.1
SET DIC(0)="LNM"
SET DA(2)=64.1
SET DA(1)=LRIN
SET DIC="^LRO(64.1,"_LRIN_",1,"
DO FILE^DICN
+3 SET ^LRO(64.1,LRIN,1,LRCDT,1,0)="^64.111PA^"
BLDCC ;
+1 KILL DINUM
IF $DATA(^LRO(64.1,LRIN,1,LRCDT,1,LRCC,0))=1
QUIT
+2 KILL DIC,DIE,DR,DA,DO
SET (X,DINUM,DA)=LRCC
SET DLAYGO=64.1
SET DIC(0)="LNM"
SET DA(3)=64.1
SET DA(2)=LRIN
SET DA(1)=LRCDT
SET DIC="^LRO(64.1,"_LRIN_",1,"_LRCDT_",1,"
DO FILE^DICN
+3 IF $DATA(^LRO(64.1,LRIN,1,LRCDT,1,LRCC,0))#2
Begin DoDot:1
+4 SET $PIECE(^LRO(64.1,LRIN,1,LRCDT,1,LRCC,0),U,2)=1
+5 SET $PIECE(^LRO(64.1,LRIN,1,LRCDT,1,LRCC,0),U,3)=$PIECE($GET(^LAM(LRCC,0)),U,10)
End DoDot:1
+6 SET ^LRO(64.1,LRIN,1,LRCDT,1,LRCC,1,0)="^64.1111A^"
+7 KILL DIC,DIE,DR,DA,DO,DINUM,DLAYGO
+8 QUIT
STORE ;
+1 SET LRCTM=("."_LRCTM)*10000
+2 FOR LRCTM=LRCTM:.001
IF '($DATA(^LRO(64.1,LRIN,1,LRCDT,1,LRCC,1,LRCTM,0))#2)
QUIT
+3 SET LRZCNT=0
+4 IF $DATA(^LRO(64.1,LRIN,1,LRCDT,1,LRCC,1,0))#2
SET LRZCNT=$PIECE(^(0),U,4)
+5 LOCK +^LRO(64.1,LRIN,1,LRCDT,1,LRCC)
SET ^LRO(64.1,LRIN,1,LRCDT,1,LRCC,1,0)="^64.1111A^"_LRCTM_U_(LRZCNT+1)
+6 SET ^LRO(64.1,LRIN,1,LRCDT,1,LRCC,1,LRCTM,0)=LRCTM_U_LRTS_U_LRCNT_U_U_U_LRLD_U_LRMA_U_LRLSS_U_LRACC_U_LRFILE_U_LROAD_U_LROAD1_U_LROAD2_U_$SELECT($GET(LRSPEC):LRSPEC,1:"")_U_LRRRL
+7 SET ^LRO(64.1,LRIN,1,LRCDT,1,LRCC,1,LRCTM,0)=^(0)_U_LRRRL1_U_LRRRL2_U_LRRRL3_U_LRRRL4_U_U_LROL_U_LRIDT_U_LRUG_U_LRTEC_U_LRWA
LOCK -^LRO(64.1,LRIN,1,LRCDT,1,LRCC)
+8 ;I LRFNUM=62.3 D SETQC
QUIT
+9 QUIT
SETQC ;
+1 SET LRQC=0
+2 LOCK +^LRO(64.1,LRIN,1,LRCDT,1,LRCC,"S")
IF $DATA(^LRO(64.1,LRIN,1,LRCDT,1,LRCC,"S"))#2
SET LRQC=+$PIECE(^("S"),U,2)
+3 SET $PIECE(^LRO(64.1,LRIN,1,LRCDT,1,LRCC,"S"),U,2)=LRQC+LRCNT
LOCK -^LRO(64.1,LRIN,1,LRCDT,1,LRCC,"S")
+4 QUIT
LRDSS ; entry point for DSS/DMSS like projects
+1 ;Only patients from ^DPT( and LMIP BILLABLE or DSS Feeder=yes or
+2 ;suffix code = 9999 are passed to LRO(64.03 file
+3 IF $PIECE($GET(LRX),U,2)'?5N1"."4N.5N
QUIT
IF $SELECT($GET(LRFNUM)'=2
QUIT
+4 IF '$DATA(^LRO(64.03,0))#2
SET ^LRO(64.03,0)="WKLD LOG FILE^64.03^"
+5 SET LRDSS0=^LRO(64.03,0)
SET LRDSS=$SELECT($PIECE(LRDSS0,U,3):$PIECE(LRDSS0,U,3),1:1)
FOR LRDSS=LRDSS:1
IF '$DATA(^LRO(64.03,LRDSS,0))
QUIT
+6 SET $PIECE(LRDSS0,U,3)=LRDSS
SET $PIECE(LRDSS0,U,4)=$PIECE(LRDSS0,U,4)+1
SET ^LRO(64.03,0)=LRDSS0
+7 SET ^LRO(64.03,LRDSS,0)=LRDSS_U_LRRRL1_U_LRFILE_U_LRCDT_"."_LRCTM_U_LRIN_U_LRRRL4_U_LRAA_U_LRTS_U_LRUG_U_LRRRL2_U_LRCC_U_LRIDT_U_LROAD_U_LROAD1_U_LROL_U_LRII_U_$SELECT($GET(LRSPEC):LRSPEC,1:"")
+8 KILL LRDSS0,LRDSS,LRDN0,LRDSFP,LRDSF
+9 QUIT