View Javadoc
1   /*
2    * This class is an auto-generated source file for a HAPI
3    * HL7 v2.x standard structure class.
4    *
5    * For more information, visit: http://hl7api.sourceforge.net/
6    * 
7    * The contents of this file are subject to the Mozilla Public License Version 1.1 
8    * (the "License"); you may not use this file except in compliance with the License. 
9    * You may obtain a copy of the License at http://www.mozilla.org/MPL/ 
10   * Software distributed under the License is distributed on an "AS IS" basis, 
11   * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the 
12   * specific language governing rights and limitations under the License. 
13   * 
14   * The Original Code is "[file_name]".  Description: 
15   * "[one_line_description]" 
16   * 
17   * The Initial Developer of the Original Code is University Health Network. Copyright (C) 
18   * 2012.  All Rights Reserved. 
19   * 
20   * Contributor(s): ______________________________________. 
21   * 
22   * Alternatively, the contents of this file may be used under the terms of the 
23   * GNU General Public License (the  "GPL"), in which case the provisions of the GPL are 
24   * applicable instead of those above.  If you wish to allow use of your version of this 
25   * file only under the terms of the GPL and not to allow others to use your version 
26   * of this file under the MPL, indicate your decision by deleting  the provisions above 
27   * and replace  them with the notice and other provisions required by the GPL License.  
28   * If you do not delete the provisions above, a recipient may use your version of 
29   * this file under either the MPL or the GPL. 
30   * 
31   */
32  
33  
34  package ca.uhn.hl7v2.model.v27.segment;
35  
36  // import ca.uhn.hl7v2.model.v27.group.*;
37  import ca.uhn.hl7v2.model.v27.datatype.*;
38  import ca.uhn.hl7v2.HL7Exception;
39  import ca.uhn.hl7v2.parser.ModelClassFactory;
40  import ca.uhn.hl7v2.parser.DefaultModelClassFactory;
41  import ca.uhn.hl7v2.model.AbstractMessage;
42  import ca.uhn.hl7v2.model.Group;
43  import ca.uhn.hl7v2.model.Type;
44  import ca.uhn.hl7v2.model.AbstractSegment;
45  import ca.uhn.hl7v2.model.Varies;
46  
47  
48  /**
49   *<p>Represents an HL7 PMT message segment (Payment Information). 
50   * This segment has the following fields:</p>
51   * <ul>
52       * <li>PMT-1: Payment/Remittance Advice Number (EI) <b> </b>
53       * <li>PMT-2: Payment/Remittance Effective Date/Time (DTM) <b> </b>
54       * <li>PMT-3: Payment/Remittance Expiration Date/Time (DTM) <b> </b>
55       * <li>PMT-4: Payment Method (CWE) <b> </b>
56       * <li>PMT-5: Payment/Remittance Date/Time (DTM) <b> </b>
57       * <li>PMT-6: Payment/Remittance Amount (CP) <b> </b>
58       * <li>PMT-7: Check Number (EI) <b>optional </b>
59       * <li>PMT-8: Payee Bank Identification (XON) <b>optional </b>
60       * <li>PMT-9: Payee Transit Number (ST) <b>optional </b>
61       * <li>PMT-10: Payee Bank Account ID (CX) <b>optional </b>
62       * <li>PMT-11: Payment Organization (XON) <b> </b>
63       * <li>PMT-12: ESR-Code-Line (ST) <b>optional </b>
64   * </ul>
65   */
66  @SuppressWarnings("unused")
67  public class PMT extends AbstractSegment {
68  
69      /** 
70       * Creates a new PMT segment
71       */
72      public PMT(Group parent, ModelClassFactory factory) {
73         super(parent, factory);
74         init(factory);
75      }
76  
77      private void init(ModelClassFactory factory) {
78         try {
79                                    this.add(EI.class, true, 1, 0, new Object[]{ getMessage() }, "Payment/Remittance Advice Number");
80                                    this.add(DTM.class, true, 1, 0, new Object[]{ getMessage() }, "Payment/Remittance Effective Date/Time");
81                                    this.add(DTM.class, true, 1, 0, new Object[]{ getMessage() }, "Payment/Remittance Expiration Date/Time");
82                                    this.add(CWE.class, true, 1, 0, new Object[]{ getMessage() }, "Payment Method");
83                                    this.add(DTM.class, true, 1, 0, new Object[]{ getMessage() }, "Payment/Remittance Date/Time");
84                                    this.add(CP.class, true, 1, 0, new Object[]{ getMessage() }, "Payment/Remittance Amount");
85                                    this.add(EI.class, false, 1, 0, new Object[]{ getMessage() }, "Check Number");
86                                    this.add(XON.class, false, 1, 0, new Object[]{ getMessage() }, "Payee Bank Identification");
87                                    this.add(ST.class, false, 1, 0, new Object[]{ getMessage() }, "Payee Transit Number");
88                                    this.add(CX.class, false, 1, 0, new Object[]{ getMessage() }, "Payee Bank Account ID");
89                                    this.add(XON.class, true, 1, 0, new Object[]{ getMessage() }, "Payment Organization");
90                                    this.add(ST.class, false, 1, 0, new Object[]{ getMessage() }, "ESR-Code-Line");
91         } catch(HL7Exception e) {
92            log.error("Unexpected error creating PMT - this is probably a bug in the source code generator.", e);
93         }
94      }
95  
96  
97  
98      /**
99       * Returns
100      * PMT-1: "Payment/Remittance Advice Number" - creates it if necessary
101      */
102     public EI getPaymentRemittanceAdviceNumber() { 
103 		EI retVal = this.getTypedField(1, 0);
104 		return retVal;
105     }
106     
107     /**
108      * Returns
109      * PMT-1: "Payment/Remittance Advice Number" - creates it if necessary
110      */
111     public EI getPmt1_PaymentRemittanceAdviceNumber() { 
112 		EI retVal = this.getTypedField(1, 0);
113 		return retVal;
114     }
115 
116 
117 
118     /**
119      * Returns
120      * PMT-2: "Payment/Remittance Effective Date/Time" - creates it if necessary
121      */
122     public DTM getPaymentRemittanceEffectiveDateTime() { 
123 		DTM retVal = this.getTypedField(2, 0);
124 		return retVal;
125     }
126     
127     /**
128      * Returns
129      * PMT-2: "Payment/Remittance Effective Date/Time" - creates it if necessary
130      */
131     public DTM getPmt2_PaymentRemittanceEffectiveDateTime() { 
132 		DTM retVal = this.getTypedField(2, 0);
133 		return retVal;
134     }
135 
136 
137 
138     /**
139      * Returns
140      * PMT-3: "Payment/Remittance Expiration Date/Time" - creates it if necessary
141      */
142     public DTM getPaymentRemittanceExpirationDateTime() { 
143 		DTM retVal = this.getTypedField(3, 0);
144 		return retVal;
145     }
146     
147     /**
148      * Returns
149      * PMT-3: "Payment/Remittance Expiration Date/Time" - creates it if necessary
150      */
151     public DTM getPmt3_PaymentRemittanceExpirationDateTime() { 
152 		DTM retVal = this.getTypedField(3, 0);
153 		return retVal;
154     }
155 
156 
157 
158     /**
159      * Returns
160      * PMT-4: "Payment Method" - creates it if necessary
161      */
162     public CWE getPaymentMethod() { 
163 		CWE retVal = this.getTypedField(4, 0);
164 		return retVal;
165     }
166     
167     /**
168      * Returns
169      * PMT-4: "Payment Method" - creates it if necessary
170      */
171     public CWE getPmt4_PaymentMethod() { 
172 		CWE retVal = this.getTypedField(4, 0);
173 		return retVal;
174     }
175 
176 
177 
178     /**
179      * Returns
180      * PMT-5: "Payment/Remittance Date/Time" - creates it if necessary
181      */
182     public DTM getPaymentRemittanceDateTime() { 
183 		DTM retVal = this.getTypedField(5, 0);
184 		return retVal;
185     }
186     
187     /**
188      * Returns
189      * PMT-5: "Payment/Remittance Date/Time" - creates it if necessary
190      */
191     public DTM getPmt5_PaymentRemittanceDateTime() { 
192 		DTM retVal = this.getTypedField(5, 0);
193 		return retVal;
194     }
195 
196 
197 
198     /**
199      * Returns
200      * PMT-6: "Payment/Remittance Amount" - creates it if necessary
201      */
202     public CP getPaymentRemittanceAmount() { 
203 		CP retVal = this.getTypedField(6, 0);
204 		return retVal;
205     }
206     
207     /**
208      * Returns
209      * PMT-6: "Payment/Remittance Amount" - creates it if necessary
210      */
211     public CP getPmt6_PaymentRemittanceAmount() { 
212 		CP retVal = this.getTypedField(6, 0);
213 		return retVal;
214     }
215 
216 
217 
218     /**
219      * Returns
220      * PMT-7: "Check Number" - creates it if necessary
221      */
222     public EI getCheckNumber() { 
223 		EI retVal = this.getTypedField(7, 0);
224 		return retVal;
225     }
226     
227     /**
228      * Returns
229      * PMT-7: "Check Number" - creates it if necessary
230      */
231     public EI getPmt7_CheckNumber() { 
232 		EI retVal = this.getTypedField(7, 0);
233 		return retVal;
234     }
235 
236 
237 
238     /**
239      * Returns
240      * PMT-8: "Payee Bank Identification" - creates it if necessary
241      */
242     public XON getPayeeBankIdentification() { 
243 		XON retVal = this.getTypedField(8, 0);
244 		return retVal;
245     }
246     
247     /**
248      * Returns
249      * PMT-8: "Payee Bank Identification" - creates it if necessary
250      */
251     public XON getPmt8_PayeeBankIdentification() { 
252 		XON retVal = this.getTypedField(8, 0);
253 		return retVal;
254     }
255 
256 
257 
258     /**
259      * Returns
260      * PMT-9: "Payee Transit Number" - creates it if necessary
261      */
262     public ST getPayeeTransitNumber() { 
263 		ST retVal = this.getTypedField(9, 0);
264 		return retVal;
265     }
266     
267     /**
268      * Returns
269      * PMT-9: "Payee Transit Number" - creates it if necessary
270      */
271     public ST getPmt9_PayeeTransitNumber() { 
272 		ST retVal = this.getTypedField(9, 0);
273 		return retVal;
274     }
275 
276 
277 
278     /**
279      * Returns
280      * PMT-10: "Payee Bank Account ID" - creates it if necessary
281      */
282     public CX getPayeeBankAccountID() { 
283 		CX retVal = this.getTypedField(10, 0);
284 		return retVal;
285     }
286     
287     /**
288      * Returns
289      * PMT-10: "Payee Bank Account ID" - creates it if necessary
290      */
291     public CX getPmt10_PayeeBankAccountID() { 
292 		CX retVal = this.getTypedField(10, 0);
293 		return retVal;
294     }
295 
296 
297 
298     /**
299      * Returns
300      * PMT-11: "Payment Organization" - creates it if necessary
301      */
302     public XON getPaymentOrganization() { 
303 		XON retVal = this.getTypedField(11, 0);
304 		return retVal;
305     }
306     
307     /**
308      * Returns
309      * PMT-11: "Payment Organization" - creates it if necessary
310      */
311     public XON getPmt11_PaymentOrganization() { 
312 		XON retVal = this.getTypedField(11, 0);
313 		return retVal;
314     }
315 
316 
317 
318     /**
319      * Returns
320      * PMT-12: "ESR-Code-Line" - creates it if necessary
321      */
322     public ST getESRCodeLine() { 
323 		ST retVal = this.getTypedField(12, 0);
324 		return retVal;
325     }
326     
327     /**
328      * Returns
329      * PMT-12: "ESR-Code-Line" - creates it if necessary
330      */
331     public ST getPmt12_ESRCodeLine() { 
332 		ST retVal = this.getTypedField(12, 0);
333 		return retVal;
334     }
335 
336 
337 
338 
339 
340     /** {@inheritDoc} */   
341     protected Type createNewTypeWithoutReflection(int field) {
342        switch (field) {
343           case 0: return new EI(getMessage());
344           case 1: return new DTM(getMessage());
345           case 2: return new DTM(getMessage());
346           case 3: return new CWE(getMessage());
347           case 4: return new DTM(getMessage());
348           case 5: return new CP(getMessage());
349           case 6: return new EI(getMessage());
350           case 7: return new XON(getMessage());
351           case 8: return new ST(getMessage());
352           case 9: return new CX(getMessage());
353           case 10: return new XON(getMessage());
354           case 11: return new ST(getMessage());
355           default: return null;
356        }
357    }
358 
359 
360 }
361