View Javadoc
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.v27.segment;
35  
36  // import ca.uhn.hl7v2.model.v27.group.*;
37  import ca.uhn.hl7v2.model.v27.datatype.*;
38  import ca.uhn.hl7v2.HL7Exception;
39  import ca.uhn.hl7v2.parser.ModelClassFactory;
40  import ca.uhn.hl7v2.parser.DefaultModelClassFactory;
41  import ca.uhn.hl7v2.model.AbstractMessage;
42  import ca.uhn.hl7v2.model.Group;
43  import ca.uhn.hl7v2.model.Type;
44  import ca.uhn.hl7v2.model.AbstractSegment;
45  import ca.uhn.hl7v2.model.Varies;
46  
47  
48  /**
49   *<p>Represents an HL7 OBX message segment (Observation/Result). 
50   * This segment has the following fields:</p>
51   * <ul>
52       * <li>OBX-1: Set ID - OBX (SI) <b>optional </b>
53       * <li>OBX-2: Value Type (ID) <b>optional </b>
54       * <li>OBX-3: Observation Identifier (CWE) <b> </b>
55       * <li>OBX-4: Observation Sub-ID (ST) <b>optional </b>
56       * <li>OBX-5: Observation Value (Varies) <b>optional repeating</b>
57       * <li>OBX-6: Units (CWE) <b>optional </b>
58       * <li>OBX-7: References Range (ST) <b>optional </b>
59       * <li>OBX-8: Interpretation Codes (CWE) <b>optional repeating</b>
60       * <li>OBX-9: Probability (NM) <b>optional </b>
61       * <li>OBX-10: Nature of Abnormal Test (ID) <b>optional repeating</b>
62       * <li>OBX-11: Observation Result Status (ID) <b> </b>
63       * <li>OBX-12: Effective Date of Reference Range (DTM) <b>optional </b>
64       * <li>OBX-13: User Defined Access Checks (ST) <b>optional </b>
65       * <li>OBX-14: Date/Time of the Observation (DTM) <b>optional </b>
66       * <li>OBX-15: Producer's ID (CWE) <b>optional </b>
67       * <li>OBX-16: Responsible Observer (XCN) <b>optional repeating</b>
68       * <li>OBX-17: Observation Method (CWE) <b>optional repeating</b>
69       * <li>OBX-18: Equipment Instance Identifier (EI) <b>optional repeating</b>
70       * <li>OBX-19: Date/Time of the Analysis (DTM) <b>optional </b>
71       * <li>OBX-20: Observation Site (CWE) <b>optional repeating</b>
72       * <li>OBX-21: Observation Instance Identifier (EI) <b>optional </b>
73       * <li>OBX-22: Mood Code (CNE) <b>optional </b>
74       * <li>OBX-23: Performing Organization Name (XON) <b>optional </b>
75       * <li>OBX-24: Performing Organization Address (XAD) <b>optional </b>
76       * <li>OBX-25: Performing Organization Medical Director (XCN) <b>optional </b>
77       * <li>OBX-26: Patient Results Release Category (ID) <b>optional </b>
78   * </ul>
79   */
80  @SuppressWarnings("unused")
81  public class OBX extends AbstractSegment {
82  
83      /** 
84       * Creates a new OBX segment
85       */
86      public OBX(Group parent, ModelClassFactory factory) {
87         super(parent, factory);
88         init(factory);
89      }
90  
91      private void init(ModelClassFactory factory) {
92         try {
93                                    this.add(SI.class, false, 1, 4, new Object[]{ getMessage() }, "Set ID - OBX");
94                                                this.add(ID.class, false, 1, 3, new Object[]{ getMessage(), new Integer(125) }, "Value Type");
95                                    this.add(CWE.class, true, 1, 0, new Object[]{ getMessage() }, "Observation Identifier");
96                                    this.add(ST.class, false, 1, 0, new Object[]{ getMessage() }, "Observation Sub-ID");
97                                    this.add(Varies.class, false, 0, 0, new Object[]{ getMessage() }, "Observation Value");
98                                    this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Units");
99                                    this.add(ST.class, false, 1, 0, new Object[]{ getMessage() }, "References Range");
100                                   this.add(CWE.class, false, 0, 0, new Object[]{ getMessage() }, "Interpretation Codes");
101                                   this.add(NM.class, false, 1, 0, new Object[]{ getMessage() }, "Probability");
102                                               this.add(ID.class, false, 0, 2, new Object[]{ getMessage(), new Integer(80) }, "Nature of Abnormal Test");
103                                               this.add(ID.class, true, 1, 1, new Object[]{ getMessage(), new Integer(85) }, "Observation Result Status");
104                                   this.add(DTM.class, false, 1, 0, new Object[]{ getMessage() }, "Effective Date of Reference Range");
105                                   this.add(ST.class, false, 1, 0, new Object[]{ getMessage() }, "User Defined Access Checks");
106                                   this.add(DTM.class, false, 1, 0, new Object[]{ getMessage() }, "Date/Time of the Observation");
107                                   this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Producer's ID");
108                                   this.add(XCN.class, false, 0, 0, new Object[]{ getMessage() }, "Responsible Observer");
109                                   this.add(CWE.class, false, 0, 0, new Object[]{ getMessage() }, "Observation Method");
110                                   this.add(EI.class, false, 0, 0, new Object[]{ getMessage() }, "Equipment Instance Identifier");
111                                   this.add(DTM.class, false, 1, 0, new Object[]{ getMessage() }, "Date/Time of the Analysis");
112                                   this.add(CWE.class, false, 0, 0, new Object[]{ getMessage() }, "Observation Site");
113                                   this.add(EI.class, false, 1, 0, new Object[]{ getMessage() }, "Observation Instance Identifier");
114                                   this.add(CNE.class, false, 1, 0, new Object[]{ getMessage() }, "Mood Code");
115                                   this.add(XON.class, false, 1, 0, new Object[]{ getMessage() }, "Performing Organization Name");
116                                   this.add(XAD.class, false, 1, 0, new Object[]{ getMessage() }, "Performing Organization Address");
117                                   this.add(XCN.class, false, 1, 0, new Object[]{ getMessage() }, "Performing Organization Medical Director");
118                                               this.add(ID.class, false, 1, 10, new Object[]{ getMessage(), new Integer(909) }, "Patient Results Release Category");
119        } catch(HL7Exception e) {
120           log.error("Unexpected error creating OBX - this is probably a bug in the source code generator.", e);
121        }
122     }
123 
124 
125 
126     /**
127      * Returns
128      * OBX-1: "Set ID - OBX" - creates it if necessary
129      */
130     public SI getSetIDOBX() { 
131 		SI retVal = this.getTypedField(1, 0);
132 		return retVal;
133     }
134     
135     /**
136      * Returns
137      * OBX-1: "Set ID - OBX" - creates it if necessary
138      */
139     public SI getObx1_SetIDOBX() { 
140 		SI retVal = this.getTypedField(1, 0);
141 		return retVal;
142     }
143 
144 
145 
146     /**
147      * Returns
148      * OBX-2: "Value Type" - creates it if necessary
149      */
150     public ID getValueType() { 
151 		ID retVal = this.getTypedField(2, 0);
152 		return retVal;
153     }
154     
155     /**
156      * Returns
157      * OBX-2: "Value Type" - creates it if necessary
158      */
159     public ID getObx2_ValueType() { 
160 		ID retVal = this.getTypedField(2, 0);
161 		return retVal;
162     }
163 
164 
165 
166     /**
167      * Returns
168      * OBX-3: "Observation Identifier" - creates it if necessary
169      */
170     public CWE getObservationIdentifier() { 
171 		CWE retVal = this.getTypedField(3, 0);
172 		return retVal;
173     }
174     
175     /**
176      * Returns
177      * OBX-3: "Observation Identifier" - creates it if necessary
178      */
179     public CWE getObx3_ObservationIdentifier() { 
180 		CWE retVal = this.getTypedField(3, 0);
181 		return retVal;
182     }
183 
184 
185 
186     /**
187      * Returns
188      * OBX-4: "Observation Sub-ID" - creates it if necessary
189      */
190     public ST getObservationSubID() { 
191 		ST retVal = this.getTypedField(4, 0);
192 		return retVal;
193     }
194     
195     /**
196      * Returns
197      * OBX-4: "Observation Sub-ID" - creates it if necessary
198      */
199     public ST getObx4_ObservationSubID() { 
200 		ST retVal = this.getTypedField(4, 0);
201 		return retVal;
202     }
203 
204 
205     /**
206      * Returns all repetitions of Observation Value (OBX-5).
207      */
208     public Varies[] getObservationValue() {
209     	Varies[] retVal = this.getTypedField(5, new Varies[0]);
210     	return retVal;
211     }
212 
213 
214     /**
215      * Returns all repetitions of Observation Value (OBX-5).
216      */
217     public Varies[] getObx5_ObservationValue() {
218     	Varies[] retVal = this.getTypedField(5, new Varies[0]);
219     	return retVal;
220     }
221 
222 
223     /**
224      * Returns a count of the current number of repetitions of Observation Value (OBX-5).
225      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
226      * it will return zero.
227      */
228     public int getObservationValueReps() {
229     	return this.getReps(5);
230     }
231 
232 
233     /**
234      * Returns a specific repetition of
235      * OBX-5: "Observation Value" - creates it if necessary
236      *
237      * @param rep The repetition index (0-indexed)
238      */
239     public Varies getObservationValue(int rep) { 
240 		Varies retVal = this.getTypedField(5, rep);
241 		return retVal;
242     }
243 
244     /**
245      * Returns a specific repetition of
246      * OBX-5: "Observation Value" - creates it if necessary
247      *
248      * @param rep The repetition index (0-indexed)
249      */
250     public Varies getObx5_ObservationValue(int rep) { 
251 		Varies retVal = this.getTypedField(5, rep);
252 		return retVal;
253     }
254 
255     /**
256      * Returns a count of the current number of repetitions of Observation Value (OBX-5).
257      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
258      * it will return zero.
259      */
260     public int getObx5_ObservationValueReps() {
261     	return this.getReps(5);
262     }
263 
264 
265     /**
266      * Inserts a repetition of
267      * OBX-5: "Observation Value" at a specific index
268      *
269      * @param rep The repetition index (0-indexed)
270      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
271      */
272     public Varies insertObservationValue(int rep) throws HL7Exception { 
273         return (Varies) super.insertRepetition(5, rep);
274     }
275 
276 
277     /**
278      * Inserts a repetition of
279      * OBX-5: "Observation Value" at a specific index
280      *
281      * @param rep The repetition index (0-indexed)
282      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
283      */
284     public Varies insertObx5_ObservationValue(int rep) throws HL7Exception { 
285         return (Varies) super.insertRepetition(5, rep);
286     }
287 
288 
289     /**
290      * Removes a repetition of
291      * OBX-5: "Observation Value" at a specific index
292      *
293      * @param rep The repetition index (0-indexed)
294      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
295      */
296     public Varies removeObservationValue(int rep) throws HL7Exception { 
297         return (Varies) super.removeRepetition(5, rep);
298     }
299 
300 
301     /**
302      * Removes a repetition of
303      * OBX-5: "Observation Value" at a specific index
304      *
305      * @param rep The repetition index (0-indexed)
306      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
307      */
308     public Varies removeObx5_ObservationValue(int rep) throws HL7Exception { 
309         return (Varies) super.removeRepetition(5, rep);
310     }
311 
312 
313 
314 
315     /**
316      * Returns
317      * OBX-6: "Units" - creates it if necessary
318      */
319     public CWE getUnits() { 
320 		CWE retVal = this.getTypedField(6, 0);
321 		return retVal;
322     }
323     
324     /**
325      * Returns
326      * OBX-6: "Units" - creates it if necessary
327      */
328     public CWE getObx6_Units() { 
329 		CWE retVal = this.getTypedField(6, 0);
330 		return retVal;
331     }
332 
333 
334 
335     /**
336      * Returns
337      * OBX-7: "References Range" - creates it if necessary
338      */
339     public ST getReferencesRange() { 
340 		ST retVal = this.getTypedField(7, 0);
341 		return retVal;
342     }
343     
344     /**
345      * Returns
346      * OBX-7: "References Range" - creates it if necessary
347      */
348     public ST getObx7_ReferencesRange() { 
349 		ST retVal = this.getTypedField(7, 0);
350 		return retVal;
351     }
352 
353 
354     /**
355      * Returns all repetitions of Interpretation Codes (OBX-8).
356      */
357     public CWE[] getInterpretationCodes() {
358     	CWE[] retVal = this.getTypedField(8, new CWE[0]);
359     	return retVal;
360     }
361 
362 
363     /**
364      * Returns all repetitions of Interpretation Codes (OBX-8).
365      */
366     public CWE[] getObx8_InterpretationCodes() {
367     	CWE[] retVal = this.getTypedField(8, new CWE[0]);
368     	return retVal;
369     }
370 
371 
372     /**
373      * Returns a count of the current number of repetitions of Interpretation Codes (OBX-8).
374      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
375      * it will return zero.
376      */
377     public int getInterpretationCodesReps() {
378     	return this.getReps(8);
379     }
380 
381 
382     /**
383      * Returns a specific repetition of
384      * OBX-8: "Interpretation Codes" - creates it if necessary
385      *
386      * @param rep The repetition index (0-indexed)
387      */
388     public CWE getInterpretationCodes(int rep) { 
389 		CWE retVal = this.getTypedField(8, rep);
390 		return retVal;
391     }
392 
393     /**
394      * Returns a specific repetition of
395      * OBX-8: "Interpretation Codes" - creates it if necessary
396      *
397      * @param rep The repetition index (0-indexed)
398      */
399     public CWE getObx8_InterpretationCodes(int rep) { 
400 		CWE retVal = this.getTypedField(8, rep);
401 		return retVal;
402     }
403 
404     /**
405      * Returns a count of the current number of repetitions of Interpretation Codes (OBX-8).
406      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
407      * it will return zero.
408      */
409     public int getObx8_InterpretationCodesReps() {
410     	return this.getReps(8);
411     }
412 
413 
414     /**
415      * Inserts a repetition of
416      * OBX-8: "Interpretation Codes" at a specific index
417      *
418      * @param rep The repetition index (0-indexed)
419      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
420      */
421     public CWE insertInterpretationCodes(int rep) throws HL7Exception { 
422         return (CWE) super.insertRepetition(8, rep);
423     }
424 
425 
426     /**
427      * Inserts a repetition of
428      * OBX-8: "Interpretation Codes" at a specific index
429      *
430      * @param rep The repetition index (0-indexed)
431      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
432      */
433     public CWE insertObx8_InterpretationCodes(int rep) throws HL7Exception { 
434         return (CWE) super.insertRepetition(8, rep);
435     }
436 
437 
438     /**
439      * Removes a repetition of
440      * OBX-8: "Interpretation Codes" at a specific index
441      *
442      * @param rep The repetition index (0-indexed)
443      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
444      */
445     public CWE removeInterpretationCodes(int rep) throws HL7Exception { 
446         return (CWE) super.removeRepetition(8, rep);
447     }
448 
449 
450     /**
451      * Removes a repetition of
452      * OBX-8: "Interpretation Codes" at a specific index
453      *
454      * @param rep The repetition index (0-indexed)
455      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
456      */
457     public CWE removeObx8_InterpretationCodes(int rep) throws HL7Exception { 
458         return (CWE) super.removeRepetition(8, rep);
459     }
460 
461 
462 
463 
464     /**
465      * Returns
466      * OBX-9: "Probability" - creates it if necessary
467      */
468     public NM getProbability() { 
469 		NM retVal = this.getTypedField(9, 0);
470 		return retVal;
471     }
472     
473     /**
474      * Returns
475      * OBX-9: "Probability" - creates it if necessary
476      */
477     public NM getObx9_Probability() { 
478 		NM retVal = this.getTypedField(9, 0);
479 		return retVal;
480     }
481 
482 
483     /**
484      * Returns all repetitions of Nature of Abnormal Test (OBX-10).
485      */
486     public ID[] getNatureOfAbnormalTest() {
487     	ID[] retVal = this.getTypedField(10, new ID[0]);
488     	return retVal;
489     }
490 
491 
492     /**
493      * Returns all repetitions of Nature of Abnormal Test (OBX-10).
494      */
495     public ID[] getObx10_NatureOfAbnormalTest() {
496     	ID[] retVal = this.getTypedField(10, new ID[0]);
497     	return retVal;
498     }
499 
500 
501     /**
502      * Returns a count of the current number of repetitions of Nature of Abnormal Test (OBX-10).
503      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
504      * it will return zero.
505      */
506     public int getNatureOfAbnormalTestReps() {
507     	return this.getReps(10);
508     }
509 
510 
511     /**
512      * Returns a specific repetition of
513      * OBX-10: "Nature of Abnormal Test" - creates it if necessary
514      *
515      * @param rep The repetition index (0-indexed)
516      */
517     public ID getNatureOfAbnormalTest(int rep) { 
518 		ID retVal = this.getTypedField(10, rep);
519 		return retVal;
520     }
521 
522     /**
523      * Returns a specific repetition of
524      * OBX-10: "Nature of Abnormal Test" - creates it if necessary
525      *
526      * @param rep The repetition index (0-indexed)
527      */
528     public ID getObx10_NatureOfAbnormalTest(int rep) { 
529 		ID retVal = this.getTypedField(10, rep);
530 		return retVal;
531     }
532 
533     /**
534      * Returns a count of the current number of repetitions of Nature of Abnormal Test (OBX-10).
535      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
536      * it will return zero.
537      */
538     public int getObx10_NatureOfAbnormalTestReps() {
539     	return this.getReps(10);
540     }
541 
542 
543     /**
544      * Inserts a repetition of
545      * OBX-10: "Nature of Abnormal Test" at a specific index
546      *
547      * @param rep The repetition index (0-indexed)
548      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
549      */
550     public ID insertNatureOfAbnormalTest(int rep) throws HL7Exception { 
551         return (ID) super.insertRepetition(10, rep);
552     }
553 
554 
555     /**
556      * Inserts a repetition of
557      * OBX-10: "Nature of Abnormal Test" at a specific index
558      *
559      * @param rep The repetition index (0-indexed)
560      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
561      */
562     public ID insertObx10_NatureOfAbnormalTest(int rep) throws HL7Exception { 
563         return (ID) super.insertRepetition(10, rep);
564     }
565 
566 
567     /**
568      * Removes a repetition of
569      * OBX-10: "Nature of Abnormal Test" at a specific index
570      *
571      * @param rep The repetition index (0-indexed)
572      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
573      */
574     public ID removeNatureOfAbnormalTest(int rep) throws HL7Exception { 
575         return (ID) super.removeRepetition(10, rep);
576     }
577 
578 
579     /**
580      * Removes a repetition of
581      * OBX-10: "Nature of Abnormal Test" at a specific index
582      *
583      * @param rep The repetition index (0-indexed)
584      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
585      */
586     public ID removeObx10_NatureOfAbnormalTest(int rep) throws HL7Exception { 
587         return (ID) super.removeRepetition(10, rep);
588     }
589 
590 
591 
592 
593     /**
594      * Returns
595      * OBX-11: "Observation Result Status" - creates it if necessary
596      */
597     public ID getObservationResultStatus() { 
598 		ID retVal = this.getTypedField(11, 0);
599 		return retVal;
600     }
601     
602     /**
603      * Returns
604      * OBX-11: "Observation Result Status" - creates it if necessary
605      */
606     public ID getObx11_ObservationResultStatus() { 
607 		ID retVal = this.getTypedField(11, 0);
608 		return retVal;
609     }
610 
611 
612 
613     /**
614      * Returns
615      * OBX-12: "Effective Date of Reference Range" - creates it if necessary
616      */
617     public DTM getEffectiveDateOfReferenceRange() { 
618 		DTM retVal = this.getTypedField(12, 0);
619 		return retVal;
620     }
621     
622     /**
623      * Returns
624      * OBX-12: "Effective Date of Reference Range" - creates it if necessary
625      */
626     public DTM getObx12_EffectiveDateOfReferenceRange() { 
627 		DTM retVal = this.getTypedField(12, 0);
628 		return retVal;
629     }
630 
631 
632 
633     /**
634      * Returns
635      * OBX-13: "User Defined Access Checks" - creates it if necessary
636      */
637     public ST getUserDefinedAccessChecks() { 
638 		ST retVal = this.getTypedField(13, 0);
639 		return retVal;
640     }
641     
642     /**
643      * Returns
644      * OBX-13: "User Defined Access Checks" - creates it if necessary
645      */
646     public ST getObx13_UserDefinedAccessChecks() { 
647 		ST retVal = this.getTypedField(13, 0);
648 		return retVal;
649     }
650 
651 
652 
653     /**
654      * Returns
655      * OBX-14: "Date/Time of the Observation" - creates it if necessary
656      */
657     public DTM getDateTimeOfTheObservation() { 
658 		DTM retVal = this.getTypedField(14, 0);
659 		return retVal;
660     }
661     
662     /**
663      * Returns
664      * OBX-14: "Date/Time of the Observation" - creates it if necessary
665      */
666     public DTM getObx14_DateTimeOfTheObservation() { 
667 		DTM retVal = this.getTypedField(14, 0);
668 		return retVal;
669     }
670 
671 
672 
673     /**
674      * Returns
675      * OBX-15: "Producer's ID" - creates it if necessary
676      */
677     public CWE getProducerSID() { 
678 		CWE retVal = this.getTypedField(15, 0);
679 		return retVal;
680     }
681     
682     /**
683      * Returns
684      * OBX-15: "Producer's ID" - creates it if necessary
685      */
686     public CWE getObx15_ProducerSID() { 
687 		CWE retVal = this.getTypedField(15, 0);
688 		return retVal;
689     }
690 
691 
692     /**
693      * Returns all repetitions of Responsible Observer (OBX-16).
694      */
695     public XCN[] getResponsibleObserver() {
696     	XCN[] retVal = this.getTypedField(16, new XCN[0]);
697     	return retVal;
698     }
699 
700 
701     /**
702      * Returns all repetitions of Responsible Observer (OBX-16).
703      */
704     public XCN[] getObx16_ResponsibleObserver() {
705     	XCN[] retVal = this.getTypedField(16, new XCN[0]);
706     	return retVal;
707     }
708 
709 
710     /**
711      * Returns a count of the current number of repetitions of Responsible Observer (OBX-16).
712      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
713      * it will return zero.
714      */
715     public int getResponsibleObserverReps() {
716     	return this.getReps(16);
717     }
718 
719 
720     /**
721      * Returns a specific repetition of
722      * OBX-16: "Responsible Observer" - creates it if necessary
723      *
724      * @param rep The repetition index (0-indexed)
725      */
726     public XCN getResponsibleObserver(int rep) { 
727 		XCN retVal = this.getTypedField(16, rep);
728 		return retVal;
729     }
730 
731     /**
732      * Returns a specific repetition of
733      * OBX-16: "Responsible Observer" - creates it if necessary
734      *
735      * @param rep The repetition index (0-indexed)
736      */
737     public XCN getObx16_ResponsibleObserver(int rep) { 
738 		XCN retVal = this.getTypedField(16, rep);
739 		return retVal;
740     }
741 
742     /**
743      * Returns a count of the current number of repetitions of Responsible Observer (OBX-16).
744      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
745      * it will return zero.
746      */
747     public int getObx16_ResponsibleObserverReps() {
748     	return this.getReps(16);
749     }
750 
751 
752     /**
753      * Inserts a repetition of
754      * OBX-16: "Responsible Observer" at a specific index
755      *
756      * @param rep The repetition index (0-indexed)
757      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
758      */
759     public XCN insertResponsibleObserver(int rep) throws HL7Exception { 
760         return (XCN) super.insertRepetition(16, rep);
761     }
762 
763 
764     /**
765      * Inserts a repetition of
766      * OBX-16: "Responsible Observer" at a specific index
767      *
768      * @param rep The repetition index (0-indexed)
769      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
770      */
771     public XCN insertObx16_ResponsibleObserver(int rep) throws HL7Exception { 
772         return (XCN) super.insertRepetition(16, rep);
773     }
774 
775 
776     /**
777      * Removes a repetition of
778      * OBX-16: "Responsible Observer" at a specific index
779      *
780      * @param rep The repetition index (0-indexed)
781      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
782      */
783     public XCN removeResponsibleObserver(int rep) throws HL7Exception { 
784         return (XCN) super.removeRepetition(16, rep);
785     }
786 
787 
788     /**
789      * Removes a repetition of
790      * OBX-16: "Responsible Observer" at a specific index
791      *
792      * @param rep The repetition index (0-indexed)
793      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
794      */
795     public XCN removeObx16_ResponsibleObserver(int rep) throws HL7Exception { 
796         return (XCN) super.removeRepetition(16, rep);
797     }
798 
799 
800 
801     /**
802      * Returns all repetitions of Observation Method (OBX-17).
803      */
804     public CWE[] getObservationMethod() {
805     	CWE[] retVal = this.getTypedField(17, new CWE[0]);
806     	return retVal;
807     }
808 
809 
810     /**
811      * Returns all repetitions of Observation Method (OBX-17).
812      */
813     public CWE[] getObx17_ObservationMethod() {
814     	CWE[] retVal = this.getTypedField(17, new CWE[0]);
815     	return retVal;
816     }
817 
818 
819     /**
820      * Returns a count of the current number of repetitions of Observation Method (OBX-17).
821      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
822      * it will return zero.
823      */
824     public int getObservationMethodReps() {
825     	return this.getReps(17);
826     }
827 
828 
829     /**
830      * Returns a specific repetition of
831      * OBX-17: "Observation Method" - creates it if necessary
832      *
833      * @param rep The repetition index (0-indexed)
834      */
835     public CWE getObservationMethod(int rep) { 
836 		CWE retVal = this.getTypedField(17, rep);
837 		return retVal;
838     }
839 
840     /**
841      * Returns a specific repetition of
842      * OBX-17: "Observation Method" - creates it if necessary
843      *
844      * @param rep The repetition index (0-indexed)
845      */
846     public CWE getObx17_ObservationMethod(int rep) { 
847 		CWE retVal = this.getTypedField(17, rep);
848 		return retVal;
849     }
850 
851     /**
852      * Returns a count of the current number of repetitions of Observation Method (OBX-17).
853      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
854      * it will return zero.
855      */
856     public int getObx17_ObservationMethodReps() {
857     	return this.getReps(17);
858     }
859 
860 
861     /**
862      * Inserts a repetition of
863      * OBX-17: "Observation Method" at a specific index
864      *
865      * @param rep The repetition index (0-indexed)
866      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
867      */
868     public CWE insertObservationMethod(int rep) throws HL7Exception { 
869         return (CWE) super.insertRepetition(17, rep);
870     }
871 
872 
873     /**
874      * Inserts a repetition of
875      * OBX-17: "Observation Method" at a specific index
876      *
877      * @param rep The repetition index (0-indexed)
878      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
879      */
880     public CWE insertObx17_ObservationMethod(int rep) throws HL7Exception { 
881         return (CWE) super.insertRepetition(17, rep);
882     }
883 
884 
885     /**
886      * Removes a repetition of
887      * OBX-17: "Observation Method" at a specific index
888      *
889      * @param rep The repetition index (0-indexed)
890      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
891      */
892     public CWE removeObservationMethod(int rep) throws HL7Exception { 
893         return (CWE) super.removeRepetition(17, rep);
894     }
895 
896 
897     /**
898      * Removes a repetition of
899      * OBX-17: "Observation Method" at a specific index
900      *
901      * @param rep The repetition index (0-indexed)
902      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
903      */
904     public CWE removeObx17_ObservationMethod(int rep) throws HL7Exception { 
905         return (CWE) super.removeRepetition(17, rep);
906     }
907 
908 
909 
910     /**
911      * Returns all repetitions of Equipment Instance Identifier (OBX-18).
912      */
913     public EI[] getEquipmentInstanceIdentifier() {
914     	EI[] retVal = this.getTypedField(18, new EI[0]);
915     	return retVal;
916     }
917 
918 
919     /**
920      * Returns all repetitions of Equipment Instance Identifier (OBX-18).
921      */
922     public EI[] getObx18_EquipmentInstanceIdentifier() {
923     	EI[] retVal = this.getTypedField(18, new EI[0]);
924     	return retVal;
925     }
926 
927 
928     /**
929      * Returns a count of the current number of repetitions of Equipment Instance Identifier (OBX-18).
930      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
931      * it will return zero.
932      */
933     public int getEquipmentInstanceIdentifierReps() {
934     	return this.getReps(18);
935     }
936 
937 
938     /**
939      * Returns a specific repetition of
940      * OBX-18: "Equipment Instance Identifier" - creates it if necessary
941      *
942      * @param rep The repetition index (0-indexed)
943      */
944     public EI getEquipmentInstanceIdentifier(int rep) { 
945 		EI retVal = this.getTypedField(18, rep);
946 		return retVal;
947     }
948 
949     /**
950      * Returns a specific repetition of
951      * OBX-18: "Equipment Instance Identifier" - creates it if necessary
952      *
953      * @param rep The repetition index (0-indexed)
954      */
955     public EI getObx18_EquipmentInstanceIdentifier(int rep) { 
956 		EI retVal = this.getTypedField(18, rep);
957 		return retVal;
958     }
959 
960     /**
961      * Returns a count of the current number of repetitions of Equipment Instance Identifier (OBX-18).
962      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
963      * it will return zero.
964      */
965     public int getObx18_EquipmentInstanceIdentifierReps() {
966     	return this.getReps(18);
967     }
968 
969 
970     /**
971      * Inserts a repetition of
972      * OBX-18: "Equipment Instance Identifier" at a specific index
973      *
974      * @param rep The repetition index (0-indexed)
975      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
976      */
977     public EI insertEquipmentInstanceIdentifier(int rep) throws HL7Exception { 
978         return (EI) super.insertRepetition(18, rep);
979     }
980 
981 
982     /**
983      * Inserts a repetition of
984      * OBX-18: "Equipment Instance Identifier" at a specific index
985      *
986      * @param rep The repetition index (0-indexed)
987      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
988      */
989     public EI insertObx18_EquipmentInstanceIdentifier(int rep) throws HL7Exception { 
990         return (EI) super.insertRepetition(18, rep);
991     }
992 
993 
994     /**
995      * Removes a repetition of
996      * OBX-18: "Equipment Instance Identifier" at a specific index
997      *
998      * @param rep The repetition index (0-indexed)
999      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1000      */
1001     public EI removeEquipmentInstanceIdentifier(int rep) throws HL7Exception { 
1002         return (EI) super.removeRepetition(18, rep);
1003     }
1004 
1005 
1006     /**
1007      * Removes a repetition of
1008      * OBX-18: "Equipment Instance Identifier" at a specific index
1009      *
1010      * @param rep The repetition index (0-indexed)
1011      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1012      */
1013     public EI removeObx18_EquipmentInstanceIdentifier(int rep) throws HL7Exception { 
1014         return (EI) super.removeRepetition(18, rep);
1015     }
1016 
1017 
1018 
1019 
1020     /**
1021      * Returns
1022      * OBX-19: "Date/Time of the Analysis" - creates it if necessary
1023      */
1024     public DTM getDateTimeOfTheAnalysis() { 
1025 		DTM retVal = this.getTypedField(19, 0);
1026 		return retVal;
1027     }
1028     
1029     /**
1030      * Returns
1031      * OBX-19: "Date/Time of the Analysis" - creates it if necessary
1032      */
1033     public DTM getObx19_DateTimeOfTheAnalysis() { 
1034 		DTM retVal = this.getTypedField(19, 0);
1035 		return retVal;
1036     }
1037 
1038 
1039     /**
1040      * Returns all repetitions of Observation Site (OBX-20).
1041      */
1042     public CWE[] getObservationSite() {
1043     	CWE[] retVal = this.getTypedField(20, new CWE[0]);
1044     	return retVal;
1045     }
1046 
1047 
1048     /**
1049      * Returns all repetitions of Observation Site (OBX-20).
1050      */
1051     public CWE[] getObx20_ObservationSite() {
1052     	CWE[] retVal = this.getTypedField(20, new CWE[0]);
1053     	return retVal;
1054     }
1055 
1056 
1057     /**
1058      * Returns a count of the current number of repetitions of Observation Site (OBX-20).
1059      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1060      * it will return zero.
1061      */
1062     public int getObservationSiteReps() {
1063     	return this.getReps(20);
1064     }
1065 
1066 
1067     /**
1068      * Returns a specific repetition of
1069      * OBX-20: "Observation Site" - creates it if necessary
1070      *
1071      * @param rep The repetition index (0-indexed)
1072      */
1073     public CWE getObservationSite(int rep) { 
1074 		CWE retVal = this.getTypedField(20, rep);
1075 		return retVal;
1076     }
1077 
1078     /**
1079      * Returns a specific repetition of
1080      * OBX-20: "Observation Site" - creates it if necessary
1081      *
1082      * @param rep The repetition index (0-indexed)
1083      */
1084     public CWE getObx20_ObservationSite(int rep) { 
1085 		CWE retVal = this.getTypedField(20, rep);
1086 		return retVal;
1087     }
1088 
1089     /**
1090      * Returns a count of the current number of repetitions of Observation Site (OBX-20).
1091      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1092      * it will return zero.
1093      */
1094     public int getObx20_ObservationSiteReps() {
1095     	return this.getReps(20);
1096     }
1097 
1098 
1099     /**
1100      * Inserts a repetition of
1101      * OBX-20: "Observation Site" at a specific index
1102      *
1103      * @param rep The repetition index (0-indexed)
1104      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1105      */
1106     public CWE insertObservationSite(int rep) throws HL7Exception { 
1107         return (CWE) super.insertRepetition(20, rep);
1108     }
1109 
1110 
1111     /**
1112      * Inserts a repetition of
1113      * OBX-20: "Observation Site" at a specific index
1114      *
1115      * @param rep The repetition index (0-indexed)
1116      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1117      */
1118     public CWE insertObx20_ObservationSite(int rep) throws HL7Exception { 
1119         return (CWE) super.insertRepetition(20, rep);
1120     }
1121 
1122 
1123     /**
1124      * Removes a repetition of
1125      * OBX-20: "Observation Site" at a specific index
1126      *
1127      * @param rep The repetition index (0-indexed)
1128      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1129      */
1130     public CWE removeObservationSite(int rep) throws HL7Exception { 
1131         return (CWE) super.removeRepetition(20, rep);
1132     }
1133 
1134 
1135     /**
1136      * Removes a repetition of
1137      * OBX-20: "Observation Site" at a specific index
1138      *
1139      * @param rep The repetition index (0-indexed)
1140      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1141      */
1142     public CWE removeObx20_ObservationSite(int rep) throws HL7Exception { 
1143         return (CWE) super.removeRepetition(20, rep);
1144     }
1145 
1146 
1147 
1148 
1149     /**
1150      * Returns
1151      * OBX-21: "Observation Instance Identifier" - creates it if necessary
1152      */
1153     public EI getObservationInstanceIdentifier() { 
1154 		EI retVal = this.getTypedField(21, 0);
1155 		return retVal;
1156     }
1157     
1158     /**
1159      * Returns
1160      * OBX-21: "Observation Instance Identifier" - creates it if necessary
1161      */
1162     public EI getObx21_ObservationInstanceIdentifier() { 
1163 		EI retVal = this.getTypedField(21, 0);
1164 		return retVal;
1165     }
1166 
1167 
1168 
1169     /**
1170      * Returns
1171      * OBX-22: "Mood Code" - creates it if necessary
1172      */
1173     public CNE getMoodCode() { 
1174 		CNE retVal = this.getTypedField(22, 0);
1175 		return retVal;
1176     }
1177     
1178     /**
1179      * Returns
1180      * OBX-22: "Mood Code" - creates it if necessary
1181      */
1182     public CNE getObx22_MoodCode() { 
1183 		CNE retVal = this.getTypedField(22, 0);
1184 		return retVal;
1185     }
1186 
1187 
1188 
1189     /**
1190      * Returns
1191      * OBX-23: "Performing Organization Name" - creates it if necessary
1192      */
1193     public XON getPerformingOrganizationName() { 
1194 		XON retVal = this.getTypedField(23, 0);
1195 		return retVal;
1196     }
1197     
1198     /**
1199      * Returns
1200      * OBX-23: "Performing Organization Name" - creates it if necessary
1201      */
1202     public XON getObx23_PerformingOrganizationName() { 
1203 		XON retVal = this.getTypedField(23, 0);
1204 		return retVal;
1205     }
1206 
1207 
1208 
1209     /**
1210      * Returns
1211      * OBX-24: "Performing Organization Address" - creates it if necessary
1212      */
1213     public XAD getPerformingOrganizationAddress() { 
1214 		XAD retVal = this.getTypedField(24, 0);
1215 		return retVal;
1216     }
1217     
1218     /**
1219      * Returns
1220      * OBX-24: "Performing Organization Address" - creates it if necessary
1221      */
1222     public XAD getObx24_PerformingOrganizationAddress() { 
1223 		XAD retVal = this.getTypedField(24, 0);
1224 		return retVal;
1225     }
1226 
1227 
1228 
1229     /**
1230      * Returns
1231      * OBX-25: "Performing Organization Medical Director" - creates it if necessary
1232      */
1233     public XCN getPerformingOrganizationMedicalDirector() { 
1234 		XCN retVal = this.getTypedField(25, 0);
1235 		return retVal;
1236     }
1237     
1238     /**
1239      * Returns
1240      * OBX-25: "Performing Organization Medical Director" - creates it if necessary
1241      */
1242     public XCN getObx25_PerformingOrganizationMedicalDirector() { 
1243 		XCN retVal = this.getTypedField(25, 0);
1244 		return retVal;
1245     }
1246 
1247 
1248 
1249     /**
1250      * Returns
1251      * OBX-26: "Patient Results Release Category" - creates it if necessary
1252      */
1253     public ID getPatientResultsReleaseCategory() { 
1254 		ID retVal = this.getTypedField(26, 0);
1255 		return retVal;
1256     }
1257     
1258     /**
1259      * Returns
1260      * OBX-26: "Patient Results Release Category" - creates it if necessary
1261      */
1262     public ID getObx26_PatientResultsReleaseCategory() { 
1263 		ID retVal = this.getTypedField(26, 0);
1264 		return retVal;
1265     }
1266 
1267 
1268 
1269 
1270 
1271     /** {@inheritDoc} */   
1272     protected Type createNewTypeWithoutReflection(int field) {
1273        switch (field) {
1274           case 0: return new SI(getMessage());
1275           case 1: return new ID(getMessage(), new Integer( 125 ));
1276           case 2: return new CWE(getMessage());
1277           case 3: return new ST(getMessage());
1278           case 4: return new Varies(getMessage());
1279           case 5: return new CWE(getMessage());
1280           case 6: return new ST(getMessage());
1281           case 7: return new CWE(getMessage());
1282           case 8: return new NM(getMessage());
1283           case 9: return new ID(getMessage(), new Integer( 80 ));
1284           case 10: return new ID(getMessage(), new Integer( 85 ));
1285           case 11: return new DTM(getMessage());
1286           case 12: return new ST(getMessage());
1287           case 13: return new DTM(getMessage());
1288           case 14: return new CWE(getMessage());
1289           case 15: return new XCN(getMessage());
1290           case 16: return new CWE(getMessage());
1291           case 17: return new EI(getMessage());
1292           case 18: return new DTM(getMessage());
1293           case 19: return new CWE(getMessage());
1294           case 20: return new EI(getMessage());
1295           case 21: return new CNE(getMessage());
1296           case 22: return new XON(getMessage());
1297           case 23: return new XAD(getMessage());
1298           case 24: return new XCN(getMessage());
1299           case 25: return new ID(getMessage(), new Integer( 909 ));
1300           default: return null;
1301        }
1302    }
1303 
1304 
1305 }
1306