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