Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: INHVA1

INHVA1.m

Go to the documentation of this file.
  1. INHVA1 ;FRW ; 6 Feb 92 12:20; SACI-Care/VA data element mapping utilities
  1. ;;3.01;BHL IHS Interfaces with GIS;;JUL 01, 2001
  1. ;COPYRIGHT 1991-2000 SAIC
  1. Q
  1. CONF ;Consistency check for the .01 field on file #4090.2
  1. ;Called from ^DD(4090.2,.01,9)
  1. ;INPUT:
  1. ; X - value of .01 field
  1. ; DA - entry being editted (ien)
  1. ;
  1. ;OUTPUT:
  1. ; X - killed if not valid name
  1. ;
  1. S %=$O(^INVD(4090.2,"B",X,0)) I %,%'=DA W *7,!,"The function ",X," already exists." K X
  1. Q
  1. ;
  1. DEL ;Verify if entry can be deleted
  1. ;INPUT:
  1. ; DA - entry being deleted
  1. ;OUTPUT:
  1. ; $T - flagged to indicate if entry can be deleted
  1. ; 0 - ok to delete ; 1 - NOT ok to delete
  1. ;
  1. I $D(^INVD(4090.1,"SC",DA))!$D(^INVD(4090.1,"VA",DA)) D
  1. .D:$D(DWD)>9 MESS^DWD(6)
  1. .W *7,!!,"Entry may not be deleted.",!,"Entries in the DATA ELEMENT VALUE MAP file use this function."
  1. .R !,"Press <RETURN> to continue ",%:DTIME
  1. Q
  1. ;
  1. ADDR(SUBSCR,ITER) ;Transform addresses with no state
  1. ;INPUT:
  1. ; X => value of state field (ZZZ99.5)
  1. ; INV => array of data values
  1. ; SUBSCR => subscript where address field resides in INV (ex. ZPD17)
  1. ; ITER => (opt) indicates an iteration count
  1. ;
  1. ;OUTPUT:
  1. ; X => transformed value of state
  1. ; INV => modified array of data values
  1. ;
  1. S:$G(SUBSCR)="" SUBSCR="XXX"
  1. ;Look for zip codes in state field
  1. G:'$G(ITER) AD1
  1. I X?5N.E S @("@INV@("""_SUBSCR_".6"",ITER)")=X,X="",@("@INV@("""_SUBSCR_".5"",ITER)")=""
  1. I X]"" S X=$$MAP^INHVA2("GEOGRAPHIC LOCATION",@("@INV@("""_SUBSCR_".4"",ITER)")_"\"_X,0) K:'X X I $D(X) S X="`"_+X
  1. Q
  1. AD1 ;non-looping
  1. I X?5N.E S @("@INV@("""_SUBSCR_".6"")")=X,X="",@("@INV@("""_SUBSCR_".5"")")=""
  1. I X]"" S X=$$MAP^INHVA2("GEOGRAPHIC LOCATION",@("@INV@("""_SUBSCR_".4"")")_"\"_X,0) K:'X X I $D(X) S X="`"_+X
  1. Q
  1. ;
  1. TEST ;
  1. S INMODE="I",SUBDELIM="\"
  1. K INV S X="ILLINOIS",INV("ZPD17.5")=X,INV("ZPD17.4")=17 D ADDR("ZPD17") W !!,"X => ",X
  1. K INV S X=98124,INV("ZPD17.5")=X D ADDR("ZPD17") W !!,"X => ",X,!,"INV(17.6) => ",INV("ZPD17.6")
  1. Q
  1. ;
  1. KILL(%V,%D,%I) ;kill segment %V
  1. ;%D holds description of script var which failed required check
  1. ;If %I exists, it is an array containing subscript levels to wipe out
  1. N X,Y,I,Z S (%V,X)=$E(%V,1,3)
  1. I '$D(%I) D Q
  1. . F S X=$O(@INV@(X)) Q:$E(X,1,3)'=%V K @INV@(X)
  1. . D ERROR^INHS("Required data missing: '"_%D_"' ... "_%V_" segment deleted. Processing continues.",0)
  1. S Y="",I=0 F S I=$O(%I(I)) Q:'I S Y=Y_","_%I(I)
  1. S Z=$TR(INV,")",",")_$E("(",INV'["(")
  1. F S X=$O(@INV@(X)) Q:$E(X,1,3)'=%V K @(Z_""""_X_""""_Y_")")
  1. S Z="Required data missing: '"_%D_"' ... "_%V_" segment deleted for iteration #" S I=0 F S I=$O(%I(I)) Q:'I S Z=Z_%I(I)_","
  1. D ERROR^INHS($E(Z,1,$L(Z)-1)_". Processing continues.",0)
  1. Q