| 1 | IBNCPRR ;DALOI/AAT - Prescription Report for 3rd Party Billing cross check ;07/21/04
 | 
|---|
| 2 |  ;;2.0;INTEGRATED BILLING;**276,347**;21-MAR-94;Build 24
 | 
|---|
| 3 |  ;;Per VHA Directive 2004-038, this routine should not be modified.
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 | EN ;
 | 
|---|
| 6 |  N IBQ,IBSITE,IBWMC,IBENB,IBBDT,IBEDT,IBINS,IBSDE,IBSCR
 | 
|---|
| 7 |  S IBQ=0 ; quit flag
 | 
|---|
| 8 |  ; Prompts to the user:
 | 
|---|
| 9 |  D DIV Q:IBQ  ; Division
 | 
|---|
| 10 |  D WMC Q:IBQ  ; W/M/C criteria
 | 
|---|
| 11 |  D ENB Q:IBQ  ; ECME/NON-ECME/BOTH criteria
 | 
|---|
| 12 |  D DATE Q:IBQ  ; From-To date range
 | 
|---|
| 13 |  D INS Q:IBQ  ; Insurance company
 | 
|---|
| 14 |  D SDE Q:IBQ  ; Summary/Detailed/Excel criteria
 | 
|---|
| 15 |  D DEVICE Q:IBQ
 | 
|---|
| 16 |  D RUN
 | 
|---|
| 17 |  I IBQ'=2 D PAUSE2
 | 
|---|
| 18 |  Q
 | 
|---|
| 19 |  ;
 | 
|---|
| 20 | DIV N DIC,DIRUT
 | 
|---|
| 21 |  W ! S DIC("A")="Division: ",DIC=59,DIC(0)="AEQM" D DIC^PSODI(59,.DIC,) S IBSITE=+Y K Y
 | 
|---|
| 22 |  I $D(DIRUT) S IBQ=1 Q
 | 
|---|
| 23 |  I IBSITE'>0 S IBQ=1 Q
 | 
|---|
| 24 |  I $G(PSODIY) K PSODIY
 | 
|---|
| 25 |  Q
 | 
|---|
| 26 |  ;
 | 
|---|
| 27 | WMC N DIR,DIRUT,Y
 | 
|---|
| 28 |  W ! S DIR("B")="CMOP",DIR("A")="(W)INDOW/(M)AIL/(C)MOP: "
 | 
|---|
| 29 |  S DIR(0)="SA^W:WINDOW;M:MAIL;C:CMOP" D ^DIR
 | 
|---|
| 30 |  I $D(DIRUT) S IBQ=1 Q
 | 
|---|
| 31 |  S IBWMC=Y
 | 
|---|
| 32 |  Q
 | 
|---|
| 33 |  ;
 | 
|---|
| 34 | ENB N DIR,DIRUT,Y
 | 
|---|
| 35 |  W ! S DIR("B")="ECME BILLABLE",DIR("A")="(E)CME Billable/(N)on-ECME Billable/(B)OTH: "
 | 
|---|
| 36 |  S DIR(0)="SA^E:ECME BILLABLE;N:NON-ECME BILLABLE;B:BOTH" D ^DIR
 | 
|---|
| 37 |  I $D(DIRUT) S IBQ=1 Q
 | 
|---|
| 38 |  S IBENB=Y
 | 
|---|
| 39 |  Q
 | 
|---|
| 40 |  ;
 | 
|---|
| 41 | DATE ;
 | 
|---|
| 42 |  N %DT,Y
 | 
|---|
| 43 |  S (IBBDT,IBEDT)=DT
 | 
|---|
| 44 |  S %DT="AEX"
 | 
|---|
| 45 |  S %DT("A")="FROM RELEASE DATE: ",%DT("B")="TODAY"
 | 
|---|
| 46 |  W ! D ^%DT K %DT
 | 
|---|
| 47 |  I Y<0 S IBQ=1 Q
 | 
|---|
| 48 |  S IBBDT=+Y
 | 
|---|
| 49 |  S %DT="AEX"
 | 
|---|
| 50 |  S %DT("A")="TO RELEASE DATE: ",%DT("B")="TODAY" ;$$DAT2^IBOUTL(IBBDT)
 | 
