1 /*
2 * This class is an auto-generated source file for a HAPI
3 * HL7 v2.x standard structure class.
4 *
5 * For more information, visit: http://hl7api.sourceforge.net/
6 *
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * (the "License"); you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at http://www.mozilla.org/MPL/
10 * Software distributed under the License is distributed on an "AS IS" basis,
11 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the
12 * specific language governing rights and limitations under the License.
13 *
14 * The Original Code is "[file_name]". Description:
15 * "[one_line_description]"
16 *
17 * The Initial Developer of the Original Code is University Health Network. Copyright (C)
18 * 2012. All Rights Reserved.
19 *
20 * Contributor(s): ______________________________________.
21 *
22 * Alternatively, the contents of this file may be used under the terms of the
23 * GNU General Public License (the "GPL"), in which case the provisions of the GPL are
24 * applicable instead of those above. If you wish to allow use of your version of this
25 * file only under the terms of the GPL and not to allow others to use your version
26 * of this file under the MPL, indicate your decision by deleting the provisions above
27 * and replace them with the notice and other provisions required by the GPL License.
28 * If you do not delete the provisions above, a recipient may use your version of
29 * this file under either the MPL or the GPL.
30 *
31 */
32
33
34 package ca.uhn.hl7v2.model.v231.message;
35
36 import ca.uhn.hl7v2.model.v231.group.*;
37 import ca.uhn.hl7v2.model.v231.segment.*;
38
39 import ca.uhn.hl7v2.HL7Exception;
40 import ca.uhn.hl7v2.parser.ModelClassFactory;
41 import ca.uhn.hl7v2.parser.DefaultModelClassFactory;
42 import ca.uhn.hl7v2.model.*;
43
44
45 /**
46 * <p>Represents a ADT_A21 message structure (see chapter ?). This structure contains the
47 * following elements: </p>
48 * <ul>
49 * <li>1: MSH (MSH - message header segment) <b> </b> </li>
50 * <li>2: EVN (EVN - event type segment) <b> </b> </li>
51 * <li>3: PID (PID - patient identification segment) <b> </b> </li>
52 * <li>4: PD1 (PD1 - patient additional demographic segment) <b>optional </b> </li>
53 * <li>5: PV1 (PV1 - patient visit segment-) <b> </b> </li>
54 * <li>6: PV2 (PV2 - patient visit - additional information segment) <b>optional </b> </li>
55 * <li>7: DB1 (DB1 - Disability segment) <b>optional repeating</b> </li>
56 * <li>8: OBX (OBX - observation/result segment) <b>optional repeating</b> </li>
57 * </ul>
58 */
59 //@SuppressWarnings("unused")
60 public class ADT_A21 extends AbstractMessage {
61
62 /**
63 * Creates a new ADT_A21 message with DefaultModelClassFactory.
64 */
65 public ADT_A21() {
66 this(new DefaultModelClassFactory());
67 }
68
69 /**
70 * Creates a new ADT_A21 message with custom ModelClassFactory.
71 */
72 public ADT_A21(ModelClassFactory factory) {
73 super(factory);
74 init(factory);
75 }
76
77 private void init(ModelClassFactory factory) {
78 try {
79 this.add(MSH.class, true, false);
80 this.add(EVN.class, true, false);
81 this.add(PID.class, true, false);
82 this.add(PD1.class, false, false);
83 this.add(PV1.class, true, false);
84 this.add(PV2.class, false, false);
85 this.add(DB1.class, false, true);
86 this.add(OBX.class, false, true);
87 } catch(HL7Exception e) {
88 log.error("Unexpected error creating ADT_A21 - this is probably a bug in the source code generator.", e);
89 }
90 }
91
92
93 /**
94 * Returns "2.3.1"
95 */
96 public String getVersion() {
97 return "2.3.1";
98 }
99
100
101
102
103 /**
104 * <p>
105 * Returns
106 * MSH (MSH - message header segment) - creates it if necessary
107 * </p>
108 *
109 *
110 */
111 public MSH getMSH() {
112 return getTyped("MSH", MSH.class);
113 }
114
115
116
117
118
119 /**
120 * <p>
121 * Returns
122 * EVN (EVN - event type segment) - creates it if necessary
123 * </p>
124 *
125 *
126 */
127 public EVN getEVN() {
128 return getTyped("EVN", EVN.class);
129 }
130
131
132
133
134
135 /**
136 * <p>
137 * Returns
138 * PID (PID - patient identification segment) - creates it if necessary
139 * </p>
140 *
141 *
142 */
143 public PID getPID() {
144 return getTyped("PID", PID.class);
145 }
146
147
148
149
150
151 /**
152 * <p>
153 * Returns
154 * PD1 (PD1 - patient additional demographic segment) - creates it if necessary
155 * </p>
156 *
157 *
158 */
159 public PD1 getPD1() {
160 return getTyped("PD1", PD1.class);
161 }
162
163
164
165
166
167 /**
168 * <p>
169 * Returns
170 * PV1 (PV1 - patient visit segment-) - creates it if necessary
171 * </p>
172 *
173 *
174 */
175 public PV1 getPV1() {
176 return getTyped("PV1", PV1.class);
177 }
178
179
180
181
182
183 /**
184 * <p>
185 * Returns
186 * PV2 (PV2 - patient visit - additional information segment) - creates it if necessary
187 * </p>
188 *
189 *
190 */
191 public PV2 getPV2() {
192 return getTyped("PV2", PV2.class);
193 }
194
195
196
197
198
199 /**
200 * <p>
201 * Returns
202 * the first repetition of
203 * DB1 (DB1 - Disability segment) - creates it if necessary
204 * </p>
205 *
206 *
207 */
208 public DB1 getDB1() {
209 return getTyped("DB1", DB1.class);
210 }
211
212
213 /**
214 * <p>
215 * Returns a specific repetition of
216 * DB1 (DB1 - Disability segment) - creates it if necessary
217 * </p>
218 *
219 *
220 * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
221 * @throws HL7Exception if the repetition requested is more than one
222 * greater than the number of existing repetitions.
223 */
224 public DB1 getDB1(int rep) {
225 return getTyped("DB1", rep, DB1.class);
226 }
227
228 /**
229 * <p>
230 * Returns the number of existing repetitions of DB1
231 * </p>
232 *
233 */
234 public int getDB1Reps() {
235 return getReps("DB1");
236 }
237
238 /**
239 * <p>
240 * Returns a non-modifiable List containing all current existing repetitions of DB1.
241 * <p>
242 * <p>
243 * Note that unlike {@link #getDB1()}, this method will not create any reps
244 * if none are already present, so an empty list may be returned.
245 * </p>
246 *
247 */
248 public java.util.List<DB1> getDB1All() throws HL7Exception {
249 return getAllAsList("DB1", DB1.class);
250 }
251
252 /**
253 * <p>
254 * Inserts a specific repetition of DB1 (DB1 - Disability segment)
255 * </p>
256 *
257 *
258 * @see AbstractGroup#insertRepetition(Structure, int)
259 */
260 public void insertDB1(DB1 structure, int rep) throws HL7Exception {
261 super.insertRepetition( "DB1", structure, rep);
262 }
263
264
265 /**
266 * <p>
267 * Inserts a specific repetition of DB1 (DB1 - Disability segment)
268 * </p>
269 *
270 *
271 * @see AbstractGroup#insertRepetition(Structure, int)
272 */
273 public DB1 insertDB1(int rep) throws HL7Exception {
274 return (DB1)super.insertRepetition("DB1", rep);
275 }
276
277
278 /**
279 * <p>
280 * Removes a specific repetition of DB1 (DB1 - Disability segment)
281 * </p>
282 *
283 *
284 * @see AbstractGroup#removeRepetition(String, int)
285 */
286 public DB1 removeDB1(int rep) throws HL7Exception {
287 return (DB1)super.removeRepetition("DB1", rep);
288 }
289
290
291
292
293 /**
294 * <p>
295 * Returns
296 * the first repetition of
297 * OBX (OBX - observation/result segment) - creates it if necessary
298 * </p>
299 *
300 *
301 */
302 public OBX getOBX() {
303 return getTyped("OBX", OBX.class);
304 }
305
306
307 /**
308 * <p>
309 * Returns a specific repetition of
310 * OBX (OBX - observation/result segment) - creates it if necessary
311 * </p>
312 *
313 *
314 * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
315 * @throws HL7Exception if the repetition requested is more than one
316 * greater than the number of existing repetitions.
317 */
318 public OBX getOBX(int rep) {
319 return getTyped("OBX", rep, OBX.class);
320 }
321
322 /**
323 * <p>
324 * Returns the number of existing repetitions of OBX
325 * </p>
326 *
327 */
328 public int getOBXReps() {
329 return getReps("OBX");
330 }
331
332 /**
333 * <p>
334 * Returns a non-modifiable List containing all current existing repetitions of OBX.
335 * <p>
336 * <p>
337 * Note that unlike {@link #getOBX()}, this method will not create any reps
338 * if none are already present, so an empty list may be returned.
339 * </p>
340 *
341 */
342 public java.util.List<OBX> getOBXAll() throws HL7Exception {
343 return getAllAsList("OBX", OBX.class);
344 }
345
346 /**
347 * <p>
348 * Inserts a specific repetition of OBX (OBX - observation/result segment)
349 * </p>
350 *
351 *
352 * @see AbstractGroup#insertRepetition(Structure, int)
353 */
354 public void insertOBX(OBX structure, int rep) throws HL7Exception {
355 super.insertRepetition( "OBX", structure, rep);
356 }
357
358
359 /**
360 * <p>
361 * Inserts a specific repetition of OBX (OBX - observation/result segment)
362 * </p>
363 *
364 *
365 * @see AbstractGroup#insertRepetition(Structure, int)
366 */
367 public OBX insertOBX(int rep) throws HL7Exception {
368 return (OBX)super.insertRepetition("OBX", rep);
369 }
370
371
372 /**
373 * <p>
374 * Removes a specific repetition of OBX (OBX - observation/result segment)
375 * </p>
376 *
377 *
378 * @see AbstractGroup#removeRepetition(String, int)
379 */
380 public OBX removeOBX(int rep) throws HL7Exception {
381 return (OBX)super.removeRepetition("OBX", rep);
382 }
383
384
385
386 }
387