| 1 | DIEH ;SFISC/DPC-HELP ;11/9/94  14:23
 | 
|---|
| 2 |  ;;22.0;VA FileMan;;Mar 30, 1999
 | 
|---|
| 3 |  ;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 | GET(DIEHF,DIEHIEN,DIEHFLD,DIEHFLG,DIEHOUT) ;
 | 
|---|
| 5 | GETX ;
 | 
|---|
| 6 |  N DIEHZ,DIEHD,DIEHEXIT,DIEHPF,DIEHUFLG
 | 
|---|
| 7 |  S DIEHUFLG=$G(DIEHFLG)
 | 
|---|
| 8 |  I '$G(DIQUIET) N DIQUIET S DIQUIET=1
 | 
|---|
| 9 |  I '$G(DIFM) N DIFM S DIFM=1 D INIZE^DIEFU
 | 
|---|
| 10 |  I $G(DIEHIEN)]"" N DA,C,D,I D DA^DIEFU(DIEHIEN,.DA) S C=$L(DIEHIEN,",")-1 F I=1:1:C S D="D"_(C-I) N @D S @D=$P(DIEHIEN,",",I)
 | 
|---|
| 11 |  S DIEHZ=$$ZERO(DIEHF,DIEHFLD) I DIEHZ=0 G GETOUT
 | 
|---|
| 12 |  S DIEHD=$P(DIEHZ,U,2)
 | 
|---|
| 13 |  D BLDFLGS G:$G(DIEHEXIT) GETOUT
 | 
