| 1 | VAQBUL01 ;ALB/JRP - BULLETINS;10-MAR-93 | 
|---|
| 2 | ;;1.5;PATIENT DATA EXCHANGE;;NOV 17, 1993 | 
|---|
| 3 | ERR2USR ;SEND ERROR MESSAGE TO SENDER IF ALL TRANSMISSIONS WHERE NOT SENT | 
|---|
| 4 | ;  DECLARATIONS TAKEN CARE OF IN GENXMIT^VAQADM50 | 
|---|
| 5 | S TMP="UNABLE TO SEND MESSAGES" | 
|---|
| 6 | S XMZ=$$MAKESTUB^VAQCON1(TMP,"PDX") | 
|---|
| 7 | Q:(XMZ<1) | 
|---|
| 8 | S LINE=1 | 
|---|
| 9 | ;PUT IN ERROR MESSAGE | 
|---|
| 10 | S TMP="The following message(s) could not be transmitted ..." | 
|---|
| 11 | S X=$$ADDLINE^VAQCON1(TMP,XMZ,LINE) | 
|---|
| 12 | S LINE=LINE+1 | 
|---|
| 13 | S TRANS="" | 
|---|
| 14 | S ERRNUM=1 | 
|---|
| 15 | F  S TRANS=$O(@ARRAY3@(TRANS)) Q:('TRANS)  D | 
|---|
| 16 | .F TMP=1:1:2 S X=$$ADDLINE^VAQCON1("",XMZ,LINE),LINE=LINE+1 | 
|---|
| 17 | .S X=+$G(^VAT(394.61,TRANS,0)) | 
|---|
| 18 | .S TMP="("_ERRNUM_")  Transaction Number: "_X | 
|---|
| 19 | .S X=$$ADDLINE^VAQCON1(TMP,XMZ,LINE) | 
|---|
| 20 | .S LINE=LINE+1 | 
|---|
| 21 | .S TMP=$G(^VAT(394.61,TRANS,"QRY")) | 
|---|
| 22 | .S X=$$REPEAT^VAQUTL1(" ",($L(ERRNUM)+6)) | 
|---|
| 23 | .S X=X_"Name: "_$P(TMP,"^",1) | 
|---|
| 24 | .S X=$$ADDLINE^VAQCON1(X,XMZ,LINE) | 
|---|
| 25 | .S LINE=LINE+1 | 
|---|
| 26 | .S X=$$REPEAT^VAQUTL1(" ",($L(ERRNUM)+6)) | 
|---|
| 27 | .S X=X_"PID: "_$P(TMP,"^",4) | 
|---|
| 28 | .S X=$$ADDLINE^VAQCON1(X,XMZ,LINE) | 
|---|
| 29 | .S LINE=LINE+1 | 
|---|
| 30 | .S X=$$REPEAT^VAQUTL1(" ",($L(ERRNUM)+6)) | 
|---|
| 31 | .S X=X_"SSN: "_$P(TMP,"^",2) | 
|---|
| 32 | .S X=$$ADDLINE^VAQCON1(X,XMZ,LINE) | 
|---|
| 33 | .S LINE=LINE+1 | 
|---|
| 34 | .S X=$$REPEAT^VAQUTL1(" ",($L(ERRNUM)+6)) | 
|---|
| 35 | .S X=X_"DOB: "_$$DOBFMT^VAQUTL99($P(TMP,"^",3)) | 
|---|
| 36 | .S X=$$ADDLINE^VAQCON1(X,XMZ,LINE) | 
|---|
| 37 | .S LINE=LINE+1 | 
|---|
| 38 | .;GET SENDER | 
|---|
| 39 | .S TMP=$$SENDER^VAQCON2(TRANS) | 
|---|
| 40 | .S X=$$REPEAT^VAQUTL1(" ",($L(ERRNUM)+6)) | 
|---|
| 41 | .S X=X_"Sent By: "_$P(TMP,"^",1) | 
|---|
| 42 | .S X=$$ADDLINE^VAQCON1(X,XMZ,LINE) | 
|---|
| 43 | .S LINE=LINE+1 | 
|---|
| 44 | .;PLACE SENDER IN RECIPIENT LIST | 
|---|
| 45 | .S X=+$P(TMP,"^",2) | 
|---|
| 46 | .S TMP=$P(TMP,"^",1) | 
|---|
| 47 | .S X=$S(((X'=.5)&(X'=0)):X,((TMP'="POSTMASTER")&(TMP'="PDX")&(TMP'="Patient Data eXchange")&(TMP'="")):TMP,1:"") | 
|---|
| 48 | .S:(X'="") XMY(X)="" | 
|---|
| 49 | .;GET MESSAGE TYPE | 
|---|
| 50 | .S TMP=$$STATYPE^VAQCON1(TRANS) | 
|---|
| 51 | .S TYPE=$P(TMP,"^",2) | 
|---|
| 52 | .S:($P(TMP,"^",1)="-1") TYPE=-1 | 
|---|
| 53 | .S:(TYPE="ACK") TYPE=$P(TMP,"^",1) | 
|---|
| 54 | .;GET DOMAIN & SITE | 
|---|
| 55 | .S TMP="Could not be determined (Contact your PDX ADPAC)^Could not be determined (Contact your PDX ADPAC)" | 
|---|
| 56 | .S:((TYPE="VAQ-UNACK")!(TYPE="REQ")) TMP=$G(^VAT(394.61,TRANS,"ATHR2")) | 
|---|
| 57 | .S:((TYPE="RES")!(TYPE="UNS")!(TYPE="VAQ-RQACK")) TMP=$G(^VAT(394.61,TRANS,"RQST2")) | 
|---|
| 58 | .S SITE=$P(TMP,"^",1) | 
|---|
| 59 | .S DOMAIN=$P(TMP,"^",2) | 
|---|
| 60 | .S X=$$REPEAT^VAQUTL1(" ",($L(ERRNUM)+6)) | 
|---|
| 61 | .S X=X_"Site: "_SITE | 
|---|
| 62 | .S X=$$ADDLINE^VAQCON1(X,XMZ,LINE) | 
|---|
| 63 | .S LINE=LINE+1 | 
|---|
| 64 | .S X=$$REPEAT^VAQUTL1(" ",($L(ERRNUM)+6)) | 
|---|
| 65 | .S X=X_"Domain: "_DOMAIN | 
|---|
| 66 | .S X=$$ADDLINE^VAQCON1(X,XMZ,LINE) | 
|---|
| 67 | .S LINE=LINE+1 | 
|---|
| 68 | .S X=$$REPEAT^VAQUTL1(" ",($L(ERRNUM)+6)) | 
|---|
| 69 | .S X=X_"Message Type: " | 
|---|
| 70 | .S:(TYPE="-1") X=X_"Could not be determined (Contact your PDX ADPAC)" | 
|---|
| 71 | .S:(TYPE="REQ") X=X_"PDX Request" | 
|---|
| 72 | .S:(TYPE="RES") X=X_"Results from processing an external request" | 
|---|
| 73 | .S:(TYPE="UNS") X=X_"Unsolicited PDX" | 
|---|
| 74 | .S:((TYPE="VAQ-RQACK")!(TYPE="VAQ-UNACK")) X=X_"Acknowledgment (Contact your PDX ADPAC)" | 
|---|
| 75 | .S:(TYPE="RET") X=X_"Re-transmit (Contact your PDX ADPAC)" | 
|---|
| 76 | .S TMP=$$ADDLINE^VAQCON1(X,XMZ,LINE) | 
|---|
| 77 | .S LINE=LINE+1 | 
|---|
| 78 | .S ERRNUM=ERRNUM+1 | 
|---|
| 79 | ;SET ZERO NODE | 
|---|
| 80 | S X=$$SETZERO^VAQCON1(XMZ,(LINE-1)) | 
|---|
| 81 | S XMDUN="Patient Data eXchange" | 
|---|
| 82 | D ENT1^XMD | 
|---|
| 83 | Q | 
|---|
| 84 | ; | 
|---|
| 85 | ERR2IRM ;SEND ERROR MESSAGE TO IRM IF ALL TRANSMISSIONS WHERE NOT SENT | 
|---|
| 86 | ;  DECLARATIONS TAKEN CARE OF IN GENXMIT^VAQADM50 | 
|---|
| 87 | S TMP="UNABLE TO SEND MESSAGES" | 
|---|
| 88 | S XMZ=$$MAKESTUB^VAQCON1(TMP,"PDX") | 
|---|
| 89 | Q:(XMZ<1) | 
|---|
| 90 | S LINE=1 | 
|---|
| 91 | ;PUT IN ERROR MESSAGE | 
|---|
| 92 | S TMP="The following error(s) occurred while generating PDX transmissions ..." | 
|---|
| 93 | S X=$$ADDLINE^VAQCON1(TMP,XMZ,LINE) | 
|---|
| 94 | S LINE=LINE+1 | 
|---|
| 95 | S TRANS="" | 
|---|
| 96 | S ERRNUM=1 | 
|---|
| 97 | F  S TRANS=$O(@ARRAY3@(TRANS)) Q:('TRANS)  D | 
|---|
| 98 | .F TMP=1:1:2 S X=$$ADDLINE^VAQCON1("",XMZ,LINE),LINE=LINE+1 | 
|---|
| 99 | .S X=+$G(^VAT(394.61,TRANS,0)) | 
|---|
| 100 | .S TMP="("_ERRNUM_")  Transaction Number: "_X | 
|---|
| 101 | .S X=$$ADDLINE^VAQCON1(TMP,XMZ,LINE) | 
|---|
| 102 | .S LINE=LINE+1 | 
|---|
| 103 | .S X=$$REPEAT^VAQUTL1(" ",($L(ERRNUM)+6)) | 
|---|
| 104 | .S X=X_"IFN: "_TRANS | 
|---|
| 105 | .S X=$$ADDLINE^VAQCON1(X,XMZ,LINE) | 
|---|
| 106 | .S LINE=LINE+1 | 
|---|
| 107 | .S X=$$REPEAT^VAQUTL1(" ",($L(ERRNUM)+6)) | 
|---|
| 108 | .S X=X_"Global Location: ^VAT(394.61,"_TRANS_")" | 
|---|
| 109 | .S X=$$ADDLINE^VAQCON1(X,XMZ,LINE) | 
|---|
| 110 | .S LINE=LINE+1 | 
|---|
| 111 | .S TMP=$$SENDER^VAQCON2(TRANS) | 
|---|
| 112 | .S:(TMP="") TMP="Unknown^??" | 
|---|
| 113 | .S X=$$REPEAT^VAQUTL1(" ",($L(ERRNUM)+6)) | 
|---|
| 114 | .S X=X_"User: "_$P(TMP,"^",1)_"  ("_$P(TMP,"^",2)_")" | 
|---|
| 115 | .S TMP=$$ADDLINE^VAQCON1(X,XMZ,LINE) | 
|---|
| 116 | .S LINE=LINE+1 | 
|---|
| 117 | .S X="" | 
|---|
| 118 | .F  S X=$O(@ARRAY3@(TRANS,X)) Q:(X="")  D | 
|---|
| 119 | ..S TMP=$$REPEAT^VAQUTL1(" ",($L(ERRNUM)+6)) | 
|---|
| 120 | ..S TMP=TMP_$G(@ARRAY3@(TRANS,X)) | 
|---|
| 121 | ..S TMP=$$ADDLINE^VAQCON1(TMP,XMZ,LINE) | 
|---|
| 122 | ..S LINE=LINE+1 | 
|---|
| 123 | .S ERRNUM=ERRNUM+1 | 
|---|
| 124 | ;SET ZERO NODE | 
|---|
| 125 | S X=$$SETZERO^VAQCON1(XMZ,(LINE-1)) | 
|---|
| 126 | ;SEND TO IRM/ERROR GROUP | 
|---|
| 127 | S XMY("G.VAQ PDX ERRORS")="" | 
|---|
| 128 | S XMDUN="Patient Data eXchange" | 
|---|
| 129 | D ENT1^XMD | 
|---|
| 130 | Q | 
|---|