| [613] | 1 | VAQADM21 ;ALB/JRP - MESSAGE ADMINISTRATION;20-MAY-93
 | 
|---|
 | 2 |  ;;1.5;PATIENT DATA EXCHANGE;;NOV 17, 1993
 | 
|---|
 | 3 | START ;START RESPONSE TIME MONITORING (TIME TO FILE A SINGLE MESSAGE)
 | 
|---|
 | 4 |  I ($D(XRTL)) D T0^%ZOSV
 | 
|---|
 | 5 |  Q
 | 
|---|
 | 6 |  ;
 | 
|---|
 | 7 | STOP ;STOP RESPONSE TIME MONITORING
 | 
|---|
 | 8 |  I ($D(XRT0)) S XRTN=$T(+0) D T1^%ZOSV K XRTN,XRT0
 | 
|---|
 | 9 |  Q
 | 
|---|
 | 10 |  ;
 | 
|---|
 | 11 | ACTIONS ;ACTIONS FOR PDX SERVER (CONTINUATION FOR VAQADM2)
 | 
|---|
 | 12 |  ;  DECLARATIONS DONE IN SERVER^VAQADM2
 | 
|---|
 | 13 |  S MESSAGE=""
 | 
|---|
 | 14 |  F  S MESSAGE=$O(@PARSE@(MESSAGE)) Q:(MESSAGE="")  D START D  D STOP
 | 
|---|
 | 15 |  .S TRANS=""
 | 
|---|
 | 16 |  .S STATUS=""
 | 
|---|
 | 17 |  .S TYPE=""
 | 
|---|
 | 18 |  .;FILE HEADER BLOCK
 | 
|---|
 | 19 |  .S XMER=$$HEADER^VAQFIL10(MESSAGE,PARSE)
 | 
|---|
 | 20 |  .I ($P(XMER,"^",1)="-1") S $P(XMER,"^",1)="header" D ERROR Q
 | 
|---|
 | 21 |  .S TRANS=+XMER
 | 
|---|
 | 22 |  .S XMER=$$STATYPE^VAQFIL11(MESSAGE,PARSE)
 | 
|---|
 | 23 |  .I ($P(XMER,"^",1)="-1") S $P(XMER,"^",1)="header" D ERROR Q
 | 
|---|
 | 24 |  .S STATUS=$P(XMER,"^",1)
 | 
|---|
 | 25 |  .S TYPE=$P(XMER,"^",2)
 | 
|---|
 | 26 |  .;FILE DOMAIN BLOCK
 | 
|---|
 | 27 |  .S XMER=$$DOMAIN^VAQFIL12(MESSAGE,PARSE,TRANS)
 | 
|---|
 | 28 |  .I (XMER) S $P(XMER,"^",1)="domain" D ERROR Q
 | 
|---|
 | 29 |  .;DONE IF ACK
 | 
|---|
 | 30 |  .I (TYPE="ACK") D  Q
 | 
|---|
 | 31 |  ..;FILE STATUS
 | 
|---|
 | 32 |  ..S TMP=$$FILEINFO^VAQFILE(394.61,TRANS,.02,STATUS)
 | 
|---|
 | 33 |  ..;RESET PURGE FLAGE
 | 
|---|
 | 34 |  ..S TMP=$$FILEINFO^VAQFILE(394.61,TRANS,90,"NO")
 | 
|---|
 | 35 |  .;DONE IF RETRANSMIT
 | 
|---|
 | 36 |  .I (TYPE="RET") D  Q
 | 
|---|
 | 37 |  ..;FILE STATUS
 | 
|---|
 | 38 |  ..S TMP=$$FILEINFO^VAQFILE(394.61,TRANS,.02,STATUS)
 | 
|---|
 | 39 |  ..;RESET PURGE FLAGE
 | 
|---|
 | 40 |  ..S TMP=$$FILEINFO^VAQFILE(394.61,TRANS,90,"NO")
 | 
|---|
 | 41 |  ..;QUEUE TRANSMISSION
 | 
|---|
 | 42 |  ..K @XMIT
 | 
|---|
 | 43 |  ..S @XMIT@(TRANS)=""
 | 
|---|
 | 44 |  ..S XMER=$$GENTASK^VAQADM5(XMIT) S:(XMER>0) XMER=0
 | 
