[613] | 1 | IBY371PO ;ALB/WCJ - Post Install for IB patch 371 ;17-APR-2007
|
---|
| 2 | ;;2.0;INTEGRATED BILLING;**371**;21-MAR-94;Build 57
|
---|
| 3 | ;
|
---|
| 4 | EN ;
|
---|
| 5 | N XPDIDTOT S XPDIDTOT=5
|
---|
| 6 | D RIT ; 1. Recompile input templates
|
---|
| 7 | D CUINS ; 2. Clean up duplicate insurance address lines
|
---|
| 8 | D MEDWNR ; 3. Pre-populate Medicare WNR with professional payer ID 2U and station number
|
---|
| 9 | D VCHELP ; 4. Add help text to Value Codes and Deactivate some value codes.
|
---|
| 10 | D NEWXREF ; 5. Add NEW STYLE XREF to Value Code Subfile in 399.047
|
---|
| 11 | EX ;
|
---|
| 12 | Q
|
---|
| 13 | ;
|
---|
| 14 | RIT ; Recompile input templates for billing screens
|
---|
| 15 | NEW X,Y,DMAX
|
---|
| 16 | D BMES^XPDUTL(" STEP 1 of "_XPDIDTOT)
|
---|
| 17 | D MES^XPDUTL("-------------")
|
---|
| 18 | D MES^XPDUTL("Recompiling Input Templates for Billing Screens 3 through 7 ....")
|
---|
| 19 | S X="IBXSC3",Y=$$FIND1^DIC(.402,,"X","IB SCREEN3","B"),DMAX=8000
|
---|
| 20 | I Y D EN^DIEZ
|
---|
| 21 | S X="IBXSC4",Y=$$FIND1^DIC(.402,,"X","IB SCREEN4","B"),DMAX=8000
|
---|
| 22 | I Y D EN^DIEZ
|
---|
| 23 | S X="IBXSC5",Y=$$FIND1^DIC(.402,,"X","IB SCREEN5","B"),DMAX=8000
|
---|
| 24 | I Y D EN^DIEZ
|
---|
| 25 | S X="IBXSC6",Y=$$FIND1^DIC(.402,,"X","IB SCREEN6","B"),DMAX=8000
|
---|
| 26 | I Y D EN^DIEZ
|
---|
| 27 | S X="IBXSC7",Y=$$FIND1^DIC(.402,,"X","IB SCREEN7","B"),DMAX=8000
|
---|
| 28 | I Y D EN^DIEZ
|
---|
| 29 | RITX ;
|
---|
| 30 | D MES^XPDUTL(" Done.")
|
---|
| 31 | D UPDATE^XPDID(1)
|
---|
| 32 | Q
|
---|
| 33 | ;
|
---|
| 34 | CUINS ; Clean up Insurance company address line duplicates
|
---|
| 35 | ;
|
---|
| 36 | D BMES^XPDUTL(" STEP 2 of "_XPDIDTOT)
|
---|
| 37 | D MES^XPDUTL("-------------")
|
---|
| 38 | D MES^XPDUTL("Removing duplicate address lines in insurance company file")
|
---|
| 39 | ;
|
---|
| 40 | N INSCO,ADDLOC,I,FIELD,VALUE
|
---|
| 41 | S INSCO=0 F S INSCO=$O(^DIC(36,INSCO)) Q:'+INSCO D
|
---|
| 42 | . F ADDLOC=.11,.12,.14,.15,.16,.18 D
|
---|
| 43 | .. N ADDRESS
|
---|
| 44 | .. F I=1:1:3 D
|
---|
| 45 | ... S FIELD=ADDLOC_I
|
---|
| 46 | ... S ADDRESS(I)=$$UP^XLFSTR($$GET1^DIQ(36,INSCO,FIELD))
|
---|
| 47 | ... D CLEAN^DILF
|
---|
| 48 | .. ;
|
---|
| 49 | .. I ADDRESS(3)]"",ADDRESS(3)=ADDRESS(2)!(ADDRESS(3)=ADDRESS(1)) D
|
---|
| 50 | ... S VALUE="@",FIELD=ADDLOC_3
|
---|
| 51 | ... D POPULATE(INSCO,FIELD,VALUE)
|
---|
| 52 | ... S ADDRESS(3)=""
|
---|
| 53 | .. ;
|
---|
| 54 | .. I ADDRESS(2)]"",ADDRESS(2)=ADDRESS(1) D
|
---|
| 55 | ... S FIELD=ADDLOC_2
|
---|
| 56 | ... S VALUE=$S(ADDRESS(3)="":"@",1:ADDRESS(3))
|
---|
| 57 | ... D POPULATE(INSCO,FIELD,VALUE)
|
---|
| 58 | ;
|
---|
| 59 | CUINSX ;
|
---|
| 60 | D MES^XPDUTL(" Done.")
|
---|
| 61 | D UPDATE^XPDID(2)
|
---|
| 62 | Q
|
---|
| 63 | ;
|
---|
| 64 | POPULATE(INSCO,FLD,VAL) ;
|
---|
| 65 | N X,Y,DA,DIE,DR
|
---|
| 66 | S DA=INSCO
|
---|
| 67 | S DIE=36
|
---|
| 68 | S DR=FLD_"////"_VAL
|
---|
| 69 | D ^DIE
|
---|
| 70 | Q
|
---|
| 71 | ;
|
---|
| 72 | MEDWNR ; Prepopulate Medicare WNR with professional payer ID 2U and station number
|
---|
| 73 | ;
|
---|
| 74 | D BMES^XPDUTL(" STEP 3 of "_XPDIDTOT)
|
---|
| 75 | D MES^XPDUTL("-------------")
|
---|
| 76 | D MES^XPDUTL("Prepopulate Medicare WNR with professional payer ID")
|
---|
| 77 | ;
|
---|
| 78 | N INSCO,SITE
|
---|
| 79 | S SITE="VA"_$P($$SITE^VASITE,U,3)
|
---|
| 80 | S INSCO=0 F S INSCO=$O(^DIC(36,"B","MEDICARE (WNR)",INSCO)) Q:'+INSCO D
|
---|
| 81 | . N X,Y,DA,DIE,DR
|
---|
| 82 | . S DA=INSCO
|
---|
| 83 | . S DIE=36
|
---|
| 84 | . S DR="6.05////2U;6.06////"_SITE
|
---|
| 85 | . D ^DIE
|
---|
| 86 | MEDWNRX ;
|
---|
| 87 | D MES^XPDUTL(" Done.")
|
---|
| 88 | D UPDATE^XPDID(3)
|
---|
| 89 | Q
|
---|
| 90 | ;
|
---|
| 91 | VCHELP ;
|
---|
| 92 | ;
|
---|
| 93 | D BMES^XPDUTL(" STEP 4 of "_XPDIDTOT)
|
---|
| 94 | D MES^XPDUTL("-------------")
|
---|
| 95 | D MES^XPDUTL("Add help text and obsolete date to value codes")
|
---|
| 96 | ;
|
---|
| 97 | N VC
|
---|
| 98 | S VC("45",1)="Enter the hour when the accident occurred that caused"
|
---|
| 99 | S VC("45",2)="the need for medical treatment. "
|
---|
| 100 | S VC("45",3)=" "
|
---|
| 101 | S VC("45",4)="Enter correct code."
|
---|
| 102 | S VC("45",5)="00 12:00-12:59 (Midnight)"
|
---|
| 103 | S VC("45",6)="01 01:00-01:59 AM"
|
---|
| 104 | S VC("45",7)="02 02:00-02:59 AM"
|
---|
| 105 | S VC("45",8)="03 03:00-03:59 AM"
|
---|
| 106 | S VC("45",9)="04 04:00-04:59 AM"
|
---|
| 107 | S VC("45",10)="05 05:00-05:59 AM"
|
---|
| 108 | S VC("45",11)="06 06:00-06:59 AM"
|
---|
| 109 | S VC("45",12)="07 07:00-07:59 AM"
|
---|
| 110 | S VC("45",13)="08 08:00-08:59 AM"
|
---|
| 111 | S VC("45",14)="09 09:00-09:59 AM"
|
---|
| 112 | S VC("45",15)="10 10:00-10:59 AM"
|
---|
| 113 | S VC("45",16)="11 11:00-11:59 AM"
|
---|
| 114 | S VC("45",17)="12 12:00-12:59 (Noon)"
|
---|
| 115 | S VC("45",18)="13 01:00-01:59 PM"
|
---|
| 116 | S VC("45",19)="14 02:00-02:59 PM"
|
---|
| 117 | S VC("45",20)="15 03:00-03:59 PM"
|
---|
| 118 | S VC("45",21)="16 04:00-04:59 PM"
|
---|
| 119 | S VC("45",22)="17 05:00-05:59 PM"
|
---|
| 120 | S VC("45",23)="18 06:00-06:59 PM"
|
---|
| 121 | S VC("45",24)="19 07:00-07:59 PM"
|
---|
| 122 | S VC("45",25)="20 08:00-08:59 PM"
|
---|
| 123 | S VC("45",26)="21 09:00-09:59 PM"
|
---|
| 124 | S VC("45",27)="22 10:00-10:59 PM"
|
---|
| 125 | S VC("45",28)="23 11:00-11:59 PM"
|
---|
| 126 | S VC("45",29)="99 Unknown"
|
---|
| 127 | S VC("24",1)="Medicaid-eligibility requirements to be determined at state level."
|
---|
| 128 | S VC("37",1)="Enter the total number of pints of whole blood or"
|
---|
| 129 | S VC("37",2)="units of packed red cells furnished to the patient."
|
---|
| 130 | S VC("38",1)="Enter the total number of pints of whole blood or"
|
---|
| 131 | S VC("38",2)="units of packed red cells furnished to the patient."
|
---|
| 132 | S VC("46",1)="Enter the number of days determined by the QIO (medical"
|
---|
| 133 | S VC("46",2)="necessity reviewer) as needed to arrange for post-discharge"
|
---|
| 134 | S VC("46",3)="care."
|
---|
| 135 | S VC("48",1)="Enter the most recent hemoglobin reading taken before"
|
---|
| 136 | S VC("48",2)="the start of this billing period."
|
---|
| 137 | S VC("48",3)="Enter it in the format XX.X."
|
---|
| 138 | S VC("49",1)="Enter the most recent hematocrit reading taken before"
|
---|
| 139 | S VC("49",2)="the start of this billing period."
|
---|
| 140 | S VC("49",3)="Enter it in the format XX.X."
|
---|
| 141 | S VC("50",1)="Enter the number of physical therapy visits provided"
|
---|
| 142 | S VC("50",2)="from the onset of treatment by this billing provider"
|
---|
| 143 | S VC("50",3)="through this billing period."
|
---|
| 144 | S VC("51",1)="Enter the number of occupational therapy visits provided"
|
---|
| 145 | S VC("51",2)="from the onset of treatment by this billing provider"
|
---|
| 146 | S VC("51",3)="through this billing period."
|
---|
| 147 | S VC("52",1)="Enter the number of speech therapy visits provided"
|
---|
| 148 | S VC("52",2)="from the onset of treatment by this billing provider"
|
---|
| 149 | S VC("52",3)="through this billing period."
|
---|
| 150 | S VC("53",1)="Enter the number of cardiac rehabilitation visits provided"
|
---|
| 151 | S VC("53",2)="from the onset of treatment by this billing provider"
|
---|
| 152 | S VC("53",3)="through this billing period."
|
---|
| 153 | S VC("56",1)="Enter the number of home visit hours of skilled"
|
---|
| 154 | S VC("56",2)="nursing provided during the billing period. Do"
|
---|
| 155 | S VC("56",3)="not include travel time. Enter whole hours."
|
---|
| 156 | S VC("57",1)="Enter the number of home health aide hours of service"
|
---|
| 157 | S VC("57",2)="provided during the billing period. Do"
|
---|
| 158 | S VC("57",3)="not include travel time. Enter whole hours."
|
---|
| 159 | S VC("58",1)="Enter arterial blood gas value at the beginning of "
|
---|
| 160 | S VC("58",2)="each reporting period for oxygen therapy. Code 58 "
|
---|
| 161 | S VC("58",3)="or 59 required on the initial bill and the fourth "
|
---|
| 162 | S VC("58",4)="month's bill. Enter the nearest whole number "
|
---|
| 163 | S VC("58",5)="(Example: 56.5 is entered as 57.)"
|
---|
| 164 | S VC("59",1)="Enter oxygen saturation value at the beginning of "
|
---|
| 165 | S VC("59",2)="each reporting period for oxygen therapy. Code 58 "
|
---|
| 166 | S VC("59",3)="or 59 required on the initial bill and the fourth "
|
---|
| 167 | S VC("59",4)="month's bill. Enter the nearest whole percent "
|
---|
| 168 | S VC("59",5)="(Example: 93.5 is entered as 94.)"
|
---|
| 169 | S VC("60",1)="Enter the MSA number in which the HHA branch is located "
|
---|
| 170 | S VC("60",2)="when the MSA's branch location is different than the "
|
---|
| 171 | S VC("60",3)="HHA's. "
|
---|
| 172 | S VC("68",1)="Enter the number of units of EPO administered and/or"
|
---|
| 173 | S VC("68",2)="supplied related to this billing period. Enter amount"
|
---|
| 174 | S VC("68",3)="in whole units."
|
---|
| 175 | S VC("39",1)="Enter the total number of pints of whole blood or"
|
---|
| 176 | S VC("39",2)="units of packed red cells furnished to the patient."
|
---|
| 177 | S VC("61",1)="Enter MSA or Core Based Statistical Area (CBSA)"
|
---|
| 178 | S VC("61",2)="number (or rural state code) of the location"
|
---|
| 179 | S VC("61",3)="where the home health or hospice service was "
|
---|
| 180 | S VC("61",4)="delivered. Do not include travel time. Enter a "
|
---|
| 181 | S VC("61",5)="whole number rounded to the nearest whole hour."
|
---|
| 182 | S VC("67",1)="Enter the number of hours of peritoneal dialysis"
|
---|
| 183 | S VC("67",2)="provided during the billing period. "
|
---|
| 184 | S VC("A0",1)="Enter the 5 digit ZIP Code of the location at which "
|
---|
| 185 | S VC("A0",2)="the beneficiary is initially placed on board the"
|
---|
| 186 | S VC("A0",3)="ambulance."
|
---|
| 187 | ; defaults
|
---|
| 188 | S VC("AMT",1)="Enter a monetary amount associated with this value code."
|
---|
| 189 | S VC("AMT",2)="Enter it in the format of dollars and cents (00.00)."
|
---|
| 190 | S VC("AMT",3)=" "
|
---|
| 191 | S VC("AMT",4)="If you enter only dollars (00), the system will add on .00 cents."
|
---|
| 192 | S VC("AMT",5)="Maximum length INCLUDING the cents, is 9 numbers."
|
---|
| 193 | ;
|
---|
| 194 | N DA,CODE,DAT,AMTFLG
|
---|
| 195 | S DA=0 F S DA=$O(^DGCR(399.1,DA)) Q:DA="" D
|
---|
| 196 | . N HLPTXT,FDA
|
---|
| 197 | . S DAT=$G(^(DA,0))
|
---|
| 198 | . Q:'$P(DAT,U,11) ; not a value code
|
---|
| 199 | . S CODE=$P(DAT,U,2)
|
---|
| 200 | . Q:CODE=""
|
---|
| 201 | . I ".E1.E2.E3.F1.F2.F3.G1.G2.G3."[("."_CODE_".") S FDA(399.1,DA_",",.26)=3070301
|
---|
| 202 | . S AMTFLG=0
|
---|
| 203 | . I '$D(VC(CODE)) S CODE="AMT",AMTFLG=1
|
---|
| 204 | . M HLPTXT=VC(CODE)
|
---|
| 205 | . S FDA(399.1,DA_",",1)="HLPTXT"
|
---|
| 206 | . S FDA(399.1,DA_",",.19)=$S(AMTFLG:1,1:0)
|
---|
| 207 | . S FDA="FDA"
|
---|
| 208 | . D FILE^DIE("",FDA)
|
---|
| 209 | ;
|
---|
| 210 | VCHELPX ;
|
---|
| 211 | D MES^XPDUTL(" Done.")
|
---|
| 212 | D UPDATE^XPDID(4)
|
---|
| 213 | Q
|
---|
| 214 | ;
|
---|
| 215 | NEWXREF ;
|
---|
| 216 | ;
|
---|
| 217 | D BMES^XPDUTL(" STEP 5 of "_XPDIDTOT)
|
---|
| 218 | D MES^XPDUTL("-------------")
|
---|
| 219 | D MES^XPDUTL("Adding new style cross reference")
|
---|
| 220 | ;
|
---|
| 221 | N ZZWJXR,ZZWJRES,ZZWJOUT
|
---|
| 222 | S ZZWJXR("FILE")=399.047
|
---|
| 223 | S ZZWJXR("NAME")="AC"
|
---|
| 224 | S ZZWJXR("TYPE")="MU"
|
---|
| 225 | S ZZWJXR("USE")="A"
|
---|
| 226 | S ZZWJXR("EXECUTION")="F"
|
---|
| 227 | S ZZWJXR("ACTIVITY")=""
|
---|
| 228 | S ZZWJXR("SHORT DESCR")="VALUE field clean up"
|
---|
| 229 | S ZZWJXR("DESCR",1)="If the VALUE CODE field is modified, make sure the VALUE field associated"
|
---|
| 230 | S ZZWJXR("DESCR",2)="with it is still VALID. If not, delete the VALUE."
|
---|
| 231 | S ZZWJXR("SET")="D REMOVE^IBCVC(.DA)"
|
---|
| 232 | S ZZWJXR("KILL")="Q"
|
---|
| 233 | S ZZWJXR("SET CONDITION")="S X=$$COND^IBCVC(.DA,X1(1),X2(1))"
|
---|
| 234 | S ZZWJXR("VAL",1)=.01
|
---|
| 235 | S ZZWJXR("VAL",1,"COLLATION")="F"
|
---|
| 236 | D CREIXN^DDMOD(.ZZWJXR,"",.ZZWJRES,"ZZWJOUT")
|
---|
| 237 | ;
|
---|
| 238 | NEWXREFX ;
|
---|
| 239 | D MES^XPDUTL(" Done.")
|
---|
| 240 | D UPDATE^XPDID(5)
|
---|
| 241 | Q
|
---|