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.test.singledt.conf.segment;
35  
36  // import ca.uhn.hl7v2.test.singledt.conf.group.*;
37  import ca.uhn.hl7v2.model.v25.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 PR1 message segment (Procedures). 
50   * This segment has the following fields:</p>
51   * <ul>
52       * <li>PR1-1: Set ID - PR1 (SI) <b> </b>
53       * <li>PR1-2: Procedure Coding Method (IS) <b>optional </b>
54       * <li>PR1-3: Procedure Code (CE) <b> </b>
55       * <li>PR1-4: Procedure Description (ST) <b>optional repeating</b>
56       * <li>PR1-5: Procedure Date/Time (TS) <b> </b>
57       * <li>PR1-6: Procedure Functional Type (IS) <b>optional </b>
58       * <li>PR1-7: Procedure Minutes (NM) <b>optional </b>
59       * <li>PR1-8: Anesthesiologist (XCN) <b>optional repeating</b>
60       * <li>PR1-9: Anesthesia Code (IS) <b>optional </b>
61       * <li>PR1-10: Anesthesia Minutes (NM) <b>optional </b>
62       * <li>PR1-11: Surgeon (XCN) <b>optional repeating</b>
63       * <li>PR1-12: Procedure Practitioner (XCN) <b>optional repeating</b>
64       * <li>PR1-13: Consent Code (CE) <b>optional </b>
65       * <li>PR1-14: Procedure Priority (ID) <b>optional </b>
66       * <li>PR1-15: Associated Diagnosis Code (CE) <b>optional </b>
67       * <li>PR1-16: Procedure Code Modifier (CE) <b>optional repeating</b>
68       * <li>PR1-17: Procedure DRG Type (IS) <b>optional </b>
69       * <li>PR1-18: Tissue Type Code (CE) <b>optional repeating</b>
70       * <li>PR1-19: Procedure Identifier (EI) <b>optional </b>
71       * <li>PR1-20: Procedure Action Code (ID) <b>optional </b>
72   * </ul>
73   */
74  @SuppressWarnings("unused")
75  public class PR1 extends AbstractSegment {
76  
77      /** 
78       * Creates a new PR1 segment
79       */
80      public PR1(Group parent, ModelClassFactory factory) {
81         super(parent, factory);
82         init(factory);
83      }
84  
85      private void init(ModelClassFactory factory) {
86         try {
87                                    this.add(SI.class, true, 1, 4, new Object[]{ getMessage() }, "Set ID - PR1");
88                                                this.add(IS.class, false, 1, 3, new Object[]{ getMessage(), new Integer(89) }, "Procedure Coding Method");
89                                    this.add(CE.class, true, 1, 478, new Object[]{ getMessage() }, "Procedure Code");
90                                    this.add(ST.class, false, -1, 40, new Object[]{ getMessage() }, "Procedure Description");
91                                    this.add(TS.class, true, 1, 26, new Object[]{ getMessage() }, "Procedure Date/Time");
92                                                this.add(IS.class, false, 1, 2, new Object[]{ getMessage(), new Integer(230) }, "Procedure Functional Type");
93                                    this.add(NM.class, false, 1, 4, new Object[]{ getMessage() }, "Procedure Minutes");
94                                    this.add(XCN.class, false, -1, 309, new Object[]{ getMessage() }, "Anesthesiologist");
95                                                this.add(IS.class, false, 1, 2, new Object[]{ getMessage(), new Integer(19) }, "Anesthesia Code");
96                                    this.add(NM.class, false, 1, 4, new Object[]{ getMessage() }, "Anesthesia Minutes");
97                                    this.add(XCN.class, false, -1, 309, new Object[]{ getMessage() }, "Surgeon");
98                                    this.add(XCN.class, false, -1, 309, new Object[]{ getMessage() }, "Procedure Practitioner");
99                                    this.add(CE.class, false, 1, 478, new Object[]{ getMessage() }, "Consent Code");
100                                               this.add(ID.class, false, 1, 2, new Object[]{ getMessage(), new Integer(418) }, "Procedure Priority");
101                                   this.add(CE.class, false, 1, 478, new Object[]{ getMessage() }, "Associated Diagnosis Code");
102                                   this.add(CE.class, false, -1, 478, new Object[]{ getMessage() }, "Procedure Code Modifier");
103                                               this.add(IS.class, false, 1, 20, new Object[]{ getMessage(), new Integer(416) }, "Procedure DRG Type");
104                                   this.add(CE.class, false, -1, 478, new Object[]{ getMessage() }, "Tissue Type Code");
105                                   this.add(EI.class, false, 1, 427, new Object[]{ getMessage() }, "Procedure Identifier");
106                                               this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(206) }, "Procedure Action Code");
107        } catch(HL7Exception e) {
108           log.error("Unexpected error creating PR1 - this is probably a bug in the source code generator.", e);
109        }
110     }
111 
112 
113 
114     /**
115      * Returns
116      * PR1-1: "Set ID - PR1" - creates it if necessary
117      */
118     public SI getSetIDPR1() { 
119 		SI retVal = this.getTypedField(1, 0);
120 		return retVal;
121     }
122     
123     /**
124      * Returns
125      * PR1-1: "Set ID - PR1" - creates it if necessary
126      */
127     public SI getPr11_SetIDPR1() { 
128 		SI retVal = this.getTypedField(1, 0);
129 		return retVal;
130     }
131 
132 
133 
134     /**
135      * Returns
136      * PR1-2: "Procedure Coding Method" - creates it if necessary
137      */
138     public IS getProcedureCodingMethod() { 
139 		IS retVal = this.getTypedField(2, 0);
140 		return retVal;
141     }
142     
143     /**
144      * Returns
145      * PR1-2: "Procedure Coding Method" - creates it if necessary
146      */
147     public IS getPr12_ProcedureCodingMethod() { 
148 		IS retVal = this.getTypedField(2, 0);
149 		return retVal;
150     }
151 
152 
153 
154     /**
155      * Returns
156      * PR1-3: "Procedure Code" - creates it if necessary
157      */
158     public CE getProcedureCode() { 
159 		CE retVal = this.getTypedField(3, 0);
160 		return retVal;
161     }
162     
163     /**
164      * Returns
165      * PR1-3: "Procedure Code" - creates it if necessary
166      */
167     public CE getPr13_ProcedureCode() { 
168 		CE retVal = this.getTypedField(3, 0);
169 		return retVal;
170     }
171 
172 
173     /**
174      * Returns all repetitions of Procedure Description (PR1-4).
175      */
176     public ST[] getProcedureDescription() {
177     	ST[] retVal = this.getTypedField(4, new ST[0]);
178     	return retVal;
179     }
180 
181 
182     /**
183      * Returns all repetitions of Procedure Description (PR1-4).
184      */
185     public ST[] getPr14_ProcedureDescription() {
186     	ST[] retVal = this.getTypedField(4, new ST[0]);
187     	return retVal;
188     }
189 
190 
191     /**
192      * Returns a count of the current number of repetitions of Procedure Description (PR1-4).
193      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
194      * it will return zero.
195      */
196     public int getProcedureDescriptionReps() {
197     	return this.getReps(4);
198     }
199 
200 
201     /**
202      * Returns a specific repetition of
203      * PR1-4: "Procedure Description" - creates it if necessary
204      *
205      * @param rep The repetition index (0-indexed)
206      */
207     public ST getProcedureDescription(int rep) { 
208 		ST retVal = this.getTypedField(4, rep);
209 		return retVal;
210     }
211 
212     /**
213      * Returns a specific repetition of
214      * PR1-4: "Procedure Description" - creates it if necessary
215      *
216      * @param rep The repetition index (0-indexed)
217      */
218     public ST getPr14_ProcedureDescription(int rep) { 
219 		ST retVal = this.getTypedField(4, rep);
220 		return retVal;
221     }
222 
223     /**
224      * Returns a count of the current number of repetitions of Procedure Description (PR1-4).
225      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
226      * it will return zero.
227      */
228     public int getPr14_ProcedureDescriptionReps() {
229     	return this.getReps(4);
230     }
231 
232 
233     /**
234      * Inserts a repetition of
235      * PR1-4: "Procedure Description" at a specific index
236      *
237      * @param rep The repetition index (0-indexed)
238      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
239      */
240     public ST insertProcedureDescription(int rep) throws HL7Exception { 
241         return (ST) super.insertRepetition(4, rep);
242     }
243 
244 
245     /**
246      * Inserts a repetition of
247      * PR1-4: "Procedure Description" at a specific index
248      *
249      * @param rep The repetition index (0-indexed)
250      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
251      */
252     public ST insertPr14_ProcedureDescription(int rep) throws HL7Exception { 
253         return (ST) super.insertRepetition(4, rep);
254     }
255 
256 
257     /**
258      * Removes a repetition of
259      * PR1-4: "Procedure Description" at a specific index
260      *
261      * @param rep The repetition index (0-indexed)
262      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
263      */
264     public ST removeProcedureDescription(int rep) throws HL7Exception { 
265         return (ST) super.removeRepetition(4, rep);
266     }
267 
268 
269     /**
270      * Removes a repetition of
271      * PR1-4: "Procedure Description" at a specific index
272      *
273      * @param rep The repetition index (0-indexed)
274      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
275      */
276     public ST removePr14_ProcedureDescription(int rep) throws HL7Exception { 
277         return (ST) super.removeRepetition(4, rep);
278     }
279 
280 
281 
282 
283     /**
284      * Returns
285      * PR1-5: "Procedure Date/Time" - creates it if necessary
286      */
287     public TS getProcedureDateTime() { 
288 		TS retVal = this.getTypedField(5, 0);
289 		return retVal;
290     }
291     
292     /**
293      * Returns
294      * PR1-5: "Procedure Date/Time" - creates it if necessary
295      */
296     public TS getPr15_ProcedureDateTime() { 
297 		TS retVal = this.getTypedField(5, 0);
298 		return retVal;
299     }
300 
301 
302 
303     /**
304      * Returns
305      * PR1-6: "Procedure Functional Type" - creates it if necessary
306      */
307     public IS getProcedureFunctionalType() { 
308 		IS retVal = this.getTypedField(6, 0);
309 		return retVal;
310     }
311     
312     /**
313      * Returns
314      * PR1-6: "Procedure Functional Type" - creates it if necessary
315      */
316     public IS getPr16_ProcedureFunctionalType() { 
317 		IS retVal = this.getTypedField(6, 0);
318 		return retVal;
319     }
320 
321 
322 
323     /**
324      * Returns
325      * PR1-7: "Procedure Minutes" - creates it if necessary
326      */
327     public NM getProcedureMinutes() { 
328 		NM retVal = this.getTypedField(7, 0);
329 		return retVal;
330     }
331     
332     /**
333      * Returns
334      * PR1-7: "Procedure Minutes" - creates it if necessary
335      */
336     public NM getPr17_ProcedureMinutes() { 
337 		NM retVal = this.getTypedField(7, 0);
338 		return retVal;
339     }
340 
341 
342     /**
343      * Returns all repetitions of Anesthesiologist (PR1-8).
344      */
345     public XCN[] getAnesthesiologist() {
346     	XCN[] retVal = this.getTypedField(8, new XCN[0]);
347     	return retVal;
348     }
349 
350 
351     /**
352      * Returns all repetitions of Anesthesiologist (PR1-8).
353      */
354     public XCN[] getPr18_Anesthesiologist() {
355     	XCN[] retVal = this.getTypedField(8, new XCN[0]);
356     	return retVal;
357     }
358 
359 
360     /**
361      * Returns a count of the current number of repetitions of Anesthesiologist (PR1-8).
362      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
363      * it will return zero.
364      */
365     public int getAnesthesiologistReps() {
366     	return this.getReps(8);
367     }
368 
369 
370     /**
371      * Returns a specific repetition of
372      * PR1-8: "Anesthesiologist" - creates it if necessary
373      *
374      * @param rep The repetition index (0-indexed)
375      */
376     public XCN getAnesthesiologist(int rep) { 
377 		XCN retVal = this.getTypedField(8, rep);
378 		return retVal;
379     }
380 
381     /**
382      * Returns a specific repetition of
383      * PR1-8: "Anesthesiologist" - creates it if necessary
384      *
385      * @param rep The repetition index (0-indexed)
386      */
387     public XCN getPr18_Anesthesiologist(int rep) { 
388 		XCN retVal = this.getTypedField(8, rep);
389 		return retVal;
390     }
391 
392     /**
393      * Returns a count of the current number of repetitions of Anesthesiologist (PR1-8).
394      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
395      * it will return zero.
396      */
397     public int getPr18_AnesthesiologistReps() {
398     	return this.getReps(8);
399     }
400 
401 
402     /**
403      * Inserts a repetition of
404      * PR1-8: "Anesthesiologist" at a specific index
405      *
406      * @param rep The repetition index (0-indexed)
407      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
408      */
409     public XCN insertAnesthesiologist(int rep) throws HL7Exception { 
410         return (XCN) super.insertRepetition(8, rep);
411     }
412 
413 
414     /**
415      * Inserts a repetition of
416      * PR1-8: "Anesthesiologist" at a specific index
417      *
418      * @param rep The repetition index (0-indexed)
419      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
420      */
421     public XCN insertPr18_Anesthesiologist(int rep) throws HL7Exception { 
422         return (XCN) super.insertRepetition(8, rep);
423     }
424 
425 
426     /**
427      * Removes a repetition of
428      * PR1-8: "Anesthesiologist" at a specific index
429      *
430      * @param rep The repetition index (0-indexed)
431      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
432      */
433     public XCN removeAnesthesiologist(int rep) throws HL7Exception { 
434         return (XCN) super.removeRepetition(8, rep);
435     }
436 
437 
438     /**
439      * Removes a repetition of
440      * PR1-8: "Anesthesiologist" at a specific index
441      *
442      * @param rep The repetition index (0-indexed)
443      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
444      */
445     public XCN removePr18_Anesthesiologist(int rep) throws HL7Exception { 
446         return (XCN) super.removeRepetition(8, rep);
447     }
448 
449 
450 
451 
452     /**
453      * Returns
454      * PR1-9: "Anesthesia Code" - creates it if necessary
455      */
456     public IS getAnesthesiaCode() { 
457 		IS retVal = this.getTypedField(9, 0);
458 		return retVal;
459     }
460     
461     /**
462      * Returns
463      * PR1-9: "Anesthesia Code" - creates it if necessary
464      */
465     public IS getPr19_AnesthesiaCode() { 
466 		IS retVal = this.getTypedField(9, 0);
467 		return retVal;
468     }
469 
470 
471 
472     /**
473      * Returns
474      * PR1-10: "Anesthesia Minutes" - creates it if necessary
475      */
476     public NM getAnesthesiaMinutes() { 
477 		NM retVal = this.getTypedField(10, 0);
478 		return retVal;
479     }
480     
481     /**
482      * Returns
483      * PR1-10: "Anesthesia Minutes" - creates it if necessary
484      */
485     public NM getPr110_AnesthesiaMinutes() { 
486 		NM retVal = this.getTypedField(10, 0);
487 		return retVal;
488     }
489 
490 
491     /**
492      * Returns all repetitions of Surgeon (PR1-11).
493      */
494     public XCN[] getSurgeon() {
495     	XCN[] retVal = this.getTypedField(11, new XCN[0]);
496     	return retVal;
497     }
498 
499 
500     /**
501      * Returns all repetitions of Surgeon (PR1-11).
502      */
503     public XCN[] getPr111_Surgeon() {
504     	XCN[] retVal = this.getTypedField(11, new XCN[0]);
505     	return retVal;
506     }
507 
508 
509     /**
510      * Returns a count of the current number of repetitions of Surgeon (PR1-11).
511      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
512      * it will return zero.
513      */
514     public int getSurgeonReps() {
515     	return this.getReps(11);
516     }
517 
518 
519     /**
520      * Returns a specific repetition of
521      * PR1-11: "Surgeon" - creates it if necessary
522      *
523      * @param rep The repetition index (0-indexed)
524      */
525     public XCN getSurgeon(int rep) { 
526 		XCN retVal = this.getTypedField(11, rep);
527 		return retVal;
528     }
529 
530     /**
531      * Returns a specific repetition of
532      * PR1-11: "Surgeon" - creates it if necessary
533      *
534      * @param rep The repetition index (0-indexed)
535      */
536     public XCN getPr111_Surgeon(int rep) { 
537 		XCN retVal = this.getTypedField(11, rep);
538 		return retVal;
539     }
540 
541     /**
542      * Returns a count of the current number of repetitions of Surgeon (PR1-11).
543      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
544      * it will return zero.
545      */
546     public int getPr111_SurgeonReps() {
547     	return this.getReps(11);
548     }
549 
550 
551     /**
552      * Inserts a repetition of
553      * PR1-11: "Surgeon" at a specific index
554      *
555      * @param rep The repetition index (0-indexed)
556      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
557      */
558     public XCN insertSurgeon(int rep) throws HL7Exception { 
559         return (XCN) super.insertRepetition(11, rep);
560     }
561 
562 
563     /**
564      * Inserts a repetition of
565      * PR1-11: "Surgeon" at a specific index
566      *
567      * @param rep The repetition index (0-indexed)
568      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
569      */
570     public XCN insertPr111_Surgeon(int rep) throws HL7Exception { 
571         return (XCN) super.insertRepetition(11, rep);
572     }
573 
574 
575     /**
576      * Removes a repetition of
577      * PR1-11: "Surgeon" at a specific index
578      *
579      * @param rep The repetition index (0-indexed)
580      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
581      */
582     public XCN removeSurgeon(int rep) throws HL7Exception { 
583         return (XCN) super.removeRepetition(11, rep);
584     }
585 
586 
587     /**
588      * Removes a repetition of
589      * PR1-11: "Surgeon" at a specific index
590      *
591      * @param rep The repetition index (0-indexed)
592      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
593      */
594     public XCN removePr111_Surgeon(int rep) throws HL7Exception { 
595         return (XCN) super.removeRepetition(11, rep);
596     }
597 
598 
599 
600     /**
601      * Returns all repetitions of Procedure Practitioner (PR1-12).
602      */
603     public XCN[] getProcedurePractitioner() {
604     	XCN[] retVal = this.getTypedField(12, new XCN[0]);
605     	return retVal;
606     }
607 
608 
609     /**
610      * Returns all repetitions of Procedure Practitioner (PR1-12).
611      */
612     public XCN[] getPr112_ProcedurePractitioner() {
613     	XCN[] retVal = this.getTypedField(12, new XCN[0]);
614     	return retVal;
615     }
616 
617 
618     /**
619      * Returns a count of the current number of repetitions of Procedure Practitioner (PR1-12).
620      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
621      * it will return zero.
622      */
623     public int getProcedurePractitionerReps() {
624     	return this.getReps(12);
625     }
626 
627 
628     /**
629      * Returns a specific repetition of
630      * PR1-12: "Procedure Practitioner" - creates it if necessary
631      *
632      * @param rep The repetition index (0-indexed)
633      */
634     public XCN getProcedurePractitioner(int rep) { 
635 		XCN retVal = this.getTypedField(12, rep);
636 		return retVal;
637     }
638 
639     /**
640      * Returns a specific repetition of
641      * PR1-12: "Procedure Practitioner" - creates it if necessary
642      *
643      * @param rep The repetition index (0-indexed)
644      */
645     public XCN getPr112_ProcedurePractitioner(int rep) { 
646 		XCN retVal = this.getTypedField(12, rep);
647 		return retVal;
648     }
649 
650     /**
651      * Returns a count of the current number of repetitions of Procedure Practitioner (PR1-12).
652      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
653      * it will return zero.
654      */
655     public int getPr112_ProcedurePractitionerReps() {
656     	return this.getReps(12);
657     }
658 
659 
660     /**
661      * Inserts a repetition of
662      * PR1-12: "Procedure Practitioner" at a specific index
663      *
664      * @param rep The repetition index (0-indexed)
665      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
666      */
667     public XCN insertProcedurePractitioner(int rep) throws HL7Exception { 
668         return (XCN) super.insertRepetition(12, rep);
669     }
670 
671 
672     /**
673      * Inserts a repetition of
674      * PR1-12: "Procedure Practitioner" at a specific index
675      *
676      * @param rep The repetition index (0-indexed)
677      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
678      */
679     public XCN insertPr112_ProcedurePractitioner(int rep) throws HL7Exception { 
680         return (XCN) super.insertRepetition(12, rep);
681     }
682 
683 
684     /**
685      * Removes a repetition of
686      * PR1-12: "Procedure Practitioner" at a specific index
687      *
688      * @param rep The repetition index (0-indexed)
689      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
690      */
691     public XCN removeProcedurePractitioner(int rep) throws HL7Exception { 
692         return (XCN) super.removeRepetition(12, rep);
693     }
694 
695 
696     /**
697      * Removes a repetition of
698      * PR1-12: "Procedure Practitioner" at a specific index
699      *
700      * @param rep The repetition index (0-indexed)
701      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
702      */
703     public XCN removePr112_ProcedurePractitioner(int rep) throws HL7Exception { 
704         return (XCN) super.removeRepetition(12, rep);
705     }
706 
707 
708 
709 
710     /**
711      * Returns
712      * PR1-13: "Consent Code" - creates it if necessary
713      */
714     public CE getConsentCode() { 
715 		CE retVal = this.getTypedField(13, 0);
716 		return retVal;
717     }
718     
719     /**
720      * Returns
721      * PR1-13: "Consent Code" - creates it if necessary
722      */
723     public CE getPr113_ConsentCode() { 
724 		CE retVal = this.getTypedField(13, 0);
725 		return retVal;
726     }
727 
728 
729 
730     /**
731      * Returns
732      * PR1-14: "Procedure Priority" - creates it if necessary
733      */
734     public ID getProcedurePriority() { 
735 		ID retVal = this.getTypedField(14, 0);
736 		return retVal;
737     }
738     
739     /**
740      * Returns
741      * PR1-14: "Procedure Priority" - creates it if necessary
742      */
743     public ID getPr114_ProcedurePriority() { 
744 		ID retVal = this.getTypedField(14, 0);
745 		return retVal;
746     }
747 
748 
749 
750     /**
751      * Returns
752      * PR1-15: "Associated Diagnosis Code" - creates it if necessary
753      */
754     public CE getAssociatedDiagnosisCode() { 
755 		CE retVal = this.getTypedField(15, 0);
756 		return retVal;
757     }
758     
759     /**
760      * Returns
761      * PR1-15: "Associated Diagnosis Code" - creates it if necessary
762      */
763     public CE getPr115_AssociatedDiagnosisCode() { 
764 		CE retVal = this.getTypedField(15, 0);
765 		return retVal;
766     }
767 
768 
769     /**
770      * Returns all repetitions of Procedure Code Modifier (PR1-16).
771      */
772     public CE[] getProcedureCodeModifier() {
773     	CE[] retVal = this.getTypedField(16, new CE[0]);
774     	return retVal;
775     }
776 
777 
778     /**
779      * Returns all repetitions of Procedure Code Modifier (PR1-16).
780      */
781     public CE[] getPr116_ProcedureCodeModifier() {
782     	CE[] retVal = this.getTypedField(16, new CE[0]);
783     	return retVal;
784     }
785 
786 
787     /**
788      * Returns a count of the current number of repetitions of Procedure Code Modifier (PR1-16).
789      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
790      * it will return zero.
791      */
792     public int getProcedureCodeModifierReps() {
793     	return this.getReps(16);
794     }
795 
796 
797     /**
798      * Returns a specific repetition of
799      * PR1-16: "Procedure Code Modifier" - creates it if necessary
800      *
801      * @param rep The repetition index (0-indexed)
802      */
803     public CE getProcedureCodeModifier(int rep) { 
804 		CE retVal = this.getTypedField(16, rep);
805 		return retVal;
806     }
807 
808     /**
809      * Returns a specific repetition of
810      * PR1-16: "Procedure Code Modifier" - creates it if necessary
811      *
812      * @param rep The repetition index (0-indexed)
813      */
814     public CE getPr116_ProcedureCodeModifier(int rep) { 
815 		CE retVal = this.getTypedField(16, rep);
816 		return retVal;
817     }
818 
819     /**
820      * Returns a count of the current number of repetitions of Procedure Code Modifier (PR1-16).
821      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
822      * it will return zero.
823      */
824     public int getPr116_ProcedureCodeModifierReps() {
825     	return this.getReps(16);
826     }
827 
828 
829     /**
830      * Inserts a repetition of
831      * PR1-16: "Procedure Code Modifier" at a specific index
832      *
833      * @param rep The repetition index (0-indexed)
834      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
835      */
836     public CE insertProcedureCodeModifier(int rep) throws HL7Exception { 
837         return (CE) super.insertRepetition(16, rep);
838     }
839 
840 
841     /**
842      * Inserts a repetition of
843      * PR1-16: "Procedure Code Modifier" at a specific index
844      *
845      * @param rep The repetition index (0-indexed)
846      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
847      */
848     public CE insertPr116_ProcedureCodeModifier(int rep) throws HL7Exception { 
849         return (CE) super.insertRepetition(16, rep);
850     }
851 
852 
853     /**
854      * Removes a repetition of
855      * PR1-16: "Procedure Code Modifier" at a specific index
856      *
857      * @param rep The repetition index (0-indexed)
858      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
859      */
860     public CE removeProcedureCodeModifier(int rep) throws HL7Exception { 
861         return (CE) super.removeRepetition(16, rep);
862     }
863 
864 
865     /**
866      * Removes a repetition of
867      * PR1-16: "Procedure Code Modifier" at a specific index
868      *
869      * @param rep The repetition index (0-indexed)
870      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
871      */
872     public CE removePr116_ProcedureCodeModifier(int rep) throws HL7Exception { 
873         return (CE) super.removeRepetition(16, rep);
874     }
875 
876 
877 
878 
879     /**
880      * Returns
881      * PR1-17: "Procedure DRG Type" - creates it if necessary
882      */
883     public IS getProcedureDRGType() { 
884 		IS retVal = this.getTypedField(17, 0);
885 		return retVal;
886     }
887     
888     /**
889      * Returns
890      * PR1-17: "Procedure DRG Type" - creates it if necessary
891      */
892     public IS getPr117_ProcedureDRGType() { 
893 		IS retVal = this.getTypedField(17, 0);
894 		return retVal;
895     }
896 
897 
898     /**
899      * Returns all repetitions of Tissue Type Code (PR1-18).
900      */
901     public CE[] getTissueTypeCode() {
902     	CE[] retVal = this.getTypedField(18, new CE[0]);
903     	return retVal;
904     }
905 
906 
907     /**
908      * Returns all repetitions of Tissue Type Code (PR1-18).
909      */
910     public CE[] getPr118_TissueTypeCode() {
911     	CE[] retVal = this.getTypedField(18, new CE[0]);
912     	return retVal;
913     }
914 
915 
916     /**
917      * Returns a count of the current number of repetitions of Tissue Type Code (PR1-18).
918      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
919      * it will return zero.
920      */
921     public int getTissueTypeCodeReps() {
922     	return this.getReps(18);
923     }
924 
925 
926     /**
927      * Returns a specific repetition of
928      * PR1-18: "Tissue Type Code" - creates it if necessary
929      *
930      * @param rep The repetition index (0-indexed)
931      */
932     public CE getTissueTypeCode(int rep) { 
933 		CE retVal = this.getTypedField(18, rep);
934 		return retVal;
935     }
936 
937     /**
938      * Returns a specific repetition of
939      * PR1-18: "Tissue Type Code" - creates it if necessary
940      *
941      * @param rep The repetition index (0-indexed)
942      */
943     public CE getPr118_TissueTypeCode(int rep) { 
944 		CE retVal = this.getTypedField(18, rep);
945 		return retVal;
946     }
947 
948     /**
949      * Returns a count of the current number of repetitions of Tissue Type Code (PR1-18).
950      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
951      * it will return zero.
952      */
953     public int getPr118_TissueTypeCodeReps() {
954     	return this.getReps(18);
955     }
956 
957 
958     /**
959      * Inserts a repetition of
960      * PR1-18: "Tissue Type Code" at a specific index
961      *
962      * @param rep The repetition index (0-indexed)
963      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
964      */
965     public CE insertTissueTypeCode(int rep) throws HL7Exception { 
966         return (CE) super.insertRepetition(18, rep);
967     }
968 
969 
970     /**
971      * Inserts a repetition of
972      * PR1-18: "Tissue Type Code" at a specific index
973      *
974      * @param rep The repetition index (0-indexed)
975      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
976      */
977     public CE insertPr118_TissueTypeCode(int rep) throws HL7Exception { 
978         return (CE) super.insertRepetition(18, rep);
979     }
980 
981 
982     /**
983      * Removes a repetition of
984      * PR1-18: "Tissue Type Code" at a specific index
985      *
986      * @param rep The repetition index (0-indexed)
987      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
988      */
989     public CE removeTissueTypeCode(int rep) throws HL7Exception { 
990         return (CE) super.removeRepetition(18, rep);
991     }
992 
993 
994     /**
995      * Removes a repetition of
996      * PR1-18: "Tissue Type Code" at a specific index
997      *
998      * @param rep The repetition index (0-indexed)
999      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1000      */
1001     public CE removePr118_TissueTypeCode(int rep) throws HL7Exception { 
1002         return (CE) super.removeRepetition(18, rep);
1003     }
1004 
1005 
1006 
1007 
1008     /**
1009      * Returns
1010      * PR1-19: "Procedure Identifier" - creates it if necessary
1011      */
1012     public EI getProcedureIdentifier() { 
1013 		EI retVal = this.getTypedField(19, 0);
1014 		return retVal;
1015     }
1016     
1017     /**
1018      * Returns
1019      * PR1-19: "Procedure Identifier" - creates it if necessary
1020      */
1021     public EI getPr119_ProcedureIdentifier() { 
1022 		EI retVal = this.getTypedField(19, 0);
1023 		return retVal;
1024     }
1025 
1026 
1027 
1028     /**
1029      * Returns
1030      * PR1-20: "Procedure Action Code" - creates it if necessary
1031      */
1032     public ID getProcedureActionCode() { 
1033 		ID retVal = this.getTypedField(20, 0);
1034 		return retVal;
1035     }
1036     
1037     /**
1038      * Returns
1039      * PR1-20: "Procedure Action Code" - creates it if necessary
1040      */
1041     public ID getPr120_ProcedureActionCode() { 
1042 		ID retVal = this.getTypedField(20, 0);
1043 		return retVal;
1044     }
1045 
1046 
1047 
1048 
1049 
1050     /** {@inheritDoc} */   
1051     protected Type createNewTypeWithoutReflection(int field) {
1052        switch (field) {
1053           case 0: return new SI(getMessage());
1054           case 1: return new IS(getMessage(), new Integer( 89 ));
1055           case 2: return new CE(getMessage());
1056           case 3: return new ST(getMessage());
1057           case 4: return new TS(getMessage());
1058           case 5: return new IS(getMessage(), new Integer( 230 ));
1059           case 6: return new NM(getMessage());
1060           case 7: return new XCN(getMessage());
1061           case 8: return new IS(getMessage(), new Integer( 19 ));
1062           case 9: return new NM(getMessage());
1063           case 10: return new XCN(getMessage());
1064           case 11: return new XCN(getMessage());
1065           case 12: return new CE(getMessage());
1066           case 13: return new ID(getMessage(), new Integer( 418 ));
1067           case 14: return new CE(getMessage());
1068           case 15: return new CE(getMessage());
1069           case 16: return new IS(getMessage(), new Integer( 416 ));
1070           case 17: return new CE(getMessage());
1071           case 18: return new EI(getMessage());
1072           case 19: return new ID(getMessage(), new Integer( 206 ));
1073           default: return null;
1074        }
1075    }
1076 
1077 
1078 }
1079