HDISVCMR ;CT/GRR Data Standardization ; 06 Oct 2005 2:12 PM
;;1.0;HEALTH DATA & INFORMATICS;**1,2,18**;Feb 22, 2005;Build 4
;
EN(HDISDOM,HDISFILE) ;
;Input parameter:
; HDISDOM - IEN to the HDIS Domain file (Required)
; HDISFILE - Specific file # to be seeded (if not all domain files) (Optional)
N HDISNM,HDISDT,HDERR,HDISFILS,HDISOK,HDISFLIS,HDISDA,HDISOUT,HDISSDT
S HDISFLIS=""
S HDISFN=.01
S HDISNM=$G(^XMB("NETNAME"))
S HDISDT=$$NOW^XLFDT(),HDISSDT=$$FMTXML^HDISVU01(HDISDT)
I $G(HDISDOM)="" S HDISMESS="Required parameter (Domain) empty, File: "_HDISFILE_", Field: "_HDISFN D ERR^HDISVF09(HDISNM,HDISDT,HDISMESS) Q
I '$D(^HDIS(7115.1,HDISDOM)) S HDISMESS="Domain ("_HDISDOM_") does not exist. File: "_HDISFILE_", Field: "_HDISFN D ERR^HDISVF09(HDISNM,HDISDT,HDISMESS) Q
I $$GETVFAIL^HDISVF02() S HDISMESS="VUID DS processer called but is in failsafe mode" D ERR^HDISVF09(HDISNM,HDISDT,HDISMESS) Q
S HDISOK=$$GETFILS^HDISVF09(HDISDOM,0,.HDISFILS)
I 'HDISOK S HDISMESS="No files are pending VUID processing in Domain "_$P(^HDIS(7115.1,HDISDOM,0),"^",1) D ERR^HDISVF09(HDISNM,HDISDT,HDISMESS) Q ;modified 5/16/05 p-1
I $G(HDISFILE)]"" D Q
.I $D(HDISFILS(HDISFILE)) D CREATE(HDISDOM,HDISFILE,HDISFN) I 1
.E D ERR^HDISVF09(HDISNM,HDISDT,"File: "_HDISFILE_" is not awaiting processing")
S HDISDA=0 F S HDISDA=$O(HDISFILS(HDISDA)) Q:HDISDA'>0 D CREATE(HDISDOM,HDISDA,.01)
Q
;
CREATE(HDISDOM,HDISFILE,HDISFN) ;
N HDISARRY,HDISMESS
;Update local status
S HDISOUT=$$STATUPD^HDISVCUT(HDISFILE,HDISFN,1)
S HDISARRY=$NA(^TMP("HDIS",$J)) ;Pavel fix the error if this variable is not defined.
;I 'HDISOUT S HDISMESS=$P(HDISOUT,"^",2) D ERR^HDISVF09(HDISNM,HDISDT,HDISMESS) G CR8OUT
I 'HDISOUT S HDISMESS=$P(HDISOUT,"^",2) D G CR8OUT
. D ERR^HDISVF09(HDISNM,HDISDT,HDISMESS)
. Q:'$D(XPD)
. D BMES^XPDUTL("Local Status update of file: "_HDISFILE_" Failed - INSTALLATION ABORTED Reason: "_HDISMESS)
. S XPDABORT=1
;
;Create XML doc containing facility data
;S HDISARRY=$NA(^TMP("HDIS",$J)) ;Pavel fix the error if this variable is not defined.
S HDISOUT=$$FILE^HDISVCFX(HDISDOM,HDISFILE,HDISFN,HDISARRY)
I 'HDISOUT S HDISMESS=$P(HDISOUT,"^",2) D ERR^HDISVF09(HDISNM,HDISDT,HDISMESS) G CR8OUT
;
; Send XML doc to Central Server
S HDISOUT=$$SNDXML^HDISVM02(HDISARRY,1,"") ;removed last parameter 8/10/05 p-2
I 'HDISOUT S HDISMESS=$P(HDISOUT,"^",2) D ERR^HDISVF09(HDISNM,HDISDT,HDISMESS) G CR8OUT
;
;Update local status file
S HDISOUT=$$STATUPD^HDISVCUT(HDISFILE,HDISFN,2)
I 'HDISOUT S HDISMESS=$P(HDISOUT,"^",2) D ERR^HDISVF09(HDISNM,HDISDT,HDISMESS) G CR8OUT
;
CR8OUT K @HDISARRY
Q