|---|
| 51 |  D ^%DT K %DT
 | 
|---|
| 52 |  I Y<0 S IBQ=1 Q
 | 
|---|
| 53 |  S IBEDT=+Y
 | 
|---|
| 54 |  Q
 | 
|---|
| 55 |  ;
 | 
|---|
| 56 | INS N DIR,DIC,DIRUT,Y
 | 
|---|
| 57 |  W ! S DIR("B")="ALL",DIR("A")="(S)INGLE Insurance Company /(A)LL Insurance Companies: "
 | 
|---|
| 58 |  S DIR(0)="SA^S:SINGLE INSURANCE COMPANY;A:ALL" D ^DIR
 | 
|---|
| 59 |  I $D(DIRUT) S IBQ=1 Q
 | 
|---|
| 60 |  I Y="A" S IBINS=0 Q
 | 
|---|
| 61 |  ;
 | 
|---|
| 62 |  S DIC(0)="AEQM",DIC=36
 | 
|---|
| 63 |  W ! D ^DIC
 | 
|---|
| 64 |  I $D(DIRUT) S IBQ=1 Q
 | 
|---|
| 65 |  I Y'>0 S IBQ=1 Q
 | 
|---|
| 66 |  S IBINS=+Y
 | 
|---|
| 67 |  Q
 | 
|---|
| 68 |  ;
 | 
|---|
| 69 | SDE N DIR,DIRUT
 | 
|---|
| 70 |  S DIR("B")="SUMMARY",DIR("A")="(S)UMMARY/(D)ETAILED/(E)XCEL: "
 | 
|---|
| 71 |  S DIR(0)="SA^S:SUMMARY;D:DETAILED;E:EXCEL"
 | 
|---|
| 72 |  W ! D ^DIR
 | 
|---|
| 73 |  I $D(DIRUT) S IBQ=1 Q
 | 
|---|
| 74 |  S IBSDE=Y
 | 
|---|
| 75 |  Q
 | 
|---|
| 76 |  ;
 | 
|---|
| 77 | DEVICE ;
 | 
|---|
| 78 |  N %ZIS,ZTSK,ZTRTN,ZTIO,ZTDESC,POP,ZTSAVE
 | 
|---|
| 79 |  S %ZIS="QM"
 | 
|---|
| 80 |  W ! D ^%ZIS
 | 
|---|
| 81 |  I POP S IBQ=1 Q
 | 
|---|
| 82 |  S IBSCR=$S($E($G(IOST),1,2)="C-":1,1:0)
 | 
|---|
| 83 |  ;
 | 
|---|
| 84 |  I $D(IO("Q")) D  S IBQ=1
 | 
|---|
| 85 |  . S ZTRTN="RUN^IBNCPRR"
 | 
|---|
| 86 |  . S ZTIO=ION
 | 
|---|
| 87 |  . S ZTSAVE("IB*")=""
 | 
|---|
| 88 |  . S ZTDESC="IB ECME CMOP REPORT"
 | 
|---|
| 89 |  . D ^%ZTLOAD
 | 
|---|
| 90 |  . W !,$S($D(ZTSK):"REQUEST QUEUED TASK="_ZTSK,1:"REQUEST CANCELLED")
 | 
|---|
| 91 |  . D HOME^%ZIS
 | 
|---|
| 92 |  U IO
 | 
|---|
| 93 |  Q
 | 
|---|
| 94 |  ;
 | 
|---|
| 95 | RUN ;
 | 
|---|
| 96 |  N IBPAGE,REF
 | 
|---|
| 97 |  S REF=$NA(^TMP($J,"IBNCPRR"))
 | 
|---|
| 98 |  K @REF
 | 
|---|
| 99 |  S IBPAGE=0
 | 
|---|
| 100 |  D COLLECT  ; Collect the data in ^TMP
 | 
|---|
| 101 |  U IO
 | 
|---|
| 102 |  D REPORT
 | 
|---|
| 103 |  I 'IBSCR W !,@IOF
 | 
|---|
| 104 |  D ^%ZISC
 | 
|---|
| 105 |  K @REF
 | 
|---|
| 106 |  Q
 | 
|---|
| 107 |  ;
 | 
|---|
| 108 | REPORT ;
 | 
