View Javadoc
1   /*
2    * This class is an auto-generated source file for a HAPI
3    * HL7 v2.x standard structure class.
4    *
5    * For more information, visit: http://hl7api.sourceforge.net/
6    * 
7    * The contents of this file are subject to the Mozilla Public License Version 1.1 
8    * (the "License"); you may not use this file except in compliance with the License. 
9    * You may obtain a copy of the License at http://www.mozilla.org/MPL/ 
10   * Software distributed under the License is distributed on an "AS IS" basis, 
11   * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the 
12   * specific language governing rights and limitations under the License. 
13   * 
14   * The Original Code is "[file_name]".  Description: 
15   * "[one_line_description]" 
16   * 
17   * The Initial Developer of the Original Code is University Health Network. Copyright (C) 
18   * 2012.  All Rights Reserved. 
19   * 
20   * Contributor(s): ______________________________________. 
21   * 
22   * Alternatively, the contents of this file may be used under the terms of the 
23   * GNU General Public License (the  "GPL"), in which case the provisions of the GPL are 
24   * applicable instead of those above.  If you wish to allow use of your version of this 
25   * file only under the terms of the GPL and not to allow others to use your version 
26   * of this file under the MPL, indicate your decision by deleting  the provisions above 
27   * and replace  them with the notice and other provisions required by the GPL License.  
28   * If you do not delete the provisions above, a recipient may use your version of 
29   * this file under either the MPL or the GPL. 
30   * 
31   */
32  
33  
34  package ca.uhn.hl7v2.model.v27.segment;
35  
36  // import ca.uhn.hl7v2.model.v27.group.*;
37  import ca.uhn.hl7v2.model.v27.datatype.*;
38  import ca.uhn.hl7v2.HL7Exception;
39  import ca.uhn.hl7v2.parser.ModelClassFactory;
40  import ca.uhn.hl7v2.parser.DefaultModelClassFactory;
41  import ca.uhn.hl7v2.model.AbstractMessage;
42  import ca.uhn.hl7v2.model.Group;
43  import ca.uhn.hl7v2.model.Type;
44  import ca.uhn.hl7v2.model.AbstractSegment;
45  import ca.uhn.hl7v2.model.Varies;
46  
47  
48  /**
49   *<p>Represents an HL7 SAC message segment (Specimen Container detail). 
50   * This segment has the following fields:</p>
51   * <ul>
52       * <li>SAC-1: External Accession Identifier (EI) <b>optional </b>
53       * <li>SAC-2: Accession Identifier (EI) <b>optional </b>
54       * <li>SAC-3: Container Identifier (EI) <b>optional </b>
55       * <li>SAC-4: Primary (Parent) Container Identifier (EI) <b>optional </b>
56       * <li>SAC-5: Equipment Container Identifier (EI) <b>optional </b>
57       * <li>SAC-6: Specimen Source (NULLDT) <b>optional </b>
58       * <li>SAC-7: Registration Date/Time (DTM) <b>optional </b>
59       * <li>SAC-8: Container Status (CWE) <b>optional </b>
60       * <li>SAC-9: Carrier Type (CWE) <b>optional </b>
61       * <li>SAC-10: Carrier Identifier (EI) <b>optional </b>
62       * <li>SAC-11: Position in Carrier (NA) <b>optional </b>
63       * <li>SAC-12: Tray Type - SAC (CWE) <b>optional </b>
64       * <li>SAC-13: Tray Identifier (EI) <b>optional </b>
65       * <li>SAC-14: Position in Tray (NA) <b>optional </b>
66       * <li>SAC-15: Location (CWE) <b>optional repeating</b>
67       * <li>SAC-16: Container Height (NM) <b>optional </b>
68       * <li>SAC-17: Container Diameter (NM) <b>optional </b>
69       * <li>SAC-18: Barrier Delta (NM) <b>optional </b>
70       * <li>SAC-19: Bottom Delta (NM) <b>optional </b>
71       * <li>SAC-20: Container Height/Diameter/Delta Units (CWE) <b>optional </b>
72       * <li>SAC-21: Container Volume (NM) <b>optional </b>
73       * <li>SAC-22: Available Specimen Volume (NM) <b>optional </b>
74       * <li>SAC-23: Initial Specimen Volume (NM) <b>optional </b>
75       * <li>SAC-24: Volume Units (CWE) <b>optional </b>
76       * <li>SAC-25: Separator Type (CWE) <b>optional </b>
77       * <li>SAC-26: Cap Type (CWE) <b>optional </b>
78       * <li>SAC-27: Additive (CWE) <b>optional repeating</b>
79       * <li>SAC-28: Specimen Component (CWE) <b>optional </b>
80       * <li>SAC-29: Dilution Factor (SN) <b>optional </b>
81       * <li>SAC-30: Treatment (CWE) <b>optional </b>
82       * <li>SAC-31: Temperature (SN) <b>optional </b>
83       * <li>SAC-32: Hemolysis Index (NM) <b>optional </b>
84       * <li>SAC-33: Hemolysis Index Units (CWE) <b>optional </b>
85       * <li>SAC-34: Lipemia Index (NM) <b>optional </b>
86       * <li>SAC-35: Lipemia Index Units (CWE) <b>optional </b>
87       * <li>SAC-36: Icterus Index (NM) <b>optional </b>
88       * <li>SAC-37: Icterus Index Units (CWE) <b>optional </b>
89       * <li>SAC-38: Fibrin Index (NM) <b>optional </b>
90       * <li>SAC-39: Fibrin Index Units (CWE) <b>optional </b>
91       * <li>SAC-40: System Induced Contaminants (CWE) <b>optional repeating</b>
92       * <li>SAC-41: Drug Interference (CWE) <b>optional repeating</b>
93       * <li>SAC-42: Artificial Blood (CWE) <b>optional </b>
94       * <li>SAC-43: Special Handling Code (CWE) <b>optional repeating</b>
95       * <li>SAC-44: Other Environmental Factors (CWE) <b>optional repeating</b>
96   * </ul>
97   */
98  @SuppressWarnings("unused")
99  public 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, 0, new Object[]{ getMessage() }, "External Accession Identifier");
112                                   this.add(EI.class, false, 1, 0, new Object[]{ getMessage() }, "Accession Identifier");
113                                   this.add(EI.class, false, 1, 0, new Object[]{ getMessage() }, "Container Identifier");
114                                   this.add(EI.class, false, 1, 0, new Object[]{ getMessage() }, "Primary (Parent) Container Identifier");
115                                   this.add(EI.class, false, 1, 0, new Object[]{ getMessage() }, "Equipment Container Identifier");
116                                   this.add(NULLDT.class, false, 1, 0, new Object[]{ getMessage() }, "Specimen Source");
117                                   this.add(DTM.class, false, 1, 0, new Object[]{ getMessage() }, "Registration Date/Time");
118                                   this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Container Status");
119                                   this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Carrier Type");
120                                   this.add(EI.class, false, 1, 0, new Object[]{ getMessage() }, "Carrier Identifier");
121                                   this.add(NA.class, false, 1, 0, new Object[]{ getMessage() }, "Position in Carrier");
122                                   this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Tray Type - SAC");
123                                   this.add(EI.class, false, 1, 0, new Object[]{ getMessage() }, "Tray Identifier");
124                                   this.add(NA.class, false, 1, 0, new Object[]{ getMessage() }, "Position in Tray");
125                                   this.add(CWE.class, false, 0, 0, new Object[]{ getMessage() }, "Location");
126                                   this.add(NM.class, false, 1, 0, new Object[]{ getMessage() }, "Container Height");
127                                   this.add(NM.class, false, 1, 0, new Object[]{ getMessage() }, "Container Diameter");
128                                   this.add(NM.class, false, 1, 0, new Object[]{ getMessage() }, "Barrier Delta");
129                                   this.add(NM.class, false, 1, 0, new Object[]{ getMessage() }, "Bottom Delta");
130                                   this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Container Height/Diameter/Delta Units");
131                                   this.add(NM.class, false, 1, 0, new Object[]{ getMessage() }, "Container Volume");
132                                   this.add(NM.class, false, 1, 0, new Object[]{ getMessage() }, "Available Specimen Volume");
133                                   this.add(NM.class, false, 1, 0, new Object[]{ getMessage() }, "Initial Specimen Volume");
134                                   this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Volume Units");
135                                   this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Separator Type");
136                                   this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Cap Type");
137                                   this.add(CWE.class, false, 0, 0, new Object[]{ getMessage() }, "Additive");
138                                   this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Specimen Component");
139                                   this.add(SN.class, false, 1, 0, new Object[]{ getMessage() }, "Dilution Factor");
140                                   this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Treatment");
141                                   this.add(SN.class, false, 1, 0, new Object[]{ getMessage() }, "Temperature");
142                                   this.add(NM.class, false, 1, 0, new Object[]{ getMessage() }, "Hemolysis Index");
143                                   this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Hemolysis Index Units");
144                                   this.add(NM.class, false, 1, 0, new Object[]{ getMessage() }, "Lipemia Index");
145                                   this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Lipemia Index Units");
146                                   this.add(NM.class, false, 1, 0, new Object[]{ getMessage() }, "Icterus Index");
147                                   this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Icterus Index Units");
148                                   this.add(NM.class, false, 1, 0, new Object[]{ getMessage() }, "Fibrin Index");
149                                   this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Fibrin Index Units");
150                                   this.add(CWE.class, false, 0, 0, new Object[]{ getMessage() }, "System Induced Contaminants");
151                                   this.add(CWE.class, false, 0, 0, new Object[]{ getMessage() }, "Drug Interference");
152                                   this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Artificial Blood");
153                                   this.add(CWE.class, false, 0, 0, new Object[]{ getMessage() }, "Special Handling Code");
154                                   this.add(CWE.class, false, 0, 0, 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 NULLDT getSpecimenSource() { 
267 		NULLDT 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 NULLDT getSac6_SpecimenSource() { 
276 		NULLDT 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 DTM getRegistrationDateTime() { 
287 		DTM 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 DTM getSac7_RegistrationDateTime() { 
296 		DTM 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 CWE getContainerStatus() { 
307 		CWE 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 CWE getSac8_ContainerStatus() { 
316 		CWE 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 CWE getCarrierType() { 
327 		CWE 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 CWE getSac9_CarrierType() { 
336 		CWE 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 CWE getTrayTypeSAC() { 
387 		CWE 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 CWE getSac12_TrayTypeSAC() { 
396 		CWE 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 CWE[] getLocation() {
445     	CWE[] retVal = this.getTypedField(15, new CWE[0]);
446     	return retVal;
447     }
448 
449 
450     /**
451      * Returns all repetitions of Location (SAC-15).
452      */
453     public CWE[] getSac15_Location() {
454     	CWE[] retVal = this.getTypedField(15, new CWE[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 CWE getLocation(int rep) { 
476 		CWE 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 CWE getSac15_Location(int rep) { 
487 		CWE 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 CWE insertLocation(int rep) throws HL7Exception { 
509         return (CWE) 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 CWE insertSac15_Location(int rep) throws HL7Exception { 
521         return (CWE) 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 CWE removeLocation(int rep) throws HL7Exception { 
533         return (CWE) 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 CWE removeSac15_Location(int rep) throws HL7Exception { 
545         return (CWE) 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 CWE getContainerHeightDiameterDeltaUnits() { 
636 		CWE 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 CWE getSac20_ContainerHeightDiameterDeltaUnits() { 
645 		CWE 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 CWE getVolumeUnits() { 
716 		CWE 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 CWE getSac24_VolumeUnits() { 
725 		CWE 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 CWE getSeparatorType() { 
736 		CWE 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 CWE getSac25_SeparatorType() { 
745 		CWE 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 CWE getCapType() { 
756 		CWE 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 CWE getSac26_CapType() { 
765 		CWE 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 CWE getSpecimenComponent() { 
885 		CWE 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 CWE getSac28_SpecimenComponent() { 
894 		CWE 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 CWE getTreatment() { 
925 		CWE retVal = this.getTypedField(30, 0);
926 		return retVal;
927     }
928     
929     /**
930      * Returns
931      * SAC-30: "Treatment" - creates it if necessary
932      */
933     public CWE getSac30_Treatment() { 
934 		CWE 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 CWE getHemolysisIndexUnits() { 
985 		CWE 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 CWE getSac33_HemolysisIndexUnits() { 
994 		CWE 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 CWE getLipemiaIndexUnits() { 
1025 		CWE 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 CWE getSac35_LipemiaIndexUnits() { 
1034 		CWE 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 CWE getIcterusIndexUnits() { 
1065 		CWE 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 CWE getSac37_IcterusIndexUnits() { 
1074 		CWE 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 CWE getFibrinIndexUnits() { 
1105 		CWE 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 CWE getSac39_FibrinIndexUnits() { 
1114 		CWE 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 CWE[] getSystemInducedContaminants() {
1123     	CWE[] retVal = this.getTypedField(40, new CWE[0]);
1124     	return retVal;
1125     }
1126 
1127 
1128     /**
1129      * Returns all repetitions of System Induced Contaminants (SAC-40).
1130      */
1131     public CWE[] getSac40_SystemInducedContaminants() {
1132     	CWE[] retVal = this.getTypedField(40, new CWE[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 CWE getSystemInducedContaminants(int rep) { 
1154 		CWE 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 CWE getSac40_SystemInducedContaminants(int rep) { 
1165 		CWE 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 CWE insertSystemInducedContaminants(int rep) throws HL7Exception { 
1187         return (CWE) 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 CWE insertSac40_SystemInducedContaminants(int rep) throws HL7Exception { 
1199         return (CWE) 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 CWE removeSystemInducedContaminants(int rep) throws HL7Exception { 
1211         return (CWE) 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 CWE removeSac40_SystemInducedContaminants(int rep) throws HL7Exception { 
1223         return (CWE) super.removeRepetition(40, rep);
1224     }
1225 
1226 
1227 
1228     /**
1229      * Returns all repetitions of Drug Interference (SAC-41).
1230      */
1231     public CWE[] getDrugInterference() {
1232     	CWE[] retVal = this.getTypedField(41, new CWE[0]);
1233     	return retVal;
1234     }
1235 
1236 
1237     /**
1238      * Returns all repetitions of Drug Interference (SAC-41).
1239      */
1240     public CWE[] getSac41_DrugInterference() {
1241     	CWE[] retVal = this.getTypedField(41, new CWE[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 CWE getDrugInterference(int rep) { 
1263 		CWE 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 CWE getSac41_DrugInterference(int rep) { 
1274 		CWE 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 CWE insertDrugInterference(int rep) throws HL7Exception { 
1296         return (CWE) 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 CWE insertSac41_DrugInterference(int rep) throws HL7Exception { 
1308         return (CWE) 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 CWE removeDrugInterference(int rep) throws HL7Exception { 
1320         return (CWE) 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 CWE removeSac41_DrugInterference(int rep) throws HL7Exception { 
1332         return (CWE) super.removeRepetition(41, rep);
1333     }
1334 
1335 
1336 
1337 
1338     /**
1339      * Returns
1340      * SAC-42: "Artificial Blood" - creates it if necessary
1341      */
1342     public CWE getArtificialBlood() { 
1343 		CWE 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 CWE getSac42_ArtificialBlood() { 
1352 		CWE 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 CWE[] getOtherEnvironmentalFactors() {
1470     	CWE[] retVal = this.getTypedField(44, new CWE[0]);
1471     	return retVal;
1472     }
1473 
1474 
1475     /**
1476      * Returns all repetitions of Other Environmental Factors (SAC-44).
1477      */
1478     public CWE[] getSac44_OtherEnvironmentalFactors() {
1479     	CWE[] retVal = this.getTypedField(44, new CWE[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 CWE getOtherEnvironmentalFactors(int rep) { 
1501 		CWE 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 CWE getSac44_OtherEnvironmentalFactors(int rep) { 
1512 		CWE 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 CWE insertOtherEnvironmentalFactors(int rep) throws HL7Exception { 
1534         return (CWE) 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 CWE insertSac44_OtherEnvironmentalFactors(int rep) throws HL7Exception { 
1546         return (CWE) 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 CWE removeOtherEnvironmentalFactors(int rep) throws HL7Exception { 
1558         return (CWE) 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 CWE removeSac44_OtherEnvironmentalFactors(int rep) throws HL7Exception { 
1570         return (CWE) 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 NULLDT(getMessage());
1587           case 6: return new DTM(getMessage());
1588           case 7: return new CWE(getMessage());
1589           case 8: return new CWE(getMessage());
1590           case 9: return new EI(getMessage());
1591           case 10: return new NA(getMessage());
1592           case 11: return new CWE(getMessage());
1593           case 12: return new EI(getMessage());
1594           case 13: return new NA(getMessage());
1595           case 14: return new CWE(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 CWE(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 CWE(getMessage());
1605           case 24: return new CWE(getMessage());
1606           case 25: return new CWE(getMessage());
1607           case 26: return new CWE(getMessage());
1608           case 27: return new CWE(getMessage());
1609           case 28: return new SN(getMessage());
1610           case 29: return new CWE(getMessage());
1611           case 30: return new SN(getMessage());
1612           case 31: return new NM(getMessage());
1613           case 32: return new CWE(getMessage());
1614           case 33: return new NM(getMessage());
1615           case 34: return new CWE(getMessage());
1616           case 35: return new NM(getMessage());
1617           case 36: return new CWE(getMessage());
1618           case 37: return new NM(getMessage());
1619           case 38: return new CWE(getMessage());
1620           case 39: return new CWE(getMessage());
1621           case 40: return new CWE(getMessage());
1622           case 41: return new CWE(getMessage());
1623           case 42: return new CWE(getMessage());
1624           case 43: return new CWE(getMessage());
1625           default: return null;
1626        }
1627    }
1628 
1629 
1630 }
1631