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 "XCN.java".  Description:
15   * "Composite class XCN"
16   * 
17   * The Initial Developer of the Original Code is University Health Network. Copyright (C) 
18   * 2013.  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  package ca.uhn.hl7v2.model.v24.datatype;
34  
35  import ca.uhn.hl7v2.model.DataTypeException;
36  import ca.uhn.hl7v2.model.Message;
37  import ca.uhn.hl7v2.model.Type;
38  import ca.uhn.hl7v2.model.AbstractComposite;
39  
40  
41  /**
42   * <p>Represents an HL7 XCN (extended composite ID number and name for persons) data type. 
43   * This type consists of the following components:</p>
44   * <ul>
45   * <li>ID number (ST) (ST)
46   * <li>family name (FN)
47   * <li>given name (ST)
48   * <li>second and further given names or initials thereof (ST)
49   * <li>suffix (e.g., JR or III) (ST)
50   * <li>prefix (e.g., DR) (ST)
51   * <li>degree (e.g., MD) (IS)
52   * <li>source table (IS)
53   * <li>assigning authority (HD)
54   * <li>name type code (ID)
55   * <li>identifier check digit (ST)
56   * <li>code identifying the check digit scheme employed (ID)
57   * <li>identifier type code (IS) (IS)
58   * <li>assigning facility (HD)
59   * <li>Name Representation code (ID)
60   * <li>name context (CE)
61   * <li>name validity range (DR)
62   * <li>name assembly order (ID)
63   * </ul>
64   */
65  @SuppressWarnings("unused")
66  public class XCN extends AbstractComposite {
67  
68      private Type[] data;
69  
70      /** 
71       * Creates a new XCN type
72       */
73      public XCN(Message message) {
74          super(message);
75          init();
76      }
77  
78      private void init() {
79          data = new Type[18];    
80          data[0] = new ST(getMessage());
81          data[1] = new FN(getMessage());
82          data[2] = new ST(getMessage());
83          data[3] = new ST(getMessage());
84          data[4] = new ST(getMessage());
85          data[5] = new ST(getMessage());
86          data[6] = new IS(getMessage(), 0);
87          data[7] = new IS(getMessage(), 0);
88          data[8] = new HD(getMessage());
89          data[9] = new ID(getMessage(), 0);
90          data[10] = new ST(getMessage());
91          data[11] = new ID(getMessage(), 0);
92          data[12] = new IS(getMessage(), 0);
93          data[13] = new HD(getMessage());
94          data[14] = new ID(getMessage(), 0);
95          data[15] = new CE(getMessage());
96          data[16] = new DR(getMessage());
97          data[17] = new ID(getMessage(), 0);
98      }
99  
100 
101     /**
102      * Returns an array containing the data elements.
103      */
104     public Type[] getComponents() { 
105         return this.data; 
106     }
107 
108     /**
109      * Returns an individual data component.
110      *
111      * @param number The component number (0-indexed)
112      * @throws DataTypeException if the given element number is out of range.
113      */
114     public Type getComponent(int number) throws DataTypeException { 
115 
116         try { 
117             return this.data[number]; 
118         } catch (ArrayIndexOutOfBoundsException e) { 
119             throw new DataTypeException("Element " + number + " doesn't exist (Type " + getClass().getName() + " has only " + this.data.length + " components)"); 
120         } 
121     } 
122 
123 
124     /**
125      * Returns ID number (ST) (component 1).  This is a convenience method that saves you from 
126      * casting and handling an exception.
127      */
128     public ST getIDNumber() {
129        return getTyped(0, ST.class);
130     }
131 
132     
133     /**
134      * Returns ID number (ST) (component 1).  This is a convenience method that saves you from 
135      * casting and handling an exception.
136      */
137     public ST getXcn1_IDNumber() {
138        return getTyped(0, ST.class);
139     }
140 
141 
142     /**
143      * Returns family name (component 2).  This is a convenience method that saves you from 
144      * casting and handling an exception.
145      */
146     public FN getFamilyName() {
147        return getTyped(1, FN.class);
148     }
149 
150     
151     /**
152      * Returns family name (component 2).  This is a convenience method that saves you from 
153      * casting and handling an exception.
154      */
155     public FN getXcn2_FamilyName() {
156        return getTyped(1, FN.class);
157     }
158 
159 
160     /**
161      * Returns given name (component 3).  This is a convenience method that saves you from 
162      * casting and handling an exception.
163      */
164     public ST getGivenName() {
165        return getTyped(2, ST.class);
166     }
167 
168     
169     /**
170      * Returns given name (component 3).  This is a convenience method that saves you from 
171      * casting and handling an exception.
172      */
173     public ST getXcn3_GivenName() {
174        return getTyped(2, ST.class);
175     }
176 
177 
178     /**
179      * Returns second and further given names or initials thereof (component 4).  This is a convenience method that saves you from 
180      * casting and handling an exception.
181      */
182     public ST getSecondAndFurtherGivenNamesOrInitialsThereof() {
183        return getTyped(3, ST.class);
184     }
185 
186     
187     /**
188      * Returns second and further given names or initials thereof (component 4).  This is a convenience method that saves you from 
189      * casting and handling an exception.
190      */
191     public ST getXcn4_SecondAndFurtherGivenNamesOrInitialsThereof() {
192        return getTyped(3, ST.class);
193     }
194 
195 
196     /**
197      * Returns suffix (e.g., JR or III) (component 5).  This is a convenience method that saves you from 
198      * casting and handling an exception.
199      */
200     public ST getSuffixEgJRorIII() {
201        return getTyped(4, ST.class);
202     }
203 
204     
205     /**
206      * Returns suffix (e.g., JR or III) (component 5).  This is a convenience method that saves you from 
207      * casting and handling an exception.
208      */
209     public ST getXcn5_SuffixEgJRorIII() {
210        return getTyped(4, ST.class);
211     }
212 
213 
214     /**
215      * Returns prefix (e.g., DR) (component 6).  This is a convenience method that saves you from 
216      * casting and handling an exception.
217      */
218     public ST getPrefixEgDR() {
219        return getTyped(5, ST.class);
220     }
221 
222     
223     /**
224      * Returns prefix (e.g., DR) (component 6).  This is a convenience method that saves you from 
225      * casting and handling an exception.
226      */
227     public ST getXcn6_PrefixEgDR() {
228        return getTyped(5, ST.class);
229     }
230 
231 
232     /**
233      * Returns degree (e.g., MD) (component 7).  This is a convenience method that saves you from 
234      * casting and handling an exception.
235      */
236     public IS getDegreeEgMD() {
237        return getTyped(6, IS.class);
238     }
239 
240     
241     /**
242      * Returns degree (e.g., MD) (component 7).  This is a convenience method that saves you from 
243      * casting and handling an exception.
244      */
245     public IS getXcn7_DegreeEgMD() {
246        return getTyped(6, IS.class);
247     }
248 
249 
250     /**
251      * Returns source table (component 8).  This is a convenience method that saves you from 
252      * casting and handling an exception.
253      */
254     public IS getSourceTable() {
255        return getTyped(7, IS.class);
256     }
257 
258     
259     /**
260      * Returns source table (component 8).  This is a convenience method that saves you from 
261      * casting and handling an exception.
262      */
263     public IS getXcn8_SourceTable() {
264        return getTyped(7, IS.class);
265     }
266 
267 
268     /**
269      * Returns assigning authority (component 9).  This is a convenience method that saves you from 
270      * casting and handling an exception.
271      */
272     public HD getAssigningAuthority() {
273        return getTyped(8, HD.class);
274     }
275 
276     
277     /**
278      * Returns assigning authority (component 9).  This is a convenience method that saves you from 
279      * casting and handling an exception.
280      */
281     public HD getXcn9_AssigningAuthority() {
282        return getTyped(8, HD.class);
283     }
284 
285 
286     /**
287      * Returns name type code (component 10).  This is a convenience method that saves you from 
288      * casting and handling an exception.
289      */
290     public ID getNameTypeCode() {
291        return getTyped(9, ID.class);
292     }
293 
294     
295     /**
296      * Returns name type code (component 10).  This is a convenience method that saves you from 
297      * casting and handling an exception.
298      */
299     public ID getXcn10_NameTypeCode() {
300        return getTyped(9, ID.class);
301     }
302 
303 
304     /**
305      * Returns identifier check digit (component 11).  This is a convenience method that saves you from 
306      * casting and handling an exception.
307      */
308     public ST getIdentifierCheckDigit() {
309        return getTyped(10, ST.class);
310     }
311 
312     
313     /**
314      * Returns identifier check digit (component 11).  This is a convenience method that saves you from 
315      * casting and handling an exception.
316      */
317     public ST getXcn11_IdentifierCheckDigit() {
318        return getTyped(10, ST.class);
319     }
320 
321 
322     /**
323      * Returns code identifying the check digit scheme employed (component 12).  This is a convenience method that saves you from 
324      * casting and handling an exception.
325      */
326     public ID getCodeIdentifyingTheCheckDigitSchemeEmployed() {
327        return getTyped(11, ID.class);
328     }
329 
330     
331     /**
332      * Returns code identifying the check digit scheme employed (component 12).  This is a convenience method that saves you from 
333      * casting and handling an exception.
334      */
335     public ID getXcn12_CodeIdentifyingTheCheckDigitSchemeEmployed() {
336        return getTyped(11, ID.class);
337     }
338 
339 
340     /**
341      * Returns identifier type code (IS) (component 13).  This is a convenience method that saves you from 
342      * casting and handling an exception.
343      */
344     public IS getIdentifierTypeCode() {
345        return getTyped(12, IS.class);
346     }
347 
348     
349     /**
350      * Returns identifier type code (IS) (component 13).  This is a convenience method that saves you from 
351      * casting and handling an exception.
352      */
353     public IS getXcn13_IdentifierTypeCode() {
354        return getTyped(12, IS.class);
355     }
356 
357 
358     /**
359      * Returns assigning facility (component 14).  This is a convenience method that saves you from 
360      * casting and handling an exception.
361      */
362     public HD getAssigningFacility() {
363        return getTyped(13, HD.class);
364     }
365 
366     
367     /**
368      * Returns assigning facility (component 14).  This is a convenience method that saves you from 
369      * casting and handling an exception.
370      */
371     public HD getXcn14_AssigningFacility() {
372        return getTyped(13, HD.class);
373     }
374 
375 
376     /**
377      * Returns Name Representation code (component 15).  This is a convenience method that saves you from 
378      * casting and handling an exception.
379      */
380     public ID getNameRepresentationCode() {
381        return getTyped(14, ID.class);
382     }
383 
384     
385     /**
386      * Returns Name Representation code (component 15).  This is a convenience method that saves you from 
387      * casting and handling an exception.
388      */
389     public ID getXcn15_NameRepresentationCode() {
390        return getTyped(14, ID.class);
391     }
392 
393 
394     /**
395      * Returns name context (component 16).  This is a convenience method that saves you from 
396      * casting and handling an exception.
397      */
398     public CE getNameContext() {
399        return getTyped(15, CE.class);
400     }
401 
402     
403     /**
404      * Returns name context (component 16).  This is a convenience method that saves you from 
405      * casting and handling an exception.
406      */
407     public CE getXcn16_NameContext() {
408        return getTyped(15, CE.class);
409     }
410 
411 
412     /**
413      * Returns name validity range (component 17).  This is a convenience method that saves you from 
414      * casting and handling an exception.
415      */
416     public DR getNameValidityRange() {
417        return getTyped(16, DR.class);
418     }
419 
420     
421     /**
422      * Returns name validity range (component 17).  This is a convenience method that saves you from 
423      * casting and handling an exception.
424      */
425     public DR getXcn17_NameValidityRange() {
426        return getTyped(16, DR.class);
427     }
428 
429 
430     /**
431      * Returns name assembly order (component 18).  This is a convenience method that saves you from 
432      * casting and handling an exception.
433      */
434     public ID getNameAssemblyOrder() {
435        return getTyped(17, ID.class);
436     }
437 
438     
439     /**
440      * Returns name assembly order (component 18).  This is a convenience method that saves you from 
441      * casting and handling an exception.
442      */
443     public ID getXcn18_NameAssemblyOrder() {
444        return getTyped(17, ID.class);
445     }
446 
447 
448 
449 }
450