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.v27.segment;
035
036// import ca.uhn.hl7v2.model.v27.group.*;
037import ca.uhn.hl7v2.model.v27.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 PSL message segment (Product/Service Line Item). 
050 * This segment has the following fields:</p>
051 * <ul>
052     * <li>PSL-1: Provider Product/Service Line Item Number (EI) <b> </b>
053     * <li>PSL-2: Payer Product/Service Line Item Number (EI) <b>optional </b>
054     * <li>PSL-3: Product/Service Line Item Sequence Number (SI) <b> </b>
055     * <li>PSL-4: Provider Tracking ID (EI) <b>optional </b>
056     * <li>PSL-5: Payer Tracking ID (EI) <b>optional </b>
057     * <li>PSL-6: Product/Service Line Item Status (CWE) <b> </b>
058     * <li>PSL-7: Product/Service Code (CWE) <b> </b>
059     * <li>PSL-8: Product/Service Code Modifier (CWE) <b>optional </b>
060     * <li>PSL-9: Product/Service Code Description (ST) <b>optional </b>
061     * <li>PSL-10: Product/Service Effective Date (DTM) <b>optional </b>
062     * <li>PSL-11: Product/Service Expiration Date (DTM) <b>optional </b>
063     * <li>PSL-12: Product/Service Quantity (CQ) <b>optional </b>
064     * <li>PSL-13: Product/Service Unit Cost (CP) <b>optional </b>
065     * <li>PSL-14: Number of Items per Unit (NM) <b>optional </b>
066     * <li>PSL-15: Product/Service Gross Amount (CP) <b>optional </b>
067     * <li>PSL-16: Product/Service Billed Amount (CP) <b>optional </b>
068     * <li>PSL-17: Product/Service Clarification Code Type (CWE) <b>optional </b>
069     * <li>PSL-18: Product/Service Clarification Code Value (ST) <b>optional </b>
070     * <li>PSL-19: Health Document Reference Identifier (EI) <b>optional </b>
071     * <li>PSL-20: Processing Consideration Code (CWE) <b>optional </b>
072     * <li>PSL-21: Restricted Disclosure Indicator (ID) <b> </b>
073     * <li>PSL-22: Related Product/Service Code Indicator (CWE) <b>optional </b>
074     * <li>PSL-23: Product/Service Amount for Physician (CP) <b>optional </b>
075     * <li>PSL-24: Product/Service Cost Factor (NM) <b>optional </b>
076     * <li>PSL-25: Cost Center (CX) <b>optional </b>
077     * <li>PSL-26: Billing Period (DR) <b>optional </b>
078     * <li>PSL-27: Days without Billing (NM) <b>optional </b>
079     * <li>PSL-28: Session-No (NM) <b>optional </b>
080     * <li>PSL-29: Executing Physician ID (XCN) <b>optional </b>
081     * <li>PSL-30: Responsible Physician ID (XCN) <b>optional </b>
082     * <li>PSL-31: Role Executing Physician (CWE) <b>optional </b>
083     * <li>PSL-32: Medical Role Executing Physician (CWE) <b>optional </b>
084     * <li>PSL-33: Side of body (CWE) <b>optional </b>
085     * <li>PSL-34: Number of TP's PP (NM) <b>optional </b>
086     * <li>PSL-35: TP-Value PP (CP) <b>optional </b>
087     * <li>PSL-36: Internal Scaling Factor PP (NM) <b>optional </b>
088     * <li>PSL-37: External Scaling Factor PP (NM) <b>optional </b>
089     * <li>PSL-38: Amount PP (CP) <b>optional </b>
090     * <li>PSL-39: Number of TP's Technical Part (NM) <b>optional </b>
091     * <li>PSL-40: TP-Value Technical Part (CP) <b>optional </b>
092     * <li>PSL-41: Internal Scaling Factor Technical Part (NM) <b>optional </b>
093     * <li>PSL-42: External Scaling Factor Technical Part (NM) <b>optional </b>
094     * <li>PSL-43: Amount Technical Part (CP) <b>optional </b>
095     * <li>PSL-44: Total Amount Professional Part + Technical Part (CP) <b>optional </b>
096     * <li>PSL-45: VAT-Rate (NM) <b>optional </b>
097     * <li>PSL-46: Main-Service (ID) <b>optional </b>
098     * <li>PSL-47: Validation (ID) <b>optional </b>
099     * <li>PSL-48: Comment (ST) <b>optional </b>
100 * </ul>
101 */
102@SuppressWarnings("unused")
103public class PSL extends AbstractSegment {
104
105    /** 
106     * Creates a new PSL segment
107     */
108    public PSL(Group parent, ModelClassFactory factory) {
109       super(parent, factory);
110       init(factory);
111    }
112
113    private void init(ModelClassFactory factory) {
114       try {
115                                  this.add(EI.class, true, 1, 0, new Object[]{ getMessage() }, "Provider Product/Service Line Item Number");
116                                  this.add(EI.class, false, 1, 0, new Object[]{ getMessage() }, "Payer Product/Service Line Item Number");
117                                  this.add(SI.class, true, 1, 4, new Object[]{ getMessage() }, "Product/Service Line Item Sequence Number");
118                                  this.add(EI.class, false, 1, 0, new Object[]{ getMessage() }, "Provider Tracking ID");
119                                  this.add(EI.class, false, 1, 0, new Object[]{ getMessage() }, "Payer Tracking ID");
120                                  this.add(CWE.class, true, 1, 0, new Object[]{ getMessage() }, "Product/Service Line Item Status");
121                                  this.add(CWE.class, true, 1, 0, new Object[]{ getMessage() }, "Product/Service Code");
122                                  this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Product/Service Code Modifier");
123                                  this.add(ST.class, false, 1, 0, new Object[]{ getMessage() }, "Product/Service Code Description");
124                                  this.add(DTM.class, false, 1, 0, new Object[]{ getMessage() }, "Product/Service Effective Date");
125                                  this.add(DTM.class, false, 1, 0, new Object[]{ getMessage() }, "Product/Service Expiration Date");
126                                  this.add(CQ.class, false, 1, 0, new Object[]{ getMessage() }, "Product/Service Quantity");
127                                  this.add(CP.class, false, 1, 0, new Object[]{ getMessage() }, "Product/Service Unit Cost");
128                                  this.add(NM.class, false, 1, 0, new Object[]{ getMessage() }, "Number of Items per Unit");
129                                  this.add(CP.class, false, 1, 0, new Object[]{ getMessage() }, "Product/Service Gross Amount");
130                                  this.add(CP.class, false, 1, 0, new Object[]{ getMessage() }, "Product/Service Billed Amount");
131                                  this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Product/Service Clarification Code Type");
132                                  this.add(ST.class, false, 1, 0, new Object[]{ getMessage() }, "Product/Service Clarification Code Value");
133                                  this.add(EI.class, false, 1, 0, new Object[]{ getMessage() }, "Health Document Reference Identifier");
134                                  this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Processing Consideration Code");
135                                              this.add(ID.class, true, 1, 4, new Object[]{ getMessage(), new Integer(532) }, "Restricted Disclosure Indicator");
136                                  this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Related Product/Service Code Indicator");
137                                  this.add(CP.class, false, 1, 0, new Object[]{ getMessage() }, "Product/Service Amount for Physician");
138                                  this.add(NM.class, false, 1, 0, new Object[]{ getMessage() }, "Product/Service Cost Factor");
139                                  this.add(CX.class, false, 1, 0, new Object[]{ getMessage() }, "Cost Center");
140                                  this.add(DR.class, false, 1, 0, new Object[]{ getMessage() }, "Billing Period");
141                                  this.add(NM.class, false, 1, 0, new Object[]{ getMessage() }, "Days without Billing");
142                                  this.add(NM.class, false, 1, 4, new Object[]{ getMessage() }, "Session-No");
143                                  this.add(XCN.class, false, 1, 0, new Object[]{ getMessage() }, "Executing Physician ID");
144                                  this.add(XCN.class, false, 1, 0, new Object[]{ getMessage() }, "Responsible Physician ID");
145                                  this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Role Executing Physician");
146                                  this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Medical Role Executing Physician");
147                                  this.add(CWE.class, false, 1, 0, new Object[]{ getMessage() }, "Side of body");
148                                  this.add(NM.class, false, 1, 0, new Object[]{ getMessage() }, "Number of TP's PP");
149                                  this.add(CP.class, false, 1, 0, new Object[]{ getMessage() }, "TP-Value PP");
150                                  this.add(NM.class, false, 1, 0, new Object[]{ getMessage() }, "Internal Scaling Factor PP");
151                                  this.add(NM.class, false, 1, 0, new Object[]{ getMessage() }, "External Scaling Factor PP");
152                                  this.add(CP.class, false, 1, 0, new Object[]{ getMessage() }, "Amount PP");
153                                  this.add(NM.class, false, 1, 0, new Object[]{ getMessage() }, "Number of TP's Technical Part");
154                                  this.add(CP.class, false, 1, 0, new Object[]{ getMessage() }, "TP-Value Technical Part");
155                                  this.add(NM.class, false, 1, 0, new Object[]{ getMessage() }, "Internal Scaling Factor Technical Part");
156                                  this.add(NM.class, false, 1, 0, new Object[]{ getMessage() }, "External Scaling Factor Technical Part");
157                                  this.add(CP.class, false, 1, 0, new Object[]{ getMessage() }, "Amount Technical Part");
158                                  this.add(CP.class, false, 1, 0, new Object[]{ getMessage() }, "Total Amount Professional Part + Technical Part");
159                                  this.add(NM.class, false, 1, 0, new Object[]{ getMessage() }, "VAT-Rate");
160                                              this.add(ID.class, false, 1, 20, new Object[]{ getMessage(), new Integer(0) }, "Main-Service");
161                                              this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(136) }, "Validation");
162                                  this.add(ST.class, false, 1, 0, new Object[]{ getMessage() }, "Comment");
163       } catch(HL7Exception e) {
164          log.error("Unexpected error creating PSL - this is probably a bug in the source code generator.", e);
165       }
166    }
167
168
169
170    /**
171     * Returns
172     * PSL-1: "Provider Product/Service Line Item Number" - creates it if necessary
173     */
174    public EI getProviderProductServiceLineItemNumber() { 
175                EI retVal = this.getTypedField(1, 0);
176                return retVal;
177    }
178    
179    /**
180     * Returns
181     * PSL-1: "Provider Product/Service Line Item Number" - creates it if necessary
182     */
183    public EI getPsl1_ProviderProductServiceLineItemNumber() { 
184                EI retVal = this.getTypedField(1, 0);
185                return retVal;
186    }
187
188
189
190    /**
191     * Returns
192     * PSL-2: "Payer Product/Service Line Item Number" - creates it if necessary
193     */
194    public EI getPayerProductServiceLineItemNumber() { 
195                EI retVal = this.getTypedField(2, 0);
196                return retVal;
197    }
198    
199    /**
200     * Returns
201     * PSL-2: "Payer Product/Service Line Item Number" - creates it if necessary
202     */
203    public EI getPsl2_PayerProductServiceLineItemNumber() { 
204                EI retVal = this.getTypedField(2, 0);
205                return retVal;
206    }
207
208
209
210    /**
211     * Returns
212     * PSL-3: "Product/Service Line Item Sequence Number" - creates it if necessary
213     */
214    public SI getProductServiceLineItemSequenceNumber() { 
215                SI retVal = this.getTypedField(3, 0);
216                return retVal;
217    }
218    
219    /**
220     * Returns
221     * PSL-3: "Product/Service Line Item Sequence Number" - creates it if necessary
222     */
223    public SI getPsl3_ProductServiceLineItemSequenceNumber() { 
224                SI retVal = this.getTypedField(3, 0);
225                return retVal;
226    }
227
228
229
230    /**
231     * Returns
232     * PSL-4: "Provider Tracking ID" - creates it if necessary
233     */
234    public EI getProviderTrackingID() { 
235                EI retVal = this.getTypedField(4, 0);
236                return retVal;
237    }
238    
239    /**
240     * Returns
241     * PSL-4: "Provider Tracking ID" - creates it if necessary
242     */
243    public EI getPsl4_ProviderTrackingID() { 
244                EI retVal = this.getTypedField(4, 0);
245                return retVal;
246    }
247
248
249
250    /**
251     * Returns
252     * PSL-5: "Payer Tracking ID" - creates it if necessary
253     */
254    public EI getPayerTrackingID() { 
255                EI retVal = this.getTypedField(5, 0);
256                return retVal;
257    }
258    
259    /**
260     * Returns
261     * PSL-5: "Payer Tracking ID" - creates it if necessary
262     */
263    public EI getPsl5_PayerTrackingID() { 
264                EI retVal = this.getTypedField(5, 0);
265                return retVal;
266    }
267
268
269
270    /**
271     * Returns
272     * PSL-6: "Product/Service Line Item Status" - creates it if necessary
273     */
274    public CWE getProductServiceLineItemStatus() { 
275                CWE retVal = this.getTypedField(6, 0);
276                return retVal;
277    }
278    
279    /**
280     * Returns
281     * PSL-6: "Product/Service Line Item Status" - creates it if necessary
282     */
283    public CWE getPsl6_ProductServiceLineItemStatus() { 
284                CWE retVal = this.getTypedField(6, 0);
285                return retVal;
286    }
287
288
289
290    /**
291     * Returns
292     * PSL-7: "Product/Service Code" - creates it if necessary
293     */
294    public CWE getProductServiceCode() { 
295                CWE retVal = this.getTypedField(7, 0);
296                return retVal;
297    }
298    
299    /**
300     * Returns
301     * PSL-7: "Product/Service Code" - creates it if necessary
302     */
303    public CWE getPsl7_ProductServiceCode() { 
304                CWE retVal = this.getTypedField(7, 0);
305                return retVal;
306    }
307
308
309
310    /**
311     * Returns
312     * PSL-8: "Product/Service Code Modifier" - creates it if necessary
313     */
314    public CWE getProductServiceCodeModifier() { 
315                CWE retVal = this.getTypedField(8, 0);
316                return retVal;
317    }
318    
319    /**
320     * Returns
321     * PSL-8: "Product/Service Code Modifier" - creates it if necessary
322     */
323    public CWE getPsl8_ProductServiceCodeModifier() { 
324                CWE retVal = this.getTypedField(8, 0);
325                return retVal;
326    }
327
328
329
330    /**
331     * Returns
332     * PSL-9: "Product/Service Code Description" - creates it if necessary
333     */
334    public ST getProductServiceCodeDescription() { 
335                ST retVal = this.getTypedField(9, 0);
336                return retVal;
337    }
338    
339    /**
340     * Returns
341     * PSL-9: "Product/Service Code Description" - creates it if necessary
342     */
343    public ST getPsl9_ProductServiceCodeDescription() { 
344                ST retVal = this.getTypedField(9, 0);
345                return retVal;
346    }
347
348
349
350    /**
351     * Returns
352     * PSL-10: "Product/Service Effective Date" - creates it if necessary
353     */
354    public DTM getProductServiceEffectiveDate() { 
355                DTM retVal = this.getTypedField(10, 0);
356                return retVal;
357    }
358    
359    /**
360     * Returns
361     * PSL-10: "Product/Service Effective Date" - creates it if necessary
362     */
363    public DTM getPsl10_ProductServiceEffectiveDate() { 
364                DTM retVal = this.getTypedField(10, 0);
365                return retVal;
366    }
367
368
369
370    /**
371     * Returns
372     * PSL-11: "Product/Service Expiration Date" - creates it if necessary
373     */
374    public DTM getProductServiceExpirationDate() { 
375                DTM retVal = this.getTypedField(11, 0);
376                return retVal;
377    }
378    
379    /**
380     * Returns
381     * PSL-11: "Product/Service Expiration Date" - creates it if necessary
382     */
383    public DTM getPsl11_ProductServiceExpirationDate() { 
384                DTM retVal = this.getTypedField(11, 0);
385                return retVal;
386    }
387
388
389
390    /**
391     * Returns
392     * PSL-12: "Product/Service Quantity" - creates it if necessary
393     */
394    public CQ getProductServiceQuantity() { 
395                CQ retVal = this.getTypedField(12, 0);
396                return retVal;
397    }
398    
399    /**
400     * Returns
401     * PSL-12: "Product/Service Quantity" - creates it if necessary
402     */
403    public CQ getPsl12_ProductServiceQuantity() { 
404                CQ retVal = this.getTypedField(12, 0);
405                return retVal;
406    }
407
408
409
410    /**
411     * Returns
412     * PSL-13: "Product/Service Unit Cost" - creates it if necessary
413     */
414    public CP getProductServiceUnitCost() { 
415                CP retVal = this.getTypedField(13, 0);
416                return retVal;
417    }
418    
419    /**
420     * Returns
421     * PSL-13: "Product/Service Unit Cost" - creates it if necessary
422     */
423    public CP getPsl13_ProductServiceUnitCost() { 
424                CP retVal = this.getTypedField(13, 0);
425                return retVal;
426    }
427
428
429
430    /**
431     * Returns
432     * PSL-14: "Number of Items per Unit" - creates it if necessary
433     */
434    public NM getNumberOfItemsPerUnit() { 
435                NM retVal = this.getTypedField(14, 0);
436                return retVal;
437    }
438    
439    /**
440     * Returns
441     * PSL-14: "Number of Items per Unit" - creates it if necessary
442     */
443    public NM getPsl14_NumberOfItemsPerUnit() { 
444                NM retVal = this.getTypedField(14, 0);
445                return retVal;
446    }
447
448
449
450    /**
451     * Returns
452     * PSL-15: "Product/Service Gross Amount" - creates it if necessary
453     */
454    public CP getProductServiceGrossAmount() { 
455                CP retVal = this.getTypedField(15, 0);
456                return retVal;
457    }
458    
459    /**
460     * Returns
461     * PSL-15: "Product/Service Gross Amount" - creates it if necessary
462     */
463    public CP getPsl15_ProductServiceGrossAmount() { 
464                CP retVal = this.getTypedField(15, 0);
465                return retVal;
466    }
467
468
469
470    /**
471     * Returns
472     * PSL-16: "Product/Service Billed Amount" - creates it if necessary
473     */
474    public CP getProductServiceBilledAmount() { 
475                CP retVal = this.getTypedField(16, 0);
476                return retVal;
477    }
478    
479    /**
480     * Returns
481     * PSL-16: "Product/Service Billed Amount" - creates it if necessary
482     */
483    public CP getPsl16_ProductServiceBilledAmount() { 
484                CP retVal = this.getTypedField(16, 0);
485                return retVal;
486    }
487
488
489
490    /**
491     * Returns
492     * PSL-17: "Product/Service Clarification Code Type" - creates it if necessary
493     */
494    public CWE getProductServiceClarificationCodeType() { 
495                CWE retVal = this.getTypedField(17, 0);
496                return retVal;
497    }
498    
499    /**
500     * Returns
501     * PSL-17: "Product/Service Clarification Code Type" - creates it if necessary
502     */
503    public CWE getPsl17_ProductServiceClarificationCodeType() { 
504                CWE retVal = this.getTypedField(17, 0);
505                return retVal;
506    }
507
508
509
510    /**
511     * Returns
512     * PSL-18: "Product/Service Clarification Code Value" - creates it if necessary
513     */
514    public ST getProductServiceClarificationCodeValue() { 
515                ST retVal = this.getTypedField(18, 0);
516                return retVal;
517    }
518    
519    /**
520     * Returns
521     * PSL-18: "Product/Service Clarification Code Value" - creates it if necessary
522     */
523    public ST getPsl18_ProductServiceClarificationCodeValue() { 
524                ST retVal = this.getTypedField(18, 0);
525                return retVal;
526    }
527
528
529
530    /**
531     * Returns
532     * PSL-19: "Health Document Reference Identifier" - creates it if necessary
533     */
534    public EI getHealthDocumentReferenceIdentifier() { 
535                EI retVal = this.getTypedField(19, 0);
536                return retVal;
537    }
538    
539    /**
540     * Returns
541     * PSL-19: "Health Document Reference Identifier" - creates it if necessary
542     */
543    public EI getPsl19_HealthDocumentReferenceIdentifier() { 
544                EI retVal = this.getTypedField(19, 0);
545                return retVal;
546    }
547
548
549
550    /**
551     * Returns
552     * PSL-20: "Processing Consideration Code" - creates it if necessary
553     */
554    public CWE getProcessingConsiderationCode() { 
555                CWE retVal = this.getTypedField(20, 0);
556                return retVal;
557    }
558    
559    /**
560     * Returns
561     * PSL-20: "Processing Consideration Code" - creates it if necessary
562     */
563    public CWE getPsl20_ProcessingConsiderationCode() { 
564                CWE retVal = this.getTypedField(20, 0);
565                return retVal;
566    }
567
568
569
570    /**
571     * Returns
572     * PSL-21: "Restricted Disclosure Indicator" - creates it if necessary
573     */
574    public ID getRestrictedDisclosureIndicator() { 
575                ID retVal = this.getTypedField(21, 0);
576                return retVal;
577    }
578    
579    /**
580     * Returns
581     * PSL-21: "Restricted Disclosure Indicator" - creates it if necessary
582     */
583    public ID getPsl21_RestrictedDisclosureIndicator() { 
584                ID retVal = this.getTypedField(21, 0);
585                return retVal;
586    }
587
588
589
590    /**
591     * Returns
592     * PSL-22: "Related Product/Service Code Indicator" - creates it if necessary
593     */
594    public CWE getRelatedProductServiceCodeIndicator() { 
595                CWE retVal = this.getTypedField(22, 0);
596                return retVal;
597    }
598    
599    /**
600     * Returns
601     * PSL-22: "Related Product/Service Code Indicator" - creates it if necessary
602     */
603    public CWE getPsl22_RelatedProductServiceCodeIndicator() { 
604                CWE retVal = this.getTypedField(22, 0);
605                return retVal;
606    }
607
608
609
610    /**
611     * Returns
612     * PSL-23: "Product/Service Amount for Physician" - creates it if necessary
613     */
614    public CP getProductServiceAmountForPhysician() { 
615                CP retVal = this.getTypedField(23, 0);
616                return retVal;
617    }
618    
619    /**
620     * Returns
621     * PSL-23: "Product/Service Amount for Physician" - creates it if necessary
622     */
623    public CP getPsl23_ProductServiceAmountForPhysician() { 
624                CP retVal = this.getTypedField(23, 0);
625                return retVal;
626    }
627
628
629
630    /**
631     * Returns
632     * PSL-24: "Product/Service Cost Factor" - creates it if necessary
633     */
634    public NM getProductServiceCostFactor() { 
635                NM retVal = this.getTypedField(24, 0);
636                return retVal;
637    }
638    
639    /**
640     * Returns
641     * PSL-24: "Product/Service Cost Factor" - creates it if necessary
642     */
643    public NM getPsl24_ProductServiceCostFactor() { 
644                NM retVal = this.getTypedField(24, 0);
645                return retVal;
646    }
647
648
649
650    /**
651     * Returns
652     * PSL-25: "Cost Center" - creates it if necessary
653     */
654    public CX getCostCenter() { 
655                CX retVal = this.getTypedField(25, 0);
656                return retVal;
657    }
658    
659    /**
660     * Returns
661     * PSL-25: "Cost Center" - creates it if necessary
662     */
663    public CX getPsl25_CostCenter() { 
664                CX retVal = this.getTypedField(25, 0);
665                return retVal;
666    }
667
668
669
670    /**
671     * Returns
672     * PSL-26: "Billing Period" - creates it if necessary
673     */
674    public DR getBillingPeriod() { 
675                DR retVal = this.getTypedField(26, 0);
676                return retVal;
677    }
678    
679    /**
680     * Returns
681     * PSL-26: "Billing Period" - creates it if necessary
682     */
683    public DR getPsl26_BillingPeriod() { 
684                DR retVal = this.getTypedField(26, 0);
685                return retVal;
686    }
687
688
689
690    /**
691     * Returns
692     * PSL-27: "Days without Billing" - creates it if necessary
693     */
694    public NM getDaysWithoutBilling() { 
695                NM retVal = this.getTypedField(27, 0);
696                return retVal;
697    }
698    
699    /**
700     * Returns
701     * PSL-27: "Days without Billing" - creates it if necessary
702     */
703    public NM getPsl27_DaysWithoutBilling() { 
704                NM retVal = this.getTypedField(27, 0);
705                return retVal;
706    }
707
708
709
710    /**
711     * Returns
712     * PSL-28: "Session-No" - creates it if necessary
713     */
714    public NM getSessionNo() { 
715                NM retVal = this.getTypedField(28, 0);
716                return retVal;
717    }
718    
719    /**
720     * Returns
721     * PSL-28: "Session-No" - creates it if necessary
722     */
723    public NM getPsl28_SessionNo() { 
724                NM retVal = this.getTypedField(28, 0);
725                return retVal;
726    }
727
728
729
730    /**
731     * Returns
732     * PSL-29: "Executing Physician ID" - creates it if necessary
733     */
734    public XCN getExecutingPhysicianID() { 
735                XCN retVal = this.getTypedField(29, 0);
736                return retVal;
737    }
738    
739    /**
740     * Returns
741     * PSL-29: "Executing Physician ID" - creates it if necessary
742     */
743    public XCN getPsl29_ExecutingPhysicianID() { 
744                XCN retVal = this.getTypedField(29, 0);
745                return retVal;
746    }
747
748
749
750    /**
751     * Returns
752     * PSL-30: "Responsible Physician ID" - creates it if necessary
753     */
754    public XCN getResponsiblePhysicianID() { 
755                XCN retVal = this.getTypedField(30, 0);
756                return retVal;
757    }
758    
759    /**
760     * Returns
761     * PSL-30: "Responsible Physician ID" - creates it if necessary
762     */
763    public XCN getPsl30_ResponsiblePhysicianID() { 
764                XCN retVal = this.getTypedField(30, 0);
765                return retVal;
766    }
767
768
769
770    /**
771     * Returns
772     * PSL-31: "Role Executing Physician" - creates it if necessary
773     */
774    public CWE getRoleExecutingPhysician() { 
775                CWE retVal = this.getTypedField(31, 0);
776                return retVal;
777    }
778    
779    /**
780     * Returns
781     * PSL-31: "Role Executing Physician" - creates it if necessary
782     */
783    public CWE getPsl31_RoleExecutingPhysician() { 
784                CWE retVal = this.getTypedField(31, 0);
785                return retVal;
786    }
787
788
789
790    /**
791     * Returns
792     * PSL-32: "Medical Role Executing Physician" - creates it if necessary
793     */
794    public CWE getMedicalRoleExecutingPhysician() { 
795                CWE retVal = this.getTypedField(32, 0);
796                return retVal;
797    }
798    
799    /**
800     * Returns
801     * PSL-32: "Medical Role Executing Physician" - creates it if necessary
802     */
803    public CWE getPsl32_MedicalRoleExecutingPhysician() { 
804                CWE retVal = this.getTypedField(32, 0);
805                return retVal;
806    }
807
808
809
810    /**
811     * Returns
812     * PSL-33: "Side of body" - creates it if necessary
813     */
814    public CWE getSideOfBody() { 
815                CWE retVal = this.getTypedField(33, 0);
816                return retVal;
817    }
818    
819    /**
820     * Returns
821     * PSL-33: "Side of body" - creates it if necessary
822     */
823    public CWE getPsl33_SideOfBody() { 
824                CWE retVal = this.getTypedField(33, 0);
825                return retVal;
826    }
827
828
829
830    /**
831     * Returns
832     * PSL-34: "Number of TP's PP" - creates it if necessary
833     */
834    public NM getNumberOfTPSPP() { 
835                NM retVal = this.getTypedField(34, 0);
836                return retVal;
837    }
838    
839    /**
840     * Returns
841     * PSL-34: "Number of TP's PP" - creates it if necessary
842     */
843    public NM getPsl34_NumberOfTPSPP() { 
844                NM retVal = this.getTypedField(34, 0);
845                return retVal;
846    }
847
848
849
850    /**
851     * Returns
852     * PSL-35: "TP-Value PP" - creates it if necessary
853     */
854    public CP getTPValuePP() { 
855                CP retVal = this.getTypedField(35, 0);
856                return retVal;
857    }
858    
859    /**
860     * Returns
861     * PSL-35: "TP-Value PP" - creates it if necessary
862     */
863    public CP getPsl35_TPValuePP() { 
864                CP retVal = this.getTypedField(35, 0);
865                return retVal;
866    }
867
868
869
870    /**
871     * Returns
872     * PSL-36: "Internal Scaling Factor PP" - creates it if necessary
873     */
874    public NM getInternalScalingFactorPP() { 
875                NM retVal = this.getTypedField(36, 0);
876                return retVal;
877    }
878    
879    /**
880     * Returns
881     * PSL-36: "Internal Scaling Factor PP" - creates it if necessary
882     */
883    public NM getPsl36_InternalScalingFactorPP() { 
884                NM retVal = this.getTypedField(36, 0);
885                return retVal;
886    }
887
888
889
890    /**
891     * Returns
892     * PSL-37: "External Scaling Factor PP" - creates it if necessary
893     */
894    public NM getExternalScalingFactorPP() { 
895                NM retVal = this.getTypedField(37, 0);
896                return retVal;
897    }
898    
899    /**
900     * Returns
901     * PSL-37: "External Scaling Factor PP" - creates it if necessary
902     */
903    public NM getPsl37_ExternalScalingFactorPP() { 
904                NM retVal = this.getTypedField(37, 0);
905                return retVal;
906    }
907
908
909
910    /**
911     * Returns
912     * PSL-38: "Amount PP" - creates it if necessary
913     */
914    public CP getAmountPP() { 
915                CP retVal = this.getTypedField(38, 0);
916                return retVal;
917    }
918    
919    /**
920     * Returns
921     * PSL-38: "Amount PP" - creates it if necessary
922     */
923    public CP getPsl38_AmountPP() { 
924                CP retVal = this.getTypedField(38, 0);
925                return retVal;
926    }
927
928
929
930    /**
931     * Returns
932     * PSL-39: "Number of TP's Technical Part" - creates it if necessary
933     */
934    public NM getNumberOfTPSTechnicalPart() { 
935                NM retVal = this.getTypedField(39, 0);
936                return retVal;
937    }
938    
939    /**
940     * Returns
941     * PSL-39: "Number of TP's Technical Part" - creates it if necessary
942     */
943    public NM getPsl39_NumberOfTPSTechnicalPart() { 
944                NM retVal = this.getTypedField(39, 0);
945                return retVal;
946    }
947
948
949
950    /**
951     * Returns
952     * PSL-40: "TP-Value Technical Part" - creates it if necessary
953     */
954    public CP getTPValueTechnicalPart() { 
955                CP retVal = this.getTypedField(40, 0);
956                return retVal;
957    }
958    
959    /**
960     * Returns
961     * PSL-40: "TP-Value Technical Part" - creates it if necessary
962     */
963    public CP getPsl40_TPValueTechnicalPart() { 
964                CP retVal = this.getTypedField(40, 0);
965                return retVal;
966    }
967
968
969
970    /**
971     * Returns
972     * PSL-41: "Internal Scaling Factor Technical Part" - creates it if necessary
973     */
974    public NM getInternalScalingFactorTechnicalPart() { 
975                NM retVal = this.getTypedField(41, 0);
976                return retVal;
977    }
978    
979    /**
980     * Returns
981     * PSL-41: "Internal Scaling Factor Technical Part" - creates it if necessary
982     */
983    public NM getPsl41_InternalScalingFactorTechnicalPart() { 
984                NM retVal = this.getTypedField(41, 0);
985                return retVal;
986    }
987
988
989
990    /**
991     * Returns
992     * PSL-42: "External Scaling Factor Technical Part" - creates it if necessary
993     */
994    public NM getExternalScalingFactorTechnicalPart() { 
995                NM retVal = this.getTypedField(42, 0);
996                return retVal;
997    }
998    
999    /**
1000     * Returns
1001     * PSL-42: "External Scaling Factor Technical Part" - creates it if necessary
1002     */
1003    public NM getPsl42_ExternalScalingFactorTechnicalPart() { 
1004                NM retVal = this.getTypedField(42, 0);
1005                return retVal;
1006    }
1007
1008
1009
1010    /**
1011     * Returns
1012     * PSL-43: "Amount Technical Part" - creates it if necessary
1013     */
1014    public CP getAmountTechnicalPart() { 
1015                CP retVal = this.getTypedField(43, 0);
1016                return retVal;
1017    }
1018    
1019    /**
1020     * Returns
1021     * PSL-43: "Amount Technical Part" - creates it if necessary
1022     */
1023    public CP getPsl43_AmountTechnicalPart() { 
1024                CP retVal = this.getTypedField(43, 0);
1025                return retVal;
1026    }
1027
1028
1029
1030    /**
1031     * Returns
1032     * PSL-44: "Total Amount Professional Part + Technical Part" - creates it if necessary
1033     */
1034    public CP getTotalAmountProfessionalPartTechnicalPart() { 
1035                CP retVal = this.getTypedField(44, 0);
1036                return retVal;
1037    }
1038    
1039    /**
1040     * Returns
1041     * PSL-44: "Total Amount Professional Part + Technical Part" - creates it if necessary
1042     */
1043    public CP getPsl44_TotalAmountProfessionalPartTechnicalPart() { 
1044                CP retVal = this.getTypedField(44, 0);
1045                return retVal;
1046    }
1047
1048
1049
1050    /**
1051     * Returns
1052     * PSL-45: "VAT-Rate" - creates it if necessary
1053     */
1054    public NM getVATRate() { 
1055                NM retVal = this.getTypedField(45, 0);
1056                return retVal;
1057    }
1058    
1059    /**
1060     * Returns
1061     * PSL-45: "VAT-Rate" - creates it if necessary
1062     */
1063    public NM getPsl45_VATRate() { 
1064                NM retVal = this.getTypedField(45, 0);
1065                return retVal;
1066    }
1067
1068
1069
1070    /**
1071     * Returns
1072     * PSL-46: "Main-Service" - creates it if necessary
1073     */
1074    public ID getMainService() { 
1075                ID retVal = this.getTypedField(46, 0);
1076                return retVal;
1077    }
1078    
1079    /**
1080     * Returns
1081     * PSL-46: "Main-Service" - creates it if necessary
1082     */
1083    public ID getPsl46_MainService() { 
1084                ID retVal = this.getTypedField(46, 0);
1085                return retVal;
1086    }
1087
1088
1089
1090    /**
1091     * Returns
1092     * PSL-47: "Validation" - creates it if necessary
1093     */
1094    public ID getValidation() { 
1095                ID retVal = this.getTypedField(47, 0);
1096                return retVal;
1097    }
1098    
1099    /**
1100     * Returns
1101     * PSL-47: "Validation" - creates it if necessary
1102     */
1103    public ID getPsl47_Validation() { 
1104                ID retVal = this.getTypedField(47, 0);
1105                return retVal;
1106    }
1107
1108
1109
1110    /**
1111     * Returns
1112     * PSL-48: "Comment" - creates it if necessary
1113     */
1114    public ST getComment() { 
1115                ST retVal = this.getTypedField(48, 0);
1116                return retVal;
1117    }
1118    
1119    /**
1120     * Returns
1121     * PSL-48: "Comment" - creates it if necessary
1122     */
1123    public ST getPsl48_Comment() { 
1124                ST retVal = this.getTypedField(48, 0);
1125                return retVal;
1126    }
1127
1128
1129
1130
1131
1132    /** {@inheritDoc} */   
1133    protected Type createNewTypeWithoutReflection(int field) {
1134       switch (field) {
1135          case 0: return new EI(getMessage());
1136          case 1: return new EI(getMessage());
1137          case 2: return new SI(getMessage());
1138          case 3: return new EI(getMessage());
1139          case 4: return new EI(getMessage());
1140          case 5: return new CWE(getMessage());
1141          case 6: return new CWE(getMessage());
1142          case 7: return new CWE(getMessage());
1143          case 8: return new ST(getMessage());
1144          case 9: return new DTM(getMessage());
1145          case 10: return new DTM(getMessage());
1146          case 11: return new CQ(getMessage());
1147          case 12: return new CP(getMessage());
1148          case 13: return new NM(getMessage());
1149          case 14: return new CP(getMessage());
1150          case 15: return new CP(getMessage());
1151          case 16: return new CWE(getMessage());
1152          case 17: return new ST(getMessage());
1153          case 18: return new EI(getMessage());
1154          case 19: return new CWE(getMessage());
1155          case 20: return new ID(getMessage(), new Integer( 532 ));
1156          case 21: return new CWE(getMessage());
1157          case 22: return new CP(getMessage());
1158          case 23: return new NM(getMessage());
1159          case 24: return new CX(getMessage());
1160          case 25: return new DR(getMessage());
1161          case 26: return new NM(getMessage());
1162          case 27: return new NM(getMessage());
1163          case 28: return new XCN(getMessage());
1164          case 29: return new XCN(getMessage());
1165          case 30: return new CWE(getMessage());
1166          case 31: return new CWE(getMessage());
1167          case 32: return new CWE(getMessage());
1168          case 33: return new NM(getMessage());
1169          case 34: return new CP(getMessage());
1170          case 35: return new NM(getMessage());
1171          case 36: return new NM(getMessage());
1172          case 37: return new CP(getMessage());
1173          case 38: return new NM(getMessage());
1174          case 39: return new CP(getMessage());
1175          case 40: return new NM(getMessage());
1176          case 41: return new NM(getMessage());
1177          case 42: return new CP(getMessage());
1178          case 43: return new CP(getMessage());
1179          case 44: return new NM(getMessage());
1180          case 45: return new ID(getMessage(), new Integer( 0 ));
1181          case 46: return new ID(getMessage(), new Integer( 136 ));
1182          case 47: return new ST(getMessage());
1183          default: return null;
1184       }
1185   }
1186
1187
1188}
1189