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