001/*
002 * This class is an auto-generated source file for a HAPI
003 * HL7 v2.x standard structure class.
004 *
005 * For more information, visit: http://hl7api.sourceforge.net/
006 * 
007 * The contents of this file are subject to the Mozilla Public License Version 1.1 
008 * (the "License"); you may not use this file except in compliance with the License. 
009 * You may obtain a copy of the License at http://www.mozilla.org/MPL/ 
010 * Software distributed under the License is distributed on an "AS IS" basis, 
011 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the 
012 * specific language governing rights and limitations under the License. 
013 * 
014 * The Original Code is "[file_name]".  Description: 
015 * "[one_line_description]" 
016 * 
017 * The Initial Developer of the Original Code is University Health Network. Copyright (C) 
018 * 2012.  All Rights Reserved. 
019 * 
020 * Contributor(s): ______________________________________. 
021 * 
022 * Alternatively, the contents of this file may be used under the terms of the 
023 * GNU General Public License (the  "GPL"), in which case the provisions of the GPL are 
024 * applicable instead of those above.  If you wish to allow use of your version of this 
025 * file only under the terms of the GPL and not to allow others to use your version 
026 * of this file under the MPL, indicate your decision by deleting  the provisions above 
027 * and replace  them with the notice and other provisions required by the GPL License.  
028 * If you do not delete the provisions above, a recipient may use your version of 
029 * this file under either the MPL or the GPL. 
030 * 
031 */
032
033
034package ca.uhn.hl7v2.model.v28.segment;
035
036// import ca.uhn.hl7v2.model.v28.group.*;
037import ca.uhn.hl7v2.model.v28.datatype.*;
038import ca.uhn.hl7v2.HL7Exception;
039import ca.uhn.hl7v2.parser.ModelClassFactory;
040import ca.uhn.hl7v2.parser.DefaultModelClassFactory;
041import ca.uhn.hl7v2.model.AbstractMessage;
042import ca.uhn.hl7v2.model.Group;
043import ca.uhn.hl7v2.model.Type;
044import ca.uhn.hl7v2.model.AbstractSegment;
045import ca.uhn.hl7v2.model.Varies;
046
047
048/**
049 *<p>Represents an HL7 DON message segment (Donation). 
050 * This segment has the following fields:</p>
051 * <ul>
052     * <li>DON-1: Donation Identification Number - DIN (EI) <b>optional </b>
053     * <li>DON-2: Donation Type (CNE) <b>optional </b>
054     * <li>DON-3: Phlebotomy Start Date/Time (DTM) <b> </b>
055     * <li>DON-4: Phlebotomy End Date/Time (DTM) <b> </b>
056     * <li>DON-5: Donation Duration (NM) <b> </b>
057     * <li>DON-6: Donation Duration Units (CNE) <b> </b>
058     * <li>DON-7: Intended Procedure Type (CNE) <b> repeating</b>
059     * <li>DON-8: Actual Procedure Type (CNE) <b> repeating</b>
060     * <li>DON-9: Donor Eligibility Flag (ID) <b> </b>
061     * <li>DON-10: Donor Eligibility Procedure Type (CNE) <b> repeating</b>
062     * <li>DON-11: Donor Eligibility Date (DTM) <b> </b>
063     * <li>DON-12: Process Interruption (CNE) <b> </b>
064     * <li>DON-13: Process Interruption Reason (CNE) <b> </b>
065     * <li>DON-14: Phlebotomy Issue (CNE) <b> repeating</b>
066     * <li>DON-15: Intended Recipient Blood Relative (ID) <b> </b>
067     * <li>DON-16: Intended Recipient Name (XPN) <b> </b>
068     * <li>DON-17: Intended Recipient DOB (DTM) <b> </b>
069     * <li>DON-18: Intended Recipient Facility (XON) <b> </b>
070     * <li>DON-19: Intended Recipient Procedure Date (DTM) <b> </b>
071     * <li>DON-20: Intended Recipient Ordering Provider (XPN) <b> </b>
072     * <li>DON-21: Phlebotomy Status (CNE) <b> </b>
073     * <li>DON-22: Arm Stick (CNE) <b> </b>
074     * <li>DON-23: Bleed Start Phlebotomist (XPN) <b> </b>
075     * <li>DON-24: Bleed End Phlebotomist (XPN) <b> </b>
076     * <li>DON-25: Aphaeresis Type Machine (ST) <b> </b>
077     * <li>DON-26: Aphaeresis Machine Serial Number (ST) <b> </b>
078     * <li>DON-27: Donor Reaction (ID) <b> </b>
079     * <li>DON-28: Final Review Staff ID (XPN) <b> </b>
080     * <li>DON-29: Final Review Date/Time (DTM) <b> </b>
081     * <li>DON-30: Number of Tubes Collected (NM) <b> </b>
082     * <li>DON-31: Donation Sample Identifier (EI) <b> repeating</b>
083     * <li>DON-32: Donation Accept Staff (XCN) <b> </b>
084     * <li>DON-33: Donation Material Review Staff (XCN) <b> repeating</b>
085 * </ul>
086 */
087@SuppressWarnings("unused")
088public class DON extends AbstractSegment {
089
090    /** 
091     * Creates a new DON segment
092     */
093    public DON(Group parent, ModelClassFactory factory) {
094       super(parent, factory);
095       init(factory);
096    }
097
098    private void init(ModelClassFactory factory) {
099       try {
100                                  this.add(EI.class, false, 1, 0, new Object[]{ getMessage() }, "Donation Identification Number - DIN");
101                                  this.add(CNE.class, false, 1, 0, new Object[]{ getMessage() }, "Donation Type");
102                                  this.add(DTM.class, true, 1, 0, new Object[]{ getMessage() }, "Phlebotomy Start Date/Time");
103                                  this.add(DTM.class, true, 1, 0, new Object[]{ getMessage() }, "Phlebotomy End Date/Time");
104                                  this.add(NM.class, true, 1, 0, new Object[]{ getMessage() }, "Donation Duration");
105                                  this.add(CNE.class, true, 1, 0, new Object[]{ getMessage() }, "Donation Duration Units");
106                                  this.add(CNE.class, true, 0, 0, new Object[]{ getMessage() }, "Intended Procedure Type");
107                                  this.add(CNE.class, true, 0, 0, new Object[]{ getMessage() }, "Actual Procedure Type");
108                                              this.add(ID.class, true, 1, 0, new Object[]{ getMessage(), new Integer(136) }, "Donor Eligibility Flag");
109                                  this.add(CNE.class, true, 0, 0, new Object[]{ getMessage() }, "Donor Eligibility Procedure Type");
110                                  this.add(DTM.class, true, 1, 0, new Object[]{ getMessage() }, "Donor Eligibility Date");
111                                  this.add(CNE.class, true, 1, 0, new Object[]{ getMessage() }, "Process Interruption");
112                                  this.add(CNE.class, true, 1, 0, new Object[]{ getMessage() }, "Process Interruption Reason");
113                                  this.add(CNE.class, true, 0, 0, new Object[]{ getMessage() }, "Phlebotomy Issue");
114                                              this.add(ID.class, true, 1, 0, new Object[]{ getMessage(), new Integer(136) }, "Intended Recipient Blood Relative");
115                                  this.add(XPN.class, true, 1, 0, new Object[]{ getMessage() }, "Intended Recipient Name");
116                                  this.add(DTM.class, true, 1, 0, new Object[]{ getMessage() }, "Intended Recipient DOB");
117                                  this.add(XON.class, true, 1, 0, new Object[]{ getMessage() }, "Intended Recipient Facility");
118                                  this.add(DTM.class, true, 1, 0, new Object[]{ getMessage() }, "Intended Recipient Procedure Date");
119                                  this.add(XPN.class, true, 1, 0, new Object[]{ getMessage() }, "Intended Recipient Ordering Provider");
120                                  this.add(CNE.class, true, 1, 0, new Object[]{ getMessage() }, "Phlebotomy Status");
121                                  this.add(CNE.class, true, 1, 0, new Object[]{ getMessage() }, "Arm Stick");
122                                  this.add(XPN.class, true, 1, 0, new Object[]{ getMessage() }, "Bleed Start Phlebotomist");
123                                  this.add(XPN.class, true, 1, 0, new Object[]{ getMessage() }, "Bleed End Phlebotomist");
124                                  this.add(ST.class, true, 1, 0, new Object[]{ getMessage() }, "Aphaeresis Type Machine");
125                                  this.add(ST.class, true, 1, 0, new Object[]{ getMessage() }, "Aphaeresis Machine Serial Number");
126                                              this.add(ID.class, true, 1, 0, new Object[]{ getMessage(), new Integer(136) }, "Donor Reaction");
127                                  this.add(XPN.class, true, 1, 0, new Object[]{ getMessage() }, "Final Review Staff ID");
128                                  this.add(DTM.class, true, 1, 0, new Object[]{ getMessage() }, "Final Review Date/Time");
129                                  this.add(NM.class, true, 1, 0, new Object[]{ getMessage() }, "Number of Tubes Collected");
130                                  this.add(EI.class, true, 0, 0, new Object[]{ getMessage() }, "Donation Sample Identifier");
131                                  this.add(XCN.class, true, 1, 0, new Object[]{ getMessage() }, "Donation Accept Staff");
132                                  this.add(XCN.class, true, 0, 0, new Object[]{ getMessage() }, "Donation Material Review Staff");
133       } catch(HL7Exception e) {
134          log.error("Unexpected error creating DON - this is probably a bug in the source code generator.", e);
135       }
136    }
137
138
139
140    /**
141     * Returns
142     * DON-1: "Donation Identification Number - DIN" - creates it if necessary
143     */
144    public EI getDonationIdentificationNumberDIN() { 
145                EI retVal = this.getTypedField(1, 0);
146                return retVal;
147    }
148    
149    /**
150     * Returns
151     * DON-1: "Donation Identification Number - DIN" - creates it if necessary
152     */
153    public EI getDon1_DonationIdentificationNumberDIN() { 
154                EI retVal = this.getTypedField(1, 0);
155                return retVal;
156    }
157
158
159
160    /**
161     * Returns
162     * DON-2: "Donation Type" - creates it if necessary
163     */
164    public CNE getDonationType() { 
165                CNE retVal = this.getTypedField(2, 0);
166                return retVal;
167    }
168    
169    /**
170     * Returns
171     * DON-2: "Donation Type" - creates it if necessary
172     */
173    public CNE getDon2_DonationType() { 
174                CNE retVal = this.getTypedField(2, 0);
175                return retVal;
176    }
177
178
179
180    /**
181     * Returns
182     * DON-3: "Phlebotomy Start Date/Time" - creates it if necessary
183     */
184    public DTM getPhlebotomyStartDateTime() { 
185                DTM retVal = this.getTypedField(3, 0);
186                return retVal;
187    }
188    
189    /**
190     * Returns
191     * DON-3: "Phlebotomy Start Date/Time" - creates it if necessary
192     */
193    public DTM getDon3_PhlebotomyStartDateTime() { 
194                DTM retVal = this.getTypedField(3, 0);
195                return retVal;
196    }
197
198
199
200    /**
201     * Returns
202     * DON-4: "Phlebotomy End Date/Time" - creates it if necessary
203     */
204    public DTM getPhlebotomyEndDateTime() { 
205                DTM retVal = this.getTypedField(4, 0);
206                return retVal;
207    }
208    
209    /**
210     * Returns
211     * DON-4: "Phlebotomy End Date/Time" - creates it if necessary
212     */
213    public DTM getDon4_PhlebotomyEndDateTime() { 
214                DTM retVal = this.getTypedField(4, 0);
215                return retVal;
216    }
217
218
219
220    /**
221     * Returns
222     * DON-5: "Donation Duration" - creates it if necessary
223     */
224    public NM getDonationDuration() { 
225                NM retVal = this.getTypedField(5, 0);
226                return retVal;
227    }
228    
229    /**
230     * Returns
231     * DON-5: "Donation Duration" - creates it if necessary
232     */
233    public NM getDon5_DonationDuration() { 
234                NM retVal = this.getTypedField(5, 0);
235                return retVal;
236    }
237
238
239
240    /**
241     * Returns
242     * DON-6: "Donation Duration Units" - creates it if necessary
243     */
244    public CNE getDonationDurationUnits() { 
245                CNE retVal = this.getTypedField(6, 0);
246                return retVal;
247    }
248    
249    /**
250     * Returns
251     * DON-6: "Donation Duration Units" - creates it if necessary
252     */
253    public CNE getDon6_DonationDurationUnits() { 
254                CNE retVal = this.getTypedField(6, 0);
255                return retVal;
256    }
257
258
259    /**
260     * Returns all repetitions of Intended Procedure Type (DON-7).
261     */
262    public CNE[] getIntendedProcedureType() {
263        CNE[] retVal = this.getTypedField(7, new CNE[0]);
264        return retVal;
265    }
266
267
268    /**
269     * Returns all repetitions of Intended Procedure Type (DON-7).
270     */
271    public CNE[] getDon7_IntendedProcedureType() {
272        CNE[] retVal = this.getTypedField(7, new CNE[0]);
273        return retVal;
274    }
275
276
277    /**
278     * Returns a count of the current number of repetitions of Intended Procedure Type (DON-7).
279     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
280     * it will return zero.
281     */
282    public int getIntendedProcedureTypeReps() {
283        return this.getReps(7);
284    }
285
286
287    /**
288     * Returns a specific repetition of
289     * DON-7: "Intended Procedure Type" - creates it if necessary
290     *
291     * @param rep The repetition index (0-indexed)
292     */
293    public CNE getIntendedProcedureType(int rep) { 
294                CNE retVal = this.getTypedField(7, rep);
295                return retVal;
296    }
297
298    /**
299     * Returns a specific repetition of
300     * DON-7: "Intended Procedure Type" - creates it if necessary
301     *
302     * @param rep The repetition index (0-indexed)
303     */
304    public CNE getDon7_IntendedProcedureType(int rep) { 
305                CNE retVal = this.getTypedField(7, rep);
306                return retVal;
307    }
308
309    /**
310     * Returns a count of the current number of repetitions of Intended Procedure Type (DON-7).
311     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
312     * it will return zero.
313     */
314    public int getDon7_IntendedProcedureTypeReps() {
315        return this.getReps(7);
316    }
317
318
319    /**
320     * Inserts a repetition of
321     * DON-7: "Intended Procedure Type" at a specific index
322     *
323     * @param rep The repetition index (0-indexed)
324     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
325     */
326    public CNE insertIntendedProcedureType(int rep) throws HL7Exception { 
327        return (CNE) super.insertRepetition(7, rep);
328    }
329
330
331    /**
332     * Inserts a repetition of
333     * DON-7: "Intended Procedure Type" at a specific index
334     *
335     * @param rep The repetition index (0-indexed)
336     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
337     */
338    public CNE insertDon7_IntendedProcedureType(int rep) throws HL7Exception { 
339        return (CNE) super.insertRepetition(7, rep);
340    }
341
342
343    /**
344     * Removes a repetition of
345     * DON-7: "Intended Procedure Type" at a specific index
346     *
347     * @param rep The repetition index (0-indexed)
348     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
349     */
350    public CNE removeIntendedProcedureType(int rep) throws HL7Exception { 
351        return (CNE) super.removeRepetition(7, rep);
352    }
353
354
355    /**
356     * Removes a repetition of
357     * DON-7: "Intended Procedure Type" at a specific index
358     *
359     * @param rep The repetition index (0-indexed)
360     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
361     */
362    public CNE removeDon7_IntendedProcedureType(int rep) throws HL7Exception { 
363        return (CNE) super.removeRepetition(7, rep);
364    }
365
366
367
368    /**
369     * Returns all repetitions of Actual Procedure Type (DON-8).
370     */
371    public CNE[] getActualProcedureType() {
372        CNE[] retVal = this.getTypedField(8, new CNE[0]);
373        return retVal;
374    }
375
376
377    /**
378     * Returns all repetitions of Actual Procedure Type (DON-8).
379     */
380    public CNE[] getDon8_ActualProcedureType() {
381        CNE[] retVal = this.getTypedField(8, new CNE[0]);
382        return retVal;
383    }
384
385
386    /**
387     * Returns a count of the current number of repetitions of Actual Procedure Type (DON-8).
388     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
389     * it will return zero.
390     */
391    public int getActualProcedureTypeReps() {
392        return this.getReps(8);
393    }
394
395
396    /**
397     * Returns a specific repetition of
398     * DON-8: "Actual Procedure Type" - creates it if necessary
399     *
400     * @param rep The repetition index (0-indexed)
401     */
402    public CNE getActualProcedureType(int rep) { 
403                CNE retVal = this.getTypedField(8, rep);
404                return retVal;
405    }
406
407    /**
408     * Returns a specific repetition of
409     * DON-8: "Actual Procedure Type" - creates it if necessary
410     *
411     * @param rep The repetition index (0-indexed)
412     */
413    public CNE getDon8_ActualProcedureType(int rep) { 
414                CNE retVal = this.getTypedField(8, rep);
415                return retVal;
416    }
417
418    /**
419     * Returns a count of the current number of repetitions of Actual Procedure Type (DON-8).
420     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
421     * it will return zero.
422     */
423    public int getDon8_ActualProcedureTypeReps() {
424        return this.getReps(8);
425    }
426
427
428    /**
429     * Inserts a repetition of
430     * DON-8: "Actual Procedure Type" at a specific index
431     *
432     * @param rep The repetition index (0-indexed)
433     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
434     */
435    public CNE insertActualProcedureType(int rep) throws HL7Exception { 
436        return (CNE) super.insertRepetition(8, rep);
437    }
438
439
440    /**
441     * Inserts a repetition of
442     * DON-8: "Actual Procedure Type" at a specific index
443     *
444     * @param rep The repetition index (0-indexed)
445     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
446     */
447    public CNE insertDon8_ActualProcedureType(int rep) throws HL7Exception { 
448        return (CNE) super.insertRepetition(8, rep);
449    }
450
451
452    /**
453     * Removes a repetition of
454     * DON-8: "Actual Procedure Type" at a specific index
455     *
456     * @param rep The repetition index (0-indexed)
457     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
458     */
459    public CNE removeActualProcedureType(int rep) throws HL7Exception { 
460        return (CNE) super.removeRepetition(8, rep);
461    }
462
463
464    /**
465     * Removes a repetition of
466     * DON-8: "Actual Procedure Type" at a specific index
467     *
468     * @param rep The repetition index (0-indexed)
469     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
470     */
471    public CNE removeDon8_ActualProcedureType(int rep) throws HL7Exception { 
472        return (CNE) super.removeRepetition(8, rep);
473    }
474
475
476
477
478    /**
479     * Returns
480     * DON-9: "Donor Eligibility Flag" - creates it if necessary
481     */
482    public ID getDonorEligibilityFlag() { 
483                ID retVal = this.getTypedField(9, 0);
484                return retVal;
485    }
486    
487    /**
488     * Returns
489     * DON-9: "Donor Eligibility Flag" - creates it if necessary
490     */
491    public ID getDon9_DonorEligibilityFlag() { 
492                ID retVal = this.getTypedField(9, 0);
493                return retVal;
494    }
495
496
497    /**
498     * Returns all repetitions of Donor Eligibility Procedure Type (DON-10).
499     */
500    public CNE[] getDonorEligibilityProcedureType() {
501        CNE[] retVal = this.getTypedField(10, new CNE[0]);
502        return retVal;
503    }
504
505
506    /**
507     * Returns all repetitions of Donor Eligibility Procedure Type (DON-10).
508     */
509    public CNE[] getDon10_DonorEligibilityProcedureType() {
510        CNE[] retVal = this.getTypedField(10, new CNE[0]);
511        return retVal;
512    }
513
514
515    /**
516     * Returns a count of the current number of repetitions of Donor Eligibility Procedure Type (DON-10).
517     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
518     * it will return zero.
519     */
520    public int getDonorEligibilityProcedureTypeReps() {
521        return this.getReps(10);
522    }
523
524
525    /**
526     * Returns a specific repetition of
527     * DON-10: "Donor Eligibility Procedure Type" - creates it if necessary
528     *
529     * @param rep The repetition index (0-indexed)
530     */
531    public CNE getDonorEligibilityProcedureType(int rep) { 
532                CNE retVal = this.getTypedField(10, rep);
533                return retVal;
534    }
535
536    /**
537     * Returns a specific repetition of
538     * DON-10: "Donor Eligibility Procedure Type" - creates it if necessary
539     *
540     * @param rep The repetition index (0-indexed)
541     */
542    public CNE getDon10_DonorEligibilityProcedureType(int rep) { 
543                CNE retVal = this.getTypedField(10, rep);
544                return retVal;
545    }
546
547    /**
548     * Returns a count of the current number of repetitions of Donor Eligibility Procedure Type (DON-10).
549     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
550     * it will return zero.
551     */
552    public int getDon10_DonorEligibilityProcedureTypeReps() {
553        return this.getReps(10);
554    }
555
556
557    /**
558     * Inserts a repetition of
559     * DON-10: "Donor Eligibility Procedure Type" at a specific index
560     *
561     * @param rep The repetition index (0-indexed)
562     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
563     */
564    public CNE insertDonorEligibilityProcedureType(int rep) throws HL7Exception { 
565        return (CNE) super.insertRepetition(10, rep);
566    }
567
568
569    /**
570     * Inserts a repetition of
571     * DON-10: "Donor Eligibility Procedure Type" at a specific index
572     *
573     * @param rep The repetition index (0-indexed)
574     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
575     */
576    public CNE insertDon10_DonorEligibilityProcedureType(int rep) throws HL7Exception { 
577        return (CNE) super.insertRepetition(10, rep);
578    }
579
580
581    /**
582     * Removes a repetition of
583     * DON-10: "Donor Eligibility Procedure Type" at a specific index
584     *
585     * @param rep The repetition index (0-indexed)
586     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
587     */
588    public CNE removeDonorEligibilityProcedureType(int rep) throws HL7Exception { 
589        return (CNE) super.removeRepetition(10, rep);
590    }
591
592
593    /**
594     * Removes a repetition of
595     * DON-10: "Donor Eligibility Procedure Type" at a specific index
596     *
597     * @param rep The repetition index (0-indexed)
598     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
599     */
600    public CNE removeDon10_DonorEligibilityProcedureType(int rep) throws HL7Exception { 
601        return (CNE) super.removeRepetition(10, rep);
602    }
603
604
605
606
607    /**
608     * Returns
609     * DON-11: "Donor Eligibility Date" - creates it if necessary
610     */
611    public DTM getDonorEligibilityDate() { 
612                DTM retVal = this.getTypedField(11, 0);
613                return retVal;
614    }
615    
616    /**
617     * Returns
618     * DON-11: "Donor Eligibility Date" - creates it if necessary
619     */
620    public DTM getDon11_DonorEligibilityDate() { 
621                DTM retVal = this.getTypedField(11, 0);
622                return retVal;
623    }
624
625
626
627    /**
628     * Returns
629     * DON-12: "Process Interruption" - creates it if necessary
630     */
631    public CNE getProcessInterruption() { 
632                CNE retVal = this.getTypedField(12, 0);
633                return retVal;
634    }
635    
636    /**
637     * Returns
638     * DON-12: "Process Interruption" - creates it if necessary
639     */
640    public CNE getDon12_ProcessInterruption() { 
641                CNE retVal = this.getTypedField(12, 0);
642                return retVal;
643    }
644
645
646
647    /**
648     * Returns
649     * DON-13: "Process Interruption Reason" - creates it if necessary
650     */
651    public CNE getProcessInterruptionReason() { 
652                CNE retVal = this.getTypedField(13, 0);
653                return retVal;
654    }
655    
656    /**
657     * Returns
658     * DON-13: "Process Interruption Reason" - creates it if necessary
659     */
660    public CNE getDon13_ProcessInterruptionReason() { 
661                CNE retVal = this.getTypedField(13, 0);
662                return retVal;
663    }
664
665
666    /**
667     * Returns all repetitions of Phlebotomy Issue (DON-14).
668     */
669    public CNE[] getPhlebotomyIssue() {
670        CNE[] retVal = this.getTypedField(14, new CNE[0]);
671        return retVal;
672    }
673
674
675    /**
676     * Returns all repetitions of Phlebotomy Issue (DON-14).
677     */
678    public CNE[] getDon14_PhlebotomyIssue() {
679        CNE[] retVal = this.getTypedField(14, new CNE[0]);
680        return retVal;
681    }
682
683
684    /**
685     * Returns a count of the current number of repetitions of Phlebotomy Issue (DON-14).
686     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
687     * it will return zero.
688     */
689    public int getPhlebotomyIssueReps() {
690        return this.getReps(14);
691    }
692
693
694    /**
695     * Returns a specific repetition of
696     * DON-14: "Phlebotomy Issue" - creates it if necessary
697     *
698     * @param rep The repetition index (0-indexed)
699     */
700    public CNE getPhlebotomyIssue(int rep) { 
701                CNE retVal = this.getTypedField(14, rep);
702                return retVal;
703    }
704
705    /**
706     * Returns a specific repetition of
707     * DON-14: "Phlebotomy Issue" - creates it if necessary
708     *
709     * @param rep The repetition index (0-indexed)
710     */
711    public CNE getDon14_PhlebotomyIssue(int rep) { 
712                CNE retVal = this.getTypedField(14, rep);
713                return retVal;
714    }
715
716    /**
717     * Returns a count of the current number of repetitions of Phlebotomy Issue (DON-14).
718     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
719     * it will return zero.
720     */
721    public int getDon14_PhlebotomyIssueReps() {
722        return this.getReps(14);
723    }
724
725
726    /**
727     * Inserts a repetition of
728     * DON-14: "Phlebotomy Issue" at a specific index
729     *
730     * @param rep The repetition index (0-indexed)
731     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
732     */
733    public CNE insertPhlebotomyIssue(int rep) throws HL7Exception { 
734        return (CNE) super.insertRepetition(14, rep);
735    }
736
737
738    /**
739     * Inserts a repetition of
740     * DON-14: "Phlebotomy Issue" at a specific index
741     *
742     * @param rep The repetition index (0-indexed)
743     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
744     */
745    public CNE insertDon14_PhlebotomyIssue(int rep) throws HL7Exception { 
746        return (CNE) super.insertRepetition(14, rep);
747    }
748
749
750    /**
751     * Removes a repetition of
752     * DON-14: "Phlebotomy Issue" at a specific index
753     *
754     * @param rep The repetition index (0-indexed)
755     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
756     */
757    public CNE removePhlebotomyIssue(int rep) throws HL7Exception { 
758        return (CNE) super.removeRepetition(14, rep);
759    }
760
761
762    /**
763     * Removes a repetition of
764     * DON-14: "Phlebotomy Issue" at a specific index
765     *
766     * @param rep The repetition index (0-indexed)
767     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
768     */
769    public CNE removeDon14_PhlebotomyIssue(int rep) throws HL7Exception { 
770        return (CNE) super.removeRepetition(14, rep);
771    }
772
773
774
775
776    /**
777     * Returns
778     * DON-15: "Intended Recipient Blood Relative" - creates it if necessary
779     */
780    public ID getIntendedRecipientBloodRelative() { 
781                ID retVal = this.getTypedField(15, 0);
782                return retVal;
783    }
784    
785    /**
786     * Returns
787     * DON-15: "Intended Recipient Blood Relative" - creates it if necessary
788     */
789    public ID getDon15_IntendedRecipientBloodRelative() { 
790                ID retVal = this.getTypedField(15, 0);
791                return retVal;
792    }
793
794
795
796    /**
797     * Returns
798     * DON-16: "Intended Recipient Name" - creates it if necessary
799     */
800    public XPN getIntendedRecipientName() { 
801                XPN retVal = this.getTypedField(16, 0);
802                return retVal;
803    }
804    
805    /**
806     * Returns
807     * DON-16: "Intended Recipient Name" - creates it if necessary
808     */
809    public XPN getDon16_IntendedRecipientName() { 
810                XPN retVal = this.getTypedField(16, 0);
811                return retVal;
812    }
813
814
815
816    /**
817     * Returns
818     * DON-17: "Intended Recipient DOB" - creates it if necessary
819     */
820    public DTM getIntendedRecipientDOB() { 
821                DTM retVal = this.getTypedField(17, 0);
822                return retVal;
823    }
824    
825    /**
826     * Returns
827     * DON-17: "Intended Recipient DOB" - creates it if necessary
828     */
829    public DTM getDon17_IntendedRecipientDOB() { 
830                DTM retVal = this.getTypedField(17, 0);
831                return retVal;
832    }
833
834
835
836    /**
837     * Returns
838     * DON-18: "Intended Recipient Facility" - creates it if necessary
839     */
840    public XON getIntendedRecipientFacility() { 
841                XON retVal = this.getTypedField(18, 0);
842                return retVal;
843    }
844    
845    /**
846     * Returns
847     * DON-18: "Intended Recipient Facility" - creates it if necessary
848     */
849    public XON getDon18_IntendedRecipientFacility() { 
850                XON retVal = this.getTypedField(18, 0);
851                return retVal;
852    }
853
854
855
856    /**
857     * Returns
858     * DON-19: "Intended Recipient Procedure Date" - creates it if necessary
859     */
860    public DTM getIntendedRecipientProcedureDate() { 
861                DTM retVal = this.getTypedField(19, 0);
862                return retVal;
863    }
864    
865    /**
866     * Returns
867     * DON-19: "Intended Recipient Procedure Date" - creates it if necessary
868     */
869    public DTM getDon19_IntendedRecipientProcedureDate() { 
870                DTM retVal = this.getTypedField(19, 0);
871                return retVal;
872    }
873
874
875
876    /**
877     * Returns
878     * DON-20: "Intended Recipient Ordering Provider" - creates it if necessary
879     */
880    public XPN getIntendedRecipientOrderingProvider() { 
881                XPN retVal = this.getTypedField(20, 0);
882                return retVal;
883    }
884    
885    /**
886     * Returns
887     * DON-20: "Intended Recipient Ordering Provider" - creates it if necessary
888     */
889    public XPN getDon20_IntendedRecipientOrderingProvider() { 
890                XPN retVal = this.getTypedField(20, 0);
891                return retVal;
892    }
893
894
895
896    /**
897     * Returns
898     * DON-21: "Phlebotomy Status" - creates it if necessary
899     */
900    public CNE getPhlebotomyStatus() { 
901                CNE retVal = this.getTypedField(21, 0);
902                return retVal;
903    }
904    
905    /**
906     * Returns
907     * DON-21: "Phlebotomy Status" - creates it if necessary
908     */
909    public CNE getDon21_PhlebotomyStatus() { 
910                CNE retVal = this.getTypedField(21, 0);
911                return retVal;
912    }
913
914
915
916    /**
917     * Returns
918     * DON-22: "Arm Stick" - creates it if necessary
919     */
920    public CNE getArmStick() { 
921                CNE retVal = this.getTypedField(22, 0);
922                return retVal;
923    }
924    
925    /**
926     * Returns
927     * DON-22: "Arm Stick" - creates it if necessary
928     */
929    public CNE getDon22_ArmStick() { 
930                CNE retVal = this.getTypedField(22, 0);
931                return retVal;
932    }
933
934
935
936    /**
937     * Returns
938     * DON-23: "Bleed Start Phlebotomist" - creates it if necessary
939     */
940    public XPN getBleedStartPhlebotomist() { 
941                XPN retVal = this.getTypedField(23, 0);
942                return retVal;
943    }
944    
945    /**
946     * Returns
947     * DON-23: "Bleed Start Phlebotomist" - creates it if necessary
948     */
949    public XPN getDon23_BleedStartPhlebotomist() { 
950                XPN retVal = this.getTypedField(23, 0);
951                return retVal;
952    }
953
954
955
956    /**
957     * Returns
958     * DON-24: "Bleed End Phlebotomist" - creates it if necessary
959     */
960    public XPN getBleedEndPhlebotomist() { 
961                XPN retVal = this.getTypedField(24, 0);
962                return retVal;
963    }
964    
965    /**
966     * Returns
967     * DON-24: "Bleed End Phlebotomist" - creates it if necessary
968     */
969    public XPN getDon24_BleedEndPhlebotomist() { 
970                XPN retVal = this.getTypedField(24, 0);
971                return retVal;
972    }
973
974
975
976    /**
977     * Returns
978     * DON-25: "Aphaeresis Type Machine" - creates it if necessary
979     */
980    public ST getAphaeresisTypeMachine() { 
981                ST retVal = this.getTypedField(25, 0);
982                return retVal;
983    }
984    
985    /**
986     * Returns
987     * DON-25: "Aphaeresis Type Machine" - creates it if necessary
988     */
989    public ST getDon25_AphaeresisTypeMachine() { 
990                ST retVal = this.getTypedField(25, 0);
991                return retVal;
992    }
993
994
995
996    /**
997     * Returns
998     * DON-26: "Aphaeresis Machine Serial Number" - creates it if necessary
999     */
1000    public ST getAphaeresisMachineSerialNumber() { 
1001                ST retVal = this.getTypedField(26, 0);
1002                return retVal;
1003    }
1004    
1005    /**
1006     * Returns
1007     * DON-26: "Aphaeresis Machine Serial Number" - creates it if necessary
1008     */
1009    public ST getDon26_AphaeresisMachineSerialNumber() { 
1010                ST retVal = this.getTypedField(26, 0);
1011                return retVal;
1012    }
1013
1014
1015
1016    /**
1017     * Returns
1018     * DON-27: "Donor Reaction" - creates it if necessary
1019     */
1020    public ID getDonorReaction() { 
1021                ID retVal = this.getTypedField(27, 0);
1022                return retVal;
1023    }
1024    
1025    /**
1026     * Returns
1027     * DON-27: "Donor Reaction" - creates it if necessary
1028     */
1029    public ID getDon27_DonorReaction() { 
1030                ID retVal = this.getTypedField(27, 0);
1031                return retVal;
1032    }
1033
1034
1035
1036    /**
1037     * Returns
1038     * DON-28: "Final Review Staff ID" - creates it if necessary
1039     */
1040    public XPN getFinalReviewStaffID() { 
1041                XPN retVal = this.getTypedField(28, 0);
1042                return retVal;
1043    }
1044    
1045    /**
1046     * Returns
1047     * DON-28: "Final Review Staff ID" - creates it if necessary
1048     */
1049    public XPN getDon28_FinalReviewStaffID() { 
1050                XPN retVal = this.getTypedField(28, 0);
1051                return retVal;
1052    }
1053
1054
1055
1056    /**
1057     * Returns
1058     * DON-29: "Final Review Date/Time" - creates it if necessary
1059     */
1060    public DTM getFinalReviewDateTime() { 
1061                DTM retVal = this.getTypedField(29, 0);
1062                return retVal;
1063    }
1064    
1065    /**
1066     * Returns
1067     * DON-29: "Final Review Date/Time" - creates it if necessary
1068     */
1069    public DTM getDon29_FinalReviewDateTime() { 
1070                DTM retVal = this.getTypedField(29, 0);
1071                return retVal;
1072    }
1073
1074
1075
1076    /**
1077     * Returns
1078     * DON-30: "Number of Tubes Collected" - creates it if necessary
1079     */
1080    public NM getNumberOfTubesCollected() { 
1081                NM retVal = this.getTypedField(30, 0);
1082                return retVal;
1083    }
1084    
1085    /**
1086     * Returns
1087     * DON-30: "Number of Tubes Collected" - creates it if necessary
1088     */
1089    public NM getDon30_NumberOfTubesCollected() { 
1090                NM retVal = this.getTypedField(30, 0);
1091                return retVal;
1092    }
1093
1094
1095    /**
1096     * Returns all repetitions of Donation Sample Identifier (DON-31).
1097     */
1098    public EI[] getDonationSampleIdentifier() {
1099        EI[] retVal = this.getTypedField(31, new EI[0]);
1100        return retVal;
1101    }
1102
1103
1104    /**
1105     * Returns all repetitions of Donation Sample Identifier (DON-31).
1106     */
1107    public EI[] getDon31_DonationSampleIdentifier() {
1108        EI[] retVal = this.getTypedField(31, new EI[0]);
1109        return retVal;
1110    }
1111
1112
1113    /**
1114     * Returns a count of the current number of repetitions of Donation Sample Identifier (DON-31).
1115     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1116     * it will return zero.
1117     */
1118    public int getDonationSampleIdentifierReps() {
1119        return this.getReps(31);
1120    }
1121
1122
1123    /**
1124     * Returns a specific repetition of
1125     * DON-31: "Donation Sample Identifier" - creates it if necessary
1126     *
1127     * @param rep The repetition index (0-indexed)
1128     */
1129    public EI getDonationSampleIdentifier(int rep) { 
1130                EI retVal = this.getTypedField(31, rep);
1131                return retVal;
1132    }
1133
1134    /**
1135     * Returns a specific repetition of
1136     * DON-31: "Donation Sample Identifier" - creates it if necessary
1137     *
1138     * @param rep The repetition index (0-indexed)
1139     */
1140    public EI getDon31_DonationSampleIdentifier(int rep) { 
1141                EI retVal = this.getTypedField(31, rep);
1142                return retVal;
1143    }
1144
1145    /**
1146     * Returns a count of the current number of repetitions of Donation Sample Identifier (DON-31).
1147     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1148     * it will return zero.
1149     */
1150    public int getDon31_DonationSampleIdentifierReps() {
1151        return this.getReps(31);
1152    }
1153
1154
1155    /**
1156     * Inserts a repetition of
1157     * DON-31: "Donation Sample Identifier" at a specific index
1158     *
1159     * @param rep The repetition index (0-indexed)
1160     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1161     */
1162    public EI insertDonationSampleIdentifier(int rep) throws HL7Exception { 
1163        return (EI) super.insertRepetition(31, rep);
1164    }
1165
1166
1167    /**
1168     * Inserts a repetition of
1169     * DON-31: "Donation Sample Identifier" at a specific index
1170     *
1171     * @param rep The repetition index (0-indexed)
1172     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1173     */
1174    public EI insertDon31_DonationSampleIdentifier(int rep) throws HL7Exception { 
1175        return (EI) super.insertRepetition(31, rep);
1176    }
1177
1178
1179    /**
1180     * Removes a repetition of
1181     * DON-31: "Donation Sample Identifier" 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 EI removeDonationSampleIdentifier(int rep) throws HL7Exception { 
1187        return (EI) super.removeRepetition(31, rep);
1188    }
1189
1190
1191    /**
1192     * Removes a repetition of
1193     * DON-31: "Donation Sample Identifier" 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 EI removeDon31_DonationSampleIdentifier(int rep) throws HL7Exception { 
1199        return (EI) super.removeRepetition(31, rep);
1200    }
1201
1202
1203
1204
1205    /**
1206     * Returns
1207     * DON-32: "Donation Accept Staff" - creates it if necessary
1208     */
1209    public XCN getDonationAcceptStaff() { 
1210                XCN retVal = this.getTypedField(32, 0);
1211                return retVal;
1212    }
1213    
1214    /**
1215     * Returns
1216     * DON-32: "Donation Accept Staff" - creates it if necessary
1217     */
1218    public XCN getDon32_DonationAcceptStaff() { 
1219                XCN retVal = this.getTypedField(32, 0);
1220                return retVal;
1221    }
1222
1223
1224    /**
1225     * Returns all repetitions of Donation Material Review Staff (DON-33).
1226     */
1227    public XCN[] getDonationMaterialReviewStaff() {
1228        XCN[] retVal = this.getTypedField(33, new XCN[0]);
1229        return retVal;
1230    }
1231
1232
1233    /**
1234     * Returns all repetitions of Donation Material Review Staff (DON-33).
1235     */
1236    public XCN[] getDon33_DonationMaterialReviewStaff() {
1237        XCN[] retVal = this.getTypedField(33, new XCN[0]);
1238        return retVal;
1239    }
1240
1241
1242    /**
1243     * Returns a count of the current number of repetitions of Donation Material Review Staff (DON-33).
1244     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1245     * it will return zero.
1246     */
1247    public int getDonationMaterialReviewStaffReps() {
1248        return this.getReps(33);
1249    }
1250
1251
1252    /**
1253     * Returns a specific repetition of
1254     * DON-33: "Donation Material Review Staff" - creates it if necessary
1255     *
1256     * @param rep The repetition index (0-indexed)
1257     */
1258    public XCN getDonationMaterialReviewStaff(int rep) { 
1259                XCN retVal = this.getTypedField(33, rep);
1260                return retVal;
1261    }
1262
1263    /**
1264     * Returns a specific repetition of
1265     * DON-33: "Donation Material Review Staff" - creates it if necessary
1266     *
1267     * @param rep The repetition index (0-indexed)
1268     */
1269    public XCN getDon33_DonationMaterialReviewStaff(int rep) { 
1270                XCN retVal = this.getTypedField(33, rep);
1271                return retVal;
1272    }
1273
1274    /**
1275     * Returns a count of the current number of repetitions of Donation Material Review Staff (DON-33).
1276     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1277     * it will return zero.
1278     */
1279    public int getDon33_DonationMaterialReviewStaffReps() {
1280        return this.getReps(33);
1281    }
1282
1283
1284    /**
1285     * Inserts a repetition of
1286     * DON-33: "Donation Material Review Staff" at a specific index
1287     *
1288     * @param rep The repetition index (0-indexed)
1289     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1290     */
1291    public XCN insertDonationMaterialReviewStaff(int rep) throws HL7Exception { 
1292        return (XCN) super.insertRepetition(33, rep);
1293    }
1294
1295
1296    /**
1297     * Inserts a repetition of
1298     * DON-33: "Donation Material Review Staff" at a specific index
1299     *
1300     * @param rep The repetition index (0-indexed)
1301     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1302     */
1303    public XCN insertDon33_DonationMaterialReviewStaff(int rep) throws HL7Exception { 
1304        return (XCN) super.insertRepetition(33, rep);
1305    }
1306
1307
1308    /**
1309     * Removes a repetition of
1310     * DON-33: "Donation Material Review Staff" at a specific index
1311     *
1312     * @param rep The repetition index (0-indexed)
1313     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1314     */
1315    public XCN removeDonationMaterialReviewStaff(int rep) throws HL7Exception { 
1316        return (XCN) super.removeRepetition(33, rep);
1317    }
1318
1319
1320    /**
1321     * Removes a repetition of
1322     * DON-33: "Donation Material Review Staff" at a specific index
1323     *
1324     * @param rep The repetition index (0-indexed)
1325     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1326     */
1327    public XCN removeDon33_DonationMaterialReviewStaff(int rep) throws HL7Exception { 
1328        return (XCN) super.removeRepetition(33, rep);
1329    }
1330
1331
1332
1333
1334
1335
1336    /** {@inheritDoc} */   
1337    protected Type createNewTypeWithoutReflection(int field) {
1338       switch (field) {
1339          case 0: return new EI(getMessage());
1340          case 1: return new CNE(getMessage());
1341          case 2: return new DTM(getMessage());
1342          case 3: return new DTM(getMessage());
1343          case 4: return new NM(getMessage());
1344          case 5: return new CNE(getMessage());
1345          case 6: return new CNE(getMessage());
1346          case 7: return new CNE(getMessage());
1347          case 8: return new ID(getMessage(), new Integer( 136 ));
1348          case 9: return new CNE(getMessage());
1349          case 10: return new DTM(getMessage());
1350          case 11: return new CNE(getMessage());
1351          case 12: return new CNE(getMessage());
1352          case 13: return new CNE(getMessage());
1353          case 14: return new ID(getMessage(), new Integer( 136 ));
1354          case 15: return new XPN(getMessage());
1355          case 16: return new DTM(getMessage());
1356          case 17: return new XON(getMessage());
1357          case 18: return new DTM(getMessage());
1358          case 19: return new XPN(getMessage());
1359          case 20: return new CNE(getMessage());
1360          case 21: return new CNE(getMessage());
1361          case 22: return new XPN(getMessage());
1362          case 23: return new XPN(getMessage());
1363          case 24: return new ST(getMessage());
1364          case 25: return new ST(getMessage());
1365          case 26: return new ID(getMessage(), new Integer( 136 ));
1366          case 27: return new XPN(getMessage());
1367          case 28: return new DTM(getMessage());
1368          case 29: return new NM(getMessage());
1369          case 30: return new EI(getMessage());
1370          case 31: return new XCN(getMessage());
1371          case 32: return new XCN(getMessage());
1372          default: return null;
1373       }
1374   }
1375
1376
1377}
1378