| 1 | LRCAPAM5 ;DALISC/FHS - RCS 14-4 REPORT PART 1
 | 
|---|
| 2 |  ;;5.2;LAB SERVICE;;Sep 27, 1994
 | 
|---|
| 3 | EN ;
 | 
|---|
| 4 | INST ;
 | 
|---|
| 5 |  K LRDA,LRRPTM S LRDA(1)=$$INSN^LRU I 'LRDA(1) W !!?10,"I am sorry,  there is no primary institution defined in ^XMB(1,1,""XUS"") ",!," Aborted " G EXIT
 | 
|---|
| 6 | DIV ;
 | 
|---|
| 7 |  K DIC
 | 
|---|
| 8 |  S DIC("A")="Select Division: "
 | 
|---|
| 9 |  S DIC("B")=$P($G(^DIC(4,+DUZ(2),0)),U)
 | 
|---|
| 10 |  S DIC=4,DIC(0)="AQENMZ"
 | 
|---|
| 11 |  D ^DIC G:Y<1 EXIT S LRDA=Y
 | 
|---|
| 12 | MONTHS ;
 | 
|---|
| 13 |  K DA,DIC
 | 
|---|
| 14 |  S DA(1)=LRDA(1),DA=+LRDA,DIC(0)="AQEN"
 | 
|---|
| 15 |  S DIC="^LRO(67.9,"_DA(1)_",1,"_DA_",1,"
 | 
|---|
| 16 |  S DIC("A")="Select Month: "
 | 
|---|
| 17 |  F  D ^DIC Q:Y<1  S LRRPTM(Y)=""
 | 
|---|
| 18 |  I '$O(LRRPTM(0)) W !!?5,"Nothing Selected " G EXIT
 | 
|---|
| 19 | DATTYP ;
 | 
|---|
| 20 |  K DIR
 | 
|---|
| 21 |  S DIR(0)="S^1:All workload;2:LMIP reportable workload;3:Non-LMIP workload"
 | 
|---|
| 22 |  S DIR("A")="Enter the number for the workload data to report"
 | 
|---|
| 23 |  S DIR("B")=1
 | 
|---|
| 24 |  S DIR("?")="    reportable for LMIP."
 | 
|---|
| 25 |  S DIR("?",1)="1 - will include all workload data in the file, period."
 | 
|---|
| 26 |  S DIR("?",2)=" "
 | 
|---|
| 27 |  S DIR("?",3)="2 - will include only workload which is associated with a"
 | 
|---|
| 28 |  S DIR("?",4)="    WKLD code that is marked as reportable for LMIP uses."
 | 
|---|
| 29 |  S DIR("?",5)=" "
 | 
|---|
| 30 |  S DIR("?",6)="3 - will include any workload which is not marked as"
 | 
|---|
| 31 |  D ^DIR G:($D(DTOUT))!($D(DUOUT)) EXIT
 | 
|---|
| 32 |  S LRDTYP=Y,LRHD0=$S(LRDTYP=1:"ALL WORKLOAD DATA FOR: ",LRDTYP=2:"LMIP WORKLOAD DATA FOR: ",1:"Non-LMIP WORKLOAD DATA FOR: ")
 | 
|---|
| 33 | REPTYP ;
 | 
|---|
| 34 |  K DIR S DIR(0)="S^1:CDR report"
 | 
|---|
| 35 |  S:LRDTYP=2 DIR(0)=DIR(0)_";2:LMIP report;3:CDR and LMIP reports"
 | 
|---|
| 36 |  S DIR("A")="Enter the number for the report(s) you want printed"
 | 
|---|
| 37 |  S DIR("B")=1
 | 
|---|
| 38 |  D ^DIR G:($D(DTOUT))!($D(DUOUT)) EXIT S LRRTYP=Y
 | 
|---|
| 39 | DETSUM ;
 | 
|---|
| 40 |  I (LRRTYP=1)!(LRRTYP=3) D  G:$G(LREND) EXIT
 | 
|---|
| 41 |  .W !!,"CDR format selection: "
 | 
|---|
| 42 |  .K DIR,X,Y S DIR(0)="S^1:Detailed report;2:Summary report"
 | 
