ECUURPC ;ALB/JAM - Event Capture Data Entry Broker Utilities ;3/29/18  13:59
 ;;2.0;EVENT CAPTURE;**25,42,49,94,95,76,104,124,139**;8 May 96;Build 7
 ;
 ; Reference to $$CODEN^ICDEX supported by ICR #5747
 ;
ECHELP(RESULTS,ECARY) ;
 ;
 ;Broker call returns the entries from HELP FILE #9.2
 ;        RPC: EC GETSCNHELP
 ;INPUTS   ECARY - Contains the following elements
 ;          HLPDA  - Help Frame Name
 ;
 ;OUTPUTS  RESULTS - Array of help text in the HELP FRAM File (#9.2)
 ;
 
HLPDA,DIC,X,Y
 
HLPDA=$G(ECARYHLPDA="" Q
 D 
SETENV^ECUMRPC ^TMP($J,"ECHELP")
 
DIC="^DIC(9.2,",DIC(0)="MN",X=HLPDA
 
^DIC ^TMP($J,"ECHELP")=^DIC(9.2,+Y,1)
 
I $D(^TMP($J,"ECHELP")) D
 
S $P(^TMP($J,"ECHELP",0),U)=$P(^DIC(9.2,+Y,0),U,2)
 
RESULTS=$NA(^TMP($J,"ECHELP"))
 
Q
FNDIEN(RESULTS,ECARY) ;find IEN
 ;Broker call returns the IEN from a file
 ;        RPC: EC GETIEN
 ;INPUTS   ECARY - Contains the following data elements
 ;          FIL  - File number
 ;          TXT  - .01 description
 ;
 ;OUTPUTS  RESULTS - File IEN
 ;
 
TXT,FIL,DIC,X,Y
 
SETENV^ECUMRPC
 
FIL=$P(ECARY,U),TXT=$P(ECARY,U,2) TXT=""!(FIL=""Q
 
; For lookups on #80, use approved API
 
FIL=80 RESULTS=+$$CODEN^ICDEX(TXT,80) Q
 
;
 
DIC=FIL,DIC(0)="MN",X=TXT
 
FIL=81.3 DIC("S")="I +$P($$MOD^ICPTMOD(Y,""I""),U,7)=1"
 
^DIC Y=-1 Q
 S 
RESULTS=+Y
 
Q
ECDATE(RESULTS,ECARY) ;
 ;
 ;Broker call returns an Fileman internal date
 ;        RPC: EC GETDATE
 ;INPUTS   ECARY - Contains the following elements
 ;          DTSTR  - Date String
 ;          FLG    - Date Flag (optional)
 ;
 ;OUTPUTS  RESULTS - A valid Fileman date format^External format
 ;
 
ECDTSTR,DIC,X,Y,DTSTR,FLG
 
SETENV^ECUMRPC
 
DTSTR=$P(ECARY,U),FLG=$P(ECARY,U,2) DTSTR="" Q
 S 
X=DTSTR,%DT="XT"_$S(FLG="R":"R",1:""),%DT(0)="-NOW" ^%DT
 
+Y<1 RESULTS="0^Invalid Date/Time" Q
 S 
RESULTS=D^DIQ
 
RESULTS=RESULTS_U_Y
 
Q
PATCH(RESULTS,ECARY)    ;
 ;
 ;Broker call returns 1 if patch X is installed
 ;        RPC: EC GETPATCH
 ;INPUTS   ECARY - contains the patch number
 ;
 ;OUTPUTS  RESULTS 1 OR 0
 ;
 
ECARY="" Q
 D 
SETENV^ECUMRPC
 
RESULTS=$$PATCH^XPDUTL(ECARY)
 
Q
VERSRV(RESULTS,ECARY,VERSION)   ; Return server version of option name and 
 ; minimum GUI client version.
 ;
 ;Server/client version consist of 4 pieces, namely
 ;    major version.minor version.release.build  (ex. 2.0.10.1)
 ;
 ;Broker call returns server version of option name
 ;        RPC: EC GETVERSION
 ;INPUTS   ECARY - contains the option name
 ;         VERSION - EC GUI client version ;stay in partition for session
 ;
 ;OUTPUTS  RESULTS version number OR null ("")
 ;           current server version^minimum client version
 ;
 
ECCLVER=$G(VERSION)
 
I $G(ECARY)="" Q
 N 
ECLST,ECMINV
 
ECMINV="2.5.0.0"  ;139, Minimum version of EC GUI client
 
FIND^DIC(19,"",1,"X",ECARY,1,,,,"ECLST")
 
'ECLST("DILIST",0) RESULTS="" Q
 S 
RESULTS=ECLST("DILIST","ID",1,1)
 
RESULTS=$P(RESULTS,"version ",2)_U_ECMINV
 
Q