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

INHSYS06.m

Go to the documentation of this file.
  1. INHSYS06 ;JPD; 26 Oct 95 14:49;gis sys con data installation utility
  1. ;;3.01;BHL IHS Interfaces with GIS;;JUL 01, 2001
  1. ;COPYRIGHT 1991-2000 SAIC
  1. Q
  1. PASS3 ;Pass 3 Update with old selected existing fields
  1. N %FLNM,%FLDNM,%IEN,%ROOT,%NBFR,%PIECE,%DD,%NODE,%UTBFR,INSV,INROOT
  1. N %SAV
  1. S %PASS=3
  1. D SAVE^INHSYSUT(.%SAV)
  1. S %NBFR="^UTILITY(""INHSYSUT"","_$J_","
  1. S %FLNM="" F S %FLNM=$O(%SAV(%FLNM)) Q:%FLNM="" D
  1. .S %ROOT=^DIC($$UP^INHSYSUT(%FLNM),0,"GL")
  1. .S %FLDNM="" F S %FLDNM=$O(%SAV(%FLNM,%FLDNM)) Q:%FLDNM="" D
  1. ..S %IEN=""
  1. ..F S %IEN=$O(^UTILITY("INHSYSUT",$J,%FLNM,%IEN)) Q:%IEN="" D
  1. ...I '$D(@(%ROOT_%IEN_",0)")) W !,"error, file entry"_%ROOT_%IEN_" and data does not exist!" Q
  1. ...I '$D(^DD(%FLNM,%FLDNM)) W !,"Note.. field not in Data Dictionary. File "_%FLNM_" Field "_%FLDNM,!," Entry ",$P(@(%ROOT_%IEN_",0)"),U)_" may be missing data." Q
  1. ...S %DD=^DD(%FLNM,%FLDNM,0),%NODE=$P($P(%DD,U,4),";")
  1. ...;If word proc field
  1. ...I $$WP^INHSYSUT(%FLNM,%FLDNM) D WORD^INHSYS05(%NBFR,%ROOT,%IEN,%NODE,0) Q
  1. ...;If multiple
  1. ...I $P($P(^DD(%FLNM,%FLDNM,0),U,4),";",2)=0 D MULT(%ROOT,%IEN,%FLNM,%FLDNM,%NBFR,.INSV) Q
  1. ...;all other fields
  1. ...S %PIECE=$P($P(%DD,U,4),";",2)
  1. ...S %UTBFR=%NBFR_%FLNM_","_%IEN_","_%NODE_","
  1. ...D DATA^INHSYSUT($$RUT^INHSYSUT(%UTBFR),%PIECE,.%DATA)
  1. ...I %DATA'="" D FILE^INHSYSUT(%IEN,%DATA,%FLDNM,%ROOT,0) S INSV(%ROOT,%IEN)=""
  1. I $D(INSV) W !,"Re-Indexing files"
  1. S INROOT="",DA=""
  1. F S INROOT=$O(INSV(INROOT)) Q:INROOT="" F S DA=$O(INSV(INROOT,DA)) Q:DA="" D
  1. .S DIK=INROOT D IX^DIK
  1. W !,"Pass 3 Done!"
  1. Q
  1. MULT(%ROOT,DA,%FLNM,%FLDNM,%NBFR,INSV) ;
  1. ; Input:
  1. ; %ROOT - Root node of global to stuff
  1. ; DA - ien
  1. ; %FLNM - Fileman File number
  1. ; %FLDNM - Fileman Field number
  1. ; %NBFR - Utility global
  1. ; INSV - list of files and iens that get updated
  1. N %NODE,%X,%Y
  1. S %NODE=$P($P(^DD(%FLNM,%FLDNM,0),U,4),";")
  1. ;S %X=%NBFR_%FLNM_","_DA_","_%NODE_","
  1. ;S %Y=%ROOT_DA_","_%NODE_","
  1. ;D %XY^%RCR
  1. S %X=%NBFR_%FLNM_","_DA_","_%NODE_")",%Y=%ROOT_DA_","_%NODE_")"
  1. M @%Y=@%X
  1. S INSV(%ROOT,DA)=""
  1. Q
  1. WORD ;
  1. Q
  1. DUPCK ;Duplicate cross "B" Cross reference checker"
  1. N INA,INB,INFOUND,INFST
  1. F %ROOT="^INRHT(","^INRHD(","^INRHS(","^INTHPC(","^INTHL7M(","^INTHL7S(","^INTHL7F(","^INVD(","^INTHL7FT(" D
  1. .S INA=""
  1. .F S INA=$O(@(%ROOT_"""B"","""_INA_""")")) Q:INA="" D
  1. ..S INFOUND=0,INFST=""
  1. ..S INB="" F S INB=$O(@(%ROOT_"""B"","""_INA_""","""_INB_""")")) Q:INB="" D
  1. ...I INFOUND D
  1. ....W !!,"Duplicate ""B"" CROSS REFERENCE "_%ROOT_"""B"""_","_""""_INA_""""_","_""""_INFST_""""_")"
  1. ....W !,"Duplicate ""B"" CROSS REFERENCE "_%ROOT_"""B"""_","_""""_INA_""""_","_""""_INB_""""_")"
  1. ...S INFST=INB,INFOUND=1
  1. Q
  1. PASS4 ;Recompile entries from interface script file
  1. N INIEN,SCR,INX
  1. S %PASS=4
  1. W !,"Recompiling Scripts - Pass 4"
  1. S INIEN=0 F S INIEN=$O(^UTILITY("INHSYS",$J,4006,INIEN)) Q:'INIEN D
  1. .S INX=$P(^UTILITY("INHSYS",$J,4006,INIEN,0),U) Q:INX=""
  1. .S SCR=$O(^INRHS("B",INX,"")) Q:SCR=""
  1. .D EN^INHSZ
  1. W !,"Pass 4 complete!"
  1. Q