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.v22.segment;
035
036// import ca.uhn.hl7v2.model.v22.group.*;
037import ca.uhn.hl7v2.model.v22.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 *<p>Represents an HL7 PV1 message segment (PATIENT VISIT). 
049 * This segment has the following fields:</p>
050 * <ul>
051     * <li>PV1-1: Set ID - Patient Visit (SI) <b>optional </b>
052     * <li>PV1-2: Patient Class (ID) <b> </b>
053     * <li>PV1-3: Assigned Patient Location (CM_INTERNAL_LOCATION) <b>optional </b>
054     * <li>PV1-4: Admission Type (ID) <b>optional </b>
055     * <li>PV1-5: Preadmit Number (ST) <b>optional </b>
056     * <li>PV1-6: Prior Patient Location (CM_INTERNAL_LOCATION) <b>optional </b>
057     * <li>PV1-7: Attending Doctor (CN) <b>optional </b>
058     * <li>PV1-8: Referring Doctor (CN) <b>optional </b>
059     * <li>PV1-9: Consulting Doctor (CN) <b>optional repeating</b>
060     * <li>PV1-10: Hospital Service (ID) <b>optional </b>
061     * <li>PV1-11: Temporary Location (CM_INTERNAL_LOCATION) <b>optional </b>
062     * <li>PV1-12: Preadmit Test Indicator (ID) <b>optional </b>
063     * <li>PV1-13: Readmission indicator (ID) <b>optional </b>
064     * <li>PV1-14: Admit Source (ID) <b>optional </b>
065     * <li>PV1-15: Ambulatory Status (ID) <b>optional repeating</b>
066     * <li>PV1-16: VIP Indicator (ID) <b>optional </b>
067     * <li>PV1-17: Admitting Doctor (CN) <b>optional </b>
068     * <li>PV1-18: Patient type (ID) <b>optional </b>
069     * <li>PV1-19: Visit Number (CM_PAT_ID) <b>optional </b>
070     * <li>PV1-20: Financial Class (CM_FINANCE) <b>optional repeating</b>
071     * <li>PV1-21: Charge Price Indicator (ID) <b>optional </b>
072     * <li>PV1-22: Courtesy Code (ID) <b>optional </b>
073     * <li>PV1-23: Credit Rating (ID) <b>optional </b>
074     * <li>PV1-24: Contract Code (ID) <b>optional repeating</b>
075     * <li>PV1-25: Contract Effective Date (DT) <b>optional repeating</b>
076     * <li>PV1-26: Contract Amount (NM) <b>optional repeating</b>
077     * <li>PV1-27: Contract Period (NM) <b>optional repeating</b>
078     * <li>PV1-28: Interest Code (ID) <b>optional </b>
079     * <li>PV1-29: Transfer to bad debt - code (ID) <b>optional </b>
080     * <li>PV1-30: Transfer to bad debt - date (DT) <b>optional </b>
081     * <li>PV1-31: Bad Debt Agency Code (ID) <b>optional </b>
082     * <li>PV1-32: Bad Debt Transfer Amount (NM) <b>optional </b>
083     * <li>PV1-33: Bad Debt Recovery Amount (NM) <b>optional </b>
084     * <li>PV1-34: Delete Account Indicator (ID) <b>optional </b>
085     * <li>PV1-35: Delete Account Date (DT) <b>optional </b>
086     * <li>PV1-36: Discharge Disposition (ID) <b>optional </b>
087     * <li>PV1-37: Discharged to Location (CM_DLD) <b>optional </b>
088     * <li>PV1-38: Diet Type (ID) <b>optional </b>
089     * <li>PV1-39: Servicing Facility (ID) <b>optional </b>
090     * <li>PV1-40: Bed Status (ID) <b>optional </b>
091     * <li>PV1-41: Account Status (ID) <b>optional </b>
092     * <li>PV1-42: Pending Location (CM_INTERNAL_LOCATION) <b>optional </b>
093     * <li>PV1-43: Prior Temporary Location (CM_INTERNAL_LOCATION) <b>optional </b>
094     * <li>PV1-44: Admit date / time (TS) <b>optional </b>
095     * <li>PV1-45: Discharge date / time (TS) <b>optional </b>
096     * <li>PV1-46: Current Patient Balance (NM) <b>optional </b>
097     * <li>PV1-47: Total Charges (NM) <b>optional </b>
098     * <li>PV1-48: Total Adjustments (NM) <b>optional </b>
099     * <li>PV1-49: Total Payments (NM) <b>optional </b>
100     * <li>PV1-50: Alternate Visit ID (CM_PAT_ID_0192) <b>optional </b>
101 * </ul>
102 */
103@SuppressWarnings("unused")
104public class PV1 extends AbstractSegment {
105
106    /** 
107     * Creates a new PV1 segment
108     */
109    public PV1(Group parent, ModelClassFactory factory) {
110       super(parent, factory);
111       init(factory);
112    }
113
114    private void init(ModelClassFactory factory) {
115       try {
116                                  this.add(SI.class, false, 1, 4, new Object[]{ getMessage() }, "Set ID - Patient Visit");
117                                              this.add(ID.class, true, 1, 1, new Object[]{ getMessage(), new Integer(4) }, "Patient Class");
118                                  this.add(CM_INTERNAL_LOCATION.class, false, 1, 12, new Object[]{ getMessage() }, "Assigned Patient Location");
119                                              this.add(ID.class, false, 1, 2, new Object[]{ getMessage(), new Integer(7) }, "Admission Type");
120                                  this.add(ST.class, false, 1, 20, new Object[]{ getMessage() }, "Preadmit Number");
121                                  this.add(CM_INTERNAL_LOCATION.class, false, 1, 12, new Object[]{ getMessage() }, "Prior Patient Location");
122                                  this.add(CN.class, false, 1, 60, new Object[]{ getMessage() }, "Attending Doctor");
123                                  this.add(CN.class, false, 1, 60, new Object[]{ getMessage() }, "Referring Doctor");
124                                  this.add(CN.class, false, 0, 60, new Object[]{ getMessage() }, "Consulting Doctor");
125                                              this.add(ID.class, false, 1, 3, new Object[]{ getMessage(), new Integer(69) }, "Hospital Service");
126                                  this.add(CM_INTERNAL_LOCATION.class, false, 1, 12, new Object[]{ getMessage() }, "Temporary Location");
127                                              this.add(ID.class, false, 1, 2, new Object[]{ getMessage(), new Integer(87) }, "Preadmit Test Indicator");
128                                              this.add(ID.class, false, 1, 2, new Object[]{ getMessage(), new Integer(92) }, "Readmission indicator");
129                                              this.add(ID.class, false, 1, 3, new Object[]{ getMessage(), new Integer(23) }, "Admit Source");
130                                              this.add(ID.class, false, 0, 2, new Object[]{ getMessage(), new Integer(9) }, "Ambulatory Status");
131                                              this.add(ID.class, false, 1, 2, new Object[]{ getMessage(), new Integer(99) }, "VIP Indicator");
132                                  this.add(CN.class, false, 1, 60, new Object[]{ getMessage() }, "Admitting Doctor");
133                                              this.add(ID.class, false, 1, 2, new Object[]{ getMessage(), new Integer(18) }, "Patient type");
134                                  this.add(CM_PAT_ID.class, false, 1, 15, new Object[]{ getMessage() }, "Visit Number");
135                                  this.add(CM_FINANCE.class, false, 4, 50, new Object[]{ getMessage() }, "Financial Class");
136                                              this.add(ID.class, false, 1, 2, new Object[]{ getMessage(), new Integer(32) }, "Charge Price Indicator");
137                                              this.add(ID.class, false, 1, 2, new Object[]{ getMessage(), new Integer(45) }, "Courtesy Code");
138                                              this.add(ID.class, false, 1, 2, new Object[]{ getMessage(), new Integer(46) }, "Credit Rating");
139                                              this.add(ID.class, false, 0, 2, new Object[]{ getMessage(), new Integer(44) }, "Contract Code");
140                                  this.add(DT.class, false, 0, 8, new Object[]{ getMessage() }, "Contract Effective Date");
141                                  this.add(NM.class, false, 0, 12, new Object[]{ getMessage() }, "Contract Amount");
142                                  this.add(NM.class, false, 0, 3, new Object[]{ getMessage() }, "Contract Period");
143                                              this.add(ID.class, false, 1, 2, new Object[]{ getMessage(), new Integer(73) }, "Interest Code");
144                                              this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(110) }, "Transfer to bad debt - code");
145                                  this.add(DT.class, false, 1, 8, new Object[]{ getMessage() }, "Transfer to bad debt - date");
146                                              this.add(ID.class, false, 1, 10, new Object[]{ getMessage(), new Integer(21) }, "Bad Debt Agency Code");
147                                  this.add(NM.class, false, 1, 12, new Object[]{ getMessage() }, "Bad Debt Transfer Amount");
148                                  this.add(NM.class, false, 1, 12, new Object[]{ getMessage() }, "Bad Debt Recovery Amount");
149                                              this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(111) }, "Delete Account Indicator");
150                                  this.add(DT.class, false, 1, 8, new Object[]{ getMessage() }, "Delete Account Date");
151                                              this.add(ID.class, false, 1, 3, new Object[]{ getMessage(), new Integer(112) }, "Discharge Disposition");
152                                  this.add(CM_DLD.class, false, 1, 25, new Object[]{ getMessage() }, "Discharged to Location");
153                                              this.add(ID.class, false, 1, 2, new Object[]{ getMessage(), new Integer(114) }, "Diet Type");
154                                              this.add(ID.class, false, 1, 4, new Object[]{ getMessage(), new Integer(115) }, "Servicing Facility");
155                                              this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(116) }, "Bed Status");
156                                              this.add(ID.class, false, 1, 2, new Object[]{ getMessage(), new Integer(117) }, "Account Status");
157                                  this.add(CM_INTERNAL_LOCATION.class, false, 1, 12, new Object[]{ getMessage() }, "Pending Location");
158                                  this.add(CM_INTERNAL_LOCATION.class, false, 1, 12, new Object[]{ getMessage() }, "Prior Temporary Location");
159                                  this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Admit date / time");
160                                  this.add(TS.class, false, 1, 26, new Object[]{ getMessage() }, "Discharge date / time");
161                                  this.add(NM.class, false, 1, 12, new Object[]{ getMessage() }, "Current Patient Balance");
162                                  this.add(NM.class, false, 1, 12, new Object[]{ getMessage() }, "Total Charges");
163                                  this.add(NM.class, false, 1, 12, new Object[]{ getMessage() }, "Total Adjustments");
164                                  this.add(NM.class, false, 1, 12, new Object[]{ getMessage() }, "Total Payments");
165                                  this.add(CM_PAT_ID_0192.class, false, 1, 20, new Object[]{ getMessage() }, "Alternate Visit ID");
166       } catch(HL7Exception e) {
167          log.error("Unexpected error creating PV1 - this is probably a bug in the source code generator.", e);
168       }
169    }
170
171
172
173    /**
174     * Returns
175     * PV1-1: "Set ID - Patient Visit" - creates it if necessary
176     */
177    public SI getSetIDPatientVisit() { 
178                SI retVal = this.getTypedField(1, 0);
179                return retVal;
180    }
181    
182    /**
183     * Returns
184     * PV1-1: "Set ID - Patient Visit" - creates it if necessary
185     */
186    public SI getPv11_SetIDPatientVisit() { 
187                SI retVal = this.getTypedField(1, 0);
188                return retVal;
189    }
190
191
192
193    /**
194     * Returns
195     * PV1-2: "Patient Class" - creates it if necessary
196     */
197    public ID getPatientClass() { 
198                ID retVal = this.getTypedField(2, 0);
199                return retVal;
200    }
201    
202    /**
203     * Returns
204     * PV1-2: "Patient Class" - creates it if necessary
205     */
206    public ID getPv12_PatientClass() { 
207                ID retVal = this.getTypedField(2, 0);
208                return retVal;
209    }
210
211
212
213    /**
214     * Returns
215     * PV1-3: "Assigned Patient Location" - creates it if necessary
216     */
217    public CM_INTERNAL_LOCATION getAssignedPatientLocation() { 
218                CM_INTERNAL_LOCATION retVal = this.getTypedField(3, 0);
219                return retVal;
220    }
221    
222    /**
223     * Returns
224     * PV1-3: "Assigned Patient Location" - creates it if necessary
225     */
226    public CM_INTERNAL_LOCATION getPv13_AssignedPatientLocation() { 
227                CM_INTERNAL_LOCATION retVal = this.getTypedField(3, 0);
228                return retVal;
229    }
230
231
232
233    /**
234     * Returns
235     * PV1-4: "Admission Type" - creates it if necessary
236     */
237    public ID getAdmissionType() { 
238                ID retVal = this.getTypedField(4, 0);
239                return retVal;
240    }
241    
242    /**
243     * Returns
244     * PV1-4: "Admission Type" - creates it if necessary
245     */
246    public ID getPv14_AdmissionType() { 
247                ID retVal = this.getTypedField(4, 0);
248                return retVal;
249    }
250
251
252
253    /**
254     * Returns
255     * PV1-5: "Preadmit Number" - creates it if necessary
256     */
257    public ST getPreadmitNumber() { 
258                ST retVal = this.getTypedField(5, 0);
259                return retVal;
260    }
261    
262    /**
263     * Returns
264     * PV1-5: "Preadmit Number" - creates it if necessary
265     */
266    public ST getPv15_PreadmitNumber() { 
267                ST retVal = this.getTypedField(5, 0);
268                return retVal;
269    }
270
271
272
273    /**
274     * Returns
275     * PV1-6: "Prior Patient Location" - creates it if necessary
276     */
277    public CM_INTERNAL_LOCATION getPriorPatientLocation() { 
278                CM_INTERNAL_LOCATION retVal = this.getTypedField(6, 0);
279                return retVal;
280    }
281    
282    /**
283     * Returns
284     * PV1-6: "Prior Patient Location" - creates it if necessary
285     */
286    public CM_INTERNAL_LOCATION getPv16_PriorPatientLocation() { 
287                CM_INTERNAL_LOCATION retVal = this.getTypedField(6, 0);
288                return retVal;
289    }
290
291
292
293    /**
294     * Returns
295     * PV1-7: "Attending Doctor" - creates it if necessary
296     */
297    public CN getAttendingDoctor() { 
298                CN retVal = this.getTypedField(7, 0);
299                return retVal;
300    }
301    
302    /**
303     * Returns
304     * PV1-7: "Attending Doctor" - creates it if necessary
305     */
306    public CN getPv17_AttendingDoctor() { 
307                CN retVal = this.getTypedField(7, 0);
308                return retVal;
309    }
310
311
312
313    /**
314     * Returns
315     * PV1-8: "Referring Doctor" - creates it if necessary
316     */
317    public CN getReferringDoctor() { 
318                CN retVal = this.getTypedField(8, 0);
319                return retVal;
320    }
321    
322    /**
323     * Returns
324     * PV1-8: "Referring Doctor" - creates it if necessary
325     */
326    public CN getPv18_ReferringDoctor() { 
327                CN retVal = this.getTypedField(8, 0);
328                return retVal;
329    }
330
331
332    /**
333     * Returns all repetitions of Consulting Doctor (PV1-9).
334     */
335    public CN[] getConsultingDoctor() {
336        CN[] retVal = this.getTypedField(9, new CN[0]);
337        return retVal;
338    }
339
340
341    /**
342     * Returns all repetitions of Consulting Doctor (PV1-9).
343     */
344    public CN[] getPv19_ConsultingDoctor() {
345        CN[] retVal = this.getTypedField(9, new CN[0]);
346        return retVal;
347    }
348
349
350    /**
351     * Returns a count of the current number of repetitions of Consulting Doctor (PV1-9).
352     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
353     * it will return zero.
354     */
355    public int getConsultingDoctorReps() {
356        return this.getReps(9);
357    }
358
359
360    /**
361     * Returns a specific repetition of
362     * PV1-9: "Consulting Doctor" - creates it if necessary
363     *
364     * @param rep The repetition index (0-indexed)
365     */
366    public CN getConsultingDoctor(int rep) { 
367                CN retVal = this.getTypedField(9, rep);
368                return retVal;
369    }
370
371    /**
372     * Returns a specific repetition of
373     * PV1-9: "Consulting Doctor" - creates it if necessary
374     *
375     * @param rep The repetition index (0-indexed)
376     */
377    public CN getPv19_ConsultingDoctor(int rep) { 
378                CN retVal = this.getTypedField(9, rep);
379                return retVal;
380    }
381
382    /**
383     * Returns a count of the current number of repetitions of Consulting Doctor (PV1-9).
384     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
385     * it will return zero.
386     */
387    public int getPv19_ConsultingDoctorReps() {
388        return this.getReps(9);
389    }
390
391
392    /**
393     * Inserts a repetition of
394     * PV1-9: "Consulting Doctor" at a specific index
395     *
396     * @param rep The repetition index (0-indexed)
397     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
398     */
399    public CN insertConsultingDoctor(int rep) throws HL7Exception { 
400        return (CN) super.insertRepetition(9, rep);
401    }
402
403
404    /**
405     * Inserts a repetition of
406     * PV1-9: "Consulting Doctor" at a specific index
407     *
408     * @param rep The repetition index (0-indexed)
409     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
410     */
411    public CN insertPv19_ConsultingDoctor(int rep) throws HL7Exception { 
412        return (CN) super.insertRepetition(9, rep);
413    }
414
415
416    /**
417     * Removes a repetition of
418     * PV1-9: "Consulting Doctor" at a specific index
419     *
420     * @param rep The repetition index (0-indexed)
421     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
422     */
423    public CN removeConsultingDoctor(int rep) throws HL7Exception { 
424        return (CN) super.removeRepetition(9, rep);
425    }
426
427
428    /**
429     * Removes a repetition of
430     * PV1-9: "Consulting Doctor" at a specific index
431     *
432     * @param rep The repetition index (0-indexed)
433     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
434     */
435    public CN removePv19_ConsultingDoctor(int rep) throws HL7Exception { 
436        return (CN) super.removeRepetition(9, rep);
437    }
438
439
440
441
442    /**
443     * Returns
444     * PV1-10: "Hospital Service" - creates it if necessary
445     */
446    public ID getHospitalService() { 
447                ID retVal = this.getTypedField(10, 0);
448                return retVal;
449    }
450    
451    /**
452     * Returns
453     * PV1-10: "Hospital Service" - creates it if necessary
454     */
455    public ID getPv110_HospitalService() { 
456                ID retVal = this.getTypedField(10, 0);
457                return retVal;
458    }
459
460
461
462    /**
463     * Returns
464     * PV1-11: "Temporary Location" - creates it if necessary
465     */
466    public CM_INTERNAL_LOCATION getTemporaryLocation() { 
467                CM_INTERNAL_LOCATION retVal = this.getTypedField(11, 0);
468                return retVal;
469    }
470    
471    /**
472     * Returns
473     * PV1-11: "Temporary Location" - creates it if necessary
474     */
475    public CM_INTERNAL_LOCATION getPv111_TemporaryLocation() { 
476                CM_INTERNAL_LOCATION retVal = this.getTypedField(11, 0);
477                return retVal;
478    }
479
480
481
482    /**
483     * Returns
484     * PV1-12: "Preadmit Test Indicator" - creates it if necessary
485     */
486    public ID getPreadmitTestIndicator() { 
487                ID retVal = this.getTypedField(12, 0);
488                return retVal;
489    }
490    
491    /**
492     * Returns
493     * PV1-12: "Preadmit Test Indicator" - creates it if necessary
494     */
495    public ID getPv112_PreadmitTestIndicator() { 
496                ID retVal = this.getTypedField(12, 0);
497                return retVal;
498    }
499
500
501
502    /**
503     * Returns
504     * PV1-13: "Readmission indicator" - creates it if necessary
505     */
506    public ID getReadmissionIndicator() { 
507                ID retVal = this.getTypedField(13, 0);
508                return retVal;
509    }
510    
511    /**
512     * Returns
513     * PV1-13: "Readmission indicator" - creates it if necessary
514     */
515    public ID getPv113_ReadmissionIndicator() { 
516                ID retVal = this.getTypedField(13, 0);
517                return retVal;
518    }
519
520
521
522    /**
523     * Returns
524     * PV1-14: "Admit Source" - creates it if necessary
525     */
526    public ID getAdmitSource() { 
527                ID retVal = this.getTypedField(14, 0);
528                return retVal;
529    }
530    
531    /**
532     * Returns
533     * PV1-14: "Admit Source" - creates it if necessary
534     */
535    public ID getPv114_AdmitSource() { 
536                ID retVal = this.getTypedField(14, 0);
537                return retVal;
538    }
539
540
541    /**
542     * Returns all repetitions of Ambulatory Status (PV1-15).
543     */
544    public ID[] getAmbulatoryStatus() {
545        ID[] retVal = this.getTypedField(15, new ID[0]);
546        return retVal;
547    }
548
549
550    /**
551     * Returns all repetitions of Ambulatory Status (PV1-15).
552     */
553    public ID[] getPv115_AmbulatoryStatus() {
554        ID[] retVal = this.getTypedField(15, new ID[0]);
555        return retVal;
556    }
557
558
559    /**
560     * Returns a count of the current number of repetitions of Ambulatory Status (PV1-15).
561     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
562     * it will return zero.
563     */
564    public int getAmbulatoryStatusReps() {
565        return this.getReps(15);
566    }
567
568
569    /**
570     * Returns a specific repetition of
571     * PV1-15: "Ambulatory Status" - creates it if necessary
572     *
573     * @param rep The repetition index (0-indexed)
574     */
575    public ID getAmbulatoryStatus(int rep) { 
576                ID retVal = this.getTypedField(15, rep);
577                return retVal;
578    }
579
580    /**
581     * Returns a specific repetition of
582     * PV1-15: "Ambulatory Status" - creates it if necessary
583     *
584     * @param rep The repetition index (0-indexed)
585     */
586    public ID getPv115_AmbulatoryStatus(int rep) { 
587                ID retVal = this.getTypedField(15, rep);
588                return retVal;
589    }
590
591    /**
592     * Returns a count of the current number of repetitions of Ambulatory Status (PV1-15).
593     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
594     * it will return zero.
595     */
596    public int getPv115_AmbulatoryStatusReps() {
597        return this.getReps(15);
598    }
599
600
601    /**
602     * Inserts a repetition of
603     * PV1-15: "Ambulatory Status" at a specific index
604     *
605     * @param rep The repetition index (0-indexed)
606     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
607     */
608    public ID insertAmbulatoryStatus(int rep) throws HL7Exception { 
609        return (ID) super.insertRepetition(15, rep);
610    }
611
612
613    /**
614     * Inserts a repetition of
615     * PV1-15: "Ambulatory Status" at a specific index
616     *
617     * @param rep The repetition index (0-indexed)
618     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
619     */
620    public ID insertPv115_AmbulatoryStatus(int rep) throws HL7Exception { 
621        return (ID) super.insertRepetition(15, rep);
622    }
623
624
625    /**
626     * Removes a repetition of
627     * PV1-15: "Ambulatory Status" at a specific index
628     *
629     * @param rep The repetition index (0-indexed)
630     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
631     */
632    public ID removeAmbulatoryStatus(int rep) throws HL7Exception { 
633        return (ID) super.removeRepetition(15, rep);
634    }
635
636
637    /**
638     * Removes a repetition of
639     * PV1-15: "Ambulatory Status" at a specific index
640     *
641     * @param rep The repetition index (0-indexed)
642     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
643     */
644    public ID removePv115_AmbulatoryStatus(int rep) throws HL7Exception { 
645        return (ID) super.removeRepetition(15, rep);
646    }
647
648
649
650
651    /**
652     * Returns
653     * PV1-16: "VIP Indicator" - creates it if necessary
654     */
655    public ID getVIPIndicator() { 
656                ID retVal = this.getTypedField(16, 0);
657                return retVal;
658    }
659    
660    /**
661     * Returns
662     * PV1-16: "VIP Indicator" - creates it if necessary
663     */
664    public ID getPv116_VIPIndicator() { 
665                ID retVal = this.getTypedField(16, 0);
666                return retVal;
667    }
668
669
670
671    /**
672     * Returns
673     * PV1-17: "Admitting Doctor" - creates it if necessary
674     */
675    public CN getAdmittingDoctor() { 
676                CN retVal = this.getTypedField(17, 0);
677                return retVal;
678    }
679    
680    /**
681     * Returns
682     * PV1-17: "Admitting Doctor" - creates it if necessary
683     */
684    public CN getPv117_AdmittingDoctor() { 
685                CN retVal = this.getTypedField(17, 0);
686                return retVal;
687    }
688
689
690
691    /**
692     * Returns
693     * PV1-18: "Patient type" - creates it if necessary
694     */
695    public ID getPatientType() { 
696                ID retVal = this.getTypedField(18, 0);
697                return retVal;
698    }
699    
700    /**
701     * Returns
702     * PV1-18: "Patient type" - creates it if necessary
703     */
704    public ID getPv118_PatientType() { 
705                ID retVal = this.getTypedField(18, 0);
706                return retVal;
707    }
708
709
710
711    /**
712     * Returns
713     * PV1-19: "Visit Number" - creates it if necessary
714     */
715    public CM_PAT_ID getVisitNumber() { 
716                CM_PAT_ID retVal = this.getTypedField(19, 0);
717                return retVal;
718    }
719    
720    /**
721     * Returns
722     * PV1-19: "Visit Number" - creates it if necessary
723     */
724    public CM_PAT_ID getPv119_VisitNumber() { 
725                CM_PAT_ID retVal = this.getTypedField(19, 0);
726                return retVal;
727    }
728
729
730    /**
731     * Returns all repetitions of Financial Class (PV1-20).
732     */
733    public CM_FINANCE[] getFinancialClass() {
734        CM_FINANCE[] retVal = this.getTypedField(20, new CM_FINANCE[0]);
735        return retVal;
736    }
737
738
739    /**
740     * Returns all repetitions of Financial Class (PV1-20).
741     */
742    public CM_FINANCE[] getPv120_FinancialClass() {
743        CM_FINANCE[] retVal = this.getTypedField(20, new CM_FINANCE[0]);
744        return retVal;
745    }
746
747
748    /**
749     * Returns a count of the current number of repetitions of Financial Class (PV1-20).
750     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
751     * it will return zero.
752     */
753    public int getFinancialClassReps() {
754        return this.getReps(20);
755    }
756
757
758    /**
759     * Returns a specific repetition of
760     * PV1-20: "Financial Class" - creates it if necessary
761     *
762     * @param rep The repetition index (0-indexed)
763     */
764    public CM_FINANCE getFinancialClass(int rep) { 
765                CM_FINANCE retVal = this.getTypedField(20, rep);
766                return retVal;
767    }
768
769    /**
770     * Returns a specific repetition of
771     * PV1-20: "Financial Class" - creates it if necessary
772     *
773     * @param rep The repetition index (0-indexed)
774     */
775    public CM_FINANCE getPv120_FinancialClass(int rep) { 
776                CM_FINANCE retVal = this.getTypedField(20, rep);
777                return retVal;
778    }
779
780    /**
781     * Returns a count of the current number of repetitions of Financial Class (PV1-20).
782     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
783     * it will return zero.
784     */
785    public int getPv120_FinancialClassReps() {
786        return this.getReps(20);
787    }
788
789
790    /**
791     * Inserts a repetition of
792     * PV1-20: "Financial Class" at a specific index
793     *
794     * @param rep The repetition index (0-indexed)
795     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
796     */
797    public CM_FINANCE insertFinancialClass(int rep) throws HL7Exception { 
798        return (CM_FINANCE) super.insertRepetition(20, rep);
799    }
800
801
802    /**
803     * Inserts a repetition of
804     * PV1-20: "Financial Class" at a specific index
805     *
806     * @param rep The repetition index (0-indexed)
807     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
808     */
809    public CM_FINANCE insertPv120_FinancialClass(int rep) throws HL7Exception { 
810        return (CM_FINANCE) super.insertRepetition(20, rep);
811    }
812
813
814    /**
815     * Removes a repetition of
816     * PV1-20: "Financial Class" at a specific index
817     *
818     * @param rep The repetition index (0-indexed)
819     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
820     */
821    public CM_FINANCE removeFinancialClass(int rep) throws HL7Exception { 
822        return (CM_FINANCE) super.removeRepetition(20, rep);
823    }
824
825
826    /**
827     * Removes a repetition of
828     * PV1-20: "Financial Class" at a specific index
829     *
830     * @param rep The repetition index (0-indexed)
831     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
832     */
833    public CM_FINANCE removePv120_FinancialClass(int rep) throws HL7Exception { 
834        return (CM_FINANCE) super.removeRepetition(20, rep);
835    }
836
837
838
839
840    /**
841     * Returns
842     * PV1-21: "Charge Price Indicator" - creates it if necessary
843     */
844    public ID getChargePriceIndicator() { 
845                ID retVal = this.getTypedField(21, 0);
846                return retVal;
847    }
848    
849    /**
850     * Returns
851     * PV1-21: "Charge Price Indicator" - creates it if necessary
852     */
853    public ID getPv121_ChargePriceIndicator() { 
854                ID retVal = this.getTypedField(21, 0);
855                return retVal;
856    }
857
858
859
860    /**
861     * Returns
862     * PV1-22: "Courtesy Code" - creates it if necessary
863     */
864    public ID getCourtesyCode() { 
865                ID retVal = this.getTypedField(22, 0);
866                return retVal;
867    }
868    
869    /**
870     * Returns
871     * PV1-22: "Courtesy Code" - creates it if necessary
872     */
873    public ID getPv122_CourtesyCode() { 
874                ID retVal = this.getTypedField(22, 0);
875                return retVal;
876    }
877
878
879
880    /**
881     * Returns
882     * PV1-23: "Credit Rating" - creates it if necessary
883     */
884    public ID getCreditRating() { 
885                ID retVal = this.getTypedField(23, 0);
886                return retVal;
887    }
888    
889    /**
890     * Returns
891     * PV1-23: "Credit Rating" - creates it if necessary
892     */
893    public ID getPv123_CreditRating() { 
894                ID retVal = this.getTypedField(23, 0);
895                return retVal;
896    }
897
898
899    /**
900     * Returns all repetitions of Contract Code (PV1-24).
901     */
902    public ID[] getContractCode() {
903        ID[] retVal = this.getTypedField(24, new ID[0]);
904        return retVal;
905    }
906
907
908    /**
909     * Returns all repetitions of Contract Code (PV1-24).
910     */
911    public ID[] getPv124_ContractCode() {
912        ID[] retVal = this.getTypedField(24, new ID[0]);
913        return retVal;
914    }
915
916
917    /**
918     * Returns a count of the current number of repetitions of Contract Code (PV1-24).
919     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
920     * it will return zero.
921     */
922    public int getContractCodeReps() {
923        return this.getReps(24);
924    }
925
926
927    /**
928     * Returns a specific repetition of
929     * PV1-24: "Contract Code" - creates it if necessary
930     *
931     * @param rep The repetition index (0-indexed)
932     */
933    public ID getContractCode(int rep) { 
934                ID retVal = this.getTypedField(24, rep);
935                return retVal;
936    }
937
938    /**
939     * Returns a specific repetition of
940     * PV1-24: "Contract Code" - creates it if necessary
941     *
942     * @param rep The repetition index (0-indexed)
943     */
944    public ID getPv124_ContractCode(int rep) { 
945                ID retVal = this.getTypedField(24, rep);
946                return retVal;
947    }
948
949    /**
950     * Returns a count of the current number of repetitions of Contract Code (PV1-24).
951     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
952     * it will return zero.
953     */
954    public int getPv124_ContractCodeReps() {
955        return this.getReps(24);
956    }
957
958
959    /**
960     * Inserts a repetition of
961     * PV1-24: "Contract Code" at a specific index
962     *
963     * @param rep The repetition index (0-indexed)
964     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
965     */
966    public ID insertContractCode(int rep) throws HL7Exception { 
967        return (ID) super.insertRepetition(24, rep);
968    }
969
970
971    /**
972     * Inserts a repetition of
973     * PV1-24: "Contract Code" at a specific index
974     *
975     * @param rep The repetition index (0-indexed)
976     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
977     */
978    public ID insertPv124_ContractCode(int rep) throws HL7Exception { 
979        return (ID) super.insertRepetition(24, rep);
980    }
981
982
983    /**
984     * Removes a repetition of
985     * PV1-24: "Contract Code" at a specific index
986     *
987     * @param rep The repetition index (0-indexed)
988     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
989     */
990    public ID removeContractCode(int rep) throws HL7Exception { 
991        return (ID) super.removeRepetition(24, rep);
992    }
993
994
995    /**
996     * Removes a repetition of
997     * PV1-24: "Contract Code" at a specific index
998     *
999     * @param rep The repetition index (0-indexed)
1000     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1001     */
1002    public ID removePv124_ContractCode(int rep) throws HL7Exception { 
1003        return (ID) super.removeRepetition(24, rep);
1004    }
1005
1006
1007
1008    /**
1009     * Returns all repetitions of Contract Effective Date (PV1-25).
1010     */
1011    public DT[] getContractEffectiveDate() {
1012        DT[] retVal = this.getTypedField(25, new DT[0]);
1013        return retVal;
1014    }
1015
1016
1017    /**
1018     * Returns all repetitions of Contract Effective Date (PV1-25).
1019     */
1020    public DT[] getPv125_ContractEffectiveDate() {
1021        DT[] retVal = this.getTypedField(25, new DT[0]);
1022        return retVal;
1023    }
1024
1025
1026    /**
1027     * Returns a count of the current number of repetitions of Contract Effective Date (PV1-25).
1028     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1029     * it will return zero.
1030     */
1031    public int getContractEffectiveDateReps() {
1032        return this.getReps(25);
1033    }
1034
1035
1036    /**
1037     * Returns a specific repetition of
1038     * PV1-25: "Contract Effective Date" - creates it if necessary
1039     *
1040     * @param rep The repetition index (0-indexed)
1041     */
1042    public DT getContractEffectiveDate(int rep) { 
1043                DT retVal = this.getTypedField(25, rep);
1044                return retVal;
1045    }
1046
1047    /**
1048     * Returns a specific repetition of
1049     * PV1-25: "Contract Effective Date" - creates it if necessary
1050     *
1051     * @param rep The repetition index (0-indexed)
1052     */
1053    public DT getPv125_ContractEffectiveDate(int rep) { 
1054                DT retVal = this.getTypedField(25, rep);
1055                return retVal;
1056    }
1057
1058    /**
1059     * Returns a count of the current number of repetitions of Contract Effective Date (PV1-25).
1060     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1061     * it will return zero.
1062     */
1063    public int getPv125_ContractEffectiveDateReps() {
1064        return this.getReps(25);
1065    }
1066
1067
1068    /**
1069     * Inserts a repetition of
1070     * PV1-25: "Contract Effective Date" at a specific index
1071     *
1072     * @param rep The repetition index (0-indexed)
1073     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1074     */
1075    public DT insertContractEffectiveDate(int rep) throws HL7Exception { 
1076        return (DT) super.insertRepetition(25, rep);
1077    }
1078
1079
1080    /**
1081     * Inserts a repetition of
1082     * PV1-25: "Contract Effective Date" at a specific index
1083     *
1084     * @param rep The repetition index (0-indexed)
1085     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1086     */
1087    public DT insertPv125_ContractEffectiveDate(int rep) throws HL7Exception { 
1088        return (DT) super.insertRepetition(25, rep);
1089    }
1090
1091
1092    /**
1093     * Removes a repetition of
1094     * PV1-25: "Contract Effective Date" at a specific index
1095     *
1096     * @param rep The repetition index (0-indexed)
1097     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1098     */
1099    public DT removeContractEffectiveDate(int rep) throws HL7Exception { 
1100        return (DT) super.removeRepetition(25, rep);
1101    }
1102
1103
1104    /**
1105     * Removes a repetition of
1106     * PV1-25: "Contract Effective Date" at a specific index
1107     *
1108     * @param rep The repetition index (0-indexed)
1109     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1110     */
1111    public DT removePv125_ContractEffectiveDate(int rep) throws HL7Exception { 
1112        return (DT) super.removeRepetition(25, rep);
1113    }
1114
1115
1116
1117    /**
1118     * Returns all repetitions of Contract Amount (PV1-26).
1119     */
1120    public NM[] getContractAmount() {
1121        NM[] retVal = this.getTypedField(26, new NM[0]);
1122        return retVal;
1123    }
1124
1125
1126    /**
1127     * Returns all repetitions of Contract Amount (PV1-26).
1128     */
1129    public NM[] getPv126_ContractAmount() {
1130        NM[] retVal = this.getTypedField(26, new NM[0]);
1131        return retVal;
1132    }
1133
1134
1135    /**
1136     * Returns a count of the current number of repetitions of Contract Amount (PV1-26).
1137     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1138     * it will return zero.
1139     */
1140    public int getContractAmountReps() {
1141        return this.getReps(26);
1142    }
1143
1144
1145    /**
1146     * Returns a specific repetition of
1147     * PV1-26: "Contract Amount" - creates it if necessary
1148     *
1149     * @param rep The repetition index (0-indexed)
1150     */
1151    public NM getContractAmount(int rep) { 
1152                NM retVal = this.getTypedField(26, rep);
1153                return retVal;
1154    }
1155
1156    /**
1157     * Returns a specific repetition of
1158     * PV1-26: "Contract Amount" - creates it if necessary
1159     *
1160     * @param rep The repetition index (0-indexed)
1161     */
1162    public NM getPv126_ContractAmount(int rep) { 
1163                NM retVal = this.getTypedField(26, rep);
1164                return retVal;
1165    }
1166
1167    /**
1168     * Returns a count of the current number of repetitions of Contract Amount (PV1-26).
1169     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1170     * it will return zero.
1171     */
1172    public int getPv126_ContractAmountReps() {
1173        return this.getReps(26);
1174    }
1175
1176
1177    /**
1178     * Inserts a repetition of
1179     * PV1-26: "Contract Amount" at a specific index
1180     *
1181     * @param rep The repetition index (0-indexed)
1182     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1183     */
1184    public NM insertContractAmount(int rep) throws HL7Exception { 
1185        return (NM) super.insertRepetition(26, rep);
1186    }
1187
1188
1189    /**
1190     * Inserts a repetition of
1191     * PV1-26: "Contract Amount" at a specific index
1192     *
1193     * @param rep The repetition index (0-indexed)
1194     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1195     */
1196    public NM insertPv126_ContractAmount(int rep) throws HL7Exception { 
1197        return (NM) super.insertRepetition(26, rep);
1198    }
1199
1200
1201    /**
1202     * Removes a repetition of
1203     * PV1-26: "Contract Amount" at a specific index
1204     *
1205     * @param rep The repetition index (0-indexed)
1206     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1207     */
1208    public NM removeContractAmount(int rep) throws HL7Exception { 
1209        return (NM) super.removeRepetition(26, rep);
1210    }
1211
1212
1213    /**
1214     * Removes a repetition of
1215     * PV1-26: "Contract Amount" at a specific index
1216     *
1217     * @param rep The repetition index (0-indexed)
1218     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1219     */
1220    public NM removePv126_ContractAmount(int rep) throws HL7Exception { 
1221        return (NM) super.removeRepetition(26, rep);
1222    }
1223
1224
1225
1226    /**
1227     * Returns all repetitions of Contract Period (PV1-27).
1228     */
1229    public NM[] getContractPeriod() {
1230        NM[] retVal = this.getTypedField(27, new NM[0]);
1231        return retVal;
1232    }
1233
1234
1235    /**
1236     * Returns all repetitions of Contract Period (PV1-27).
1237     */
1238    public NM[] getPv127_ContractPeriod() {
1239        NM[] retVal = this.getTypedField(27, new NM[0]);
1240        return retVal;
1241    }
1242
1243
1244    /**
1245     * Returns a count of the current number of repetitions of Contract Period (PV1-27).
1246     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1247     * it will return zero.
1248     */
1249    public int getContractPeriodReps() {
1250        return this.getReps(27);
1251    }
1252
1253
1254    /**
1255     * Returns a specific repetition of
1256     * PV1-27: "Contract Period" - creates it if necessary
1257     *
1258     * @param rep The repetition index (0-indexed)
1259     */
1260    public NM getContractPeriod(int rep) { 
1261                NM retVal = this.getTypedField(27, rep);
1262                return retVal;
1263    }
1264
1265    /**
1266     * Returns a specific repetition of
1267     * PV1-27: "Contract Period" - creates it if necessary
1268     *
1269     * @param rep The repetition index (0-indexed)
1270     */
1271    public NM getPv127_ContractPeriod(int rep) { 
1272                NM retVal = this.getTypedField(27, rep);
1273                return retVal;
1274    }
1275
1276    /**
1277     * Returns a count of the current number of repetitions of Contract Period (PV1-27).
1278     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
1279     * it will return zero.
1280     */
1281    public int getPv127_ContractPeriodReps() {
1282        return this.getReps(27);
1283    }
1284
1285
1286    /**
1287     * Inserts a repetition of
1288     * PV1-27: "Contract Period" at a specific index
1289     *
1290     * @param rep The repetition index (0-indexed)
1291     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1292     */
1293    public NM insertContractPeriod(int rep) throws HL7Exception { 
1294        return (NM) super.insertRepetition(27, rep);
1295    }
1296
1297
1298    /**
1299     * Inserts a repetition of
1300     * PV1-27: "Contract Period" at a specific index
1301     *
1302     * @param rep The repetition index (0-indexed)
1303     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1304     */
1305    public NM insertPv127_ContractPeriod(int rep) throws HL7Exception { 
1306        return (NM) super.insertRepetition(27, rep);
1307    }
1308
1309
1310    /**
1311     * Removes a repetition of
1312     * PV1-27: "Contract Period" at a specific index
1313     *
1314     * @param rep The repetition index (0-indexed)
1315     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1316     */
1317    public NM removeContractPeriod(int rep) throws HL7Exception { 
1318        return (NM) super.removeRepetition(27, rep);
1319    }
1320
1321
1322    /**
1323     * Removes a repetition of
1324     * PV1-27: "Contract Period" at a specific index
1325     *
1326     * @param rep The repetition index (0-indexed)
1327     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
1328     */
1329    public NM removePv127_ContractPeriod(int rep) throws HL7Exception { 
1330        return (NM) super.removeRepetition(27, rep);
1331    }
1332
1333
1334
1335
1336    /**
1337     * Returns
1338     * PV1-28: "Interest Code" - creates it if necessary
1339     */
1340    public ID getInterestCode() { 
1341                ID retVal = this.getTypedField(28, 0);
1342                return retVal;
1343    }
1344    
1345    /**
1346     * Returns
1347     * PV1-28: "Interest Code" - creates it if necessary
1348     */
1349    public ID getPv128_InterestCode() { 
1350                ID retVal = this.getTypedField(28, 0);
1351                return retVal;
1352    }
1353
1354
1355
1356    /**
1357     * Returns
1358     * PV1-29: "Transfer to bad debt - code" - creates it if necessary
1359     */
1360    public ID getTransferToBadDebtCode() { 
1361                ID retVal = this.getTypedField(29, 0);
1362                return retVal;
1363    }
1364    
1365    /**
1366     * Returns
1367     * PV1-29: "Transfer to bad debt - code" - creates it if necessary
1368     */
1369    public ID getPv129_TransferToBadDebtCode() { 
1370                ID retVal = this.getTypedField(29, 0);
1371                return retVal;
1372    }
1373
1374
1375
1376    /**
1377     * Returns
1378     * PV1-30: "Transfer to bad debt - date" - creates it if necessary
1379     */
1380    public DT getTransferToBadDebtDate() { 
1381                DT retVal = this.getTypedField(30, 0);
1382                return retVal;
1383    }
1384    
1385    /**
1386     * Returns
1387     * PV1-30: "Transfer to bad debt - date" - creates it if necessary
1388     */
1389    public DT getPv130_TransferToBadDebtDate() { 
1390                DT retVal = this.getTypedField(30, 0);
1391                return retVal;
1392    }
1393
1394
1395
1396    /**
1397     * Returns
1398     * PV1-31: "Bad Debt Agency Code" - creates it if necessary
1399     */
1400    public ID getBadDebtAgencyCode() { 
1401                ID retVal = this.getTypedField(31, 0);
1402                return retVal;
1403    }
1404    
1405    /**
1406     * Returns
1407     * PV1-31: "Bad Debt Agency Code" - creates it if necessary
1408     */
1409    public ID getPv131_BadDebtAgencyCode() { 
1410                ID retVal = this.getTypedField(31, 0);
1411                return retVal;
1412    }
1413
1414
1415
1416    /**
1417     * Returns
1418     * PV1-32: "Bad Debt Transfer Amount" - creates it if necessary
1419     */
1420    public NM getBadDebtTransferAmount() { 
1421                NM retVal = this.getTypedField(32, 0);
1422                return retVal;
1423    }
1424    
1425    /**
1426     * Returns
1427     * PV1-32: "Bad Debt Transfer Amount" - creates it if necessary
1428     */
1429    public NM getPv132_BadDebtTransferAmount() { 
1430                NM retVal = this.getTypedField(32, 0);
1431                return retVal;
1432    }
1433
1434
1435
1436    /**
1437     * Returns
1438     * PV1-33: "Bad Debt Recovery Amount" - creates it if necessary
1439     */
1440    public NM getBadDebtRecoveryAmount() { 
1441                NM retVal = this.getTypedField(33, 0);
1442                return retVal;
1443    }
1444    
1445    /**
1446     * Returns
1447     * PV1-33: "Bad Debt Recovery Amount" - creates it if necessary
1448     */
1449    public NM getPv133_BadDebtRecoveryAmount() { 
1450                NM retVal = this.getTypedField(33, 0);
1451                return retVal;
1452    }
1453
1454
1455
1456    /**
1457     * Returns
1458     * PV1-34: "Delete Account Indicator" - creates it if necessary
1459     */
1460    public ID getDeleteAccountIndicator() { 
1461                ID retVal = this.getTypedField(34, 0);
1462                return retVal;
1463    }
1464    
1465    /**
1466     * Returns
1467     * PV1-34: "Delete Account Indicator" - creates it if necessary
1468     */
1469    public ID getPv134_DeleteAccountIndicator() { 
1470                ID retVal = this.getTypedField(34, 0);
1471                return retVal;
1472    }
1473
1474
1475
1476    /**
1477     * Returns
1478     * PV1-35: "Delete Account Date" - creates it if necessary
1479     */
1480    public DT getDeleteAccountDate() { 
1481                DT retVal = this.getTypedField(35, 0);
1482                return retVal;
1483    }
1484    
1485    /**
1486     * Returns
1487     * PV1-35: "Delete Account Date" - creates it if necessary
1488     */
1489    public DT getPv135_DeleteAccountDate() { 
1490                DT retVal = this.getTypedField(35, 0);
1491                return retVal;
1492    }
1493
1494
1495
1496    /**
1497     * Returns
1498     * PV1-36: "Discharge Disposition" - creates it if necessary
1499     */
1500    public ID getDischargeDisposition() { 
1501                ID retVal = this.getTypedField(36, 0);
1502                return retVal;
1503    }
1504    
1505    /**
1506     * Returns
1507     * PV1-36: "Discharge Disposition" - creates it if necessary
1508     */
1509    public ID getPv136_DischargeDisposition() { 
1510                ID retVal = this.getTypedField(36, 0);
1511                return retVal;
1512    }
1513
1514
1515
1516    /**
1517     * Returns
1518     * PV1-37: "Discharged to Location" - creates it if necessary
1519     */
1520    public CM_DLD getDischargedToLocation() { 
1521                CM_DLD retVal = this.getTypedField(37, 0);
1522                return retVal;
1523    }
1524    
1525    /**
1526     * Returns
1527     * PV1-37: "Discharged to Location" - creates it if necessary
1528     */
1529    public CM_DLD getPv137_DischargedToLocation() { 
1530                CM_DLD retVal = this.getTypedField(37, 0);
1531                return retVal;
1532    }
1533
1534
1535
1536    /**
1537     * Returns
1538     * PV1-38: "Diet Type" - creates it if necessary
1539     */
1540    public ID getDietType() { 
1541                ID retVal = this.getTypedField(38, 0);
1542                return retVal;
1543    }
1544    
1545    /**
1546     * Returns
1547     * PV1-38: "Diet Type" - creates it if necessary
1548     */
1549    public ID getPv138_DietType() { 
1550                ID retVal = this.getTypedField(38, 0);
1551                return retVal;
1552    }
1553
1554
1555
1556    /**
1557     * Returns
1558     * PV1-39: "Servicing Facility" - creates it if necessary
1559     */
1560    public ID getServicingFacility() { 
1561                ID retVal = this.getTypedField(39, 0);
1562                return retVal;
1563    }
1564    
1565    /**
1566     * Returns
1567     * PV1-39: "Servicing Facility" - creates it if necessary
1568     */
1569    public ID getPv139_ServicingFacility() { 
1570                ID retVal = this.getTypedField(39, 0);
1571                return retVal;
1572    }
1573
1574
1575
1576    /**
1577     * Returns
1578     * PV1-40: "Bed Status" - creates it if necessary
1579     */
1580    public ID getBedStatus() { 
1581                ID retVal = this.getTypedField(40, 0);
1582                return retVal;
1583    }
1584    
1585    /**
1586     * Returns
1587     * PV1-40: "Bed Status" - creates it if necessary
1588     */
1589    public ID getPv140_BedStatus() { 
1590                ID retVal = this.getTypedField(40, 0);
1591                return retVal;
1592    }
1593
1594
1595
1596    /**
1597     * Returns
1598     * PV1-41: "Account Status" - creates it if necessary
1599     */
1600    public ID getAccountStatus() { 
1601                ID retVal = this.getTypedField(41, 0);
1602                return retVal;
1603    }
1604    
1605    /**
1606     * Returns
1607     * PV1-41: "Account Status" - creates it if necessary
1608     */
1609    public ID getPv141_AccountStatus() { 
1610                ID retVal = this.getTypedField(41, 0);
1611                return retVal;
1612    }
1613
1614
1615
1616    /**
1617     * Returns
1618     * PV1-42: "Pending Location" - creates it if necessary
1619     */
1620    public CM_INTERNAL_LOCATION getPendingLocation() { 
1621                CM_INTERNAL_LOCATION retVal = this.getTypedField(42, 0);
1622                return retVal;
1623    }
1624    
1625    /**
1626     * Returns
1627     * PV1-42: "Pending Location" - creates it if necessary
1628     */
1629    public CM_INTERNAL_LOCATION getPv142_PendingLocation() { 
1630                CM_INTERNAL_LOCATION retVal = this.getTypedField(42, 0);
1631                return retVal;
1632    }
1633
1634
1635
1636    /**
1637     * Returns
1638     * PV1-43: "Prior Temporary Location" - creates it if necessary
1639     */
1640    public CM_INTERNAL_LOCATION getPriorTemporaryLocation() { 
1641                CM_INTERNAL_LOCATION retVal = this.getTypedField(43, 0);
1642                return retVal;
1643    }
1644    
1645    /**
1646     * Returns
1647     * PV1-43: "Prior Temporary Location" - creates it if necessary
1648     */
1649    public CM_INTERNAL_LOCATION getPv143_PriorTemporaryLocation() { 
1650                CM_INTERNAL_LOCATION retVal = this.getTypedField(43, 0);
1651                return retVal;
1652    }
1653
1654
1655
1656    /**
1657     * Returns
1658     * PV1-44: "Admit date / time" - creates it if necessary
1659     */
1660    public TS getAdmitDateTime() { 
1661                TS retVal = this.getTypedField(44, 0);
1662                return retVal;
1663    }
1664    
1665    /**
1666     * Returns
1667     * PV1-44: "Admit date / time" - creates it if necessary
1668     */
1669    public TS getPv144_AdmitDateTime() { 
1670                TS retVal = this.getTypedField(44, 0);
1671                return retVal;
1672    }
1673
1674
1675
1676    /**
1677     * Returns
1678     * PV1-45: "Discharge date / time" - creates it if necessary
1679     */
1680    public TS getDischargeDateTime() { 
1681                TS retVal = this.getTypedField(45, 0);
1682                return retVal;
1683    }
1684    
1685    /**
1686     * Returns
1687     * PV1-45: "Discharge date / time" - creates it if necessary
1688     */
1689    public TS getPv145_DischargeDateTime() { 
1690                TS retVal = this.getTypedField(45, 0);
1691                return retVal;
1692    }
1693
1694
1695
1696    /**
1697     * Returns
1698     * PV1-46: "Current Patient Balance" - creates it if necessary
1699     */
1700    public NM getCurrentPatientBalance() { 
1701                NM retVal = this.getTypedField(46, 0);
1702                return retVal;
1703    }
1704    
1705    /**
1706     * Returns
1707     * PV1-46: "Current Patient Balance" - creates it if necessary
1708     */
1709    public NM getPv146_CurrentPatientBalance() { 
1710                NM retVal = this.getTypedField(46, 0);
1711                return retVal;
1712    }
1713
1714
1715
1716    /**
1717     * Returns
1718     * PV1-47: "Total Charges" - creates it if necessary
1719     */
1720    public NM getTotalCharges() { 
1721                NM retVal = this.getTypedField(47, 0);
1722                return retVal;
1723    }
1724    
1725    /**
1726     * Returns
1727     * PV1-47: "Total Charges" - creates it if necessary
1728     */
1729    public NM getPv147_TotalCharges() { 
1730                NM retVal = this.getTypedField(47, 0);
1731                return retVal;
1732    }
1733
1734
1735
1736    /**
1737     * Returns
1738     * PV1-48: "Total Adjustments" - creates it if necessary
1739     */
1740    public NM getTotalAdjustments() { 
1741                NM retVal = this.getTypedField(48, 0);
1742                return retVal;
1743    }
1744    
1745    /**
1746     * Returns
1747     * PV1-48: "Total Adjustments" - creates it if necessary
1748     */
1749    public NM getPv148_TotalAdjustments() { 
1750                NM retVal = this.getTypedField(48, 0);
1751                return retVal;
1752    }
1753
1754
1755
1756    /**
1757     * Returns
1758     * PV1-49: "Total Payments" - creates it if necessary
1759     */
1760    public NM getTotalPayments() { 
1761                NM retVal = this.getTypedField(49, 0);
1762                return retVal;
1763    }
1764    
1765    /**
1766     * Returns
1767     * PV1-49: "Total Payments" - creates it if necessary
1768     */
1769    public NM getPv149_TotalPayments() { 
1770                NM retVal = this.getTypedField(49, 0);
1771                return retVal;
1772    }
1773
1774
1775
1776    /**
1777     * Returns
1778     * PV1-50: "Alternate Visit ID" - creates it if necessary
1779     */
1780    public CM_PAT_ID_0192 getAlternateVisitID() { 
1781                CM_PAT_ID_0192 retVal = this.getTypedField(50, 0);
1782                return retVal;
1783    }
1784    
1785    /**
1786     * Returns
1787     * PV1-50: "Alternate Visit ID" - creates it if necessary
1788     */
1789    public CM_PAT_ID_0192 getPv150_AlternateVisitID() { 
1790                CM_PAT_ID_0192 retVal = this.getTypedField(50, 0);
1791                return retVal;
1792    }
1793
1794
1795
1796
1797
1798    /** {@inheritDoc} */   
1799    protected Type createNewTypeWithoutReflection(int field) {
1800       switch (field) {
1801          case 0: return new SI(getMessage());
1802          case 1: return new ID(getMessage(), new Integer( 4 ));
1803          case 2: return new CM_INTERNAL_LOCATION(getMessage());
1804          case 3: return new ID(getMessage(), new Integer( 7 ));
1805          case 4: return new ST(getMessage());
1806          case 5: return new CM_INTERNAL_LOCATION(getMessage());
1807          case 6: return new CN(getMessage());
1808          case 7: return new CN(getMessage());
1809          case 8: return new CN(getMessage());
1810          case 9: return new ID(getMessage(), new Integer( 69 ));
1811          case 10: return new CM_INTERNAL_LOCATION(getMessage());
1812          case 11: return new ID(getMessage(), new Integer( 87 ));
1813          case 12: return new ID(getMessage(), new Integer( 92 ));
1814          case 13: return new ID(getMessage(), new Integer( 23 ));
1815          case 14: return new ID(getMessage(), new Integer( 9 ));
1816          case 15: return new ID(getMessage(), new Integer( 99 ));
1817          case 16: return new CN(getMessage());
1818          case 17: return new ID(getMessage(), new Integer( 18 ));
1819          case 18: return new CM_PAT_ID(getMessage());
1820          case 19: return new CM_FINANCE(getMessage());
1821          case 20: return new ID(getMessage(), new Integer( 32 ));
1822          case 21: return new ID(getMessage(), new Integer( 45 ));
1823          case 22: return new ID(getMessage(), new Integer( 46 ));
1824          case 23: return new ID(getMessage(), new Integer( 44 ));
1825          case 24: return new DT(getMessage());
1826          case 25: return new NM(getMessage());
1827          case 26: return new NM(getMessage());
1828          case 27: return new ID(getMessage(), new Integer( 73 ));
1829          case 28: return new ID(getMessage(), new Integer( 110 ));
1830          case 29: return new DT(getMessage());
1831          case 30: return new ID(getMessage(), new Integer( 21 ));
1832          case 31: return new NM(getMessage());
1833          case 32: return new NM(getMessage());
1834          case 33: return new ID(getMessage(), new Integer( 111 ));
1835          case 34: return new DT(getMessage());
1836          case 35: return new ID(getMessage(), new Integer( 112 ));
1837          case 36: return new CM_DLD(getMessage());
1838          case 37: return new ID(getMessage(), new Integer( 114 ));
1839          case 38: return new ID(getMessage(), new Integer( 115 ));
1840          case 39: return new ID(getMessage(), new Integer( 116 ));
1841          case 40: return new ID(getMessage(), new Integer( 117 ));
1842          case 41: return new CM_INTERNAL_LOCATION(getMessage());
1843          case 42: return new CM_INTERNAL_LOCATION(getMessage());
1844          case 43: return new TS(getMessage());
1845          case 44: return new TS(getMessage());
1846          case 45: return new NM(getMessage());
1847          case 46: return new NM(getMessage());
1848          case 47: return new NM(getMessage());
1849          case 48: return new NM(getMessage());
1850          case 49: return new CM_PAT_ID_0192(getMessage());
1851          default: return null;
1852       }
1853   }
1854
1855
1856}
1857