IBJDF11 ;ALB/CPM - THIRD PARTY FOLLOW-UP REPORT (COMPILE) ; 09-JAN-97 ;;2.0;INTEGRATED BILLING;**69,80,118,128,204,205,227**;21-MAR-94 ; DQ ; - Tasked entry point. K ^TMP("IBJDF1",$J) S IBQ=0 ; ; - Collect divisions when running the job for all divisions. I IBSD,VAUTD S J=0 F S J=$O(^DG(40.8,J)) Q:'J S VAUTD(J)="" ; ; - Find data required for the report. S IBA=0 F S IBA=$O(^PRCA(430,"AC",16,IBA)) Q:'IBA D Q:IBQ .; .I IBA#100=0 S IBQ=$$STOP^IBOUTL("Third Party Follow-Up Report") Q:IBQ .; .S IBAR=$G(^PRCA(430,IBA,0)) .I $P(IBAR,U,2)'=9 Q ; Not an RI bill. .I '$D(^DGCR(399,IBA,0)) Q ; No corresponding claim to this AR. .; .; - Determine whether bill is inpatient, outpatient, or RX refill. .S IBTYP=$P($G(^DGCR(399,IBA,0)),U,5),IBTYP=$S(IBTYP>2:2,1:1) .S:$D(^IBA(362.4,"C",IBA)) IBTYP=3 I IBSEL'[IBTYP,IBSEL'[4 Q .; .; - Check the receivable age, if necessary. .I IBSMN S:"Aa"[IBSDATE IBARD=$$ACT^IBJDF2(IBA) S:"Dd"[IBSDATE IBARD=$$DATE1^IBJDF2(IBA) Q:'IBARD S:IBARD IBARD=$$FMDIFF^XLFDT(DT,IBARD) I IBARDIBSMX) Q .; .; - Check the minimum dollar amount, if necessary. .S IBWBA=+$G(^PRCA(430,IBA,7)) I IBSAM,IBWBA sort key (name or last four) ; 2 => patient name ; 3 => patient ssn ; 4 => patient age ; 5 => patient pointer to file #2 ; N AGE,DFN,DOB,KEY,Y,Z S Y="" I '$G(X) G PATQ S DFN=+$P($G(^DGCR(399,X,0)),U,2),Z=$G(^DPT(DFN,0)) S KEY=$S(IBSN="N":$P(Z,U),1:$E($P(Z,U,9),6,9)) ; I IBSNF'="@",'DFN G PATQ I $D(IBSNA) G:IBSNA="ALL"&('DFN) PATQ G:IBSNA="NULL"&(DFN) PATQ I KEY="" S Y="UNK^UNK^UNK^UNK^UNK" G PATQ I $G(IBSNA)="ALL" G PATC I IBSNF="@",IBSNL="zzzzz" G PATC I IBSNF]KEY!(KEY]IBSNL) G PATQ ; PATC ; - Find all patient data. S DOB=$P(Z,U,3) S AGE=$S('DOB:"UNK",1:$E(DT,1,3)-$E(DOB,1,3)-($E(DT,4,7)<$E(DOB,4,7))) S Y=KEY_U_$E($P(Z,U),1,17)_U_$P(Z,U,9)_U_AGE_U_DFN PATQ Q Y ; OTH(DFN,INS,DS) ; - Find a patient's other valid insurance carrier (if any). ; Input: DFN=Pointer to the patient in file #2 ; INS=Pointer to the patient's primary carrier in file #36 ; DS=Date of service for validity check ; Output: Valid insurance carrier (1st 13 chars.) or null ; N Y S Y="" I '$G(DFN)!('$G(DS)) G OTHQ S Z=0 F S Z=$O(^DPT(DFN,.312,Z)) Q:'Z S X=$G(^(Z,0)) D:X Q:Y]"" .I $G(INS),+X=INS Q .S X1=$G(^DIC(36,+X,0)) I X1="" Q .I $P(X1,U,2)'="N",$$CHK^IBCNS1(X,DS) S Y=$E($P(X1,U),1,13) ; OTHQ Q Y