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

INHVA.m

Go to the documentation of this file.
  1. INHVA ;FRW ; 22 Jul 91 11:09; Misc. utilities for SAIC-Care/VA interfacing
  1. ;;3.01;BHL IHS Interfaces with GIS;;JUL 01, 2001
  1. ;COPYRIGHT 1991-2000 SAIC
  1. Q
  1. ;
  1. IDXREF(INSYS,INDA,INKILL,INFUNC,INRECID) ;Update record ID x-ref on file #4090.1
  1. ;Called from DD of file #4090.1
  1. ;INPUT:
  1. ; INSYS - system ('VA' or 'SC') (req.)
  1. ; INDA - entry in file #4090.1 (ien) (req.)
  1. ; INKILL - flag to indicate if x-ref is being set or killed (opt.)
  1. ; 1 => kill x-ref ; 0 => set x-ref (default)
  1. ; INFUNC - mapping function (ien) (opt.)
  1. ; INRECID - appropriate record id
  1. ;
  1. S INSYS=$G(INSYS),INKILL=$G(INKILL),INFUNC=$G(INFUNC),INRECID=$G(INRECID) Q:'$G(INDA)!(INSYS'="SC"&(INSYS'="VA"))
  1. S:'$L(INFUNC) INFUNC=$P($G(^INVD(4090.1,INDA,0)),U,2) S:'$L(INRECID) INRECID=$E($S(INSYS="SC":$G(^(1)),1:$G(^(10))),1,100)
  1. Q:('$L(INFUNC)!'$L(INRECID))
  1. I 'INKILL S ^INVD(4090.1,INSYS,INFUNC,INRECID,INDA)=""
  1. E K ^INVD(4090.1,INSYS,INFUNC,INRECID,INDA)
  1. Q
  1. ;
  1. TRANS(INSYS,INFUNC,INRECID,INRECNA) ;Transform from one system to another
  1. ;INPUT:
  1. ; INSYS - sending system to transform from ('VA' or 'SC') (req.)
  1. ; i.e. 'VA' implies transform VA value to SAIC-Care value
  1. ; INFUNC - mapping function from file #4090.2 (internmal or external) (req.)
  1. ; INRECID - record ID (req.)
  1. ; INRECNA - record name (opt.)
  1. ;
  1. ;OUTPUT:
  1. ; function value - data element value (ien) ^ translated record ID
  1. ; or NULL if look-up failed
  1. ;
  1. S INSYS=$G(INSYS),INFUNC=$G(INFUNC),INRECID=$G(INRECID),INRECNA=$G(INRECNA) Q:'$L(INFUNC)!'$L(INRECID)!(INSYS'="SC"&(INSYS'="VA")) ""
  1. N INNOID,INNONA,INNOTRNA,INNOEX,INDA,INID,POP,DIC
  1. ;Get ien of Map Function
  1. I INFUNC'=+INFUNC S DIC="^INVD(4090.2,",DIC(0)="MNX",X=INFUNC D ^DIC Q:Y<0 "" S INFUNC=+Y
  1. ;Determine appropriate nodes in file
  1. S INNOID=$S(INSYS="SC":1,1:10),INNONA=INNOID+1,INNOEX=$S(INSYS="SC":12,1:3),INNOTRID=$S(INSYS="SC":10,1:1),INID=$E(INRECID,1,100),INNOTRNA=INNOTRID+1
  1. ;Loop thru appropriate x-ref
  1. S INDA="",POP=0 F S INDA=$O(^INVD(4090.1,INSYS,INFUNC,INID,INDA)) Q:'INDA S POP=1 D Q:POP
  1. .;Verify NOT excluded
  1. .I $P($G(^INVD(4090.1,INDA,INNOEX)),U,1) S POP=0 Q
  1. .;Verify full record ID matches
  1. .I INRECID'=$G(^INVD(4090.1,INDA,INNOID)) S POP=0 Q
  1. .;Verify record name matches (if present)
  1. .I $L(INRECNA),INRECNA'=$G(^INVD(4090.1,INDA,INNONA)) S POP=0 Q
  1. ;Construct exit value
  1. I INDA S INDA=$G(^INVD(4090.1,INDA,INNOTRID))_U_$G(^INVD(4090.1,INDA,INNOTRNA))
  1. Q INDA
  1. ;