1 | BMXADOS1 ; IHS/CIHA/GIS - UPDATE THE BMX ADO SCHEMA FILE GUI VERSION ;
|
---|
2 | ;;2.1;BMX;;Jul 26, 2009
|
---|
3 | ; RPC CALLS
|
---|
4 | ;
|
---|
5 | ;
|
---|
6 | ;
|
---|
7 | DISP(OUT) ; TEMP DISPLAY
|
---|
8 | N I,X
|
---|
9 | S I=0 W !
|
---|
10 | F S I=$O(@OUT@(I)) Q:'I S X=@OUT@(I) S X=$TR(X,$C(30),"}") S X=$TR(X,$C(31),"{") W !,X
|
---|
11 | Q
|
---|
12 | ;
|
---|
13 | SCHEMA(NAME) ; GIVEN SCHEMA NAME, RETURN THE IEN
|
---|
14 | N IEN
|
---|
15 | S IEN=$O(^BMXADO("B",NAME,0))
|
---|
16 | Q IEN
|
---|
17 | ;
|
---|
18 | FILE ; RETURN A LIST OF FILES
|
---|
19 | N OUT,%,SIEN
|
---|
20 | S SIEN=$$SCHEMA("FILEMAN FILES")
|
---|
21 | D SS^BMXADO(.OUT,SIEN,"","B~B~C~")
|
---|
22 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
23 | K ^TMP("BMX ADO",$J)
|
---|
24 | Q
|
---|
25 | ;
|
---|
26 | SF ; RETURN A LIST OF SUBFILES
|
---|
27 | N OUT,%,SIEN
|
---|
28 | S SIEN=$$SCHEMA("SUBFILES")
|
---|
29 | D SS^BMXADO(.OUT,SIEN,"","~~~~~SFIT~BMXADOS1~2~")
|
---|
30 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
31 | K ^TMP("BMX ADO",$J)
|
---|
32 | Q
|
---|
33 | ;
|
---|
34 | FLD ; RETURN LIST OF FIELDS FOR A FILE OR SUBFILE
|
---|
35 | N OUT,%,SIEN
|
---|
36 | S SIEN=$$SCHEMA("FIELDS")
|
---|
37 | D SS^BMXADO(.OUT,SIEN,"","~~~~~FLDIT~BMXADOS1~2~")
|
---|
38 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
39 | K ^TMP("BMX ADO",$J)
|
---|
40 | Q
|
---|
41 | ;
|
---|
42 | SCH ; RETURN A LIST OF SCHEMAS
|
---|
43 | N OUT,%,SIEN
|
---|
44 | S SIEN=$$SCHEMA("SCHEMAS")
|
---|
45 | D SS^BMXADO(.OUT,SIEN,"","B~~~")
|
---|
46 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
47 | K ^TMP("BMX ADO",$J)
|
---|
48 | Q
|
---|
49 | ;
|
---|
50 | SD ; RETURN THE SCHEMA DEFINITION
|
---|
51 | N OUT,%,SIEN
|
---|
52 | S SIEN=$$SCHEMA("SCHEMA DEFINITION")
|
---|
53 | D SS^BMXADO(.OUT,SIEN,"52,","~~~")
|
---|
54 | D DISP(OUT) R %:$G(DTIME,60)
|
---|
55 | K ^TMP("BMX ADO",$J)
|
---|
56 | Q
|
---|
57 | ;
|
---|
58 | FLDIT(PARAM,IENS,MAX,OUT,TOT) ; CUSTOM ITERATOR TO DISPLAY FIELDS
|
---|
59 | N SFARR,CNT,DEL,NUM,NAME,DDT,DLEN,DHDR,DRO,DKEY,DNA,X,Y
|
---|
60 | D FLIST^BMXADOS(.SFARR,PARAM)
|
---|
61 | S CNT=0,DEL=" ["
|
---|
62 | F S CNT=$O(SFARR(CNT)) Q:'CNT D
|
---|
63 | . S X=SFARR(CNT) I '$L(X) Q
|
---|
64 | . S NAME=$P(X,DEL)
|
---|
65 | . ; F Q:$E(NAME)'=" " S NAME=$E(NAME,2,999)
|
---|
66 | . I '$L(NAME) Q
|
---|
67 | . S NUM=+$P(X,DEL,2) I 'NUM Q
|
---|
68 | . S TOT=TOT+1
|
---|
69 | . S Y=$$FDEF^BMXADOS(PARAM,NUM) I '$L(Y) Q ; ""
|
---|
70 | . S DDT=$E(Y),DLEN=+$E(Y,2,6),DHDR=$E(Y,7,99)
|
---|
71 | . S DRO="NO" S DKEY="NO" S DNA="YES"
|
---|
72 | . S ^TMP("BMX ADO",$J,TOT)=NUM_U_NAME_U_DDT_U_DLEN_U_DHDR_U_DRO_U_DKEY_U_DNA_$C(30)
|
---|
73 | Q ""
|
---|
74 | ;
|
---|
75 | FNIT(PARAM,IENS,MAX,OUT,TOT) ; CUSTOM ITERATOR TO DISPLAY FILE OR SUBFILE NAME GIVEN FILE NUMBER
|
---|
76 | N NUM,NAME
|
---|
77 | S NUM=+PARAM
|
---|
78 | S NAME=""
|
---|
79 | Q:'$D(^DD(NUM,0,"NM")) ""
|
---|
80 | S NAME=$O(^DD(NUM,0,"NM",0))
|
---|
81 | S TOT=TOT+1
|
---|
82 | S ^TMP("BMX ADO",$J,TOT)=NUM_U_NAME_$C(30)
|
---|
83 | Q ""
|
---|
84 | ;
|
---|
85 | SFIT(PARAM,IENS,MAX,OUT,TOT) ; CUSTOM ITERATOR TO DISPLAY SUBFILES
|
---|
86 | N SFARR,CNT,DEL,NUM,NAME
|
---|
87 | D SC^BMXADOS(.SFARR,PARAM)
|
---|
88 | S CNT=0,DEL=" ("
|
---|
89 | F S CNT=$O(SFARR(CNT)) Q:'CNT D
|
---|
90 | . S X=SFARR(CNT) I '$L(X) Q
|
---|
91 | . S NAME=$P(X,DEL)
|
---|
92 | . ; F Q:$E(NAME)'=" " S NAME=$E(NAME,2,999)
|
---|
93 | . I '$L(NAME) Q
|
---|
94 | . S NUM=+$P(X,DEL,2) I 'NUM Q
|
---|
95 | . S TOT=TOT+1
|
---|
96 | . S ^TMP("BMX ADO",$J,TOT)=NUM_U_NAME_$C(30)
|
---|
97 | Q ""
|
---|
98 | ;
|
---|
99 | SFT(FNAME) ; TRIGGER "YES" TO INDICATE THAT A SUBFILE IS PRESENT WITHIN A FILE
|
---|
100 | I '$L($G(FNAME)) Q ""
|
---|
101 | N FIEN
|
---|
102 | S FIEN=$O(^DIC("B",FNAME,0))
|
---|
103 | I 'FIEN Q ""
|
---|
104 | I '$O(^DD(FIEN,"SB",0)) Q ""
|
---|
105 | Q "+"
|
---|
106 | ;
|
---|