[613] | 1 | IBY377PO ;ALB/ESG - Post Install for IB patch 377 ;29-Nov-2007
|
---|
| 2 | ;;2.0;INTEGRATED BILLING;**377**;21-MAR-94;Build 23
|
---|
| 3 | ;;Per VHA Directive 2004-038, this routine should not be modified.
|
---|
| 4 | ;
|
---|
| 5 | EN ;
|
---|
| 6 | N XPDIDTOT S XPDIDTOT=5
|
---|
| 7 | D XREF ; 1. re-build DD cross reference
|
---|
| 8 | D PND ; 2. change one EDI reports menu mnemonic
|
---|
| 9 | D REL2 ; 3. populate new field 2.312/4.03
|
---|
| 10 | D REL355 ; 4. populate new field 355.33/60.14
|
---|
| 11 | D EMAIL ; 5. send email message to FSC
|
---|
| 12 | ;
|
---|
| 13 | ; remove identifier label from this field
|
---|
| 14 | KILL ^DD(355.93,0,"ID",.09) ; DBIA# 5131
|
---|
| 15 | EX ;
|
---|
| 16 | Q
|
---|
| 17 | ;
|
---|
| 18 | XREF ; Re-build DD cross references
|
---|
| 19 | NEW IBXR,IBRES,IBOUT,DIK
|
---|
| 20 | D BMES^XPDUTL(" STEP 1 of "_XPDIDTOT)
|
---|
| 21 | D MES^XPDUTL("-------------")
|
---|
| 22 | D MES^XPDUTL("Re-building the ""C"" cross-reference in file 364.6 ...")
|
---|
| 23 | KILL ^IBA(364.6,"C") ; kill whatever is there
|
---|
| 24 | S IBXR("FILE")=364.6
|
---|
| 25 | S IBXR("NAME")="C"
|
---|
| 26 | S IBXR("TYPE")="R"
|
---|
| 27 | S IBXR("USE")="LS"
|
---|
| 28 | S IBXR("EXECUTION")="F"
|
---|
| 29 | S IBXR("ACTIVITY")="IR"
|
---|
| 30 | S IBXR("SHORT DESCR")="Field name lookup"
|
---|
| 31 | S IBXR("VAL",1)=.1
|
---|
| 32 | S IBXR("VAL",1,"SUBSCRIPT")=1
|
---|
| 33 | S IBXR("VAL",1,"LENGTH")=40
|
---|
| 34 | S IBXR("VAL",1,"COLLATION")="F"
|
---|
| 35 | S IBXR("VAL",1,"XFORM FOR STORAGE")="S X=$$UP^XLFSTR(X)"
|
---|
| 36 | D CREIXN^DDMOD(.IBXR,"SW",.IBRES,"IBOUT")
|
---|
| 37 | S DIK="^IBA(364.6,",DIK(1)=".1^C" ; set-up
|
---|
| 38 | D ENALL^DIK ; rebuild it
|
---|
| 39 | XREFX ;
|
---|
| 40 | D MES^XPDUTL(" Done.")
|
---|
| 41 | D UPDATE^XPDID(1)
|
---|
| 42 | Q
|
---|
| 43 | ;
|
---|
| 44 | PND ; Change one EDI reports menu mnemonic
|
---|
| 45 | NEW MENUIEN,ITEMIEN,STOP,IBX,DIE,DA,DR
|
---|
| 46 | D BMES^XPDUTL(" STEP 2 of "_XPDIDTOT)
|
---|
| 47 | D MES^XPDUTL("-------------")
|
---|
| 48 | D MES^XPDUTL("Updating EDI reports menu mnemonic ....")
|
---|
| 49 | ;
|
---|
| 50 | S MENUIEN=$O(^DIC(19,"B","IBCE TXMT MGMNT REPORTS",0)) I 'MENUIEN G PNDX
|
---|
| 51 | S ITEMIEN=0,STOP=0
|
---|
| 52 | F S ITEMIEN=$O(^DIC(19,MENUIEN,10,ITEMIEN)) Q:'ITEMIEN D Q:STOP
|
---|
| 53 | . S IBX=$P($G(^DIC(19,MENUIEN,10,ITEMIEN,0)),U,1) Q:'IBX
|
---|
| 54 | . I $P($G(^DIC(19,IBX,0)),U,1)'="IBCE BATCHES PENDING TOO LONG" Q
|
---|
| 55 | . S DIE="^DIC(19,"_MENUIEN_",10,"
|
---|
| 56 | . S DA=ITEMIEN,DA(1)=MENUIEN
|
---|
| 57 | . S DR="2////PND"
|
---|
| 58 | . D ^DIE
|
---|
| 59 | . S STOP=1
|
---|
| 60 | . Q
|
---|
| 61 | PNDX ;
|
---|
| 62 | D MES^XPDUTL(" Done.")
|
---|
| 63 | D UPDATE^XPDID(2)
|
---|
| 64 | Q
|
---|
| 65 | ;
|
---|
| 66 | REL2 ; Populate new pt. relation field 2.312/4.03
|
---|
| 67 | ;
|
---|
| 68 | N IBCNT,IEN2,IEN2312,NODE,WINS,X12CODE
|
---|
| 69 | D BMES^XPDUTL(" STEP 3 of "_XPDIDTOT)
|
---|
| 70 | D MES^XPDUTL("-------------")
|
---|
| 71 | D MES^XPDUTL("Updating new patient relationship field in PATIENT file...")
|
---|
| 72 | ; If this patch has been installed before, then this update has already been completed.
|
---|
| 73 | I $$ICPLT() D MES^XPDUTL(" This field has already been updated. No further action.") G REL2X
|
---|
| 74 | D MES^XPDUTL("Each ""."" represents 10,000 records.")
|
---|
| 75 | D MES^XPDUTL("")
|
---|
| 76 | S (IEN2,IBCNT)=0 F S IEN2=$O(^DPT(IEN2)) Q:IEN2?1.A!(IEN2="") D
|
---|
| 77 | .S IBCNT=IBCNT+1 W:(IBCNT#10000=0)&'$D(ZTQUEUED) "."
|
---|
| 78 | .Q:'$D(^DPT(IEN2,.312)) ; make sure file 2.312 exists for this patient
|
---|
| 79 | .S IEN2312=0 F S IEN2312=$O(^DPT(IEN2,.312,IEN2312)) Q:IEN2312?1.A!(IEN2312="") D
|
---|
| 80 | ..S NODE=$G(^DPT(IEN2,.312,IEN2312,0)),X12CODE=$$PRELCNV^IBCNSP1($P(NODE,U,16),1)
|
---|
| 81 | ..; if we couldn't find a match, try to use WHOSE INSURANCE field
|
---|
| 82 | ..S:X12CODE="" WINS=$P(NODE,U,6),X12CODE=$S(WINS="v":"18",WINS="s":"01",1:"")
|
---|
| 83 | ..Q:X12CODE="" ; still no valid code - skip this record
|
---|
| 84 | ..N DIE,DR,DA
|
---|
| 85 | ..S DIE="^DPT("_IEN2_",.312,",DA=IEN2312,DA(1)=IEN2,DR="4.03////"_X12CODE D ^DIE
|
---|
| 86 | ..Q
|
---|
| 87 | .Q
|
---|
| 88 | D MES^XPDUTL(" Done.")
|
---|
| 89 | REL2X ;
|
---|
| 90 | D UPDATE^XPDID(3)
|
---|
| 91 | D CLEAN^DILF
|
---|
| 92 | Q
|
---|
| 93 | ;
|
---|
| 94 | REL355 ; Populate new pt. relation field 355.33/60.14
|
---|
| 95 | ;
|
---|
| 96 | N IEN355,NODE,WINS,X12CODE
|
---|
| 97 | D BMES^XPDUTL(" STEP 4 of "_XPDIDTOT)
|
---|
| 98 | D MES^XPDUTL("-------------")
|
---|
| 99 | D MES^XPDUTL("Updating new patient relationship field in INSURANCE BUFFER file...")
|
---|
| 100 | ; If this patch has been installed before, then this update has already been completed.
|
---|
| 101 | I $$ICPLT() D MES^XPDUTL(" This field has already been updated. No further action.") G REL355X
|
---|
| 102 | S IEN355=0 F S IEN355=$O(^IBA(355.33,IEN355)) Q:IEN355?1.A!(IEN355="") D
|
---|
| 103 | .S NODE=$G(^IBA(355.33,IEN355,60)) Q:NODE="" ; make sure that node 60 of file 355.33 exists
|
---|
| 104 | .S X12CODE=$$PRELCNV^IBCNSP1($P(NODE,U,6),1)
|
---|
| 105 | .; if we couldn't find a match, try to use WHOSE INSURANCE field
|
---|
| 106 | .S:X12CODE="" WINS=$P(NODE,U,5),X12CODE=$S(WINS="v":"18",WINS="s":"01",1:"")
|
---|
| 107 | .Q:X12CODE="" ; still no valid code - skip this record
|
---|
| 108 | .N DIE,DR,DA
|
---|
| 109 | .S DIE=355.33,DA=IEN355,DR="60.14////"_X12CODE D ^DIE
|
---|
| 110 | .Q
|
---|
| 111 | D MES^XPDUTL(" Done.")
|
---|
| 112 | REL355X ;
|
---|
| 113 | D UPDATE^XPDID(4)
|
---|
| 114 | D CLEAN^DILF
|
---|
| 115 | Q
|
---|
| 116 | ;
|
---|
| 117 | ICPLT() ; Returns 1 if this patch has been successfully installed before, 0 otherwise
|
---|
| 118 | N I,ICPLT,INST
|
---|
| 119 | D FIND^DIC(9.7,,"@;.02I","QPX","IB*2.0*377",,,,,"INST")
|
---|
| 120 | S (I,ICPLT)=0 F S I=$O(INST("DILIST",I)) Q:I="" S:+$P(INST("DILIST",I,0),U,2)=3 ICPLT=1 Q:ICPLT
|
---|
| 121 | Q ICPLT
|
---|
| 122 | ;
|
---|
| 123 | EMAIL ; Send an email message to Austin FSC to let them know this site has installed IB patch 377
|
---|
| 124 | NEW SITE,SUBJ,MSG,XMTO,LN,GLO,GLB
|
---|
| 125 | D BMES^XPDUTL(" STEP 5 of "_XPDIDTOT)
|
---|
| 126 | D MES^XPDUTL("-------------")
|
---|
| 127 | D MES^XPDUTL("Sending email notification to Austin FSC ... ")
|
---|
| 128 | I '$$PROD^XUPROD(1) D MES^XPDUTL("No email sent for test account installation.") G EMAILX
|
---|
| 129 | S SITE=$$SITE^VASITE
|
---|
| 130 | S SUBJ="IB*2*377 installed at Station# "_$P(SITE,U,3)_" - "_$P(SITE,U,2)
|
---|
| 131 | S SUBJ=$E(SUBJ,1,65)
|
---|
| 132 | S MSG(1)="VistA patch IB*2.0*377 was installed successfully at the following site:"
|
---|
| 133 | S MSG(2)=""
|
---|
| 134 | S MSG(3)=" Name: "_$P(SITE,U,2)
|
---|
| 135 | S MSG(4)=" Station#: "_$P(SITE,U,3)
|
---|
| 136 | S MSG(5)=" Domain: "_$G(^XMB("NETNAME"))
|
---|
| 137 | S MSG(6)=" Date/Time: "_$$FMTE^XLFDT($$NOW^XLFDT,"5ZPM")
|
---|
| 138 | S MSG(7)=""
|
---|
| 139 | S MSG(8)="This patch is eClaims Plus Iteration 3, Phase 2."
|
---|
| 140 | ;
|
---|
| 141 | S XMTO("fsc.edi-team@va.gov")=""
|
---|
| 142 | S XMTO("Eric.Gustafson@va.gov")=""
|
---|
| 143 | S XMTO("Yan.Gurtovoy@va.gov")=""
|
---|
| 144 | S XMTO("Mary.Simons@va.gov")=""
|
---|
| 145 | ;
|
---|
| 146 | D SENDMSG^XMXAPI(DUZ,SUBJ,"MSG",.XMTO)
|
---|
| 147 | I '$D(^TMP("XMERR",$J)) G EMAILX ; no email problems
|
---|
| 148 | ;
|
---|
| 149 | D MES^XPDUTL("MailMan problem reported. Please review messages.")
|
---|
| 150 | S SUBJ="IB*2*377 email notification failure"
|
---|
| 151 | K MSG S LN=0
|
---|
| 152 | S LN=LN+1,MSG(LN)="MailMan reported the following error(s) when attempting to send the"
|
---|
| 153 | S LN=LN+1,MSG(LN)="installation notification message for IB patch 377."
|
---|
| 154 | S LN=LN+1,MSG(LN)=""
|
---|
| 155 | S (GLO,GLB)="^TMP(""XMERR"","_$J
|
---|
| 156 | S GLO=GLO_")"
|
---|
| 157 | F S GLO=$Q(@GLO) Q:GLO'[GLB S LN=LN+1,MSG(LN)=" "_GLO_" = "_$G(@GLO)
|
---|
| 158 | S LN=LN+1,MSG(LN)=""
|
---|
| 159 | S LN=LN+1,MSG(LN)="Please contact EPS and report this problem by entering a Remedy ticket"
|
---|
| 160 | S LN=LN+1,MSG(LN)="or by calling the VA Service Desk (ph. 1-888-596-4357)."
|
---|
| 161 | S LN=LN+1,MSG(LN)=""
|
---|
| 162 | S LN=LN+1,MSG(LN)="Austin FSC needs to be notified when this patch is installed."
|
---|
| 163 | S LN=LN+1,MSG(LN)=""
|
---|
| 164 | K XMTO
|
---|
| 165 | S XMTO(DUZ)=""
|
---|
| 166 | S XMTO("G.PATCHES")=""
|
---|
| 167 | D SENDMSG^XMXAPI(DUZ,SUBJ,"MSG",.XMTO)
|
---|
| 168 | D MES^XPDUTL(.MSG)
|
---|
| 169 | ;
|
---|
| 170 | EMAILX ;
|
---|
| 171 | D MES^XPDUTL(" Done.")
|
---|
| 172 | D UPDATE^XPDID(5)
|
---|
| 173 | D CLEAN^DILF
|
---|
| 174 | Q
|
---|
| 175 | ;
|
---|