188 lines
8.8 KiB
Mathematica
188 lines
8.8 KiB
Mathematica
IBY232PR ;ALB/TMK - IB*2*232 PRE-INSTALL ;12-AUG-03
|
|
;;2.0;INTEGRATED BILLING;**232**;21-MAR-94
|
|
;
|
|
N DIC,DIK,DA,Y,X,IBY
|
|
D BMES^XPDUTL("Pre-Installation Updates")
|
|
;
|
|
COPY ; BUILD SWITCH BACK GLOBAL TO CHANGE BACK TO OLD FORMAT
|
|
;
|
|
; ^XTMP("P232",DIR,INC,NODE,...
|
|
; DIR = ONLY 1 NOW
|
|
; INC = INCREMENT OF INSTALL
|
|
;
|
|
; D PRECOPY^IBY232PO
|
|
;
|
|
; Delete local ov-rides
|
|
D BMES^XPDUTL("Removing local fields that reference changed EDI fields")
|
|
D DELLOC^IBY232PO
|
|
; Chk for MCH domain
|
|
D BMES^XPDUTL("CHECKING FOR REQUIRED DOMAIN")
|
|
I $$PROD^IBCORC D Q:$G(XPDABORT)
|
|
. S X="Q-MCH.VA.GOV",DIC="^DIC(4.2,",DIC(0)="Z" D ^DIC ; DBIA 3779
|
|
. M IBY=Y
|
|
. I IBY>0 D
|
|
.. S X="`"_$P(IBY(0),U,3),DIC="^DIC(4.2,",DIC(0)="Z" D ^DIC
|
|
.. S $P(IBY(0),U,3)=$P(Y,U,2)
|
|
. I $S(IBY'>0:1,1:$P(IBY(0),U,2)'="S"!($P(IBY(0),U,3)'="FOC-AUSTIN.VA.GOV")) D
|
|
.. D BMES^XPDUTL("Q-MCH.VA.GOV DOMAIN MISSING/INVALID - ADD/CORRECT ENTRY AND RESTART INSTALL")
|
|
.. D BMES^XPDUTL("REFERENCE MAILMAN PATCH XM*DBA*162 FOR ENTRY SET UP DETAILS")
|
|
.. S XPDABORT=1
|
|
;
|
|
; REMOVE OLD ENTRIES WE CHANGED TO PREVENT REPLICATION
|
|
N IB01,TAG,Z1,LVL,DIK,DIE,DR,DA,X,Y
|
|
S IB01="N-ALL CUR/OTH PROVIDER INFO"
|
|
I $P($G(^IBA(364.5,312,0)),U)'=IB01 S DA=312,DIE="^IBA(364.5,",DR=".01////^S X=IB01" D ^DIE
|
|
I '$D(^IBA(364.6,"ASEQ",8,177,1,10)) D
|
|
. N Z,Z0,DA,DIE,DR,DIK,X,Y
|
|
. I $O(^IBA(364.6,"ASEQ",8,177,1,1.9,0)) S Z0=+$O(^(0)) D
|
|
.. I $O(^IBA(364.7,"B",Z0,0)) S DA=+$O(^(0)),DIK="^IBA(364.7," D ^DIK
|
|
.. S DA=Z0,DIK="^IBA(364.6," D ^DIK
|
|
. S Z="" F S Z=$O(^IBA(364.6,"ASEQ",8,177,1,Z),-1) Q:Z<2 S DA=+$O(^IBA(364.6,"ASEQ",8,177,1,Z,0)) I DA S DIE="^IBA(364.6,",DR=".08////"_(Z+1) D ^DIE D
|
|
.. S Z0=+$O(^IBA(364.7,"B",DA,0)) I Z0 S DIE="^IBA(364.7,",DA=+Z0,DR=".03////312" D ^DIE
|
|
;
|
|
;DELETE 364.X ENTRIES IN BLD
|
|
N LVL
|
|
F LVL=5:1:7 D
|
|
. F Z=2:1 S TAG="ENT"_LVL_"+"_Z Q:$P($T(@TAG),";;",2)="" D
|
|
. . S Z0=$P($T(@TAG),";;",2) D
|
|
. . . F Z1=2:1:$L(Z0,U)-1 D
|
|
. . . . S DA=$P(Z0,U,Z1)
|
|
. . . . S DIK="^IBA(364."_LVL_","
|
|
. . . . I DA,$D(^IBA("364."_LVL,DA,0)) D ^DIK
|
|
;
|
|
N DIK,DA,DIE,DR,X,Y,FILE,Z,CT,IBINS
|
|
D BMES^XPDUTL("Prepare entries in file 364.5 for changes")
|
|
I $D(^IBA(364.5,269)) S DIK="^IBA(364.5,",DA=269 D ^DIK
|
|
D BMES^XPDUTL("Prepare entries in file 364.6 for changes")
|
|
I $D(^IBA(364.6,94,0)) S DIE="^IBA(364.6,",DA=94,DR=".1////DIAGNOSIS CODE 1" D ^DIE
|
|
;
|
|
D BMES^XPDUTL("Delete entry IB315 from IB ERROR file")
|
|
S X="IB315",DIC(0)="",DIC="^IBE(350.8," D ^DIC
|
|
I Y>0 S DA=+Y,DIK="^IBE(350.8," D ^DIK
|
|
D BMES^XPDUTL("Delete old cross references and data for fields changed in file 36")
|
|
I '$$FLDNUM^DILFD(36,"DELETE 2006 4.04") D ; Only do this on initial install
|
|
. S Z=0 F S Z=$O(^DIC(36,Z)) Q:'Z S DR="4.01///@;4.02///@;4.03///@;4.04///@;4.05///@;4.06///@;4.07///@;4.08///@;4.1///@;4.11///@",DIE="^DIC(36,",DA=Z D ^DIE
|
|
. ;
|
|
. F DA=4.01,4.02,4.03 S DIK="^DD(36,",DA(1)=36 I $$VFIELD^DILFD(36,DA) D ^DIK
|
|
;
|
|
D BMES^XPDUTL("Delete fields that were modified by this patch in file 399")
|
|
S DA=232,DIK="^DD(399,",DA(1)=399 I $$VFIELD^DILFD(399,232) D ^DIK
|
|
F DA=.02,.05,.06,.07,.09,.1,.11,.12,.13,.14,1.01,1.02,1.03 S DIK="^DD(399.0222,",DA(1)=399.0222 I $$VFIELD^DILFD(399.0222,DA) D ^DIK
|
|
D BMES^XPDUTL("Delete ids for deleted insurance companies")
|
|
S CT=0 F FILE=355.9,355.91 S Z=0 F S Z=$O(^IBA(FILE,Z)) Q:'Z S IBINS=+$P($G(^(Z,0)),U,$S(FILE[".91":1,1:2)) I IBINS,$G(^DIC(36,IBINS,0))="" S DIK="^IBA("_FILE_",",DA=Z D ^DIK S CT=CT+1
|
|
F FILE=355.95,355.96 S Z=0 F S Z=$O(^IBA(FILE,Z)) Q:'Z S IBINS=+$P($G(^(Z,0)),U,3) I IBINS,$G(^DIC(36,IBINS,0))="" S DIK="^IBA("_FILE_",",DA=Z D ^DIK S CT=CT+1
|
|
I CT D BMES^XPDUTL(CT_" IDs deleted for deleted insurance companies")
|
|
;
|
|
355 ;PUT PROPER MODIFIER INTO PC 3 OF ^IBE(355.97
|
|
;
|
|
N X,INS
|
|
S X=0
|
|
F S X=$O(^IBE(355.97,X)) Q:+X=0 D
|
|
. Q:'$D(^IBE(355.97,X,0))
|
|
. S INS=$P(^IBE(355.97,X,0),"^",1)
|
|
. Q:INS=""
|
|
. I INS["CROSS" S $P(^IBE(355.97,X,0),"^",3)="1A"
|
|
. I INS["SHIELD" S $P(^IBE(355.97,X,0),"^",3)="1B"
|
|
. I INS["CHAMPUS" S $P(^IBE(355.97,X,0),"^",3)="1H",DA=X,DR=".01////TRICARE ID",DIE="^IBE(355.97," D ^DIE
|
|
. I INS["COMMER" S $P(^IBE(355.97,X,0),"^",3)="G2"
|
|
. I INS["CLIA" S $P(^IBE(355.97,X,0),"^",3)="X4"
|
|
. I INS["MEDICARE" S $P(^IBE(355.97,X,0),"^",3)="1C"
|
|
. I INS["TAX" S $P(^IBE(355.97,X,0),"^",3)="24"
|
|
. I INS["NETWORK" S $P(^IBE(355.97,X,0),"^",3)="N5"
|
|
. I INS["UPIN" S $P(^IBE(355.97,X,0),"^",3)="1G",$P(^(0),U,2)=0
|
|
. I INS["PPO" S $P(^IBE(355.97,X,0),"^",3)="B3"
|
|
. I INS["HMO" S $P(^IBE(355.97,X,0),"^",3)="BQ"
|
|
. I INS["SOCIAL" S $P(^IBE(355.97,X,0),"^",3)="SY"
|
|
. I INS["STATE" S $P(^IBE(355.97,X,0),"^",3)="0B"
|
|
;
|
|
D END
|
|
Q
|
|
;
|
|
INCLUDE(FILE,Y) ;CODE TO DECIDE WHICH FILE ENTRIES CAN BE INCLUDED IN BUILD
|
|
;FILE = FILE LIST WE SHOULD USE 5=364.5,6=364.6,7=364.7, Y = GLOBAL IEN
|
|
;
|
|
N IBOUT,Z,Z0,LINE,TAG
|
|
I Y>9999 S IBOUT=0 G INCQ1
|
|
F LINE=2:1 S TAG="ENT"_FILE_"+"_LINE Q:$P($T(@TAG),";;",2)="" I $P($T(@TAG),";;",2)[(U_+Y_U) S IBOUT=1 Q
|
|
INCQ1 Q +$G(IBOUT)
|
|
;
|
|
ENT5 ;ENTRIES IN 364.5 WE NEED
|
|
;
|
|
;;^101^218^234^268^269^271^272^298^299^300^301^303^304^305^306^307^308^309^310^311^312^313^314^315^316^317^318^
|
|
;;
|
|
;
|
|
ENT6 ;ENTRIES IN 364.6 WE NEED
|
|
;
|
|
;;^1^3^5^8^19^22^26^28^30^31^33^35^36^41^42^44^51^52^53^92^112^113^114^
|
|
;;^115^116^117^118^119^120^121^122^123^124^125^126^127^128^129^130^131^
|
|
;;^132^133^134^135^136^137^138^156^168^169^175^177^178^179^180^181^182^
|
|
;;^184^185^186^187^188^192^194^196^210^251^252^253^479^483^488^579^580^
|
|
;;^581^610^792^793^794^859^860^861^862^863^864^865^866^867^868^869^
|
|
;;^870^871^872^873^874^875^876^877^878^879^880^881^882^883^885^907^908^
|
|
;;^909^910^911^912^913^914^915^916^917^918^919^920^921^935^936^937^938^
|
|
;;^939^940^941^942^943^944^945^946^947^948^949^950^958^960^968^951^973^
|
|
;;^974^975^976^977^978^979^980^981^982^983^984^985^986^989^990^991^992^
|
|
;;^993^994^1004^1006^1007^1009^1010^1011^1012^1013^1014^1015^1016^1017^
|
|
;;^1018^1019^
|
|
;;^1020^1021^1022^1023^1024^1025^1026^1027^1028^1029^1030^1031^1032^
|
|
;;^1033^1034^1035^1036^1037^1038^1039^1040^1041^1042^1043^1044^1045^
|
|
;;^1046^1047^1048^1049^1050^1056^1057^1058^1059^1060^1061^1062^1063^
|
|
;;^1065^1066^1067^1068^1069^1071^1072^1073^1074^1075^1076^1077^1078^
|
|
;;^1080^1081^1082^1083^1084^1085^1086^1087^1088^1089^1090^1091^1092^
|
|
;;^1094^1095^1096^1097^1098^1099^1100^1101^1102^1103^1104^1106^1107^
|
|
;;^1108^1110^1111^1112^1113^1114^1115^1116^1117^1118^1119^1120^1121^
|
|
;;^1122^1123^1124^1126^1127^1128^1129^1130^1131^1132^1133^1134^1135^
|
|
;;^1136^1137^1138^1139^1140^1141^1142^1143^1144^1145^1146^
|
|
;;^1147^1148^1150^1151^1152^1153^1154^1155^1156^1157^1158^1159^1160^
|
|
;;^1161^1162^1163^1164^1165^1166^1167^1168^1169^1170^1171^1172^1173^
|
|
;;^1174^1175^1176^1177^1178^1179^1180^1181^1182^1183^1184^1185^1186^
|
|
;;^1187^1188^1189^1190^1191^1192^1194^1195^1196^1197^1198^1199^1200^
|
|
;;^1201^1202^1203^1204^1205^1206^1207^1209^1210^1211^1212^1213^1214^
|
|
;;^1215^1216^1217^1218^1219^1220^1221^1222^1223^1224^1225^1226^1227^
|
|
;;^1228^1229^1230^1231^1232^1233^1234^1235^1236^1237^1238^1239^1240^
|
|
;;^1241^1242^1243^1244^1245^1246^1247^1248^1249^1250^1251^1252^1253^
|
|
;;^1254^1255^1256^1257^1258^1259^1260^1261^1262^1263^1277^1278^1279^
|
|
;;^1280^1281^1282^1283^1284^1285^1286^1287^1288^1289^1290^1291^1292^
|
|
;;^1293^1294^1295^1296^1297^1298^1299^1300^1301^1302^1303^1304^1305^
|
|
;;^1306^1308^1309^1310^1311^1312^1313^1314^1315^1316^1317^1318^1319^
|
|
;;^1320^
|
|
;;
|
|
;
|
|
ENT7 ;ENTRIES IN 364.7 WE NEED
|
|
;
|
|
;;^1^5^6^7^12^13^14^17^18^25^27^28^53^79^80^88^89^110^112^134^135^141^
|
|
;;^144^151^152^153^154^156^157^186^187^192^193^195^196^197^198^203^204^
|
|
;;^205^206^207^208^209^211^212^213^214^215^220^224^228^229^230^232^237^
|
|
;;^244^245^246^247^249^256^302^316^324^325^420^440^441^443^
|
|
;;^532^642^644^646^648^650^652^654^655^656^657^658^659^660^661^662^
|
|
;;^326^333^334^358^359^360^361^362^363^364^365^366^367^368^369^370^
|
|
;;^371^372^373^374^375^376^377^378^379^380^381^382^383^384^385^386^
|
|
;;^387^388^389^391^392^393^394^395^396^397^398^399^400^401^402^403^
|
|
;;^404^405^406^407^408^409^410^411^412^413^414^416^417^418^419^420^
|
|
;;^421^422^423^424^425^426^427^428^429^430^431^432^433^434^435^436^
|
|
;;^437^438^439^441^443^444^445^446^447^448^449^450^451^452^453^454^
|
|
;;^455^456^457^458^459^460^461^462^463^464^465^466^467^468^469^470^
|
|
;;^471^487^531^535^537^538^540^541^542^543^544^545^546^547^548^549^
|
|
;;^550^551^552^553^554^555^556^557^558^559^560^561^562^563^564^565^
|
|
;;^566^567^568^570^571^572^573^574^575^576^577^578^579^580^581^582^
|
|
;;^583^584^585^586^587^588^589^590^591^592^593^594^595^596^597^598^
|
|
;;^599^600^601^602^603^604^605^614^640^641^644^645^646^647^648^649^650^
|
|
;;^651^652^653^663^664^798^800^806^807^830^893^896^897^901^902^914^915^
|
|
;;^916^917^918^919^920^921^922^923^934^945^948^949^950^969^986^987^988^
|
|
;;^991^992^993^994^995^996^1005^1006^1008^1010^1012^1015^1016^1017^1018^
|
|
;;^1019^1020^1021^1022^1023^1024^1025^1026^1027^1028^1029^1030^1031^
|
|
;;^1032^1033^1011^1034^1035^1036^1037^1038^
|
|
;;
|
|
;
|
|
ENT97 ;ENTRIES IN 355.97 WE NEED
|
|
;
|
|
;;^24^25^26^27^28^29^
|
|
;;
|
|
;
|
|
END ;
|
|
D BMES^XPDUTL("Step complete")
|
|
;
|
|
D BMES^XPDUTL("Pre-install complete")
|
|
Q
|
|
;
|