001/*
002 * This class is an auto-generated source file for a HAPI
003 * HL7 v2.x standard structure class.
004 *
005 * For more information, visit: http://hl7api.sourceforge.net/
006 * 
007 * The contents of this file are subject to the Mozilla Public License Version 1.1 
008 * (the "License"); you may not use this file except in compliance with the License. 
009 * You may obtain a copy of the License at http://www.mozilla.org/MPL/ 
010 * Software distributed under the License is distributed on an "AS IS" basis, 
011 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the 
012 * specific language governing rights and limitations under the License. 
013 * 
014 * The Original Code is "[file_name]".  Description: 
015 * "[one_line_description]" 
016 * 
017 * The Initial Developer of the Original Code is University Health Network. Copyright (C) 
018 * 2012.  All Rights Reserved. 
019 * 
020 * Contributor(s): ______________________________________. 
021 * 
022 * Alternatively, the contents of this file may be used under the terms of the 
023 * GNU General Public License (the  "GPL"), in which case the provisions of the GPL are 
024 * applicable instead of those above.  If you wish to allow use of your version of this 
025 * file only under the terms of the GPL and not to allow others to use your version 
026 * of this file under the MPL, indicate your decision by deleting  the provisions above 
027 * and replace  them with the notice and other provisions required by the GPL License.  
028 * If you do not delete the provisions above, a recipient may use your version of 
029 * this file under either the MPL or the GPL. 
030 * 
031 */
032
033
034package ca.uhn.hl7v2.model.v251.segment;
035
036// import ca.uhn.hl7v2.model.v251.group.*;
037import ca.uhn.hl7v2.model.v251.datatype.*;
038import ca.uhn.hl7v2.HL7Exception;
039import ca.uhn.hl7v2.parser.ModelClassFactory;
040import ca.uhn.hl7v2.parser.DefaultModelClassFactory;
041import ca.uhn.hl7v2.model.AbstractMessage;
042import ca.uhn.hl7v2.model.Group;
043import ca.uhn.hl7v2.model.Type;
044import ca.uhn.hl7v2.model.AbstractSegment;
045import ca.uhn.hl7v2.model.Varies;
046
047
048/**
049 *<p>Represents an HL7 PV2 message segment (Patient Visit - Additional Information). 
050 * This segment has the following fields:</p>
051 * <ul>
052     * <li>PV2-1: Prior Pending Location (PL) <b>optional </b>
053     * <li>PV2-2: Accommodation Code (CE) <b>optional </b>
054     * <li>PV2-3: Admit Reason (CE) <b>optional </b>
055     * <li>PV2-4: Transfer Reason (CE) <b>optional </b>
056     * <li>PV2-5: Patient Valuables (ST) <b>optional repeating</b>
057     * <li>PV2-6: Patient Valuables Location (ST) <b>optional </b>
058     * <li>PV2-7: Visit User Code (IS) <b>optional repeating</b>
059     * <li>PV2-8: Expected Admit Date/Time (TS) <b>optional </b>
060     * <li>PV2-9: Expected Discharge Date/Time (TS) <b>optional </b>
061     * <li>PV2-10: Estimated Length of Inpatient Stay (NM) <b>optional </b>
062     * <li>PV2-11: Actual Length of Inpatient Stay (NM) <b>optional </b>
063     * <li>PV2-12: Visit Description (ST) <b>optional </b>
064     * <li>PV2-13: Referral Source Code (XCN) <b>optional repeating</b>
065     * <li>PV2-14: Previous Service Date (DT) <b>optional </b>
066     * <li>PV2-15: Employment Illness Related Indicator (ID) <b>optional </b>
067     * <li>PV2-16: Purge Status Code (IS) <b>optional </b>
068     * <li>PV2-17: Purge Status Date (DT) <b>optional </b>
069     * <li>PV2-18: Special Program Code (IS) <b>optional </b>
070     * <li>PV2-19: Retention Indicator (ID) <b>optional </b>
071     * <li>PV2-20: Expected Number of Insurance Plans (NM) <b>optional </b>
072     * <li>PV2-21: Visit Publicity Code (IS) <b>optional </b>
073     * <li>PV2-22: Visit Protection Indicator (ID) <b>optional </b>
074     * <li>PV2-23: Clinic Organization Name (XON) <b>optional repeating</b>
075     * <li>PV2-24: Patient Status Code (IS) <b>optional </b>
076     * <li>PV2-25: Visit Priority Code (IS) <b>optional </b>
077     * <li>PV2-26: Previous Treatment Date (DT) <b>optional </b>
078     * <li>PV2-27: Expected Discharge Disposition (IS) <b>optional </b>
079     * <li>PV2-28: Signature on File Date (DT) <b>optional </b>
080     * <li>PV2-29: First Similar Illness Date (DT) <b>optional </b>
081     * <li>PV2-30: Patient Charge Adjustment Code (CE) <b>optional </b>
082     * <li>PV2-31: Recurring Service Code (IS) <b>optional </b>
083     * <li>PV2-32: Billing Media Code (ID) <b>optional </b>
084     * <li>PV2-33: Expected Surgery Date and Time (TS) <b>optional </b>
085     * <li>PV2-34: Military Partnership Code (ID) <b>optional </b>
086     * <li>PV2-35: Military Non-Availability Code (ID) <b>optional </b>
087     * <li>PV2-36: Newborn Baby Indicator (ID) <b>optional </b>
088     * <li>PV2-37: Baby Detained Indicator (ID) <b>optional </b>
089     * <li>PV2-38: Mode of Arrival Code (CE) <b>optional </b>
090     * <li>PV2-39: Recreational Drug Use Code (CE) <b>optional repeating</b>
091     * <li>PV2-40: Admission Level of Care Code (CE) <b>optional </b>
092     * <li>PV2-41: Precaution Code (CE) <b>optional repeating</b>
093     * <li>PV2-42: Patient Condition Code (CE) <b>optional </b>
094     * <li>PV2-43: Living Will Code (IS) <b>optional </b>
095     * <li>PV2-44: Organ Donor Code (IS) <b>optional </b>
096     * <li>PV2-45: Advance Directive Code (CE) <b>optional repeating</b>
097     * <li>PV2-46: Patient Status Effective Date (DT) <b>optional </b>
098     * <li>PV2-47: Expected LOA Return Date/Time (TS) <b>optional </b>
099     * <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")
104public 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