1 | IBNCPDPE ;DALOI/AAT - NCPDP BILLING EVENTS REPORT ;10-JUN-2003
|
---|
2 | ;;2.0;INTEGRATED BILLING;**276,342,347,363**;21-MAR-94;Build 35
|
---|
3 | ;;Per VHA Directive 2004-038, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | DATE ;
|
---|
6 | S (IBBDT,IBEDT)=DT
|
---|
7 | S %DT="AEX"
|
---|
8 | S %DT("A")="START WITH DATE: ",%DT("B")="TODAY"
|
---|
9 | D ^%DT K %DT
|
---|
10 | I Y<0 S IBQ=1 Q
|
---|
11 | S IBBDT=+Y
|
---|
12 | S %DT="AEX"
|
---|
13 | S %DT("A")="GO TO DATE: ",%DT("B")="TODAY"
|
---|
14 | D ^%DT K %DT
|
---|
15 | I Y<0 S IBQ=1 Q
|
---|
16 | S IBEDT=+Y
|
---|
17 | Q
|
---|
18 | ;
|
---|
19 | MODE ;
|
---|
20 | N DIR,DIC,DIRUT,DUOUT,PSOFILE
|
---|
21 | S (IBM1,IBM2,IBM3)="A"
|
---|
22 | S DIR(0)="S^P:SINGLE PATIENT;R:SINGLE RX;E:SINGLE ECME #;A:ALL ACTIVITY"
|
---|
23 | S DIR("A")="SINGLE (P)ATIENT, SINGLE (R)X, SINGLE (E)CME #, (A)LL ACTIVITY"
|
---|
24 | S DIR("B")="ALL"
|
---|
25 | D ^DIR K DIR I $D(DIRUT) S IBQ=1 Q
|
---|
26 | S IBM1=Y
|
---|
27 | I IBM1="P" S DIC="^DPT(",DIC(0)="AEQMN" D ^DIC Q:$D(DUOUT) S IBPAT=$S(Y>0:+Y,1:0) I 'IBPAT W " ALL" S IBM1="A"
|
---|
28 | I IBM1="R" S PSOFILE=52,DIC="^PSRX(",DIC(0)="AEQMN" D DIC^PSODI(PSOFILE,.DIC) Q:$D(DUOUT) S IBRX=$S(Y>0:+Y,1:0) I 'IBRX W " ALL" S IBM1="A"
|
---|
29 | K PSODIY
|
---|
30 | I IBM1="E" S DIR(0)="FO^7:7^I X'?1.7N W !!,""Cannot contain alpha characters"" K X",DIR("A")="Enter ECME #" D ^DIR Q:$D(DUOUT) S IBECME=$S(+Y>0:Y,1:0) I 'IBECME W " ALL" S IBM1="A"
|
---|
31 | S IBM2="B"
|
---|
32 | ; if "All"
|
---|
33 | I IBM1="A" D Q:$G(IBQ)
|
---|
34 | .S DIR(0)="S^E:ECME BILLABLE;N:NON ECME BILLABLE;B:BOTH"
|
---|
35 | .S DIR("A")="(E)CME BILLABLE;(N)ON ECME BILLABLE;(B)OTH"
|
---|
36 | .S DIR("B")="BOTH"
|
---|
37 | .D ^DIR K DIR I $D(DIRUT) S IBQ=1 Q
|
---|
38 | .S IBM2=Y
|
---|
39 | ;
|
---|
40 | ;Mail/Window/CMOP?
|
---|
41 | S DIR(0)="S^M:MAIL;W:WINDOW;C:CMOP;A:ALL"
|
---|
42 | S DIR("A")="(M)AIL, (W)INDOW, (C)CMOP, (A)LL"
|
---|
43 | S DIR("B")="ALL"
|
---|
44 | D ^DIR K DIR I $D(DIRUT) S IBQ=1 Q
|
---|
45 | S IBM3=Y
|
---|
46 | ;
|
---|
47 | S DIR(0)="S^S:SUMMARY REPORT;D:DETAILED REPORT"
|
---|
48 | S DIR("A")="(S)UMMARY REPORT, (D)ETAILED REPORT"
|
---|
49 | S DIR("B")="SUMMARY REPORT"
|
---|
50 | D ^DIR K DIR I $D(DIRUT) S IBQ=1 Q
|
---|
51 | S IBDTL=($E(Y)="D")
|
---|
52 | Q
|
---|
53 | ;
|
---|
54 | TESTDATA() ;
|
---|
55 | N Y
|
---|
56 | S Y=$$HAVEDATA()
|
---|
57 | I 'Y W !!,"No data found in the specified period.",!
|
---|
58 | Q Y
|
---|
59 | ;
|
---|
60 | HAVEDATA() ;
|
---|
61 | N Z
|
---|
62 | I $D(^IBCNR(366.14,"B",IBBDT)) Q 1
|
---|
63 | S Z=+$O(^IBCNR(366.14,"B",IBBDT))
|
---|
64 | I Z=0 Q 0
|
---|
65 | I Z>IBEDT Q 0
|
---|
66 | Q 1
|
---|
67 | ;
|
---|
68 | DEVICE ;
|
---|
69 | N DIR,DIRUT,POP,ZTRTN,ZTIO,ZTSAVE,ZTDESC,%ZIS,ZTSK
|
---|
70 | S %ZIS="QM"
|
---|
71 | W ! D ^%ZIS
|
---|
72 | I POP S IBQ=1 Q
|
---|
73 | S IBSCR=$S($E($G(IOST),1,2)="C-":1,1:0)
|
---|
74 | ;
|
---|
75 | I $D(IO("Q")) D S IBQ=1
|
---|
76 | . S ZTRTN="START^IBNCPEV"
|
---|
77 | . S ZTIO=ION
|
---|
78 | . S ZTSAVE("IB*")=""
|
---|
79 | . S ZTDESC="IB ECME BILLING EVENTS REPORT"
|
---|
80 | . D ^%ZTLOAD
|
---|
81 | . W !,$S($D(ZTSK):"REQUEST QUEUED TASK="_ZTSK,1:"REQUEST CANCELLED")
|
---|
82 | . D HOME^%ZIS
|
---|
83 | U IO
|
---|
84 | Q
|
---|
85 | ;------ added for the User screen --------
|
---|
86 | ;User Screen Entry point (to call from ECME User Screen)
|
---|
87 | ;IBMODE:
|
---|
88 | ; P-patient
|
---|
89 | ; R-Rx
|
---|
90 | ;IBVAL - patient DFN or RX ien (#52)
|
---|
91 | ;
|
---|
92 | USRSCREN(IBMODE,IBVAL) ;
|
---|
93 | Q:$$PFSSON^IBNCPDPI() ;quit if PFSS is ON
|
---|
94 | N IBPAT,IBRX,IBBDT,IBEDT,Y,IBM1,IBM2,IBM3,IBQ,IBSCR,IBPAGE,IBDTL,IBDIVS
|
---|
95 | S (IBPAT,IBRX,IBQ,IBSCR,IBPAGE,IBDTL,IBDIVS)=0
|
---|
96 | S IBM1=IBMODE
|
---|
97 | I IBM1="P" S IBPAT=+IBVAL
|
---|
98 | I IBM1="R" S IBRX=+IBVAL
|
---|
99 | ;date
|
---|
100 | F D DATE Q:IBQ Q:$$TESTDATA
|
---|
101 | Q:IBQ
|
---|
102 | N IBMLTDV S IBMLTDV=$$MULTPHRM^BPSUTIL()
|
---|
103 | I +IBMLTDV=1 S IBDIVS=+$$MULTIDIV^IBNCPEV1(.IBDIVS) S:IBDIVS=0 IBDIVS(0)="0^ALL" I IBDIVS=-1 S IBQ=1 Q
|
---|
104 | I +IBMLTDV=0 S IBDIVS=0,IBDIVS(0)="0^"_$P(IBMLTDV,U,2)
|
---|
105 | D MODE2 Q:IBQ
|
---|
106 | D DEVICE Q:IBQ
|
---|
107 | D START^IBNCPEV
|
---|
108 | D ^%ZISC
|
---|
109 | I IBQ W !,"Cancelled"
|
---|
110 | Q
|
---|
111 | ;
|
---|
112 | MODE2 ;
|
---|
113 | N DIR,DIC,DIRUT,DUOUT
|
---|
114 | S (IBM1,IBM2,IBM3)="A"
|
---|
115 | S IBM2="B"
|
---|
116 | ;
|
---|
117 | ;Mail/Window/CMOP?
|
---|
118 | S DIR(0)="S^M:MAIL;W:WINDOW;C:CMOP;A:ALL"
|
---|
119 | S DIR("A")="(M)AIL, (W)INDOW, (C)CMOP, (A)LL"
|
---|
120 | S DIR("B")="ALL"
|
---|
121 | D ^DIR K DIR I $D(DIRUT) S IBQ=1 Q
|
---|
122 | S IBM3=Y
|
---|
123 | ;
|
---|
124 | S DIR(0)="S^S:SUMMARY REPORT;D:DETAILED REPORT"
|
---|
125 | S DIR("A")="(S)UMMARY REPORT, (D)ETAILED REPORT"
|
---|
126 | S DIR("B")="SUMMARY REPORT"
|
---|
127 | D ^DIR K DIR I $D(DIRUT) S IBQ=1 Q
|
---|
128 | S IBDTL=($E(Y)="D")
|
---|
129 | Q
|
---|
130 | ;IBNCPDPE
|
---|