VAQBUL04 ;ALB/JRP - BULLETINS;25-MAY-93
 ;;1.5;PATIENT DATA EXCHANGE;**9**;NOV 17, 1993
RESULTS ;CONTINUATION OF VAQBUL03
 ;  DECLARATIONS DONE IN $$RESULTS^VAQBUL03
 ;PUT IN COMMENT/REASON
 I (STATUS="VAQ-NTFND") D
 .S TMP=SPACE_"Reason: Patient not found"
 .S @TMPARR@("DISPLAY",LINE,0)=TMP
 .S LINE=LINE+1
 I (STATUS="VAQ-AMBIG") D
 .S TMP=SPACE_"Reason: Requested patient could not be uniquely identified"
 .S @TMPARR@("DISPLAY",LINE,0)=TMP
 I ((STATUS="VAQ-RSLT")!(STATUS="VAQ-REJ")) D
 .;DETERMINE IF COMMENT EXIST
 .S COMMENT=0
 .S COMMENT=$D(^VAT(394.61,TRANPTR,"CMNT"))
 .S:(COMMENT) COMMENT=+$O(^VAT(394.61,TRANPTR,"CMNT",0))
 .;NO COMMENT/REASON
 .I ('COMMENT) D
 ..S TMP=SPACE_$S((STATUS="VAQ-RSLT"):"Comments: ",1:"Reason: ")_"None listed"
 ..S @TMPARR@("DISPLAY",LINE,0)=TMP
 ..S LINE=LINE+1
 .;COMMENT/REASON
 .I (COMMENT) D
 ..S TMP=SPACE_$S((STATUS="VAQ-RSLT"):"Comments:",1:"Reason:")
 ..S @TMPARR@("DISPLAY",LINE,0)=TMP
 ..S LINE=LINE+1
 ..;FORMAT TEXT
 ..K ^UTILITY($J,"W")
 ..S OFFSET=0
 ..F  S OFFSET=+$O(^VAT(394.61,TRANPTR,"CMNT",OFFSET)) Q:('OFFSET)  D
 ...S X=$G(^VAT(394.61,TRANPTR,"CMNT",OFFSET,0))
 ...S DIWL=0
 ...S DIWR=0
 ...S DIWF="I"_$L(SPACE)_"C75"
 ...D ^DIWP
 ..;PUT COMMENT/REASON INTO MESSAGE
 ..S OFFSET=""
 ..F  S OFFSET=$O(^UTILITY($J,"W",0,OFFSET)) Q:(OFFSET="")  D
 ...S TMP=$G(^UTILITY($J,"W",0,OFFSET,0))
 ...S @TMPARR@("DISPLAY",LINE,0)=TMP
 ...S LINE=LINE+1
 ..K ^UTILITY($J,"W")
 ;PUT IN DATA
 I ('SENSITVE) I (STATUS="VAQ-RSLT") I (+$G(^VAT(394.61,TRANPTR,"NTFY1"))) D
 .F X=1:1:3 S @TMPARR@("DISPLAY",LINE,0)="",LINE=LINE+1
 .S TMP=SPACE_"Requested information:"
 .S @TMPARR@("DISPLAY",LINE,0)=TMP
 .S LINE=LINE+1
 .F X=1:1:3 S @TMPARR@("DISPLAY",LINE,0)="",LINE=LINE+1
 .S X=$$TRNDSP^VAQUPD2(TRANPTR,TMPARR,LINE)
 .;SUCCESS
 .I (X>0) S LINE=LINE+X Q
 .;NO DATA
 .S LINE=LINE-4
 .S TMP=SPACE_"Requested data could not be included in notification"
 .S @TMPARR@("DISPLAY",LINE,0)=TMP
 .S LINE=LINE+1
 .I ('X) D  Q
 ..S TMP=SPACE_"Transaction did not contain any information"
 ..S @TMPARR@("DISPLAY",LINE,0)=TMP
 ..S LINE=LINE+1
 .;ERROR
 .I (X<0) D  Q
 ..S @TMPARR@("DISPLAY",LINE,0)=SPACE_"Error occurred while getting information from PDX files"
 ..S LINE=LINE+1
 ..S @TMPARR@("DISPLAY",LINE,0)=SPACE_$P(X,"^",2)
 ..S LINE=LINE+1
 .F X=1:1:2 S @TMPARR@("DISPLAY",LINE,0)="",LINE=LINE+1
 ;PLACE "DISPLAY" INTO ROOT
 S TMP=$P(TMPARR,"(",1)
 S X=$P(TMPARR,"(",2)
 S Y=$P(X,")",1)
 S:(Y="") TMPROOT=TMP_"("_$C(34)_"DISPLAY"_$C(34)_")"
 S:(Y'="") TMPROOT=TMP_"("_Y_","_$C(34)_"DISPLAY"_$C(34)_")"
 S:(TMPARR="") TMPROOT=""
 ;BUILD DISTRIBUTION LIST
 S X=""
 F  S X=+$O(^VAT(394.61,TRANPTR,"NTFY2","B",X)) Q:('X)  S XMY(X)=""
 ;INCLUDE SECURITY OFFICER IF PATIENT IS SENSITIVE AT REMOTE FACILITY
 S:(SENSITVE) X=$$LOADXMY^DGSEC()
 ;SEND BULLETIN
 S TMP="PDX Rejection for "_NAME
 S:(STATUS="VAQ-RSLT") TMP="PDX Results for "_NAME
 S X="PDX"
 S Y="Patient Data eXchange"
 S ERROR=$$SENDBULL^VAQBUL(TMP,X,Y,TMPROOT)
 Q:(ERROR<0)
 S ERROR=0
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HVAQBUL04   3076     printed  Sep 23, 2025@20:00:17                                                                                                                                                                                                    Page 2
VAQBUL04  ;ALB/JRP - BULLETINS;25-MAY-93
 +1       ;;1.5;PATIENT DATA EXCHANGE;**9**;NOV 17, 1993
RESULTS   ;CONTINUATION OF VAQBUL03
 +1       ;  DECLARATIONS DONE IN $$RESULTS^VAQBUL03
 +2       ;PUT IN COMMENT/REASON
 +3        IF (STATUS="VAQ-NTFND")
               Begin DoDot:1
 +4                SET TMP=SPACE_"Reason: Patient not found"
 +5                SET @TMPARR@("DISPLAY",LINE,0)=TMP
 +6                SET LINE=LINE+1
               End DoDot:1
 +7        IF (STATUS="VAQ-AMBIG")
               Begin DoDot:1
 +8                SET TMP=SPACE_"Reason: Requested patient could not be uniquely identified"
 +9                SET @TMPARR@("DISPLAY",LINE,0)=TMP
               End DoDot:1
 +10       IF ((STATUS="VAQ-RSLT")!(STATUS="VAQ-REJ"))
               Begin DoDot:1
 +11      ;DETERMINE IF COMMENT EXIST
 +12               SET COMMENT=0
 +13               SET COMMENT=$DATA(^VAT(394.61,TRANPTR,"CMNT"))
 +14               if (COMMENT)
                       SET COMMENT=+$ORDER(^VAT(394.61,TRANPTR,"CMNT",0))
 +15      ;NO COMMENT/REASON
 +16               IF ('COMMENT)
                       Begin DoDot:2
 +17                       SET TMP=SPACE_$SELECT((STATUS="VAQ-RSLT"):"Comments: ",1:"Reason: ")_"None listed"
 +18                       SET @TMPARR@("DISPLAY",LINE,0)=TMP
 +19                       SET LINE=LINE+1
                       End DoDot:2
 +20      ;COMMENT/REASON
 +21               IF (COMMENT)
                       Begin DoDot:2
 +22                       SET TMP=SPACE_$SELECT((STATUS="VAQ-RSLT"):"Comments:",1:"Reason:")
 +23                       SET @TMPARR@("DISPLAY",LINE,0)=TMP
 +24                       SET LINE=LINE+1
 +25      ;FORMAT TEXT
 +26                       KILL ^UTILITY($JOB,"W")
 +27                       SET OFFSET=0
 +28                       FOR 
                               SET OFFSET=+$ORDER(^VAT(394.61,TRANPTR,"CMNT",OFFSET))
                               if ('OFFSET)
                                   QUIT 
                               Begin DoDot:3
 +29                               SET X=$GET(^VAT(394.61,TRANPTR,"CMNT",OFFSET,0))
 +30                               SET DIWL=0
 +31                               SET DIWR=0
 +32                               SET DIWF="I"_$LENGTH(SPACE)_"C75"
 +33                               DO ^DIWP
                               End DoDot:3
 +34      ;PUT COMMENT/REASON INTO MESSAGE
 +35                       SET OFFSET=""
 +36                       FOR 
                               SET OFFSET=$ORDER(^UTILITY($JOB,"W",0,OFFSET))
                               if (OFFSET="")
                                   QUIT 
                               Begin DoDot:3
 +37                               SET TMP=$GET(^UTILITY($JOB,"W",0,OFFSET,0))
 +38                               SET @TMPARR@("DISPLAY",LINE,0)=TMP
 +39                               SET LINE=LINE+1
                               End DoDot:3
 +40                       KILL ^UTILITY($JOB,"W")
                       End DoDot:2
               End DoDot:1
 +41      ;PUT IN DATA
 +42       IF ('SENSITVE)
               IF (STATUS="VAQ-RSLT")
                   IF (+$GET(^VAT(394.61,TRANPTR,"NTFY1")))
                       Begin DoDot:1
 +43                       FOR X=1:1:3
                               SET @TMPARR@("DISPLAY",LINE,0)=""
                               SET LINE=LINE+1
 +44                       SET TMP=SPACE_"Requested information:"
 +45                       SET @TMPARR@("DISPLAY",LINE,0)=TMP
 +46                       SET LINE=LINE+1
 +47                       FOR X=1:1:3
                               SET @TMPARR@("DISPLAY",LINE,0)=""
                               SET LINE=LINE+1
 +48                       SET X=$$TRNDSP^VAQUPD2(TRANPTR,TMPARR,LINE)
 +49      ;SUCCESS
 +50                       IF (X>0)
                               SET LINE=LINE+X
                               QUIT 
 +51      ;NO DATA
 +52                       SET LINE=LINE-4
 +53                       SET TMP=SPACE_"Requested data could not be included in notification"
 +54                       SET @TMPARR@("DISPLAY",LINE,0)=TMP
 +55                       SET LINE=LINE+1
 +56                       IF ('X)
                               Begin DoDot:2
 +57                               SET TMP=SPACE_"Transaction did not contain any information"
 +58                               SET @TMPARR@("DISPLAY",LINE,0)=TMP
 +59                               SET LINE=LINE+1
                               End DoDot:2
                               QUIT 
 +60      ;ERROR
 +61                       IF (X<0)
                               Begin DoDot:2
 +62                               SET @TMPARR@("DISPLAY",LINE,0)=SPACE_"Error occurred while getting information from PDX files"
 +63                               SET LINE=LINE+1
 +64                               SET @TMPARR@("DISPLAY",LINE,0)=SPACE_$PIECE(X,"^",2)
 +65                               SET LINE=LINE+1
                               End DoDot:2
                               QUIT 
 +66                       FOR X=1:1:2
                               SET @TMPARR@("DISPLAY",LINE,0)=""
                               SET LINE=LINE+1
                       End DoDot:1
 +67      ;PLACE "DISPLAY" INTO ROOT
 +68       SET TMP=$PIECE(TMPARR,"(",1)
 +69       SET X=$PIECE(TMPARR,"(",2)
 +70       SET Y=$PIECE(X,")",1)
 +71       if (Y="")
               SET TMPROOT=TMP_"("_$CHAR(34)_"DISPLAY"_$CHAR(34)_")"
 +72       if (Y'="")
               SET TMPROOT=TMP_"("_Y_","_$CHAR(34)_"DISPLAY"_$CHAR(34)_")"
 +73       if (TMPARR="")
               SET TMPROOT=""
 +74      ;BUILD DISTRIBUTION LIST
 +75       SET X=""
 +76       FOR 
               SET X=+$ORDER(^VAT(394.61,TRANPTR,"NTFY2","B",X))
               if ('X)
                   QUIT 
               SET XMY(X)=""
 +77      ;INCLUDE SECURITY OFFICER IF PATIENT IS SENSITIVE AT REMOTE FACILITY
 +78       if (SENSITVE)
               SET X=$$LOADXMY^DGSEC()
 +79      ;SEND BULLETIN
 +80       SET TMP="PDX Rejection for "_NAME
 +81       if (STATUS="VAQ-RSLT")
               SET TMP="PDX Results for "_NAME
 +82       SET X="PDX"
 +83       SET Y="Patient Data eXchange"
 +84       SET ERROR=$$SENDBULL^VAQBUL(TMP,X,Y,TMPROOT)
 +85       if (ERROR<0)
               QUIT 
 +86       SET ERROR=0
 +87       QUIT