| [613] | 1 | IBCONS3 ;ALB/AAS - NSC W/INSURANCE OUTPUT, TRACKING INTEFACE ; 21-OCT-93 | 
|---|
|  | 2 | ;;2.0;INTEGRATED BILLING;**19,36,91,120**;21-MAR-94 | 
|---|
|  | 3 | ; | 
|---|
|  | 4 | TRACK ; -- Claims tracking interface for patients with insurance reports. | 
|---|
|  | 5 | ; | 
|---|
|  | 6 | I $D(ZTQUEUED),$$S^%ZTLOAD S (ZTSTOP,IBQUIT)=1 | 
|---|
|  | 7 | ; | 
|---|
|  | 8 | N IBNO,IBTRN,IBXX | 
|---|
|  | 9 | S IBRMARK="" | 
|---|
|  | 10 | ; -- if there get reason not billable | 
|---|
|  | 11 | I IBINPT D  ;look for inpatient tracking records | 
|---|
|  | 12 | .Q:'$G(IBADMVT) | 
|---|
|  | 13 | .S IBTRN=$O(^IBT(356,"AD",+IBADMVT,0)) | 
|---|
|  | 14 | .Q:'$G(IBTRN) | 
|---|
|  | 15 | .S IBRMARK=$$RMARK(IBTRN) | 
|---|
|  | 16 | .Q | 
|---|
|  | 17 | ; | 
|---|
|  | 18 | I 'IBINPT D  ;look for outpatient tracking records | 
|---|
|  | 19 | .I $G(IBOE) S IBTRN=$O(^IBT(356,"ASCE",+IBOE,0)) | 
|---|
|  | 20 | .;Patch 36 if assoc stop code link to primary encounter IBOE | 
|---|
|  | 21 | .I '$G(IBTRN) S IBXX=$$SCE^IBSDU(+IBOE,6) S:IBXX IBTRN=$O(^IBT(356,"ASCE",+IBXX,0)) | 
|---|
|  | 22 | .I $P($G(IBOE(1)),U,2),'($G(IBTRN)) N X,IBTMP F IBNO=1:1 Q:$G(IBOE(IBNO))=""  F X=1:1 Q:($P(IBOE(IBNO),U,X)="")!($G(IBTRN))  D | 
|---|
|  | 23 | ..S IBTMP=$P(IBOE(IBNO),U,X) | 
|---|
|  | 24 | ..I $O(^IBT(356,"ASCE",+IBTMP,0)) S IBTRN=$O(^IBT(356,"ASCE",+IBTMP,0)) Q | 
|---|
|  | 25 | .I '$G(IBTRN) D | 
|---|
|  | 26 | ..N IBETYP S IBETYP=+$O(^IBE(356.6,"B","OUTPATIENT VISIT",0)) | 
|---|
|  | 27 | ..S X=$O(^IBT(356,"APTY",DFN,IBETYP,($P(I,".")-.0000001))) S:$P(X,".")=$P(I,".") IBTRN=$O(^(X,0)) | 
|---|
|  | 28 | .Q:'$G(IBTRN) | 
|---|
|  | 29 | .S IBRMARK=$$RMARK(IBTRN) | 
|---|
|  | 30 | .Q | 
|---|
|  | 31 | ; | 
|---|
|  | 32 | ; -- if not in ct and parameter set to add, add to ct. (INPT ONLY P120) | 
|---|
|  | 33 | I IBINPT,'$G(IBTRN),$P(IBTRKR,"^",23) D ADD | 
|---|
|  | 34 | ; | 
|---|
|  | 35 | TRACKQ Q | 
|---|
|  | 36 | ; | 
|---|
|  | 37 | ADD ; -- if not there see if should add | 
|---|
|  | 38 | ;    if inpatient, not before ct start date, inpt tracking on | 
|---|
|  | 39 | I IBINPT,I'<+IBTRKR,$P(IBTRKR,"^",2) D | 
|---|
|  | 40 | .; | 
|---|
|  | 41 | .Q:'$G(IBADMVT) | 
|---|
|  | 42 | .N I,J,X,Y,DA,DR,DIE,DIC,IBETYP,IBADMDT,IBTRN | 
|---|
|  | 43 | .S IBADMDT=$P(^DGPM(IBADMVT,0),"^") | 
|---|
|  | 44 | .S IBETYP=+$O(^IBE(356.6,"B","INPATIENT ADMISSION",0)) | 
|---|
|  | 45 | .S IBTRN=$O(^IBT(356,"ASCH",+$$SCH^IBTRKR2(IBADMVT),0)) | 
|---|
|  | 46 | .D:'IBTRN ADDT^IBTUTL | 
|---|
|  | 47 | .I IBTRN<1 Q | 
|---|
|  | 48 | .S DA=IBTRN,DIE="^IBT(356," | 
|---|
|  | 49 | .L +^IBT(356,+IBTRN):10 I '$T Q | 
|---|
|  | 50 | .S DR=$$ADMDR^IBTUTL(IBADMDT,IBETYP,IBADMVT,0) | 
|---|
|  | 51 | .D ^DIE | 
|---|
|  | 52 | .L -^IBT(356,+IBTRN) | 
|---|
|  | 53 | .Q | 
|---|
|  | 54 | ; | 
|---|
|  | 55 | ; patch 120, removed add opt to CT from here to call tracker routine to add opt CT entries so will get all the non-billable checks | 
|---|
|  | 56 | ADDQ Q | 
|---|
|  | 57 | ; | 
|---|
|  | 58 | RMARK(IBTRN) ; -- returns external reason not billable | 
|---|
|  | 59 | Q $P($G(^IBE(356.8,+$P($G(^IBT(356,+$G(IBTRN),0)),"^",19),0)),"^") | 
|---|