|---|
 | 45 |  ..K @XMIT
 | 
|---|
 | 46 |  ..I (XMER) D
 | 
|---|
 | 47 |  ...S @ERROR@(MESSAGE,1)="Unable to queue retransmission  (IFN: "_TRANS_")"
 | 
|---|
 | 48 |  ...S @ERROR@(MESSAGE,2)=$P(XMER,"^",2)
 | 
|---|
 | 49 |  .;FILE USER BLOCK
 | 
|---|
 | 50 |  .S XMER=$$USER^VAQFIL13(MESSAGE,PARSE,TRANS)
 | 
|---|
 | 51 |  .I (XMER) S $P(XMER,"^",1)="user" D ERROR Q
 | 
|---|
 | 52 |  .;FILE LOCAL FACILITY NAME FOR REQUESTS & UNSOLICITED PDXS RECEIVED
 | 
|---|
 | 53 |  .I (TYPE="REQ") S TMP=$$FILEINFO^VAQFILE(394.61,TRANS,60,LOCSITE)
 | 
|---|
 | 54 |  .I (TYPE="UNS") S TMP=$$FILEINFO^VAQFILE(394.61,TRANS,30,LOCSITE)
 | 
|---|
 | 55 |  .;FILE PATIENT BLOCK
 | 
|---|
 | 56 |  .S XMER=$$PATIENT^VAQFIL15(MESSAGE,PARSE,TRANS)
 | 
|---|
 | 57 |  .I (XMER) S $P(XMER,"^",1)="patient" D ERROR Q
 | 
|---|
 | 58 |  .;FILE SEGMENT BLOCK
 | 
|---|
 | 59 |  .S XMER=$$SEGMENT^VAQFIL16(MESSAGE,PARSE,TRANS)
 | 
|---|
 | 60 |  .I (XMER) S $P(XMER,"^",1)="segment" D ERROR Q
 | 
|---|
 | 61 |  .;DONE IF REQUEST
 | 
|---|
 | 62 |  .I (TYPE="REQ") D  Q
 | 
|---|
 | 63 |  ..S XMER=$$AUTO^VAQADM22(TRANS)
 | 
|---|
 | 64 |  ..I (XMER) D
 | 
|---|
 | 65 |  ...S @ERROR@(MESSAGE,1)="Unable to complete automatic processing"
 | 
|---|
 | 66 |  ...S @ERROR@(MESSAGE,2)=$P(XMER,"^",2)
 | 
|---|
 | 67 |  .;FILE COMMENT BLOCK
 | 
|---|
 | 68 |  .S XMER=$$COMMENT^VAQFIL14(MESSAGE,PARSE,TRANS)
 | 
|---|
 | 69 |  .I (XMER) S $P(XMER,"^",1)="comment" D ERROR Q
 | 
|---|
 | 70 |  .;FILE ALL DATA BLOCKS
 | 
|---|
 | 71 |  .S XMER=$$DATA^VAQFIL18(MESSAGE,PARSE,TRANS)
 | 
|---|
 | 72 |  .I (XMER) S $P(XMER,"^",1)="data" D ERROR Q
 | 
|---|
 | 73 |  .;FILE ALL DISPLAY BLOCKS
 | 
|---|
 | 74 |  .S XMER=$$DISPLAY^VAQFIL17(MESSAGE,PARSE,TRANS)
 | 
|---|
 | 75 |  .I (XMER) S $P(XMER,"^",1)="display" D ERROR Q
 | 
|---|
 | 76 |  .;SEND RESULTS RECEIVED BULLETIN
 | 
|---|
 | 77 |  .I (TYPE="RES") D  Q
 | 
|---|
 | 78 |  ..;FILE STATUS
 | 
|---|
 | 79 |  ..S TMP=$$FILEINFO^VAQFILE(394.61,TRANS,.02,STATUS)
 | 
|---|
 | 80 |  ..;RESET PURGE FLAGE
 | 
|---|
 | 81 |  ..S TMP=$$FILEINFO^VAQFILE(394.61,TRANS,90,"NO")
 | 
|---|
 | 82 |  ..;SEND BULLETIN
 | 
|---|
 | 83 |  ..S XMER=$$RESULTS^VAQBUL03(TRANS)
 | 
|---|
 | 84 |  ..I (XMER) D
 | 
