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.v26.segment;
035
036// import ca.uhn.hl7v2.model.v26.group.*;
037import ca.uhn.hl7v2.model.v26.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 *<p>Represents an HL7 SAC message segment (Specimen Container detail). 
049 * This segment has the following fields:</p>
050 * <ul>
051     * <li>SAC-1: External Accession Identifier (EI) <b>optional </b>
052     * <li>SAC-2: Accession Identifier (EI) <b>optional </b>
053     * <li>SAC-3: Container Identifier (EI) <b>optional </b>
054     * <li>SAC-4: Primary (Parent) Container Identifier (EI) <b>optional </b>
055     * <li>SAC-5: Equipment Container Identifier (EI) <b>optional </b>
056     * <li>SAC-6: Specimen Source (SPS) <b>optional </b>
057     * <li>SAC-7: Registration Date/Time (DTM) <b>optional </b>
058     * <li>SAC-8: Container Status (CWE) <b>optional </b>
059     * <li>SAC-9: Carrier Type (CWE) <b>optional </b>
060     * <li>SAC-10: Carrier Identifier (EI) <b>optional </b>
061     * <li>SAC-11: Position in Carrier (NA) <b>optional </b>
062     * <li>SAC-12: Tray Type - SAC (CWE) <b>optional </b>
063     * <li>SAC-13: Tray Identifier (EI) <b>optional </b>
064     * <li>SAC-14: Position in Tray (NA) <b>optional </b>
065     * <li>SAC-15: Location (CWE) <b>optional repeating</b>
066     * <li>SAC-16: Container Height (NM) <b>optional </b>
067     * <li>SAC-17: Container Diameter (NM) <b>optional </b>
068     * <li>SAC-18: Barrier Delta (NM) <b>optional </b>
069     * <li>SAC-19: Bottom Delta (NM) <b>optional </b>
070     * <li>SAC-20: Container Height/Diameter/Delta Units (CWE) <b>optional </b>
071     * <li>SAC-21: Container Volume (NM) <b>optional </b>
072     * <li>SAC-22: Available Specimen Volume (NM) <b>optional </b>
073     * <li>SAC-23: Initial Specimen Volume (NM) <b>optional </b>
074     * <li>SAC-24: Volume Units (CWE) <b>optional </b>
075     * <li>SAC-25: Separator Type (CWE) <b>optional </b>
076     * <li>SAC-26: Cap Type (CWE) <b>optional </b>
077     * <li>SAC-27: Additive (CWE) <b>optional repeating</b>
078     * <li>SAC-28: Specimen Component (CWE) <b>optional </b>
079     * <li>SAC-29: Dilution Factor (SN) <b>optional </b>
080     * <li>SAC-30: Treatment (CWE) <b>optional </b>
081     * <li>SAC-31: Temperature (SN) <b>optional </b>
082     * <li>SAC-32: Hemolysis Index (NM) <b>optional </b>
083     * <li>SAC-33: Hemolysis Index Units (CWE) <b>optional </b>
084     * <li>SAC-34: Lipemia Index (NM) <b>optional </b>
085     * <li>SAC-35: Lipemia Index Units (CWE) <b>optional </b>
086     * <li>SAC-36: Icterus Index (NM) <b>optional </b>
087     * <li>SAC-37: Icterus Index Units (CWE) <b>optional </b>
088     * <li>SAC-38: Fibrin Index (NM) <b>optional </b>
089     * <li>SAC-39: Fibrin Index Units (CWE) <b>optional </b>
090     * <li>SAC-40: System Induced Contaminants (CWE) <b>optional repeating</b>
091     * <li>SAC-41: Drug Interference (CWE) <b>optional repeating</b>
092     * <li>SAC-42: Artificial Blood (CWE) <b>optional </b>
093     * <li>SAC-43: Special Handling Code (CWE) <b>optional repeating</b>
094     * <li>SAC-44: Other Environmental Factors (CWE) <b>optional repeating</b>
095 * </ul>
096 */
097@SuppressWarnings("unused")
098public class SAC extends AbstractSegment {
099
100    /** 
101     * Creates a new SAC segment
102     */
103    public SAC(Group parent, ModelClassFactory factory) {
104       super(parent, factory);
105       init(factory);
106    }
107
108    private void init(ModelClassFactory factory) {
109       try {
110                                  this.add(EI.class, false, 1, 427, new Object[]{ getMessage() }, "External Accession Identifier");
111                                  this.add(EI.class, false, 1, 427, new Object[]{ getMessage() }, "Accession Identifier");
112                                  this.add(EI.class, false, 1, 427, new Object[]{ getMessage() }, "Container Identifier");
113                                  this.add(EI.class, false, 1, 427, new Object[]{ getMessage() }, "Primary (Parent) Container Identifier");
114                                  this.add(EI.class, false, 1, 427, new Object[]{ getMessage() }, "Equipment Container Identifier");
115                                  this.add(SPS.class, false, 1, 0, new Object[]{ getMessage() }, "Specimen Source");
116                                  this.add(DTM.class, false, 1, 24, new Object[]{ getMessage() }, "Registration Date/Time");
117                                  this.add(CWE.class, false, 1, 705, new Object[]{ getMessage() }, "Container Status");
118                                  this.add(CWE.class, false, 1, 705, new Object[]{ getMessage() }, "Carrier Type");
119                                  this.add(EI.class, false, 1, 705, new Object[]{ getMessage() }, "Carrier Identifier");
120                                  this.add(NA.class, false, 1, 80, new Object[]{ getMessage() }, "Position in Carrier");
121                                  this.add(CWE.class, false, 1, 705, new Object[]{ getMessage() }, "Tray Type - SAC");
122                                  this.add(EI.class, false, 1, 427, new Object[]{ getMessage() }, "Tray Identifier");
123                                  this.add(NA.class, false, 1, 80, new Object[]{ getMessage() }, "Position in Tray");
124                                  this.add(CWE.class, false, 0, 705, new Object[]{ getMessage() }, "Location");
125                                  this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Container Height");
126                                  this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Container Diameter");
127                                  this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Barrier Delta");
128                                  this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Bottom Delta");
129                                  this.add(CWE.class, false, 1, 705, new Object[]{ getMessage() }, "Container Height/Diameter/Delta Units");
130                                  this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Container Volume");
131                                  this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Available Specimen Volume");
132                                  this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Initial Specimen Volume");
133                                  this.add(CWE.class, false, 1, 705, new Object[]{ getMessage() }, "Volume Units");
134                                  this.add(CWE.class, false, 1, 705, new Object[]{ getMessage() }, "Separator Type");
135                                  this.add(CWE.class, false, 1, 705, new Object[]{ getMessage() }, "Cap Type");
136                                  this.add(CWE.class, false, 0, 705, new Object[]{ getMessage() }, "Additive");
137                                  this.add(CWE.class, false, 1, 705, new Object[]{ getMessage() }, "Specimen Component");
138                                  this.add(SN.class, false, 1, 36, new Object[]{ getMessage() }, "Dilution Factor");
139                                  this.add(CWE.class, false, 1, 705, new Object[]{ getMessage() }, "Treatment");
140                                  this.add(SN.class, false, 1, 36, new Object[]{ getMessage() }, "Temperature");
141                                  this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Hemolysis Index");
142                                  this.add(CWE.class, false, 1, 705, new Object[]{ getMessage() }, "Hemolysis Index Units");
143                                  this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Lipemia Index");
144                                  this.add(CWE.class, false, 1, 705, new Object[]{ getMessage() }, "Lipemia Index Units");
145                                  this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Icterus Index");
146                                  this.add(CWE.class, false, 1, 705, new Object[]{ getMessage() }, "Icterus Index Units");
147                                  this.add(NM.class, false, 1, 20, new Object[]{ getMessage() }, "Fibrin Index");
148                                  this.add(CWE.class, false, 1, 705, new Object[]{ getMessage() }, "Fibrin Index Units");
149                                  this.add(CWE.class, false, 0, 705, new Object[]{ getMessage() }, "System Induced Contaminants");
150                                  this.add(CWE.class, false, 0, 705, new Object[]{ getMessage() }, "Drug Interference");
151                                  this.add(CWE.class, false, 1, 705, new Object[]{ getMessage() }, "Artificial Blood");
152                                  this.add(CWE.class, false, 0, 705, new Object[]{ getMessage() }, "Special Handling Code");
153                                  this.add(CWE.class, false, 0, 705, new Object[]{ getMessage() }, "Other Environmental Factors");
154       } catch(HL7Exception e) {
155          log.error("Unexpected error creating SAC - this is probably a bug in the source code generator.", e);
156       }
157    }
158
159
160
161    /**
162     * Returns
163     * SAC-1: "External Accession Identifier" - creates it if necessary
164     */
165    public EI getExternalAccessionIdentifier() { 
166                EI retVal = this.getTypedField(1, 0);
167                return retVal;
168    }
169    
170    /**
171     * Returns
172     * SAC-1: "External Accession Identifier" - creates it if necessary
173     */
174    public EI getSac1_ExternalAccessionIdentifier() { 
175                EI retVal = this.getTypedField(1, 0);
176                return retVal;
177    }
178
179
180
181    /**
182     * Returns
183     * SAC-2: "Accession Identifier" - creates it if necessary
184     */
185    public EI getAccessionIdentifier() { 
186                EI retVal = this.getTypedField(2, 0);
187                return retVal;
188    }
189    
190    /**
191     * Returns
192     * SAC-2: "Accession Identifier" - creates it if necessary
193     */
194    public EI getSac2_AccessionIdentifier() { 
195                EI retVal = this.getTypedField(2, 0);
196                return retVal;
197    }
198
199
200
201    /**
202     * Returns
203     * SAC-3: "Container Identifier" - creates it if necessary
204     */
205    public EI getContainerIdentifier() { 
206                EI retVal = this.getTypedField(3, 0);
207                return retVal;
208    }
209    
210    /**
211     * Returns
212     * SAC-3: "Container Identifier" - creates it if necessary
213     */
214    public EI getSac3_ContainerIdentifier() { 
215                EI retVal = this.getTypedField(3, 0);
216                return retVal;
217    }
218
219
220
221    /**
222     * Returns
223     * SAC-4: "Primary (Parent) Container Identifier" - creates it if necessary
224     */
225    public EI getPrimaryParentContainerIdentifier() { 
226                EI retVal = this.getTypedField(4, 0);
227                return retVal;
228    }
229    
230    /**
231     * Returns
232     * SAC-4: "Primary (Parent) Container Identifier" - creates it if necessary
233     */
234    public EI getSac4_PrimaryParentContainerIdentifier() { 
235                EI retVal = this.getTypedField(4, 0);
236                return retVal;
237    }
238
239
240
241    /**
242     * Returns
243     * SAC-5: "Equipment Container Identifier" - creates it if necessary
244     */
245    public EI getEquipmentContainerIdentifier() { 
246                EI retVal = this.getTypedField(5, 0);
247                return retVal;
248    }
249    
250    /**
251     * Returns
252     * SAC-5: "Equipment Container Identifier" - creates it if necessary
253     */
254    public EI getSac5_EquipmentContainerIdentifier() { 
255                EI retVal = this.getTypedField(5, 0);
256                return retVal;
257    }
258
259
260
261    /**
262     * Returns
263     * SAC-6: "Specimen Source" - creates it if necessary
264     */
265    public SPS getSpecimenSource() { 
266                SPS retVal = this.getTypedField(6, 0);
267                return retVal;
268    }
269    
270    /**
271     * Returns
272     * SAC-6: "Specimen Source" - creates it if necessary
273     */
274    public SPS getSac6_SpecimenSource() { 
275                SPS retVal = this.getTypedField(6, 0);
276                return retVal;
277    }
278
279
280
281    /**
282     * Returns
283     * SAC-7: "Registration Date/Time" - creates it if necessary
284     */
285    public DTM getRegistrationDateTime() { 
286                DTM retVal = this.getTypedField(7, 0);
287                return retVal;
288    }
289    
290    /**
291     * Returns
292     * SAC-7: "Registration Date/Time" - creates it if necessary
293     */
294    public DTM getSac7_RegistrationDateTime() { 
295                DTM retVal = this.getTypedField(7, 0);
296                return retVal;
297    }
298
299
300
301    /**
302     * Returns
303     * SAC-8: "Container Status" - creates it if necessary
304     */
305    public CWE getContainerStatus() { 
306                CWE retVal = this.getTypedField(8, 0);
307                return retVal;
308    }
309    
310    /**
311     * Returns
312     * SAC-8: "Container Status" - creates it if necessary
313     */
314    public CWE getSac8_ContainerStatus() { 
315                CWE retVal = this.getTypedField(8, 0);
316                return retVal;
317    }
318
319
320
321    /**
322     * Returns
323     * SAC-9: "Carrier Type" - creates it if necessary
324     */
325    public CWE getCarrierType() { 
326                CWE retVal = this.getTypedField(9, 0);
327                return retVal;
328    }
329    
330    /**
331     * Returns
332     * SAC-9: "Carrier Type" - creates it if necessary
333     */
334    public CWE getSac9_CarrierType() { 
335                CWE retVal = this.getTypedField(9, 0);
336                return retVal;
337    }
338
339
340
341    /**
342     * Returns
343     * SAC-10: "Carrier Identifier" - creates it if necessary
344     */
345    public EI getCarrierIdentifier() { 
346                EI retVal = this.getTypedField(10, 0);
347                return retVal;
348    }
349    
350    /**
351     * Returns
352     * SAC-10: "Carrier Identifier" - creates it if necessary
353     */
354    public EI getSac10_CarrierIdentifier() { 
355                EI retVal = this.getTypedField(10, 0);
356                return retVal;
357    }
358
359
360
361    /**
362     * Returns
363     * SAC-11: "Position in Carrier" - creates it if necessary
364     */
365    public NA getPositionInCarrier() { 
366                NA retVal = this.getTypedField(11, 0);
367                return retVal;
368    }
369    
370    /**
371     * Returns
372     * SAC-11: "Position in Carrier" - creates it if necessary
373     */
374    public NA getSac11_PositionInCarrier() { 
375                NA retVal = this.getTypedField(11, 0);
376                return retVal;
377    }
378
379
380
381    /**
382     * Returns
383     * SAC-12: "Tray Type - SAC" - creates it if necessary
384     */
385    public CWE getTrayTypeSAC() { 
386                CWE retVal = this.getTypedField(12, 0);
387                return retVal;
388    }
389    
390    /**
391     * Returns
392     * SAC-12: "Tray Type - SAC" - creates it if necessary
393     */
394    public CWE getSac12_TrayTypeSAC() { 
395                CWE retVal = this.getTypedField(12, 0);
396                return retVal;
397    }
398
399
400
401    /**
402     * Returns
403     * SAC-13: "Tray Identifier" - creates it if necessary
404     */
405    public EI getTrayIdentifier() { 
406                EI retVal = this.getTypedField(13, 0);
407                return retVal;
408    }
409    
410    /**
411     * Returns
412     * SAC-13: "Tray Identifier" - creates it if necessary
413     */
414    public EI getSac13_TrayIdentifier() { 
415                EI retVal = this.getTypedField(13, 0);
416                return retVal;
417    }
418
419
420
421    /**
422     * Returns
423     * SAC-14: "Position in Tray" - creates it if necessary
424     */
425    public NA getPositionInTray() { 
426                NA retVal = this.getTypedField(14, 0);
427                return retVal;
428    }
429    
430    /**
431     * Returns
432     * SAC-14: "Position in Tray" - creates it if necessary
433     */
434    public NA getSac14_PositionInTray() { 
435                NA retVal = this.getTypedField(14, 0);
436                return retVal;
437    }
438
439
440    /**
441     * Returns all repetitions of Location (SAC-15).
442     */
443    public CWE[] getLocation() {
444        CWE[] retVal = this.getTypedField(15, new CWE[0]);
445        return retVal;
446    }
447
448
449    /**
450     * Returns all repetitions of Location (SAC-15).
451     */
452    public CWE[] getSac15_Location() {
453        CWE[] retVal = this.getTypedField(15, new CWE[0]);
454        return retVal;
455    }
456
457
458    /**
459     * Returns a count of the current number of repetitions of Location (SAC-15).
460     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
461     * it will return zero.
462     */
463    public int getLocationReps() {
464        return this.getReps(15);
465    }
466
467
468    /**
469     * Returns a specific repetition of
470     * SAC-15: "Location" - creates it if necessary
471     *
472     * @param rep The repetition index (0-indexed)
473     */
474    public CWE getLocation(int rep) { 
475                CWE retVal = this.getTypedField(15, rep);
476                return retVal;
477    }
478
479    /**
480     * Returns a specific repetition of
481     * SAC-15: "Location" - creates it if necessary
482     *
483     * @param rep The repetition index (0-indexed)
484     */
485    public CWE getSac15_Location(int rep) { 
486                CWE retVal = this.getTypedField(15, rep);
487                return retVal;
488    }
489
490    /**
491     * Returns a count of the current number of repetitions of Location (SAC-15).
492     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
493     * it will return zero.
494     */
495    public int getSac15_LocationReps() {
496        return this.getReps(15);
497    }
498
499
500    /**
501     * Inserts a repetition of
502     * SAC-15: "Location" at a specific index
503     *
504     * @param rep The repetition index (0-indexed)
505     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
506     */
507    public CWE insertLocation(int rep) throws HL7Exception { 
508        return (CWE) super.insertRepetition(15, rep);
509    }
510
511
512    /**
513     * Inserts a repetition of
514     * SAC-15: "Location" at a specific index
515     *
516     * @param rep The repetition index (0-indexed)
517     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
518     */
519    public CWE insertSac15_Location(int rep) throws HL7Exception { 
520        return (CWE) super.insertRepetition(15, rep);
521    }
522
523
524    /**
525     * Removes a repetition of
526     * SAC-15: "Location" at a specific index
527     *
528     * @param rep The repetition index (0-indexed)
529     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
530     */
531    public CWE removeLocation(int rep) throws HL7Exception { 
532        return (CWE) super.removeRepetition(15, rep);
533    }
534
535
536    /**
537     * Removes a repetition of
538     * SAC-15: "Location" at a specific index
539     *
540     * @param rep The repetition index (0-indexed)
541     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
542     */
543    public CWE removeSac15_Location(int rep) throws HL7Exception { 
544        return (CWE) super.removeRepetition(15, rep);
545    }
546
547
548
549
550    /**
551     * Returns
552     * SAC-16: "Container Height" - creates it if necessary
553     */
554    public NM getContainerHeight() { 
555                NM retVal = this.getTypedField(16, 0);
556                return retVal;
557    }
558    
559    /**
560     * Returns
561     * SAC-16: "Container Height" - creates it if necessary
562     */
563    public NM getSac16_ContainerHeight() { 
564                NM retVal = this.getTypedField(16, 0);
565                return retVal;
566    }
567
568
569
570    /**
571     * Returns
572     * SAC-17: "Container Diameter" - creates it if necessary
573     */
574    public NM getContainerDiameter() { 
575                NM retVal = this.getTypedField(17, 0);
576                return retVal;
577    }
578    
579    /**
580     * Returns
581     * SAC-17: "Container Diameter" - creates it if necessary
582     */
583    public NM getSac17_ContainerDiameter() { 
584                NM retVal = this.getTypedField(17, 0);
585                return retVal;
586    }
587
588
589
590    /**
591     * Returns
592     * SAC-18: "Barrier Delta" - creates it if necessary
593     */
594    public NM getBarrierDelta() { 
595                NM retVal = this.getTypedField(18, 0);
596                return retVal;
597    }
598    
599    /**
600     * Returns
601     * SAC-18: "Barrier Delta" - creates it if necessary
602     */
603    public NM getSac18_BarrierDelta() { 
604                NM retVal = this.getTypedField(18, 0);
605                return retVal;
606    }
607
608
609
610    /**
611     * Returns
612     * SAC-19: "Bottom Delta" - creates it if necessary
613     */
614    public NM getBottomDelta() { 
615                NM retVal = this.getTypedField(19, 0);
616                return retVal;
617    }
618    
619    /**
620     * Returns
621     * SAC-19: "Bottom Delta" - creates it if necessary
622     */
623    public NM getSac19_BottomDelta() { 
624                NM retVal = this.getTypedField(19, 0);
625                return retVal;
626    }
627
628
629
630    /**
631     * Returns
632     * SAC-20: "Container Height/Diameter/Delta Units" - creates it if necessary
633     */
634    public CWE getContainerHeightDiameterDeltaUnits() { 
635                CWE retVal = this.getTypedField(20, 0);
636                return retVal;
637    }
638    
639    /**
640     * Returns
641     * SAC-20: "Container Height/Diameter/Delta Units" - creates it if necessary
642     */
643    public CWE getSac20_ContainerHeightDiameterDeltaUnits() { 
644                CWE retVal = this.getTypedField(20, 0);
645                return retVal;
646    }
647
648
649
650    /**
651     * Returns
652     * SAC-21: "Container Volume" - creates it if necessary
653     */
654    public NM getContainerVolume() { 
655                NM retVal = this.getTypedField(21, 0);
656                return retVal;
657    }
658    
659    /**
660     * Returns
661     * SAC-21: "Container Volume" - creates it if necessary
662     */
663    public NM getSac21_ContainerVolume() { 
664                NM retVal = this.getTypedField(21, 0);
665                return retVal;
666    }
667
668
669
670    /**
671     * Returns
672     * SAC-22: "Available Specimen Volume" - creates it if necessary
673     */
674    public NM getAvailableSpecimenVolume() { 
675                NM retVal = this.getTypedField(22, 0);
676                return retVal;
677    }
678    
679    /**
680     * Returns
681     * SAC-22: "Available Specimen Volume" - creates it if necessary
682     */
683    public NM getSac22_AvailableSpecimenVolume() { 
684                NM retVal = this.getTypedField(22, 0);
685                return retVal;
686    }
687
688
689
690    /**
691     * Returns
692     * SAC-23: "Initial Specimen Volume" - creates it if necessary
693     */
694    public NM getInitialSpecimenVolume() { 
695                NM retVal = this.getTypedField(23, 0);
696                return retVal;
697    }
698    
699    /**
700     * Returns
701     * SAC-23: "Initial Specimen Volume" - creates it if necessary
702     */
703    public NM getSac23_InitialSpecimenVolume() { 
704                NM retVal = this.getTypedField(23, 0);
705                return retVal;
706    }
707
708
709
710    /**
711     * Returns
712     * SAC-24: "Volume Units" - creates it if necessary
713     */
714    public CWE getVolumeUnits() { 
715                CWE retVal = this.getTypedField(24, 0);
716                return retVal;
717    }
718    
719    /**
720     * Returns
721     * SAC-24: "Volume Units" - creates it if necessary
722     */
723    public CWE getSac24_VolumeUnits() { 
724                CWE retVal = this.getTypedField(24, 0);
725                return retVal;
726    }
727
728
729
730    /**
731     * Returns
732     * SAC-25: "Separator Type" - creates it if necessary
733     */
734    public CWE getSeparatorType() { 
735                CWE retVal = this.getTypedField(25, 0);
736                return retVal;
737    }
738    
739    /**
740     * Returns
741     * SAC-25: "Separator Type" - creates it if necessary
742     */
743    public CWE getSac25_SeparatorType() { 
744                CWE retVal = this.getTypedField(25, 0);
745                return retVal;
746    }
747
748
749
750    /**
751     * Returns
752     * SAC-26: "Cap Type" - creates it if necessary
753     */
754    public CWE getCapType() { 
755                CWE retVal = this.getTypedField(26, 0);
756                return retVal;
757    }
758    
759    /**
760     * Returns
761     * SAC-26: "Cap Type" - creates it if necessary
762     */
763    public CWE getSac26_CapType() { 
764                CWE retVal = this.getTypedField(26, 0);
765                return retVal;
766    }
767
768
769    /**
770     * Returns all repetitions of Additive (SAC-27).
771     */
772    public CWE[] getAdditive() {
773        CWE[] retVal = this.getTypedField(27, new CWE[0]);
774        return retVal;
775    }
776
777
778    /**
779     * Returns all repetitions of Additive (SAC-27).
780     */
781    public CWE[] getSac27_Additive() {
782        CWE[] retVal = this.getTypedField(27, new CWE[0]);
783        return retVal;
784    }
785
786
787    /**
788     * Returns a count of the current number of repetitions of Additive (SAC-27).
789     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
790     * it will return zero.
791     */
792    public int getAdditiveReps() {
793        return this.getReps(27);
794    }
795
796
797    /**
798     * Returns a specific repetition of
799     * SAC-27: "Additive" - creates it if necessary
800     *
801     * @param rep The repetition index (0-indexed)
802     */
803    public CWE getAdditive(int rep) { 
804                CWE retVal = this.getTypedField(27, rep);
805                return retVal;
806    }
807
808    /**
809     * Returns a specific repetition of
810     * SAC-27: "Additive" - creates it if necessary
811     *
812     * @param rep The repetition index (0-indexed)
813     */
814    public CWE getSac27_Additive(int rep) { 
815                CWE retVal = this.getTypedField(27, rep);
816                return retVal;
817    }
818
819    /**
820     * Returns a count of the current number of repetitions of Additive (SAC-27).
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 getSac27_AdditiveReps() {
825        return this.getReps(27);
826    }
827
828
829    /**
830     * Inserts a repetition of
831     * SAC-27: "Additive" at a specific index
832     *
833     * @param rep The repetition index (0-indexed)
834     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
835     */
836    public CWE insertAdditive(int rep) throws HL7Exception { 
837        return (CWE) super.insertRepetition(27, rep);
838    }
839
840
841    /**
842     * Inserts a repetition of
843     * SAC-27: "Additive" at a specific index
844     *
845     * @param rep The repetition index (0-indexed)
846     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
847     */
848    public CWE insertSac27_Additive(int rep) throws HL7Exception { 
849        return (CWE) super.insertRepetition(27, rep);
850    }
851
852
853    /**
854     * Removes a repetition of
855     * SAC-27: "Additive" at a specific index
856     *
857     * @param rep The repetition index (0-indexed)
858     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
859     */
860    public CWE removeAdditive(int rep) throws HL7Exception { 
861        return (CWE) super.removeRepetition(27, rep);
862    }
863
864
865    /**
866     * Removes a repetition of
867     * SAC-27: "Additive" 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 removeSac27_Additive(int rep) throws HL7Exception { 
873        return (CWE) super.removeRepetition(27, rep);
874    }
875
876
877
878
879    /**
880     * Returns
881     * SAC-28: "Specimen Component" - creates it if necessary
882     */
883    public CWE getSpecimenComponent() { 
884                CWE retVal = this.getTypedField(28, 0);
885                return retVal;
886    }
887    
888    /**
889     * Returns
890     * SAC-28: "Specimen Component" - creates it if necessary
891     */
892    public CWE getSac28_SpecimenComponent() { 
893                CWE retVal = this.getTypedField(28, 0);
894                return retVal;
895    }
896
897
898
899    /**
900     * Returns
901     * SAC-29: "Dilution Factor" - creates it if necessary
902     */
903    public SN getDilutionFactor() { 
904                SN retVal = this.getTypedField(29, 0);
905                return retVal;
906    }
907    
908    /**
909     * Returns
910     * SAC-29: "Dilution Factor" - creates it if necessary
911     */
912    public SN getSac29_DilutionFactor() { 
913                SN retVal = this.getTypedField(29, 0);
914                return retVal;
915    }
916
917
918
919    /**
920     * Returns
921     * SAC-30: "Treatment" - creates it if necessary
922     */
923    public CWE getTreatment() { 
924                CWE retVal = this.getTypedField(30, 0);
925                return retVal;
926    }
927    
928    /**
929     * Returns
930     * SAC-30: "Treatment" - creates it if necessary
931     */
932    public CWE getSac30_Treatment() { 
933                CWE retVal = this.getTypedField(30, 0);
934                return retVal;
935    }
936
937
938
939    /**
940     * Returns
941     * SAC-31: "Temperature" - creates it if necessary
942     */
943    public SN getTemperature() { 
944                SN retVal = this.getTypedField(31, 0);
945                return retVal;
946    }
947    
948    /**
949     * Returns
950     * SAC-31: "Temperature" - creates it if necessary
951     */
952    public SN getSac31_Temperature() { 
953                SN retVal = this.getTypedField(31, 0);
954                return retVal;
955    }
956
957
958
959    /**
960     * Returns
961     * SAC-32: "Hemolysis Index" - creates it if necessary
962     */
963    public NM getHemolysisIndex() { 
964                NM retVal = this.getTypedField(32, 0);
965                return retVal;
966    }
967    
968    /**
969     * Returns
970     * SAC-32: "Hemolysis Index" - creates it if necessary
971     */
972    public NM getSac32_HemolysisIndex() { 
973                NM retVal = this.getTypedField(32, 0);
974                return retVal;
975    }
976
977
978
979    /**
980     * Returns
981     * SAC-33: "Hemolysis Index Units" - creates it if necessary
982     */
983    public CWE getHemolysisIndexUnits() { 
984                CWE retVal = this.getTypedField(33, 0);
985                return retVal;
986    }
987    
988    /**
989     * Returns
990     * SAC-33: "Hemolysis Index Units" - creates it if necessary
991     */
992    public CWE getSac33_HemolysisIndexUnits() { 
993                CWE retVal = this.getTypedField(33, 0);
994                return retVal;
995    }
996
997
998
999    /**
1000     * Returns
1001     * SAC-34: "Lipemia Index" - creates it if necessary
1002     */
1003    public NM getLipemiaIndex() { 
1004                NM retVal = this.getTypedField(34, 0);
1005                return retVal;
1006    }
1007    
1008    /**
1009     * Returns
1010     * SAC-34: "Lipemia Index" - creates it if necessary
1011     */
1012    public NM getSac34_LipemiaIndex() { 
1013                NM retVal = this.getTypedField(34, 0);
1014                return retVal;
1015    }
1016
1017
1018
1019    /**
1020     * Returns
1021     * SAC-35: "Lipemia Index Units" - creates it if necessary
1022     */
1023    public CWE getLipemiaIndexUnits() { 
1024                CWE retVal = this.getTypedField(35, 0);
1025                return retVal;
1026    }
1027    
1028    /**
1029     * Returns
1030     * SAC-35: "Lipemia Index Units" - creates it if necessary
1031     */
1032    public CWE getSac35_LipemiaIndexUnits() { 
1033                CWE retVal = this.getTypedField(35, 0);
1034                return retVal;
1035    }
1036
1037
1038
1039    /**
1040     * Returns
1041     * SAC-36: "Icterus Index" - creates it if necessary
1042     */
1043    public NM getIcterusIndex() { 
1044                NM retVal = this.getTypedField(36, 0);
1045                return retVal;
1046    }
1047    
1048    /**
1049     * Returns
1050     * SAC-36: "Icterus Index" - creates it if necessary
1051     */
1052    public NM getSac36_IcterusIndex() { 
1053                NM retVal = this.getTypedField(36, 0);
1054                return retVal;
1055    }
1056
1057
1058
1059    /**
1060     * Returns
1061     * SAC-37: "Icterus Index Units" - creates it if necessary
1062     */
1063    public CWE getIcterusIndexUnits() { 
1064                CWE retVal = this.getTypedField(37, 0);
1065                return retVal;
1066    }
1067    
1068    /**
1069     * Returns
1070     * SAC-37: "Icterus Index Units" - creates it if necessary
1071     */
1072    public CWE getSac37_IcterusIndexUnits() { 
1073                CWE retVal = this.getTypedField(37, 0);
1074                return retVal;
1075    }
1076
1077
1078
1079    /**
1080     * Returns
1081     * SAC-38: "Fibrin Index" - creates it if necessary
1082     */
1083    public NM getFibrinIndex() { 
1084                NM retVal = this.getTypedField(38, 0);
1085                return retVal;
1086    }
1087    
1088    /**
1089     * Returns
1090     * SAC-38: "Fibrin Index" - creates it if necessary
1091     */
1092    public NM getSac38_FibrinIndex() { 
1093                NM retVal = this.getTypedField(38, 0);
1094                return retVal;
1095    }
1096
1097
1098
1099    /**
1100     * Returns
1101     * SAC-39: "Fibrin Index Units" - creates it if necessary
1102     */
1103    public CWE getFibrinIndexUnits() { 
1104                CWE retVal = this.getTypedField(39, 0);
1105                return retVal;
1106    }
1107    
1108    /**
1109     * Returns
1110     * SAC-39: "Fibrin Index Units" - creates it if necessary
1111     */
1112    public CWE getSac39_FibrinIndexUnits() { 
1113                CWE retVal = this.getTypedField(39, 0);
1114                return retVal;
1115    }
1116
1117
1118    /**
1119     * Returns all repetitions of System Induced Contaminants (SAC-40).
1120     */
1121    public CWE[] getSystemInducedContaminants() {
1122        CWE[] retVal = this.getTypedField(40, new CWE[0]);
1123        return retVal;
1124    }
1125
1126
1127    /**
1128     * Returns all repetitions of System Induced Contaminants (SAC-40).
1129     */
1130    public CWE[] getSac40_SystemInducedContaminants() {
1131        CWE[] retVal = this.getTypedField(40, new CWE[0]);
1132        return retVal;
1133    }
1134
1135
1136    /**
1137     * Returns a count of the current number of repetitions of System Induced Contaminants (SAC-40).
1138     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1139     * it will return zero.
1140     */
1141    public int getSystemInducedContaminantsReps() {
1142        return this.getReps(40);
1143    }
1144
1145
1146    /**
1147     * Returns a specific repetition of
1148     * SAC-40: "System Induced Contaminants" - creates it if necessary
1149     *
1150     * @param rep The repetition index (0-indexed)
1151     */
1152    public CWE getSystemInducedContaminants(int rep) { 
1153                CWE retVal = this.getTypedField(40, rep);
1154                return retVal;
1155    }
1156
1157    /**
1158     * Returns a specific repetition of
1159     * SAC-40: "System Induced Contaminants" - creates it if necessary
1160     *
1161     * @param rep The repetition index (0-indexed)
1162     */
1163    public CWE getSac40_SystemInducedContaminants(int rep) { 
1164                CWE retVal = this.getTypedField(40, rep);
1165                return retVal;
1166    }
1167
1168    /**
1169     * Returns a count of the current number of repetitions of System Induced Contaminants (SAC-40).
1170     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1171     * it will return zero.
1172     */
1173    public int getSac40_SystemInducedContaminantsReps() {
1174        return this.getReps(40);
1175    }
1176
1177
1178    /**
1179     * Inserts a repetition of
1180     * SAC-40: "System Induced Contaminants" at a specific index
1181     *
1182     * @param rep The repetition index (0-indexed)
1183     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1184     */
1185    public CWE insertSystemInducedContaminants(int rep) throws HL7Exception { 
1186        return (CWE) super.insertRepetition(40, rep);
1187    }
1188
1189
1190    /**
1191     * Inserts a repetition of
1192     * SAC-40: "System Induced Contaminants" at a specific index
1193     *
1194     * @param rep The repetition index (0-indexed)
1195     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1196     */
1197    public CWE insertSac40_SystemInducedContaminants(int rep) throws HL7Exception { 
1198        return (CWE) super.insertRepetition(40, rep);
1199    }
1200
1201
1202    /**
1203     * Removes a repetition of
1204     * SAC-40: "System Induced Contaminants" at a specific index
1205     *
1206     * @param rep The repetition index (0-indexed)
1207     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1208     */
1209    public CWE removeSystemInducedContaminants(int rep) throws HL7Exception { 
1210        return (CWE) super.removeRepetition(40, rep);
1211    }
1212
1213
1214    /**
1215     * Removes a repetition of
1216     * SAC-40: "System Induced Contaminants" at a specific index
1217     *
1218     * @param rep The repetition index (0-indexed)
1219     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1220     */
1221    public CWE removeSac40_SystemInducedContaminants(int rep) throws HL7Exception { 
1222        return (CWE) super.removeRepetition(40, rep);
1223    }
1224
1225
1226
1227    /**
1228     * Returns all repetitions of Drug Interference (SAC-41).
1229     */
1230    public CWE[] getDrugInterference() {
1231        CWE[] retVal = this.getTypedField(41, new CWE[0]);
1232        return retVal;
1233    }
1234
1235
1236    /**
1237     * Returns all repetitions of Drug Interference (SAC-41).
1238     */
1239    public CWE[] getSac41_DrugInterference() {
1240        CWE[] retVal = this.getTypedField(41, new CWE[0]);
1241        return retVal;
1242    }
1243
1244
1245    /**
1246     * Returns a count of the current number of repetitions of Drug Interference (SAC-41).
1247     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1248     * it will return zero.
1249     */
1250    public int getDrugInterferenceReps() {
1251        return this.getReps(41);
1252    }
1253
1254
1255    /**
1256     * Returns a specific repetition of
1257     * SAC-41: "Drug Interference" - creates it if necessary
1258     *
1259     * @param rep The repetition index (0-indexed)
1260     */
1261    public CWE getDrugInterference(int rep) { 
1262                CWE retVal = this.getTypedField(41, rep);
1263                return retVal;
1264    }
1265
1266    /**
1267     * Returns a specific repetition of
1268     * SAC-41: "Drug Interference" - creates it if necessary
1269     *
1270     * @param rep The repetition index (0-indexed)
1271     */
1272    public CWE getSac41_DrugInterference(int rep) { 
1273                CWE retVal = this.getTypedField(41, rep);
1274                return retVal;
1275    }
1276
1277    /**
1278     * Returns a count of the current number of repetitions of Drug Interference (SAC-41).
1279     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1280     * it will return zero.
1281     */
1282    public int getSac41_DrugInterferenceReps() {
1283        return this.getReps(41);
1284    }
1285
1286
1287    /**
1288     * Inserts a repetition of
1289     * SAC-41: "Drug Interference" at a specific index
1290     *
1291     * @param rep The repetition index (0-indexed)
1292     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1293     */
1294    public CWE insertDrugInterference(int rep) throws HL7Exception { 
1295        return (CWE) super.insertRepetition(41, rep);
1296    }
1297
1298
1299    /**
1300     * Inserts a repetition of
1301     * SAC-41: "Drug Interference" at a specific index
1302     *
1303     * @param rep The repetition index (0-indexed)
1304     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1305     */
1306    public CWE insertSac41_DrugInterference(int rep) throws HL7Exception { 
1307        return (CWE) super.insertRepetition(41, rep);
1308    }
1309
1310
1311    /**
1312     * Removes a repetition of
1313     * SAC-41: "Drug Interference" at a specific index
1314     *
1315     * @param rep The repetition index (0-indexed)
1316     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1317     */
1318    public CWE removeDrugInterference(int rep) throws HL7Exception { 
1319        return (CWE) super.removeRepetition(41, rep);
1320    }
1321
1322
1323    /**
1324     * Removes a repetition of
1325     * SAC-41: "Drug Interference" at a specific index
1326     *
1327     * @param rep The repetition index (0-indexed)
1328     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1329     */
1330    public CWE removeSac41_DrugInterference(int rep) throws HL7Exception { 
1331        return (CWE) super.removeRepetition(41, rep);
1332    }
1333
1334
1335
1336
1337    /**
1338     * Returns
1339     * SAC-42: "Artificial Blood" - creates it if necessary
1340     */
1341    public CWE getArtificialBlood() { 
1342                CWE retVal = this.getTypedField(42, 0);
1343                return retVal;
1344    }
1345    
1346    /**
1347     * Returns
1348     * SAC-42: "Artificial Blood" - creates it if necessary
1349     */
1350    public CWE getSac42_ArtificialBlood() { 
1351                CWE retVal = this.getTypedField(42, 0);
1352                return retVal;
1353    }
1354
1355
1356    /**
1357     * Returns all repetitions of Special Handling Code (SAC-43).
1358     */
1359    public CWE[] getSpecialHandlingCode() {
1360        CWE[] retVal = this.getTypedField(43, new CWE[0]);
1361        return retVal;
1362    }
1363
1364
1365    /**
1366     * Returns all repetitions of Special Handling Code (SAC-43).
1367     */
1368    public CWE[] getSac43_SpecialHandlingCode() {
1369        CWE[] retVal = this.getTypedField(43, new CWE[0]);
1370        return retVal;
1371    }
1372
1373
1374    /**
1375     * Returns a count of the current number of repetitions of Special Handling Code (SAC-43).
1376     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1377     * it will return zero.
1378     */
1379    public int getSpecialHandlingCodeReps() {
1380        return this.getReps(43);
1381    }
1382
1383
1384    /**
1385     * Returns a specific repetition of
1386     * SAC-43: "Special Handling Code" - creates it if necessary
1387     *
1388     * @param rep The repetition index (0-indexed)
1389     */
1390    public CWE getSpecialHandlingCode(int rep) { 
1391                CWE retVal = this.getTypedField(43, rep);
1392                return retVal;
1393    }
1394
1395    /**
1396     * Returns a specific repetition of
1397     * SAC-43: "Special Handling Code" - creates it if necessary
1398     *
1399     * @param rep The repetition index (0-indexed)
1400     */
1401    public CWE getSac43_SpecialHandlingCode(int rep) { 
1402                CWE retVal = this.getTypedField(43, rep);
1403                return retVal;
1404    }
1405
1406    /**
1407     * Returns a count of the current number of repetitions of Special Handling Code (SAC-43).
1408     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1409     * it will return zero.
1410     */
1411    public int getSac43_SpecialHandlingCodeReps() {
1412        return this.getReps(43);
1413    }
1414
1415
1416    /**
1417     * Inserts a repetition of
1418     * SAC-43: "Special Handling Code" at a specific index
1419     *
1420     * @param rep The repetition index (0-indexed)
1421     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1422     */
1423    public CWE insertSpecialHandlingCode(int rep) throws HL7Exception { 
1424        return (CWE) super.insertRepetition(43, rep);
1425    }
1426
1427
1428    /**
1429     * Inserts a repetition of
1430     * SAC-43: "Special Handling Code" at a specific index
1431     *
1432     * @param rep The repetition index (0-indexed)
1433     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1434     */
1435    public CWE insertSac43_SpecialHandlingCode(int rep) throws HL7Exception { 
1436        return (CWE) super.insertRepetition(43, rep);
1437    }
1438
1439
1440    /**
1441     * Removes a repetition of
1442     * SAC-43: "Special Handling Code" at a specific index
1443     *
1444     * @param rep The repetition index (0-indexed)
1445     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1446     */
1447    public CWE removeSpecialHandlingCode(int rep) throws HL7Exception { 
1448        return (CWE) super.removeRepetition(43, rep);
1449    }
1450
1451
1452    /**
1453     * Removes a repetition of
1454     * SAC-43: "Special Handling Code" at a specific index
1455     *
1456     * @param rep The repetition index (0-indexed)
1457     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1458     */
1459    public CWE removeSac43_SpecialHandlingCode(int rep) throws HL7Exception { 
1460        return (CWE) super.removeRepetition(43, rep);
1461    }
1462
1463
1464
1465    /**
1466     * Returns all repetitions of Other Environmental Factors (SAC-44).
1467     */
1468    public CWE[] getOtherEnvironmentalFactors() {
1469        CWE[] retVal = this.getTypedField(44, new CWE[0]);
1470        return retVal;
1471    }
1472
1473
1474    /**
1475     * Returns all repetitions of Other Environmental Factors (SAC-44).
1476     */
1477    public CWE[] getSac44_OtherEnvironmentalFactors() {
1478        CWE[] retVal = this.getTypedField(44, new CWE[0]);
1479        return retVal;
1480    }
1481
1482
1483    /**
1484     * Returns a count of the current number of repetitions of Other Environmental Factors (SAC-44).
1485     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1486     * it will return zero.
1487     */
1488    public int getOtherEnvironmentalFactorsReps() {
1489        return this.getReps(44);
1490    }
1491
1492
1493    /**
1494     * Returns a specific repetition of
1495     * SAC-44: "Other Environmental Factors" - creates it if necessary
1496     *
1497     * @param rep The repetition index (0-indexed)
1498     */
1499    public CWE getOtherEnvironmentalFactors(int rep) { 
1500                CWE retVal = this.getTypedField(44, rep);
1501                return retVal;
1502    }
1503
1504    /**
1505     * Returns a specific repetition of
1506     * SAC-44: "Other Environmental Factors" - creates it if necessary
1507     *
1508     * @param rep The repetition index (0-indexed)
1509     */
1510    public CWE getSac44_OtherEnvironmentalFactors(int rep) { 
1511                CWE retVal = this.getTypedField(44, rep);
1512                return retVal;
1513    }
1514
1515    /**
1516     * Returns a count of the current number of repetitions of Other Environmental Factors (SAC-44).
1517     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1518     * it will return zero.
1519     */
1520    public int getSac44_OtherEnvironmentalFactorsReps() {
1521        return this.getReps(44);
1522    }
1523
1524
1525    /**
1526     * Inserts a repetition of
1527     * SAC-44: "Other Environmental Factors" at a specific index
1528     *
1529     * @param rep The repetition index (0-indexed)
1530     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1531     */
1532    public CWE insertOtherEnvironmentalFactors(int rep) throws HL7Exception { 
1533        return (CWE) super.insertRepetition(44, rep);
1534    }
1535
1536
1537    /**
1538     * Inserts a repetition of
1539     * SAC-44: "Other Environmental Factors" at a specific index
1540     *
1541     * @param rep The repetition index (0-indexed)
1542     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1543     */
1544    public CWE insertSac44_OtherEnvironmentalFactors(int rep) throws HL7Exception { 
1545        return (CWE) super.insertRepetition(44, rep);
1546    }
1547
1548
1549    /**
1550     * Removes a repetition of
1551     * SAC-44: "Other Environmental Factors" at a specific index
1552     *
1553     * @param rep The repetition index (0-indexed)
1554     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1555     */
1556    public CWE removeOtherEnvironmentalFactors(int rep) throws HL7Exception { 
1557        return (CWE) super.removeRepetition(44, rep);
1558    }
1559
1560
1561    /**
1562     * Removes a repetition of
1563     * SAC-44: "Other Environmental Factors" at a specific index
1564     *
1565     * @param rep The repetition index (0-indexed)
1566     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1567     */
1568    public CWE removeSac44_OtherEnvironmentalFactors(int rep) throws HL7Exception { 
1569        return (CWE) super.removeRepetition(44, rep);
1570    }
1571
1572
1573
1574
1575
1576
1577    /** {@inheritDoc} */   
1578    protected Type createNewTypeWithoutReflection(int field) {
1579       switch (field) {
1580          case 0: return new EI(getMessage());
1581          case 1: return new EI(getMessage());
1582          case 2: return new EI(getMessage());
1583          case 3: return new EI(getMessage());
1584          case 4: return new EI(getMessage());
1585          case 5: return new SPS(getMessage());
1586          case 6: return new DTM(getMessage());
1587          case 7: return new CWE(getMessage());
1588          case 8: return new CWE(getMessage());
1589          case 9: return new EI(getMessage());
1590          case 10: return new NA(getMessage());
1591          case 11: return new CWE(getMessage());
1592          case 12: return new EI(getMessage());
1593          case 13: return new NA(getMessage());
1594          case 14: return new CWE(getMessage());
1595          case 15: return new NM(getMessage());
1596          case 16: return new NM(getMessage());
1597          case 17: return new NM(getMessage());
1598          case 18: return new NM(getMessage());
1599          case 19: return new CWE(getMessage());
1600          case 20: return new NM(getMessage());
1601          case 21: return new NM(getMessage());
1602          case 22: return new NM(getMessage());
1603          case 23: return new CWE(getMessage());
1604          case 24: return new CWE(getMessage());
1605          case 25: return new CWE(getMessage());
1606          case 26: return new CWE(getMessage());
1607          case 27: return new CWE(getMessage());
1608          case 28: return new SN(getMessage());
1609          case 29: return new CWE(getMessage());
1610          case 30: return new SN(getMessage());
1611          case 31: return new NM(getMessage());
1612          case 32: return new CWE(getMessage());
1613          case 33: return new NM(getMessage());
1614          case 34: return new CWE(getMessage());
1615          case 35: return new NM(getMessage());
1616          case 36: return new CWE(getMessage());
1617          case 37: return new NM(getMessage());
1618          case 38: return new CWE(getMessage());
1619          case 39: return new CWE(getMessage());
1620          case 40: return new CWE(getMessage());
1621          case 41: return new CWE(getMessage());
1622          case 42: return new CWE(getMessage());
1623          case 43: return new CWE(getMessage());
1624          default: return null;
1625       }
1626   }
1627
1628
1629}
1630