[613] | 1 | HDISVCUT ;CT/GRR ; 19 Apr 2006 10:57 AM
|
---|
| 2 | ;;1.0;HEALTH DATA & INFORMATICS;**6**;Feb 22, 2005
|
---|
| 3 | BLDSTAT(HDISFILE,HDISFN,HDISSC,HDISSDT,HDISARRY) ;
|
---|
| 4 | N HDISOUT,CODE,HDISTDTX,Y
|
---|
| 5 | I HDISFILE=""!(HDISFN="")!(HDISARRY="") S HDISOUT=0_"^Parameter Missing" G QUIT
|
---|
| 6 | K @HDISARRY
|
---|
| 7 | S DIC=7115.3,DIC(0)="Z",X="DOMAIN STATUS UPDATE" D ^DIC K DIC
|
---|
| 8 | I Y<0 S HDISOUT=0_"^DOMAIN STATUS UPDATE Template Missing" G QUIT
|
---|
| 9 | S HDIST=+Y,HDISY=Y,HDISY(0)=Y(0)
|
---|
| 10 | S HDISSRC=$P($$SITE^VASITE(),"^",3)
|
---|
| 11 | S HDISPROD=$$PROD^XUPROD()
|
---|
| 12 | S HDISTDTX=$$FMTXML^HDISVU01(HDISSDT,"","")
|
---|
| 13 | S HDISMD=$G(^XMB("NETNAME"))
|
---|
| 14 | S @HDISARRY@(1)="<?xml version=""1.0"" encoding=""utf-8"" ?>"
|
---|
| 15 | ;S @HDISARRY@(1)=$$XMLHDR^XOBVLIB()
|
---|
| 16 | S @HDISARRY@(2)="<"_$P(HDISY(0),"^",4)_" "_$G(^HDIS(7115.3,HDIST,1))_">"
|
---|
| 17 | N Z K Z D ZINIT
|
---|
| 18 | S Z(20)=HDISSRC
|
---|
| 19 | S Z(22)=HDISPROD
|
---|
| 20 | S Z(30)=HDISMD
|
---|
| 21 | S Z(60)=HDISFILE
|
---|
| 22 | S Z(70)=HDISFN
|
---|
| 23 | S Z(80)=HDISSC
|
---|
| 24 | S Z(90)=HDISTDTX
|
---|
| 25 | D XMLOUT^HDISXML(HDIST,"20,22,30,60,70,80,90,10/","Z",HDISARRY,.HDERR)
|
---|
| 26 | S HDISOUT=1
|
---|
| 27 | QUIT Q HDISOUT
|
---|
| 28 | ;
|
---|
| 29 | ZINIT S Z(22)="" F Z=10:10:100 S Z(Z)=""
|
---|
| 30 | Q
|
---|
| 31 | ;
|
---|
| 32 | ;
|
---|
| 33 | BLDSND(HDISFILE,HDISFN,HDISSTCD,HDISSDT,HDISARRY,HDISINP) ;
|
---|
| 34 | ;Updating of central server disabled (return success)
|
---|
| 35 | I $$GETSDIS^HDISVF03() Q 1
|
---|
| 36 | N HDISOUT
|
---|
| 37 | S:HDISSDT="" HDISSDT=DT
|
---|
| 38 | S:HDISARRY="" HDISARRY=$NA(^TMP("HDISSBUILD",$J))
|
---|
| 39 | S HDISOUT=$$BLDSTAT(HDISFILE,HDISFN,HDISSTCD,HDISSDT,HDISARRY)
|
---|
| 40 | I 'HDISOUT Q HDISOUT
|
---|
| 41 | S HDISOUT=$$SNDXML^HDISVM02(HDISARRY,2,HDISINP)
|
---|
| 42 | Q HDISOUT
|
---|
| 43 | ;
|
---|
| 44 | STATUPD(FILE,FIELD,CODE,DATE) ;Encompassing local status update call
|
---|
| 45 | ; Input : FILE - File number
|
---|
| 46 | ; FIELD - Field number (defaults to .01)
|
---|
| 47 | ; CODE - Status code to set (defaults to "not started")
|
---|
| 48 | ; DATE - FileMan date/time to return status for (optional)
|
---|
| 49 | ; (defaults to NOW)
|
---|
| 50 | ;Output : 1 = Success 0^Text = Failure
|
---|
| 51 | ; Notes : This call will update the local status, build the Status
|
---|
| 52 | ; Update XML document, and forward the Status Update XML
|
---|
| 53 | ; document to the centralized server
|
---|
| 54 | ; : If time is not included with the date, 1 second past
|
---|
| 55 | ; midnight will be used as the time
|
---|
| 56 | ; : If an entry for the given file/field and date/time already
|
---|
| 57 | ; exists, the existing entry will be updated to reflect the
|
---|
| 58 | ; given status
|
---|
| 59 | N XMLARR,TMPARR,OUTPUT
|
---|
| 60 | ;Check input
|
---|
| 61 | S FILE=+$G(FILE)
|
---|
| 62 | I 'FILE Q "0^Parameter FILE was not passed"
|
---|
| 63 | S FIELD=+$G(FIELD)
|
---|
| 64 | I 'FIELD S FIELD=.01
|
---|
| 65 | S CODE=+$G(CODE)
|
---|
| 66 | S DATE=+$G(DATE)
|
---|
| 67 | I 'DATE S DATE=$$NOW^XLFDT()
|
---|
| 68 | I '$P(DATE,".",2) S $P(DATE,".",2)="000001"
|
---|
| 69 | ;Update local status
|
---|
| 70 | D SETSTAT^HDISVF01(FILE,FIELD,CODE,DATE,1)
|
---|
| 71 | ;Updating of central server disabled (return success)
|
---|
| 72 | I $$GETSDIS^HDISVF03() Q 1
|
---|
| 73 | ;Create status update xml doc and send to central server
|
---|
| 74 | S XMLARR=$NA(^TMP("HDISVCUT",$J,"XML"))
|
---|
| 75 | S TMPARR=$NA(^TMP("HDISVCUT",$J,"HDISINP"))
|
---|
| 76 | K @XMLARR,@TMPARR
|
---|
| 77 | S OUTPUT=$$BLDSND^HDISVCUT(FILE,FIELD,CODE,DATE,XMLARR,TMPARR)
|
---|
| 78 | K @XMLARR,@TMPARR
|
---|
| 79 | Q OUTPUT
|
---|
| 80 | ;
|
---|
| 81 | VUID(HDDOM,HDROUT) ;Instantiate VUIDs for set of code fields
|
---|
| 82 | ; Input:
|
---|
| 83 | ; HDDOM - Domain Name (i.e. ORDERS)
|
---|
| 84 | ; HDROUT - Routine containing VUID Sets-Of-Code data (i.e. HDI1005B)
|
---|
| 85 | ;Output: 0 = Stop post-install (error)
|
---|
| 86 | ; 1 = Continue with post-install
|
---|
| 87 | N HDIMSG
|
---|
| 88 | S HDIMSG(1)=" "
|
---|
| 89 | S HDIMSG(2)="Seeding XTID VUID FOR SET OF CODES file (#8985.1) with "_HDDOM_" data"
|
---|
| 90 | S HDIMSG(3)=" "
|
---|
| 91 | D MES^XPDUTL(.HDIMSG) K HDIMSG
|
---|
| 92 | I '$$VUIDL^HDISVU02(HDDOM,HDROUT) Q 0
|
---|
| 93 | Q 1
|
---|
| 94 | ;
|
---|
| 95 | UPDTDOM(HDDOM,HDISDFFS) ;Add Domain info to the HDIS DOMAIN file
|
---|
| 96 | ;
|
---|
| 97 | ; Input: HDDOM - Domain Name
|
---|
| 98 | ; HDISDFFS - Array containing File number set equal to Field Number (optional, .01 assumed)
|
---|
| 99 | ; (i.e. HDISDFFS(100.01)="")
|
---|
| 100 | ;Output: HDISERR - Set to 1 when error incurred
|
---|
| 101 | N HDIEN,HDIMSG
|
---|
| 102 | S HDIMSG(1)=" "
|
---|
| 103 | S HDIMSG(2)="Adding "_HDDOM_" Domain and related fields to"
|
---|
| 104 | S HDIMSG(3)="HDIS DOMAIN file (#7115.1)"
|
---|
| 105 | S HDIMSG(4)=" "
|
---|
| 106 | D MES^XPDUTL(.HDIMSG) K HDIMSG
|
---|
| 107 | I '$$FINDDOM^HDISVF09(HDDOM,.HDISDFFS,1,.HDISDIEN,.HDISERRM) D Q 0
|
---|
| 108 | .N HDIEN,HDIMSG
|
---|
| 109 | .S HDIMSG(1)=" "
|
---|
| 110 | .S HDIMSG(2)="Error occurred when updating HDIS DOMAIN file."
|
---|
| 111 | .S HDIMSG(3)=HDISERRM
|
---|
| 112 | .S HDIMSG(4)=" "
|
---|
| 113 | .D MES^XPDUTL(.HDIMSG) K HDIMSG
|
---|
| 114 | Q 1
|
---|
| 115 | ;
|
---|
| 116 | ;
|
---|
| 117 | TESTACT() ;Set's the HDIS SYSTEM file fields to reflect a mirrored test account and remove any multiple entries
|
---|
| 118 | ;
|
---|
| 119 | ;Check file for multiple entries and delete if found
|
---|
| 120 | ;PATCH 6
|
---|
| 121 | ;
|
---|
| 122 | I $O(^HDISF(7118.21,1))>0 D ;multiple entries found
|
---|
| 123 | .N IEN,FDA,DA,DIK
|
---|
| 124 | .S IEN=1
|
---|
| 125 | .F S IEN=$O(^HDISF(7118.21,IEN)) Q:IEN'>0 D
|
---|
| 126 | ..S DA=IEN
|
---|
| 127 | ..S DIK="^HDISF(7118.21,"
|
---|
| 128 | ..D ^DIK
|
---|
| 129 | K FDA(1)
|
---|
| 130 | S FDA(1,7118.21,"?+1,",.01)=$P($G(^HDISF(7118.21,1,0)),"^",1)
|
---|
| 131 | S FDA(1,7118.21,"?+1,",.02)=$G(^XMB("NETNAME"))
|
---|
| 132 | S FDA(1,7118.21,"?+1,",.03)=$$PROD^XUPROD()
|
---|
| 133 | D UPDATE^DIE("","FDA(1)","RSLT","ERR(1)")
|
---|
| 134 | Q 1
|
---|
| 135 | ;
|
---|