|---|
| 109 |  N IBDT,IBRX,IBFL,IBPN,DFN,IBD
 | 
|---|
| 110 |  D HDR
 | 
|---|
| 111 |  I '$D(@REF) W !,"No data meet the criteria."
 | 
|---|
| 112 |  S IBDT="" F  S IBDT=$O(@REF@(IBDT)) Q:IBDT=""  D  Q:IBQ
 | 
|---|
| 113 |  . S IBPN="" F  S IBPN=$O(@REF@(IBDT,IBPN)) Q:IBPN=""  D  Q:IBQ
 | 
|---|
| 114 |  .. S IBRX="" F  S IBRX=$O(@REF@(IBDT,IBPN,IBRX)) Q:IBRX=""  D  Q:IBQ
 | 
|---|
| 115 |  ... S IBFL="" F  S IBFL=$O(@REF@(IBDT,IBPN,IBRX,IBFL)) Q:IBFL=""  D  Q:IBQ
 | 
|---|
| 116 |  .... S IBD=$G(@REF@(IBDT,IBPN,IBRX,IBFL)) Q:IBD=""
 | 
|---|
| 117 |  .... I IBSDE="S" D WRLINE Q
 | 
|---|
| 118 |  .... I IBSDE="D" D WRLINE2 Q
 | 
|---|
| 119 |  .... I IBSDE="E" D WRLINE3 Q
 | 
|---|
| 120 |  ;
 | 
|---|
| 121 |  Q
 | 
|---|
| 122 |  ;
 | 
|---|
| 123 | WRLINE ; Write the summary report line
 | 
|---|
| 124 |  D CHKP Q:IBQ
 | 
|---|
| 125 |  W !,$$DAT3^IBOUTL(IBDT)," ",?12,$E(IBPN,1,23)," "
 | 
|---|
| 126 |  W ?36,$E($$FILE^IBRXUTL(IBRX,.01),1,11)," ",?48,IBFL
 | 
|---|
| 127 |  W ?51,$P(IBD,U,3)," " ; ECME number
 | 
|---|
| 128 |  W ?59,$P($G(^DGCR(399,+$P(IBD,U,4),0)),U)," " ; Bill #
 | 
|---|
| 129 |  W ?67,$E($P($G(^DIC(36,+$P(IBD,U,5),0)),U),1,13) ; Insurance
 | 
|---|
| 130 |  Q
 | 
|---|
| 131 |  ;
 | 
|---|
| 132 | WRLINE2 ; Write the detailed report line
 | 
|---|
| 133 |  N IBRXARR
 | 
|---|
| 134 |  D CHKP Q:IBQ
 | 
|---|
| 135 |  W !,$$DAT^IBNCPRR1(IBDT)," ",?10,$E(IBPN,1,18)," "
 | 
|---|
| 136 |  W ?29,$$SSN4^IBNCPRR1(+IBD)
 | 
|---|
| 137 |  W ?34,$E($$FILE^IBRXUTL(IBRX,.01),1,10)," "
 | 
|---|
| 138 |  W ?45,IBFL," "
 | 
|---|
| 139 |  W ?49,$$DAT^IBNCPRR1($P(IBD,U,2))," "
 | 
|---|
| 140 |  N DRGIFN,DRUGNM,SEQNUM
 | 
|---|
| 141 |  S DRGIFN=$$FILE^IBRXUTL(IBRX,6) D ZERO^IBRXUTL(DRGIFN) S DRUGNM=^TMP($J,"IBDRUG",DRGIFN,.01)
 | 
|---|
| 142 |  K ^TMP($J,"IBDRUG")
 | 
|---|
| 143 |  W ?60,$E(DRUGNM,1,20)
 | 
|---|
| 144 |  ; ECME#/Rx Status/Copay
 | 
|---|
| 145 |  D CHKP Q:IBQ
 | 
|---|
| 146 |  W !?5,"ECME#: ",$P(IBD,U,3),", Rx Status: ",$$FILE^IBRXUTL(IBRX,100,"E"),", Rx Copay: ",$$COPAY^IBNCPRR1(IBRX,IBFL)
 | 
|---|
| 147 |  ; Bill Number/Insurance/Group
 | 
