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.v27.segment;
035
036// import ca.uhn.hl7v2.model.v27.group.*;
037import ca.uhn.hl7v2.model.v27.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 (CWE) <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 (CWE) <b>optional </b>
058     * <li>OBX-7: References Range (ST) <b>optional </b>
059     * <li>OBX-8: Interpretation Codes (CWE) <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 (DTM) <b>optional </b>
064     * <li>OBX-13: User Defined Access Checks (ST) <b>optional </b>
065     * <li>OBX-14: Date/Time of the Observation (DTM) <b>optional </b>
066     * <li>OBX-15: Producer's ID (CWE) <b>optional </b>
067     * <li>OBX-16: Responsible Observer (XCN) <b>optional repeating</b>
068     * <li>OBX-17: Observation Method (CWE) <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 (DTM) <b>optional </b>
071     * <li>OBX-20: Observation Site (CWE) <b>optional repeating</b>
072     * <li>OBX-21: Observation Instance Identifier (EI) <b>optional </b>
073     * <li>OBX-22: Mood Code (CNE) <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     * <li>OBX-26: Patient Results Release Category (ID) <b>optional </b>
078 * </ul>
079 */
080@SuppressWarnings("unused")
081public class OBX extends AbstractSegment {
082
083    /** 
084     * Creates a new OBX segment
085     */
086    public OBX(Group parent, ModelClassFactory factory) {
087       super(parent, factory);
088       init(factory);
089    }
090
091    private void init(ModelClassFactory factory) {
092       try {
093                                  this.add(SI.class, false, 1, 4, new Object[]{ getMessage() }, "Set ID - OBX");
094                                              this.add(ID.class, false, 1, 3, new Object[]{ getMessage(), new Integer(125) }, "Value Type");
095                                  this.add(CWE.class, true, 1, 0, new Object[]{ getMessage() }, "Observation Identifier");
096                                  this.add(ST.class, false, 1, 0, new Object[]{ getMessage() }, "Observation Sub-ID");
097                                  this.add(Varies.class, false, 0, 0, new Object[]{ getMessage() }, "Observation Value");
098                                  this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Units");
099                                  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