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.v231.segment;
035
036// import ca.uhn.hl7v2.model.v231.group.*;
037import ca.uhn.hl7v2.model.v231.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 FAC message segment (FAC - facility segment). 
049 * This segment has the following fields:</p>
050 * <ul>
051     * <li>FAC-1: Facility ID-FAC (EI) <b> </b>
052     * <li>FAC-2: Facility Type (ID) <b>optional </b>
053     * <li>FAC-3: Facility Address (XAD) <b> repeating</b>
054     * <li>FAC-4: Facility Telecommunication (XTN) <b> </b>
055     * <li>FAC-5: Contact Person (XCN) <b>optional repeating</b>
056     * <li>FAC-6: Contact Title (ST) <b>optional repeating</b>
057     * <li>FAC-7: Contact Address (XAD) <b>optional repeating</b>
058     * <li>FAC-8: Contact Telecommunication (XTN) <b>optional repeating</b>
059     * <li>FAC-9: Signature Authority (XCN) <b> repeating</b>
060     * <li>FAC-10: Signature Authority Title (ST) <b>optional </b>
061     * <li>FAC-11: Signature Authority Address (XAD) <b>optional repeating</b>
062     * <li>FAC-12: Signature Authority Telecommunication (XTN) <b>optional </b>
063 * </ul>
064 */
065@SuppressWarnings("unused")
066public class FAC extends AbstractSegment {
067
068    /** 
069     * Creates a new FAC segment
070     */
071    public FAC(Group parent, ModelClassFactory factory) {
072       super(parent, factory);
073       init(factory);
074    }
075
076    private void init(ModelClassFactory factory) {
077       try {
078                                  this.add(EI.class, true, 1, 20, new Object[]{ getMessage() }, "Facility ID-FAC");
079                                              this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(331) }, "Facility Type");
080                                  this.add(XAD.class, true, 0, 200, new Object[]{ getMessage() }, "Facility Address");
081                                  this.add(XTN.class, true, 1, 44, new Object[]{ getMessage() }, "Facility Telecommunication");
082                                  this.add(XCN.class, false, 0, 60, new Object[]{ getMessage() }, "Contact Person");
083                                  this.add(ST.class, false, 0, 60, new Object[]{ getMessage() }, "Contact Title");
084                                  this.add(XAD.class, false, 0, 200, new Object[]{ getMessage() }, "Contact Address");
085                                  this.add(XTN.class, false, 0, 44, new Object[]{ getMessage() }, "Contact Telecommunication");
086                                  this.add(XCN.class, true, 0, 60, new Object[]{ getMessage() }, "Signature Authority");
087                                  this.add(ST.class, false, 1, 60, new Object[]{ getMessage() }, "Signature Authority Title");
088                                  this.add(XAD.class, false, 0, 200, new Object[]{ getMessage() }, "Signature Authority Address");
089                                  this.add(XTN.class, false, 1, 44, new Object[]{ getMessage() }, "Signature Authority Telecommunication");
090       } catch(HL7Exception e) {
091          log.error("Unexpected error creating FAC - this is probably a bug in the source code generator.", e);
092       }
093    }
094
095
096
097    /**
098     * Returns
099     * FAC-1: "Facility ID-FAC" - creates it if necessary
100     */
101    public EI getFacilityIDFAC() { 
102                EI retVal = this.getTypedField(1, 0);
103                return retVal;
104    }
105    
106    /**
107     * Returns
108     * FAC-1: "Facility ID-FAC" - creates it if necessary
109     */
110    public EI getFac1_FacilityIDFAC() { 
111                EI retVal = this.getTypedField(1, 0);
112                return retVal;
113    }
114
115
116
117    /**
118     * Returns
119     * FAC-2: "Facility Type" - creates it if necessary
120     */
121    public ID getFacilityType() { 
122                ID retVal = this.getTypedField(2, 0);
123                return retVal;
124    }
125    
126    /**
127     * Returns
128     * FAC-2: "Facility Type" - creates it if necessary
129     */
130    public ID getFac2_FacilityType() { 
131                ID retVal = this.getTypedField(2, 0);
132                return retVal;
133    }
134
135
136    /**
137     * Returns all repetitions of Facility Address (FAC-3).
138     */
139    public XAD[] getFacilityAddress() {
140        XAD[] retVal = this.getTypedField(3, new XAD[0]);
141        return retVal;
142    }
143
144
145    /**
146     * Returns all repetitions of Facility Address (FAC-3).
147     */
148    public XAD[] getFac3_FacilityAddress() {
149        XAD[] retVal = this.getTypedField(3, new XAD[0]);
150        return retVal;
151    }
152
153
154    /**
155     * Returns a count of the current number of repetitions of Facility Address (FAC-3).
156     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
157     * it will return zero.
158     */
159    public int getFacilityAddressReps() {
160        return this.getReps(3);
161    }
162
163
164    /**
165     * Returns a specific repetition of
166     * FAC-3: "Facility Address" - creates it if necessary
167     *
168     * @param rep The repetition index (0-indexed)
169     */
170    public XAD getFacilityAddress(int rep) { 
171                XAD retVal = this.getTypedField(3, rep);
172                return retVal;
173    }
174
175    /**
176     * Returns a specific repetition of
177     * FAC-3: "Facility Address" - creates it if necessary
178     *
179     * @param rep The repetition index (0-indexed)
180     */
181    public XAD getFac3_FacilityAddress(int rep) { 
182                XAD retVal = this.getTypedField(3, rep);
183                return retVal;
184    }
185
186    /**
187     * Returns a count of the current number of repetitions of Facility Address (FAC-3).
188     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
189     * it will return zero.
190     */
191    public int getFac3_FacilityAddressReps() {
192        return this.getReps(3);
193    }
194
195
196    /**
197     * Inserts a repetition of
198     * FAC-3: "Facility Address" at a specific index
199     *
200     * @param rep The repetition index (0-indexed)
201     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
202     */
203    public XAD insertFacilityAddress(int rep) throws HL7Exception { 
204        return (XAD) super.insertRepetition(3, rep);
205    }
206
207
208    /**
209     * Inserts a repetition of
210     * FAC-3: "Facility Address" at a specific index
211     *
212     * @param rep The repetition index (0-indexed)
213     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
214     */
215    public XAD insertFac3_FacilityAddress(int rep) throws HL7Exception { 
216        return (XAD) super.insertRepetition(3, rep);
217    }
218
219
220    /**
221     * Removes a repetition of
222     * FAC-3: "Facility Address" at a specific index
223     *
224     * @param rep The repetition index (0-indexed)
225     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
226     */
227    public XAD removeFacilityAddress(int rep) throws HL7Exception { 
228        return (XAD) super.removeRepetition(3, rep);
229    }
230
231
232    /**
233     * Removes a repetition of
234     * FAC-3: "Facility Address" at a specific index
235     *
236     * @param rep The repetition index (0-indexed)
237     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
238     */
239    public XAD removeFac3_FacilityAddress(int rep) throws HL7Exception { 
240        return (XAD) super.removeRepetition(3, rep);
241    }
242
243
244
245
246    /**
247     * Returns
248     * FAC-4: "Facility Telecommunication" - creates it if necessary
249     */
250    public XTN getFacilityTelecommunication() { 
251                XTN retVal = this.getTypedField(4, 0);
252                return retVal;
253    }
254    
255    /**
256     * Returns
257     * FAC-4: "Facility Telecommunication" - creates it if necessary
258     */
259    public XTN getFac4_FacilityTelecommunication() { 
260                XTN retVal = this.getTypedField(4, 0);
261                return retVal;
262    }
263
264
265    /**
266     * Returns all repetitions of Contact Person (FAC-5).
267     */
268    public XCN[] getContactPerson() {
269        XCN[] retVal = this.getTypedField(5, new XCN[0]);
270        return retVal;
271    }
272
273
274    /**
275     * Returns all repetitions of Contact Person (FAC-5).
276     */
277    public XCN[] getFac5_ContactPerson() {
278        XCN[] retVal = this.getTypedField(5, new XCN[0]);
279        return retVal;
280    }
281
282
283    /**
284     * Returns a count of the current number of repetitions of Contact Person (FAC-5).
285     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
286     * it will return zero.
287     */
288    public int getContactPersonReps() {
289        return this.getReps(5);
290    }
291
292
293    /**
294     * Returns a specific repetition of
295     * FAC-5: "Contact Person" - creates it if necessary
296     *
297     * @param rep The repetition index (0-indexed)
298     */
299    public XCN getContactPerson(int rep) { 
300                XCN retVal = this.getTypedField(5, rep);
301                return retVal;
302    }
303
304    /**
305     * Returns a specific repetition of
306     * FAC-5: "Contact Person" - creates it if necessary
307     *
308     * @param rep The repetition index (0-indexed)
309     */
310    public XCN getFac5_ContactPerson(int rep) { 
311                XCN retVal = this.getTypedField(5, rep);
312                return retVal;
313    }
314
315    /**
316     * Returns a count of the current number of repetitions of Contact Person (FAC-5).
317     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
318     * it will return zero.
319     */
320    public int getFac5_ContactPersonReps() {
321        return this.getReps(5);
322    }
323
324
325    /**
326     * Inserts a repetition of
327     * FAC-5: "Contact Person" at a specific index
328     *
329     * @param rep The repetition index (0-indexed)
330     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
331     */
332    public XCN insertContactPerson(int rep) throws HL7Exception { 
333        return (XCN) super.insertRepetition(5, rep);
334    }
335
336
337    /**
338     * Inserts a repetition of
339     * FAC-5: "Contact Person" at a specific index
340     *
341     * @param rep The repetition index (0-indexed)
342     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
343     */
344    public XCN insertFac5_ContactPerson(int rep) throws HL7Exception { 
345        return (XCN) super.insertRepetition(5, rep);
346    }
347
348
349    /**
350     * Removes a repetition of
351     * FAC-5: "Contact Person" at a specific index
352     *
353     * @param rep The repetition index (0-indexed)
354     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
355     */
356    public XCN removeContactPerson(int rep) throws HL7Exception { 
357        return (XCN) super.removeRepetition(5, rep);
358    }
359
360
361    /**
362     * Removes a repetition of
363     * FAC-5: "Contact Person" at a specific index
364     *
365     * @param rep The repetition index (0-indexed)
366     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
367     */
368    public XCN removeFac5_ContactPerson(int rep) throws HL7Exception { 
369        return (XCN) super.removeRepetition(5, rep);
370    }
371
372
373
374    /**
375     * Returns all repetitions of Contact Title (FAC-6).
376     */
377    public ST[] getContactTitle() {
378        ST[] retVal = this.getTypedField(6, new ST[0]);
379        return retVal;
380    }
381
382
383    /**
384     * Returns all repetitions of Contact Title (FAC-6).
385     */
386    public ST[] getFac6_ContactTitle() {
387        ST[] retVal = this.getTypedField(6, new ST[0]);
388        return retVal;
389    }
390
391
392    /**
393     * Returns a count of the current number of repetitions of Contact Title (FAC-6).
394     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
395     * it will return zero.
396     */
397    public int getContactTitleReps() {
398        return this.getReps(6);
399    }
400
401
402    /**
403     * Returns a specific repetition of
404     * FAC-6: "Contact Title" - creates it if necessary
405     *
406     * @param rep The repetition index (0-indexed)
407     */
408    public ST getContactTitle(int rep) { 
409                ST retVal = this.getTypedField(6, rep);
410                return retVal;
411    }
412
413    /**
414     * Returns a specific repetition of
415     * FAC-6: "Contact Title" - creates it if necessary
416     *
417     * @param rep The repetition index (0-indexed)
418     */
419    public ST getFac6_ContactTitle(int rep) { 
420                ST retVal = this.getTypedField(6, rep);
421                return retVal;
422    }
423
424    /**
425     * Returns a count of the current number of repetitions of Contact Title (FAC-6).
426     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
427     * it will return zero.
428     */
429    public int getFac6_ContactTitleReps() {
430        return this.getReps(6);
431    }
432
433
434    /**
435     * Inserts a repetition of
436     * FAC-6: "Contact Title" at a specific index
437     *
438     * @param rep The repetition index (0-indexed)
439     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
440     */
441    public ST insertContactTitle(int rep) throws HL7Exception { 
442        return (ST) super.insertRepetition(6, rep);
443    }
444
445
446    /**
447     * Inserts a repetition of
448     * FAC-6: "Contact Title" at a specific index
449     *
450     * @param rep The repetition index (0-indexed)
451     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
452     */
453    public ST insertFac6_ContactTitle(int rep) throws HL7Exception { 
454        return (ST) super.insertRepetition(6, rep);
455    }
456
457
458    /**
459     * Removes a repetition of
460     * FAC-6: "Contact Title" at a specific index
461     *
462     * @param rep The repetition index (0-indexed)
463     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
464     */
465    public ST removeContactTitle(int rep) throws HL7Exception { 
466        return (ST) super.removeRepetition(6, rep);
467    }
468
469
470    /**
471     * Removes a repetition of
472     * FAC-6: "Contact Title" at a specific index
473     *
474     * @param rep The repetition index (0-indexed)
475     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
476     */
477    public ST removeFac6_ContactTitle(int rep) throws HL7Exception { 
478        return (ST) super.removeRepetition(6, rep);
479    }
480
481
482
483    /**
484     * Returns all repetitions of Contact Address (FAC-7).
485     */
486    public XAD[] getContactAddress() {
487        XAD[] retVal = this.getTypedField(7, new XAD[0]);
488        return retVal;
489    }
490
491
492    /**
493     * Returns all repetitions of Contact Address (FAC-7).
494     */
495    public XAD[] getFac7_ContactAddress() {
496        XAD[] retVal = this.getTypedField(7, new XAD[0]);
497        return retVal;
498    }
499
500
501    /**
502     * Returns a count of the current number of repetitions of Contact Address (FAC-7).
503     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
504     * it will return zero.
505     */
506    public int getContactAddressReps() {
507        return this.getReps(7);
508    }
509
510
511    /**
512     * Returns a specific repetition of
513     * FAC-7: "Contact Address" - creates it if necessary
514     *
515     * @param rep The repetition index (0-indexed)
516     */
517    public XAD getContactAddress(int rep) { 
518                XAD retVal = this.getTypedField(7, rep);
519                return retVal;
520    }
521
522    /**
523     * Returns a specific repetition of
524     * FAC-7: "Contact Address" - creates it if necessary
525     *
526     * @param rep The repetition index (0-indexed)
527     */
528    public XAD getFac7_ContactAddress(int rep) { 
529                XAD retVal = this.getTypedField(7, rep);
530                return retVal;
531    }
532
533    /**
534     * Returns a count of the current number of repetitions of Contact Address (FAC-7).
535     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
536     * it will return zero.
537     */
538    public int getFac7_ContactAddressReps() {
539        return this.getReps(7);
540    }
541
542
543    /**
544     * Inserts a repetition of
545     * FAC-7: "Contact Address" at a specific index
546     *
547     * @param rep The repetition index (0-indexed)
548     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
549     */
550    public XAD insertContactAddress(int rep) throws HL7Exception { 
551        return (XAD) super.insertRepetition(7, rep);
552    }
553
554
555    /**
556     * Inserts a repetition of
557     * FAC-7: "Contact Address" at a specific index
558     *
559     * @param rep The repetition index (0-indexed)
560     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
561     */
562    public XAD insertFac7_ContactAddress(int rep) throws HL7Exception { 
563        return (XAD) super.insertRepetition(7, rep);
564    }
565
566
567    /**
568     * Removes a repetition of
569     * FAC-7: "Contact Address" at a specific index
570     *
571     * @param rep The repetition index (0-indexed)
572     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
573     */
574    public XAD removeContactAddress(int rep) throws HL7Exception { 
575        return (XAD) super.removeRepetition(7, rep);
576    }
577
578
579    /**
580     * Removes a repetition of
581     * FAC-7: "Contact Address" at a specific index
582     *
583     * @param rep The repetition index (0-indexed)
584     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
585     */
586    public XAD removeFac7_ContactAddress(int rep) throws HL7Exception { 
587        return (XAD) super.removeRepetition(7, rep);
588    }
589
590
591
592    /**
593     * Returns all repetitions of Contact Telecommunication (FAC-8).
594     */
595    public XTN[] getContactTelecommunication() {
596        XTN[] retVal = this.getTypedField(8, new XTN[0]);
597        return retVal;
598    }
599
600
601    /**
602     * Returns all repetitions of Contact Telecommunication (FAC-8).
603     */
604    public XTN[] getFac8_ContactTelecommunication() {
605        XTN[] retVal = this.getTypedField(8, new XTN[0]);
606        return retVal;
607    }
608
609
610    /**
611     * Returns a count of the current number of repetitions of Contact Telecommunication (FAC-8).
612     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
613     * it will return zero.
614     */
615    public int getContactTelecommunicationReps() {
616        return this.getReps(8);
617    }
618
619
620    /**
621     * Returns a specific repetition of
622     * FAC-8: "Contact Telecommunication" - creates it if necessary
623     *
624     * @param rep The repetition index (0-indexed)
625     */
626    public XTN getContactTelecommunication(int rep) { 
627                XTN retVal = this.getTypedField(8, rep);
628                return retVal;
629    }
630
631    /**
632     * Returns a specific repetition of
633     * FAC-8: "Contact Telecommunication" - creates it if necessary
634     *
635     * @param rep The repetition index (0-indexed)
636     */
637    public XTN getFac8_ContactTelecommunication(int rep) { 
638                XTN retVal = this.getTypedField(8, rep);
639                return retVal;
640    }
641
642    /**
643     * Returns a count of the current number of repetitions of Contact Telecommunication (FAC-8).
644     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
645     * it will return zero.
646     */
647    public int getFac8_ContactTelecommunicationReps() {
648        return this.getReps(8);
649    }
650
651
652    /**
653     * Inserts a repetition of
654     * FAC-8: "Contact Telecommunication" at a specific index
655     *
656     * @param rep The repetition index (0-indexed)
657     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
658     */
659    public XTN insertContactTelecommunication(int rep) throws HL7Exception { 
660        return (XTN) super.insertRepetition(8, rep);
661    }
662
663
664    /**
665     * Inserts a repetition of
666     * FAC-8: "Contact Telecommunication" at a specific index
667     *
668     * @param rep The repetition index (0-indexed)
669     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
670     */
671    public XTN insertFac8_ContactTelecommunication(int rep) throws HL7Exception { 
672        return (XTN) super.insertRepetition(8, rep);
673    }
674
675
676    /**
677     * Removes a repetition of
678     * FAC-8: "Contact Telecommunication" at a specific index
679     *
680     * @param rep The repetition index (0-indexed)
681     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
682     */
683    public XTN removeContactTelecommunication(int rep) throws HL7Exception { 
684        return (XTN) super.removeRepetition(8, rep);
685    }
686
687
688    /**
689     * Removes a repetition of
690     * FAC-8: "Contact Telecommunication" at a specific index
691     *
692     * @param rep The repetition index (0-indexed)
693     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
694     */
695    public XTN removeFac8_ContactTelecommunication(int rep) throws HL7Exception { 
696        return (XTN) super.removeRepetition(8, rep);
697    }
698
699
700
701    /**
702     * Returns all repetitions of Signature Authority (FAC-9).
703     */
704    public XCN[] getSignatureAuthority() {
705        XCN[] retVal = this.getTypedField(9, new XCN[0]);
706        return retVal;
707    }
708
709
710    /**
711     * Returns all repetitions of Signature Authority (FAC-9).
712     */
713    public XCN[] getFac9_SignatureAuthority() {
714        XCN[] retVal = this.getTypedField(9, new XCN[0]);
715        return retVal;
716    }
717
718
719    /**
720     * Returns a count of the current number of repetitions of Signature Authority (FAC-9).
721     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
722     * it will return zero.
723     */
724    public int getSignatureAuthorityReps() {
725        return this.getReps(9);
726    }
727
728
729    /**
730     * Returns a specific repetition of
731     * FAC-9: "Signature Authority" - creates it if necessary
732     *
733     * @param rep The repetition index (0-indexed)
734     */
735    public XCN getSignatureAuthority(int rep) { 
736                XCN retVal = this.getTypedField(9, rep);
737                return retVal;
738    }
739
740    /**
741     * Returns a specific repetition of
742     * FAC-9: "Signature Authority" - creates it if necessary
743     *
744     * @param rep The repetition index (0-indexed)
745     */
746    public XCN getFac9_SignatureAuthority(int rep) { 
747                XCN retVal = this.getTypedField(9, rep);
748                return retVal;
749    }
750
751    /**
752     * Returns a count of the current number of repetitions of Signature Authority (FAC-9).
753     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
754     * it will return zero.
755     */
756    public int getFac9_SignatureAuthorityReps() {
757        return this.getReps(9);
758    }
759
760
761    /**
762     * Inserts a repetition of
763     * FAC-9: "Signature Authority" at a specific index
764     *
765     * @param rep The repetition index (0-indexed)
766     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
767     */
768    public XCN insertSignatureAuthority(int rep) throws HL7Exception { 
769        return (XCN) super.insertRepetition(9, rep);
770    }
771
772
773    /**
774     * Inserts a repetition of
775     * FAC-9: "Signature Authority" at a specific index
776     *
777     * @param rep The repetition index (0-indexed)
778     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
779     */
780    public XCN insertFac9_SignatureAuthority(int rep) throws HL7Exception { 
781        return (XCN) super.insertRepetition(9, rep);
782    }
783
784
785    /**
786     * Removes a repetition of
787     * FAC-9: "Signature Authority" at a specific index
788     *
789     * @param rep The repetition index (0-indexed)
790     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
791     */
792    public XCN removeSignatureAuthority(int rep) throws HL7Exception { 
793        return (XCN) super.removeRepetition(9, rep);
794    }
795
796
797    /**
798     * Removes a repetition of
799     * FAC-9: "Signature Authority" at a specific index
800     *
801     * @param rep The repetition index (0-indexed)
802     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
803     */
804    public XCN removeFac9_SignatureAuthority(int rep) throws HL7Exception { 
805        return (XCN) super.removeRepetition(9, rep);
806    }
807
808
809
810
811    /**
812     * Returns
813     * FAC-10: "Signature Authority Title" - creates it if necessary
814     */
815    public ST getSignatureAuthorityTitle() { 
816                ST retVal = this.getTypedField(10, 0);
817                return retVal;
818    }
819    
820    /**
821     * Returns
822     * FAC-10: "Signature Authority Title" - creates it if necessary
823     */
824    public ST getFac10_SignatureAuthorityTitle() { 
825                ST retVal = this.getTypedField(10, 0);
826                return retVal;
827    }
828
829
830    /**
831     * Returns all repetitions of Signature Authority Address (FAC-11).
832     */
833    public XAD[] getSignatureAuthorityAddress() {
834        XAD[] retVal = this.getTypedField(11, new XAD[0]);
835        return retVal;
836    }
837
838
839    /**
840     * Returns all repetitions of Signature Authority Address (FAC-11).
841     */
842    public XAD[] getFac11_SignatureAuthorityAddress() {
843        XAD[] retVal = this.getTypedField(11, new XAD[0]);
844        return retVal;
845    }
846
847
848    /**
849     * Returns a count of the current number of repetitions of Signature Authority Address (FAC-11).
850     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
851     * it will return zero.
852     */
853    public int getSignatureAuthorityAddressReps() {
854        return this.getReps(11);
855    }
856
857
858    /**
859     * Returns a specific repetition of
860     * FAC-11: "Signature Authority Address" - creates it if necessary
861     *
862     * @param rep The repetition index (0-indexed)
863     */
864    public XAD getSignatureAuthorityAddress(int rep) { 
865                XAD retVal = this.getTypedField(11, rep);
866                return retVal;
867    }
868
869    /**
870     * Returns a specific repetition of
871     * FAC-11: "Signature Authority Address" - creates it if necessary
872     *
873     * @param rep The repetition index (0-indexed)
874     */
875    public XAD getFac11_SignatureAuthorityAddress(int rep) { 
876                XAD retVal = this.getTypedField(11, rep);
877                return retVal;
878    }
879
880    /**
881     * Returns a count of the current number of repetitions of Signature Authority Address (FAC-11).
882     * This method does not create a repetition, so if no repetitions have currently been defined or accessed,
883     * it will return zero.
884     */
885    public int getFac11_SignatureAuthorityAddressReps() {
886        return this.getReps(11);
887    }
888
889
890    /**
891     * Inserts a repetition of
892     * FAC-11: "Signature Authority Address" at a specific index
893     *
894     * @param rep The repetition index (0-indexed)
895     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
896     */
897    public XAD insertSignatureAuthorityAddress(int rep) throws HL7Exception { 
898        return (XAD) super.insertRepetition(11, rep);
899    }
900
901
902    /**
903     * Inserts a repetition of
904     * FAC-11: "Signature Authority Address" at a specific index
905     *
906     * @param rep The repetition index (0-indexed)
907     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
908     */
909    public XAD insertFac11_SignatureAuthorityAddress(int rep) throws HL7Exception { 
910        return (XAD) super.insertRepetition(11, rep);
911    }
912
913
914    /**
915     * Removes a repetition of
916     * FAC-11: "Signature Authority Address" at a specific index
917     *
918     * @param rep The repetition index (0-indexed)
919     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
920     */
921    public XAD removeSignatureAuthorityAddress(int rep) throws HL7Exception { 
922        return (XAD) super.removeRepetition(11, rep);
923    }
924
925
926    /**
927     * Removes a repetition of
928     * FAC-11: "Signature Authority Address" at a specific index
929     *
930     * @param rep The repetition index (0-indexed)
931     * @throws HL7Exception If the rep is invalid (below 0, or too high for the allowable repetitions)
932     */
933    public XAD removeFac11_SignatureAuthorityAddress(int rep) throws HL7Exception { 
934        return (XAD) super.removeRepetition(11, rep);
935    }
936
937
938
939
940    /**
941     * Returns
942     * FAC-12: "Signature Authority Telecommunication" - creates it if necessary
943     */
944    public XTN getSignatureAuthorityTelecommunication() { 
945                XTN retVal = this.getTypedField(12, 0);
946                return retVal;
947    }
948    
949    /**
950     * Returns
951     * FAC-12: "Signature Authority Telecommunication" - creates it if necessary
952     */
953    public XTN getFac12_SignatureAuthorityTelecommunication() { 
954                XTN retVal = this.getTypedField(12, 0);
955                return retVal;
956    }
957
958
959
960
961
962    /** {@inheritDoc} */   
963    protected Type createNewTypeWithoutReflection(int field) {
964       switch (field) {
965          case 0: return new EI(getMessage());
966          case 1: return new ID(getMessage(), new Integer( 331 ));
967          case 2: return new XAD(getMessage());
968          case 3: return new XTN(getMessage());
969          case 4: return new XCN(getMessage());
970          case 5: return new ST(getMessage());
971          case 6: return new XAD(getMessage());
972          case 7: return new XTN(getMessage());
973          case 8: return new XCN(getMessage());
974          case 9: return new ST(getMessage());
975          case 10: return new XAD(getMessage());
976          case 11: return new XTN(getMessage());
977          default: return null;
978       }
979   }
980
981
982}
983