|---|
| 148 |  I $P(IBD,U,4) D CHKP Q:IBQ  D
 | 
|---|
| 149 |  . W !?5,"Bill#: ",$P($G(^DGCR(399,+$P(IBD,U,4),0)),U)
 | 
|---|
| 150 |  . W ", Insurance: ",$E($P($G(^DIC(36,+$P(IBD,U,5),0)),U),1,20)
 | 
|---|
| 151 |  . ;W ", Group Ins.Plan: ?"
 | 
|---|
| 152 |  ; CMOP Transactions
 | 
|---|
| 153 |  I IBWMC="C" D  Q:IBQ
 | 
|---|
| 154 |  . N IBCMOP,IBZ,IBANY
 | 
|---|
| 155 |  . S IBANY=0
 | 
|---|
| 156 |  . S IBCMOP=0
 | 
|---|
| 157 |  . S DFN=$$FILE^IBRXUTL(IBRX,2)
 | 
|---|
| 158 |  . D RX^PSO52API(DFN,"IBRX",IBRX,,"C",,)
 | 
|---|
| 159 |  . F  S IBCMOP=$O(^TMP($J,"IBRX",DFN,IBRX,"C",IBCMOP)) Q:'IBCMOP  D  Q:IBQ
 | 
|---|
| 160 |  .. S IBZ=$O(^TMP($J,"IBRX",DFN,IBRX,"C",IBCMOP,0)) Q:IBZ=""
 | 
|---|
| 161 |  .. I +$P(^TMP($J,"IBRX",DFN,IBRX,"C",IBCMOP,2),"^",1)'=IBFL Q  ; different refill
 | 
|---|
| 162 |  .. D CHKP Q:IBQ
 | 
|---|
| 163 |  .. N DR,DA,DIQ,DIC
 | 
|---|
| 164 |  .. S DR=400,DR(52.01)="1"
 | 
|---|
| 165 |  .. S DA=IBRX,DA(52.01)=IBCMOP
 | 
|---|
| 166 |  .. S DIQ="IBRXARR",DIQ(0)="E"
 | 
|---|
| 167 |  .. D DIQ^PSODI(52,52,.DR,.DA,.DIQ) S SEQNUM=$G(IBRXARR(52.01,DA(52.01),DR(52.01),DIQ(0)))
 | 
|---|
| 168 |  .. W !?5,"CMOP SEQUENCE# ",SEQNUM
 | 
|---|
| 169 |  .. W ", STATUS: ",$P(^TMP($J,"IBRX",DFN,IBRX,"C",IBCMOP,3),"^",2)
 | 
|---|
| 170 |  .. W ", NDC: ",$P(^TMP($J,"IBRX",DFN,IBRX,"C",IBCMOP,4),"^",1) S IBANY=1
 | 
|---|
| 171 |  .K ^TMP($J,"IBRX")
 | 
|---|
| 172 |  . I 'IBANY D CHKP Q:IBQ  W !?5,"NO CMOP TRANSACTIONS FOUND"
 | 
|---|
| 173 |  ;
 | 
|---|
| 174 |  ; Write activity log
 | 
|---|
| 175 |  N IBACT,IBFROM,IBTO,IBTMP
 | 
|---|
| 176 |  S IBFROM=IBDT,IBTO=$$NXTREFDT^IBNCPRR1(IBRX,IBFL)
 | 
|---|
| 177 |  I IBTO<IBFROM S IBTO=IBFROM
 | 
|---|
| 178 |  S DFN=$$FILE^IBRXUTL(IBRX,2),LIST="IBTMPARR",NODE="A"
 | 
|---|
| 179 |  D RX^PSO52API(DFN,LIST,IBRX,,NODE,,) Q:$P(^TMP($J,LIST,DFN,IBRX,"A",.01),"^",1)<0
 | 
|---|
| 180 |  S IBTMP=0
 | 
|---|
| 181 |  F  S IBTMP=$O(^TMP($J,LIST,DFN,IBRX,"A",IBTMP)) Q:IBTMP=""  D  Q:IBQ
 | 
|---|
| 182 |  . N IBZ,IBTXT
 | 
