source: FOIAVistA/tag/r/HEALTH_DATA_AND_INFORMATICS-HDI/HDISVF08.m@ 628

Last change on this file since 628 was 628, checked in by George Lilly, 14 years ago

initial load of FOIAVistA 6/30/08 version

File size: 3.7 KB
Line 
1HDISVF08 ;ALB/RMO - 7118.22 File Utilities/API Cont.; 1/18/05@1:57:00
2 ;;1.0;HEALTH DATA & INFORMATICS;;Feb 22, 2005
3 ;
4 ;---- Begin HDIS Facility Term/Concept Association file (#7118.22) API(s) ----
5 ;
6FINDFAC(HDISYIEN,HDISFIEN,HDISTIEN,HDISIREF,HDISADDF,HDISAIEN,HDISERRM) ;Find or Add a New Facility Term/Concept Entry
7 ; Input -- HDISYIEN HDIS System file (#7118.21) IEN
8 ; HDISFIEN HDIS File/Field file (#7115.6) IEN
9 ; HDISTIEN HDIS Term/Concept VUID Association file (#7118.11) IEN
10 ; HDISIREF Internal Reference (Optional)
11 ; HDISADDF Add a New Entry Flag (Optional- Default 0)
12 ; 1=Yes and 0=No
13 ; Output -- 1=Successful and 0=Failure
14 ; If Successful:
15 ; HDISAIEN HDIS Facility Term/Concept Association file IEN
16 ; If Failure:
17 ; HDISERRM Error Message (Optional)
18 N HDISI,HDISOKF
19 ;Initialize ouput
20 S (HDISAIEN,HDISERRM)=""
21 ;Check for missing variables, exit if not defined
22 I $G(HDISYIEN)'>0!($G(HDISFIEN)'>0)!($G(HDISTIEN)'>0) D G FINDFACQ
23 . S HDISERRM="Required Variable Missing."
24 ;Check for existing System, File/Field, Term/Concept and Internal Reference, return entry and exit if it exists
25 I $D(^HDISF(7118.22,"AS",HDISYIEN,HDISFIEN,HDISTIEN)) D G ADDFACQ:$G(HDISAIEN)
26 . S HDISI=0
27 . F S HDISI=$O(^HDISF(7118.22,"AS",HDISYIEN,HDISFIEN,HDISTIEN,HDISI)) Q:'HDISI!($G(HDISAIEN)) D
28 . . I $D(^HDISF(7118.22,HDISI,0)),$P(^(0),"^",3)=$G(HDISIREF) D
29 . . . S HDISAIEN=HDISI
30 . . . S HDISOKF=1
31 ;If flag set, Add a New Facility Term/Concept Entry
32 I $G(HDISADDF) S HDISOKF=$$ADDFAC(HDISYIEN,HDISFIEN,HDISTIEN,$G(HDISIREF),.HDISAIEN,.HDISERRM)
33FINDFACQ Q +$G(HDISOKF)
34 ;
35ADDFAC(HDISYIEN,HDISFIEN,HDISTIEN,HDISIREF,HDISAIEN,HDISERRM) ;Find or Add a New Facility Term/Concept Entry
36 ; Input -- HDISYIEN HDIS System file (#7118.21) IEN
37 ; HDISFIEN HDIS File/Field file (#7115.6) IEN
38 ; HDISTIEN HDIS Term/Concept VUID Association file (#7118.11) IEN
39 ; HDISIREF Internal Reference (Optional)
40 ; Output -- 1=Successful and 0=Failure
41 ; If Successful:
42 ; HDISAIEN HDIS Facility Term/Concept Association file IEN
43 ; If Failure:
44 ; HDISERRM Error Message (Optional)
45 N HDISFDA,HDISIEN,HDISMSG,HDISOKF
46 ;Initialize ouput
47 S (HDISAIEN,HDISERRM)=""
48 ;Set array for System, File/Field, Internal Reference, Term/Concept and Date/Time Term/Concept Associated
49 S HDISFDA(7118.22,"+1,",.01)=$G(HDISYIEN)
50 S HDISFDA(7118.22,"+1,",.02)=$G(HDISFIEN)
51 I $D(HDISIREF) S HDISFDA(7118.22,"+1,",.03)=$G(HDISIREF)
52 S HDISFDA(7118.22,"+1,",.04)=$G(HDISTIEN)
53 S HDISFDA(7118.22,"+1,",.05)=$$NOW^XLFDT
54 D UPDATE^DIE("","HDISFDA","HDISIEN","HDISMSG")
55 ;Check for error
56 I $D(HDISMSG("DIERR")) D
57 . S HDISERRM=$G(HDISMSG("DIERR",1,"TEXT",1))
58 ELSE D
59 . S HDISAIEN=+$G(HDISIEN(1))
60 . S HDISOKF=1
61 D CLEAN^DILF
62ADDFACQ Q +$G(HDISOKF)
63 ;
64GETIENS(HDISYIEN,HDISFIEN,HDISTIEN,HDISIENS) ;Get IENS for Facility Term/Concept by System, File/Field and Term/Concept
65 ; Input -- HDISYIEN HDIS System file (#7118.21) IEN
66 ; HDISFIEN HDIS File/Field file (#7115.6) IEN
67 ; HDISTIEN HDIS Term/Concept VUID Association file (#7118.11) IEN
68 ; Output -- 1=Successful and 0=Failure
69 ; If Successful:
70 ; HDISIENS Array where HDISIENS(IEN)=Internal Reference field (#.03)
71 N HDISI
72 ;Initialize ouput
73 K HDISIENS
74 ;Check for missing variables, exit if not defined
75 I $G(HDISYIEN)'>0!($G(HDISFIEN)'>0)!($G(HDISTIEN)'>0) G GETIENSQ
76 S HDISI=0
77 F S HDISI=$O(^HDISF(7118.22,"AS",HDISYIEN,HDISFIEN,HDISTIEN,HDISI)) Q:'HDISI D
78 . I $D(^HDISF(7118.22,HDISI,0)) S HDISIENS(HDISI)=$P(^(0),"^",3)
79GETIENSQ Q +$S($D(HDISIENS):1,1:0)
80 ;
81 ;---- End HDIS Facility Term/Concept Association file (#7118.22) ----
Note: See TracBrowser for help on using the repository browser.