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

VAQBUL03.m

Go to the documentation of this file.
VAQBUL03 ;ALB/JRP - BULLETINS;25-MAY-93
 ;;1.5;PATIENT DATA EXCHANGE;**9**;NOV 17, 1993
RESULTS(TRANPTR) ;SEND RESULTS RECEIVED BULLETIN
 ;INPUT  : TRANPTR - Pointer to VAQ - TRANSACTION file
 ;OUTPUT : 0 - Bulletin sent
 ;         -1^Error_Text - Bulletin not sent
 ;
 ;CHECK INPUT
 S TRANPTR=+$G(TRANPTR)
 Q:(('TRANPTR)!('$D(^VAT(394.61,TRANPTR)))) "-1^Did not pass valid transaction"
 ;DECLARE VARIABLES
 N TRANNUM,NAME,PID,DOB,RQSTBY,RQSTON,ATHRBY,SITE,DOMAIN
 N STATUS,TMP,TMPARR,LINE,OFFSET,SPACE,COMMENT,X,DIWL,DIWR,DIWF
 N SENSITVE,DFN,XMY,Y,TMPROOT,ERROR
 S TMPARR="^TMP(""VAQ-BUL"","_$J_")"
 K @TMPARR,^UTILITY($J,"W")
 S SPACE="  "
 ;DETERMINE RESULT OF REQUEST
 S TMP=$$STATYPE^VAQCON1(TRANPTR,1)
 Q:($P(TMP,"^",1)="-1") TMP
 Q:($P(TMP,"^",2)'="RES") "-1^Transaction did not contain results of a request"
 S STATUS=$P(TMP,"^",1)
 ;GET TRANSACTION NUMBER
 S TMP=$G(^VAT(394.61,TRANPTR,0))
 S TRANNUM=+TMP
 Q:('TRANNUM) "-1^Transaction did not contain a transaction number"
 ;GET PATIENT POINTER
 S DFN=+$P(TMP,"^",3)
 ;CHECK REMOTE SENSITIVITY (SET TO 1 IF SENSITIVE)
 S SENSITVE=+$P(TMP,"^",4)
 ;CHECK LOCAL SENSITIVITY (SET TO 2 IF SENSITIVE)
 I (('SENSITVE)&(DFN)) D
 .S SENSITVE=+$$GETSEN^VAQUTL97(DFN)
 .;ON ERROR ASSUME SENSITIVE
 .S:(SENSITVE) SENSITVE=2
 ;RETURN SUCCESS IF NOTIFICATION WAS NOT REQUESTED AND PATIENT
 ; IS NOT SENSITIVE AT LOCAL AND REMOTE FACILITY
 I ('(+$O(^VAT(394.61,TRANPTR,"NTFY2",0)))) Q:('SENSITVE) 0
 ;GET PATIENT INFORMATION
 S TMP=$G(^VAT(394.61,TRANPTR,"QRY"))
 S NAME=$P(TMP,"^",1)
 S:(NAME="") NAME="Not listed"
 S DOB=$$DOBFMT^VAQUTL99($P(TMP,"^",3),0)
 S:(DOB="") DOB="Not listed"
 S PID=$P(TMP,"^",4)
 I (PID="") D
 .;GET PID FROM SSN
 .S PID=$P(TMP,"^",2)
 .I (PID="") S PID="Not listed" Q
 .S PID=$$DASHSSN^VAQUTL99(PID)
 ;GET REQUEST INFORMATION
 S TMP=$G(^VAT(394.61,TRANPTR,"RQST1"))
 S RQSTON=$$DOBFMT^VAQUTL99($P(TMP,"^",1),1)
 S:(RQSTON="") RQSTON="Could not be determined"
 S RQSTBY=$P(TMP,"^",2)
 S:(RQSTBY="") RQSTBY="Unknown"
 ;GET REMOTE INFORMATION
 S TMP=$G(^VAT(394.61,TRANPTR,"ATHR1"))
 S ATHRBY=$P(TMP,"^",2)
 S:(ATHRBY="") ATHBY="Uknown"
 S:(ATHRBY="POSTMASTER") ATHBY="PDX Server"
 S TMP=$G(^VAT(394.61,TRANPTR,"ATHR2"))
 S SITE=$P(TMP,"^",1)
 S:(SITE="") SITE="Could not be determined"
 S DOMAIN=$P(TMP,"^",2)
 S:(DOMAIN="") DOMAIN="Could not be determined"
 ;BUILD MESSAGE
 S LINE=1
 S TMP="Your request for information has been "
 S TMP=TMP_$S((STATUS="VAQ-RSLT"):"processed and returned",1:"rejected")_" ..."
 S @TMPARR@("DISPLAY",LINE,0)=TMP
 S LINE=LINE+1
 S TMP=""
 S @TMPARR@("DISPLAY",LINE,0)=TMP
 S LINE=LINE+1
 ;PUT IN TRANSACTION INFO
 S TMP=SPACE_"Transaction number: "_TRANNUM
 S @TMPARR@("DISPLAY",LINE,0)=TMP
 S LINE=LINE+1
 S TMP=SPACE_"Name: "_NAME
 S @TMPARR@("DISPLAY",LINE,0)=TMP
 S LINE=LINE+1
 S TMP=SPACE_"PID: "_PID
 S @TMPARR@("DISPLAY",LINE,0)=TMP
 S LINE=LINE+1
 S TMP=SPACE_"DOB: "_DOB
 S @TMPARR@("DISPLAY",LINE,0)=TMP
 S LINE=LINE+1
 S TMP=""
 S @TMPARR@("DISPLAY",LINE,0)=TMP
 S LINE=LINE+1
 ;PRINT SENSITIVITY
 I (SENSITVE) D
 .S TMP="*** PATIENT WAS LISTED AS SENSITIVE AT THE REMOTE FACILITY ***"
 .S:(SENSITVE=2) TMP="*** PATIENT IS LISTED AS SENSITIVE IN YOUR FACILITY ***"
 .S TMP=SPACE_TMP
 .S @TMPARR@("DISPLAY",LINE,0)=TMP
 .S LINE=LINE+1
 .S TMP=""
 .S @TMPARR@("DISPLAY",LINE,0)=TMP
 .S LINE=LINE+1
 ;PUT IN REQUESTING INFO
 S TMP=SPACE_"Requested by: "_RQSTBY
 S @TMPARR@("DISPLAY",LINE,0)=TMP
 S LINE=LINE+1
 S TMP=SPACE_"Requested on: "_RQSTON
 S @TMPARR@("DISPLAY",LINE,0)=TMP
 S LINE=LINE+1
 S TMP=""
 S @TMPARR@("DISPLAY",LINE,0)=TMP
 S LINE=LINE+1
 ;PUT IN AUTHORIZING INFO
 S TMP=SPACE_"Processed by: "_ATHRBY
 S @TMPARR@("DISPLAY",LINE,0)=TMP
 S LINE=LINE+1
 S TMP=SPACE_"Site: "_SITE
 S @TMPARR@("DISPLAY",LINE,0)=TMP
 S LINE=LINE+1
 S TMP=SPACE_"Domain: "_DOMAIN
 S @TMPARR@("DISPLAY",LINE,0)=TMP
 S LINE=LINE+1
 S TMP=""
 S @TMPARR@("DISPLAY",LINE,0)=TMP
 S LINE=LINE+1
 ;CONTINUATION
 S ERROR=0
 D RESULTS^VAQBUL04
 ;DONE (CLEAN UP)
 K @TMPARR,^UTILITY($J,"W")
 Q ERROR