| [613] | 1 | IB20PT62 ;ALB/AAS - Insurance post init stuff ; 2/22/93 | 
|---|
|  | 2 | ;;Version 2.0 ; INTEGRATED BILLING ;; 21-MAR-94 | 
|---|
|  | 3 | ; | 
|---|
|  | 4 | W:'$D(ZTQUEUED) !!,"    I'll write a dot for each 100 entries" | 
|---|
|  | 5 | ; | 
|---|
|  | 6 | N IBTRNSF S IBTRNSF=0 I $O(^IBA(362.2,0)) S IBTRNSF=1 D DQ362 | 
|---|
|  | 7 | ; | 
|---|
|  | 8 | DQ399 D NOW^%DTC S IBSCDT=% | 
|---|
|  | 9 | N IBCIFN | 
|---|
|  | 10 | W:'$D(ZTQUEUED) !!,"    Updating Bill/Claims file" | 
|---|
|  | 11 | S (IBCIFN,IBCNT,IBCNTD)=0 | 
|---|
|  | 12 | F  S IBCIFN=$O(^DGCR(399,IBCIFN)) Q:'IBCIFN  D | 
|---|
|  | 13 | .I +$G(^DGCR(399,IBCIFN,"M")),$P($G(^(0)),"^",2) S ^DGCR(399,"AE",$P(^(0),"^",2),+^("M"),IBCIFN)="" | 
|---|
|  | 14 | .I +$P($G(^DGCR(399,IBCIFN,0)),U,13)=3 S ^DGCR(399,"AST",3,IBCIFN)="" | 
|---|
|  | 15 | .I '$G(IBTRNSF),$D(^DGCR(399,IBCIFN,"C")) D MVDX | 
|---|
|  | 16 | .I +$P($G(^DGCR(399,IBCIFN,0)),U,19)>1 D DXCPTCV | 
|---|
|  | 17 | .S IBCNT=$G(IBCNT)+1 I '$D(ZTQUEUED) W:'(IBCNT#100) "." | 
|---|
|  | 18 | S $P(^IBE(350.9,1,3),"^",19)=DT | 
|---|
|  | 19 | D NOW^%DTC S IBECDT=% | 
|---|
|  | 20 | I '$D(ZTQUEUED) W !,"    Completed!" | 
|---|
|  | 21 | Q | 
|---|
|  | 22 | ; | 
|---|
|  | 23 | DQ362 ;transfer entries from 362.2 to 362.3 | 
|---|
|  | 24 | N IBDIFN,IBD,IBCIFN,IBDX,IBP,IBDA,IBCNT | 
|---|
|  | 25 | I '$D(ZTQUEUED) W !!,"    Moving diagnosis to new file" | 
|---|
|  | 26 | S IBCNT=0,IBDIFN=0 F  S IBDIFN=$O(^IBA(362.2,IBDIFN)) Q:'IBDIFN  D | 
|---|
|  | 27 | .S IBD=$G(^IBA(362.2,IBDIFN,0)) | 
|---|
|  | 28 | .S IBCIFN=+IBD,IBDX=+$P(IBD,U,2),IBP=$P(IBD,U,3) | 
|---|
|  | 29 | .I +IBCIFN,+IBDX D SETDX | 
|---|
|  | 30 | .S IBCNT=IBCNT+1 I '$D(ZTQUEUED),'(IBCNT#100) W "." | 
|---|
|  | 31 | S DIU="^IBA(362.2,",DIU(0)="D" D EN^DIU2 K DIU | 
|---|
|  | 32 | I '$D(ZTQUEUED) W " Completed!" | 
|---|
|  | 33 | Q | 
|---|
|  | 34 | ; | 
|---|
|  | 35 | DXCPTCV ;transfer/convert associated dx (399,304,7->399,304,10) | 
|---|
|  | 36 | N IBCP,IBDX,IBDXP | 
|---|
|  | 37 | L +^DGCR(399,IBCIFN) | 
|---|
|  | 38 | S IBCP=0 F  S IBCP=$O(^DGCR(399,IBCIFN,"CP",IBCP)) Q:'IBCP  D | 
|---|
|  | 39 | . S IBDX=+$P($G(^DGCR(399,IBCIFN,"CP",IBCP,0)),U,8) Q:'IBDX | 
|---|
|  | 40 | . S IBDXP=$O(^IBA(362.3,"AIFN"_IBCIFN,IBDX,0)) Q:'IBDXP | 
|---|
|  | 41 | . S $P(^DGCR(399,IBCIFN,"CP",IBCP,0),U,11)=IBDXP | 
|---|
|  | 42 | L -^DGCR(399,IBCIFN) | 
|---|
|  | 43 | Q | 
|---|
|  | 44 | ; | 
|---|
|  | 45 | MVDX ; -- move procedures from file 399 fields 64-68 to new file 362.2 | 
|---|
|  | 46 | ; | 
|---|
|  | 47 | N IBC,IBDA,IBDX,IBP | 
|---|
|  | 48 | S IBC=$G(^DGCR(399,IBCIFN,"C")) | 
|---|
|  | 49 | F IBP=14:1:18 S IBDX=$P(IBC,"^",IBP) I IBDX D SETDX | 
|---|
|  | 50 | Q | 
|---|
|  | 51 | ; | 
|---|
|  | 52 | SETDX Q:$D(^IBA(362.3,"AIFN"_IBCIFN,IBDX))  ; same diag for a bill not allowed | 
|---|
|  | 53 | L +^IBA(362.3,0):10 Q:'$T | 
|---|
|  | 54 | S IBDA=$P($G(^IBA(362.3,0)),"^",3)+1 | 
|---|
|  | 55 | L -^IBA(362.3,0) | 
|---|
|  | 56 | F IBDA=IBDA:1 I '$D(^IBA(362.3,IBDA,0)) L +^IBA(362.3,IBDA) Q | 
|---|
|  | 57 | S ^IBA(362.3,IBDA,0)=IBDX_"^"_IBCIFN_"^"_IBP | 
|---|
|  | 58 | S ^IBA(362.3,"B",IBDX,IBDA)="" | 
|---|
|  | 59 | S ^IBA(362.3,"AIFN"_IBCIFN,IBDX,IBDA)="" | 
|---|
|  | 60 | I +IBP S ^IBA(362.3,"AO",IBCIFN,IBP,IBDA)="" | 
|---|
|  | 61 | L -^IBA(362.3,IBDA) | 
|---|
|  | 62 | L +^IBA(362.3,0):10 | 
|---|
|  | 63 | S $P(^IBA(362.3,0),"^",4)=$P(^IBA(362.3,0),"^",3)+1 | 
|---|
|  | 64 | S $P(^IBA(362.3,0),"^",3)=IBDA | 
|---|
|  | 65 | L -^IBA(362.3,0) | 
|---|
|  | 66 | S IBCNTD=$G(IBCNTD)+1 | 
|---|
|  | 67 | Q | 
|---|