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