Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: LRCAPAM5

LRCAPAM5.m

Go to the documentation of this file.
  1. LRCAPAM5 ;DALISC/FHS - RCS 14-4 REPORT PART 1
  1. ;;5.2;LAB SERVICE;;Sep 27, 1994
  1. EN ;
  1. INST ;
  1. 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
  1. DIV ;
  1. K DIC
  1. S DIC("A")="Select Division: "
  1. S DIC("B")=$P($G(^DIC(4,+DUZ(2),0)),U)
  1. S DIC=4,DIC(0)="AQENMZ"
  1. D ^DIC G:Y<1 EXIT S LRDA=Y
  1. MONTHS ;
  1. K DA,DIC
  1. S DA(1)=LRDA(1),DA=+LRDA,DIC(0)="AQEN"
  1. S DIC="^LRO(67.9,"_DA(1)_",1,"_DA_",1,"
  1. S DIC("A")="Select Month: "
  1. F D ^DIC Q:Y<1 S LRRPTM(Y)=""
  1. I '$O(LRRPTM(0)) W !!?5,"Nothing Selected " G EXIT
  1. DATTYP ;
  1. K DIR
  1. S DIR(0)="S^1:All workload;2:LMIP reportable workload;3:Non-LMIP workload"
  1. S DIR("A")="Enter the number for the workload data to report"
  1. S DIR("B")=1
  1. S DIR("?")=" reportable for LMIP."
  1. S DIR("?",1)="1 - will include all workload data in the file, period."
  1. S DIR("?",2)=" "
  1. S DIR("?",3)="2 - will include only workload which is associated with a"
  1. S DIR("?",4)=" WKLD code that is marked as reportable for LMIP uses."
  1. S DIR("?",5)=" "
  1. S DIR("?",6)="3 - will include any workload which is not marked as"
  1. D ^DIR G:($D(DTOUT))!($D(DUOUT)) EXIT
  1. S LRDTYP=Y,LRHD0=$S(LRDTYP=1:"ALL WORKLOAD DATA FOR: ",LRDTYP=2:"LMIP WORKLOAD DATA FOR: ",1:"Non-LMIP WORKLOAD DATA FOR: ")
  1. REPTYP ;
  1. K DIR S DIR(0)="S^1:CDR report"
  1. S:LRDTYP=2 DIR(0)=DIR(0)_";2:LMIP report;3:CDR and LMIP reports"
  1. S DIR("A")="Enter the number for the report(s) you want printed"
  1. S DIR("B")=1
  1. D ^DIR G:($D(DTOUT))!($D(DUOUT)) EXIT S LRRTYP=Y
  1. DETSUM ;
  1. I (LRRTYP=1)!(LRRTYP=3) D G:$G(LREND) EXIT
  1. .W !!,"CDR format selection: "
  1. .K DIR,X,Y S DIR(0)="S^1:Detailed report;2:Summary report"
  1. .D ^DIR
  1. .I ($D(DTOUT))!($D(DUOUT)) S LREND=1 Q
  1. .S LRRPT=+X
  1. DEVICE ;
  1. S %ZIS="Q" D ^%ZIS G:POP EXIT I $D(IO("Q")) G ZTLOAD
  1. D WAIT^DICD
  1. QUE ;
  1. U IO K ^TMP($J,"RCS14-4"),^TMP($J,"LMIP")
  1. S (LRERR,LRMT)="" S:$D(ZTQUEUED) ZTREQ="@"
  1. F S LRMT=$O(LRRPTM(LRMT)) Q:LRMT="" S (LRCAP,LRTSTOT)=0 D
  1. .D INITSUM^LRCAPAM7
  1. .S:'$D(^TMP($J,"RCS14-4",$P(LRMT,U,2),0)) ^(0)=0 S LRTOT1=^(0)
  1. .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
  1. ..S LRN=$G(^LRO(67.9,+LRDA(1),1,+LRDA,1,+LRMT,1,LRCAP,0)),LRN2=+$G(^(2))
  1. ..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
  1. ..S LRCC=$P(LRN,U) S LRCCN=$E($$WKLDNAME^LRCAPU(LRCC),1,40)
  1. ..S:LRCCN["*ERR" LRERR=LRERR+1
  1. ..Q:((LRDTYP=2)&('LRN2))!((LRDTYP=3)&(LRN2))
  1. ..D BMPSUM^LRCAPAM7
  1. ..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)
  1. ..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
  1. D ^LRCAPAM6
  1. EXIT ;
  1. D ^%ZISC
  1. K %ZIS,DA,DIC,I,LRBS,LRCAP,LRCC,LRCCN,LRDA,LRLINE,LR,LRMT,LRN,LRRPTM
  1. K LRSV,LRTREAT,LRTRN,N,NODE,LRTOT1,Y,LRCAPT,LRCAPTOT,LRTRN,N0,LRGTOT,LRTOT,LRN1
  1. K LRCAPNAM,LRCAPNUM,LRPG,LRTRE1,LRTRE1T,LRTRET,LRBS,LRCAPIFN,LRMTP,LRTRE
  1. K LRCDR,LRDTYP,DIR,DUOUT,DTOUT,DIRUT,ZTRTN,ZTSAVE,ZTIO,ZTDESC,LRFIRST
  1. K LRCAPFLG,LRN2,LRRTYP,LRHD0,LRTSTOT,LRCAPAM5
  1. K ^TMP($J,"RCS14-4"),^TMP($J,"LMIP"),LRERR
  1. Q
  1. T1 ;
  1. D LKUP S:'$D(^TMP($J,"RCS14-4",$P(LRMT,U,2),1,LRCCN,LRTRN)) ^(LRTRN)=0 S ^(LRTRN)=(^(LRTRN)+$P(LRN1,U,2))
  1. S:'$D(^TMP($J,"RCS14-4",$P(LRMT,U,2),LRTRN)) ^(LRTRN)=0 S ^(LRTRN)=(^(LRTRN)+$P(LRN1,U,2))
  1. S LRTSTOT=LRTSTOT+$P(LRN1,U,2)
  1. Q
  1. LKUP ;
  1. 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)
  1. S LRTRN="[ "_LRCDR_" ] "_$S($L($P(NODE,U)):$P(NODE,U),LRCDR=2100:"BLOOD BANK",1:"AMBULATORY CARE")
  1. S LRSV=$S($L($P(NODE,U,3)):$P(NODE,U,3),1:LRTRN)
  1. 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)
  1. I $L(LRSV)<4 S LRSB=$S(LRSV="SCI":"SPINAL CORD INJURY",LRSV="D":"DOMICILIARY",LRSV="B":"BLIND REHAB",1:"RESPITE CARE")
  1. S LRBS=$S($L($P(NODE,U,5)):$P(NODE,U,5),1:LRTRN)
  1. S:'$D(^TMP($J,"RCS14-4",$P(LRMT,U,2),3))#2 ^(3)=0 S ^(3)=(^(3)+$P(LRN1,U,2))
  1. S:'$D(^TMP($J,"RCS14-4",$P(LRMT,U,2),3,LRSV)) ^(LRSV)=0 S ^(LRSV)=(^(LRSV)+$P(LRN1,U,2))
  1. S:'$D(^TMP($J,"RCS14-4",$P(LRMT,U,2),5))#2 ^(5)=0 S ^(5)=(^(5)+$P(LRN1,U,2))
  1. S:'$D(^TMP($J,"RCS14-4",$P(LRMT,U,2),5,LRBS)) ^(LRBS)=0 S ^(LRBS)=(^(LRBS)+$P(LRN1,U,2))
  1. Q
  1. ZTLOAD ;
  1. S ZTIO=ION,ZTRTN="QUE^LRCAPAM5",ZTDESC="LR RCS/CDR REPORT"
  1. S ZTSAVE("LR*")="",ZTSAVE("LRDA*")=""
  1. D ^%ZTLOAD K ZTSK G EXIT