| 1 | DIEFU ;SF/DPC-FILER UTILITIES ;1:56 PM  25 May 2001
 | 
|---|
| 2 |  ;;22.0;VA FileMan;**85**;Mar 30, 1999
 | 
|---|
| 3 |  ;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 | INIZE ;
 | 
|---|
| 5 |  N %,X,%H,DIE,DICS,DIC,%DT,DIK,%Y,%X,%D,%M,%I
 | 
|---|
| 6 |  D DTNOLF^DICRW
 | 
|---|
| 7 |  D CLEAN
 | 
|---|
| 8 |  Q
 | 
|---|
| 9 | CLEAN ;
 | 
|---|
| 10 |  K DIRUT,DIROUT,DUOUT,DTOUT
 | 
|---|
| 11 |  K ^TMP("DIERR",$J),^TMP("DIMSG",$J),^TMP("DIHELP",$J)
 | 
|---|
| 12 |  K DIERR,DIHELP,DIMSG
 | 
|---|
| 13 |  Q
 | 
|---|
| 14 |  ;
 | 
|---|
| 15 | CALLOUT(DIOUTAR) ;
 | 
|---|
| 16 |  I '$$VROOT(DIOUTAR) Q
 | 
|---|
| 17 |  I $D(DIERR) D
 | 
|---|
| 18 |  . S @DIOUTAR@("DIERR")=DIERR
 | 
|---|
| 19 |  . M @DIOUTAR@("DIERR")=^TMP("DIERR",$J)
 | 
|---|
| 20 |  . K ^TMP("DIERR",$J)
 | 
|---|
| 21 |  . Q
 | 
|---|
| 22 |  I $D(DIHELP) D
 | 
|---|
| 23 |  . S @DIOUTAR@("DIHELP")=DIHELP
 | 
|---|
| 24 |  . M @DIOUTAR@("DIHELP")=^TMP("DIHELP",$J)
 | 
|---|
| 25 |  . K ^TMP("DIHELP",$J)
 | 
|---|
| 26 |  . Q
 | 
|---|
| 27 |  I $D(DIMSG) D
 | 
|---|
| 28 |  . S @DIOUTAR@("DIMSG")=DIMSG
 | 
|---|
| 29 |  . M @DIOUTAR@("DIMSG")=^TMP("DIMSG",$J)
 | 
|---|
| 30 |  . K ^TMP("DIMSG",$J)
 | 
|---|
| 31 |  . Q
 | 
|---|
| 32 |  Q
 | 
|---|
| 33 |  ;
 | 
|---|
| 34 | IEN(DIEFDA) ;
 | 
|---|
| 35 | IENX ;
 | 
|---|
| 36 |  I '$D(DIEFDA) Q 0
 | 
|---|
| 37 |  N I,DIEFIEN S (I,DIEFIEN)="",DIEFDA(0)=$G(DIEFDA)
 | 
|---|
| 38 |  F  S I=$O(DIEFDA(I)) Q:I=""  S DIEFIEN=DIEFIEN_DIEFDA(I)_","
 | 
|---|
| 39 |  K DIEFDA(0)
 | 
|---|
| 40 |  Q DIEFIEN
 | 
|---|
| 41 |  ;
 | 
|---|
| 42 | DA(DAIEN,DATARG) ;
 | 
|---|
| 43 | DAX ;
 | 
|---|
| 44 |  K DATARG N I
 | 
|---|
| 45 |  F I=1:1:$L(DAIEN,",")-1 S DATARG(I-1)=$P(DAIEN,",",I)
 | 
|---|
| 46 |  I $D(DATARG(0)) S DATARG=DATARG(0) K DATARG(0)
 | 
|---|
| 47 |  Q
 | 
|---|
| 48 |  ;
 | 
|---|
| 49 | VROOT(DIEFAR) ;
 | 
|---|
| 50 |  I DIEFAR'["(" Q 1
 | 
|---|
| 51 |  I $E(DIEFAR,$L(DIEFAR))=")",$F(DIEFAR,")")>($F(DIEFAR,"(")+1) Q 1
 | 
