HDISVCMR ;CT/GRR Data Standardization ; 06 Oct 2005  2:12 PM
 ;;1.0;HEALTH DATA & INFORMATICS;**1,2**;Feb 22, 2005
 ;
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)
 I 'HDISOUT S HDISMESS=$P(HDISOUT,"^",2) D ERR^HDISVF09(HDISNM,HDISDT,HDISMESS) G CR8OUT
 ;
 ;Create XML doc containing facility data
 S HDISARRY=$NA(^TMP("HDIS",$J))
 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
