| 1 | DIFG4 ;SFISC/DG(OHPRD)-HANDLES FAILED IDENTIFIER, SPECIFIER, AND FIELD LOOKUPS ; [ 07/15/91  1:30 PM ] | 
|---|
| 2 | ;;22.0;VA FileMan;;Mar 30, 1999 | 
|---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | START ; | 
|---|
| 5 | I DIFGTYP="FILE"!(DIFGTYP="MV FIELD") S DIFGPARM=$P(DIFGMO(DIFGMULT),U) I "DM"[DIFGPARM S DIFGER=9_U_DIFGY D ERROR^DIFG G X1 | 
|---|
| 6 | I DIFGTYP="MV FIELD" G X1 ;Call ENADD^DIFG4 from SET^DIFG2 if a MV FIELD | 
|---|
| 7 | I DIFGTYP="",'DIFGLAGO,'$D(DIFGCOND) S DIFGER=10_U_DIFGY D ERROR^DIFG G X1 | 
|---|
| 8 | I DIFGTYP="",DIFGLAGO,$D(DIFG("CONDSET")),'$D(DIFGCOND) S DIFGER=24_U_DIFGY D ERROR^DIFG G X1 | 
|---|
| 9 | I DIFGTYP="",DIFGLAGO,'$D(DIFG("CONDSET")) | 
|---|
| 10 | I DIFGTYP="",'DIFGLAGO,$D(DIFGCOND) D ^DIFG4A G X1 | 
|---|
| 11 | I DIFGTYP="SV FIELD",'DIFGLAGO,'$D(DIFGCOND(DIFG,DIFGDIC)) S DIFGER=11_U_DIFGY D ERROR^DIFG G X1 ;END for the BEGIN-END block for a SV FIELD; must have laygo to the pointed to file from the field allowed OR conditional | 
|---|
| 12 | I DIFGTYP="SV FIELD",DIFGLAGO,$D(DIFG("CONDSET")),'$D(DIFGCOND(DIFG,DIFGDIC)) S DIFGER=24_U_DIFGY D ERROR^DIFG G X1 | 
|---|
| 13 | I DIFGTYP="SV FIELD",DIFGLAGO,'$D(DIFG("CONDSET")) | 
|---|
| 14 | E  I DIFGTYP="SV FIELD",'DIFGLAGO D ^DIFG4A G X1 | 
|---|
| 15 | D ENADD | 
|---|
| 16 | I $D(DIFGSVN) S DIFGADD=DIFGSVN K DIFGSVN | 
|---|
| 17 | X1 K %,DIFGPARM,DIFGADFL Q | 
|---|
| 18 | ; | 
|---|
| 19 | ENADD ; | 
|---|
| 20 | I DIFGTYP]"",DIFGTYP'="SV FIELD" S DIFGSVN=DIFGADD,DIFGADD=DIFGINCR,DIFGSKIP(DIFGMULT)="" | 
|---|
| 21 | E  S DIFGADD=DIFGADD+.0001 | 
|---|
| 22 | I DIFGTYP'="MV FIELD",DIFGTYP'="FILE" D ENADD2 | 
|---|
| 23 | I $D(DIFGKEY),DIFGFIRP="KEY" S ^UTILITY("DIFG",$J,DIFGADD,DIFGDIC,"DIC(""DR"")")=$S(DIFG("PARAM")["N":+$P(DIFGDIX,U,2),1:$O(^DD(DIC,"B",$P(DIFGDIX,U),"")))_"////"_$P(DIFGDIX,"=",2) G X3 | 
|---|
| 24 | I '$D(^UTILITY("DIFG",$J,DIFGADD,DIFGDIC,"DIC(""DR"")")) S ^("DIC(""DR"")")="" | 
|---|
| 25 | S DIFGDRCT=0 F DIFGI=1:1 Q:'$D(DIFGDIC(DIFGDIC,DIFGI))  S DIFGDIGT=+$P(DIFGDIC(DIFGDIC,DIFGI),"DIFGPC(",2) D:$D(DIFGNUMF(DIFGDIGT)) DICDR | 
|---|
| 26 | K DIFGDR,DIFGDRT,DIFGDRVL,DIFGDIGT,DIFGDRCT | 
|---|
| 27 | X3 Q | 
|---|
| 28 | ; | 
|---|
| 29 | ENADD2 ;SET VARS IF NOT MV FIELD OR FILE | 
|---|
| 30 | S ^UTILITY("DIFG",$J,DIFGADD,DIFGDIC,"DA")="^UTILITY(""DIFG@"","_$J_","""_DIFGSAVE(DIFG,"@NUM")_""")",^("X")=$S($E(X)="`":$E(X,2,245)_"^N",(X["DIFG(""@")!($D(DIFG("ACGRV"))):X_"^N",1:X) | 
|---|
| 31 | S ^UTILITY("DIFG",$J,DIFGADD,DIFGDIC,"GL")=^DIC(DIFGDIC,0,"GL"),^("MODE")="A"_"^"_DIFGY | 
|---|
| 32 | Q | 
|---|
| 33 | ; | 
|---|
| 34 | DICDR ;SAVE FLD NUMBERS AND VALUES IN DIC("DR") | 
|---|
| 35 | I DIFGSVVL(DIFGDIGT)[("^UTILITY(""DIFG@"","_$J) S DIFGDRVL=$S(+@DIFGSVVL(DIFGDIGT):"/"_@DIFGSVVL(DIFGDIGT),1:"^S X="_"""`""_"_DIFGSVVL(DIFGDIGT)) | 
|---|
| 36 | E  S DIFGDRVL="/"_DIFGSVVL(DIFGDIGT) | 
|---|
| 37 | I '$D(^UTILITY("DIFG",$J,DIFGADD,DIFGDIC,"DIC(""DR"")")) S ^("DIC(""DR"")")="" | 
|---|
| 38 | I $L(^UTILITY("DIFG",$J,DIFGADD,DIFGDIC,"DIC(""DR"")"))+$L(DIFGNUMF(DIFGDIGT)_"///"_DIFGDRVL_";")<241 S ^("DIC(""DR"")")=^("DIC(""DR"")")_DIFGNUMF(DIFGDIGT)_"///"_DIFGDRVL_";" G X2 | 
|---|
| 39 | I $D(^UTILITY("DIFG",$J,DIFGADD,DIFGDIC,"DIC(""DR"")",DIFGDRCT)),$L(^(DIFGDRCT))+$L(DIFGNUMF(DIFGDIGT)_"///"_DIFGDRVL_";")<241 S ^(DIFGDRCT)=^(DIFGDRCT)_DIFGNUMF(DIFGDIGT)_"///"_DIFGDRVL_";" | 
|---|
| 40 | E  S DIFGDRCT=DIFGDRCT+1,^UTILITY("DIFG",$J,DIFGADD,DIFGDIC,"DIC(""DR"")",DIFGDRCT)=DIFGNUMF(DIFGDIGT)_"///"_DIFGDRVL_";" | 
|---|
| 41 | X2 K DIFGDRVL | 
|---|
| 42 | Q | 
|---|
| 43 | ; | 
|---|