|---|
| 52 |  D BLD^DIALOG(202,"array root")
 | 
|---|
| 53 |  Q 0
 | 
|---|
| 54 |  ;
 | 
|---|
| 55 | VFILE(F,FLAG) ;
 | 
|---|
| 56 | VFILEX ;
 | 
|---|
| 57 |  I $P($G(^DD(F,.01,0)),U,2)]"",$P(^(0),U,2)'["W" Q 1
 | 
|---|
| 58 |  I $G(FLAG)["D" N P S P("FILE")=F D BLD^DIALOG(401,.P,.P)
 | 
|---|
| 59 |  Q 0
 | 
|---|
| 60 |  ;
 | 
|---|
| 61 | VENTRY(DIEFF,DIEFIEN,DIEFFLG) ;
 | 
|---|
| 62 |  N DIEFROOT,DIEFDA
 | 
|---|
| 63 |  S DIEFFLG=$G(DIEFFLG),DIEFDA=$P(DIEFIEN,",")
 | 
|---|
| 64 |  S DIEFROOT=$$ROOT^DIQGU(DIEFF,DIEFIEN,1,$S(DIEFFLG["D":1,1:0)) Q:DIEFROOT="" 0
 | 
|---|
| 65 |  I $P($G(@DIEFROOT@(DIEFDA,0)),"^",1)="" D  Q 0
 | 
|---|
| 66 |  . I DIEFFLG["D" N DIEFP S DIEFP("FILE")=DIEFF,DIEFP("IENS")=DIEFIEN D BLD^DIALOG(601,"",.DIEFP)
 | 
|---|
| 67 |  I DIEFFLG["9" Q:'$$VMINUS9(DIEFF,DIEFIEN,DIEFFLG) 0
 | 
|---|
| 68 |  Q 1
 | 
|---|
| 69 |  ;
 | 
|---|
| 70 | VMINUS9(DIEFF,DIEFIEN,DIEFFLG) ;
 | 
|---|
| 71 |  N DIEFTOP,DIEFROOT S DIEFFLG=$G(DIEFFLG)
 | 
|---|
| 72 |  S DIEFTOP=$P(DIEFIEN,",",$L(DIEFIEN,",")-1),DIEFROOT=$$ROOT^DIQGU($$FNO^DILIBF(DIEFF),.DIEFTOP,1,$S(DIEFFLG["D":1,1:0))
 | 
|---|
| 73 |  Q:DIEFROOT="" 0
 | 
|---|
| 74 |  I $D(@DIEFROOT@(DIEFTOP,-9)) D  Q 0
 | 
|---|
| 75 |  . I DIEFFLG["D" N DIEFP S DIEFP("FILE")=DIEFF,DIEFP("IENS")=DIEFIEN D BLD^DIALOG(602,"",.DIEFP)
 | 
|---|
| 76 |  Q 1
 | 
|---|
| 77 |  ;
 | 
|---|
| 78 | CHKFLD(DIEFF,DIEFFLD) ;
 | 
|---|
| 79 |  I DIEFFLD'=+DIEFFLD S DIEFFLD=$$FLDNUM^DIEF1(DIEFF,DIEFFLD) Q:'DIEFFLD 0
 | 
|---|
| 80 |  I '$$VFIELD(DIEFF,DIEFFLD,"D") Q 0
 | 
|---|
| 81 |  Q DIEFFLD
 | 
|---|
| 82 |  ;
 | 
|---|
| 83 | VFIELD(F,FLD,FLAG) ;
 | 
|---|
| 84 | VFIELDX ;
 | 
|---|
| 85 |  I $D(^DD(F,FLD)) Q 1
 | 
|---|
| 86 |  I $G(FLAG)["D" N P S (P(1),P("FIELD"))=FLD,P("FILE")=F D BLD^DIALOG(501,.P,.P)
 | 
|---|
| 87 |  Q 0
 | 
|---|
| 88 |  ;
 | 
|---|
| 89 | DT(DIEFDT,DIEFX,DIEFY,DIEFDT0,DIOUTAR) ;
 | 
|---|
| 90 | DTX ;
 | 
|---|
| 91 |  I '$D(DIQUIET) N DIQUIET S DIQUIET=1
 | 
|---|
| 92 |  I '$D(DIFM) N DIFM S DIFM=1 D INIZE
 | 
|---|
| 93 |  N %DT,X,Y
 | 
|---|
| 94 |  S DIEFDT=$G(DIEFDT)
 | 
|---|
| 95 |  I $G(DIEFX)="" D BLD^DIALOG(202,"date being converted") G DTOUT
 | 
|---|
| 96 |  I '$$VERFLG^DIEFU(DIEFDT,"FMNPRSTXEeI") G DTOUT
 | 
|---|
| 97 |  I DIEFX?."?" D DT^DIEH1(DIEFDT) S DIEFY=-1 G DTOUT
 | 
|---|
| 98 |  S %DT=DIEFDT,X=DIEFX S:$G(DIEFDT0)]"" %DT(0)=DIEFDT0 D ^%DT S DIEFY=Y
 | 
|---|
| 99 |  I DIEFY=-1 D:DIEFDT'["e"  G DTOUT
 | 
|---|
| 100 |  . N DIEFP
 | 
|---|
| 101 |  . S DIEFP(1)=DIEFX,DIEFP(2)="date/time"
 | 
|---|
| 102 |  . D BLD^DIALOG(330,.DIEFP,.DIEFP)
 | 
|---|
| 103 |  I DIEFDT["E" D DD^%DT S DIEFY(0)=Y
 | 
|---|
| 104 | DTOUT I $G(DIOUTAR)]"" D CALLOUT^DIEFU(DIOUTAR)
 | 
|---|
| 105 |  Q
 | 
|---|
| 106 |  ;
 | 
|---|
| 107 | VERFLG(FLG,GDFLGS) ;
 | 
|---|
| 108 |  N EI
 | 
|---|
| 109 |  S EI=$TR(FLG,GDFLGS,"")
 | 
|---|
| 110 |  I EI="" Q 1
 | 
|---|
| 111 |  D BLD^DIALOG(301,EI,EI)
 | 
|---|
| 112 |  Q 0
 | 
|---|
| 113 |  ;
 | 
|---|
| 114 | XA(DIEFF,DIEFIEN,DIEFFLD,DIEFNVAL,DIEFOVAL) ;
 | 
|---|
| 115 |  N DA,DIEFCNOD,DOREPL
 | 
|---|
| 116 |  S DIEFNVAL=$G(DIEFNVAL),DIEFOVAL=$G(DIEFOVAL)
 | 
|---|
| 117 |  Q:DIEFNVAL=DIEFOVAL
 | 
|---|
| 118 |  D DA(DIEFIEN,.DA)
 | 
|---|
| 119 |  D XRFAUD^DIEF
 | 
|---|
| 120 |  Q
 | 
|---|
| 121 |  ;
 | 
|---|
| 122 | FILENM(F) ;
 | 
|---|
| 123 |  N NM
 | 
|---|
| 124 |  S NM=$P($G(^DIC($$FNO^DILIBF(F),0)),U)
 | 
|---|
| 125 |  ;I NM="" <DO ERROR>
 | 
|---|
| 126 |  Q NM
 | 
|---|
| 127 |  ;
 | 
|---|
| 128 | FLDNM(F,FLD) ;
 | 
|---|
| 129 |  N NM,UP
 | 
|---|
| 130 |  S NM=$P($G(^DD(F,FLD,0)),U,1)
 | 
|---|
| 131 |  F  S UP=$G(^DD(F,0,"UP")) Q:'UP  D
 | 
|---|
| 132 |  . S NM=NM_" in "_$P($G(^DD(F,0)),U,1)
 | 
|---|
| 133 |  . S F=UP
 | 
|---|
| 134 |  . Q
 | 
|---|
| 135 |  ;I NM="" <DO ERROR>
 | 
|---|
| 136 |  Q NM
 | 
|---|