| [623] | 1 | IBATLM2A ;LL/ELZ - TRANSFER PRICING PT TRANSACTION DETAIL ; 15-SEP-1998
 | 
|---|
 | 2 |  ;;2.0;INTEGRATED BILLING;**115,210,266,309**;21-MAR-94
 | 
|---|
 | 3 |  ;;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
 | 4 |  ;
 | 
|---|
 | 5 |  N IBX,IBY K ^TMP("IBATEE",$J)
 | 
|---|
 | 6 |  F IBX=0,4,5,6 S IBDATA(IBX)=$G(^IBAT(351.61,IBIEN,IBX))
 | 
|---|
 | 7 |  ;
 | 
|---|
 | 8 |  S IBY=""
 | 
|---|
 | 9 |  D SET("*** General Information ***",.IBY,26,27)
 | 
|---|
 | 10 |  D SETVALM(.VALMCNT,.IBY)
 | 
|---|
 | 11 |  D CNTRL^VALM10(VALMCNT,26,27,IOINHI,IOINORM)
 | 
|---|
 | 12 |  D SETVALM(.VALMCNT,"")
 | 
|---|
 | 13 |  ;
 | 
|---|
 | 14 |  D SET("Transaction Date:",.IBY,1,17)
 | 
|---|
 | 15 |  D SET($$DATE($P(IBDATA(0),"^",3)),.IBY,19,19)
 | 
|---|
 | 16 |  D SET("Event Date:",.IBY,48,11)
 | 
|---|
 | 17 |  D SET($$DATE($P(IBDATA(0),"^",4)),.IBY,60,20)
 | 
|---|
 | 18 |  D SETVALM(.VALMCNT,.IBY)
 | 
|---|
 | 19 |  ;
 | 
|---|
 | 20 |  D SET("Status:",.IBY,11,7)
 | 
|---|
 | 21 |  D SET($$EX^IBATUTL(351.61,.05,$P(IBDATA(0),"^",5)),.IBY,19,19)
 | 
|---|
 | 22 |  D SET("Priced Date:",.IBY,47,12)
 | 
|---|
 | 23 |  D SET($$DATE($P(IBDATA(0),"^",13)),.IBY,60,20)
 | 
|---|
 | 24 |  D SETVALM(.VALMCNT,.IBY)
 | 
|---|
 | 25 |  ;
 | 
|---|
 | 26 |  D SET("From Date:",.IBY,8,10)
 | 
|---|
 | 27 |  D SET($$DATE($P(IBDATA(0),"^",9)),.IBY,19,19)
 | 
|---|
 | 28 |  D SET("To Date:",.IBY,51,8)
 | 
|---|
 | 29 |  D SET($$DATE($P(IBDATA(0),"^",10)),.IBY,60,20)
 | 
|---|
 | 30 |  D SETVALM(.VALMCNT,.IBY)
 | 
|---|
 | 31 |  ;
 | 
|---|
 | 32 |  D SET("Facility:",.IBY,9,9)
 | 
|---|
 | 33 |  D SET($$EX^IBATUTL(351.61,.11,$P(IBDATA(0),"^",11)),.IBY,19,19)
 | 
|---|
 | 34 |  D SETVALM(.VALMCNT,.IBY),SETVALM(.VALMCNT,""),SETVALM(.VALMCNT,"")
 | 
|---|
 | 35 |  ;
 | 
|---|
 | 36 |  D SET("*** Workload/Pricing Detail ***",.IBY,24,31)
 | 
|---|
 | 37 |  D SETVALM(.VALMCNT,.IBY)
 | 
|---|
 | 38 |  D CNTRL^VALM10(VALMCNT,24,31,IOINHI,IOINORM)
 | 
|---|
 | 39 |  ;
 | 