|---|
| 183 |  . I $P(^TMP($J,LIST,DFN,IBRX,"A",IBTMP,.02),"^",1)'="B",$P(^TMP($J,LIST,DFN,IBRX,"A",IBTMP,.02),"^",1)'="M" Q
 | 
|---|
| 184 |  . S IBZ=$P(^TMP($J,LIST,DFN,IBRX,"A",IBTMP,.01),"^",1)
 | 
|---|
| 185 |  . I IBZ<IBFROM Q
 | 
|---|
| 186 |  . I IBZ>IBTO Q
 | 
|---|
| 187 |  . D CHKP Q:IBQ
 | 
|---|
| 188 |  . S IBTXT=$P(^TMP($J,LIST,DFN,IBRX,"A",IBTMP,.05),"^",1)
 | 
|---|
| 189 |  . S:$TR(IBTXT," ")="" IBTXT=$$EXTERNAL^DILFD(52.3,.02,,$P(IBZ,U,2))
 | 
|---|
| 190 |  . W !?5,$$DATTIM^IBNCPRR1(+IBZ),?21,$E(IBTXT,1,59)
 | 
|---|
| 191 |  K ^TMP($J,LIST)
 | 
|---|
| 192 |  D CHKP Q:IBQ
 | 
|---|
| 193 |  W !?5,"-------------------------------"
 | 
|---|
| 194 |  Q
 | 
|---|
| 195 |  ;
 | 
|---|
| 196 | WRLINE3 ; Write the Excel report line
 | 
|---|
| 197 |  W !,$$DAT^IBNCPRR1(IBDT),U,$E(IBPN,1,23),U
 | 
|---|
| 198 |  W $E($$FILE^IBRXUTL(IBRX,.01),1,11),U,IBFL,U
 | 
|---|
| 199 |  W $$DAT^IBNCPRR1($P(IBD,U,2)),U
 | 
|---|
| 200 |  W $P(IBD,U,3),U ; ECME number
 | 
|---|
| 201 |  W $P($G(^DGCR(399,+$P(IBD,U,4),0)),U),U ; Bill #
 | 
|---|
| 202 |  W $E($P($G(^DIC(36,+$P(IBD,U,5),0)),U),1,13) ; Insurance
 | 
|---|
| 203 |  Q
 | 
|---|
| 204 |  ;
 | 
|---|
| 205 | HDR ;
 | 
|---|
| 206 |  N LIST,IBSNAME
 | 
|---|
| 207 |  S LIST="HDRLIST"
 | 
|---|
| 208 |  S IBSNAME=""
 | 
|---|
| 209 |  D PSS^PSO59(IBSITE,,LIST)
 | 
|---|
| 210 |  I $G(^TMP($J,LIST,IBSITE,0))>0 S IBSNAME=^TMP($J,LIST,IBSITE,.01)
 | 
|---|
| 211 |  K ^TMP($J,LIST)
 | 
|---|
| 212 |  S IBPAGE=IBPAGE+1
 | 
|---|
| 213 |  W @IOF,?10,"IB THIRD PARTY BILLING PHARMACY CROSS-CHECK REPORT for "_IBSNAME,!
 | 
|---|
| 214 |  W ?10,$S(IBWMC="C":"CMOP",IBWMC="M":"MAIL",1:"WINDOW")," PRESCRIPTIONS" W ", ",$S(IBSDE="S":"SUMMARY",1:"DETAILED")
 | 
|---|
| 215 |  W !?10,"Released ",$$DAT3^IBOUTL(IBBDT)_" to "_$$DAT3^IBOUTL(IBEDT),?70,"Page: "_IBPAGE
 | 
|---|
| 216 |  I IBSDE="S" D
 | 
|---|
| 217 |  . W !!,"Rel.Date    Patient Name            Rx No   Fill#  ECME#   Bill    Insurance"
 | 
|---|
| 218 |  I IBSDE="D" D
 | 
|---|
| 219 |  . W !!,"Rel.Date  Patient Name       SSN  Rx No   Fill#  Fil.Date   Drug"
 | 
|---|
| 220 |  I IBSDE="E" D
 | 
|---|
| 221 |  . W !!,"Rel.Date^Patient Name^SSN^Rx No^Fill#^Fil.Date^ECME#^Bill"
 | 
