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

VAQFIL11.m

Go to the documentation of this file.
  1. VAQFIL11 ;ALB/JRP - MESSAGE FILING;12-MAY-93
  1. ;;1.5;PATIENT DATA EXCHANGE;;NOV 17, 1993
  1. ; DECLARATIONS DONE IN $$HEADER^VAQFIL10
  1. ;FILE RECEIVING MESSAGE STATUS
  1. S ERR=0
  1. S ERR=$$FILEINFO^VAQFILE(394.61,TRANPTR,.02,"VAQ-RCVE")
  1. I (ERR) S:(NEWTRAN) TMP=$$DELTRAN^VAQFILE(TRANPTR) S ERR="-1^Unable to mark transaction as a transmission that is being received" Q
  1. ;DONE IF ACK
  1. Q:(TYPE="ACK")
  1. ;FILE REMOTE VERSION NUMBER
  1. S ERR=$$FILEINFO^VAQFILE(394.61,TRANPTR,.07,VERSION)
  1. I (ERR) S:(NEWTRAN) TMP=$$DELTRAN^VAQFILE(TRANPTR) S ERR="-1^Unable to file remote version number ("_VERSION_")" Q
  1. ;DONE IF RETRANSMIT
  1. Q:(TYPE="RET")
  1. ;FILE DATE & TIME OF TRANSMISSION
  1. S TMP=$S((TYPE="REQ"):20,1:50)
  1. S ERR=$$FILEINFO^VAQFILE(394.61,TRANPTR,TMP,DATETIME)
  1. I (ERR) S:(NEWTRAN) TMP=$$DELTRAN^VAQFILE(TRANPTR) S ERR="-1^Unable to file date & time ("_DATETIME_")" Q
  1. ;FILE DATE & TIME UNSOLICITED RECEIVED
  1. I (STATUS="VAQ-UNSOL") D Q:(ERR)
  1. .S ERR=$$FILEINFO^VAQFILE(394.61,TRANPTR,20,"NOW")
  1. .I (ERR) S:(NEWTRAN) TMP=$$DELTRAN^VAQFILE(TRANPTR) S ERR="-1^Unable to file date & time Unsolicited was received"
  1. ;FILE REMOTE TRANSACTION NUMBER
  1. S:(TYPE'="RES") ERR=$$FILEINFO^VAQFILE(394.61,TRANPTR,.06,TRANSNUM)
  1. I (ERR) S:(NEWTRAN) TMP=$$DELTRAN^VAQFILE(TRANPTR) S ERR="-1^Unable to file remote transaction number ("_TRANSNUM_")" Q
  1. ;FILE ENCRYPTION FLAG
  1. S TMP=$S((ENCMTHD=""):"NO",1:"YES")
  1. S ERR=$$FILEINFO^VAQFILE(394.61,TRANPTR,40,TMP)
  1. I (ERR) S:(NEWTRAN) TMP=$$DELTRAN^VAQFILE(TRANPTR) S ERR="-1^Unable to file encryption flag ("_$S((ENCMTHD=""):"NO",1:"YES")_")" Q
  1. ;FILE ENCRYPTION METHOD
  1. S:(ENCMTHD'="") ERR=$$FILEINFO^VAQFILE(394.61,TRANPTR,41,ENCMTHD)
  1. I (ERR) S:(NEWTRAN) TMP=$$DELTRAN^VAQFILE(TRANPTR) S ERR="-1^Unable to file encryption method ("_ENCMTHD_")" Q
  1. S ERR=0
  1. Q
  1. ;
  1. STATYPE(MESSNUM,PARSARR) ;RETURN STATUS & TYPE FOR A PARSED MESSAGE
  1. ;INPUT : MESSNUM - Message number in transmission (not XMZ)
  1. ; (defaults to 1)
  1. ; PARSARR - Parsing array (full global reference)
  1. ;OUTPUT : Status^Type - Success
  1. ; -1^Error_Text - Error
  1. ;
  1. ;CHECK INPUT
  1. S:($G(MESSNUM)="") MESSNUM=1
  1. Q:($G(PARSARR)="") "-1^Did not pass reference to parsing array"
  1. Q:('$D(@PARSARR@(MESSNUM))) "-1^Did not pass valid message number"
  1. Q:('$D(@PARSARR@(MESSNUM,"HEADER",1))) "-1^Message did not contain a header block"
  1. ;DECLARE VARIABLES
  1. N STATUS,TYPE
  1. S TYPE=$G(@PARSARR@(MESSNUM,"HEADER",1,2))
  1. S:(TYPE=" ") TYPE=""
  1. Q:(TYPE="") "-1^Could not determine message type"
  1. S STATUS=$G(@PARSARR@(MESSNUM,"HEADER",1,3))
  1. S:(STATUS=" ") STATUS=""
  1. Q:(STATUS="") "-1^Could not determine message status"
  1. Q STATUS_"^"_TYPE
  1. ;
  1. DECMTHD(MESSNUM,PARSARR,RET) ;RETURN DECRYPTION METHOD FOR A PARSED MESSAGE
  1. ;INPUT : MESSNUM - Message number in transmission (not XMZ)
  1. ; (defaults to 1)
  1. ; PARSARR - Parsing array (full global reference)
  1. ; RET - Flag indicating what to return
  1. ; 1 = Return pointer to VAQ - ENCRYPTION file (default)
  1. ; Return 0 if no encryption listed
  1. ; 2 = Return decryption method
  1. ; Return "" if no encryption listed
  1. ; 3 = Return type of encryption used
  1. ; Return "" if no encryption listed
  1. ;OUTPUT : See definition of RET
  1. ;
  1. ;CHECK INPUT
  1. S:($G(MESSNUM)="") MESSNUM=1
  1. Q:($G(PARSARR)="") ""
  1. Q:('$D(@PARSARR@(MESSNUM))) ""
  1. Q:('$D(@PARSARR@(MESSNUM,"HEADER",1))) ""
  1. S RET=+$G(RET)
  1. S:('RET) RET=1
  1. ;DECLARE VARIABLES
  1. N PTR,TYPE
  1. ;GET TYPE OF ENCRYPTION USED
  1. S TYPE=$G(@PARSARR@(MESSNUM,"HEADER",1,8))
  1. S:(TYPE=" ") TYPE=""
  1. ;NONE LISTED
  1. Q:(TYPE="") $S((RET=1):0,1:"")
  1. ;RETURN TYPE
  1. Q:(RET=3) TYPE
  1. ;GET POINTER
  1. S PTR=+$O(^VAT(394.72,"B",TYPE,""))
  1. Q:(RET=1) PTR
  1. Q:('PTR) ""
  1. ;GET METHOD
  1. Q $G(^VAT(394.72,PTR,"DCR"))