| [613] | 1 | IBY232PO ;ALB/BSL - IB*2*232 POST-INSTALL ;25-AUG-03 | 
|---|
|  | 2 | ;;2.0;INTEGRATED BILLING;**232**;21-MAR-94 | 
|---|
|  | 3 | ; | 
|---|
|  | 4 | N DIC,DIK,DA,Y,X | 
|---|
|  | 5 | D BMES^XPDUTL("Post-Installation Updates") | 
|---|
|  | 6 | ; | 
|---|
|  | 7 | IBSITE ;CHANGE LIVE AND TEST QUEUE IN IB SITE PARAMETERS FILE | 
|---|
|  | 8 | S $P(^IBE(350.9,1,8),"^",1)="MCH"  ;LIVE QUEUE | 
|---|
|  | 9 | ;S $P(^IBE(350.9,1,8),"^",1)="G.MCH@ISC-ALBANY.MED.VA.GOV"  ;LIVE QUEUE | 
|---|
|  | 10 | S $P(^IBE(350.9,1,8),"^",9)="G.MCH@ISC-ALBANY.MED.VA.GOV"  ;TEST QUEUE | 
|---|
|  | 11 | ;SAVE 8 NODE OF IB SITE PARAMETERS | 
|---|
|  | 12 | ;S ^XTMP("P232","NEW",INC,"350.9",8)=^IBE(350.9,1,8) | 
|---|
|  | 13 | ; | 
|---|
|  | 14 | ;S ^XTMP("P232","NEW",0)=(INC+1) | 
|---|
|  | 15 | ; | 
|---|
|  | 16 | MAIL ;REMOTE MEMBER IN MAIL GROUP IS SAME AS IN MCR | 
|---|
|  | 17 | N IBMCR,IBMCH,DLAYGO,DIC,DIK,DA,D0,DD,Z,Z0 ; IA 4439 | 
|---|
|  | 18 | S IBMCR=+$O(^XMB(3.8,"B","MCR",0)),IBMCH=+$O(^XMB(3.8,"B","MCH",0)) S Z=0 F  S Z=$O(^XMB(3.8,IBMCR,6,Z)) Q:'Z  S Z0=$P($G(^XMB(3.8,IBMCR,6,Z,0)),U) I Z0'="" D | 
|---|
|  | 19 | . I '$D(^XMB(3.8,IBMCH,6,"B",Z0)) D | 
|---|
|  | 20 | .. S DLAYGO=3.812,DIC(0)="L",X=Z0,DA(1)=IBMCH,DIC="^XMB(3.8,"_DA(1)_",6," D FILE^DICN K DO,DD,DA,DLAYGO,DIC | 
|---|
|  | 21 | .. I Y>0 S DA(1)=IBMCR,DA=Z,DIK="^XMB(3.8,"_DA(1)_",6," D ^DIK | 
|---|
|  | 22 | ; | 
|---|
|  | 23 | D BMES^XPDUTL("Updating facility provider ids for all insurance companies") | 
|---|
|  | 24 | N DO,DD,DLAYGO,DIC,X,Y,Z,Z0,Z00,Z11,Z17,IBINS,IBID,IBHCFA,IBUB | 
|---|
|  | 25 | S IBID=$$BF^IBCU() | 
|---|
|  | 26 | I IBID S IBINS=0 F  S IBINS=$O(^DIC(36,IBINS)) Q:'IBINS  S Z11=$P($G(^(IBINS,0)),U,11),Z17=$P($G(^(0)),U,17) D | 
|---|
|  | 27 | . S (IBHCFA,IBUB)=0 | 
|---|
|  | 28 | . S Z0=0 F  S Z0=$O(^IBA(355.92,"B",IBINS,Z0)) Q:'Z0  S Z00=$G(^IBA(355.92,Z0,0)) D  Q:IBHCFA&IBUB | 
|---|
|  | 29 | .. I $P(Z00,U,6)=IBID S:$P(Z00,U,4)=2 IBHCFA=1 S:$P(Z00,U,4)=1 IBUB=1 Q | 
|---|
|  | 30 | . I Z11'="",'IBUB S X=IBINS,DIC("DR")=".04////1;.06////"_IBID_";.07////"_Z11,DIC="^IBA(355.92,",DLAYGO=355.92,DIC(0)="L" D FILE^DICN K DO,DD,DLAYGO,DIC | 
|---|
|  | 31 | . I Z17'="",'IBHCFA S X=IBINS,DIC("DR")=".04////2;.06////"_IBID_";.07////"_Z17,DIC="^IBA(355.92,",DLAYGO=355.92,DIC(0)="L" D FILE^DICN K DO,DD,DLAYGO,DIC | 
|---|
|  | 32 | ; | 
|---|
|  | 33 | D BMES^XPDUTL("Deleting unneeded cross refs in file 399") | 
|---|
|  | 34 | D DELIX^DDMOD(399,101,4),DELIX^DDMOD(399,102,5),DELIX^DDMOD(399,103,4) | 
|---|
|  | 35 | I $D(^IBE(355.97,10,0)) S DA=10,DIK="^IBE(355.97," D ^DIK | 
|---|
|  | 36 | I $$PROD^IBCORC,DT<3050101 D  ; Production? | 
|---|
|  | 37 | . N DIFROM,XMTO,XMBODY,XMSUBJ,XMZ,XMDUZ,DUZ,IBSITE,IBBODY | 
|---|
|  | 38 | . D BMES^XPDUTL("SENDING EDI ENHANCEMENTS CONFIRMATION TO AUSTIN") | 
|---|
|  | 39 | . S IBSITE=$$SITE^VASITE() | 
|---|
|  | 40 | . S DUZ(0)="@",DUZ=.5,XMDUZ=DUZ,XMBODY="IBBODY" | 
|---|
|  | 41 | . S XMSUBJ="EDI ENHANCEMENTS LOADED AT STATION #: "_$P(IBSITE,U,3)_$S($G(^XTMP("IB_EDI_ENHANCEMENTS_CONFIRMED",1)):" (AGAIN)",1:"") | 
|---|
|  | 42 | . S XMTO("G.ZZ_EDIENHANCE@FO-ALBANY.MED.VA.GOV")="" | 
|---|
|  | 43 | . S IBBODY(1)="EDI ENHANCEMENTS HAS BEEN LOADED INTO THE LIVE ACCOUNT OF",IBBODY(2)=$P(IBSITE,U,2) | 
|---|
|  | 44 | . D SENDMSG^XMXAPI(XMDUZ,XMSUBJ,XMBODY,.XMTO,,.XMZ) | 
|---|
|  | 45 | . I $G(XMZ) S ^XTMP("IB_EDI_ENHANCEMENTS_CONFIRMED",0)="3050101^"_DT_"^EDI ENHANCEMENTS CONFIRMATION ACKNOWLEDGED",^XTMP("IB_EDI_ENHANCEMENTS_CONFIRMED",1)=XMZ | 
|---|
|  | 46 | . ; | 
|---|
|  | 47 | . I '$G(^XTMP("IB_EDI_ENHANCEMENTS_CONFIRMED",1)) D | 
|---|
|  | 48 | .. N DIFROM,IBBODY,XMBODY,XMDUZ,XMSUBJ,XMTO,DUZ | 
|---|
|  | 49 | .. S DUZ=.5,DUZ(0)="@",XMDUZ=DUZ | 
|---|
|  | 50 | .. S XMBODY="IBBODY" | 
|---|
|  | 51 | .. D BMES^XPDUTL("NO CONFIRMATION WAS SENT FOR INSTALL - CONTACT EVS!!!") | 
|---|
|  | 52 | .. S XMSUBJ="CALL NATIONAL HELP DESK - NO EDI ENHANCEMENTS CONFIRMATION" | 
|---|
|  | 53 | .. S XMTO("G.IB EDI SUPERVISOR")="" | 
|---|
|  | 54 | .. S IBBODY(1)="*** IMPORTANT **** IMPORTANT **** IMPORTANT **** IMPORTANT **** IMPORTANT ***",IBBODY(2)=" " | 
|---|
|  | 55 | .. S IBBODY(3)="Contact the National Help desk (EVS) IMMEDIATELY to report no confirmation",IBBODY(4)="was sent from your site for EDI Enhancements after patch IB*2*232 install." | 
|---|
|  | 56 | .. D SENDMSG^XMXAPI(XMDUZ,XMSUBJ,XMBODY,.XMTO) | 
|---|
|  | 57 | ; | 
|---|
|  | 58 | D END | 
|---|
|  | 59 | Q | 
|---|
|  | 60 | ; | 
|---|
|  | 61 | ; | 
|---|
|  | 62 | PEND232 ; CLEANS OUT THE ENTRIES IN THE PENDING LIST THAT | 
|---|
|  | 63 | ; THE PROCESS OF PARRALLEL TESTING HAS NOT ALLOWED TO RECEIVE REPORTS BACK | 
|---|
|  | 64 | ; | 
|---|
|  | 65 | ; THIS IS A TWO PART PROCESS, THE FIRST PART IDENTIFIES THE | 
|---|
|  | 66 | ; PENDING ENTRIES IN THE PENDING REPORT | 
|---|
|  | 67 | ; IF THERE ARE VALID ENTRIES IN THIS REPORT THEY SHOULD BE | 
|---|
|  | 68 | ; REMOVED FROM THE ^BTMP GLOBAL BEFORE PERFORMING THE SECOND | 
|---|
|  | 69 | ; STEP WHICH IS TO KILL ALL THE ENTRIES STILL LISTED IN ^BTMP | 
|---|
|  | 70 | ; | 
|---|
|  | 71 | ;FIND ALL THE ENTRIES IN THE ^IBA(364.1,"ASTAT","P" | 
|---|
|  | 72 | S X="" | 
|---|
|  | 73 | K ^BTMP(364.1) | 
|---|
|  | 74 | F  S X=$O(^IBA(364.1,"ASTAT","P",X)) Q:X=""  D | 
|---|
|  | 75 | . ; STORE IN TEMP GLOBAL ^BTMP | 
|---|
|  | 76 | . ;SET BTMP TO WHAT CURRENT STATUS VALUE IS | 
|---|
|  | 77 | . S ^BTMP(364.1,X)=$P($G(^IBA(364.1,X,0)),"^",2) | 
|---|
|  | 78 | . ; SET CURRENT STATUS TO A0 | 
|---|
|  | 79 | . I $D(^BTMP(364.1,X)) S $P(^IBA(364.1,X,0),"^",2)="A0" | 
|---|
|  | 80 | W !,"^BTMP GLOBAL IS PREPARED WITH PENDING ENTRIES!" | 
|---|
|  | 81 | Q | 
|---|
|  | 82 | ; | 
|---|
|  | 83 | KILLPEND ; KILL STAT ENTRY | 
|---|
|  | 84 | S X="" | 
|---|
|  | 85 | F  S X=$O(^BTMP(364.1,X)) Q:X=""  D | 
|---|
|  | 86 | . K ^IBA(364.1,"ASTAT","P",X) | 
|---|
|  | 87 | W !,"ALL GONE!" | 
|---|
|  | 88 | Q | 
|---|
|  | 89 | ; | 
|---|
|  | 90 | END ; | 
|---|
|  | 91 | D BMES^XPDUTL("Step complete") | 
|---|
|  | 92 | ; | 
|---|
|  | 93 | D BMES^XPDUTL("Pre-install complete") | 
|---|
|  | 94 | Q | 
|---|
|  | 95 | ; | 
|---|
|  | 96 | DELLOC ; Local form for 837 transmission - delete all local override fields | 
|---|
|  | 97 | ; for changed form 8 fields | 
|---|
|  | 98 | N IB7,IB6,IB60,IB7X,IB7X0,Q,DA,DIK | 
|---|
|  | 99 | S IB7=9999 F  S IB7=$O(^IBA(364.7,IB7)) Q:'IB7  S IB6=+$G(^(IB7,0)),IB60=$G(^IBA(364.6,IB6,0)) I $P($G(^IBE(353,+IB60,2)),U,2)="T"  D  ; We have a transmit form o/ride | 
|---|
|  | 100 | . Q:'$$INCLUDE^IBY232PR(6,+$P(IB60,U,3))  ; field is being changed | 
|---|
|  | 101 | . N MES | 
|---|
|  | 102 | . S MES=1,MES(1)="Removing local field from 364.6 #"_IB6_" "_$P(IB60,U,10)_"  "_$P($G(^IBA(364.6,+$P(IB60,U,3),0)),U,10) | 
|---|
|  | 103 | . S IB7X=0 F  S IB7X=$O(^IBA(364.7,"B",IB6,IB7X)) Q:'IB7X  D | 
|---|
|  | 104 | . . S IB7X0=$G(^IBA(364.7,IB7X,0)) Q:IB7X0="" | 
|---|
|  | 105 | . . S MES=MES+1,MES(MES)="  Override data element: "_$S(+$P(IB7X0,U,3):$$EXTERNAL^DILFD(364.7,.03,"",+$P(IB7X0,U,3)),1:"NONE DEFINED") | 
|---|
|  | 106 | . . S MES=MES+1,MES(MES)="  Insurance co         : "_$S($P(IB7X0,U,5):$$EXTERNAL^DILFD(364.7,.05,"",+$P(IB7X0,U,5)),1:"ALL") | 
|---|
|  | 107 | . . S MES=MES+1,MES(MES)="  Bill Type            : "_$S($P(IB7X0,U,6)="I":"INPATIENT",$P(IB7X0,U,6)="P":"PROFESSIONAL",1:"BOTH") | 
|---|
|  | 108 | . . Q:$G(^IBA(364.7,IB7X,1))="" | 
|---|
|  | 109 | . . S MES=MES+1,MES(MES)="  Override format code/description: " | 
|---|
|  | 110 | . . S MES=MES+1,MES(MES)=^IBA(364.7,IB7X,1) | 
|---|
|  | 111 | . . S Q=0 F  S Q=$O(^IBA(364.7,IB7X,3,Q)) Q:'Q  S MES=MES+1,MES(MES)=$G(^IBA(364.7,IB7X,3,Q,0)) | 
|---|
|  | 112 | . . S MES=MES+1,MES(MES)=" " | 
|---|
|  | 113 | . . D MES^XPDUTL(.MES) | 
|---|
|  | 114 | . . S DA=IB7X,DIK="^IBA(364.7," D ^DIK ; Delete entries in 364.7 for override flds | 
|---|
|  | 115 | . S DIK="^IBA(364.6,",DA=IB6 D ^DIK ; delete entry in 364.6 for o/ride flds | 
|---|
|  | 116 | Q | 
|---|
|  | 117 | ; | 
|---|
|  | 118 | PRECOPY ;K ^XTMP("P232") | 
|---|
|  | 119 | ;I $G(^XTMP("P232",0))="" S ^XTMP("P232",0)="3040601^3030830^PATCH IB*2.0*232 SWITCH OPTION" | 
|---|
|  | 120 | ;I $G(^XTMP("P232","OLD",0))="" S ^XTMP("P232","OLD",0)=1 | 
|---|
|  | 121 | ; | 
|---|
|  | 122 | ; CREATE INCR BACKUPS FOR RESTORE OF PREV | 
|---|
|  | 123 | ;N INC,N S INC=^XTMP("P232","OLD",0) | 
|---|
|  | 124 | ;F N=5:1:7  M ^XTMP("P232","OLD",INC,"364."_N)=^IBA("364."_N) | 
|---|
|  | 125 | ; | 
|---|
|  | 126 | ;SAVE DDs REFERENCING NEW CODE | 
|---|
|  | 127 | ;M ^XTMP("P232","OLD",INC,"355.9")=^DD(355.9) | 
|---|
|  | 128 | ;M ^XTMP("P232","OLD",INC,"355.91")=^DD(355.91) | 
|---|
|  | 129 | ;M ^XTMP("P232","OLD",INC,"355.92")=^DD(355.92) | 
|---|
|  | 130 | ;M ^XTMP("P232","OLD",INC,"355.93")=^DD(355.93) | 
|---|
|  | 131 | ;M ^XTMP("P232","OLD",INC,"355.97")=^DD(355.97) | 
|---|
|  | 132 | ;M ^XTMP("P232","OLD",INC,"399")=^DD(399) | 
|---|
|  | 133 | ;M ^XTMP("P232","OLD",INC,"399.0222")=^DD(399.0222) | 
|---|
|  | 134 | ;M ^XTMP("P232","OLD",INC,"36")=^DD(36) | 
|---|
|  | 135 | ;M ^XTMP("P232","OLD",INC,"2")=^DD(2) | 
|---|
|  | 136 | ;M ^XTMP("P232","OLD",INC,"DIC","36")=^DIC(36) | 
|---|
|  | 137 | ; | 
|---|
|  | 138 | ;SAVE 8-NODE OF 350.9 | 
|---|
|  | 139 | ;S ^XTMP("P232","OLD",INC,"350.9",1,8)=^IBE(350.9,1,8) | 
|---|
|  | 140 | ; | 
|---|
|  | 141 | ;SAVE OLD INPUT TEMPS | 
|---|
|  | 142 | ;N TMPL | 
|---|
|  | 143 | ;S TMPL="" S TMPL=$O(^DIE("B","IB SCREEN82",TMPL)) | 
|---|
|  | 144 | ;M ^XTMP("P232","OLD",INC,"DIE",TMPL)=^DIE(TMPL) | 
|---|
|  | 145 | ;S TMPL="" S TMPL=$O(^DIE("B","IB SCREEN8H",TMPL)) | 
|---|
|  | 146 | ;M ^XTMP("P232","OLD",INC,"DIE",TMPL)=^DIE(TMPL) | 
|---|
|  | 147 | ;S ^XTMP("P232","OLD",0)=(INC+1) | 
|---|