|---|
| 222 |  I IBSDE'="E" D ULINE("=")
 | 
|---|
| 223 |  Q
 | 
|---|
| 224 |  ;
 | 
|---|
| 225 |  ;
 | 
|---|
| 226 | COLLECT ;
 | 
|---|
| 227 |  N IBDT,IBRX,IBFL,IBP,DFN,IBRXINS,IBZ,IBRXN,IBFLDT,IBPN,IBECN,IBECMBIL,IBRXSITE,IBBIL,IBFILD,LIST,CNT
 | 
|---|
| 228 |  S IBDT=IBBDT-.0001
 | 
|---|
| 229 |  ; Released Prescriptions/Refills
 | 
|---|
| 230 |  S LIST="IBRXARR"
 | 
|---|
| 231 |  D EXTRACT^PSO52EX(IBBDT,IBEDT,LIST)
 | 
|---|
| 232 |  S DTE=0,CNT=0
 | 
|---|
| 233 |  F  S DTE=$O(^TMP($J,LIST,"AL",DTE)) Q:'DTE  D
 | 
|---|
| 234 |  .S IBRX="" F  S IBRX=$O(^TMP($J,LIST,"AL",DTE,IBRX)) Q:'IBRX  D
 | 
|---|
| 235 |  ..S IBFIL="" F  S IBFIL=$O(^TMP($J,LIST,"AL",DTE,IBRX,IBFIL)) Q:IBFIL=""  D
 | 
|---|
| 236 |  ...S DFN=$$FILE^IBRXUTL(IBRX,2) ;Patient
 | 
|---|
| 237 |  ...S IBZ=$$RXZERO^IBRXUTL(DFN,IBRX)
 | 
|---|
| 238 |  ...S IBPN=$$FILE^IBRXUTL(IBRX,2,"E")
 | 
|---|
| 239 |  ...S IBRXSITE=$$FILE^IBRXUTL(IBRX,20)
 | 
|---|
| 240 |  ...I IBSITE'=IBRXSITE Q
 | 
|---|
| 241 |  ...I IBFIL=0 S IBFLDT=$$FILE^IBRXUTL(IBRX,22)
 | 
|---|
| 242 |  ...I IBFIL>0 S IBFLDT=$$SUBFILE^IBRXUTL(IBRX,IBFL,52,.01)
 | 
|---|
| 243 |  ...S:'IBFLDT IBFLDT=IBDT
 | 
|---|
| 244 |  ... S IBBIL=$$BILL^IBNCPBB(IBRXN,IBFLDT) ; IB Bill
 | 
|---|
| 245 |  ... S IBRXINS=$$BILLINS^IBNCPRR1(IBBIL)
 | 
|---|
| 246 |  ... I 'IBRXINS S IBRXINS=$$RXINS^IBNCPRR1(IBRX,IBFL)
 | 
|---|
| 247 |  ... S IBECMBIL=$$ECMEBIL^IBNCPDPU(DFN,IBFLDT) ; ECME Billable?
 | 
|---|
| 248 |  ... ; Apply filters:
 | 
|---|
| 249 |  ... I IBENB="E",'IBECMBIL Q
 | 
|---|
| 250 |  ... I IBENB="N",IBECMBIL Q
 | 
|---|
| 251 |  ... I IBINS,IBRXINS'=IBINS Q
 | 
|---|
| 252 |  ... ; Mail/Window/CMOP
 | 
|---|
| 253 |  ... I IBWMC'=$$RXWMC(IBRX) Q
 | 
|---|
| 254 |  ... S IBECN=$S(IBECMBIL:$$ECMENO^IBNCPRR1(IBRX),1:"")
 | 
|---|
| 255 |  ... S @REF@($P(IBDT,"."),IBPN,IBRX,IBFL)=DFN_U_IBFLDT_U_IBECN_U_IBBIL_U_IBRXINS
 | 
|---|
| 256 |  K ^TMP($J,LIST)
 | 
|---|
| 257 |  ;
 | 
|---|
| 258 |  ;;Partial Prescriptions
 | 
|---|
| 259 |  ;S IBRXN=0
 | 
|---|
| 260 |  ;S IBDT=IBBDT-.001 F  S IBDT=$O(^PSRX("ADP",IBDT)) Q:'IBDT!($P(IBDT,".")>IBEDT)  D
 | 
