| 1 | IBY368PO        ;YMG/BP - Post-Installation for IB patch 368 ;12-Mar-2007
 | 
|---|
| 2 |         ;;2.0;INTEGRATED BILLING;**368**;12-MAR-2007;Build 21
 | 
|---|
| 3 |         ;
 | 
|---|
| 4 | EN      ;
 | 
|---|
| 5 |         N XPDIDTOT S XPDIDTOT=3
 | 
|---|
| 6 |         D NTFY ; 1. notify FSC that patch has been installed in production
 | 
|---|
| 7 |         D TEXT ; 2. add new text entries to file 361.3
 | 
|---|
| 8 |         D AUTOFILE ; 3. clean up stale informational messages in file 361
 | 
|---|
| 9 |         ;
 | 
|---|
| 10 | EX      ;
 | 
|---|
| 11 |         Q
 | 
|---|
| 12 |         ;
 | 
|---|
| 13 | NTFY    ; notify FSC that patch has been installed succesfully
 | 
|---|
| 14 |         N HEADER,BODY,MAILTO,SITE,TS
 | 
|---|
| 15 |         D BMES^XPDUTL(" STEP 1 of "_XPDIDTOT)
 | 
|---|
| 16 |         D MES^XPDUTL("-------------")
 | 
|---|
| 17 |         D MES^XPDUTL("Sending notification to FSC ...")
 | 
|---|
| 18 |         ; do not send notification if installed in test account
 | 
|---|
| 19 |         I '$$PROD^XUPROD D MES^XPDUTL("N/A for test account installation."),UPDATE^XPDID(1) Q
 | 
|---|
| 20 |         D DTNOLF^DICRW
 | 
|---|
| 21 |         S SITE=$$SITE^VASITE()
 | 
|---|
| 22 |         S HEADER="Patch IB*2.0*368 installed at VistA site "_$P(SITE,U,2)
 | 
|---|
| 23 |         D NOW^%DTC S TS=$$HLDATE^HLFNC(%,"TS")
 | 
|---|
| 24 |         S BODY(.1)="Patch installed successfully at "_$E(TS,5,6)_"/"_$E(TS,7,8)_"/"_$E(TS,1,4)_" "_$E(TS,9,10)_":"_$E(TS,11,12)_":"_$E(TS,13,19)
 | 
|---|
| 25 |         S BODY(.2)="Station Number: "_$P(SITE,U,3)
 | 
|---|
| 26 |         ; FSC destination address
 | 
|---|
| 27 |         ; FSC address for integration testing
 | 
|---|
| 28 |         S MAILTO="fsc.edi-team@va.gov"
 | 
|---|
| 29 |         D MAIL(HEADER,.BODY,MAILTO)
 | 
|---|
| 30 |         D MES^XPDUTL(" Done.")
 | 
|---|
| 31 |         D UPDATE^XPDID(1)
 | 
|---|
| 32 |         Q
 | 
|---|
| 33 | TEXT    ; Add new text entries in file 361.3 - IB MESSAGE SCREEN TEXT
 | 
|---|
| 34 |         N DATA,TXT,DO,DA,DIC,X,Y
 | 
|---|
| 35 |         D BMES^XPDUTL(" STEP 2 of "_XPDIDTOT)
 | 
|---|
| 36 |         D MES^XPDUTL("-------------")
 | 
|---|
| 37 |         D MES^XPDUTL("Adding new entries into file 361.3 ....")
 | 
|---|
| 38 |         S DATA("ACCEPT")=0
 | 
|---|
| 39 |         S DATA("ACK/RECEIPT")=0
 | 
|---|
| 40 |         S DATA("CLAIM ACKNOWLEDGED AND FORWARD")=0
 | 
|---|
| 41 |         S DATA("FINAL/PAYMENT")=0
 | 
|---|
| 42 |         S DATA("PAPER CLAIM MAILED VIA USPS")=0
 | 
|---|
| 43 |         S DATA("ACCEPT *WARNING*")=1
 | 
|---|
| 44 |         S TXT="" F  S TXT=$O(DATA(TXT)) Q:TXT=""  D
 | 
|---|
| 45 |         .I $D(^IBE(361.3,"B",TXT)) Q      ; already on file
 | 
|---|
| 46 |         .S DIC="^IBE(361.3,",DIC(0)="F",X=TXT
 | 
|---|
| 47 |         .S DIC("DR")=".02////"_DATA(TXT)
 | 
|---|
| 48 |         .D FILE^DICN
 | 
|---|
| 49 |         .Q
 | 
|---|
| 50 | TX      ;
 | 
