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