|---|
| 43 |  .D ^DIR
 | 
|---|
| 44 |  .I ($D(DTOUT))!($D(DUOUT)) S LREND=1 Q
 | 
|---|
| 45 |  .S LRRPT=+X
 | 
|---|
| 46 | DEVICE ;
 | 
|---|
| 47 |  S %ZIS="Q" D ^%ZIS G:POP EXIT I $D(IO("Q")) G ZTLOAD
 | 
|---|
| 48 |  D WAIT^DICD
 | 
|---|
| 49 | QUE ;
 | 
|---|
| 50 |  U IO K ^TMP($J,"RCS14-4"),^TMP($J,"LMIP")
 | 
|---|
| 51 |  S (LRERR,LRMT)="" S:$D(ZTQUEUED) ZTREQ="@"
 | 
|---|
| 52 |  F  S LRMT=$O(LRRPTM(LRMT)) Q:LRMT=""  S (LRCAP,LRTSTOT)=0  D
 | 
|---|
| 53 |  .D INITSUM^LRCAPAM7
 | 
|---|
| 54 |  .S:'$D(^TMP($J,"RCS14-4",$P(LRMT,U,2),0)) ^(0)=0 S LRTOT1=^(0)
 | 
|---|
| 55 |  .F  S LRCAP=$O(^LRO(67.9,+LRDA(1),1,+LRDA,1,+LRMT,1,LRCAP)) Q:LRCAP<1  I $D(^(LRCAP,0))#2 S LRTREAT=0 D  S ^TMP($J,"RCS14-4",$P(LRMT,U,2),0)=LRTOT1
 | 
|---|
| 56 |  ..S LRN=$G(^LRO(67.9,+LRDA(1),1,+LRDA,1,+LRMT,1,LRCAP,0)),LRN2=+$G(^(2))
 | 
|---|
| 57 |  ..I '$O(^LRO(67.9,+LRDA(1),1,+LRDA,1,+LRMT,1,LRCAP,1,0)) S LRCAPIFN=+$O(^LAM("C",$P(LRN,U)_" ",0)) D:LRCAPIFN BMPSUM^LRCAPAM7 Q
 | 
|---|
| 58 |  ..S LRCC=$P(LRN,U) S LRCCN=$E($$WKLDNAME^LRCAPU(LRCC),1,40)
 | 
