001/*
002 * This class is an auto-generated source file for a HAPI
003 * HL7 v2.x standard structure class.
004 *
005 * For more information, visit: http://hl7api.sourceforge.net/
006 * 
007 * The contents of this file are subject to the Mozilla Public License Version 1.1 
008 * (the "License"); you may not use this file except in compliance with the License. 
009 * You may obtain a copy of the License at http://www.mozilla.org/MPL/ 
010 * Software distributed under the License is distributed on an "AS IS" basis, 
011 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the 
012 * specific language governing rights and limitations under the License. 
013 * 
014 * The Original Code is "[file_name]".  Description: 
015 * "[one_line_description]" 
016 * 
017 * The Initial Developer of the Original Code is University Health Network. Copyright (C) 
018 * 2012.  All Rights Reserved. 
019 * 
020 * Contributor(s): ______________________________________. 
021 * 
022 * Alternatively, the contents of this file may be used under the terms of the 
023 * GNU General Public License (the  "GPL"), in which case the provisions of the GPL are 
024 * applicable instead of those above.  If you wish to allow use of your version of this 
025 * file only under the terms of the GPL and not to allow others to use your version 
026 * of this file under the MPL, indicate your decision by deleting  the provisions above 
027 * and replace  them with the notice and other provisions required by the GPL License.  
028 * If you do not delete the provisions above, a recipient may use your version of 
029 * this file under either the MPL or the GPL. 
030 * 
031 */
032
033
034package ca.uhn.hl7v2.model.v251.segment;
035
036// import ca.uhn.hl7v2.model.v251.group.*;
037import ca.uhn.hl7v2.model.v251.datatype.*;
038import ca.uhn.hl7v2.HL7Exception;
039import ca.uhn.hl7v2.parser.ModelClassFactory;
040import ca.uhn.hl7v2.parser.DefaultModelClassFactory;
041import ca.uhn.hl7v2.model.AbstractMessage;
042import ca.uhn.hl7v2.model.Group;
043import ca.uhn.hl7v2.model.Type;
044import ca.uhn.hl7v2.model.AbstractSegment;
045import ca.uhn.hl7v2.model.Varies;
046
047
048/**
049 *<p>Represents an HL7 OBX message segment (Observation/Result). 
050 * This segment has the following fields:</p>
051 * <ul>
052     * <li>OBX-1: Set ID - OBX (SI) <b>optional </b>
053     * <li>OBX-2: Value Type (ID) <b>optional </b>
054     * <li>OBX-3: Observation Identifier (CE) <b> </b>
055     * <li>OBX-4: Observation Sub-ID (ST) <b>optional </b>
056     * <li>OBX-5: Observation Value (Varies) <b>optional repeating</b>
057     * <li>OBX-6: Units (CE) <b>optional </b>
058     * <li>OBX-7: References Range (ST) <b>optional </b>
059     * <li>OBX-8: Abnormal Flags (IS) <b>optional repeating</b>
060     * <li>OBX-9: Probability (NM) <b>optional </b>
061     * <li>OBX-10: Nature of Abnormal Test (ID) <b>optional repeating</b>
062     * <li>OBX-11: Observation Result Status (ID) <b> </b>
063     * <li>OBX-12: Effective Date of Reference Range Values (TS) <b>optional </b>
064     * <li>OBX-13: User Defined Access Checks (ST) <b>optional </b>
065     * <li>OBX-14: Date/Time of the Observation (TS) <b>optional </b>
066     * <li>OBX-15: Producer's Reference (CE) <b>optional </b>
067     * <li>OBX-16: Responsible Observer (XCN) <b>optional repeating</b>
068     * <li>OBX-17: Observation Method (CE) <b>optional repeating</b>
069     * <li>OBX-18: Equipment Instance Identifier (EI) <b>optional repeating</b>
070     * <li>OBX-19: Date/Time of the Analysis (TS) <b>optional </b>
071     * <li>OBX-20: Reserved for harmonization with V2.6 (Varies) <b>optional </b>
072     * <li>OBX-21: Reserved for harmonization with V2.6 Number 2 (Varies) <b>optional </b>
073     * <li>OBX-22: Reserved for harmonization with V2.6 Number 3 (Varies) <b>optional </b>
074     * <li>OBX-23: Performing Organization Name (XON) <b>optional </b>
075     * <li>OBX-24: Performing Organization Address (XAD) <b>optional </b>
076     * <li>OBX-25: Performing Organization Medical Director (XCN) <b>optional </b>
077 * </ul>
078 */
079@SuppressWarnings("unused")
080public class OBX extends AbstractSegment {
081
082    /** 
083     * Creates a new OBX segment
084     */
085    public OBX(Group parent, ModelClassFactory factory) {
086       super(parent, factory);
087       init(factory);
088    }
089
090    private void init(ModelClassFactory factory) {
091       try {
092                                  this.add(SI.class, false, 1, 4, new Object[]{ getMessage() }, "Set ID - OBX");
093                                              this.add(ID.class, false, 1, 2, new Object[]{ getMessage(), new Integer(125) }, "Value Type");
094                                  this.add(CE.class, true, 1, 250, new Object[]{ getMessage() }, "Observation Identifier");
095                                  this.add(ST.class, false, 1, 20, new Object[]{ getMessage() }, "Observation Sub-ID");
096                                  this.add(Varies.class, false, 0, 99999, new Object[]{ getMessage() }, "Observation Value");
097                                  this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Units");
098                                  this.add(ST.class, false, 1, 60, new Object[]{ getMessage() }, "References Range");
099                                              this.add(IS.class, false, 0, 5, new Object[]{ getMessage(), new Integer(78) }, "Abnormal Flags");
100                                  this.add(NM.class, false, 1, 5, new Object[]{ getMessage() }, "Probability");
101                                              this.add(ID.class, false, 0, 2, new Object[]{ getMessage(), new Integer(80) }, "Nature of Abnormal Test");
102                                              this.add(ID.class, true, 1, 1, new Object[]{ getMessage(), new Integer(85) }, "Observation Result Status");
103                                  this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Effective Date of Reference Range Values");
104                                  this.add(ST.class, false, 1, 20, new Object[]{ getMessage() }, "User Defined Access Checks");
105                                  this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Date/Time of the Observation");
106                                  this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Producer's Reference");
107                                  this.add(XCN.class, false, 0, 250, new Object[]{ getMessage() }, "Responsible Observer");
108                                  this.add(CE.class, false, 0, 250, new Object[]{ getMessage() }, "Observation Method");
109                                  this.add(EI.class, false, 0, 22, new Object[]{ getMessage() }, "Equipment Instance Identifier");
110                                  this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Date/Time of the Analysis");
111                                  this.add(Varies.class, false, 1, 0, new Object[]{ getMessage() }, "Reserved for harmonization with V2.6");
112                                  this.add(Varies.class, false, 1, 0, new Object[]{ getMessage() }, "Reserved for harmonization with V2.6 Number 2");
113                                  this.add(Varies.class, false, 1, 0, new Object[]{ getMessage() }, "Reserved for harmonization with V2.6 Number 3");
114                                  this.add(XON.class, false, 1, 567, new Object[]{ getMessage() }, "Performing Organization Name");
115                                  this.add(XAD.class, false, 1, 631, new Object[]{ getMessage() }, "Performing Organization Address");
116                                  this.add(XCN.class, false, 1, 3002, new Object[]{ getMessage() }, "Performing Organization Medical Director");
117       } catch(HL7Exception e) {
118          log.error("Unexpected error creating OBX - this is probably a bug in the source code generator.", e);
119       }
120    }
121
122
123
124    /**
125     * Returns
126     * OBX-1: "Set ID - OBX" - creates it if necessary
127     */
128    public SI getSetIDOBX() { 
129                SI retVal = this.getTypedField(1, 0);
130                return retVal;
131    }
132    
133    /**
134     * Returns
135     * OBX-1: "Set ID - OBX" - creates it if necessary
136     */
137    public SI getObx1_SetIDOBX() { 
138                SI retVal = this.getTypedField(1, 0);
139                return retVal;
140    }
141
142
143
144    /**
145     * Returns
146     * OBX-2: "Value Type" - creates it if necessary
147     */
148    public ID getValueType() { 
149                ID retVal = this.getTypedField(2, 0);
150                return retVal;
151    }
152    
153    /**
154     * Returns
155     * OBX-2: "Value Type" - creates it if necessary
156     */
157    public ID getObx2_ValueType() { 
158                ID retVal = this.getTypedField(2, 0);
159                return retVal;
160    }
161
162
163
164    /**
165     * Returns
166     * OBX-3: "Observation Identifier" - creates it if necessary
167     */
168    public CE getObservationIdentifier() { 
169                CE retVal = this.getTypedField(3, 0);
170                return retVal;
171    }
172    
173    /**
174     * Returns
175     * OBX-3: "Observation Identifier" - creates it if necessary
176     */
177    public CE getObx3_ObservationIdentifier() { 
178                CE retVal = this.getTypedField(3, 0);
179                return retVal;
180    }
181
182
183
184    /**
185     * Returns
186     * OBX-4: "Observation Sub-ID" - creates it if necessary
187     */
188    public ST getObservationSubID() { 
189                ST retVal = this.getTypedField(4, 0);
190                return retVal;
191    }
192    
193    /**
194     * Returns
195     * OBX-4: "Observation Sub-ID" - creates it if necessary
196     */
197    public ST getObx4_ObservationSubID() { 
198                ST retVal = this.getTypedField(4, 0);
199                return retVal;
200    }
201
202
203    /**
204     * Returns all repetitions of Observation Value (OBX-5).
205     */
206    public Varies[] getObservationValue() {
207        Varies[] retVal = this.getTypedField(5, new Varies[0]);
208        return retVal;
209    }
210
211
212    /**
213     * Returns all repetitions of Observation Value (OBX-5).
214     */
215    public Varies[] getObx5_ObservationValue() {
216        Varies[] retVal = this.getTypedField(5, new Varies[0]);
217        return retVal;
218    }
219
220
221    /**
222     * Returns a count of the current number of repetitions of Observation Value (OBX-5).
223     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
224     * it will return zero.
225     */
226    public int getObservationValueReps() {
227        return this.getReps(5);
228    }
229
230
231    /**
232     * Returns a specific repetition of
233     * OBX-5: "Observation Value" - creates it if necessary
234     *
235     * @param rep The repetition index (0-indexed)
236     */
237    public Varies getObservationValue(int rep) { 
238                Varies retVal = this.getTypedField(5, rep);
239                return retVal;
240    }
241
242    /**
243     * Returns a specific repetition of
244     * OBX-5: "Observation Value" - creates it if necessary
245     *
246     * @param rep The repetition index (0-indexed)
247     */
248    public Varies getObx5_ObservationValue(int rep) { 
249                Varies retVal = this.getTypedField(5, rep);
250                return retVal;
251    }
252
253    /**
254     * Returns a count of the current number of repetitions of Observation Value (OBX-5).
255     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
256     * it will return zero.
257     */
258    public int getObx5_ObservationValueReps() {
259        return this.getReps(5);
260    }
261
262
263    /**
264     * Inserts a repetition of
265     * OBX-5: "Observation Value" at a specific index
266     *
267     * @param rep The repetition index (0-indexed)
268     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
269     */
270    public Varies insertObservationValue(int rep) throws HL7Exception { 
271        return (Varies) super.insertRepetition(5, rep);
272    }
273
274
275    /**
276     * Inserts a repetition of
277     * OBX-5: "Observation Value" at a specific index
278     *
279     * @param rep The repetition index (0-indexed)
280     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
281     */
282    public Varies insertObx5_ObservationValue(int rep) throws HL7Exception { 
283        return (Varies) super.insertRepetition(5, rep);
284    }
285
286
287    /**
288     * Removes a repetition of
289     * OBX-5: "Observation Value" at a specific index
290     *
291     * @param rep The repetition index (0-indexed)
292     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
293     */
294    public Varies removeObservationValue(int rep) throws HL7Exception { 
295        return (Varies) super.removeRepetition(5, rep);
296    }
297
298
299    /**
300     * Removes a repetition of
301     * OBX-5: "Observation Value" at a specific index
302     *
303     * @param rep The repetition index (0-indexed)
304     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
305     */
306    public Varies removeObx5_ObservationValue(int rep) throws HL7Exception { 
307        return (Varies) super.removeRepetition(5, rep);
308    }
309
310
311
312
313    /**
314     * Returns
315     * OBX-6: "Units" - creates it if necessary
316     */
317    public CE getUnits() { 
318                CE retVal = this.getTypedField(6, 0);
319                return retVal;
320    }
321    
322    /**
323     * Returns
324     * OBX-6: "Units" - creates it if necessary
325     */
326    public CE getObx6_Units() { 
327                CE retVal = this.getTypedField(6, 0);
328                return retVal;
329    }
330
331
332
333    /**
334     * Returns
335     * OBX-7: "References Range" - creates it if necessary
336     */
337    public ST getReferencesRange() { 
338                ST retVal = this.getTypedField(7, 0);
339                return retVal;
340    }
341    
342    /**
343     * Returns
344     * OBX-7: "References Range" - creates it if necessary
345     */
346    public ST getObx7_ReferencesRange() { 
347                ST retVal = this.getTypedField(7, 0);
348                return retVal;
349    }
350
351
352    /**
353     * Returns all repetitions of Abnormal Flags (OBX-8).
354     */
355    public IS[] getAbnormalFlags() {
356        IS[] retVal = this.getTypedField(8, new IS[0]);
357        return retVal;
358    }
359
360
361    /**
362     * Returns all repetitions of Abnormal Flags (OBX-8).
363     */
364    public IS[] getObx8_AbnormalFlags() {
365        IS[] retVal = this.getTypedField(8, new IS[0]);
366        return retVal;
367    }
368
369
370    /**
371     * Returns a count of the current number of repetitions of Abnormal Flags (OBX-8).
372     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
373     * it will return zero.
374     */
375    public int getAbnormalFlagsReps() {
376        return this.getReps(8);
377    }
378
379
380    /**
381     * Returns a specific repetition of
382     * OBX-8: "Abnormal Flags" - creates it if necessary
383     *
384     * @param rep The repetition index (0-indexed)
385     */
386    public IS getAbnormalFlags(int rep) { 
387                IS retVal = this.getTypedField(8, rep);
388                return retVal;
389    }
390
391    /**
392     * Returns a specific repetition of
393     * OBX-8: "Abnormal Flags" - creates it if necessary
394     *
395     * @param rep The repetition index (0-indexed)
396     */
397    public IS getObx8_AbnormalFlags(int rep) { 
398                IS retVal = this.getTypedField(8, rep);
399                return retVal;
400    }
401
402    /**
403     * Returns a count of the current number of repetitions of Abnormal Flags (OBX-8).
404     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
405     * it will return zero.
406     */
407    public int getObx8_AbnormalFlagsReps() {
408        return this.getReps(8);
409    }
410
411
412    /**
413     * Inserts a repetition of
414     * OBX-8: "Abnormal Flags" at a specific index
415     *
416     * @param rep The repetition index (0-indexed)
417     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
418     */
419    public IS insertAbnormalFlags(int rep) throws HL7Exception { 
420        return (IS) super.insertRepetition(8, rep);
421    }
422
423
424    /**
425     * Inserts a repetition of
426     * OBX-8: "Abnormal Flags" at a specific index
427     *
428     * @param rep The repetition index (0-indexed)
429     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
430     */
431    public IS insertObx8_AbnormalFlags(int rep) throws HL7Exception { 
432        return (IS) super.insertRepetition(8, rep);
433    }
434
435
436    /**
437     * Removes a repetition of
438     * OBX-8: "Abnormal Flags" at a specific index
439     *
440     * @param rep The repetition index (0-indexed)
441     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
442     */
443    public IS removeAbnormalFlags(int rep) throws HL7Exception { 
444        return (IS) super.removeRepetition(8, rep);
445    }
446
447
448    /**
449     * Removes a repetition of
450     * OBX-8: "Abnormal Flags" at a specific index
451     *
452     * @param rep The repetition index (0-indexed)
453     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
454     */
455    public IS removeObx8_AbnormalFlags(int rep) throws HL7Exception { 
456        return (IS) super.removeRepetition(8, rep);
457    }
458
459
460
461
462    /**
463     * Returns
464     * OBX-9: "Probability" - creates it if necessary
465     */
466    public NM getProbability() { 
467                NM retVal = this.getTypedField(9, 0);
468                return retVal;
469    }
470    
471    /**
472     * Returns
473     * OBX-9: "Probability" - creates it if necessary
474     */
475    public NM getObx9_Probability() { 
476                NM retVal = this.getTypedField(9, 0);
477                return retVal;
478    }
479
480
481    /**
482     * Returns all repetitions of Nature of Abnormal Test (OBX-10).
483     */
484    public ID[] getNatureOfAbnormalTest() {
485        ID[] retVal = this.getTypedField(10, new ID[0]);
486        return retVal;
487    }
488
489
490    /**
491     * Returns all repetitions of Nature of Abnormal Test (OBX-10).
492     */
493    public ID[] getObx10_NatureOfAbnormalTest() {
494        ID[] retVal = this.getTypedField(10, new ID[0]);
495        return retVal;
496    }
497
498
499    /**
500     * Returns a count of the current number of repetitions of Nature of Abnormal Test (OBX-10).
501     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
502     * it will return zero.
503     */
504    public int getNatureOfAbnormalTestReps() {
505        return this.getReps(10);
506    }
507
508
509    /**
510     * Returns a specific repetition of
511     * OBX-10: "Nature of Abnormal Test" - creates it if necessary
512     *
513     * @param rep The repetition index (0-indexed)
514     */
515    public ID getNatureOfAbnormalTest(int rep) { 
516                ID retVal = this.getTypedField(10, rep);
517                return retVal;
518    }
519
520    /**
521     * Returns a specific repetition of
522     * OBX-10: "Nature of Abnormal Test" - creates it if necessary
523     *
524     * @param rep The repetition index (0-indexed)
525     */
526    public ID getObx10_NatureOfAbnormalTest(int rep) { 
527                ID retVal = this.getTypedField(10, rep);
528                return retVal;
529    }
530
531    /**
532     * Returns a count of the current number of repetitions of Nature of Abnormal Test (OBX-10).
533     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
534     * it will return zero.
535     */
536    public int getObx10_NatureOfAbnormalTestReps() {
537        return this.getReps(10);
538    }
539
540
541    /**
542     * Inserts a repetition of
543     * OBX-10: "Nature of Abnormal Test" at a specific index
544     *
545     * @param rep The repetition index (0-indexed)
546     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
547     */
548    public ID insertNatureOfAbnormalTest(int rep) throws HL7Exception { 
549        return (ID) super.insertRepetition(10, rep);
550    }
551
552
553    /**
554     * Inserts a repetition of
555     * OBX-10: "Nature of Abnormal Test" at a specific index
556     *
557     * @param rep The repetition index (0-indexed)
558     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
559     */
560    public ID insertObx10_NatureOfAbnormalTest(int rep) throws HL7Exception { 
561        return (ID) super.insertRepetition(10, rep);
562    }
563
564
565    /**
566     * Removes a repetition of
567     * OBX-10: "Nature of Abnormal Test" at a specific index
568     *
569     * @param rep The repetition index (0-indexed)
570     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
571     */
572    public ID removeNatureOfAbnormalTest(int rep) throws HL7Exception { 
573        return (ID) super.removeRepetition(10, rep);
574    }
575
576
577    /**
578     * Removes a repetition of
579     * OBX-10: "Nature of Abnormal Test" at a specific index
580     *
581     * @param rep The repetition index (0-indexed)
582     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
583     */
584    public ID removeObx10_NatureOfAbnormalTest(int rep) throws HL7Exception { 
585        return (ID) super.removeRepetition(10, rep);
586    }
587
588
589
590
591    /**
592     * Returns
593     * OBX-11: "Observation Result Status" - creates it if necessary
594     */
595    public ID getObservationResultStatus() { 
596                ID retVal = this.getTypedField(11, 0);
597                return retVal;
598    }
599    
600    /**
601     * Returns
602     * OBX-11: "Observation Result Status" - creates it if necessary
603     */
604    public ID getObx11_ObservationResultStatus() { 
605                ID retVal = this.getTypedField(11, 0);
606                return retVal;
607    }
608
609
610
611    /**
612     * Returns
613     * OBX-12: "Effective Date of Reference Range Values" - creates it if necessary
614     */
615    public TS getEffectiveDateOfReferenceRangeValues() { 
616                TS retVal = this.getTypedField(12, 0);
617                return retVal;
618    }
619    
620    /**
621     * Returns
622     * OBX-12: "Effective Date of Reference Range Values" - creates it if necessary
623     */
624    public TS getObx12_EffectiveDateOfReferenceRangeValues() { 
625                TS retVal = this.getTypedField(12, 0);
626                return retVal;
627    }
628
629
630
631    /**
632     * Returns
633     * OBX-13: "User Defined Access Checks" - creates it if necessary
634     */
635    public ST getUserDefinedAccessChecks() { 
636                ST retVal = this.getTypedField(13, 0);
637                return retVal;
638    }
639    
640    /**
641     * Returns
642     * OBX-13: "User Defined Access Checks" - creates it if necessary
643     */
644    public ST getObx13_UserDefinedAccessChecks() { 
645                ST retVal = this.getTypedField(13, 0);
646                return retVal;
647    }
648
649
650
651    /**
652     * Returns
653     * OBX-14: "Date/Time of the Observation" - creates it if necessary
654     */
655    public TS getDateTimeOfTheObservation() { 
656                TS retVal = this.getTypedField(14, 0);
657                return retVal;
658    }
659    
660    /**
661     * Returns
662     * OBX-14: "Date/Time of the Observation" - creates it if necessary
663     */
664    public TS getObx14_DateTimeOfTheObservation() { 
665                TS retVal = this.getTypedField(14, 0);
666                return retVal;
667    }
668
669
670
671    /**
672     * Returns
673     * OBX-15: "Producer's Reference" - creates it if necessary
674     */
675    public CE getProducerSReference() { 
676                CE retVal = this.getTypedField(15, 0);
677                return retVal;
678    }
679    
680    /**
681     * Returns
682     * OBX-15: "Producer's Reference" - creates it if necessary
683     */
684    public CE getObx15_ProducerSReference() { 
685                CE retVal = this.getTypedField(15, 0);
686                return retVal;
687    }
688
689
690    /**
691     * Returns all repetitions of Responsible Observer (OBX-16).
692     */
693    public XCN[] getResponsibleObserver() {
694        XCN[] retVal = this.getTypedField(16, new XCN[0]);
695        return retVal;
696    }
697
698
699    /**
700     * Returns all repetitions of Responsible Observer (OBX-16).
701     */
702    public XCN[] getObx16_ResponsibleObserver() {
703        XCN[] retVal = this.getTypedField(16, new XCN[0]);
704        return retVal;
705    }
706
707
708    /**
709     * Returns a count of the current number of repetitions of Responsible Observer (OBX-16).
710     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
711     * it will return zero.
712     */
713    public int getResponsibleObserverReps() {
714        return this.getReps(16);
715    }
716
717
718    /**
719     * Returns a specific repetition of
720     * OBX-16: "Responsible Observer" - creates it if necessary
721     *
722     * @param rep The repetition index (0-indexed)
723     */
724    public XCN getResponsibleObserver(int rep) { 
725                XCN retVal = this.getTypedField(16, rep);
726                return retVal;
727    }
728
729    /**
730     * Returns a specific repetition of
731     * OBX-16: "Responsible Observer" - creates it if necessary
732     *
733     * @param rep The repetition index (0-indexed)
734     */
735    public XCN getObx16_ResponsibleObserver(int rep) { 
736                XCN retVal = this.getTypedField(16, rep);
737                return retVal;
738    }
739
740    /**
741     * Returns a count of the current number of repetitions of Responsible Observer (OBX-16).
742     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
743     * it will return zero.
744     */
745    public int getObx16_ResponsibleObserverReps() {
746        return this.getReps(16);
747    }
748
749
750    /**
751     * Inserts a repetition of
752     * OBX-16: "Responsible Observer" at a specific index
753     *
754     * @param rep The repetition index (0-indexed)
755     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
756     */
757    public XCN insertResponsibleObserver(int rep) throws HL7Exception { 
758        return (XCN) super.insertRepetition(16, rep);
759    }
760
761
762    /**
763     * Inserts a repetition of
764     * OBX-16: "Responsible Observer" at a specific index
765     *
766     * @param rep The repetition index (0-indexed)
767     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
768     */
769    public XCN insertObx16_ResponsibleObserver(int rep) throws HL7Exception { 
770        return (XCN) super.insertRepetition(16, rep);
771    }
772
773
774    /**
775     * Removes a repetition of
776     * OBX-16: "Responsible Observer" at a specific index
777     *
778     * @param rep The repetition index (0-indexed)
779     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
780     */
781    public XCN removeResponsibleObserver(int rep) throws HL7Exception { 
782        return (XCN) super.removeRepetition(16, rep);
783    }
784
785
786    /**
787     * Removes a repetition of
788     * OBX-16: "Responsible Observer" at a specific index
789     *
790     * @param rep The repetition index (0-indexed)
791     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
792     */
793    public XCN removeObx16_ResponsibleObserver(int rep) throws HL7Exception { 
794        return (XCN) super.removeRepetition(16, rep);
795    }
796
797
798
799    /**
800     * Returns all repetitions of Observation Method (OBX-17).
801     */
802    public CE[] getObservationMethod() {
803        CE[] retVal = this.getTypedField(17, new CE[0]);
804        return retVal;
805    }
806
807
808    /**
809     * Returns all repetitions of Observation Method (OBX-17).
810     */
811    public CE[] getObx17_ObservationMethod() {
812        CE[] retVal = this.getTypedField(17, new CE[0]);
813        return retVal;
814    }
815
816
817    /**
818     * Returns a count of the current number of repetitions of Observation Method (OBX-17).
819     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
820     * it will return zero.
821     */
822    public int getObservationMethodReps() {
823        return this.getReps(17);
824    }
825
826
827    /**
828     * Returns a specific repetition of
829     * OBX-17: "Observation Method" - creates it if necessary
830     *
831     * @param rep The repetition index (0-indexed)
832     */
833    public CE getObservationMethod(int rep) { 
834                CE retVal = this.getTypedField(17, rep);
835                return retVal;
836    }
837
838    /**
839     * Returns a specific repetition of
840     * OBX-17: "Observation Method" - creates it if necessary
841     *
842     * @param rep The repetition index (0-indexed)
843     */
844    public CE getObx17_ObservationMethod(int rep) { 
845                CE retVal = this.getTypedField(17, rep);
846                return retVal;
847    }
848
849    /**
850     * Returns a count of the current number of repetitions of Observation Method (OBX-17).
851     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
852     * it will return zero.
853     */
854    public int getObx17_ObservationMethodReps() {
855        return this.getReps(17);
856    }
857
858
859    /**
860     * Inserts a repetition of
861     * OBX-17: "Observation Method" at a specific index
862     *
863     * @param rep The repetition index (0-indexed)
864     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
865     */
866    public CE insertObservationMethod(int rep) throws HL7Exception { 
867        return (CE) super.insertRepetition(17, rep);
868    }
869
870
871    /**
872     * Inserts a repetition of
873     * OBX-17: "Observation Method" at a specific index
874     *
875     * @param rep The repetition index (0-indexed)
876     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
877     */
878    public CE insertObx17_ObservationMethod(int rep) throws HL7Exception { 
879        return (CE) super.insertRepetition(17, rep);
880    }
881
882
883    /**
884     * Removes a repetition of
885     * OBX-17: "Observation Method" at a specific index
886     *
887     * @param rep The repetition index (0-indexed)
888     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
889     */
890    public CE removeObservationMethod(int rep) throws HL7Exception { 
891        return (CE) super.removeRepetition(17, rep);
892    }
893
894
895    /**
896     * Removes a repetition of
897     * OBX-17: "Observation Method" at a specific index
898     *
899     * @param rep The repetition index (0-indexed)
900     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
901     */
902    public CE removeObx17_ObservationMethod(int rep) throws HL7Exception { 
903        return (CE) super.removeRepetition(17, rep);
904    }
905
906
907
908    /**
909     * Returns all repetitions of Equipment Instance Identifier (OBX-18).
910     */
911    public EI[] getEquipmentInstanceIdentifier() {
912        EI[] retVal = this.getTypedField(18, new EI[0]);
913        return retVal;
914    }
915
916
917    /**
918     * Returns all repetitions of Equipment Instance Identifier (OBX-18).
919     */
920    public EI[] getObx18_EquipmentInstanceIdentifier() {
921        EI[] retVal = this.getTypedField(18, new EI[0]);
922        return retVal;
923    }
924
925
926    /**
927     * Returns a count of the current number of repetitions of Equipment Instance Identifier (OBX-18).
928     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
929     * it will return zero.
930     */
931    public int getEquipmentInstanceIdentifierReps() {
932        return this.getReps(18);
933    }
934
935
936    /**
937     * Returns a specific repetition of
938     * OBX-18: "Equipment Instance Identifier" - creates it if necessary
939     *
940     * @param rep The repetition index (0-indexed)
941     */
942    public EI getEquipmentInstanceIdentifier(int rep) { 
943                EI retVal = this.getTypedField(18, rep);
944                return retVal;
945    }
946
947    /**
948     * Returns a specific repetition of
949     * OBX-18: "Equipment Instance Identifier" - creates it if necessary
950     *
951     * @param rep The repetition index (0-indexed)
952     */
953    public EI getObx18_EquipmentInstanceIdentifier(int rep) { 
954                EI retVal = this.getTypedField(18, rep);
955                return retVal;
956    }
957
958    /**
959     * Returns a count of the current number of repetitions of Equipment Instance Identifier (OBX-18).
960     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
961     * it will return zero.
962     */
963    public int getObx18_EquipmentInstanceIdentifierReps() {
964        return this.getReps(18);
965    }
966
967
968    /**
969     * Inserts a repetition of
970     * OBX-18: "Equipment Instance Identifier" at a specific index
971     *
972     * @param rep The repetition index (0-indexed)
973     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
974     */
975    public EI insertEquipmentInstanceIdentifier(int rep) throws HL7Exception { 
976        return (EI) super.insertRepetition(18, rep);
977    }
978
979
980    /**
981     * Inserts a repetition of
982     * OBX-18: "Equipment Instance Identifier" at a specific index
983     *
984     * @param rep The repetition index (0-indexed)
985     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
986     */
987    public EI insertObx18_EquipmentInstanceIdentifier(int rep) throws HL7Exception { 
988        return (EI) super.insertRepetition(18, rep);
989    }
990
991
992    /**
993     * Removes a repetition of
994     * OBX-18: "Equipment Instance Identifier" at a specific index
995     *
996     * @param rep The repetition index (0-indexed)
997     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
998     */
999    public EI removeEquipmentInstanceIdentifier(int rep) throws HL7Exception { 
1000        return (EI) super.removeRepetition(18, rep);
1001    }
1002
1003
1004    /**
1005     * Removes a repetition of
1006     * OBX-18: "Equipment Instance Identifier" at a specific index
1007     *
1008     * @param rep The repetition index (0-indexed)
1009     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1010     */
1011    public EI removeObx18_EquipmentInstanceIdentifier(int rep) throws HL7Exception { 
1012        return (EI) super.removeRepetition(18, rep);
1013    }
1014
1015
1016
1017
1018    /**
1019     * Returns
1020     * OBX-19: "Date/Time of the Analysis" - creates it if necessary
1021     */
1022    public TS getDateTimeOfTheAnalysis() { 
1023                TS retVal = this.getTypedField(19, 0);
1024                return retVal;
1025    }
1026    
1027    /**
1028     * Returns
1029     * OBX-19: "Date/Time of the Analysis" - creates it if necessary
1030     */
1031    public TS getObx19_DateTimeOfTheAnalysis() { 
1032                TS retVal = this.getTypedField(19, 0);
1033                return retVal;
1034    }
1035
1036
1037
1038    /**
1039     * Returns
1040     * OBX-20: "Reserved for harmonization with V2.6" - creates it if necessary
1041     */
1042    public Varies getReservedForHarmonizationWithV26() { 
1043                Varies retVal = this.getTypedField(20, 0);
1044                return retVal;
1045    }
1046    
1047    /**
1048     * Returns
1049     * OBX-20: "Reserved for harmonization with V2.6" - creates it if necessary
1050     */
1051    public Varies getObx20_ReservedForHarmonizationWithV26() { 
1052                Varies retVal = this.getTypedField(20, 0);
1053                return retVal;
1054    }
1055
1056
1057
1058    /**
1059     * Returns
1060     * OBX-21: "Reserved for harmonization with V2.6 Number 2" - creates it if necessary
1061     */
1062    public Varies getReservedForHarmonizationWithV26Number2() { 
1063                Varies retVal = this.getTypedField(21, 0);
1064                return retVal;
1065    }
1066    
1067    /**
1068     * Returns
1069     * OBX-21: "Reserved for harmonization with V2.6 Number 2" - creates it if necessary
1070     */
1071    public Varies getObx21_ReservedForHarmonizationWithV26Number2() { 
1072                Varies retVal = this.getTypedField(21, 0);
1073                return retVal;
1074    }
1075
1076
1077
1078    /**
1079     * Returns
1080     * OBX-22: "Reserved for harmonization with V2.6 Number 3" - creates it if necessary
1081     */
1082    public Varies getReservedForHarmonizationWithV26Number3() { 
1083                Varies retVal = this.getTypedField(22, 0);
1084                return retVal;
1085    }
1086    
1087    /**
1088     * Returns
1089     * OBX-22: "Reserved for harmonization with V2.6 Number 3" - creates it if necessary
1090     */
1091    public Varies getObx22_ReservedForHarmonizationWithV26Number3() { 
1092                Varies retVal = this.getTypedField(22, 0);
1093                return retVal;
1094    }
1095
1096
1097
1098    /**
1099     * Returns
1100     * OBX-23: "Performing Organization Name" - creates it if necessary
1101     */
1102    public XON getPerformingOrganizationName() { 
1103                XON retVal = this.getTypedField(23, 0);
1104                return retVal;
1105    }
1106    
1107    /**
1108     * Returns
1109     * OBX-23: "Performing Organization Name" - creates it if necessary
1110     */
1111    public XON getObx23_PerformingOrganizationName() { 
1112                XON retVal = this.getTypedField(23, 0);
1113                return retVal;
1114    }
1115
1116
1117
1118    /**
1119     * Returns
1120     * OBX-24: "Performing Organization Address" - creates it if necessary
1121     */
1122    public XAD getPerformingOrganizationAddress() { 
1123                XAD retVal = this.getTypedField(24, 0);
1124                return retVal;
1125    }
1126    
1127    /**
1128     * Returns
1129     * OBX-24: "Performing Organization Address" - creates it if necessary
1130     */
1131    public XAD getObx24_PerformingOrganizationAddress() { 
1132                XAD retVal = this.getTypedField(24, 0);
1133                return retVal;
1134    }
1135
1136
1137
1138    /**
1139     * Returns
1140     * OBX-25: "Performing Organization Medical Director" - creates it if necessary
1141     */
1142    public XCN getPerformingOrganizationMedicalDirector() { 
1143                XCN retVal = this.getTypedField(25, 0);
1144                return retVal;
1145    }
1146    
1147    /**
1148     * Returns
1149     * OBX-25: "Performing Organization Medical Director" - creates it if necessary
1150     */
1151    public XCN getObx25_PerformingOrganizationMedicalDirector() { 
1152                XCN retVal = this.getTypedField(25, 0);
1153                return retVal;
1154    }
1155
1156
1157
1158
1159
1160    /** {@inheritDoc} */   
1161    protected Type createNewTypeWithoutReflection(int field) {
1162       switch (field) {
1163          case 0: return new SI(getMessage());
1164          case 1: return new ID(getMessage(), new Integer( 125 ));
1165          case 2: return new CE(getMessage());
1166          case 3: return new ST(getMessage());
1167          case 4: return new Varies(getMessage());
1168          case 5: return new CE(getMessage());
1169          case 6: return new ST(getMessage());
1170          case 7: return new IS(getMessage(), new Integer( 78 ));
1171          case 8: return new NM(getMessage());
1172          case 9: return new ID(getMessage(), new Integer( 80 ));
1173          case 10: return new ID(getMessage(), new Integer( 85 ));
1174          case 11: return new TS(getMessage());
1175          case 12: return new ST(getMessage());
1176          case 13: return new TS(getMessage());
1177          case 14: return new CE(getMessage());
1178          case 15: return new XCN(getMessage());
1179          case 16: return new CE(getMessage());
1180          case 17: return new EI(getMessage());
1181          case 18: return new TS(getMessage());
1182          case 19: return new Varies(getMessage());
1183          case 20: return new Varies(getMessage());
1184          case 21: return new Varies(getMessage());
1185          case 22: return new XON(getMessage());
1186          case 23: return new XAD(getMessage());
1187          case 24: return new XCN(getMessage());
1188          default: return null;
1189       }
1190   }
1191
1192
1193}
1194