Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: VAQADM21

VAQADM21.m

Go to the documentation of this file.
VAQADM21 ;ALB/JRP - MESSAGE ADMINISTRATION;20-MAY-93
 ;;1.5;PATIENT DATA EXCHANGE;;NOV 17, 1993
START ;START RESPONSE TIME MONITORING (TIME TO FILE A SINGLE MESSAGE)
 I ($D(XRTL)) D T0^%ZOSV
 Q
 ;
STOP ;STOP RESPONSE TIME MONITORING
 I ($D(XRT0)) S XRTN=$T(+0) D T1^%ZOSV K XRTN,XRT0
 Q
 ;
ACTIONS ;ACTIONS FOR PDX SERVER (CONTINUATION FOR VAQADM2)
 ;  DECLARATIONS DONE IN SERVER^VAQADM2
 S MESSAGE=""
 F  S MESSAGE=$O(@PARSE@(MESSAGE)) Q:(MESSAGE="")  D START D  D STOP
 .S TRANS=""
 .S STATUS=""
 .S TYPE=""
 .;FILE HEADER BLOCK
 .S XMER=$$HEADER^VAQFIL10(MESSAGE,PARSE)
 .I ($P(XMER,"^",1)="-1") S $P(XMER,"^",1)="header" D ERROR Q
 .S TRANS=+XMER
 .S XMER=$$STATYPE^VAQFIL11(MESSAGE,PARSE)
 .I ($P(XMER,"^",1)="-1") S $P(XMER,"^",1)="header" D ERROR Q
 .S STATUS=$P(XMER,"^",1)
 .S TYPE=$P(XMER,"^",2)
 .;FILE DOMAIN BLOCK
 .S XMER=$$DOMAIN^VAQFIL12(MESSAGE,PARSE,TRANS)
 .I (XMER) S $P(XMER,"^",1)="domain" D ERROR Q
 .;DONE IF ACK
 .I (TYPE="ACK") D  Q
 ..;FILE STATUS
 ..S TMP=$$FILEINFO^VAQFILE(394.61,TRANS,.02,STATUS)
 ..;RESET PURGE FLAGE
 ..S TMP=$$FILEINFO^VAQFILE(394.61,TRANS,90,"NO")
 .;DONE IF RETRANSMIT
 .I (TYPE="RET") D  Q
 ..;FILE STATUS
 ..S TMP=$$FILEINFO^VAQFILE(394.61,TRANS,.02,STATUS)
 ..;RESET PURGE FLAGE
 ..S TMP=$$FILEINFO^VAQFILE(394.61,TRANS,90,"NO")
 ..;QUEUE TRANSMISSION
 ..K @XMIT
 ..S @XMIT@(TRANS)=""
 ..S XMER=$$GENTASK^VAQADM5(XMIT) S:(XMER>0) XMER=0
 ..K @XMIT
 ..I (XMER) D
 ...S @ERROR@(MESSAGE,1)="Unable to queue retransmission  (IFN: "_TRANS_")"
 ...S @ERROR@(MESSAGE,2)=$P(XMER,"^",2)
 .;FILE USER BLOCK
 .S XMER=$$USER^VAQFIL13(MESSAGE,PARSE,TRANS)
 .I (XMER) S $P(XMER,"^",1)="user" D ERROR Q
 .;FILE LOCAL FACILITY NAME FOR REQUESTS & UNSOLICITED PDXS RECEIVED
 .I (TYPE="REQ") S TMP=$$FILEINFO^VAQFILE(394.61,TRANS,60,LOCSITE)
 .I (TYPE="UNS") S TMP=$$FILEINFO^VAQFILE(394.61,TRANS,30,LOCSITE)
 .;FILE PATIENT BLOCK
 .S XMER=$$PATIENT^VAQFIL15(MESSAGE,PARSE,TRANS)
 .I (XMER) S $P(XMER,"^",1)="patient" D ERROR Q
 .;FILE SEGMENT BLOCK
 .S XMER=$$SEGMENT^VAQFIL16(MESSAGE,PARSE,TRANS)
 .I (XMER) S $P(XMER,"^",1)="segment" D ERROR Q
 .;DONE IF REQUEST
 .I (TYPE="REQ") D  Q
 ..S XMER=$$AUTO^VAQADM22(TRANS)
 ..I (XMER) D
 ...S @ERROR@(MESSAGE,1)="Unable to complete automatic processing"
 ...S @ERROR@(MESSAGE,2)=$P(XMER,"^",2)
 .;FILE COMMENT BLOCK
 .S XMER=$$COMMENT^VAQFIL14(MESSAGE,PARSE,TRANS)
 .I (XMER) S $P(XMER,"^",1)="comment" D ERROR Q
 .;FILE ALL DATA BLOCKS
 .S XMER=$$DATA^VAQFIL18(MESSAGE,PARSE,TRANS)
 .I (XMER) S $P(XMER,"^",1)="data" D ERROR Q
 .;FILE ALL DISPLAY BLOCKS
 .S XMER=$$DISPLAY^VAQFIL17(MESSAGE,PARSE,TRANS)
 .I (XMER) S $P(XMER,"^",1)="display" D ERROR Q
 .;SEND RESULTS RECEIVED BULLETIN
 .I (TYPE="RES") D  Q
 ..;FILE STATUS
 ..S TMP=$$FILEINFO^VAQFILE(394.61,TRANS,.02,STATUS)
 ..;RESET PURGE FLAGE
 ..S TMP=$$FILEINFO^VAQFILE(394.61,TRANS,90,"NO")
 ..;SEND BULLETIN
 ..S XMER=$$RESULTS^VAQBUL03(TRANS)
 ..I (XMER) D
 ...S @ERROR@(MESSAGE,1)="Unable to send results received bulletin"
 ...S @ERROR@(MESSAGE,2)=$P(XMER,"^",2)
 ...S @ERROR@(MESSAGE,3)="Was able to file transaction (IFN:"_TRANS_")"
 .;COMPLETE UNSOLICITED
 .I (TYPE="UNS") D  Q
 ..;FILE STATUS
 ..S TMP=$$FILEINFO^VAQFILE(394.61,TRANS,.02,STATUS)
 ..;RESET PURGE FLAGE
 ..S TMP=$$FILEINFO^VAQFILE(394.61,TRANS,90,"NO")
 ..;SEND BULLETIN
 ..S XMER=$$UNSOL^VAQBUL06(TRANS)
 ..I (XMER) D
 ...S @ERROR@(MESSAGE,1)="Unable to send Unsolicited PDX received bulletin"
 ...S @ERROR@(MESSAGE,2)=$P(XMER,"^",2)
 ..;QUEUE ACK
 ..S XMER=$$FILEINFO^VAQFILE(394.61,TRANS,.05,"VAQ-UNACK")
 ..I (XMER) D
 ...S @ERROR@(MESSAGE,5)="Unable to acknowledge receipt of Unsolicited PDX"
 ...S @ERROR@(MESSAGE,6)=$P(XMER,"^",2)
 ..K @XMIT
 ..S @XMIT@(TRANS)=""
 ..I (('XMER)&(VERSION'=1)) S XMER=$$GENTASK^VAQADM5(XMIT) S:(XMER>0) XMER=0
 ..K @XMIT
 ..I (XMER) D
 ...S @ERROR@(MESSAGE,10)="Unable to queue acknowledgement for receipt of Unsolicited PDX"
 ...S @ERROR@(MESSAGE,11)=$P(XMER,"^",2)
 ..S:(+$O(@ERROR@(MESSAGE,""))) @ERROR@(MESSAGE,15)="Was able to file transaction (IFN:"_TRANS_")",XMER="-1^Error completing receipt of Unsolicited PDX"
 S XMER=0
 Q
 ;
ERROR ;MAKE ENTRY IN ERROR ARRAY
 S @ERROR@(MESSAGE,1)="Error occurred while filing "_$P(XMER,"^",1)_" block"
 S @ERROR@(MESSAGE,2)=$P(XMER,"^",2)
 S XMER=-1
 ;TRANSACTION NOT CREATED
 I ('TRANS) S @ERROR@(MESSAGE,3)="(Transaction was not created)" Q
 ;DELETE TRANSACTION
 S TMP=$$DELTRAN^VAQFILE(TRANS)
 S @ERROR@(MESSAGE,3)="Transaction "_$S(TMP:"not ",1:"")_"deleted  (IFN: "_TRANS_")"
 Q