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

BGP8AU1M.m

Go to the documentation of this file.
  1. BGP8AU1M ; IHS/CMI/LAB - SEND MAIL MESSAGE ;
  1. ;;18.1;IHS CLINICAL REPORTING;;MAY 25, 2018;Build 66
  1. ;
  1. DESC ;----- ROUTINE DESCRIPTION
  1. ;;
  1. ;;This routine sends email messages.
  1. ;;$$END
  1. N I,X F I=1:1 S X=$P($T(DESC+I),";;",2) Q:X["$$END" D EN^DDIOL(X)
  1. Q
  1. ;
  1. EN(BGPMSG,BGPBEGDT,BGPENDDT,BGPFACS,BGPF,BGPDFILE) ;EP
  1. ;----- MAIN ENTRY POINT TO SEND MESSAGE
  1. ;
  1. ; INPUT:
  1. ; BGPMSG = WHICH MESSAGE TO SEND
  1. ; BGPBEGDT = REPORT PERIOD BEGINNING DATE
  1. ; BGPENDDT = REPORT PERIOD ENDING DATE
  1. ; BGPFACS = ARRAY CONTAINING LIST OF SITE FILES
  1. ; BGPF = ARRAY CONTAINING AGGREGATE FILE LIST
  1. ; BGPDFILE = DATA DUMP FILE NAME FOR DEEPSEE
  1. ;
  1. ;N BGPFILE,BGPOUT,X,Y
  1. ;
  1. ;D GET(BGPMSG,BGPBEGDT,BGPENDDT,.BGPFACS,.BGPF,BGPDFILE,.BGPFILE,.BGPOUT)
  1. ;Q:BGPOUT
  1. ;
  1. ;D SENDMAIL(BGPFILE)
  1. ;
  1. ;S X="rm "_$P($G(^BGPGP1PM(1,0)),U)_BGPFILE ;REMOVE FILE
  1. ;S X=$$JOBWAIT^%HOSTCMD(X)
  1. ;
  1. Q
  1. GET(BGPMSG,BGPBEGDT,BGPENDDT,BGPFACS,BGPF,BGPDFILE,BGPFILE,BGPOUT) ;
  1. ;----- GET THE DATA, PUT INTO A TEXT FILE
  1. ;
  1. N %FILE
  1. ;
  1. S BGPOUT=0
  1. ;
  1. D FILE(BGPBEGDT,.%FILE,.BGPFILE,.BGPOUT)
  1. Q:BGPOUT
  1. ;
  1. U %FILE
  1. I BGPMSG=1 D MSG1(BGPBEGDT,BGPENDDT,.BGPFACS)
  1. I BGPMSG=2 D MSG2(BGPBEGDT,BGPENDDT,.BGPF,BGPDFILE)
  1. D CLOSE^%ZISH("FILE")
  1. ;
  1. Q
  1. SENDMAIL(BGPFILE) ;
  1. ;----- SEND THE EMAIL
  1. ;
  1. ;N BGPERR,BGPFROM,BGPOUT,BGPSUB,BGPTO,I,X
  1. ;
  1. ;S BGPOUT=0
  1. ;
  1. ;S BGPTO=$$TO
  1. ;Q:BGPTO']""
  1. ;
  1. ;S BGPFROM=$P($G(^BGPGP1PM(1,99.1)),U)
  1. ;I BGPFROM']"" D Q
  1. ;. S BGPERR="NO SENDER"
  1. ;. ;S $ZE="BGPGP1MM FAILURE" D ^%ZTER
  1. ;
  1. ;S BGPFILE=$P($G(^BGPGP1PM(1,1)),U)_BGPFILE
  1. ;S BGPSUB="MONTHLY AUTOMATIC GPRA UPLOAD"
  1. ;
  1. ;S X=$ZF(-1,"wsendmail -s"""_BGPSUB_""" -f"_BGPFROM_" -t"_BGPFILE_" "_BGPTO)
  1. ;
  1. ;I X D
  1. ;. S BGPERR="CANNOT SEND EMAIL - wsendmail failure"
  1. ;. ;S $ZE="BGPGP1MM FAILURE" D ^%ZTER
  1. Q
  1. TO() ;
  1. ;----- CREATE MAIL RECIPIENT STRING
  1. ;
  1. N BGPD1,BGPTO
  1. ;
  1. S BGPTO=""
  1. S BGPD1=0
  1. F S BGPD1=$O(^BGPGP1PM(1,99.2,BGPD1)) Q:'BGPD1 D
  1. . S BGPTO=BGPTO_","_$G(^BGPGP1PM(1,99.2,BGPD1,0))
  1. I $E(BGPTO)="," S BGPTO=$E(BGPTO,2,999999)
  1. Q BGPTO
  1. ;
  1. FILE(BGPBEGDT,%FILE,BGPFILE,BGPOUT) ;
  1. ;----- CREATE FILE CONTAINING THE DATA
  1. ;
  1. N BGPERR,BGPOUT
  1. ;
  1. ;I '$G(DUZ) S DUZ=1
  1. D ^XBKVAR
  1. S BGPOUT=0
  1. S BGPERR=""
  1. S BGPFILE="BGPGP1MM"_BGPBEGDT
  1. D HFS(.BGPOUT,.%FILE,BGPFILE)
  1. I BGPOUT D Q
  1. . S BGPERR="CANNOT OPEN FILE" ;FOR ERROR TRAP
  1. . ;S $ZE="BGPGP1MM FAILURE" D ^%ZTER
  1. Q
  1. HFS(BGPOUT,%FILE,BGPFILE) ;EP
  1. ;----- CREATE AND OPEN DATA FILE
  1. ;
  1. ; INPUT:
  1. ; FILE = DATA FILE NAME TO CREATE AND OPEN
  1. ;
  1. ; OUTPUT:
  1. ; %FILE = THE DEVICE NUMBER OF THE FILE
  1. ; BGPOUT = QUIT INDICATOR
  1. ;
  1. N I,POP,X,Y,ZISH1,ZISH2,ZISH3,ZISH4
  1. ;
  1. S %FILE=""
  1. S BGPOUT=0
  1. S ZISH1="FILE" ;HANDLE
  1. S ZISH2=$P($G(^BGPGP1PM(1,1)),U) ;DIRECTORY
  1. S ZISH3=BGPFILE ;FILENAME
  1. S ZISH4="W" ;WRITE MODE
  1. D OPEN^%ZISH(ZISH1,ZISH2,ZISH3,ZISH4)
  1. I POP S BGPOUT=1
  1. Q:BGPOUT
  1. S %FILE=IO
  1. Q
  1. EXDT(X) ;
  1. ;----- CONVERT INTERNAL FM DATE TO EXTERNAL READABLE DATE
  1. ;
  1. N Y
  1. S Y=""
  1. I X D
  1. . S Y=X
  1. . D DD^%DT
  1. Q Y
  1. MSG1(BGPBEGDT,BGPENDDT,BGPFACS) ;EP
  1. ;----- MESSAGE 1, MISSING FILES
  1. ;
  1. N BGPASU,BGPFAC
  1. ;
  1. W !,"Monthly GPRA report period date range: "_$$EXDT(BGPBEGDT)_" to "_$$EXDT(BGPENDDT)
  1. ;
  1. W !!,"The site GPRA files could not be uploaded because files are"
  1. W !,"missing from the following facilities:",!!
  1. ;
  1. S BGPASU=0
  1. F S BGPASU=$O(BGPFACS(BGPENDDT,BGPASU)) Q:BGPASU="" D
  1. . Q:BGPFACS(BGPENDDT,BGPASU)]""
  1. . S BGPFAC=$O(^BGPGP1PM(1,9,"C",BGPASU,0))
  1. . Q:'BGPFAC
  1. . S BGPFAC=$P($G(^BGPGP1PM(1,9,BGPFAC,0)),U)
  1. . I BGPFAC]"" W !?5,BGPASU," ",$$VAL^XBDIQ1(4,BGPFAC,.01)
  1. ;
  1. W !!!,"The aggregate excel files cannot be created until all files"
  1. W !,"are received from all facilities."
  1. Q
  1. MSG2(BGPBEGDT,BGPENDDT,BGPF,BGPDFILE) ;
  1. ;----- MESSAGE 2, AGGREGATE EXCEL FILES CREATED
  1. ;
  1. N BGP
  1. ;
  1. W !,"Monthly GPRA report period date range: "_$$EXDT(BGPBEGDT)_" to "_$$EXDT(BGPENDDT)
  1. ;
  1. W !!,"The following aggregate excel files have been created:",!!
  1. ;
  1. S BGP=0
  1. F S BGP=$O(BGPF(BGP)) Q:'BGP D
  1. . W !?5,BGPF(BGP)
  1. ;
  1. W !!,"The following data file for DeepSee has been created:",!!
  1. W !?5,BGPDFILE
  1. Q