| 1 | EC2P72PT ;ALB/JAM - PATCH EC*2.0*72 Post-Init Rtn ; 5/11/06 2:57pm | 
|---|
| 2 | ;;2.0; EVENT CAPTURE ;**72**;8 May 96 | 
|---|
| 3 | ; | 
|---|
| 4 | POST ; entry point | 
|---|
| 5 | D MES^XPDUTL(" ") | 
|---|
| 6 | D BMES^XPDUTL("Converting Provider fields 10,15 and 17 to a multiple field") | 
|---|
| 7 | D MES^XPDUTL("                           in EVENT CAPTURE PATIENT file (#721)...") | 
|---|
| 8 | D MES^XPDUTL(" ") | 
|---|
| 9 | I '$D(^ECH) D  Q | 
|---|
| 10 | .D BMES^XPDUTL("Event Capture File #721 doesn't exist on this account.") | 
|---|
| 11 | .D MES^XPDUTL("            No conversion necessary.  Process terminated...") | 
|---|
| 12 | D MES^XPDUTL(" ") | 
|---|
| 13 | I '$D(^DD(721,42)) D  Q | 
|---|
| 14 | .D BMES^XPDUTL("Event Capture Field #42 doesn't exist on this account.") | 
|---|
| 15 | .D MES^XPDUTL("            Conversion CANNOT proceed.  Process terminated...") | 
|---|
| 16 | D EN1 | 
|---|
| 17 | Q | 
|---|
| 18 | ; | 
|---|
| 19 | RESTART ;Restart Provider fields conversion backjob | 
|---|
| 20 | D BMES^XPDUTL("Restarting Conversion of Provider fields 10,15 and 17 to a ") | 
|---|
| 21 | D MES^XPDUTL("       multiple field in EVENT CAPTURE PATIENT file (#721)...") | 
|---|
| 22 | D MES^XPDUTL(" ") | 
|---|
| 23 | D EN1 | 
|---|
| 24 | Q | 
|---|
| 25 | EN1 ; | 
|---|
| 26 | L +^ECH(0):10 I '$T D  G END | 
|---|
| 27 | .D BMES^XPDUTL("Event Capture File in Use.  Try again later..") | 
|---|
| 28 | D BMES^XPDUTL("*** Event Capture menu will be locked and unavailable... ***") | 
|---|
| 29 | D BMES^XPDUTL("You will receive a MailMan message when task is completed or if stopped.") | 
|---|
| 30 | D BMES^XPDUTL("  ") | 
|---|
| 31 | S ZTRTN="START^EC2P72PT",ZTDESC="Provider Conversion in File #721, EC*2*72",ZTIO="" | 
|---|
| 32 | S ZTDTH=$H,ZTREQ="@",ZTSAVE("ZTREQ")="" | 
|---|
| 33 | I $G(XPDSET)'="" S ZTSAVE("XPDSET")="" | 
|---|
| 34 | D ^%ZTLOAD | 
|---|
| 35 | END D KILL1 | 
|---|
| 36 | L -^ECH(0) | 
|---|
| 37 | Q | 
|---|
| 38 | ; | 
|---|
| 39 | START ;* background job entry point | 
|---|
| 40 | N ECIEN,ECDAT,ECPRV,X1,X2,X,I,TXTVAR,LINE,COUNT,STOP,ECX1 | 
|---|
| 41 | ;Disable options | 
|---|
| 42 | D OUT^XPDMENU("ECXEC","OUT OF ORDER FOR EC PROVIDER CONVERSION") | 
|---|
| 43 | D OUT^XPDMENU("ECMENU","OUT OF ORDER FOR EC PROVIDER CONVERSION") | 
|---|
| 44 | D OUT^XPDMENU("EC GUI CONTEXT","OUT OF ORDER FOR EC PROVIDER CONVERSION") | 
|---|
| 45 | D OUT^XPDMENU("ECMGR","OUT OF ORDER FOR EC PROVIDER CONVERSION") | 
|---|
| 46 | K ^TMP($J,"EC2P72") | 
|---|
| 47 | S (COUNT,STOP)=0,ECIEN=+$G(^XTMP("ECPROVIDER",1)) | 
|---|
| 48 | S (ECX1,X1)=$$NOW^XLFDT(),X2=60 D C^%DTC | 
|---|
| 49 | I '$D(^XTMP("ECPROVIDER",0)) D | 
|---|
| 50 | .S ^XTMP("ECPROVIDER",0)=X_"^"_ECX1_"^EC Provider fields conversion to multiple" | 
|---|
| 51 | S ^XTMP("ECPROVIDER",3)=$$FMTE^XLFDT($$NOW^XLFDT(),1)  ;start time | 
|---|
| 52 | F I=1:1 S TXTVAR=$P($T(MSGTXT+I),";;",2) Q:TXTVAR="QUIT"  D LINE(TXTVAR) | 
|---|
| 53 | L +^ECH(0):60   ;review if this is necessary | 
|---|
| 54 | F  S ECIEN=$O(^ECH(ECIEN)) Q:'ECIEN  D  I STOP Q | 
|---|
| 55 | .S ECDAT=$G(^ECH(ECIEN,0)) I ECDAT="" D UPXTMP Q | 
|---|
| 56 | .K ECPRV | 
|---|
| 57 | .I $P(ECDAT,"^",11)'="" S ECPRV(1)=$P(ECDAT,"^",11)_"^P" | 
|---|
| 58 | .I $P(ECDAT,"^",15)'="" S ECPRV(2)=$P(ECDAT,"^",15)_"^"_$S($O(ECPRV("")):"S",1:"P") | 
|---|
| 59 | .I $P(ECDAT,"^",17)'="" S ECPRV(3)=$P(ECDAT,"^",17)_"^"_$S($O(ECPRV("")):"S",1:"P") | 
|---|
| 60 | .D UPD721 | 
|---|
| 61 | .D UPXTMP | 
|---|
| 62 | .;Check Background task (taskman) - to see if task stopped | 
|---|
| 63 | .S STOP=$$S^%ZTLOAD() | 
|---|
| 64 | S $P(^XTMP("ECPROVIDER",3),"^",2)=$$FMTE^XLFDT($$NOW^XLFDT(),1) | 
|---|
| 65 | I STOP D  G END1 | 
|---|
| 66 | .D LINE("  The provider conversion process was aborted.") | 
|---|
| 67 | .D LINE("     Conversion began:          "_$P($G(^XTMP("ECPROVIDER",3)),"^")) | 
|---|
| 68 | .D LINE("     Conversion terminated:     "_$P($G(^XTMP("ECPROVIDER",3)),"^",2)) | 
|---|
| 69 | .D LINE("     Last record (IEN) Updated: "_$G(^XTMP("ECPROVIDER",1))) | 
|---|
| 70 | .D LINE("     Last IEN in File #721:     "_$O(^ECH("A"),-1)) | 
|---|
| 71 | .D LINE("     Total # Records converted: "_$G(^XTMP("ECPROVIDER",2))) | 
|---|
| 72 | .D LINE(" ") | 
|---|
| 73 | .D LINE("  To restart the provider conversion process enter the following at the programmer's prompt.") | 
|---|
| 74 | .D LINE("      D RESTART^EC2P72PT") | 
|---|
| 75 | .D LINE(" ") | 
|---|
| 76 | .D LINE("   Make sure the following options are placed out of order") | 
|---|
| 77 | .D LINE("      ECMENU           Event Capture Menu") | 
|---|
| 78 | .D LINE("      EC GUI CONTEXT   EC GUI Context version 2.0.11.1") | 
|---|
| 79 | .D LINE("      ECXEC            Event Capture Extract") | 
|---|
| 80 | .D LINE("      ECMGR            Event Capture Management Menu") | 
|---|
| 81 | D LINE("  The provider conversion process was successfully completed.") | 
|---|
| 82 | D LINE("     Conversion began:            "_$P($G(^XTMP("ECPROVIDER",3)),"^")) | 
|---|
| 83 | D LINE("     Conversion completed:        "_$P($G(^XTMP("ECPROVIDER",3)),"^",2)) | 
|---|
| 84 | D LINE("     Last record (IEN) converted: "_$G(^XTMP("ECPROVIDER",1))) | 
|---|
| 85 | D LINE("     Last IEN in File #721:       "_$O(^ECH("A"),-1)) | 
|---|
| 86 | D LINE("     Total # Records converted:   "_$G(^XTMP("ECPROVIDER",2))) | 
|---|
| 87 | D LINE(" ") | 
|---|
| 88 | D LINE("  Make sure the following options are placed back in order") | 
|---|
| 89 | D LINE("     ECMENU           Event Capture Menu") | 
|---|
| 90 | D LINE("     EC GUI CONTEXT   EC GUI Context version 2.1.0.0") | 
|---|
| 91 | D LINE("     ECXEC            Event Capture Extract") | 
|---|
| 92 | ;Place option back in order | 
|---|
| 93 | D OUT^XPDMENU("ECXEC","") | 
|---|
| 94 | D OUT^XPDMENU("ECMENU","") | 
|---|
| 95 | D OUT^XPDMENU("EC GUI CONTEXT","") | 
|---|
| 96 | D OUT^XPDMENU("ECMGR","") | 
|---|
| 97 | END1 D MAIL | 
|---|
| 98 | L -^ECH(0) | 
|---|
| 99 | K ^TMP($J,"EC2P72"),I,Y | 
|---|
| 100 | Q | 
|---|
| 101 | UPXTMP ;Update ^XTMP with last ECIEN from ^ECH | 
|---|
| 102 | S ^XTMP("ECPROVIDER",1)=ECIEN | 
|---|
| 103 | S ^XTMP("ECPROVIDER",2)=+$G(^XTMP("ECPROVIDER",2))+1 | 
|---|
| 104 | Q | 
|---|
| 105 | UPD721 ;Update ^ECH with providers at multiple field #42. | 
|---|
| 106 | N SIEN,ECDATA,ECPRVDA,ECERR,DA,DIK | 
|---|
| 107 | ;delete old entries | 
|---|
| 108 | I '$D(ECPRV) Q | 
|---|
| 109 | I $D(^ECH(ECIEN,"PRV")) D | 
|---|
| 110 | . S DA(1)=ECIEN,DIK="^ECH("_DA(1)_",""PRV"",",DA=0 | 
|---|
| 111 | . F  S DA=$O(^ECH(DA(1),"PRV",DA)) Q:'DA  D ^DIK | 
|---|
| 112 | S SIEN=0 | 
|---|
| 113 | F  S SIEN=$O(ECPRV(SIEN)) Q:'SIEN  D | 
|---|
| 114 | .S ECDATA=ECPRV(SIEN) | 
|---|
| 115 | .D FILALT | 
|---|
| 116 | Q | 
|---|
| 117 | FILALT ;If error occurs filing trying record using another method | 
|---|
| 118 | N DIC,DD,DO,X,DIE,DR,DA | 
|---|
| 119 | S DIC(0)="L",DA(1)=ECIEN,DIC("P")=$P(^DD(721,42,0),U,2) | 
|---|
| 120 | S X=+ECDATA,DIC="^ECH("_DA(1)_","_"""PRV"""_"," D FILE^DICN | 
|---|
| 121 | S DIE=DIC,DR=".02////"_$P(ECDATA,U,2) D ^DIE | 
|---|
| 122 | Q | 
|---|
| 123 | ; | 
|---|
| 124 | LINE(TEXT) ; Add line to message global | 
|---|
| 125 | S COUNT=COUNT+1,^TMP($J,"EC2P72",COUNT)=TEXT | 
|---|
| 126 | Q | 
|---|
| 127 | ; | 
|---|
| 128 | MSGTXT ; Message intro | 
|---|
| 129 | ;; Please forward this message to your local DSS Site Manager or | 
|---|
| 130 | ;; Event Capture ADPAC. | 
|---|
| 131 | ;; | 
|---|
| 132 | ;; A conversion was done on the providers stored in fields #10, 15 | 
|---|
| 133 | ;; and 17 in Event Capture file #721. The data was moved to a new | 
|---|
| 134 | ;; provider multiple field #42 in file #721. The data in fields | 
|---|
| 135 | ;; #10, 15 and 17 will remain but no new data will be populated in | 
|---|
| 136 | ;; these fields with the installation of EC*2.0*72.  This message | 
|---|
| 137 | ;; provides the results of the conversion. | 
|---|
| 138 | ;; | 
|---|
| 139 | ;;QUIT | 
|---|
| 140 | ; | 
|---|
| 141 | MAIL ; Send message | 
|---|
| 142 | N XMDUZ,XMY,XMTEXT,XMSUB | 
|---|
| 143 | S XMY(DUZ)="",XMDUZ=.5 | 
|---|
| 144 | S XMSUB="Event Capture Provider Field Conversion to New Multiple Field" | 
|---|
| 145 | S XMTEXT="^TMP($J,""EC2P72""," | 
|---|
| 146 | D ^XMD | 
|---|
| 147 | Q | 
|---|
| 148 | KILL1 ; | 
|---|
| 149 | K ZTDESC,ZTDTH,ZTIO,ZTREQ,ZTRTN,ZTSAVE("ZTREQ"),ECKID | 
|---|
| 150 | Q | 
|---|