|---|
| 59 |  ..S:LRCCN["*ERR" LRERR=LRERR+1
 | 
|---|
| 60 |  ..Q:((LRDTYP=2)&('LRN2))!((LRDTYP=3)&(LRN2))
 | 
|---|
| 61 |  ..D BMPSUM^LRCAPAM7
 | 
|---|
| 62 |  ..S:'$D(^TMP($J,"RCS14-4",$P(LRMT,U,2),1,LRCCN,0))#2 ^(0)=$P(LRN,U,1,8)_U_$P(LRN,U,12) F I=2,3,4 S N=$P(LRN,U,I) I N S $P(LRTOT1,U,I)=($P(LRTOT1,U,I)+N)
 | 
|---|
| 63 |  ..S LRTREAT=0 F  S LRTREAT=$O(^LRO(67.9,+LRDA(1),1,+LRDA,1,+LRMT,1,LRCAP,1,LRTREAT)) Q:LRTREAT<1  S LRN1=^(LRTREAT,0) D T1
 | 
|---|
| 64 |  D ^LRCAPAM6
 | 
|---|
| 65 | EXIT ;
 | 
|---|
| 66 |  D ^%ZISC
 | 
|---|
| 67 |  K %ZIS,DA,DIC,I,LRBS,LRCAP,LRCC,LRCCN,LRDA,LRLINE,LR,LRMT,LRN,LRRPTM
 | 
|---|
| 68 |  K LRSV,LRTREAT,LRTRN,N,NODE,LRTOT1,Y,LRCAPT,LRCAPTOT,LRTRN,N0,LRGTOT,LRTOT,LRN1
 | 
|---|
| 69 |  K LRCAPNAM,LRCAPNUM,LRPG,LRTRE1,LRTRE1T,LRTRET,LRBS,LRCAPIFN,LRMTP,LRTRE
 | 
|---|
| 70 |  K LRCDR,LRDTYP,DIR,DUOUT,DTOUT,DIRUT,ZTRTN,ZTSAVE,ZTIO,ZTDESC,LRFIRST
 | 
|---|
| 71 |  K LRCAPFLG,LRN2,LRRTYP,LRHD0,LRTSTOT,LRCAPAM5
 | 
|---|
| 72 |  K ^TMP($J,"RCS14-4"),^TMP($J,"LMIP"),LRERR
 | 
|---|
| 73 |  Q
 | 
|---|
| 74 | T1 ;
 | 
|---|
| 75 |  D LKUP S:'$D(^TMP($J,"RCS14-4",$P(LRMT,U,2),1,LRCCN,LRTRN)) ^(LRTRN)=0 S ^(LRTRN)=(^(LRTRN)+$P(LRN1,U,2))
 | 
|---|
| 76 |  S:'$D(^TMP($J,"RCS14-4",$P(LRMT,U,2),LRTRN)) ^(LRTRN)=0 S ^(LRTRN)=(^(LRTRN)+$P(LRN1,U,2))
 | 
|---|
| 77 |  S LRTSTOT=LRTSTOT+$P(LRN1,U,2)
 | 
|---|
| 78 |  Q
 | 
|---|
| 79 | LKUP ;
 | 
|---|
| 80 |  S NODE=$G(^DIC(42.4,+LRN1,0)),LRCDR=$S($P(NODE,U,6):$P(NODE,U,6),$P(LRN1,U)="XY ":2100,1:2000)
 | 
|---|
| 81 |  S LRTRN="[ "_LRCDR_" ] "_$S($L($P(NODE,U)):$P(NODE,U),LRCDR=2100:"BLOOD BANK",1:"AMBULATORY CARE")
 | 
|---|
| 82 |  S LRSV=$S($L($P(NODE,U,3)):$P(NODE,U,3),1:LRTRN)
 | 
|---|
| 83 |  I $L(LRSV)<4 S LRSV=$S(LRSV="M":"MEDICINE",LRSV="S":"SURGERY",LRSV="P":"PSYCHIATRY",LRSV="NH":"NHCU",LRSV="NE":"NEUROLOGY",LRSV="I":"INTERMEDIATE MED",LRSV="R":"REHAB MEDICINE",1:LRSV)
 | 
|---|
| 84 |  I $L(LRSV)<4 S LRSB=$S(LRSV="SCI":"SPINAL CORD INJURY",LRSV="D":"DOMICILIARY",LRSV="B":"BLIND REHAB",1:"RESPITE CARE")
 | 
|---|
| 85 |  S LRBS=$S($L($P(NODE,U,5)):$P(NODE,U,5),1:LRTRN)
 | 
|---|
| 86 |  S:'$D(^TMP($J,"RCS14-4",$P(LRMT,U,2),3))#2 ^(3)=0 S ^(3)=(^(3)+$P(LRN1,U,2))
 | 
|---|
| 87 |  S:'$D(^TMP($J,"RCS14-4",$P(LRMT,U,2),3,LRSV)) ^(LRSV)=0 S ^(LRSV)=(^(LRSV)+$P(LRN1,U,2))
 | 
|---|
| 88 |  S:'$D(^TMP($J,"RCS14-4",$P(LRMT,U,2),5))#2 ^(5)=0 S ^(5)=(^(5)+$P(LRN1,U,2))
 | 
|---|
| 89 |  S:'$D(^TMP($J,"RCS14-4",$P(LRMT,U,2),5,LRBS)) ^(LRBS)=0 S ^(LRBS)=(^(LRBS)+$P(LRN1,U,2))
 | 
|---|
| 90 |  Q
 | 
|---|
| 91 | ZTLOAD ;
 | 
|---|
| 92 |  S ZTIO=ION,ZTRTN="QUE^LRCAPAM5",ZTDESC="LR RCS/CDR REPORT"
 | 
|---|
| 93 |  S ZTSAVE("LR*")="",ZTSAVE("LRDA*")=""
 | 
|---|
| 94 |  D ^%ZTLOAD K ZTSK G EXIT
 | 
|---|