| 1 | XHDPARAM        ; SLC/JER - Configurator Server Calls ; 25 Jul 2003  9:42 AM
 | 
|---|
| 2 |  ;;1.0;HEALTHEVET DESKTOP;;Jul 15, 2003
 | 
|---|
| 3 | PUT(ERR,KEY,VALUE)      ; Calls PUT^XPAR to set param value
 | 
|---|
| 4 |  N ENT,PAR,INST,PUTVAL,X,VDTYPE
 | 
|---|
| 5 |  S X="ONERROR^XHDPARAM",@^%ZOSF("TRAP")
 | 
|---|
| 6 |  S ENT=$S(+$P(KEY,U,2):$P(KEY,U,2),1:DUZ_";VA(200,"),PAR=$P(KEY,U,3)
 | 
|---|
| 7 |  S VDTYPE=$P($G(^XTV(8989.51,PAR,1)),U)
 | 
|---|
| 8 |  S INST=$P(KEY,U,4)
 | 
|---|
| 9 |  S:INST']"" INST=1
 | 
|---|
| 10 |  I $S(VDTYPE="W":1,$$COUNT(.VALUE)>1:1,1:0) D SETWPVAL(.VALUE,.PUTVAL) S PUTVAL=$P(KEY,U) I 1
 | 
|---|
| 11 |  E  S PUTVAL=$$XFORM(VALUE(1),VDTYPE)
 | 
|---|
| 12 |  S ^XTMP("XHDPARAM",$J,KEY,"ENT")=ENT,^("PAR")=PAR,^("INST")=INST,^("PUTVAL")=PUTVAL
 | 
|---|
| 13 |  D EN^XPAR(ENT,PAR,INST,.PUTVAL,.ERR)
 | 
|---|
| 14 |  S ^XTMP("XHDPARAM",$J,KEY,"ERR")=ERR
 | 
|---|
| 15 |  Q
 | 
|---|
| 16 | COUNT(VALUE) ; Count number of lines in VALUE
 | 
|---|
| 17 |  N XHDI,COUNT S (COUNT,XHDI)=0
 | 
|---|
| 18 |  F  S XHDI=$O(VALUE(XHDI)) Q:+XHDI'>0  S COUNT=COUNT+1
 | 
|---|
| 19 |  Q COUNT
 | 
|---|
| 20 | SETWPVAL(INVALUE,OUTVALUE)      ; Sets 0-nodes for WordProcessing value
 | 
|---|
| 21 |  N XHDI,VAL S XHDI=0
 | 
|---|
| 22 |  F  S XHDI=$O(INVALUE(XHDI)) Q:+XHDI'>0  S OUTVALUE(XHDI,0)=INVALUE(XHDI) K INVALUE(XHDI)
 | 
|---|
| 23 |  Q
 | 
|---|
| 24 | ONERROR ; Trap errors
 | 
|---|
| 25 |  S ERR="1^"_$TR($$EC^%ZOSV,"^","~")
 | 
|---|
| 26 |  D ^%ZTER
 | 
|---|
| 27 |  Q
 | 
|---|
| 28 | XFORM(VAL,VDTYPE)       ; Transform values for select data types
 | 
|---|
| 29 |  N XHDY S XHDY=VAL
 | 
|---|
| 30 |  I VDTYPE="D" S XHDY=$$HL7TFM^XLFDT(VAL) G XFORMX
 | 
|---|
| 31 |  I VDTYPE="Y" S XHDY=$S(VAL="true":"YES",VAL="false":"NO",1:VAL)
 | 
|---|
| 32 | XFORMX Q XHDY
 | 
|---|