|---|
| 51 |         D MES^XPDUTL(" Done.")
 | 
|---|
| 52 |         D UPDATE^XPDID(2)
 | 
|---|
| 53 |         Q
 | 
|---|
| 54 |         ;
 | 
|---|
| 55 | AUTOFILE        ; Check if informational status messages with no Final Review Action qualify for auto-file with no review.
 | 
|---|
| 56 |         ;
 | 
|---|
| 57 |         N IBDA,IBCNT,IB,Z,STOP,IBAUTO,TXT,NOREVU,IBREV
 | 
|---|
| 58 |         D BMES^XPDUTL(" STEP 3 of "_XPDIDTOT)
 | 
|---|
| 59 |         D MES^XPDUTL("-------------")
 | 
|---|
| 60 |         D MES^XPDUTL("Now looking at all informational status messages on file to see if any of them")
 | 
|---|
| 61 |         D MES^XPDUTL("can be auto-filed with no review needed.  Each ""."" represents 1000 messages.")
 | 
|---|
| 62 |         D MES^XPDUTL("")
 | 
|---|
| 63 |         S IBDA=0,IBCNT=0 F  S IBDA=$O(^IBM(361,"ASV","I",IBDA)) Q:'IBDA  D
 | 
|---|
| 64 |         .S IBCNT=IBCNT+1 W:(IBCNT#1000=0)&'$D(ZTQUEUED) "."
 | 
|---|
| 65 |         .S IB=$G(^IBM(361,IBDA,0))
 | 
|---|
| 66 |         .I $P(IB,U,10)'="" Q  ; final review action exists so quit out
 | 
|---|
| 67 |         .; if this message was previously auto-filed with no review, then
 | 
|---|
| 68 |         .; update the final review information and quit out
 | 
|---|
| 69 |         .I $P(IB,U,9)=2,$P(IB,U,14)=1 D  Q
 | 
|---|
| 70 |         ..N DIE,DR,DA
 | 
|---|
| 71 |         ..S DIE=361,DR=".1////F",DA=IBDA D ^DIE
 | 
|---|
| 72 |         ..Q
 | 
|---|
| 73 |         .;
 | 
|---|
| 74 |         .; IBAUTO - flag indicating that the whole message can be auto-filed
 | 
|---|
| 75 |         .;          with no review needed
 | 
|---|
| 76 |         .; NOREVU - flag indicating that one of the message lines had 'No
 | 
|---|
| 77 |         .;          Review Needed' text
 | 
|---|
| 78 |         .; IBREV  - flag indicating that one of the message lines had 'Review
 | 
|---|
| 79 |         .;          Always Needed' text (so the whole message needs review)
 | 
|---|
| 80 |         .;
 | 
|---|
| 81 |         .S (Z,STOP,IBAUTO)=0 F  S Z=$O(^IBM(361,IBDA,1,Z)) Q:'Z  D  Q:STOP
 | 
|---|
| 82 |         ..S TXT=$G(^IBM(361,IBDA,1,Z,0)) Q:TXT=""  ; text line Z
 | 
|---|
| 83 |         ..S NOREVU=$$CKREVU^IBCEM4(TXT,,,.IBREV)
 | 
|---|
| 84 |         ..I IBREV S STOP=1,IBAUTO=0 Q  ; 'review always needed' text found
 | 
|---|
| 85 |         ..I NOREVU S IBAUTO=1  ; 'no review needed' text found
 | 
|---|
| 86 |         ..Q
 | 
|---|
| 87 |         .I IBAUTO D
 | 
|---|
| 88 |         ..N DIE,DR,DA
 | 
|---|
| 89 |         ..S DIE=361,DR=".09////2;.14////1;.1////F",DA=IBDA D ^DIE
 | 
|---|
| 90 |         ..Q
 | 
|---|
| 91 |         .Q
 | 
|---|
| 92 |         D MES^XPDUTL(" Done.")
 | 
|---|
| 93 |         D UPDATE^XPDID(3)
 | 
|---|
| 94 |         D CLEAN^DILF
 | 
|---|
| 95 |         Q
 | 
|---|
| 96 |         ;
 | 
|---|
| 97 | MAIL(MTITLE,MLINES,MRECIP)      ; send message
 | 
|---|
| 98 |         N DIFROM,XMDUZ,XMSUB,XMTEXT,XMY,XMZ,XMMG
 | 
|---|
| 99 |         S XMSUB=MTITLE,XMDUZ=.5,XMTEXT="MLINES(",XMY(""_MRECIP_"")=""
 | 
|---|
| 100 |         D ^XMD
 | 
|---|
| 101 |         Q
 | 
|---|