1 | OCXOED13 ;SLC/RJS,CLA - Rule Editor (Meta Dictionary Link Display) ;10/29/98 12:37
|
---|
2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**32**;Dec 17,1997
|
---|
3 | ;; ;;ORDER CHECK EXPERT version 1.01 released OCT 29,1998
|
---|
4 | ;
|
---|
5 | ;
|
---|
6 | S ;
|
---|
7 | ;
|
---|
8 | Q
|
---|
9 | EN(OCXLNK,OCXSRC) ;
|
---|
10 | ;
|
---|
11 | N OCXACT,OCXRD
|
---|
12 | S OCXD0=+$$DIC("^OCXS(863.3,","XM","",OCXLNK)
|
---|
13 | I '(OCXD0>0) S OCXD0=$$ADDLINK(OCXLNK,OCXSRC) Q:'OCXD0
|
---|
14 | F K OCXRD,OCXACT S (OCXRD,OCXACT)="" D DISP(OCXD0,.OCXRD,.OCXACT) Q:$$EN^OCXOED14(OCXD0,.OCXRD,.OCXACT)
|
---|
15 | ;
|
---|
16 | Q
|
---|
17 | ;
|
---|
18 | DISP(OCXD0,OCXRD,OCXACT) ;
|
---|
19 | ;
|
---|
20 | N OCXTHLN,OCXTNLN,OCXTRLN,OCXTULN,OCXTNLN
|
---|
21 | S OCXTNLN=$C(27,91,48,109),OCXTRLN=$C(27,91,55,109),OCXTULN=$C(27,91,52,109),OCXTHLN=$C(27,91,49,109)
|
---|
22 | D GETDATA(OCXD0,.OCXRD)
|
---|
23 | D CHKVR(OCXD0,.OCXRD)
|
---|
24 | ;
|
---|
25 | W @IOF,OCXTNLN
|
---|
26 | W !,$$CENTER($$FIELD("Meta Dictionary Edit Screen"),80),!
|
---|
27 | W !," ",$$FIELD("Link:")," ",$$DATA($G(OCXRD("LINK",OCXD0,.01,"E")),50)
|
---|
28 | W !," ",$$FIELD(" Subject:")," ",$$DATA($G(OCXRD("LINK",OCXD0,.02,"E")),50)
|
---|
29 | W !," ",$$OPT^OCXOEDT("Change Attribute","EDATT","14",.OCXACT,OCXD0,"CA")
|
---|
30 | W " ",$$FIELD(" Attribute:")," ",$$DATA($G(OCXRD("LINK",OCXD0,.05,"E")),50)
|
---|
31 | ;
|
---|
32 | W !!,$$SEP("Parameters"),!
|
---|
33 | ;
|
---|
34 | W !," ",$$OPT^OCXOEDT("P1","EDPARAM","14",.OCXACT,OCXD0_",""OCXO EXTERNAL FUNCTION CALL""")
|
---|
35 | W " ",$$FIELD(" M Function Call: ")," ",$$DATA($$PVAL("LINK",OCXD0,"OCXO EXTERNAL FUNCTION CALL"),30)
|
---|
36 | W !," ",$$OPT^OCXOEDT("P2","EDPARAM","14",.OCXACT,OCXD0_",""OCXO VARIABLE NAME""")
|
---|
37 | W " ",$$FIELD(" Data Variable Name: ")," ",$$DATA($$PVAL("LINK",OCXD0,"OCXO VARIABLE NAME"),30)
|
---|
38 | W !," ",$$OPT^OCXOEDT("P3","EDPARAM","14",.OCXACT,OCXD0_",""OCXO VT-BAR PIECE NUMBER""")
|
---|
39 | W " ",$$FIELD(" Vertical Bar '|' Piece Number: ")," ",$$DATA($$PVAL("LINK",OCXD0,"OCXO VT-BAR PIECE NUMBER"),30)
|
---|
40 | W !," ",$$OPT^OCXOEDT("P4","EDPARAM","14",.OCXACT,OCXD0_",""OCXO UP-ARROW PIECE NUMBER""")
|
---|
41 | W " ",$$FIELD(" Up Arrow '^' Piece Number: ")," ",$$DATA($$PVAL("LINK",OCXD0,"OCXO UP-ARROW PIECE NUMBER"),30)
|
---|
42 | W !," ",$$OPT^OCXOEDT("P5","EDPARAM","14",.OCXACT,OCXD0_",""OCXO SEMI-COLON PIECE NUMBER""")
|
---|
43 | W " ",$$FIELD(" Semi Colon ';' Piece Number: ")," ",$$DATA($$PVAL("LINK",OCXD0,"OCXO SEMI-COLON PIECE NUMBER"),30)
|
---|
44 | W !," ",$$OPT^OCXOEDT("P6","EDPARAM","14",.OCXACT,OCXD0_",""OCXO FILE POINTER""")
|
---|
45 | W " ",$$FIELD(" Pointed To File Number: ")," ",$$DATA($$PVAL("LINK",OCXD0,"OCXO FILE POINTER"),30)
|
---|
46 | W !," ",$$OPT^OCXOEDT("P7","EDPARAM","14",.OCXACT,OCXD0_",""OCXO HL7 SEGMENT ID""")
|
---|
47 | W " ",$$FIELD(" HL7 Segment ID: ")," ",$$DATA($$PVAL("LINK",OCXD0,"OCXO HL7 SEGMENT ID"),30)
|
---|
48 | I +$G(OCXRD("LINK",OCXD0,.05,"I")) D
|
---|
49 | .W !!," ",$$OPT^OCXOEDT("Data Type","EDPATT","14",.OCXACT,(+$G(OCXRD("LINK",OCXD0,.05,"I")))_",""DATA TYPE""","DT")
|
---|
50 | .W " ",$$FIELD(" Attribute Data Type: ")," ",$$DATA($$PVAL("ATT",+$G(OCXRD("LINK",OCXD0,.05,"I")),"DATA TYPE"),30)
|
---|
51 | ;
|
---|
52 | Q
|
---|
53 | ;
|
---|
54 | PVAL(SUB,OCXD0,PNAME) ;
|
---|
55 | N X S X="" F S X=$O(OCXRD(SUB,OCXD0,"PAR",X)) Q:'X I ($G(OCXRD(SUB,OCXD0,"PAR",X,.01,"E"))=PNAME) Q
|
---|
56 | Q:'X "" Q $G(OCXRD(SUB,OCXD0,"PAR",X,1,"E"))
|
---|
57 | ;
|
---|
58 | CHKVR(OCXD0,OCXRD) ;
|
---|
59 | ;
|
---|
60 | N OCXVNM,OCXSID,OCXVPN
|
---|
61 | ;
|
---|
62 | S OCXVNM=$$PVAL("LINK",OCXD0,"OCXO VARIABLE NAME")
|
---|
63 | S OCXVPN=$$PVAL("LINK",OCXD0,"OCXO VT-BAR PIECE NUMBER")
|
---|
64 | S OCXSID=$$PVAL("LINK",OCXD0,"OCXO HL7 SEGMENT ID")
|
---|
65 | ;
|
---|
66 | ;
|
---|
67 | I '$L(OCXVNM),$L(OCXVPN),$L(OCXSID) D
|
---|
68 | .N OCXVAR S OCXVAR="OCXODATA("""_OCXSID_""","_OCXVPN_")"
|
---|
69 | .D SLPVAL^OCXOED14(OCXD0,"OCXO VARIABLE NAME",OCXVAR)
|
---|
70 | .D SLPVAL^OCXOED14(OCXD0,"OCXO VT-BAR PIECE NUMBER","@")
|
---|
71 | .D SLPVAL^OCXOED14(OCXD0,"OCXO HL7 SEGMENT ID","@")
|
---|
72 | .K OCXRD S OCXRD="" D GETDATA(OCXD0,.OCXRD)
|
---|
73 | Q
|
---|
74 | ;
|
---|
75 | Q
|
---|
76 | CENTER(X,M) ;
|
---|
77 | N SP S SP="",$P(SP," ",80)=" " Q $E(SP,1,((M\2)-($L(X)\2)))_X
|
---|
78 | ;
|
---|
79 | SEP(OCXHDR) ;
|
---|
80 | ;
|
---|
81 | N SPACES S SPACES="",$P(SPACES," ",80-$L(OCXHDR))=" " Q OCXTNLN_OCXTHLN_OCXTULN_$G(OCXHDR)_SPACES_OCXTNLN
|
---|
82 | ;
|
---|
83 | FIELD(OCXHDR) ;
|
---|
84 | ;
|
---|
85 | Q OCXTHLN_$G(OCXHDR)_OCXTNLN
|
---|
86 | ;
|
---|
87 | DATA(OCXVAL,OCXLEN) ;
|
---|
88 | ;
|
---|
89 | N SPACES S SPACES="",$P(SPACES," ",OCXLEN+5)=" ",OCXVAL=$G(OCXVAL)
|
---|
90 | I ($L(OCXVAL)>OCXLEN) Q $E(OCXVAL,1,OCXLEN-3)_"..."
|
---|
91 | Q $E((OCXVAL_SPACES),1,OCXLEN)
|
---|
92 | ;
|
---|
93 | GETDATA(OCXD0,OCXD) ;
|
---|
94 | ;
|
---|
95 | N OCXDIQ,OCXX,OCXATT,OCXSUB
|
---|
96 | ;
|
---|
97 | S OCXDIQ="" D DIQ("^OCXS(863.3,",OCXD0,"IEN",.OCXDIQ)
|
---|
98 | M OCXD("LINK")=OCXDIQ(863.3) K OCXDIQ S OCXDIQ=""
|
---|
99 | S OCXX=0 F S OCXX=$O(^OCXS(863.3,OCXD0,"PAR",OCXX)) Q:'OCXX W "." D
|
---|
100 | .S OCXDIQ="" D DIQ("^OCXS(863.3,"_OCXD0_",""PAR"",",OCXX,"IEN",.OCXDIQ)
|
---|
101 | .M OCXD("LINK",OCXD0,"PAR")=OCXDIQ(863.32) K OCXDIQ S OCXDIQ=""
|
---|
102 | ;
|
---|
103 | S OCXDIQ="",OCXSUB=$G(OCXD("LINK",OCXD0,.02,"I")) I OCXSUB D
|
---|
104 | .D DIQ("^OCXS(863.2,",OCXSUB,"IEN",.OCXDIQ)
|
---|
105 | .M OCXD("SUB")=OCXDIQ(863.2) K OCXDIQ S OCXDIQ=""
|
---|
106 | ;
|
---|
107 | S OCXDIQ="",OCXATT=$G(OCXD("LINK",OCXD0,.05,"I")) I OCXATT D
|
---|
108 | .D DIQ("^OCXS(863.4,",OCXATT,"IEN",.OCXDIQ)
|
---|
109 | .M OCXD("ATT")=OCXDIQ(863.4) K OCXDIQ S OCXDIQ=""
|
---|
110 | .S OCXX=0 F S OCXX=$O(^OCXS(863.4,OCXATT,"PAR",OCXX)) Q:'OCXX W "." D
|
---|
111 | ..S OCXDIQ="" D DIQ("^OCXS(863.4,"_OCXATT_",""PAR"",",OCXX,"IEN",.OCXDIQ)
|
---|
112 | ..M OCXD("ATT",OCXATT,"PAR")=OCXDIQ(863.41) K OCXDIQ S OCXDIQ=""
|
---|
113 | Q
|
---|
114 | ;
|
---|
115 | DIC(OCXDIC,OCXDIC0,OCXDICA,OCXX,OCXDICS,OCXDR) ;
|
---|
116 | ;
|
---|
117 | N DIC,X,Y
|
---|
118 | S DIC=$G(OCXDIC) Q:'$L(DIC) -1
|
---|
119 | S DIC(0)=$G(OCXDIC0) S:$L($G(OCXX)) X=OCXX
|
---|
120 | S:$L($G(OCXDICS)) DIC("S")=OCXDICS
|
---|
121 | S:$L($G(OCXDICA)) DIC("A")=OCXDICA
|
---|
122 | S:$L($G(OCXDR)) DIC("DR")=OCXDR
|
---|
123 | D ^DIC Q:(Y<1) 0 Q Y
|
---|
124 | ;
|
---|
125 | DIQ(DIC,DA,OCXDIQ0,OCXARY) ;
|
---|
126 | N DR,DIQ S DR=".01:99999",DIQ="OCXARY(",DIQ(0)=$G(OCXDIQ0)
|
---|
127 | D EN^DIQ1
|
---|
128 | Q
|
---|
129 | ;
|
---|
130 | ADDLINK(OCXNAME,OCXSRC) ;
|
---|
131 | N OCXD0,OCXDR
|
---|
132 | S OCXD0=+$$DIC("^OCXS(863.2,","XLME","",$P(OCXNAME,".",1)) Q:(OCXD0<1) 0
|
---|
133 | S OCXDR=".02///"_$P(OCXNAME,".",1)_";.04///"_OCXSRC_";.06///99"
|
---|
134 | S OCXD0=+$$DIC("^OCXS(863.3,","XLME","",OCXNAME,"",OCXDR)
|
---|
135 | Q:(OCXD0<1) 0 Q OCXD0
|
---|
136 | ;
|
---|