ECRRPC ;ALB/JAM - Event Capture Report RPC Broker ;9/28/17  14:12
 ;;2.0;EVENT CAPTURE;**25,47,61,72,95,101,100,107,112,131,139**;8 May 96;Build 7
 ;
RPTEN(RESULTS,ECARY) ;RPC Broker entry point for EC Reports
 ;All EC GUI reports will call this line tag
 ;        RPC: EC REPORTS
 ;INPUTS  ECARY   - Contains the following elements for report printing
 ;        ECDEV   - Print to queue, if device
 ;        ECQDT   - Queue to print (date/time), optional
 ;        ECPTYP  - Where to send output (P)rinter, (D)evice or screen, (E)xport
 ;
 ;OUTPUTS RESULTS - Array of help text in the HELP FRAM File (#9.2)
 ;
 
HLPDA,HND,ECSTR,ECFILER,ECERR,ECDIRY,ECUFILE,ECGUI
 
ECQTIME ;CMF should not need this!  %DT call below fails for future dates within this routine
 
SETENV^ECUMRPC
 
ECERR=0,ECGUI=1 PARSE,CHKDT ECERR Q
 K 
^TMP("ECMSG",$J),^TMP($J,"ECRPT")
 
D  I ECERR END Q
 
ECPTYP="E" Q  ;112 For exporable format, no device needed
 
ECPTYP="D" HFSOPEN(ECHNDLQ
 
'$D(ECDEV^TMP("ECMSG",$J,1)="0^Device undefined",ECERR=1
 
HND=$P($T(@ECHNDL),";;",2) HND="" D  Q
 
^TMP("ECMSG",$J,1)="0^Line Tag undefined" END
 
^XTMP("ECRRPT","ECRRPC","ECQDTbefore")=$G(ECQDT)  ;;cmf diagnostic hack
 
S:ECPTYP="P" ECQTIME=$TR($P(ECQDT,"@",2),":","")
 
ECQDT=$G(ECQDT,"NOW"),%DT="XT",X=ECQDT ^%DT  ;Print time
 
ECQDT=$S(Y>0:Y,1:"NOW")
 
S:ECPTYP="P"&(ECQDT="NOW"ECQDT=DT_"."_ECQTIME  ;Should not have to do this! %DT malfunctions inside this routine!!!
 
@$P(HND,";",2)
 
ECPTYP="D" HFSCLOSE(ECFILER;S RESULTS=$NA(^TMP($J))
END KILLVAR
 
I $D(^TMP("ECMSG",$J)) RESULTS=$NA(^TMP("ECMSG",$J)) Q
 S 
RESULTS=$NA(^TMP($J))
 
Q
 
;
PARSE ;Parse data from array for filing
 
SUB
 
SUB="" F  S SUB=$O(ECARY(SUB)) Q:SUB=""  @SUB=ECARY(SUB)
 
Q
CHKDT ;Required Data Check
 
I,C
 
C=1
 
I="ECHNDL","ECPTYP" D
 
.I $G(@I)="" ^TMP("ECMSG",$J,C)="0^Key data missing "_I,C=C+1,ECERR=1
 
Q
KILLVAR ;Kill variables
 
SUB
 
SUB="" F  S SUB=$O(ECARY(SUB)) Q:SUB=""  @SUB
 
ECARY,POP,ECQDT
 
Q
HFSOPEN(HANDLE) 
 ;S ECDIRY=$$GET^XPAR("DIV","EC HFS SCRATCH")
 
ECDIRY=$$DEFDIR^%ZISH()
 
ECDIRY="" ECERR=1 D  Q
 
.^TMP("ECMSG",$J,1)="0^A scratch directory for reports doesn't exist"
 
ECFILER="EC"_DUZ_".DAT",ECUFILE=ECFILER ^TMP("JEN",$J,.1)=ECUFILE
 
OPEN^%ZISH(HANDLE,ECDIRY,ECFILER,"W"D:POP  Q:POP
 
.ECERR=1,^TMP("ECMSG",$J,1)="0^Unable to open file "_ECDIRY_ECFILER
 
IOM=132,IOSL=99999,IOST="P-DUMMY",IOF=""""""
 
Q
 
;
HFSCLOSE(HANDLE) 
 
ECDEL
 
CLOSE^%ZISH(ECDIRY_HANDLE)
 
^TMP($J)
 
ECDEL(ECFILER)=""
 
X=$$FTG^%ZISH(ECDIRY,ECFILER,$NAME(^TMP($J,1)),2)
 
X=$$DEL^%ZISH(ECDIRY,$NA(ECDEL))
 
Q
 
;added ECSTPCD for EC*2*107
 ;added ECDSSUA, ECRUDSS, ECRECER, ECRECSIC,ECRECSPC, ECRGP and ECRDSSEC for patch EC*2*112
 ;131 Added ECDSSSNR and ECDISSUM reports
 ;139 Added ECLATESH report
ECPAT ;;Patient Summary Report;ECPAT^ECRRPT
ECRDSSA ;;DSS Unit Activity;ECRDSSA^ECRRPT
ECRDSSU ;;DSS Unit Workload Summary;ECRDSSU^ECRRPT
ECPROV ;;Provider Summary Report;ECPROV^ECRRPT
PROSUM ;;Provider (1-7) Summary Report;PROSUM^ECRRPT
ECOSSUM ;;Ordering Section Summary Report;ECOSSUM^ECRRPT
ECPCER ;;PCE Data Summary Report;ECPCER^ECRRPT
ECRPERS ;;Inactive Person Class Report;ECRPERS^ECRRPT1
ECRPRSN ;;Procedure Reason Report;ECRPRSN^ECRRPT1
ECDSS1 ;;National/Local Procedure Reports;ECDSS1^ECRRPT1
ECDSS3 ;;Category Reports;ECDSS3^ECRRPT1
ECSUM ;;Print Category and Procedure Summary (Report);ECSUM^ECRRPT1
ECNTPCE ;;Records Failing Transmission to PCE Report;ECNTPCE^ECRRPT1
ECSCPT ;;Event Code Screens with CPT Codes;ECSCPT^ECRRPT1
ECINCPT ;;National/Local Procedure Codes with Inactive CPT;ECINCPT^ECRRPT1
ECGTP ;;Generic Table Printer;ECGTP^ECRRPT1
ECSTPCD ;;DSS Units with Associated Stop Code Error Report;ECSTPCD^ECRRPT1
ECRDSSUA ;;Users with access to selected DSS Unit;ECRDSSUA^ECRRPT2
ECRUDSS ;;DSS unit access by selected user;ECRUDSS^ECRRPT2
ECRDSSEC ;;Event code screen for selected DSS Unit;ECRDSSEC^ECRRPT2
ECRECER ;;Event capture encounters report;ECRECER^ECRRPT2
ECRECSIC ;;Event Code Screens with Inactive Clinics;ECRECSIC^ECRRPT2
ECRECSPC ;;Event Code Screens by Procedure Code;ECRECSPC^ECRRPT2
ECRGP ;;Generic print of report;ECRGP^ECRRPT2
ECDSSSNR ;;DSS Units set to send no records to PCE;ECDSSSNR^ECRRPT2
ECDISSUM ;;Disabled Category and Procedure Summary Report;ECDISSUM^ECRRPT2
ECLATESH ;;Possible Late State Home Entries Report;ECLATESH^ECRRPT2