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