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.v25.segment;
35  
36  // import ca.uhn.hl7v2.model.v25.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 PV2 message segment (Patient Visit - Additional Information). 
50   * This segment has the following fields:</p>
51   * <ul>
52       * <li>PV2-1: Prior Pending Location (PL) <b>optional </b>
53       * <li>PV2-2: Accommodation Code (CE) <b>optional </b>
54       * <li>PV2-3: Admit Reason (CE) <b>optional </b>
55       * <li>PV2-4: Transfer Reason (CE) <b>optional </b>
56       * <li>PV2-5: Patient Valuables (ST) <b>optional repeating</b>
57       * <li>PV2-6: Patient Valuables Location (ST) <b>optional </b>
58       * <li>PV2-7: Visit User Code (IS) <b>optional repeating</b>
59       * <li>PV2-8: Expected Admit Date/Time (TS) <b>optional </b>
60       * <li>PV2-9: Expected Discharge Date/Time (TS) <b>optional </b>
61       * <li>PV2-10: Estimated Length of Inpatient Stay (NM) <b>optional </b>
62       * <li>PV2-11: Actual Length of Inpatient Stay (NM) <b>optional </b>
63       * <li>PV2-12: Visit Description (ST) <b>optional </b>
64       * <li>PV2-13: Referral Source Code (XCN) <b>optional repeating</b>
65       * <li>PV2-14: Previous Service Date (DT) <b>optional </b>
66       * <li>PV2-15: Employment Illness Related Indicator (ID) <b>optional </b>
67       * <li>PV2-16: Purge Status Code (IS) <b>optional </b>
68       * <li>PV2-17: Purge Status Date (DT) <b>optional </b>
69       * <li>PV2-18: Special Program Code (IS) <b>optional </b>
70       * <li>PV2-19: Retention Indicator (ID) <b>optional </b>
71       * <li>PV2-20: Expected Number of Insurance Plans (NM) <b>optional </b>
72       * <li>PV2-21: Visit Publicity Code (IS) <b>optional </b>
73       * <li>PV2-22: Visit Protection Indicator (ID) <b>optional </b>
74       * <li>PV2-23: Clinic Organization Name (XON) <b>optional repeating</b>
75       * <li>PV2-24: Patient Status Code (IS) <b>optional </b>
76       * <li>PV2-25: Visit Priority Code (IS) <b>optional </b>
77       * <li>PV2-26: Previous Treatment Date (DT) <b>optional </b>
78       * <li>PV2-27: Expected Discharge Disposition (IS) <b>optional </b>
79       * <li>PV2-28: Signature on File Date (DT) <b>optional </b>
80       * <li>PV2-29: First Similar Illness Date (DT) <b>optional </b>
81       * <li>PV2-30: Patient Charge Adjustment Code (CE) <b>optional </b>
82       * <li>PV2-31: Recurring Service Code (IS) <b>optional </b>
83       * <li>PV2-32: Billing Media Code (ID) <b>optional </b>
84       * <li>PV2-33: Expected Surgery Date and Time (TS) <b>optional </b>
85       * <li>PV2-34: Military Partnership Code (ID) <b>optional </b>
86       * <li>PV2-35: Military Non-Availability Code (ID) <b>optional </b>
87       * <li>PV2-36: Newborn Baby Indicator (ID) <b>optional </b>
88       * <li>PV2-37: Baby Detained Indicator (ID) <b>optional </b>
89       * <li>PV2-38: Mode of Arrival Code (CE) <b>optional </b>
90       * <li>PV2-39: Recreational Drug Use Code (CE) <b>optional repeating</b>
91       * <li>PV2-40: Admission Level of Care Code (CE) <b>optional </b>
92       * <li>PV2-41: Precaution Code (CE) <b>optional repeating</b>
93       * <li>PV2-42: Patient Condition Code (CE) <b>optional </b>
94       * <li>PV2-43: Living Will Code (IS) <b>optional </b>
95       * <li>PV2-44: Organ Donor Code (IS) <b>optional </b>
96       * <li>PV2-45: Advance Directive Code (CE) <b>optional repeating</b>
97       * <li>PV2-46: Patient Status Effective Date (DT) <b>optional </b>
98       * <li>PV2-47: Expected LOA Return Date/Time (TS) <b>optional </b>
99       * <li>PV2-48: Expected Pre-admission Testing Date/Time (TS) <b>optional </b>
100      * <li>PV2-49: Notify Clergy Code (IS) <b>optional repeating</b>
101  * </ul>
102  */
103 @SuppressWarnings("unused")
104 public class PV2 extends AbstractSegment {
105 
106     /** 
107      * Creates a new PV2 segment
108      */
109     public PV2(Group parent, ModelClassFactory factory) {
110        super(parent, factory);
111        init(factory);
112     }
113 
114     private void init(ModelClassFactory factory) {
115        try {
116                                   this.add(PL.class, false, 1, 80, new Object[]{ getMessage() }, "Prior Pending Location");
117                                   this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Accommodation Code");
118                                   this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Admit Reason");
119                                   this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Transfer Reason");
120                                   this.add(ST.class, false, 0, 25, new Object[]{ getMessage() }, "Patient Valuables");
121                                   this.add(ST.class, false, 1, 25, new Object[]{ getMessage() }, "Patient Valuables Location");
122                                               this.add(IS.class, false, 0, 2, new Object[]{ getMessage(), new Integer(130) }, "Visit User Code");
123                                   this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Expected Admit Date/Time");
124                                   this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Expected Discharge Date/Time");
125                                   this.add(NM.class, false, 1, 3, new Object[]{ getMessage() }, "Estimated Length of Inpatient Stay");
126                                   this.add(NM.class, false, 1, 3, new Object[]{ getMessage() }, "Actual Length of Inpatient Stay");
127                                   this.add(ST.class, false, 1, 50, new Object[]{ getMessage() }, "Visit Description");
128                                   this.add(XCN.class, false, 0, 250, new Object[]{ getMessage() }, "Referral Source Code");
129                                   this.add(DT.class, false, 1, 8, new Object[]{ getMessage() }, "Previous Service Date");
130                                               this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(136) }, "Employment Illness Related Indicator");
131                                               this.add(IS.class, false, 1, 1, new Object[]{ getMessage(), new Integer(213) }, "Purge Status Code");
132                                   this.add(DT.class, false, 1, 8, new Object[]{ getMessage() }, "Purge Status Date");
133                                               this.add(IS.class, false, 1, 2, new Object[]{ getMessage(), new Integer(214) }, "Special Program Code");
134                                               this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(136) }, "Retention Indicator");
135                                   this.add(NM.class, false, 1, 1, new Object[]{ getMessage() }, "Expected Number of Insurance Plans");
136                                               this.add(IS.class, false, 1, 1, new Object[]{ getMessage(), new Integer(215) }, "Visit Publicity Code");
137                                               this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(136) }, "Visit Protection Indicator");
138                                   this.add(XON.class, false, 0, 250, new Object[]{ getMessage() }, "Clinic Organization Name");
139                                               this.add(IS.class, false, 1, 2, new Object[]{ getMessage(), new Integer(216) }, "Patient Status Code");
140                                               this.add(IS.class, false, 1, 1, new Object[]{ getMessage(), new Integer(217) }, "Visit Priority Code");
141                                   this.add(DT.class, false, 1, 8, new Object[]{ getMessage() }, "Previous Treatment Date");
142                                               this.add(IS.class, false, 1, 2, new Object[]{ getMessage(), new Integer(112) }, "Expected Discharge Disposition");
143                                   this.add(DT.class, false, 1, 8, new Object[]{ getMessage() }, "Signature on File Date");
144                                   this.add(DT.class, false, 1, 8, new Object[]{ getMessage() }, "First Similar Illness Date");
145                                   this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Patient Charge Adjustment Code");
146                                               this.add(IS.class, false, 1, 2, new Object[]{ getMessage(), new Integer(219) }, "Recurring Service Code");
147                                               this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(136) }, "Billing Media Code");
148                                   this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Expected Surgery Date and Time");
149                                               this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(136) }, "Military Partnership Code");
150                                               this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(136) }, "Military Non-Availability Code");
151                                               this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(136) }, "Newborn Baby Indicator");
152                                               this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(136) }, "Baby Detained Indicator");
153                                   this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Mode of Arrival Code");
154                                   this.add(CE.class, false, 0, 250, new Object[]{ getMessage() }, "Recreational Drug Use Code");
155                                   this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Admission Level of Care Code");
156                                   this.add(CE.class, false, 0, 250, new Object[]{ getMessage() }, "Precaution Code");
157                                   this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Patient Condition Code");
158                                               this.add(IS.class, false, 1, 2, new Object[]{ getMessage(), new Integer(315) }, "Living Will Code");
159                                               this.add(IS.class, false, 1, 2, new Object[]{ getMessage(), new Integer(316) }, "Organ Donor Code");
160                                   this.add(CE.class, false, 0, 250, new Object[]{ getMessage() }, "Advance Directive Code");
161                                   this.add(DT.class, false, 1, 8, new Object[]{ getMessage() }, "Patient Status Effective Date");
162                                   this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Expected LOA Return Date/Time");
163                                   this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Expected Pre-admission Testing Date/Time");
164                                               this.add(IS.class, false, 0, 20, new Object[]{ getMessage(), new Integer(534) }, "Notify Clergy Code");
165        } catch(HL7Exception e) {
166           log.error("Unexpected error creating PV2 - this is probably a bug in the source code generator.", e);
167        }
168     }
169 
170 
171 
172     /**
173      * Returns
174      * PV2-1: "Prior Pending Location" - creates it if necessary
175      */
176     public PL getPriorPendingLocation() { 
177 		PL retVal = this.getTypedField(1, 0);
178 		return retVal;
179     }
180     
181     /**
182      * Returns
183      * PV2-1: "Prior Pending Location" - creates it if necessary
184      */
185     public PL getPv21_PriorPendingLocation() { 
186 		PL retVal = this.getTypedField(1, 0);
187 		return retVal;
188     }
189 
190 
191 
192     /**
193      * Returns
194      * PV2-2: "Accommodation Code" - creates it if necessary
195      */
196     public CE getAccommodationCode() { 
197 		CE retVal = this.getTypedField(2, 0);
198 		return retVal;
199     }
200     
201     /**
202      * Returns
203      * PV2-2: "Accommodation Code" - creates it if necessary
204      */
205     public CE getPv22_AccommodationCode() { 
206 		CE retVal = this.getTypedField(2, 0);
207 		return retVal;
208     }
209 
210 
211 
212     /**
213      * Returns
214      * PV2-3: "Admit Reason" - creates it if necessary
215      */
216     public CE getAdmitReason() { 
217 		CE retVal = this.getTypedField(3, 0);
218 		return retVal;
219     }
220     
221     /**
222      * Returns
223      * PV2-3: "Admit Reason" - creates it if necessary
224      */
225     public CE getPv23_AdmitReason() { 
226 		CE retVal = this.getTypedField(3, 0);
227 		return retVal;
228     }
229 
230 
231 
232     /**
233      * Returns
234      * PV2-4: "Transfer Reason" - creates it if necessary
235      */
236     public CE getTransferReason() { 
237 		CE retVal = this.getTypedField(4, 0);
238 		return retVal;
239     }
240     
241     /**
242      * Returns
243      * PV2-4: "Transfer Reason" - creates it if necessary
244      */
245     public CE getPv24_TransferReason() { 
246 		CE retVal = this.getTypedField(4, 0);
247 		return retVal;
248     }
249 
250 
251     /**
252      * Returns all repetitions of Patient Valuables (PV2-5).
253      */
254     public ST[] getPatientValuables() {
255     	ST[] retVal = this.getTypedField(5, new ST[0]);
256     	return retVal;
257     }
258 
259 
260     /**
261      * Returns all repetitions of Patient Valuables (PV2-5).
262      */
263     public ST[] getPv25_PatientValuables() {
264     	ST[] retVal = this.getTypedField(5, new ST[0]);
265     	return retVal;
266     }
267 
268 
269     /**
270      * Returns a count of the current number of repetitions of Patient Valuables (PV2-5).
271      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
272      * it will return zero.
273      */
274     public int getPatientValuablesReps() {
275     	return this.getReps(5);
276     }
277 
278 
279     /**
280      * Returns a specific repetition of
281      * PV2-5: "Patient Valuables" - creates it if necessary
282      *
283      * @param rep The repetition index (0-indexed)
284      */
285     public ST getPatientValuables(int rep) { 
286 		ST retVal = this.getTypedField(5, rep);
287 		return retVal;
288     }
289 
290     /**
291      * Returns a specific repetition of
292      * PV2-5: "Patient Valuables" - creates it if necessary
293      *
294      * @param rep The repetition index (0-indexed)
295      */
296     public ST getPv25_PatientValuables(int rep) { 
297 		ST retVal = this.getTypedField(5, rep);
298 		return retVal;
299     }
300 
301     /**
302      * Returns a count of the current number of repetitions of Patient Valuables (PV2-5).
303      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
304      * it will return zero.
305      */
306     public int getPv25_PatientValuablesReps() {
307     	return this.getReps(5);
308     }
309 
310 
311     /**
312      * Inserts a repetition of
313      * PV2-5: "Patient Valuables" at a specific index
314      *
315      * @param rep The repetition index (0-indexed)
316      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
317      */
318     public ST insertPatientValuables(int rep) throws HL7Exception { 
319         return (ST) super.insertRepetition(5, rep);
320     }
321 
322 
323     /**
324      * Inserts a repetition of
325      * PV2-5: "Patient Valuables" at a specific index
326      *
327      * @param rep The repetition index (0-indexed)
328      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
329      */
330     public ST insertPv25_PatientValuables(int rep) throws HL7Exception { 
331         return (ST) super.insertRepetition(5, rep);
332     }
333 
334 
335     /**
336      * Removes a repetition of
337      * PV2-5: "Patient Valuables" at a specific index
338      *
339      * @param rep The repetition index (0-indexed)
340      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
341      */
342     public ST removePatientValuables(int rep) throws HL7Exception { 
343         return (ST) super.removeRepetition(5, rep);
344     }
345 
346 
347     /**
348      * Removes a repetition of
349      * PV2-5: "Patient Valuables" at a specific index
350      *
351      * @param rep The repetition index (0-indexed)
352      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
353      */
354     public ST removePv25_PatientValuables(int rep) throws HL7Exception { 
355         return (ST) super.removeRepetition(5, rep);
356     }
357 
358 
359 
360 
361     /**
362      * Returns
363      * PV2-6: "Patient Valuables Location" - creates it if necessary
364      */
365     public ST getPatientValuablesLocation() { 
366 		ST retVal = this.getTypedField(6, 0);
367 		return retVal;
368     }
369     
370     /**
371      * Returns
372      * PV2-6: "Patient Valuables Location" - creates it if necessary
373      */
374     public ST getPv26_PatientValuablesLocation() { 
375 		ST retVal = this.getTypedField(6, 0);
376 		return retVal;
377     }
378 
379 
380     /**
381      * Returns all repetitions of Visit User Code (PV2-7).
382      */
383     public IS[] getVisitUserCode() {
384     	IS[] retVal = this.getTypedField(7, new IS[0]);
385     	return retVal;
386     }
387 
388 
389     /**
390      * Returns all repetitions of Visit User Code (PV2-7).
391      */
392     public IS[] getPv27_VisitUserCode() {
393     	IS[] retVal = this.getTypedField(7, new IS[0]);
394     	return retVal;
395     }
396 
397 
398     /**
399      * Returns a count of the current number of repetitions of Visit User Code (PV2-7).
400      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
401      * it will return zero.
402      */
403     public int getVisitUserCodeReps() {
404     	return this.getReps(7);
405     }
406 
407 
408     /**
409      * Returns a specific repetition of
410      * PV2-7: "Visit User Code" - creates it if necessary
411      *
412      * @param rep The repetition index (0-indexed)
413      */
414     public IS getVisitUserCode(int rep) { 
415 		IS retVal = this.getTypedField(7, rep);
416 		return retVal;
417     }
418 
419     /**
420      * Returns a specific repetition of
421      * PV2-7: "Visit User Code" - creates it if necessary
422      *
423      * @param rep The repetition index (0-indexed)
424      */
425     public IS getPv27_VisitUserCode(int rep) { 
426 		IS retVal = this.getTypedField(7, rep);
427 		return retVal;
428     }
429 
430     /**
431      * Returns a count of the current number of repetitions of Visit User Code (PV2-7).
432      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
433      * it will return zero.
434      */
435     public int getPv27_VisitUserCodeReps() {
436     	return this.getReps(7);
437     }
438 
439 
440     /**
441      * Inserts a repetition of
442      * PV2-7: "Visit User Code" 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 IS insertVisitUserCode(int rep) throws HL7Exception { 
448         return (IS) super.insertRepetition(7, rep);
449     }
450 
451 
452     /**
453      * Inserts a repetition of
454      * PV2-7: "Visit User Code" 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 IS insertPv27_VisitUserCode(int rep) throws HL7Exception { 
460         return (IS) super.insertRepetition(7, rep);
461     }
462 
463 
464     /**
465      * Removes a repetition of
466      * PV2-7: "Visit User Code" 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 IS removeVisitUserCode(int rep) throws HL7Exception { 
472         return (IS) super.removeRepetition(7, rep);
473     }
474 
475 
476     /**
477      * Removes a repetition of
478      * PV2-7: "Visit User Code" at a specific index
479      *
480      * @param rep The repetition index (0-indexed)
481      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
482      */
483     public IS removePv27_VisitUserCode(int rep) throws HL7Exception { 
484         return (IS) super.removeRepetition(7, rep);
485     }
486 
487 
488 
489 
490     /**
491      * Returns
492      * PV2-8: "Expected Admit Date/Time" - creates it if necessary
493      */
494     public TS getExpectedAdmitDateTime() { 
495 		TS retVal = this.getTypedField(8, 0);
496 		return retVal;
497     }
498     
499     /**
500      * Returns
501      * PV2-8: "Expected Admit Date/Time" - creates it if necessary
502      */
503     public TS getPv28_ExpectedAdmitDateTime() { 
504 		TS retVal = this.getTypedField(8, 0);
505 		return retVal;
506     }
507 
508 
509 
510     /**
511      * Returns
512      * PV2-9: "Expected Discharge Date/Time" - creates it if necessary
513      */
514     public TS getExpectedDischargeDateTime() { 
515 		TS retVal = this.getTypedField(9, 0);
516 		return retVal;
517     }
518     
519     /**
520      * Returns
521      * PV2-9: "Expected Discharge Date/Time" - creates it if necessary
522      */
523     public TS getPv29_ExpectedDischargeDateTime() { 
524 		TS retVal = this.getTypedField(9, 0);
525 		return retVal;
526     }
527 
528 
529 
530     /**
531      * Returns
532      * PV2-10: "Estimated Length of Inpatient Stay" - creates it if necessary
533      */
534     public NM getEstimatedLengthOfInpatientStay() { 
535 		NM retVal = this.getTypedField(10, 0);
536 		return retVal;
537     }
538     
539     /**
540      * Returns
541      * PV2-10: "Estimated Length of Inpatient Stay" - creates it if necessary
542      */
543     public NM getPv210_EstimatedLengthOfInpatientStay() { 
544 		NM retVal = this.getTypedField(10, 0);
545 		return retVal;
546     }
547 
548 
549 
550     /**
551      * Returns
552      * PV2-11: "Actual Length of Inpatient Stay" - creates it if necessary
553      */
554     public NM getActualLengthOfInpatientStay() { 
555 		NM retVal = this.getTypedField(11, 0);
556 		return retVal;
557     }
558     
559     /**
560      * Returns
561      * PV2-11: "Actual Length of Inpatient Stay" - creates it if necessary
562      */
563     public NM getPv211_ActualLengthOfInpatientStay() { 
564 		NM retVal = this.getTypedField(11, 0);
565 		return retVal;
566     }
567 
568 
569 
570     /**
571      * Returns
572      * PV2-12: "Visit Description" - creates it if necessary
573      */
574     public ST getVisitDescription() { 
575 		ST retVal = this.getTypedField(12, 0);
576 		return retVal;
577     }
578     
579     /**
580      * Returns
581      * PV2-12: "Visit Description" - creates it if necessary
582      */
583     public ST getPv212_VisitDescription() { 
584 		ST retVal = this.getTypedField(12, 0);
585 		return retVal;
586     }
587 
588 
589     /**
590      * Returns all repetitions of Referral Source Code (PV2-13).
591      */
592     public XCN[] getReferralSourceCode() {
593     	XCN[] retVal = this.getTypedField(13, new XCN[0]);
594     	return retVal;
595     }
596 
597 
598     /**
599      * Returns all repetitions of Referral Source Code (PV2-13).
600      */
601     public XCN[] getPv213_ReferralSourceCode() {
602     	XCN[] retVal = this.getTypedField(13, new XCN[0]);
603     	return retVal;
604     }
605 
606 
607     /**
608      * Returns a count of the current number of repetitions of Referral Source Code (PV2-13).
609      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
610      * it will return zero.
611      */
612     public int getReferralSourceCodeReps() {
613     	return this.getReps(13);
614     }
615 
616 
617     /**
618      * Returns a specific repetition of
619      * PV2-13: "Referral Source Code" - creates it if necessary
620      *
621      * @param rep The repetition index (0-indexed)
622      */
623     public XCN getReferralSourceCode(int rep) { 
624 		XCN retVal = this.getTypedField(13, rep);
625 		return retVal;
626     }
627 
628     /**
629      * Returns a specific repetition of
630      * PV2-13: "Referral Source Code" - creates it if necessary
631      *
632      * @param rep The repetition index (0-indexed)
633      */
634     public XCN getPv213_ReferralSourceCode(int rep) { 
635 		XCN retVal = this.getTypedField(13, rep);
636 		return retVal;
637     }
638 
639     /**
640      * Returns a count of the current number of repetitions of Referral Source Code (PV2-13).
641      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
642      * it will return zero.
643      */
644     public int getPv213_ReferralSourceCodeReps() {
645     	return this.getReps(13);
646     }
647 
648 
649     /**
650      * Inserts a repetition of
651      * PV2-13: "Referral Source Code" at a specific index
652      *
653      * @param rep The repetition index (0-indexed)
654      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
655      */
656     public XCN insertReferralSourceCode(int rep) throws HL7Exception { 
657         return (XCN) super.insertRepetition(13, rep);
658     }
659 
660 
661     /**
662      * Inserts a repetition of
663      * PV2-13: "Referral Source Code" at a specific index
664      *
665      * @param rep The repetition index (0-indexed)
666      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
667      */
668     public XCN insertPv213_ReferralSourceCode(int rep) throws HL7Exception { 
669         return (XCN) super.insertRepetition(13, rep);
670     }
671 
672 
673     /**
674      * Removes a repetition of
675      * PV2-13: "Referral Source Code" at a specific index
676      *
677      * @param rep The repetition index (0-indexed)
678      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
679      */
680     public XCN removeReferralSourceCode(int rep) throws HL7Exception { 
681         return (XCN) super.removeRepetition(13, rep);
682     }
683 
684 
685     /**
686      * Removes a repetition of
687      * PV2-13: "Referral Source Code" at a specific index
688      *
689      * @param rep The repetition index (0-indexed)
690      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
691      */
692     public XCN removePv213_ReferralSourceCode(int rep) throws HL7Exception { 
693         return (XCN) super.removeRepetition(13, rep);
694     }
695 
696 
697 
698 
699     /**
700      * Returns
701      * PV2-14: "Previous Service Date" - creates it if necessary
702      */
703     public DT getPreviousServiceDate() { 
704 		DT retVal = this.getTypedField(14, 0);
705 		return retVal;
706     }
707     
708     /**
709      * Returns
710      * PV2-14: "Previous Service Date" - creates it if necessary
711      */
712     public DT getPv214_PreviousServiceDate() { 
713 		DT retVal = this.getTypedField(14, 0);
714 		return retVal;
715     }
716 
717 
718 
719     /**
720      * Returns
721      * PV2-15: "Employment Illness Related Indicator" - creates it if necessary
722      */
723     public ID getEmploymentIllnessRelatedIndicator() { 
724 		ID retVal = this.getTypedField(15, 0);
725 		return retVal;
726     }
727     
728     /**
729      * Returns
730      * PV2-15: "Employment Illness Related Indicator" - creates it if necessary
731      */
732     public ID getPv215_EmploymentIllnessRelatedIndicator() { 
733 		ID retVal = this.getTypedField(15, 0);
734 		return retVal;
735     }
736 
737 
738 
739     /**
740      * Returns
741      * PV2-16: "Purge Status Code" - creates it if necessary
742      */
743     public IS getPurgeStatusCode() { 
744 		IS retVal = this.getTypedField(16, 0);
745 		return retVal;
746     }
747     
748     /**
749      * Returns
750      * PV2-16: "Purge Status Code" - creates it if necessary
751      */
752     public IS getPv216_PurgeStatusCode() { 
753 		IS retVal = this.getTypedField(16, 0);
754 		return retVal;
755     }
756 
757 
758 
759     /**
760      * Returns
761      * PV2-17: "Purge Status Date" - creates it if necessary
762      */
763     public DT getPurgeStatusDate() { 
764 		DT retVal = this.getTypedField(17, 0);
765 		return retVal;
766     }
767     
768     /**
769      * Returns
770      * PV2-17: "Purge Status Date" - creates it if necessary
771      */
772     public DT getPv217_PurgeStatusDate() { 
773 		DT retVal = this.getTypedField(17, 0);
774 		return retVal;
775     }
776 
777 
778 
779     /**
780      * Returns
781      * PV2-18: "Special Program Code" - creates it if necessary
782      */
783     public IS getSpecialProgramCode() { 
784 		IS retVal = this.getTypedField(18, 0);
785 		return retVal;
786     }
787     
788     /**
789      * Returns
790      * PV2-18: "Special Program Code" - creates it if necessary
791      */
792     public IS getPv218_SpecialProgramCode() { 
793 		IS retVal = this.getTypedField(18, 0);
794 		return retVal;
795     }
796 
797 
798 
799     /**
800      * Returns
801      * PV2-19: "Retention Indicator" - creates it if necessary
802      */
803     public ID getRetentionIndicator() { 
804 		ID retVal = this.getTypedField(19, 0);
805 		return retVal;
806     }
807     
808     /**
809      * Returns
810      * PV2-19: "Retention Indicator" - creates it if necessary
811      */
812     public ID getPv219_RetentionIndicator() { 
813 		ID retVal = this.getTypedField(19, 0);
814 		return retVal;
815     }
816 
817 
818 
819     /**
820      * Returns
821      * PV2-20: "Expected Number of Insurance Plans" - creates it if necessary
822      */
823     public NM getExpectedNumberOfInsurancePlans() { 
824 		NM retVal = this.getTypedField(20, 0);
825 		return retVal;
826     }
827     
828     /**
829      * Returns
830      * PV2-20: "Expected Number of Insurance Plans" - creates it if necessary
831      */
832     public NM getPv220_ExpectedNumberOfInsurancePlans() { 
833 		NM retVal = this.getTypedField(20, 0);
834 		return retVal;
835     }
836 
837 
838 
839     /**
840      * Returns
841      * PV2-21: "Visit Publicity Code" - creates it if necessary
842      */
843     public IS getVisitPublicityCode() { 
844 		IS retVal = this.getTypedField(21, 0);
845 		return retVal;
846     }
847     
848     /**
849      * Returns
850      * PV2-21: "Visit Publicity Code" - creates it if necessary
851      */
852     public IS getPv221_VisitPublicityCode() { 
853 		IS retVal = this.getTypedField(21, 0);
854 		return retVal;
855     }
856 
857 
858 
859     /**
860      * Returns
861      * PV2-22: "Visit Protection Indicator" - creates it if necessary
862      */
863     public ID getVisitProtectionIndicator() { 
864 		ID retVal = this.getTypedField(22, 0);
865 		return retVal;
866     }
867     
868     /**
869      * Returns
870      * PV2-22: "Visit Protection Indicator" - creates it if necessary
871      */
872     public ID getPv222_VisitProtectionIndicator() { 
873 		ID retVal = this.getTypedField(22, 0);
874 		return retVal;
875     }
876 
877 
878     /**
879      * Returns all repetitions of Clinic Organization Name (PV2-23).
880      */
881     public XON[] getClinicOrganizationName() {
882     	XON[] retVal = this.getTypedField(23, new XON[0]);
883     	return retVal;
884     }
885 
886 
887     /**
888      * Returns all repetitions of Clinic Organization Name (PV2-23).
889      */
890     public XON[] getPv223_ClinicOrganizationName() {
891     	XON[] retVal = this.getTypedField(23, new XON[0]);
892     	return retVal;
893     }
894 
895 
896     /**
897      * Returns a count of the current number of repetitions of Clinic Organization Name (PV2-23).
898      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
899      * it will return zero.
900      */
901     public int getClinicOrganizationNameReps() {
902     	return this.getReps(23);
903     }
904 
905 
906     /**
907      * Returns a specific repetition of
908      * PV2-23: "Clinic Organization Name" - creates it if necessary
909      *
910      * @param rep The repetition index (0-indexed)
911      */
912     public XON getClinicOrganizationName(int rep) { 
913 		XON retVal = this.getTypedField(23, rep);
914 		return retVal;
915     }
916 
917     /**
918      * Returns a specific repetition of
919      * PV2-23: "Clinic Organization Name" - creates it if necessary
920      *
921      * @param rep The repetition index (0-indexed)
922      */
923     public XON getPv223_ClinicOrganizationName(int rep) { 
924 		XON retVal = this.getTypedField(23, rep);
925 		return retVal;
926     }
927 
928     /**
929      * Returns a count of the current number of repetitions of Clinic Organization Name (PV2-23).
930      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
931      * it will return zero.
932      */
933     public int getPv223_ClinicOrganizationNameReps() {
934     	return this.getReps(23);
935     }
936 
937 
938     /**
939      * Inserts a repetition of
940      * PV2-23: "Clinic Organization Name" at a specific index
941      *
942      * @param rep The repetition index (0-indexed)
943      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
944      */
945     public XON insertClinicOrganizationName(int rep) throws HL7Exception { 
946         return (XON) super.insertRepetition(23, rep);
947     }
948 
949 
950     /**
951      * Inserts a repetition of
952      * PV2-23: "Clinic Organization Name" at a specific index
953      *
954      * @param rep The repetition index (0-indexed)
955      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
956      */
957     public XON insertPv223_ClinicOrganizationName(int rep) throws HL7Exception { 
958         return (XON) super.insertRepetition(23, rep);
959     }
960 
961 
962     /**
963      * Removes a repetition of
964      * PV2-23: "Clinic Organization Name" at a specific index
965      *
966      * @param rep The repetition index (0-indexed)
967      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
968      */
969     public XON removeClinicOrganizationName(int rep) throws HL7Exception { 
970         return (XON) super.removeRepetition(23, rep);
971     }
972 
973 
974     /**
975      * Removes a repetition of
976      * PV2-23: "Clinic Organization Name" at a specific index
977      *
978      * @param rep The repetition index (0-indexed)
979      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
980      */
981     public XON removePv223_ClinicOrganizationName(int rep) throws HL7Exception { 
982         return (XON) super.removeRepetition(23, rep);
983     }
984 
985 
986 
987 
988     /**
989      * Returns
990      * PV2-24: "Patient Status Code" - creates it if necessary
991      */
992     public IS getPatientStatusCode() { 
993 		IS retVal = this.getTypedField(24, 0);
994 		return retVal;
995     }
996     
997     /**
998      * Returns
999      * PV2-24: "Patient Status Code" - creates it if necessary
1000      */
1001     public IS getPv224_PatientStatusCode() { 
1002 		IS retVal = this.getTypedField(24, 0);
1003 		return retVal;
1004     }
1005 
1006 
1007 
1008     /**
1009      * Returns
1010      * PV2-25: "Visit Priority Code" - creates it if necessary
1011      */
1012     public IS getVisitPriorityCode() { 
1013 		IS retVal = this.getTypedField(25, 0);
1014 		return retVal;
1015     }
1016     
1017     /**
1018      * Returns
1019      * PV2-25: "Visit Priority Code" - creates it if necessary
1020      */
1021     public IS getPv225_VisitPriorityCode() { 
1022 		IS retVal = this.getTypedField(25, 0);
1023 		return retVal;
1024     }
1025 
1026 
1027 
1028     /**
1029      * Returns
1030      * PV2-26: "Previous Treatment Date" - creates it if necessary
1031      */
1032     public DT getPreviousTreatmentDate() { 
1033 		DT retVal = this.getTypedField(26, 0);
1034 		return retVal;
1035     }
1036     
1037     /**
1038      * Returns
1039      * PV2-26: "Previous Treatment Date" - creates it if necessary
1040      */
1041     public DT getPv226_PreviousTreatmentDate() { 
1042 		DT retVal = this.getTypedField(26, 0);
1043 		return retVal;
1044     }
1045 
1046 
1047 
1048     /**
1049      * Returns
1050      * PV2-27: "Expected Discharge Disposition" - creates it if necessary
1051      */
1052     public IS getExpectedDischargeDisposition() { 
1053 		IS retVal = this.getTypedField(27, 0);
1054 		return retVal;
1055     }
1056     
1057     /**
1058      * Returns
1059      * PV2-27: "Expected Discharge Disposition" - creates it if necessary
1060      */
1061     public IS getPv227_ExpectedDischargeDisposition() { 
1062 		IS retVal = this.getTypedField(27, 0);
1063 		return retVal;
1064     }
1065 
1066 
1067 
1068     /**
1069      * Returns
1070      * PV2-28: "Signature on File Date" - creates it if necessary
1071      */
1072     public DT getSignatureOnFileDate() { 
1073 		DT retVal = this.getTypedField(28, 0);
1074 		return retVal;
1075     }
1076     
1077     /**
1078      * Returns
1079      * PV2-28: "Signature on File Date" - creates it if necessary
1080      */
1081     public DT getPv228_SignatureOnFileDate() { 
1082 		DT retVal = this.getTypedField(28, 0);
1083 		return retVal;
1084     }
1085 
1086 
1087 
1088     /**
1089      * Returns
1090      * PV2-29: "First Similar Illness Date" - creates it if necessary
1091      */
1092     public DT getFirstSimilarIllnessDate() { 
1093 		DT retVal = this.getTypedField(29, 0);
1094 		return retVal;
1095     }
1096     
1097     /**
1098      * Returns
1099      * PV2-29: "First Similar Illness Date" - creates it if necessary
1100      */
1101     public DT getPv229_FirstSimilarIllnessDate() { 
1102 		DT retVal = this.getTypedField(29, 0);
1103 		return retVal;
1104     }
1105 
1106 
1107 
1108     /**
1109      * Returns
1110      * PV2-30: "Patient Charge Adjustment Code" - creates it if necessary
1111      */
1112     public CE getPatientChargeAdjustmentCode() { 
1113 		CE retVal = this.getTypedField(30, 0);
1114 		return retVal;
1115     }
1116     
1117     /**
1118      * Returns
1119      * PV2-30: "Patient Charge Adjustment Code" - creates it if necessary
1120      */
1121     public CE getPv230_PatientChargeAdjustmentCode() { 
1122 		CE retVal = this.getTypedField(30, 0);
1123 		return retVal;
1124     }
1125 
1126 
1127 
1128     /**
1129      * Returns
1130      * PV2-31: "Recurring Service Code" - creates it if necessary
1131      */
1132     public IS getRecurringServiceCode() { 
1133 		IS retVal = this.getTypedField(31, 0);
1134 		return retVal;
1135     }
1136     
1137     /**
1138      * Returns
1139      * PV2-31: "Recurring Service Code" - creates it if necessary
1140      */
1141     public IS getPv231_RecurringServiceCode() { 
1142 		IS retVal = this.getTypedField(31, 0);
1143 		return retVal;
1144     }
1145 
1146 
1147 
1148     /**
1149      * Returns
1150      * PV2-32: "Billing Media Code" - creates it if necessary
1151      */
1152     public ID getBillingMediaCode() { 
1153 		ID retVal = this.getTypedField(32, 0);
1154 		return retVal;
1155     }
1156     
1157     /**
1158      * Returns
1159      * PV2-32: "Billing Media Code" - creates it if necessary
1160      */
1161     public ID getPv232_BillingMediaCode() { 
1162 		ID retVal = this.getTypedField(32, 0);
1163 		return retVal;
1164     }
1165 
1166 
1167 
1168     /**
1169      * Returns
1170      * PV2-33: "Expected Surgery Date and Time" - creates it if necessary
1171      */
1172     public TS getExpectedSurgeryDateAndTime() { 
1173 		TS retVal = this.getTypedField(33, 0);
1174 		return retVal;
1175     }
1176     
1177     /**
1178      * Returns
1179      * PV2-33: "Expected Surgery Date and Time" - creates it if necessary
1180      */
1181     public TS getPv233_ExpectedSurgeryDateAndTime() { 
1182 		TS retVal = this.getTypedField(33, 0);
1183 		return retVal;
1184     }
1185 
1186 
1187 
1188     /**
1189      * Returns
1190      * PV2-34: "Military Partnership Code" - creates it if necessary
1191      */
1192     public ID getMilitaryPartnershipCode() { 
1193 		ID retVal = this.getTypedField(34, 0);
1194 		return retVal;
1195     }
1196     
1197     /**
1198      * Returns
1199      * PV2-34: "Military Partnership Code" - creates it if necessary
1200      */
1201     public ID getPv234_MilitaryPartnershipCode() { 
1202 		ID retVal = this.getTypedField(34, 0);
1203 		return retVal;
1204     }
1205 
1206 
1207 
1208     /**
1209      * Returns
1210      * PV2-35: "Military Non-Availability Code" - creates it if necessary
1211      */
1212     public ID getMilitaryNonAvailabilityCode() { 
1213 		ID retVal = this.getTypedField(35, 0);
1214 		return retVal;
1215     }
1216     
1217     /**
1218      * Returns
1219      * PV2-35: "Military Non-Availability Code" - creates it if necessary
1220      */
1221     public ID getPv235_MilitaryNonAvailabilityCode() { 
1222 		ID retVal = this.getTypedField(35, 0);
1223 		return retVal;
1224     }
1225 
1226 
1227 
1228     /**
1229      * Returns
1230      * PV2-36: "Newborn Baby Indicator" - creates it if necessary
1231      */
1232     public ID getNewbornBabyIndicator() { 
1233 		ID retVal = this.getTypedField(36, 0);
1234 		return retVal;
1235     }
1236     
1237     /**
1238      * Returns
1239      * PV2-36: "Newborn Baby Indicator" - creates it if necessary
1240      */
1241     public ID getPv236_NewbornBabyIndicator() { 
1242 		ID retVal = this.getTypedField(36, 0);
1243 		return retVal;
1244     }
1245 
1246 
1247 
1248     /**
1249      * Returns
1250      * PV2-37: "Baby Detained Indicator" - creates it if necessary
1251      */
1252     public ID getBabyDetainedIndicator() { 
1253 		ID retVal = this.getTypedField(37, 0);
1254 		return retVal;
1255     }
1256     
1257     /**
1258      * Returns
1259      * PV2-37: "Baby Detained Indicator" - creates it if necessary
1260      */
1261     public ID getPv237_BabyDetainedIndicator() { 
1262 		ID retVal = this.getTypedField(37, 0);
1263 		return retVal;
1264     }
1265 
1266 
1267 
1268     /**
1269      * Returns
1270      * PV2-38: "Mode of Arrival Code" - creates it if necessary
1271      */
1272     public CE getModeOfArrivalCode() { 
1273 		CE retVal = this.getTypedField(38, 0);
1274 		return retVal;
1275     }
1276     
1277     /**
1278      * Returns
1279      * PV2-38: "Mode of Arrival Code" - creates it if necessary
1280      */
1281     public CE getPv238_ModeOfArrivalCode() { 
1282 		CE retVal = this.getTypedField(38, 0);
1283 		return retVal;
1284     }
1285 
1286 
1287     /**
1288      * Returns all repetitions of Recreational Drug Use Code (PV2-39).
1289      */
1290     public CE[] getRecreationalDrugUseCode() {
1291     	CE[] retVal = this.getTypedField(39, new CE[0]);
1292     	return retVal;
1293     }
1294 
1295 
1296     /**
1297      * Returns all repetitions of Recreational Drug Use Code (PV2-39).
1298      */
1299     public CE[] getPv239_RecreationalDrugUseCode() {
1300     	CE[] retVal = this.getTypedField(39, new CE[0]);
1301     	return retVal;
1302     }
1303 
1304 
1305     /**
1306      * Returns a count of the current number of repetitions of Recreational Drug Use Code (PV2-39).
1307      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1308      * it will return zero.
1309      */
1310     public int getRecreationalDrugUseCodeReps() {
1311     	return this.getReps(39);
1312     }
1313 
1314 
1315     /**
1316      * Returns a specific repetition of
1317      * PV2-39: "Recreational Drug Use Code" - creates it if necessary
1318      *
1319      * @param rep The repetition index (0-indexed)
1320      */
1321     public CE getRecreationalDrugUseCode(int rep) { 
1322 		CE retVal = this.getTypedField(39, rep);
1323 		return retVal;
1324     }
1325 
1326     /**
1327      * Returns a specific repetition of
1328      * PV2-39: "Recreational Drug Use Code" - creates it if necessary
1329      *
1330      * @param rep The repetition index (0-indexed)
1331      */
1332     public CE getPv239_RecreationalDrugUseCode(int rep) { 
1333 		CE retVal = this.getTypedField(39, rep);
1334 		return retVal;
1335     }
1336 
1337     /**
1338      * Returns a count of the current number of repetitions of Recreational Drug Use Code (PV2-39).
1339      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1340      * it will return zero.
1341      */
1342     public int getPv239_RecreationalDrugUseCodeReps() {
1343     	return this.getReps(39);
1344     }
1345 
1346 
1347     /**
1348      * Inserts a repetition of
1349      * PV2-39: "Recreational Drug Use Code" at a specific index
1350      *
1351      * @param rep The repetition index (0-indexed)
1352      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1353      */
1354     public CE insertRecreationalDrugUseCode(int rep) throws HL7Exception { 
1355         return (CE) super.insertRepetition(39, rep);
1356     }
1357 
1358 
1359     /**
1360      * Inserts a repetition of
1361      * PV2-39: "Recreational Drug Use Code" at a specific index
1362      *
1363      * @param rep The repetition index (0-indexed)
1364      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1365      */
1366     public CE insertPv239_RecreationalDrugUseCode(int rep) throws HL7Exception { 
1367         return (CE) super.insertRepetition(39, rep);
1368     }
1369 
1370 
1371     /**
1372      * Removes a repetition of
1373      * PV2-39: "Recreational Drug Use Code" at a specific index
1374      *
1375      * @param rep The repetition index (0-indexed)
1376      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1377      */
1378     public CE removeRecreationalDrugUseCode(int rep) throws HL7Exception { 
1379         return (CE) super.removeRepetition(39, rep);
1380     }
1381 
1382 
1383     /**
1384      * Removes a repetition of
1385      * PV2-39: "Recreational Drug Use Code" at a specific index
1386      *
1387      * @param rep The repetition index (0-indexed)
1388      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1389      */
1390     public CE removePv239_RecreationalDrugUseCode(int rep) throws HL7Exception { 
1391         return (CE) super.removeRepetition(39, rep);
1392     }
1393 
1394 
1395 
1396 
1397     /**
1398      * Returns
1399      * PV2-40: "Admission Level of Care Code" - creates it if necessary
1400      */
1401     public CE getAdmissionLevelOfCareCode() { 
1402 		CE retVal = this.getTypedField(40, 0);
1403 		return retVal;
1404     }
1405     
1406     /**
1407      * Returns
1408      * PV2-40: "Admission Level of Care Code" - creates it if necessary
1409      */
1410     public CE getPv240_AdmissionLevelOfCareCode() { 
1411 		CE retVal = this.getTypedField(40, 0);
1412 		return retVal;
1413     }
1414 
1415 
1416     /**
1417      * Returns all repetitions of Precaution Code (PV2-41).
1418      */
1419     public CE[] getPrecautionCode() {
1420     	CE[] retVal = this.getTypedField(41, new CE[0]);
1421     	return retVal;
1422     }
1423 
1424 
1425     /**
1426      * Returns all repetitions of Precaution Code (PV2-41).
1427      */
1428     public CE[] getPv241_PrecautionCode() {
1429     	CE[] retVal = this.getTypedField(41, new CE[0]);
1430     	return retVal;
1431     }
1432 
1433 
1434     /**
1435      * Returns a count of the current number of repetitions of Precaution Code (PV2-41).
1436      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1437      * it will return zero.
1438      */
1439     public int getPrecautionCodeReps() {
1440     	return this.getReps(41);
1441     }
1442 
1443 
1444     /**
1445      * Returns a specific repetition of
1446      * PV2-41: "Precaution Code" - creates it if necessary
1447      *
1448      * @param rep The repetition index (0-indexed)
1449      */
1450     public CE getPrecautionCode(int rep) { 
1451 		CE retVal = this.getTypedField(41, rep);
1452 		return retVal;
1453     }
1454 
1455     /**
1456      * Returns a specific repetition of
1457      * PV2-41: "Precaution Code" - creates it if necessary
1458      *
1459      * @param rep The repetition index (0-indexed)
1460      */
1461     public CE getPv241_PrecautionCode(int rep) { 
1462 		CE retVal = this.getTypedField(41, rep);
1463 		return retVal;
1464     }
1465 
1466     /**
1467      * Returns a count of the current number of repetitions of Precaution Code (PV2-41).
1468      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1469      * it will return zero.
1470      */
1471     public int getPv241_PrecautionCodeReps() {
1472     	return this.getReps(41);
1473     }
1474 
1475 
1476     /**
1477      * Inserts a repetition of
1478      * PV2-41: "Precaution Code" at a specific index
1479      *
1480      * @param rep The repetition index (0-indexed)
1481      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1482      */
1483     public CE insertPrecautionCode(int rep) throws HL7Exception { 
1484         return (CE) super.insertRepetition(41, rep);
1485     }
1486 
1487 
1488     /**
1489      * Inserts a repetition of
1490      * PV2-41: "Precaution Code" at a specific index
1491      *
1492      * @param rep The repetition index (0-indexed)
1493      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1494      */
1495     public CE insertPv241_PrecautionCode(int rep) throws HL7Exception { 
1496         return (CE) super.insertRepetition(41, rep);
1497     }
1498 
1499 
1500     /**
1501      * Removes a repetition of
1502      * PV2-41: "Precaution Code" at a specific index
1503      *
1504      * @param rep The repetition index (0-indexed)
1505      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1506      */
1507     public CE removePrecautionCode(int rep) throws HL7Exception { 
1508         return (CE) super.removeRepetition(41, rep);
1509     }
1510 
1511 
1512     /**
1513      * Removes a repetition of
1514      * PV2-41: "Precaution Code" at a specific index
1515      *
1516      * @param rep The repetition index (0-indexed)
1517      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1518      */
1519     public CE removePv241_PrecautionCode(int rep) throws HL7Exception { 
1520         return (CE) super.removeRepetition(41, rep);
1521     }
1522 
1523 
1524 
1525 
1526     /**
1527      * Returns
1528      * PV2-42: "Patient Condition Code" - creates it if necessary
1529      */
1530     public CE getPatientConditionCode() { 
1531 		CE retVal = this.getTypedField(42, 0);
1532 		return retVal;
1533     }
1534     
1535     /**
1536      * Returns
1537      * PV2-42: "Patient Condition Code" - creates it if necessary
1538      */
1539     public CE getPv242_PatientConditionCode() { 
1540 		CE retVal = this.getTypedField(42, 0);
1541 		return retVal;
1542     }
1543 
1544 
1545 
1546     /**
1547      * Returns
1548      * PV2-43: "Living Will Code" - creates it if necessary
1549      */
1550     public IS getLivingWillCode() { 
1551 		IS retVal = this.getTypedField(43, 0);
1552 		return retVal;
1553     }
1554     
1555     /**
1556      * Returns
1557      * PV2-43: "Living Will Code" - creates it if necessary
1558      */
1559     public IS getPv243_LivingWillCode() { 
1560 		IS retVal = this.getTypedField(43, 0);
1561 		return retVal;
1562     }
1563 
1564 
1565 
1566     /**
1567      * Returns
1568      * PV2-44: "Organ Donor Code" - creates it if necessary
1569      */
1570     public IS getOrganDonorCode() { 
1571 		IS retVal = this.getTypedField(44, 0);
1572 		return retVal;
1573     }
1574     
1575     /**
1576      * Returns
1577      * PV2-44: "Organ Donor Code" - creates it if necessary
1578      */
1579     public IS getPv244_OrganDonorCode() { 
1580 		IS retVal = this.getTypedField(44, 0);
1581 		return retVal;
1582     }
1583 
1584 
1585     /**
1586      * Returns all repetitions of Advance Directive Code (PV2-45).
1587      */
1588     public CE[] getAdvanceDirectiveCode() {
1589     	CE[] retVal = this.getTypedField(45, new CE[0]);
1590     	return retVal;
1591     }
1592 
1593 
1594     /**
1595      * Returns all repetitions of Advance Directive Code (PV2-45).
1596      */
1597     public CE[] getPv245_AdvanceDirectiveCode() {
1598     	CE[] retVal = this.getTypedField(45, new CE[0]);
1599     	return retVal;
1600     }
1601 
1602 
1603     /**
1604      * Returns a count of the current number of repetitions of Advance Directive Code (PV2-45).
1605      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1606      * it will return zero.
1607      */
1608     public int getAdvanceDirectiveCodeReps() {
1609     	return this.getReps(45);
1610     }
1611 
1612 
1613     /**
1614      * Returns a specific repetition of
1615      * PV2-45: "Advance Directive Code" - creates it if necessary
1616      *
1617      * @param rep The repetition index (0-indexed)
1618      */
1619     public CE getAdvanceDirectiveCode(int rep) { 
1620 		CE retVal = this.getTypedField(45, rep);
1621 		return retVal;
1622     }
1623 
1624     /**
1625      * Returns a specific repetition of
1626      * PV2-45: "Advance Directive Code" - creates it if necessary
1627      *
1628      * @param rep The repetition index (0-indexed)
1629      */
1630     public CE getPv245_AdvanceDirectiveCode(int rep) { 
1631 		CE retVal = this.getTypedField(45, rep);
1632 		return retVal;
1633     }
1634 
1635     /**
1636      * Returns a count of the current number of repetitions of Advance Directive Code (PV2-45).
1637      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1638      * it will return zero.
1639      */
1640     public int getPv245_AdvanceDirectiveCodeReps() {
1641     	return this.getReps(45);
1642     }
1643 
1644 
1645     /**
1646      * Inserts a repetition of
1647      * PV2-45: "Advance Directive Code" at a specific index
1648      *
1649      * @param rep The repetition index (0-indexed)
1650      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1651      */
1652     public CE insertAdvanceDirectiveCode(int rep) throws HL7Exception { 
1653         return (CE) super.insertRepetition(45, rep);
1654     }
1655 
1656 
1657     /**
1658      * Inserts a repetition of
1659      * PV2-45: "Advance Directive Code" at a specific index
1660      *
1661      * @param rep The repetition index (0-indexed)
1662      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1663      */
1664     public CE insertPv245_AdvanceDirectiveCode(int rep) throws HL7Exception { 
1665         return (CE) super.insertRepetition(45, rep);
1666     }
1667 
1668 
1669     /**
1670      * Removes a repetition of
1671      * PV2-45: "Advance Directive Code" at a specific index
1672      *
1673      * @param rep The repetition index (0-indexed)
1674      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1675      */
1676     public CE removeAdvanceDirectiveCode(int rep) throws HL7Exception { 
1677         return (CE) super.removeRepetition(45, rep);
1678     }
1679 
1680 
1681     /**
1682      * Removes a repetition of
1683      * PV2-45: "Advance Directive Code" at a specific index
1684      *
1685      * @param rep The repetition index (0-indexed)
1686      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1687      */
1688     public CE removePv245_AdvanceDirectiveCode(int rep) throws HL7Exception { 
1689         return (CE) super.removeRepetition(45, rep);
1690     }
1691 
1692 
1693 
1694 
1695     /**
1696      * Returns
1697      * PV2-46: "Patient Status Effective Date" - creates it if necessary
1698      */
1699     public DT getPatientStatusEffectiveDate() { 
1700 		DT retVal = this.getTypedField(46, 0);
1701 		return retVal;
1702     }
1703     
1704     /**
1705      * Returns
1706      * PV2-46: "Patient Status Effective Date" - creates it if necessary
1707      */
1708     public DT getPv246_PatientStatusEffectiveDate() { 
1709 		DT retVal = this.getTypedField(46, 0);
1710 		return retVal;
1711     }
1712 
1713 
1714 
1715     /**
1716      * Returns
1717      * PV2-47: "Expected LOA Return Date/Time" - creates it if necessary
1718      */
1719     public TS getExpectedLOAReturnDateTime() { 
1720 		TS retVal = this.getTypedField(47, 0);
1721 		return retVal;
1722     }
1723     
1724     /**
1725      * Returns
1726      * PV2-47: "Expected LOA Return Date/Time" - creates it if necessary
1727      */
1728     public TS getPv247_ExpectedLOAReturnDateTime() { 
1729 		TS retVal = this.getTypedField(47, 0);
1730 		return retVal;
1731     }
1732 
1733 
1734 
1735     /**
1736      * Returns
1737      * PV2-48: "Expected Pre-admission Testing Date/Time" - creates it if necessary
1738      */
1739     public TS getExpectedPreAdmissionTestingDateTime() { 
1740 		TS retVal = this.getTypedField(48, 0);
1741 		return retVal;
1742     }
1743     
1744     /**
1745      * Returns
1746      * PV2-48: "Expected Pre-admission Testing Date/Time" - creates it if necessary
1747      */
1748     public TS getPv248_ExpectedPreAdmissionTestingDateTime() { 
1749 		TS retVal = this.getTypedField(48, 0);
1750 		return retVal;
1751     }
1752 
1753 
1754     /**
1755      * Returns all repetitions of Notify Clergy Code (PV2-49).
1756      */
1757     public IS[] getNotifyClergyCode() {
1758     	IS[] retVal = this.getTypedField(49, new IS[0]);
1759     	return retVal;
1760     }
1761 
1762 
1763     /**
1764      * Returns all repetitions of Notify Clergy Code (PV2-49).
1765      */
1766     public IS[] getPv249_NotifyClergyCode() {
1767     	IS[] retVal = this.getTypedField(49, new IS[0]);
1768     	return retVal;
1769     }
1770 
1771 
1772     /**
1773      * Returns a count of the current number of repetitions of Notify Clergy Code (PV2-49).
1774      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1775      * it will return zero.
1776      */
1777     public int getNotifyClergyCodeReps() {
1778     	return this.getReps(49);
1779     }
1780 
1781 
1782     /**
1783      * Returns a specific repetition of
1784      * PV2-49: "Notify Clergy Code" - creates it if necessary
1785      *
1786      * @param rep The repetition index (0-indexed)
1787      */
1788     public IS getNotifyClergyCode(int rep) { 
1789 		IS retVal = this.getTypedField(49, rep);
1790 		return retVal;
1791     }
1792 
1793     /**
1794      * Returns a specific repetition of
1795      * PV2-49: "Notify Clergy Code" - creates it if necessary
1796      *
1797      * @param rep The repetition index (0-indexed)
1798      */
1799     public IS getPv249_NotifyClergyCode(int rep) { 
1800 		IS retVal = this.getTypedField(49, rep);
1801 		return retVal;
1802     }
1803 
1804     /**
1805      * Returns a count of the current number of repetitions of Notify Clergy Code (PV2-49).
1806      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1807      * it will return zero.
1808      */
1809     public int getPv249_NotifyClergyCodeReps() {
1810     	return this.getReps(49);
1811     }
1812 
1813 
1814     /**
1815      * Inserts a repetition of
1816      * PV2-49: "Notify Clergy Code" at a specific index
1817      *
1818      * @param rep The repetition index (0-indexed)
1819      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1820      */
1821     public IS insertNotifyClergyCode(int rep) throws HL7Exception { 
1822         return (IS) super.insertRepetition(49, rep);
1823     }
1824 
1825 
1826     /**
1827      * Inserts a repetition of
1828      * PV2-49: "Notify Clergy Code" at a specific index
1829      *
1830      * @param rep The repetition index (0-indexed)
1831      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1832      */
1833     public IS insertPv249_NotifyClergyCode(int rep) throws HL7Exception { 
1834         return (IS) super.insertRepetition(49, rep);
1835     }
1836 
1837 
1838     /**
1839      * Removes a repetition of
1840      * PV2-49: "Notify Clergy Code" at a specific index
1841      *
1842      * @param rep The repetition index (0-indexed)
1843      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1844      */
1845     public IS removeNotifyClergyCode(int rep) throws HL7Exception { 
1846         return (IS) super.removeRepetition(49, rep);
1847     }
1848 
1849 
1850     /**
1851      * Removes a repetition of
1852      * PV2-49: "Notify Clergy Code" at a specific index
1853      *
1854      * @param rep The repetition index (0-indexed)
1855      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1856      */
1857     public IS removePv249_NotifyClergyCode(int rep) throws HL7Exception { 
1858         return (IS) super.removeRepetition(49, rep);
1859     }
1860 
1861 
1862 
1863 
1864 
1865 
1866     /** {@inheritDoc} */   
1867     protected Type createNewTypeWithoutReflection(int field) {
1868        switch (field) {
1869           case 0: return new PL(getMessage());
1870           case 1: return new CE(getMessage());
1871           case 2: return new CE(getMessage());
1872           case 3: return new CE(getMessage());
1873           case 4: return new ST(getMessage());
1874           case 5: return new ST(getMessage());
1875           case 6: return new IS(getMessage(), new Integer( 130 ));
1876           case 7: return new TS(getMessage());
1877           case 8: return new TS(getMessage());
1878           case 9: return new NM(getMessage());
1879           case 10: return new NM(getMessage());
1880           case 11: return new ST(getMessage());
1881           case 12: return new XCN(getMessage());
1882           case 13: return new DT(getMessage());
1883           case 14: return new ID(getMessage(), new Integer( 136 ));
1884           case 15: return new IS(getMessage(), new Integer( 213 ));
1885           case 16: return new DT(getMessage());
1886           case 17: return new IS(getMessage(), new Integer( 214 ));
1887           case 18: return new ID(getMessage(), new Integer( 136 ));
1888           case 19: return new NM(getMessage());
1889           case 20: return new IS(getMessage(), new Integer( 215 ));
1890           case 21: return new ID(getMessage(), new Integer( 136 ));
1891           case 22: return new XON(getMessage());
1892           case 23: return new IS(getMessage(), new Integer( 216 ));
1893           case 24: return new IS(getMessage(), new Integer( 217 ));
1894           case 25: return new DT(getMessage());
1895           case 26: return new IS(getMessage(), new Integer( 112 ));
1896           case 27: return new DT(getMessage());
1897           case 28: return new DT(getMessage());
1898           case 29: return new CE(getMessage());
1899           case 30: return new IS(getMessage(), new Integer( 219 ));
1900           case 31: return new ID(getMessage(), new Integer( 136 ));
1901           case 32: return new TS(getMessage());
1902           case 33: return new ID(getMessage(), new Integer( 136 ));
1903           case 34: return new ID(getMessage(), new Integer( 136 ));
1904           case 35: return new ID(getMessage(), new Integer( 136 ));
1905           case 36: return new ID(getMessage(), new Integer( 136 ));
1906           case 37: return new CE(getMessage());
1907           case 38: return new CE(getMessage());
1908           case 39: return new CE(getMessage());
1909           case 40: return new CE(getMessage());
1910           case 41: return new CE(getMessage());
1911           case 42: return new IS(getMessage(), new Integer( 315 ));
1912           case 43: return new IS(getMessage(), new Integer( 316 ));
1913           case 44: return new CE(getMessage());
1914           case 45: return new DT(getMessage());
1915           case 46: return new TS(getMessage());
1916           case 47: return new TS(getMessage());
1917           case 48: return new IS(getMessage(), new Integer( 534 ));
1918           default: return null;
1919        }
1920    }
1921 
1922 
1923 }
1924