1 | IBOHCK ;ALB/EMG - CHECK FOR IB CHARGES ON HOLD ; MAR 21 1997
|
---|
2 | ;;2.0; INTEGRATED BILLING ;**70**; 21-MAR-94
|
---|
3 | ;
|
---|
4 | FIND(DFN,IBIFN) ; find all related IB charges on hold for episodes of care
|
---|
5 | ; being billed on this third party claim.
|
---|
6 | ; once IB Charge is found, set ON HOLD DATE in file 350 to date
|
---|
7 | ; third party claim is authorized.
|
---|
8 | ;
|
---|
9 | ; Input: DFN -- pointer to the patient in file #2
|
---|
10 | ; IBIFN -- ien of third party Claim
|
---|
11 | ;
|
---|
12 | I '$G(DFN)!('$G(IBIFN)) G ALLQ
|
---|
13 | ;
|
---|
14 | N Y,Y1,IBAUTH,IBDT,IBBEG,IBEND,IBERR,IBX,IBOHD
|
---|
15 | S IBBEG=$P(^DGCR(399,IBIFN,"U"),"^",1),IBEND=$P(^DGCR(399,IBIFN,"U"),"^",2)
|
---|
16 | S IBAUTH=$P($G(^DGCR(399,IBIFN,"S")),"^",10)
|
---|
17 | I $D(^IBA(362.4,"AIFN"_+IBIFN)) D RXCHG
|
---|
18 | ;
|
---|
19 | ;
|
---|
20 | ; - find related inpatient/outpatient patient charges on hold
|
---|
21 | S IBDT="" F S IBDT=$O(^IB("AFDT",DFN,IBDT)) Q:'IBDT I -IBDT'>IBEND S Y=0 F S Y=$O(^IB("AFDT",DFN,IBDT,Y)) Q:'Y D
|
---|
22 | .S Y1=0 F S Y1=$O(^IB("AF",Y,Y1)) Q:'Y1 D
|
---|
23 | ..Q:'$D(^IB(Y1,0)) S IBX=^(0)
|
---|
24 | ..I $P(IBX,"^",14)<IBBEG!($P(IBX,"^",15)>IBEND) Q
|
---|
25 | ..I ($P(IBX,"^",5)'=8) Q
|
---|
26 | ..S IBOHD=$P($G(^IB(Y1,1)),"^",6) D UPDT
|
---|
27 | ..Q
|
---|
28 | Q
|
---|
29 | ;
|
---|
30 | UPDT ; Update Integrated Billing Action (#350) On Hold Date field (#16)
|
---|
31 | N IBNOHD,FDA
|
---|
32 | S IBERR=""
|
---|
33 | S IBNOHD=$S(IBAUTH>IBOHD:IBAUTH,1:IBOHD)
|
---|
34 | S FDA(350,Y1_",",16)=IBNOHD
|
---|
35 | D FILE^DIE("K","FDA")
|
---|
36 | ;S DIE="^IB(",DA=Y1,DR="16///^S X=IBNOHD" D ^DIE
|
---|
37 | Q
|
---|
38 | ;
|
---|
39 | ALLQ K Y,Y1,IBAUTH,IBBEG,IBC,IBCRG,IBDT,IBEND,IBERR,IBIFN,IBNOHD,IBOHD,IBRXBN,IBRXDT,IBRXEND,IBRXN,IBX
|
---|
40 | Q
|
---|
41 | ;
|
---|
42 | ;
|
---|
43 | RXCHG ; - find related rx copay's on hold in file 350
|
---|
44 | N IBRXN,IBRXBN,IBRXEND,IBRXDT,IBCRG,IBC
|
---|
45 | S IBRXN=0 F S IBRXN=$O(^IBA(362.4,"AIFN"_+IBIFN,IBRXN)) Q:'IBRXN S IBRXBN=0 F S IBRXBN=$O(^IBA(362.4,"AIFN"_+IBIFN,IBRXN,IBRXBN)) Q:'IBRXBN D
|
---|
46 | .S IBRXDT=+$P($G(^IBA(362.4,IBRXBN,0)),"^",3)
|
---|
47 | .I IBRXDT<IBBEG!(IBRXDT>IBEND) Q
|
---|
48 | .S IBRXEND=+IBRXDT+.999999 F S IBRXDT=$O(^IB("APTDT",DFN,IBRXDT)) Q:'IBRXDT!(IBRXDT>IBRXEND) S Y1=0 F S Y1=$O(^IB("APTDT",DFN,IBRXDT,Y1)) Q:'Y1 S IBC=$G(^IB(Y1,0)),IBOHD=$P($G(^IB(Y1,1)),"^",6) D
|
---|
49 | ..I $P(IBC,"^",5)'=8 Q
|
---|
50 | ..D UPDT Q
|
---|
51 | .Q
|
---|
52 | ;
|
---|