[613] | 1 | IBQLLD ;LEB/MRY - LOAD UMR FILE ; 31-MAR-95
|
---|
| 2 | ;;1.0;UTILIZATION MGMT ROLLUP LOCAL;**2**;Oct 01, 1995
|
---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | ;
|
---|
| 5 | I '$D(IBRPT) Q
|
---|
| 6 | ; --
|
---|
| 7 | I '$D(DT) D DT^DICRW
|
---|
| 8 | D PULL^IBQLPL
|
---|
| 9 | I IBRPT="N" S IBDNLD="N" G START
|
---|
| 10 | W !!,"Create Rollup File"
|
---|
| 11 | ;W !,"The next National Rollup will be " S Y=IBBDT X ^DD("DD") W Y_" to " S Y=IBEDT X ^DD("DD") W Y
|
---|
| 12 | I IBMSG'="" W !!,IBMSG,!,IBMSG1
|
---|
| 13 | ;
|
---|
| 14 | DATE ; -- get date range
|
---|
| 15 | W ! D DATE^IBOUTL
|
---|
| 16 | I IBBDT=""!(IBEDT="") G END
|
---|
| 17 | S X1=IBEDT,X2=IBBDT D ^%DTC I X>365 W !,"<<< please report 1 years of information only. >>>" G DATE
|
---|
| 18 | ;
|
---|
| 19 | S DIR(0)="SA^RD:RANDOM & DISEASE;L:LOCAL;A:ALL",DIR("A")="Random & Disease Cases, Local Cases or ALL Cases: ",DIR("B")="ALL" D ^DIR I $D(DUOUT)!($D(DTOUT)) G END
|
---|
| 20 | S IBDNLD=Y
|
---|
| 21 | F I="IBBDT","IBEDT","IBRPT","IBDNLD" S ZTSAVE(I)=""
|
---|
| 22 | S ZTRTN="START^IBQLLD",ZTDESC="IBQ - LOCAL ROLLUP ",ZTIO=""
|
---|
| 23 | D ^%ZTLOAD G END
|
---|
| 24 | ;
|
---|
| 25 | START S IBDDT=IBBDT-.01,IBREC=0
|
---|
| 26 | F S IBDDT=$O(^IBT(356,"ADIS",IBDDT)) Q:'IBDDT!(IBDDT>IBEDT) D
|
---|
| 27 | .S IBTRN="" F S IBTRN=$O(^IBT(356,"ADIS",IBDDT,IBTRN)) Q:'IBTRN D
|
---|
| 28 | ..I '$D(^IBT(356.1,"C",IBTRN))!'$G(^IBT(356,IBTRN,0)) Q
|
---|
| 29 | ..D DATA
|
---|
| 30 | ..Q
|
---|
| 31 | .Q
|
---|
| 32 | ;
|
---|
| 33 | D TRANSMIT^IBQLLD1
|
---|
| 34 | ;
|
---|
| 35 | END K IBDATA,X,I,DFN,DGPM,VAINDT,VAIN,IBRPT,IBFLD,IB,IBDDT,IBBDT,IBTRN,IBTRND,IBNAM,IBR,IBD,IBL,IBDNLD,IBHR,IBDAY,IBREC,IBORDER
|
---|
| 36 | Q
|
---|
| 37 | ;
|
---|
| 38 | DATA ;
|
---|
| 39 | K IBDATA S IBQUIT=""
|
---|
| 40 | CLAIMS ; get Claims Tracking and misc. information into IB(array)
|
---|
| 41 | D CLAIMS^IBQL356 Q:IBQUIT
|
---|
| 42 | ; -- quit if missing entry id, site, ssn, adm diagnosis, enroll code,
|
---|
| 43 | ; admission, rollup type
|
---|
| 44 | F IBFLD=.01,.02,.03,.04,.05,.09,1.06 I IB(IBFLD)="" S IBQUIT=1 Q
|
---|
| 45 | ; -- quit if EVENT TYPE not INPATIENT ADMISSION or INACTIVE.
|
---|
| 46 | I $P(IBTRND,"^",18)'=1!($P(IBTRND,"^",20)'=1) S IBQUIT=1 Q
|
---|
| 47 | Q:IBQUIT
|
---|
| 48 | Q:IBDNLD="N"&(IB(1.06)="L") Q:IBDNLD="L"&(IB(1.06)="N") Q:IBDNLD="RD"&(IB(1.06)="L")
|
---|
| 49 | ;
|
---|
| 50 | ORDER ; -- check procedure ordering errors, arrange in DAY order.
|
---|
| 51 | S IBTRV=0
|
---|
| 52 | D ORDCHK^IBQLLD2
|
---|
| 53 | Q:IBQUIT
|
---|
| 54 | S IBDAY=0
|
---|
| 55 | F S IBDAY=$O(IBORDER(IBDAY)) Q:'IBDAY D Q:IBQUIT
|
---|
| 56 | .S IBTRV=IBORDER(IBDAY)
|
---|
| 57 | .I IBDAY=1 D ADMIT
|
---|
| 58 | .I IBDAY>1 D STAY
|
---|
| 59 | ;
|
---|
| 60 | ; -- quit if missing discharge date
|
---|
| 61 | I IB(.1)="" S IBQUIT=1 Q
|
---|
| 62 | ;
|
---|
| 63 | LOAD ; -- load data into ^ibq(538, file
|
---|
| 64 | Q:IBQUIT Q:'$D(IBDATA(0)) Q:'$D(IBDATA(1))
|
---|
| 65 | D LOAD^IBQLLD1 S IBREC=IBREC+1
|
---|
| 66 | Q
|
---|
| 67 | ;
|
---|
| 68 | ;
|
---|
| 69 | ADMIT ; get Admission Review information into IB(array)
|
---|
| 70 | D ADMIT^IBQL356 Q:IBQUIT
|
---|
| 71 | ; -- quit if missing treating specialty, service
|
---|
| 72 | F IBFLD=.12,1.07 I IB(IBFLD)="" S IBQUIT=1 Q
|
---|
| 73 | ; -- quit if missing si, is and reason from admission
|
---|
| 74 | I IB(1.01)="",IB(1.02)="",IB(1.03)="" S IBQUIT=1 Q
|
---|
| 75 | ; -- quit if not ACTIVE or not COMPLETE.
|
---|
| 76 | I $P(IBTRVD,"^",21)'=10 S IBQUIT=1 Q
|
---|
| 77 | S X="" F IBFLD=.01:.01:.13 S X=X_IBFLD_":"_IB(IBFLD)_"^"
|
---|
| 78 | S IBDATA(0)=$P(X,"^",1,$L(X,"^")-1)
|
---|
| 79 | S X="" F IBFLD=1.01:.01:1.07 S X=X_IBFLD_":"_IB(IBFLD)_"^"
|
---|
| 80 | S IBDATA(1)=$P(X,"^",1,$L(X,"^")-1)
|
---|
| 81 | S IBPIS=IB(1.02)
|
---|
| 82 | Q
|
---|
| 83 | ;
|
---|
| 84 | STAY ; get Stay Review information into IB(array)
|
---|
| 85 | D STAY^IBQL356 Q:IBQUIT
|
---|
| 86 | ; -- quit if missing 'is' AND missing 'reasons'
|
---|
| 87 | I IB(13.02)="",IB(13.06)="" S IBQUIT=1 Q
|
---|
| 88 | ; -- quit if missing Treating Specialty in continued stay
|
---|
| 89 | I IB(13.07)="" S IBQUIT=1 Q
|
---|
| 90 | ; -- quit if not ACTIVE or not COMPLETE.
|
---|
| 91 | I $P(IBTRVD,"^",21)'=10 S IBQUIT=1 Q
|
---|
| 92 | Q:IBQUIT
|
---|
| 93 | S X="" F IBFLD=13.01,13.02,13.03,13.04,13.05,13.06,13.07,13.08 S X=X_(IBFLD-13)_":"_IB(IBFLD)_"^"
|
---|
| 94 | S IBDATA(IB(13.01))=$P(X,"^",1,$L(X,"^")-1)
|
---|
| 95 | Q
|
---|