[613] | 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
|
---|