[613] | 1 | RCXVDC5 ;DAOU/ALA-AR Data Extraction Data Creation ;02-JUL-03
|
---|
| 2 | ;;4.5;Accounts Receivable;**201,227,228,240,243,248,245,251**;Mar 20, 1995;Build 21
|
---|
| 3 | ;
|
---|
| 4 | ; Integrated Billing Action File (# 350)
|
---|
| 5 | Q
|
---|
| 6 | D350 ;
|
---|
| 7 | NEW RCXVD,RCXVDA,RCXVDB,RCXVD0A,RCXVDT,RCXVP1,RCXVP2,RCXVPC,RCT
|
---|
| 8 | NEW RCIBVD,RCIBAD,RCIBDD,RCIBSL,RCIBBG,RCIBPE,RCXVNPI
|
---|
| 9 | S RCXVD0A="",RCT=0
|
---|
| 10 | F S RCXVD0A=$O(^IB("ABIL",RCXVBLNA,RCXVD0A)) Q:RCXVD0A="" D
|
---|
| 11 | . S RCXVD=$G(^IB(RCXVD0A,0))
|
---|
| 12 | . I $G(DFN)="" S DFN=$P(RCXVD,U,2)
|
---|
| 13 | . ;
|
---|
| 14 | . S RCXVDA=RCXVBLNA_RCXVU_$P(RCXVD,U,1)
|
---|
| 15 | . S RCXVDA=RCXVDA_RCXVU_$$GET1^DIQ(350,RCXVD0A_",",.05,"E")
|
---|
| 16 | . S RCXVP1=$P(RCXVD,U,3),RCXVP2=""
|
---|
| 17 | . I RCXVP1'="" S RCXVP2=$P($G(^IBE(350.1,RCXVP1,0)),U,1)
|
---|
| 18 | . S RCXVDA=RCXVDA_RCXVU_RCXVP2 ; ACTION TYPE (P)
|
---|
| 19 | . S RCXVDA=RCXVDA_RCXVU_$P(RCXVD,U,6) ; UNITS
|
---|
| 20 | . S RCXVDA=RCXVDA_RCXVU_$P(RCXVD,U,7) ; TOTAL CHARGE
|
---|
| 21 | . S RCXVDT=$P(RCXVD,U,14)
|
---|
| 22 | . S RCXVDA=RCXVDA_RCXVU_$E($$HLDATE^HLFNC(RCXVDT),1,8) ; DT BILLD FROM
|
---|
| 23 | . S RCXVDT=$P(RCXVD,U,15)
|
---|
| 24 | . S RCXVDA=RCXVDA_RCXVU_$E($$HLDATE^HLFNC(RCXVDT),1,8) ; DT BILLD TO
|
---|
| 25 | . S RCXVDA=RCXVDA_RCXVU_$P(RCXVD,U,11) ; AR BILL #
|
---|
| 26 | . S RCXVDT=$P($P($G(^IB(RCXVD0A,1)),U,2),".",1)
|
---|
| 27 | . S RCXVDA=RCXVDA_RCXVU_$E($$HLDATE^HLFNC(RCXVDT),1,8) ; DT ENTRY ADDED
|
---|
| 28 | . S RCXVDA=RCXVDA_RCXVU_$P($G(^DPT(DFN,0)),U,9) ; SSN
|
---|
| 29 | . S RCXVDT=$P(RCXVD,U,17)
|
---|
| 30 | . S RCXVDA=RCXVDA_RCXVU_$E($$HLDATE^HLFNC(RCXVDT),1,8) ; EVENT DT
|
---|
| 31 | . S RCXVDT=$$PRESC($P(RCXVD,U,4))
|
---|
| 32 | . S RCXVDA=RCXVDA_RCXVU_$E($$HLDATE^HLFNC(RCXVDT),1,8) ;FILL/REFILL DATE
|
---|
| 33 | . S (RCIBVD,RCIBAD,RCIBDD)="" D
|
---|
| 34 | ..S RCIBSL=$P(RCXVD,U,4) Q:+RCIBSL=52
|
---|
| 35 | ..S RCIBBG=$P($G(^IBE(350.1,+$P(RCXVD,"^",3),0)),"^",11)
|
---|
| 36 | ..I RCIBBG=4 S RCXVDT=$P(RCXVD,U,14),RCIBVD=$E($$HLDATE^HLFNC(RCXVDT),1,8) Q
|
---|
| 37 | ..S RCIBPE=$G(^IB(+$P(RCXVD,"^",16),0))
|
---|
| 38 | ..I +RCIBSL'=405,+RCIBSL'=45 S RCIBSL=$P(RCIBPE,"^",4)
|
---|
| 39 | ..I +RCIBSL=405!(+RCIBSL=45) D INP
|
---|
| 40 | ..Q
|
---|
| 41 | . ;add outpatient visit date, inp. admission date, inp. discharge date
|
---|
| 42 | . S RCXVDA=RCXVDA_RCXVU_RCIBVD_RCXVU_RCIBAD_RCXVU_RCIBDD
|
---|
| 43 | . S RCXVNPI="",RCXVDA=RCXVDA_RCXVU_$$SITE(RCXVD0A,1)_RCXVU_RCXVNPI ;DIVISION WHERE CARE RENDERED^DIVISION NPI
|
---|
| 44 | . S RCT=RCT+1
|
---|
| 45 | . S ^TMP($J,RCXVBLN,"5-350A",RCT)=RCXVDA
|
---|
| 46 | Q
|
---|
| 47 | ;
|
---|
| 48 | PRESC(RCPC4) ;Calculates prescription fill/refill date
|
---|
| 49 | ; Input is resulting from field (4th piece of 0 node) in 350
|
---|
| 50 | ; Output is fill/refill date in fileman format
|
---|
| 51 | N RCRXN,RCRF,RCPRDT,PSOFILE,DIC,DR,DA,DIQ,RCX
|
---|
| 52 | S RCPRDT=""
|
---|
| 53 | I $P(RCPC4,":")'=52 Q RCPRDT
|
---|
| 54 | S RCRXN=+$P(RCPC4,":",2),RCRF=$P(RCPC4,":",3)
|
---|
| 55 | ;Set variables for DIQ^PSODI call
|
---|
| 56 | S PSOFILE=52
|
---|
| 57 | S DIC=52
|
---|
| 58 | S DIQ="RCX"
|
---|
| 59 | S DIQ(0)="I"
|
---|
| 60 | I RCRF>0 D
|
---|
| 61 | .S DR=52
|
---|
| 62 | .S DR(52.1)="17"
|
---|
| 63 | .S DA=RCRXN
|
---|
| 64 | .S DA(52.1)=RCRF
|
---|
| 65 | .D DIQ^PSODI(PSOFILE,DIC,.DR,.DA,.DIQ)
|
---|
| 66 | .S RCPRDT=$G(RCX(52.1,DA(52.1),17,"I"))
|
---|
| 67 | E D
|
---|
| 68 | .S DR=31
|
---|
| 69 | .S DA=+RCRXN
|
---|
| 70 | .D DIQ^PSODI(PSOFILE,DIC,DR,DA,.DIQ)
|
---|
| 71 | .S RCPRDT=$G(RCX(52,DA,31,"I"))
|
---|
| 72 | S RCPRDT=$P(RCPRDT,".")
|
---|
| 73 | ;Return refill date without time
|
---|
| 74 | Q RCPRDT
|
---|
| 75 | INP ; get inpatient admission and discharge date
|
---|
| 76 | N PM,PM0,X,X1,X2
|
---|
| 77 | I +RCIBSL=405 D
|
---|
| 78 | .S PM=+$P(RCIBSL,":",2),PM0=$G(^DGPM(PM,0))
|
---|
| 79 | .S RCIBAD=$S(PM0:+PM0\1,1:$P(RCIBPE,"^",17))
|
---|
| 80 | .S RCIBAD=$E($$HLDATE^HLFNC(RCIBAD),1,8)
|
---|
| 81 | .S RCIBDD=$S(PM0:$S($D(^DGPM(+$P(PM0,"^",17),0)):+^(0)\1,1:""),1:"")
|
---|
| 82 | .S RCIBDD=$E($$HLDATE^HLFNC(RCIBDD),1,8)
|
---|
| 83 | I +RCIBSL=45 D
|
---|
| 84 | .S PM=+$P(RCIBSL,":",2),PM0=$G(^DGPT(PM,0))
|
---|
| 85 | .S RCIBAD=$S(PM0:+$P(PM0,"^",2)\1,1:$P(RCIBPE,"^",17))
|
---|
| 86 | .S RCIBAD=$E($$HLDATE^HLFNC(RCIBAD),1,8)
|
---|
| 87 | .S RCIBDD=$S($G(^DGPT(PM,70)):+^(70)\1,1:"")
|
---|
| 88 | .S RCIBDD=$E($$HLDATE^HLFNC(RCIBDD),1,8)
|
---|
| 89 | Q
|
---|
| 90 | SITE(IIEN,FLG) ; Find the Care Site for Co-Pays
|
---|
| 91 | ; Input Parameters
|
---|
| 92 | ; IIEN = Internal Entry Number for IB ACTION #350
|
---|
| 93 | ; FLG = 1=Division Name,2=Facility Number
|
---|
| 94 | ;
|
---|
| 95 | NEW VDIV,VFAC,VWIEN,VWFIL,VVIS,VLOC,VWARD,VLVAL,VWHER
|
---|
| 96 | S VWHER=$P(^IB(IIEN,0),U,4)
|
---|
| 97 | ;
|
---|
| 98 | I VWHER="" Q ""
|
---|
| 99 | ;
|
---|
| 100 | S VWFIL=$P(VWHER,":",1),VWIEN=$P(VWHER,":",2)
|
---|
| 101 | I VWIEN[";" S VWIEN=$P(VWIEN,";",1)
|
---|
| 102 | ;
|
---|
| 103 | S VLVAL=""
|
---|
| 104 | MV I VWFIL=405 D
|
---|
| 105 | . I VWIEN="" Q
|
---|
| 106 | . S VWARD=$P($G(^DGPM(VWIEN,0)),U,6)
|
---|
| 107 | . I VWARD="" Q
|
---|
| 108 | . S VLOC=$P($G(^DIC(42,VWARD,44)),U,1)
|
---|
| 109 | . I VLOC="" Q
|
---|
| 110 | . S VDIV=$P($G(^SC(VLOC,0)),U,15)
|
---|
| 111 | . I VDIV="" Q
|
---|
| 112 | . D VLU
|
---|
| 113 | ;
|
---|
| 114 | OP I VWFIL=409.68 D
|
---|
| 115 | . S VLOC=$P($G(^SCE(VWIEN,0)),U,4)
|
---|
| 116 | . I VLOC="" D
|
---|
| 117 | .. S VVIS=$P($G(^SCE(VWIEN,0)),U,5)
|
---|
| 118 | .. I VVIS="" Q
|
---|
| 119 | .. S VLOC=$P($G(^AUPNVSIT(VVIS,0)),U,22)
|
---|
| 120 | . I VLOC="" Q
|
---|
| 121 | . S VDIV=$P($G(^SC(VLOC,0)),U,15)
|
---|
| 122 | . I VDIV="" Q
|
---|
| 123 | . D VLU
|
---|
| 124 | ;
|
---|
| 125 | RX I VWFIL=52 D
|
---|
| 126 | .N PSOFILE,DIC,DR,DA,DIQ,RCX
|
---|
| 127 | .S PSOFILE=52
|
---|
| 128 | .S DIC=52
|
---|
| 129 | .S DA=VWIEN
|
---|
| 130 | .S DR=5
|
---|
| 131 | .S DIQ="RCX"
|
---|
| 132 | .S DIQ(0)="I"
|
---|
| 133 | .D DIQ^PSODI(PSOFILE,DIC,DR,DA,.DIQ)
|
---|
| 134 | .S VLOC=$G(RCX(PSOFILE,DA,DR,"I"))
|
---|
| 135 | .I VLOC="" Q
|
---|
| 136 | .S VDIV=$P($G(^SC(VLOC,0)),U,15)
|
---|
| 137 | .I VDIV="" Q
|
---|
| 138 | .D VLU
|
---|
| 139 | ;
|
---|
| 140 | LC I VWFIL=44 D
|
---|
| 141 | . S VDIV=$P($G(^SC(VWIEN,0)),U,15)
|
---|
| 142 | . I VDIV="" Q
|
---|
| 143 | . D VLU
|
---|
| 144 | ;
|
---|
| 145 | IB I VWFIL=350 D
|
---|
| 146 | . S VFAC=$P($G(^IB(VWIEN,0)),U,13)
|
---|
| 147 | . I VFAC="" Q
|
---|
| 148 | . S VDIV=$O(^DG(40.8,"C",VFAC,""))
|
---|
| 149 | . I VDIV="" Q
|
---|
| 150 | . D VLU
|
---|
| 151 | ;
|
---|
| 152 | Q VLVAL
|
---|
| 153 | ;
|
---|
| 154 | VLU I FLG=1 S VLVAL=$P(^DG(40.8,VDIV,0),U,1)
|
---|
| 155 | I FLG=2 S VLVAL=$P(^DG(40.8,VDIV,0),U,2)
|
---|
| 156 | I $G(VLVAL)'=""&($G(VDIV)'="") S RCXVNPI=$P($$NPI^XUSNPI("Organization_ID",$$GET1^DIQ(40.8,VDIV,.07,"I")),RCXVU,1) S:+RCXVNPI<1 RCXVNPI=""
|
---|
| 157 | Q
|
---|