|---|
| 14 |  I DIEHD["P" S DIEHPF=+$P(DIEHD,"P",2)
 | 
|---|
| 15 |  S DIHELP=+$O(^TMP("DIHELP",$J,""),-1)
 | 
|---|
| 16 |  I DIEHUFLG["F",DIEHFLD=.01 D PXREFS(DIEHF,DIEHFLD)
 | 
|---|
| 17 |  I DIEHUFLG["H" D HPROMPT(DIEHF,DIEHFLD)
 | 
|---|
| 18 |  I DIEHUFLG["X" D XHLP(DIEHF,DIEHFLD)
 | 
|---|
| 19 |  I DIEHUFLG["D" D DESCR(DIEHF,DIEHFLD)
 | 
|---|
| 20 |  I DIEHUFLG["P" D SCRNDES(DIEHF,DIEHFLD)
 | 
|---|
| 21 |  I DIEHUFLG["C" D SCRNDES(DIEHF,DIEHFLD)
 | 
|---|
| 22 |  I DIEHUFLG["T" N DIEHDT S DIEHDT=$P($P($P(DIEHZ,U,5,99),"%DT=""",2),"""",1)  D DT^DIEH1(DIEHDT)
 | 
|---|
| 23 |  I DIEHUFLG["S" D SCRNCD(DIEHF,DIEHFLD,DIEHZ)
 | 
|---|
| 24 |  I DIEHUFLG["U" D UNSCRNCD(DIEHZ)
 | 
|---|
| 25 |  I DIEHUFLG["V" D VPMSG(DIEHF,DIEHFLD)
 | 
|---|
| 26 |  I DIEHUFLG["B",DIEHUFLG'["b" D BLD^DIALOG(9115)
 | 
|---|
| 27 |  I DIEHUFLG["M" D BLD^DIALOG(9116)
 | 
|---|
| 28 |  I DIEHUFLG["G",DIEHFLG'["g",$G(DIEHPF) D FOLLOW(DIEHPF,DIEHFLG)
 | 
|---|
| 29 |  I '$G(DIHELP) K DIHELP
 | 
|---|
| 30 | GETOUT I $D(DIEHOUT) D CALLOUT^DIEFU(DIEHOUT)
 | 
|---|
| 31 |  Q
 | 
|---|
| 32 |  ;
 | 
|---|
| 33 | BLDFLGS ;
 | 
|---|
| 34 |  N A1,A2,C1,C2,DIEHGFLG
 | 
|---|
| 35 |  S C1="HX",C2="XD",(A1,A2)=""
 | 
|---|
| 36 |  I DIEHD S DIEHF=+DIEHD,DIEHFLD=.01,DIEHD=$P(^DD(DIEHF,.01,0),U,2)
 | 
|---|
| 37 |  I DIEHD["W" S (A1,A2)="HD"
 | 
|---|
| 38 |  E  I DIEHD["D" S (A1,A2)="T"
 | 
|---|
| 39 |  E  I DIEHD["S" S A1="CS",A2="S",DIEHGFLG="U"
 | 
|---|
| 40 |  E  I DIEHD["P" S A1="PG",A2="G",DIEHGFLG="F"
 | 
|---|
| 41 |  E  I DIEHD="V" S A1="VB",A2="VMB"
 | 
|---|
| 42 |  I DIEHFLD=.01,'$D(^DD(DIEHF,0,"UP")) S A1=A1_"F",A2=A2_"F"
 | 
|---|
| 43 |  I DIEHUFLG'["r",'$$VERFLG^DIEFU(DIEHUFLG,"bgA?"_C1_C2_A1_A2_$G(DIEHGFLG)) S DIEHEXIT=1
 | 
|---|
| 44 |  I DIEHUFLG["??" S DIEHUFLG=DIEHUFLG_C2_A2
 | 
|---|
| 45 |  E  I DIEHUFLG["?" S DIEHUFLG=DIEHUFLG_C1_A1
 | 
|---|
| 46 |  E  I DIEHUFLG["A" S DIEHUFLG=$TR(C1_C2_A1_A2,"S","U")
 | 
|---|
| 47 |  Q
 | 
|---|
| 48 |  ;
 | 
|---|
| 49 | ZERO(F,D) ;
 | 
|---|
| 50 |  I '$$VFILE^DIEFU(F,"D") Q 0
 | 
|---|
| 51 |  I '$$VFIELD^DIEFU(F,D,"D") Q 0
 | 
|---|
| 52 |  Q ^DD(F,D,0)
 | 
|---|
| 53 |  ;
 | 
|---|
| 54 | BN ;Insert blank node.
 | 
|---|
| 55 |  S:DIHELP DIHELP=DIHELP+1,^TMP("DIHELP",$J,DIHELP)=""
 | 
|---|
| 56 |  Q
 | 
|---|
| 57 |  ;
 | 
|---|
| 58 | HPROMPT(F,D) ;
 | 
|---|
| 59 |  N T
 | 
|---|
| 60 |  S T=$G(^DD(F,D,3))
 | 
|---|
| 61 |  I $L(T) D
 | 
|---|
| 62 |  . D BN
 | 
|---|
| 63 |  . S DIHELP=DIHELP+1,^TMP("DIHELP",$J,DIHELP)=T
 | 
|---|
| 64 |  Q
 | 
|---|
| 65 |  ;
 | 
|---|
| 66 | XHLP(DIEHF,DIEHFLD) ;
 | 
|---|
| 67 |  ;DA() and D0,D1,etc. passed thru symbol table.
 | 
|---|
| 68 |  N DIEHXH S DIEHXH=$G(^DD(DIEHF,DIEHFLD,4))
 | 
|---|
| 69 |  I $L(DIEHXH) D
 | 
|---|
| 70 |  . D BN
 | 
|---|
| 71 |  . N DIEHECNT S DIEHECNT=$G(DIERR)
 | 
|---|
| 72 |  . N DDIOLFLG S DDIOLFLG="H" X DIEHXH
 | 
|---|
| 73 |  . I DIEHECNT'=$G(DIERR) D HKERR^DILIBF(DIEHF,"",DIEHFLD,"Xecutable Help")
 | 
|---|
| 74 |  Q
 | 
|---|
| 75 |  ;
 | 
|---|
| 76 | DESCR(F,D) ;
 | 
|---|
| 77 |  N L
 | 
|---|
| 78 |  S L=$P($G(^DD(F,D,21,0)),U,3)
 | 
|---|
| 79 |  I L D
 | 
|---|
| 80 |  . D BN
 | 
|---|
| 81 |  . N I F I=1:1:L S DIHELP=DIHELP+1,^TMP("DIHELP",$J,DIHELP)=^DD(F,D,21,I,0)
 | 
|---|
| 82 |  . Q
 | 
|---|
| 83 |  Q
 | 
|---|
| 84 |  ;
 | 
|---|
| 85 | PXREFS(DIEHF,DIEHFLD) ;
 | 
|---|
| 86 |  N DIF,DIFD,DIEHROOT,DIEHIXID,DIEHIXP,DIEHIXNM,DIFULL
 | 
|---|
| 87 |  S DIEHIXP=$$FILENM^DIEFU(DIEHF)_" "
 | 
|---|
| 88 |  D GETIXNM(DIEHF,.DIEHIXNM)
 | 
|---|
| 89 |  S DIF=""
 | 
|---|
| 90 |  F  S DIF=$O(DIEHIXNM(DIF)) Q:DIF=""  D  Q:$D(DIFULL)
 | 
|---|
| 91 |  . S DIFD=""
 | 
|---|
| 92 |  . F  S DIFD=$O(DIEHIXNM(DIF,DIFD)) Q:DIFD=""  D  Q:$D(DIFULL)
 | 
|---|
| 93 |  . . I $L(DIEHIXP)+$L(DIEHIXNM(DIF,DIFD))>240 D  Q
 | 
|---|
| 94 |  . . . S DIEHIXP=DIEHIXP_", etc     "
 | 
|---|
| 95 |  . . . S DIFULL=1
 | 
|---|
| 96 |  . . S DIEHIXP=DIEHIXP_DIEHIXNM(DIF,DIFD)_", or "
 | 
|---|
| 97 |  S DIEHIXP=$E(DIEHIXP,1,$L(DIEHIXP)-5)
 | 
|---|
| 98 |  D BLD^DIALOG(9105,DIEHIXP)
 | 
|---|
| 99 |  Q
 | 
|---|
| 100 |  ;
 | 
|---|
| 101 | GETIXNM(DIEHF,DIEHIXNM) ;
 | 
|---|
| 102 |  S DIEHROOT=$$ROOT^DIQGU(DIEHF,"",1)
 | 
|---|
| 103 |  S DIEHIXID="Az"
 | 
|---|
| 104 |  F  S DIEHIXID=$O(@DIEHROOT@(DIEHIXID)) Q:DIEHIXID=""  D
 | 
|---|
| 105 |  . N DIEHIXF,DIEHIXFD
 | 
|---|
| 106 |  . S DIEHIXF=$O(^DD(DIEHF,0,"IX",DIEHIXID,"")) Q:DIEHIXF=""
 | 
|---|
| 107 |  . S DIEHIXFD=$O(^DD(DIEHF,0,"IX",DIEHIXID,DIEHIXF,"")) Q:DIEHIXFD=""
 | 
|---|
| 108 |  . S DIEHIXNM(DIEHIXF,DIEHIXFD)=$$FLDNM^DIEFU(DIEHIXF,DIEHIXFD)
 | 
|---|
| 109 |  Q
 | 
|---|
| 110 |  ;
 | 
|---|
| 111 | SCRNDES(F,D) ;
 | 
|---|
| 112 |  N T
 | 
|---|
| 113 |  S T=$G(^DD(F,D,12))
 | 
|---|
| 114 |  I $L(T) D
 | 
|---|
| 115 |  . D BN
 | 
|---|
| 116 |  . S DIHELP=DIHELP+1,^TMP("DIHELP",$J,DIHELP)=T
 | 
|---|
| 117 |  . Q
 | 
|---|
| 118 |  Q
 | 
|---|
| 119 |  ;
 | 
|---|
| 120 | SCRNCD(F,D,DIEHZ) ;
 | 
|---|
| 121 |  N S,DIC,Y,A,T,I
 | 
|---|
| 122 |  I $P(DIEHZ,U,2)'["*" D UNSCRNCD(DIEHZ) Q
 | 
|---|
| 123 |  S S=$G(^DD(F,D,12.1))
 | 
|---|
| 124 |  I S="" D UNSCRNCD(DIEHZ) Q
 | 
|---|
| 125 |  D CODES
 | 
|---|
| 126 |  I $D(Y) D
 | 
|---|
| 127 |  . N DIEHECNT S DIEHECNT=$G(DIERR)
 | 
|---|
| 128 |  . X S
 | 
|---|
| 129 |  . D BLD^DIALOG(9101)
 | 
|---|
| 130 |  . F I=1:1:T D
 | 
|---|
| 131 |  . . S Y=$P(Y(I),";",1)
 | 
|---|
| 132 |  . . X DIC("S") I  D CODESOUT
 | 
|---|
| 133 |  . I DIEHECNT'=$G(DIERR) D HKERR^DILIBF(F,"",D,"set of codes screen")
 | 
|---|
| 134 |  Q
 | 
|---|
| 135 | UNSCRNCD(DIEHZ) ;
 | 
|---|
| 136 |  N Y,A,T,I
 | 
|---|
| 137 |  D CODES
 | 
|---|
| 138 |  I $D(Y) D
 | 
|---|
| 139 |  . D BLD^DIALOG(9101)
 | 
|---|
| 140 |  . F I=1:1:T D CODESOUT
 | 
|---|
| 141 |  . Q
 | 
|---|
| 142 |  Q
 | 
|---|
| 143 |  ;
 | 
|---|
| 144 | CODES ;
 | 
|---|
| 145 |  S A=$P(DIEHZ,U,3)
 | 
|---|
| 146 |  I A]"" D
 | 
|---|
| 147 |  . S T=$L(A,";")-1
 | 
|---|
| 148 |  . F I=1:1:T S Y(I)=$P(A,";",I)
 | 
|---|
| 149 |  . Q
 | 
|---|
| 150 |  Q
 | 
|---|
| 151 |  ;
 | 
|---|
| 152 | CODESOUT ;
 | 
|---|
| 153 |  S DIHELP=DIHELP+1,^TMP("DIHELP",$J,DIHELP)=$P(Y(I),":",1)_"        "_$P(Y(I),":",2)
 | 
|---|
| 154 |  Q
 | 
|---|
| 155 |  ;
 | 
|---|
| 156 | VPMSG(F,D) ;
 | 
|---|
| 157 |  N I,N,P,L
 | 
|---|
| 158 |  D BLD^DIALOG(9103)
 | 
|---|
| 159 |  S I=0 F  S I=$O(^DD(F,D,"V",I)) Q:I="B"  S N=^(I,0) D
 | 
|---|
| 160 |  . S P(1)=$P(N,U,4),P(2)=$P(N,U,2),L=$S(I=1:"",1:"S")
 | 
|---|
| 161 |  . D BLD^DIALOG(9117,.P,.P,"",L)
 | 
|---|
| 162 |  . Q
 | 
|---|
| 163 |  Q
 | 
|---|
| 164 |  ;
 | 
|---|
| 165 | FOLLOW(DIEHPF,DIEHUFLG) ;
 | 
|---|
| 166 |  D GET(DIEHPF,"",.01,DIEHUFLG_"r")
 | 
|---|
| 167 |  Q
 | 
|---|