|---|
 | 40 |  D @$S($P(IBDATA(0),"^",12)["DGPM(":"INPT",$P(IBDATA(0),"^",12)["SCE(":"OUT",$P(IBDATA(0),"^",12)["RMPR(":"RMPR",1:"RX")
 | 
|---|
 | 41 |  ;
 | 
|---|
 | 42 |  D SETVALM(.VALMCNT,"")
 | 
|---|
 | 43 |  D SET("*** Totals ***",.IBY,33,14)
 | 
|---|
 | 44 |  D SETVALM(.VALMCNT,.IBY)
 | 
|---|
 | 45 |  D CNTRL^VALM10(VALMCNT,26,28,IOINHI,IOINORM)
 | 
|---|
 | 46 |  D SETVALM(.VALMCNT,"")
 | 
|---|
 | 47 |  ;
 | 
|---|
 | 48 |  D SET("Bill Amount:",.IBY,6,18)
 | 
|---|
 | 49 |  D SET($FN($P(IBDATA(6),"^",2),"",2),.IBY,25,54)
 | 
|---|
 | 50 |  D SETVALM(.VALMCNT,.IBY)
 | 
|---|
 | 51 |  ;
 | 
|---|
 | 52 |  D SET("Patient Copay:",.IBY,6,14)
 | 
|---|
 | 53 |  S $P(IBDATA(6),"^",3)=$$COPAY^IBATUTL(DFN,$P(IBDATA(0),"^",12),$P(IBDATA(0),"^",9),$P(IBDATA(0),"^",10))
 | 
|---|
 | 54 |  D SET($FN($P(IBDATA(6),"^",3),"",2),.IBY,26,54)
 | 
|---|
 | 55 |  D SETVALM(.VALMCNT,.IBY)
 | 
|---|
 | 56 |  ;
 | 
|---|
 | 57 |  Q
 | 
|---|
 | 58 | INPT ; -- detail display for inpatient
 | 
|---|
 | 59 |  N IBDRG,VAIP
 | 
|---|
 | 60 |  ;
 | 
|---|
 | 61 |  S IBDRG=$G(^IBAT(351.61,IBIEN,1))
 | 
|---|
 | 62 |  ;
 | 
|---|
 | 63 |  S VAIP("E")=+$P(IBDATA(0),"^",12) D IN5^VADPT
 | 
|---|
 | 64 |  ;
 | 
|---|
 | 65 |  D SETVALM(.VALMCNT,"")
 | 
|---|
 | 66 |  D SET("Admission Date:",.IBY,3,15)
 | 
|---|
 | 67 |  D SET($P(VAIP(13,1),"^",2),.IBY,19,19)
 | 
|---|
 | 68 |  D SET("Discharge Date:",.IBY,44,15)
 | 
|---|
 | 69 |  D SET($P(VAIP(17,1),"^",2),.IBY,60,20)
 | 
|---|
 | 70 |  D SETVALM(.VALMCNT,.IBY)
 | 
|---|
 | 71 |  ;
 | 
|---|
 | 72 |  D SET("Ward Location:",.IBY,4,14)
 | 
|---|
 | 73 |  D SET($P(VAIP(5),"^",2),.IBY,19,19)
 | 
|---|
 | 74 |  D SET("Treating Specialty:",.IBY,40,19)
 | 
|---|
 | 75 |  D SET($P(VAIP(8),"^",2),.IBY,60,20)
 | 
|---|
 | 76 |  D SETVALM(.VALMCNT,.IBY)
 | 
|---|
 | 77 |  ;
 | 
|---|
 | 78 |  D SET("DRG:",.IBY,14,4)
 | 
|---|
 | 79 |  D SET($$EX^IBATUTL(351.61,1.01,$P(IBDRG,"^")),.IBY,19,19)
 | 
|---|
 | 80 |  D SET("DRG Charge:",.IBY,48,11)
 | 
|---|
 | 81 |  D SET($FN($P(IBDRG,"^",2),"",2),.IBY,60,20)
 | 
|---|
 | 82 |  D SETVALM(.VALMCNT,.IBY)
 | 
|---|
 | 83 |  ;
 | 
|---|
 | 84 |  D SET("Inpatient LOS:",.IBY,4,14)
 | 
|---|
 | 85 |  D SET(+$P(IBDRG,"^",3),.IBY,19,19)
 | 
|---|
 | 86 |  D SET("High Trim Days:",.IBY,44,15)
 | 
|---|
 | 87 |  D SET(+$P(IBDRG,"^",4),.IBY,60,20)
 | 
|---|
 | 88 |  D SETVALM(.VALMCNT,.IBY)
 | 
|---|
 | 89 |  ;
 | 
|---|
 | 90 |  D SET("Outlier Days:",.IBY,5,13)
 | 
|---|
 | 91 |  D SET(+$P(IBDRG,"^",5),.IBY,19,19)
 | 
|---|
 | 92 |  D SET("Outlier Rate:",.IBY,46,13)
 | 
|---|
 | 93 |  D SET($FN($P(IBDRG,"^",6),"",2),.IBY,60,20)
 | 
|---|
 | 94 |  D SETVALM(.VALMCNT,.IBY)
 | 
|---|
 | 95 |  Q
 | 
|---|
 | 96 | OUT ; -- detail display for outpatient
 | 
|---|
 | 97 |  N IBX,IBDXLIST,IBSCE,IBPROV,IBDATE
 | 
|---|
 | 98 |  ;
 | 
|---|
 | 99 |  D GETGEN^SDOE($P($P(IBDATA(0),"^",12),";"),"IBSCE")
 | 
|---|
 | 100 |  D GETPRV^SDOE($P($P(IBDATA(0),"^",12),";"),"IBPROV")
 | 
|---|
 | 101 |  ;
 | 
|---|
 | 102 |  D GETDX^SDOE($P($P(IBDATA(0),"^",12),";"),"IBDXLIST")
 | 
|---|
 | 103 |  S IBDATE=$P($G(IBDATA(0)),U,4) ; Event date
 | 
|---|
 | 104 |  D DX(.IBDXLIST,IBDATE)
 | 
|---|
 | 105 |  ;
 | 
|---|
 | 106 |  D SET("Procedure Information:",.IBY,1,22)
 | 
|---|
 | 107 |  D SETVALM(.VALMCNT,.IBY)
 | 
|---|
 | 108 |  D CNTRL^VALM10(VALMCNT,1,22,IOINHI,IOINORM)
 | 
|---|
 | 109 |  ;
 | 
|---|
 | 110 |  S IBX=0 F  S IBX=$O(^IBAT(351.61,IBIEN,3,IBX)) Q:IBX<1  D
 | 
|---|
 | 111 |  . S IBX(0)=$G(^IBAT(351.61,IBIEN,3,IBX,0))
 | 
|---|
 | 112 |  . S IBX(1)=$$PROC^IBATUTL($P(IBX(0),U),IBDATE)
 | 
|---|
 | 113 |  . ;
 | 
|---|
 | 114 |  . D SET(+IBX(1),.IBY,5,6)
 | 
|---|
 | 115 |  . D SET("-",.IBY,13,1)
 | 
|---|
 | 116 |  . D SET($P(IBX(1),"^",2),.IBY,15,40)
 | 
|---|
 | 117 |  . D SET(+$P(IBX(0),"^",2),.IBY,57,3)
 | 
|---|
 | 118 |  . D SET("x",.IBY,62,1)
 | 
|---|
 | 119 |  . D SET($FN($P(IBX(0),"^",3),"",2),.IBY,64,15)
 | 
|---|
 | 120 |  . D SETVALM(.VALMCNT,.IBY)
 | 
|---|
 | 121 |  D SETVALM(.VALMCNT,"")
 | 
|---|
 | 122 |  ;
 | 
|---|
 | 123 |  D SET("Visit Information:",.IBY,1,18)
 | 
|---|
 | 124 |  D SETVALM(.VALMCNT,.IBY)
 | 
|---|
 | 125 |  D CNTRL^VALM10(VALMCNT,1,22,IOINHI,IOINORM)
 | 
|---|
 | 126 |  ;
 | 
|---|
 | 127 |  D SET("Location:",.IBY,8,14)
 | 
|---|
 | 128 |  D SET($P(^SC(+$P(IBSCE(0),"^",4),0),"^"),.IBY,19,46) ; dbia 10040
 | 
|---|
 | 129 |  D SETVALM(.VALMCNT,.IBY)
 | 
|---|
 | 130 |  ;
 | 
|---|
 | 131 |  D SETVALM(.VALMCNT,"")
 | 
|---|
 | 132 |  D SET("Provider(s):",.IBY,5,17)
 | 
|---|
 | 133 |  S IBX=0 F  S IBX=$O(IBPROV(IBX)) Q:IBX<.5  D
 | 
|---|
 | 134 |  . D SET($$GET1^DIQ(200,+IBPROV(IBX),.01),.IBY,19,49) ; dbia 10060
 | 
|---|
 | 135 |  . D SETVALM(.VALMCNT,.IBY)
 | 
|---|
 | 136 |  ;
 | 
|---|
 | 137 |  Q
 | 
|---|
 | 138 | RX ; -- detail display for rx
 | 
|---|
 | 139 |  D SET("Drug:",.IBY,5,5)
 | 
|---|
 | 140 |  D ZERO^IBRXUTL(+IBDATA(4))
 | 
|---|
 | 141 |  D SET(^TMP($J,"IBDRUG",+IBDATA(4),.01),.IBY,12,40) ; dbia 4533
 | 
|---|
 | 142 |  D SET(+$P(IBDATA(4),"^",2),.IBY,55,3)
 | 
|---|
 | 143 |  D SET("x",.IBY,60,1)
 | 
|---|
 | 144 |  D SET($FN($P(IBDATA(4),"^",3),"",3),.IBY,62,15)
 | 
|---|
 | 145 |  D SETVALM(.VALMCNT,.IBY)
 | 
|---|
 | 146 |  D SETVALM(.VALMCNT,"")
 | 
|---|
 | 147 |  K ^TMP($J,"IBDRUG")
 | 
|---|
 | 148 |  Q
 | 
|---|
 | 149 | RMPR ; -- detail display for prosthetic
 | 
|---|
 | 150 |  D SETVALM(.VALMCNT,"")
 | 
|---|
 | 151 |  D SET("Prosthetic Item:",.IBY,5,16)
 | 
|---|
 | 152 |  D SET($$GET1^DIQ(661,$P(IBDATA(4),"^",4),.01),.IBY,12,40) ; dbia 374
 | 
|---|
 | 153 |  D SET($FN($P(IBDATA(4),"^",5),",",2),.IBY,55,15)
 | 
|---|
 | 154 |  D SETVALM(.VALMCNT,.IBY)
 | 
|---|
 | 155 |  D SETVALM(.VALMCNT,"")
 | 
|---|
 | 156 |  Q
 | 
|---|
 | 157 | DX(IBDX,IBDATE) ; -- diagnosis info
 | 
|---|
 | 158 |  N IBX
 | 
|---|
 | 159 |  ;
 | 
|---|
 | 160 |  D SETVALM(.VALMCNT,"")
 | 
|---|
 | 161 |  D SET("Diagnosis Information:",.IBY,1,22)
 | 
|---|
 | 162 |  D SETVALM(.VALMCNT,.IBY)
 | 
|---|
 | 163 |  D CNTRL^VALM10(VALMCNT,1,22,IOINHI,IOINORM)
 | 
|---|
 | 164 |  ;
 | 
|---|
 | 165 |  S IBX=0 F  S IBX=$O(IBDX(IBX)) Q:IBX<1  D
 | 
|---|
 | 166 |  . S IBX(0)=$$ICD9^IBACSV(+IBDX(IBX),$G(IBDATE))
 | 
|---|
 | 167 |  . ;
 | 
|---|
 | 168 |  . D SET($P(IBX(0),"^"),.IBY,5,7)
 | 
|---|
 | 169 |  . D SET("-",.IBY,14,1)
 | 
|---|
 | 170 |  . D SET($P(IBX(0),"^",3),.IBY,16,30)
 | 
|---|
 | 171 |  . D SETVALM(.VALMCNT,.IBY)
 | 
|---|
 | 172 |  D SETVALM(.VALMCNT,"")
 | 
|---|
 | 173 |  Q
 | 
|---|
 | 174 | SET(TEXT,STRING,COL,LENGTH) ; -- set up string with valm1
 | 
|---|
 | 175 |  S STRING=$$SETSTR^VALM1($$LOWER^VALM1(TEXT),STRING,COL,LENGTH)
 | 
|---|
 | 176 |  Q
 | 
|---|
 | 177 | SETVALM(LINE,TEXT) ; -- sets line for display
 | 
|---|
 | 178 |  S LINE=LINE+1
 | 
|---|
 | 179 |  S ^TMP("IBATEE",$J,LINE,0)=TEXT
 | 
|---|
 | 180 |  S TEXT=""
 | 
|---|
 | 181 |  Q
 | 
|---|
 | 182 | DATE(X) ; -- returns date for display
 | 
|---|
 | 183 |  Q $$FMTE^XLFDT(X,"5D")
 | 
|---|