1 /*
2 * This class is an auto-generated source file for a HAPI
3 * HL7 v2.x standard structure class.
4 *
5 * For more information, visit: http://hl7api.sourceforge.net/
6 *
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * (the "License"); you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at http://www.mozilla.org/MPL/
10 * Software distributed under the License is distributed on an "AS IS" basis,
11 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the
12 * specific language governing rights and limitations under the License.
13 *
14 * The Original Code is "[file_name]". Description:
15 * "[one_line_description]"
16 *
17 * The Initial Developer of the Original Code is University Health Network. Copyright (C)
18 * 2012. All Rights Reserved.
19 *
20 * Contributor(s): ______________________________________.
21 *
22 * Alternatively, the contents of this file may be used under the terms of the
23 * GNU General Public License (the "GPL"), in which case the provisions of the GPL are
24 * applicable instead of those above. If you wish to allow use of your version of this
25 * file only under the terms of the GPL and not to allow others to use your version
26 * of this file under the MPL, indicate your decision by deleting the provisions above
27 * and replace them with the notice and other provisions required by the GPL License.
28 * If you do not delete the provisions above, a recipient may use your version of
29 * this file under either the MPL or the GPL.
30 *
31 */
32
33
34 package ca.uhn.hl7v2.model.v28.group;
35
36 import ca.uhn.hl7v2.model.v28.segment.*;
37
38 import ca.uhn.hl7v2.HL7Exception;
39 import ca.uhn.hl7v2.parser.ModelClassFactory;
40 import ca.uhn.hl7v2.model.*;
41
42 /**
43 * <p>Represents a CQU_I19_RESOURCE_DETAIL group structure (a Group object).
44 * A Group is an ordered collection of message segments that can repeat together or be optionally in/excluded together.
45 * This Group contains the following elements:
46 * </p>
47 * <ul>
48 * <li>1: AIS (Appointment Information) <b> choice</b></li>
49 * <li>2: AIG (Appointment Information - General Resource) <b> choice</b></li>
50 * <li>3: AIL (Appointment Information - Location Resource) <b> choice</b></li>
51 * <li>4: AIP (Appointment Information - Personnel Resource) <b> choice</b></li>
52 * <li>5: CQU_I19_RESOURCE_OBSERVATION (a Group object) <b>optional repeating </b></li>
53 * </ul>
54 * <p>
55 * Note that this structure has "choice" elements. This means that one of the
56 * structures above marked as "choice" must be present, but no more than one.
57 * </p>
58 */
59 //@SuppressWarnings("unused")
60 public class CQU_I19_RESOURCE_DETAIL extends AbstractGroup {
61
62 /**
63 * Creates a new CQU_I19_RESOURCE_DETAIL group
64 */
65 public CQU_I19_RESOURCE_DETAIL(Group parent, ModelClassFactory factory) {
66 super(parent, factory);
67 init(factory);
68 }
69
70 private void init(ModelClassFactory factory) {
71 try {
72 this.add(AIS.class, true, false, true);
73 this.add(AIG.class, true, false, true);
74 this.add(AIL.class, true, false, true);
75 this.add(AIP.class, true, false, true);
76 this.add(CQU_I19_RESOURCE_OBSERVATION.class, false, true, false);
77 } catch(HL7Exception e) {
78 log.error("Unexpected error creating CQU_I19_RESOURCE_DETAIL - this is probably a bug in the source code generator.", e);
79 }
80 }
81
82 /**
83 * Returns "2.8"
84 */
85 public String getVersion() {
86 return "2.8";
87 }
88
89
90
91 /**
92 * Returns
93 * AIS (Appointment Information) - creates it if necessary
94 */
95 public AIS getAIS() {
96 AIS retVal = getTyped("AIS", AIS.class);
97 return retVal;
98 }
99
100
101
102
103 /**
104 * Returns
105 * AIG (Appointment Information - General Resource) - creates it if necessary
106 */
107 public AIG getAIG() {
108 AIG retVal = getTyped("AIG", AIG.class);
109 return retVal;
110 }
111
112
113
114
115 /**
116 * Returns
117 * AIL (Appointment Information - Location Resource) - creates it if necessary
118 */
119 public AIL getAIL() {
120 AIL retVal = getTyped("AIL", AIL.class);
121 return retVal;
122 }
123
124
125
126
127 /**
128 * Returns
129 * AIP (Appointment Information - Personnel Resource) - creates it if necessary
130 */
131 public AIP getAIP() {
132 AIP retVal = getTyped("AIP", AIP.class);
133 return retVal;
134 }
135
136
137
138
139 /**
140 * Returns
141 * the first repetition of
142 * RESOURCE_OBSERVATION (a Group object) - creates it if necessary
143 */
144 public CQU_I19_RESOURCE_OBSERVATION getRESOURCE_OBSERVATION() {
145 CQU_I19_RESOURCE_OBSERVATION retVal = getTyped("RESOURCE_OBSERVATION", CQU_I19_RESOURCE_OBSERVATION.class);
146 return retVal;
147 }
148
149
150 /**
151 * Returns a specific repetition of
152 * RESOURCE_OBSERVATION (a Group object) - creates it if necessary
153 *
154 * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
155 * @throws HL7Exception if the repetition requested is more than one
156 * greater than the number of existing repetitions.
157 */
158 public CQU_I19_RESOURCE_OBSERVATION getRESOURCE_OBSERVATION(int rep) {
159 CQU_I19_RESOURCE_OBSERVATION retVal = getTyped("RESOURCE_OBSERVATION", rep, CQU_I19_RESOURCE_OBSERVATION.class);
160 return retVal;
161 }
162
163 /**
164 * Returns the number of existing repetitions of RESOURCE_OBSERVATION
165 */
166 public int getRESOURCE_OBSERVATIONReps() {
167 return getReps("RESOURCE_OBSERVATION");
168 }
169
170 /**
171 * <p>
172 * Returns a non-modifiable List containing all current existing repetitions of RESOURCE_OBSERVATION.
173 * <p>
174 * <p>
175 * Note that unlike {@link #getRESOURCE_OBSERVATION()}, this method will not create any reps
176 * if none are already present, so an empty list may be returned.
177 * </p>
178 */
179 public java.util.List<CQU_I19_RESOURCE_OBSERVATION> getRESOURCE_OBSERVATIONAll() throws HL7Exception {
180 return getAllAsList("RESOURCE_OBSERVATION", CQU_I19_RESOURCE_OBSERVATION.class);
181 }
182
183 /**
184 * Inserts a specific repetition of RESOURCE_OBSERVATION (a Group object)
185 * @see AbstractGroup#insertRepetition(Structure, int)
186 */
187 public void insertRESOURCE_OBSERVATION(CQU_I19_RESOURCE_OBSERVATION structure, int rep) throws HL7Exception {
188 super.insertRepetition("RESOURCE_OBSERVATION", structure, rep);
189 }
190
191
192 /**
193 * Inserts a specific repetition of RESOURCE_OBSERVATION (a Group object)
194 * @see AbstractGroup#insertRepetition(Structure, int)
195 */
196 public CQU_I19_RESOURCE_OBSERVATION insertRESOURCE_OBSERVATION(int rep) throws HL7Exception {
197 return (CQU_I19_RESOURCE_OBSERVATION)super.insertRepetition("RESOURCE_OBSERVATION", rep);
198 }
199
200
201 /**
202 * Removes a specific repetition of RESOURCE_OBSERVATION (a Group object)
203 * @see AbstractGroup#removeRepetition(String, int)
204 */
205 public CQU_I19_RESOURCE_OBSERVATION removeRESOURCE_OBSERVATION(int rep) throws HL7Exception {
206 return (CQU_I19_RESOURCE_OBSERVATION)super.removeRepetition("RESOURCE_OBSERVATION", rep);
207 }
208
209
210
211 }
212