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.v21.segment;
35  
36  // import ca.uhn.hl7v2.model.v21.group.*;
37  import ca.uhn.hl7v2.model.v21.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 PR1 message segment (PROCEDURES). 
50   * This segment has the following fields:</p>
51   * <ul>
52       * <li>PR1-1: SET ID - PROCEDURE (SI) <b> repeating</b>
53       * <li>PR1-2: PROCEDURE CODING METHOD. (ID) <b> </b>
54       * <li>PR1-3: PROCEDURE CODE (ID) <b> </b>
55       * <li>PR1-4: PROCEDURE DESCRIPTION (ST) <b>optional </b>
56       * <li>PR1-5: PROCEDURE DATE/TIME (TS) <b> </b>
57       * <li>PR1-6: PROCEDURE TYPE (ID) <b> </b>
58       * <li>PR1-7: PROCEDURE MINUTES (NM) <b>optional </b>
59       * <li>PR1-8: ANESTHESIOLOGIST (CN) <b>optional </b>
60       * <li>PR1-9: ANESTHESIA CODE (ID) <b>optional </b>
61       * <li>PR1-10: ANESTHESIA MINUTES (NM) <b>optional </b>
62       * <li>PR1-11: SURGEON (CN) <b>optional </b>
63       * <li>PR1-12: RESIDENT CODE (CN) <b>optional </b>
64       * <li>PR1-13: CONSENT CODE (ID) <b>optional </b>
65   * </ul>
66   */
67  @SuppressWarnings("unused")
68  public class PR1 extends AbstractSegment {
69  
70      /** 
71       * Creates a new PR1 segment
72       */
73      public PR1(Group parent, ModelClassFactory factory) {
74         super(parent, factory);
75         init(factory);
76      }
77  
78      private void init(ModelClassFactory factory) {
79         try {
80                                    this.add(SI.class, true, 0, 4, new Object[]{ getMessage() }, "SET ID - PROCEDURE");
81                                                this.add(ID.class, true, 1, 2, new Object[]{ getMessage(), new Integer(89) }, "PROCEDURE CODING METHOD.");
82                                                this.add(ID.class, true, 1, 10, new Object[]{ getMessage(), new Integer(88) }, "PROCEDURE CODE");
83                                    this.add(ST.class, false, 1, 40, new Object[]{ getMessage() }, "PROCEDURE DESCRIPTION");
84                                    this.add(TS.class, true, 1, 19, new Object[]{ getMessage() }, "PROCEDURE DATE/TIME");
85                                                this.add(ID.class, true, 1, 2, new Object[]{ getMessage(), new Integer(90) }, "PROCEDURE TYPE");
86                                    this.add(NM.class, false, 1, 4, new Object[]{ getMessage() }, "PROCEDURE MINUTES");
87                                    this.add(CN.class, false, 1, 60, new Object[]{ getMessage() }, "ANESTHESIOLOGIST");
88                                                this.add(ID.class, false, 1, 2, new Object[]{ getMessage(), new Integer(19) }, "ANESTHESIA CODE");
89                                    this.add(NM.class, false, 1, 4, new Object[]{ getMessage() }, "ANESTHESIA MINUTES");
90                                    this.add(CN.class, false, 1, 60, new Object[]{ getMessage() }, "SURGEON");
91                                    this.add(CN.class, false, 1, 60, new Object[]{ getMessage() }, "RESIDENT CODE");
92                                                this.add(ID.class, false, 1, 2, new Object[]{ getMessage(), new Integer(59) }, "CONSENT CODE");
93         } catch(HL7Exception e) {
94            log.error("Unexpected error creating PR1 - this is probably a bug in the source code generator.", e);
95         }
96      }
97  
98  
99      /**
100      * Returns all repetitions of SET ID - PROCEDURE (PR1-1).
101      */
102     public SI[] getSETIDPROCEDURE() {
103     	SI[] retVal = this.getTypedField(1, new SI[0]);
104     	return retVal;
105     }
106 
107 
108     /**
109      * Returns all repetitions of SET ID - PROCEDURE (PR1-1).
110      */
111     public SI[] getPr11_SETIDPROCEDURE() {
112     	SI[] retVal = this.getTypedField(1, new SI[0]);
113     	return retVal;
114     }
115 
116 
117     /**
118      * Returns a count of the current number of repetitions of SET ID - PROCEDURE (PR1-1).
119      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
120      * it will return zero.
121      */
122     public int getSETIDPROCEDUREReps() {
123     	return this.getReps(1);
124     }
125 
126 
127     /**
128      * Returns a specific repetition of
129      * PR1-1: "SET ID - PROCEDURE" - creates it if necessary
130      *
131      * @param rep The repetition index (0-indexed)
132      */
133     public SI getSETIDPROCEDURE(int rep) { 
134 		SI retVal = this.getTypedField(1, rep);
135 		return retVal;
136     }
137 
138     /**
139      * Returns a specific repetition of
140      * PR1-1: "SET ID - PROCEDURE" - creates it if necessary
141      *
142      * @param rep The repetition index (0-indexed)
143      */
144     public SI getPr11_SETIDPROCEDURE(int rep) { 
145 		SI retVal = this.getTypedField(1, rep);
146 		return retVal;
147     }
148 
149     /**
150      * Returns a count of the current number of repetitions of SET ID - PROCEDURE (PR1-1).
151      * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
152      * it will return zero.
153      */
154     public int getPr11_SETIDPROCEDUREReps() {
155     	return this.getReps(1);
156     }
157 
158 
159     /**
160      * Inserts a repetition of
161      * PR1-1: "SET ID - PROCEDURE" at a specific index
162      *
163      * @param rep The repetition index (0-indexed)
164      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
165      */
166     public SI insertSETIDPROCEDURE(int rep) throws HL7Exception { 
167         return (SI) super.insertRepetition(1, rep);
168     }
169 
170 
171     /**
172      * Inserts a repetition of
173      * PR1-1: "SET ID - PROCEDURE" at a specific index
174      *
175      * @param rep The repetition index (0-indexed)
176      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
177      */
178     public SI insertPr11_SETIDPROCEDURE(int rep) throws HL7Exception { 
179         return (SI) super.insertRepetition(1, rep);
180     }
181 
182 
183     /**
184      * Removes a repetition of
185      * PR1-1: "SET ID - PROCEDURE" at a specific index
186      *
187      * @param rep The repetition index (0-indexed)
188      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
189      */
190     public SI removeSETIDPROCEDURE(int rep) throws HL7Exception { 
191         return (SI) super.removeRepetition(1, rep);
192     }
193 
194 
195     /**
196      * Removes a repetition of
197      * PR1-1: "SET ID - PROCEDURE" at a specific index
198      *
199      * @param rep The repetition index (0-indexed)
200      * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
201      */
202     public SI removePr11_SETIDPROCEDURE(int rep) throws HL7Exception { 
203         return (SI) super.removeRepetition(1, rep);
204     }
205 
206 
207 
208 
209     /**
210      * Returns
211      * PR1-2: "PROCEDURE CODING METHOD." - creates it if necessary
212      */
213     public ID getPROCEDURECODINGMETHOD() { 
214 		ID retVal = this.getTypedField(2, 0);
215 		return retVal;
216     }
217     
218     /**
219      * Returns
220      * PR1-2: "PROCEDURE CODING METHOD." - creates it if necessary
221      */
222     public ID getPr12_PROCEDURECODINGMETHOD() { 
223 		ID retVal = this.getTypedField(2, 0);
224 		return retVal;
225     }
226 
227 
228 
229     /**
230      * Returns
231      * PR1-3: "PROCEDURE CODE" - creates it if necessary
232      */
233     public ID getPROCEDURECODE() { 
234 		ID retVal = this.getTypedField(3, 0);
235 		return retVal;
236     }
237     
238     /**
239      * Returns
240      * PR1-3: "PROCEDURE CODE" - creates it if necessary
241      */
242     public ID getPr13_PROCEDURECODE() { 
243 		ID retVal = this.getTypedField(3, 0);
244 		return retVal;
245     }
246 
247 
248 
249     /**
250      * Returns
251      * PR1-4: "PROCEDURE DESCRIPTION" - creates it if necessary
252      */
253     public ST getPROCEDUREDESCRIPTION() { 
254 		ST retVal = this.getTypedField(4, 0);
255 		return retVal;
256     }
257     
258     /**
259      * Returns
260      * PR1-4: "PROCEDURE DESCRIPTION" - creates it if necessary
261      */
262     public ST getPr14_PROCEDUREDESCRIPTION() { 
263 		ST retVal = this.getTypedField(4, 0);
264 		return retVal;
265     }
266 
267 
268 
269     /**
270      * Returns
271      * PR1-5: "PROCEDURE DATE/TIME" - creates it if necessary
272      */
273     public TS getPROCEDUREDATETIME() { 
274 		TS retVal = this.getTypedField(5, 0);
275 		return retVal;
276     }
277     
278     /**
279      * Returns
280      * PR1-5: "PROCEDURE DATE/TIME" - creates it if necessary
281      */
282     public TS getPr15_PROCEDUREDATETIME() { 
283 		TS retVal = this.getTypedField(5, 0);
284 		return retVal;
285     }
286 
287 
288 
289     /**
290      * Returns
291      * PR1-6: "PROCEDURE TYPE" - creates it if necessary
292      */
293     public ID getPROCEDURETYPE() { 
294 		ID retVal = this.getTypedField(6, 0);
295 		return retVal;
296     }
297     
298     /**
299      * Returns
300      * PR1-6: "PROCEDURE TYPE" - creates it if necessary
301      */
302     public ID getPr16_PROCEDURETYPE() { 
303 		ID retVal = this.getTypedField(6, 0);
304 		return retVal;
305     }
306 
307 
308 
309     /**
310      * Returns
311      * PR1-7: "PROCEDURE MINUTES" - creates it if necessary
312      */
313     public NM getPROCEDUREMINUTES() { 
314 		NM retVal = this.getTypedField(7, 0);
315 		return retVal;
316     }
317     
318     /**
319      * Returns
320      * PR1-7: "PROCEDURE MINUTES" - creates it if necessary
321      */
322     public NM getPr17_PROCEDUREMINUTES() { 
323 		NM retVal = this.getTypedField(7, 0);
324 		return retVal;
325     }
326 
327 
328 
329     /**
330      * Returns
331      * PR1-8: "ANESTHESIOLOGIST" - creates it if necessary
332      */
333     public CN getANESTHESIOLOGIST() { 
334 		CN retVal = this.getTypedField(8, 0);
335 		return retVal;
336     }
337     
338     /**
339      * Returns
340      * PR1-8: "ANESTHESIOLOGIST" - creates it if necessary
341      */
342     public CN getPr18_ANESTHESIOLOGIST() { 
343 		CN retVal = this.getTypedField(8, 0);
344 		return retVal;
345     }
346 
347 
348 
349     /**
350      * Returns
351      * PR1-9: "ANESTHESIA CODE" - creates it if necessary
352      */
353     public ID getANESTHESIACODE() { 
354 		ID retVal = this.getTypedField(9, 0);
355 		return retVal;
356     }
357     
358     /**
359      * Returns
360      * PR1-9: "ANESTHESIA CODE" - creates it if necessary
361      */
362     public ID getPr19_ANESTHESIACODE() { 
363 		ID retVal = this.getTypedField(9, 0);
364 		return retVal;
365     }
366 
367 
368 
369     /**
370      * Returns
371      * PR1-10: "ANESTHESIA MINUTES" - creates it if necessary
372      */
373     public NM getANESTHESIAMINUTES() { 
374 		NM retVal = this.getTypedField(10, 0);
375 		return retVal;
376     }
377     
378     /**
379      * Returns
380      * PR1-10: "ANESTHESIA MINUTES" - creates it if necessary
381      */
382     public NM getPr110_ANESTHESIAMINUTES() { 
383 		NM retVal = this.getTypedField(10, 0);
384 		return retVal;
385     }
386 
387 
388 
389     /**
390      * Returns
391      * PR1-11: "SURGEON" - creates it if necessary
392      */
393     public CN getSURGEON() { 
394 		CN retVal = this.getTypedField(11, 0);
395 		return retVal;
396     }
397     
398     /**
399      * Returns
400      * PR1-11: "SURGEON" - creates it if necessary
401      */
402     public CN getPr111_SURGEON() { 
403 		CN retVal = this.getTypedField(11, 0);
404 		return retVal;
405     }
406 
407 
408 
409     /**
410      * Returns
411      * PR1-12: "RESIDENT CODE" - creates it if necessary
412      */
413     public CN getRESIDENTCODE() { 
414 		CN retVal = this.getTypedField(12, 0);
415 		return retVal;
416     }
417     
418     /**
419      * Returns
420      * PR1-12: "RESIDENT CODE" - creates it if necessary
421      */
422     public CN getPr112_RESIDENTCODE() { 
423 		CN retVal = this.getTypedField(12, 0);
424 		return retVal;
425     }
426 
427 
428 
429     /**
430      * Returns
431      * PR1-13: "CONSENT CODE" - creates it if necessary
432      */
433     public ID getCONSENTCODE() { 
434 		ID retVal = this.getTypedField(13, 0);
435 		return retVal;
436     }
437     
438     /**
439      * Returns
440      * PR1-13: "CONSENT CODE" - creates it if necessary
441      */
442     public ID getPr113_CONSENTCODE() { 
443 		ID retVal = this.getTypedField(13, 0);
444 		return retVal;
445     }
446 
447 
448 
449 
450 
451     /** {@inheritDoc} */   
452     protected Type createNewTypeWithoutReflection(int field) {
453        switch (field) {
454           case 0: return new SI(getMessage());
455           case 1: return new ID(getMessage(), new Integer( 89 ));
456           case 2: return new ID(getMessage(), new Integer( 88 ));
457           case 3: return new ST(getMessage());
458           case 4: return new TS(getMessage());
459           case 5: return new ID(getMessage(), new Integer( 90 ));
460           case 6: return new NM(getMessage());
461           case 7: return new CN(getMessage());
462           case 8: return new ID(getMessage(), new Integer( 19 ));
463           case 9: return new NM(getMessage());
464           case 10: return new CN(getMessage());
465           case 11: return new CN(getMessage());
466           case 12: return new ID(getMessage(), new Integer( 59 ));
467           default: return null;
468        }
469    }
470 
471 
472 }
473