|---|
 | 85 |  ...S @ERROR@(MESSAGE,1)="Unable to send results received bulletin"
 | 
|---|
 | 86 |  ...S @ERROR@(MESSAGE,2)=$P(XMER,"^",2)
 | 
|---|
 | 87 |  ...S @ERROR@(MESSAGE,3)="Was able to file transaction (IFN:"_TRANS_")"
 | 
|---|
 | 88 |  .;COMPLETE UNSOLICITED
 | 
|---|
 | 89 |  .I (TYPE="UNS") D  Q
 | 
|---|
 | 90 |  ..;FILE STATUS
 | 
|---|
 | 91 |  ..S TMP=$$FILEINFO^VAQFILE(394.61,TRANS,.02,STATUS)
 | 
|---|
 | 92 |  ..;RESET PURGE FLAGE
 | 
|---|
 | 93 |  ..S TMP=$$FILEINFO^VAQFILE(394.61,TRANS,90,"NO")
 | 
|---|
 | 94 |  ..;SEND BULLETIN
 | 
|---|
 | 95 |  ..S XMER=$$UNSOL^VAQBUL06(TRANS)
 | 
|---|
 | 96 |  ..I (XMER) D
 | 
|---|
 | 97 |  ...S @ERROR@(MESSAGE,1)="Unable to send Unsolicited PDX received bulletin"
 | 
|---|
 | 98 |  ...S @ERROR@(MESSAGE,2)=$P(XMER,"^",2)
 | 
|---|
 | 99 |  ..;QUEUE ACK
 | 
|---|
 | 100 |  ..S XMER=$$FILEINFO^VAQFILE(394.61,TRANS,.05,"VAQ-UNACK")
 | 
|---|
 | 101 |  ..I (XMER) D
 | 
|---|
 | 102 |  ...S @ERROR@(MESSAGE,5)="Unable to acknowledge receipt of Unsolicited PDX"
 | 
|---|
 | 103 |  ...S @ERROR@(MESSAGE,6)=$P(XMER,"^",2)
 | 
|---|
 | 104 |  ..K @XMIT
 | 
|---|
 | 105 |  ..S @XMIT@(TRANS)=""
 | 
|---|
 | 106 |  ..I (('XMER)&(VERSION'=1)) S XMER=$$GENTASK^VAQADM5(XMIT) S:(XMER>0) XMER=0
 | 
|---|
 | 107 |  ..K @XMIT
 | 
|---|
 | 108 |  ..I (XMER) D
 | 
|---|
 | 109 |  ...S @ERROR@(MESSAGE,10)="Unable to queue acknowledgement for receipt of Unsolicited PDX"
 | 
|---|
 | 110 |  ...S @ERROR@(MESSAGE,11)=$P(XMER,"^",2)
 | 
|---|
 | 111 |  ..S:(+$O(@ERROR@(MESSAGE,""))) @ERROR@(MESSAGE,15)="Was able to file transaction (IFN:"_TRANS_")",XMER="-1^Error completing receipt of Unsolicited PDX"
 | 
|---|
 | 112 |  S XMER=0
 | 
|---|
 | 113 |  Q
 | 
|---|
 | 114 |  ;
 | 
|---|
 | 115 | ERROR ;MAKE ENTRY IN ERROR ARRAY
 | 
|---|
 | 116 |  S @ERROR@(MESSAGE,1)="Error occurred while filing "_$P(XMER,"^",1)_" block"
 | 
|---|
 | 117 |  S @ERROR@(MESSAGE,2)=$P(XMER,"^",2)
 | 
|---|
 | 118 |  S XMER=-1
 | 
|---|
 | 119 |  ;TRANSACTION NOT CREATED
 | 
|---|
 | 120 |  I ('TRANS) S @ERROR@(MESSAGE,3)="(Transaction was not created)" Q
 | 
|---|
 | 121 |  ;DELETE TRANSACTION
 | 
|---|
 | 122 |  S TMP=$$DELTRAN^VAQFILE(TRANS)
 | 
|---|
 | 123 |  S @ERROR@(MESSAGE,3)="Transaction "_$S(TMP:"not ",1:"")_"deleted  (IFN: "_TRANS_")"
 | 
|---|
 | 124 |  Q
 | 
|---|