1 | IBTRKR4 ;ALB/AAS - CLAIMS TRACKING - ADD/TRACK OUTPATIENT ENCOUNTERS ; 13-AUG-93
|
---|
2 | ;;2.0;INTEGRATED BILLING;**91,142,292,312**;21-MAR-94
|
---|
3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | % ; -- entry point for nightly background job
|
---|
6 | N IBTSBDT,IBTSEDT
|
---|
7 | S IBTSBDT=$$FMADD^XLFDT(DT,$S($E(DT,6,7)=10:-730,1:-20))-.1
|
---|
8 | S IBTSEDT=$$FMADD^XLFDT(DT,-2)-.9
|
---|
9 | D EN1
|
---|
10 | Q
|
---|
11 | ;
|
---|
12 | EN ; -- entry point to ask date range
|
---|
13 | N IBSWINFO S IBSWINFO=$$SWSTAT^IBBAPI() ;IB*2.0*312
|
---|
14 | N IBBDT,IBEDT,IBTSBDT,IBTSEDT,IBTALK
|
---|
15 | S IBTALK=1
|
---|
16 | I '$P($G(^IBE(350.9,1,6)),"^",3) W !!,"I'm sorry, Tracking of Outpatient Encounters is currrently turned off." G ENQ
|
---|
17 | W !!!,"Select the Date Range of Opt. Encounters to Add to Claims Tracking.",!
|
---|
18 | D DATE^IBOUTL
|
---|
19 | I IBBDT<1!(IBEDT<1) G ENQ
|
---|
20 | S IBTSBDT=IBBDT,IBTSEDT=IBEDT
|
---|
21 | ; Do NOT PROCESS on VistA if Start or End>=Switch Eff Dt ;CCR-930
|
---|
22 | ; -- check selected dates ;IB*2.0*312
|
---|
23 | I +IBSWINFO,((IBTSBDT+1)>$P(IBSWINFO,"^",2))!((IBTSEDT+1)>$P(IBSWINFO,"^",2)) D G EN
|
---|
24 | .W !!,"The Begin OR End Date CANNOT be on or after"
|
---|
25 | .W !,"the PFSS Effective Date: ",$$FMTE^XLFDT($P(IBSWINFO,"^",2))
|
---|
26 | ;
|
---|
27 | S IBTRKR=$G(^IBE(350.9,1,6))
|
---|
28 | ; start date can't be before parameters
|
---|
29 | I +IBTRKR,IBTSBDT<+IBTRKR S IBTSBDT=IBTRKR W !!,"Begin date is before Claims Tracking Start Date, changed to ",$$DAT1^IBOUTL(IBTSBDT)
|
---|
30 | ; -- end date into future
|
---|
31 | I IBTSEDT>$$FMADD^XLFDT(DT,-1) W !!,"I'll automatically change the end date to 1 day prior to the date queued to run."
|
---|
32 | W !!!,"I'm going to automatically queue this off and send you a"
|
---|
33 | W !,"mail message when complete.",!
|
---|
34 | S ZTIO="",ZTRTN="EN1^IBTRKR4",ZTSAVE("IB*")="",ZTDESC="IB - Add Opt Encounters to Claims Tracking"
|
---|
35 | D ^%ZTLOAD I $G(ZTSK) K ZTSK W !,"Request Queued"
|
---|
36 | ENQ K ZTSK,ZTIO,ZTSAVE,ZTDESC,ZTRTN
|
---|
37 | D HOME^%ZIS
|
---|
38 | Q
|
---|
39 | ;
|
---|
40 | EN1 ; -- add outpatient encounters to claims tracking file
|
---|
41 | N I,J,X,Y,IBTRKR,IBDT,DFN,IBOETA,IBCNT,IBCNT1,IBCNT2
|
---|
42 | ;
|
---|
43 | ; -- check parameters
|
---|
44 | S IBTRKR=$G(^IBE(350.9,1,6))
|
---|
45 | G:'$P(IBTRKR,"^",3) EN1Q ; quit if opt tracking off
|
---|
46 | I +IBTRKR,IBTSBDT<+IBTRKR S IBTSBDT=IBTRKR ; start date can't be before parameters
|
---|
47 | ;
|
---|
48 | ; -- users can queue into future, make sure dates not after date run
|
---|
49 | ;I IBTSEDT>DT S IBTSEDT=DT
|
---|
50 | I IBTSEDT>$$FMADD^XLFDT(DT,-1) S IBMESS="(Selected end date of "_$$DAT1^IBOUTL(IBTSEDT)_" automatically changed to "_$$DAT1^IBOUTL($$FMADD^XLFDT(DT,-1))_".)",IBTSEDT=$$FMADD^XLFDT(DT,-1)
|
---|
51 | ;
|
---|
52 | S IBOETYP=$O(^IBE(356.6,"AC",2,0)) ;event type pointer for opt encounters
|
---|
53 | ;
|
---|
54 | ; -- cnt= total count, cnt1=count added nsc, cnt2=count of pending
|
---|
55 | S (IBCNT,IBCNT1,IBCNT2)=0
|
---|
56 | ;
|
---|
57 | N IBVAL,IBCBK,IBFILTER
|
---|
58 | S IBVAL("BDT")=IBTSBDT,IBVAL("EDT")=IBTSEDT+.9
|
---|
59 | ; Only parent encounters, status is checked out, check out date exists,
|
---|
60 | ; not already in CT, not already an entry for the same encounter
|
---|
61 | S IBFILTER=""
|
---|
62 | ;S IBCBK="S IBCNT=IBCNT+1 I '$P(Y0,U,6),$P(Y0,U,12)=2,$P(Y0,U,7),'$O(^IBT(356,""AENC"",+$P(Y0,U,2),Y,0)),'$O(^IBT(356,""APTY"",+$P(Y0,U,2),IBOETYP,+Y0,0)) S IBDT=+Y0,IBOE=Y D OPCHK^IBTRKR41"
|
---|
63 | S IBCBK="S IBCNT=IBCNT+1 I '$P(Y0,U,6),$P(Y0,U,12)=2,$P(Y0,U,7),'$O(^IBT(356,""AENC"",+$P(Y0,U,2),Y,0)),$S($D(^IBE(356.6,""ACODE"",2,IBOETYP)):1,1:'$O(^IBT(356,""APTY"",+$P(Y0,U,2),IBOETYP,+Y0,0))) S IBDT=+Y0,IBOE=Y D OPCHK^IBTRKR41"
|
---|
64 | D SCAN^IBSDU("DATE/TIME",.IBVAL,IBFILTER,IBCBK,1) ;Scan,then close query
|
---|
65 | ;
|
---|
66 | I $G(IBTALK) D BULL^IBTRKR41
|
---|
67 | EN1Q I $D(ZTQUEUED) S ZTREQ="@"
|
---|
68 | Q
|
---|