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

HDISVF08.m

Go to the documentation of this file.
  1. HDISVF08 ;ALB/RMO - 7118.22 File Utilities/API Cont.; 1/18/05@1:57:00
  1. ;;1.0;HEALTH DATA & INFORMATICS;;Feb 22, 2005
  1. ;
  1. ;---- Begin HDIS Facility Term/Concept Association file (#7118.22) API(s) ----
  1. ;
  1. FINDFAC(HDISYIEN,HDISFIEN,HDISTIEN,HDISIREF,HDISADDF,HDISAIEN,HDISERRM) ;Find or Add a New Facility Term/Concept Entry
  1. ; Input -- HDISYIEN HDIS System file (#7118.21) IEN
  1. ; HDISFIEN HDIS File/Field file (#7115.6) IEN
  1. ; HDISTIEN HDIS Term/Concept VUID Association file (#7118.11) IEN
  1. ; HDISIREF Internal Reference (Optional)
  1. ; HDISADDF Add a New Entry Flag (Optional- Default 0)
  1. ; 1=Yes and 0=No
  1. ; Output -- 1=Successful and 0=Failure
  1. ; If Successful:
  1. ; HDISAIEN HDIS Facility Term/Concept Association file IEN
  1. ; If Failure:
  1. ; HDISERRM Error Message (Optional)
  1. N HDISI,HDISOKF
  1. ;Initialize ouput
  1. S (HDISAIEN,HDISERRM)=""
  1. ;Check for missing variables, exit if not defined
  1. I $G(HDISYIEN)'>0!($G(HDISFIEN)'>0)!($G(HDISTIEN)'>0) D G FINDFACQ
  1. . S HDISERRM="Required Variable Missing."
  1. ;Check for existing System, File/Field, Term/Concept and Internal Reference, return entry and exit if it exists
  1. I $D(^HDISF(7118.22,"AS",HDISYIEN,HDISFIEN,HDISTIEN)) D G ADDFACQ:$G(HDISAIEN)
  1. . S HDISI=0
  1. . F S HDISI=$O(^HDISF(7118.22,"AS",HDISYIEN,HDISFIEN,HDISTIEN,HDISI)) Q:'HDISI!($G(HDISAIEN)) D
  1. . . I $D(^HDISF(7118.22,HDISI,0)),$P(^(0),"^",3)=$G(HDISIREF) D
  1. . . . S HDISAIEN=HDISI
  1. . . . S HDISOKF=1
  1. ;If flag set, Add a New Facility Term/Concept Entry
  1. I $G(HDISADDF) S HDISOKF=$$ADDFAC(HDISYIEN,HDISFIEN,HDISTIEN,$G(HDISIREF),.HDISAIEN,.HDISERRM)
  1. FINDFACQ Q +$G(HDISOKF)
  1. ;
  1. ADDFAC(HDISYIEN,HDISFIEN,HDISTIEN,HDISIREF,HDISAIEN,HDISERRM) ;Find or Add a New Facility Term/Concept Entry
  1. ; Input -- HDISYIEN HDIS System file (#7118.21) IEN
  1. ; HDISFIEN HDIS File/Field file (#7115.6) IEN
  1. ; HDISTIEN HDIS Term/Concept VUID Association file (#7118.11) IEN
  1. ; HDISIREF Internal Reference (Optional)
  1. ; Output -- 1=Successful and 0=Failure
  1. ; If Successful:
  1. ; HDISAIEN HDIS Facility Term/Concept Association file IEN
  1. ; If Failure:
  1. ; HDISERRM Error Message (Optional)
  1. N HDISFDA,HDISIEN,HDISMSG,HDISOKF
  1. ;Initialize ouput
  1. S (HDISAIEN,HDISERRM)=""
  1. ;Set array for System, File/Field, Internal Reference, Term/Concept and Date/Time Term/Concept Associated
  1. S HDISFDA(7118.22,"+1,",.01)=$G(HDISYIEN)
  1. S HDISFDA(7118.22,"+1,",.02)=$G(HDISFIEN)
  1. I $D(HDISIREF) S HDISFDA(7118.22,"+1,",.03)=$G(HDISIREF)
  1. S HDISFDA(7118.22,"+1,",.04)=$G(HDISTIEN)
  1. S HDISFDA(7118.22,"+1,",.05)=$$NOW^XLFDT
  1. D UPDATE^DIE("","HDISFDA","HDISIEN","HDISMSG")
  1. ;Check for error
  1. I $D(HDISMSG("DIERR")) D
  1. . S HDISERRM=$G(HDISMSG("DIERR",1,"TEXT",1))
  1. ELSE D
  1. . S HDISAIEN=+$G(HDISIEN(1))
  1. . S HDISOKF=1
  1. D CLEAN^DILF
  1. ADDFACQ Q +$G(HDISOKF)
  1. ;
  1. GETIENS(HDISYIEN,HDISFIEN,HDISTIEN,HDISIENS) ;Get IENS for Facility Term/Concept by System, File/Field and Term/Concept
  1. ; Input -- HDISYIEN HDIS System file (#7118.21) IEN
  1. ; HDISFIEN HDIS File/Field file (#7115.6) IEN
  1. ; HDISTIEN HDIS Term/Concept VUID Association file (#7118.11) IEN
  1. ; Output -- 1=Successful and 0=Failure
  1. ; If Successful:
  1. ; HDISIENS Array where HDISIENS(IEN)=Internal Reference field (#.03)
  1. N HDISI
  1. ;Initialize ouput
  1. K HDISIENS
  1. ;Check for missing variables, exit if not defined
  1. I $G(HDISYIEN)'>0!($G(HDISFIEN)'>0)!($G(HDISTIEN)'>0) G GETIENSQ
  1. S HDISI=0
  1. F S HDISI=$O(^HDISF(7118.22,"AS",HDISYIEN,HDISFIEN,HDISTIEN,HDISI)) Q:'HDISI D
  1. . I $D(^HDISF(7118.22,HDISI,0)) S HDISIENS(HDISI)=$P(^(0),"^",3)
  1. GETIENSQ Q +$S($D(HDISIENS):1,1:0)
  1. ;
  1. ;---- End HDIS Facility Term/Concept Association file (#7118.22) ----