1 | IBDFN12 ;ALB/CJM - ENCOUNTER FORM - SELECTORS;MAY 10, 1995
|
---|
2 | ;;3.0;AUTOMATED INFO COLLECTION SYS;**12,38,40,51**;APR 24, 1997
|
---|
3 | ;
|
---|
4 | LOOKUP(FILE,SCREEN,X,NODE) ;
|
---|
5 | ; -- lookup X in file using SCREEN
|
---|
6 | ; -- kills X if lookup not successful, else sets X to the ien and returns NODE as the 0 node
|
---|
7 | ; -- pass X and NODE by reference
|
---|
8 | ;
|
---|
9 | I +$G(FILE)<1 K X Q
|
---|
10 | N Y
|
---|
11 | S (NODE,Y)=""
|
---|
12 | K DIC S DIC=FILE,DIC("S")=SCREEN
|
---|
13 | S DIC(0)="EMQZ"
|
---|
14 | I $D(^DIC(FILE)) D ^DIC K DIC
|
---|
15 | I +Y>0 D
|
---|
16 | .S X=Y,NODE=Y(0)
|
---|
17 | E K X
|
---|
18 | Q
|
---|
19 | ;
|
---|
20 | SLCTCPT(X) ;for CPT codes
|
---|
21 | ;pass X by reference
|
---|
22 | ;example of use: D SLCTCPT^IBDFN12(.X)
|
---|
23 | ;
|
---|
24 | N NODE,SCRN
|
---|
25 | ;;D LOOKUP(81,"I '$P(^(0),U,4)",.X,.NODE)
|
---|
26 | ;
|
---|
27 | ;List only active code. (CSV)
|
---|
28 | S SCRN="I $P($$CPT^ICPTCOD(Y),U,7)=1" ;Check status for CPT (CSV)
|
---|
29 | D LOOKUP(81,SCRN,.X,.NODE)
|
---|
30 | I $D(X) S IBLABEL=$P(NODE,"^",2),(IBID,X)=$P(NODE,"^",1)
|
---|
31 | Q
|
---|
32 | ;
|
---|
33 | SLCTDX(X) ;for ICD9 diagnosis codes
|
---|
34 | ;pass X by reference
|
---|
35 | ;example of use: D SLCTICD^IBDFN12(.X)
|
---|
36 | ;
|
---|
37 | N NODE,SCRN
|
---|
38 | ;;D LOOKUP(80,"I '$P(^(0),U,9)",.X,.NODE)
|
---|
39 | ;
|
---|
40 | ;List only active code. (CSV)
|
---|
41 | S SCRN="I $P($$ICDDX^ICDCODE(Y),U,10)=1" ;Check status for ICD (CSV)
|
---|
42 | D LOOKUP(80,SCRN,.X,.NODE)
|
---|
43 | I $D(X) S IBLABEL=$P(NODE,"^",3),(IBID,X)=$P(NODE,"^",1)
|
---|
44 | Q
|
---|
45 | ;
|
---|
46 | SLCTVST(X) ;for VISIT TYPE codes
|
---|
47 | ;pass X by reference
|
---|
48 | ;example of use: D SLCTVST^IBDFN12(.X)
|
---|
49 | ;
|
---|
50 | N NODE,SCREEN
|
---|
51 | ;;D LOOKUP(357.69,"I '$P(^(0),U,4)",.X,.NODE)
|
---|
52 | ;
|
---|
53 | ;List only active code. (CSV)
|
---|
54 | S SCRN="I $P($$CPT^ICPTCOD(Y),U,7)=1" ;Check status for CPT (CSV)
|
---|
55 | D LOOKUP(357.69,SCRN,.X,.NODE)
|
---|
56 | ;
|
---|
57 | ;; --change to api cpt ; dhh
|
---|
58 | I $G(X) S NODE=$$CPT^ICPTCOD(+NODE),NODE=$G(NODE),(IBID,X)=$P(NODE,"^",2),IBLABEL=$P(NODE,"^",3)
|
---|
59 | Q
|
---|
60 | ;
|
---|
61 | SLCTED(X) ;for Education Topics
|
---|
62 | ;pass X by reference
|
---|
63 | ;example of use: D SLCTED^IBDFN12(.X)
|
---|
64 | ;
|
---|
65 | N NODE
|
---|
66 | D LOOKUP(9999999.09,"",.X,.NODE)
|
---|
67 | I $D(X) S IBLABEL=$P(NODE,"^"),IBID=+X,X=IBLABEL
|
---|
68 | Q
|
---|
69 | ;
|
---|
70 | SLCTIMM(X) ;for Immunizations
|
---|
71 | ;pass X by reference
|
---|
72 | ;example of use: D SLCTIMM^IBDFN12(.X)
|
---|
73 | ;
|
---|
74 | N NODE
|
---|
75 | D LOOKUP(9999999.14,"",.X,.NODE)
|
---|
76 | I $D(X) S IBLABEL=$P(NODE,"^",2),IBID=+X,X=IBLABEL
|
---|
77 | Q
|
---|
78 | ;
|
---|
79 | SLCTEX(X) ;for Exams
|
---|
80 | ;pass X by reference
|
---|
81 | ;example of use: D SLCTEX^IBDFN12(.X)
|
---|
82 | ;
|
---|
83 | N NODE
|
---|
84 | D LOOKUP(9999999.15,"",.X,.NODE)
|
---|
85 | I $D(X) S IBLABEL=$P(NODE,"^"),IBID=+X,X=IBLABEL
|
---|
86 | Q
|
---|
87 | ;
|
---|
88 | SLCTSKN(X) ;for Skin Tests
|
---|
89 | ;pass X by reference
|
---|
90 | ;example of use: D SLCTSKN^IBDFN12(.X)
|
---|
91 | ;
|
---|
92 | N NODE
|
---|
93 | D LOOKUP(9999999.28,"",.X,.NODE)
|
---|
94 | I $D(X) S IBLABEL=$P(NODE,"^"),IBID=+X,X=IBLABEL
|
---|
95 | Q
|
---|
96 | ;
|
---|
97 | SLCTHF(X) ;for Health Factors
|
---|
98 | ;pass X by reference
|
---|
99 | ;example of use: D SLCTHF^IBDFN12(.X)
|
---|
100 | ;
|
---|
101 | N NODE
|
---|
102 | D LOOKUP(9999999.64,"I $P(^(0),U,10)=""F"",'$P(^(0),U,11)",.X,.NODE)
|
---|
103 | I $D(X) S IBLABEL=$P(NODE,"^"),IBID=+X,X=IBLABEL
|
---|
104 | Q
|
---|
105 | SLCTTR(X) ;for Treatments
|
---|
106 | ;pass X by reference
|
---|
107 | ;example of use: D SLCTTR^IBDFN12(.X)
|
---|
108 | ;
|
---|
109 | N NODE
|
---|
110 | D LOOKUP(9999999.17,"",.X,.NODE)
|
---|
111 | I $D(X) S IBLABEL=$P(NODE,"^"),IBID=+X,X=IBLABEL
|
---|
112 | Q
|
---|
113 | ;
|
---|
114 | SLCTYN(X) ;for selecting YES or NO
|
---|
115 | ;
|
---|
116 | I "Yy"[$E(X) S X="YES",IBID=1 Q
|
---|
117 | I "Nn"[$E(X) S X="NO",IBID=0 Q
|
---|
118 | W "Enter YES or NO."
|
---|
119 | K X
|
---|
120 | Q
|
---|
121 | ;
|
---|
122 | SLCTCLS(PI,X) ;for visit classification
|
---|
123 | ;pass X by reference
|
---|
124 | ;*NOTE: if interactive sets IBQUAL to the qualifier, IBLABEL to the recommended label, for use in the input template
|
---|
125 | ;example of use: D INPUTCLS^IBDFN12(PI,.X)
|
---|
126 | ;
|
---|
127 | N NODE
|
---|
128 | D LOOKUP(357.98,"I $$DQGOOD^IBDFU9(PI,Y)",.X,.NODE)
|
---|
129 | I $D(X) S IBID="",IBLABEL=$P(NODE,"^",3),IBQUAL=+X,X=$P(NODE,"^")
|
---|
130 | Q
|
---|