|---|
| 261 |  ;. F  S IBRX=$O(^PSRX("ADP",IBDT,IBRX)) Q:'IBRX  D
 | 
|---|
| 262 |  ;.. S IBP=0 F  S IBP=$O(^PSRX("ADP",IBDT,IBRX,IBP)) Q:'IBP  D
 | 
|---|
| 263 |  ;... I $G(^PSRX(IBRX,0))="" Q
 | 
|---|
| 264 |  ;... S IBPAR=1 D REF
 | 
|---|
| 265 |  Q
 | 
|---|
| 266 |  ;
 | 
|---|
| 267 |  ;
 | 
|---|
| 268 | RXWMC(IBRX) ;WMC
 | 
|---|
| 269 |  N IBZ,IBWM,DFN
 | 
|---|
| 270 |  S DFN=$$FILE^IBRXUTL(IBRX,2),NODE="C",LIST="IBCMOP"
 | 
|---|
| 271 |  D RX^PSO52API(DFN,LIST,IBRX,,NODE,,)
 | 
|---|
| 272 |  I ^TMP($J,LIST,DFN,IBRX,"C",0)'=-1 Q "C"
 | 
|---|
| 273 |  S IBZ=$$RXZERO^IBRXUTL($$FILE^IBRXUTL(IBRX,2),IBRX)
 | 
|---|
| 274 |  S IBWM=$P(IBZ,U,11)
 | 
|---|
| 275 |  I IBWM="" S IBWM="W" ;default
 | 
|---|
| 276 |  K ^TMP($J,LIST)
 | 
|---|
| 277 |  Q IBWM
 | 
|---|
| 278 |  ;
 | 
|---|
| 279 | CHKP ;Check for EOP
 | 
|---|
| 280 |  I $Y>(IOSL-4) D:IBSCR PAUSE Q:IBQ  D HDR
 | 
|---|
| 281 |  Q
 | 
|---|
| 282 |  ;
 | 
|---|
| 283 | PAUSE ;
 | 
|---|
| 284 |  N X U IO(0) W !!,"Press RETURN to continue, '^' to exit:" R X:DTIME S:'$T X="^" S:X["^" IBQ=2
 | 
|---|
| 285 |  U IO
 | 
|---|
| 286 |  Q
 | 
|---|
| 287 |  ;
 | 
|---|
| 288 | PAUSE2 ;
 | 
|---|
| 289 |  N X U IO(0) W !!,"Press RETURN to continue:" R X:DTIME S:'$T X="^" S:X["^" IBQ=2
 | 
|---|
| 290 |  U IO
 | 
|---|
| 291 |  Q
 | 
|---|
| 292 |  ;
 | 
|---|
| 293 | ULINE(X) ;line
 | 
|---|
| 294 |  D CHKP Q:IBQ
 | 
|---|
| 295 |  N I W ! F I=1:1:80 W $G(X,"-")
 | 
|---|
| 296 |  Q
 | 
|---|
| 297 |  ;
 | 
|---|
| 298 | RXSTAT(IBDFN,IBRX) ;
 | 
|---|
| 299 |  N IBS
 | 
|---|
| 300 |  ;instead of: S IBS=$P($G(^PSRX(IBRX,"STA")),U)
 | 
|---|
| 301 |  S IBS=$$RXSTATUS(IBDFN,IBRX)
 | 
|---|
| 302 |  Q $$EXTERNAL^DILFD(52,100,,IBS)
 | 
|---|
| 303 |  ;
 | 
|---|
| 304 | RXSTATUS(IBDFN,IBRX) ;
 | 
|---|
| 305 |  N X
 | 
|---|
| 306 |  K ^TMP($J,"IBNCPDP52")
 | 
|---|
| 307 |  D RX^PSO52API(IBDFN,"IBNCPDP52",IBRX,"","ST")
 | 
|---|
| 308 |  S X=+$G(^TMP($J,"IBNCPDP52",IBDFN,IBRX,100))
 | 
|---|
| 309 |  K ^TMP($J,"IBNCPDP52")
 | 
|---|
| 310 |  Q X
 | 
|---|
| 311 |          ;
 | 
|---|