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.v251.message;
35
36 import ca.uhn.hl7v2.model.v251.group.*;
37 import ca.uhn.hl7v2.model.v251.segment.*;
38
39 import ca.uhn.hl7v2.HL7Exception;
40 import ca.uhn.hl7v2.parser.ModelClassFactory;
41 import ca.uhn.hl7v2.parser.DefaultModelClassFactory;
42 import ca.uhn.hl7v2.model.*;
43
44
45 /**
46 * <p>Represents a CSU_C09 message structure (see chapter 7.7.2). This structure contains the
47 * following elements: </p>
48 * <ul>
49 * <li>1: MSH (Message Header) <b> </b> </li>
50 * <li>2: SFT (Software Segment) <b>optional repeating</b> </li>
51 * <li>3: CSU_C09_PATIENT (a Group object) <b> repeating</b> </li>
52 * </ul>
53 */
54 //@SuppressWarnings("unused")
55 public class CSU_C09 extends AbstractMessage {
56
57 /**
58 * Creates a new CSU_C09 message with DefaultModelClassFactory.
59 */
60 public CSU_C09() {
61 this(new DefaultModelClassFactory());
62 }
63
64 /**
65 * Creates a new CSU_C09 message with custom ModelClassFactory.
66 */
67 public CSU_C09(ModelClassFactory factory) {
68 super(factory);
69 init(factory);
70 }
71
72 private void init(ModelClassFactory factory) {
73 try {
74 this.add(MSH.class, true, false);
75 this.add(SFT.class, false, true);
76 this.add(CSU_C09_PATIENT.class, true, true);
77 } catch(HL7Exception e) {
78 log.error("Unexpected error creating CSU_C09 - this is probably a bug in the source code generator.", e);
79 }
80 }
81
82
83 /**
84 * Returns "2.5.1"
85 */
86 public String getVersion() {
87 return "2.5.1";
88 }
89
90
91
92
93 /**
94 * <p>
95 * Returns
96 * MSH (Message Header) - creates it if necessary
97 * </p>
98 *
99 *
100 */
101 public MSH getMSH() {
102 return getTyped("MSH", MSH.class);
103 }
104
105
106
107
108
109 /**
110 * <p>
111 * Returns
112 * the first repetition of
113 * SFT (Software Segment) - creates it if necessary
114 * </p>
115 *
116 *
117 */
118 public SFT getSFT() {
119 return getTyped("SFT", SFT.class);
120 }
121
122
123 /**
124 * <p>
125 * Returns a specific repetition of
126 * SFT (Software Segment) - creates it if necessary
127 * </p>
128 *
129 *
130 * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
131 * @throws HL7Exception if the repetition requested is more than one
132 * greater than the number of existing repetitions.
133 */
134 public SFT getSFT(int rep) {
135 return getTyped("SFT", rep, SFT.class);
136 }
137
138 /**
139 * <p>
140 * Returns the number of existing repetitions of SFT
141 * </p>
142 *
143 */
144 public int getSFTReps() {
145 return getReps("SFT");
146 }
147
148 /**
149 * <p>
150 * Returns a non-modifiable List containing all current existing repetitions of SFT.
151 * <p>
152 * <p>
153 * Note that unlike {@link #getSFT()}, this method will not create any reps
154 * if none are already present, so an empty list may be returned.
155 * </p>
156 *
157 */
158 public java.util.List<SFT> getSFTAll() throws HL7Exception {
159 return getAllAsList("SFT", SFT.class);
160 }
161
162 /**
163 * <p>
164 * Inserts a specific repetition of SFT (Software Segment)
165 * </p>
166 *
167 *
168 * @see AbstractGroup#insertRepetition(Structure, int)
169 */
170 public void insertSFT(SFT structure, int rep) throws HL7Exception {
171 super.insertRepetition( "SFT", structure, rep);
172 }
173
174
175 /**
176 * <p>
177 * Inserts a specific repetition of SFT (Software Segment)
178 * </p>
179 *
180 *
181 * @see AbstractGroup#insertRepetition(Structure, int)
182 */
183 public SFT insertSFT(int rep) throws HL7Exception {
184 return (SFT)super.insertRepetition("SFT", rep);
185 }
186
187
188 /**
189 * <p>
190 * Removes a specific repetition of SFT (Software Segment)
191 * </p>
192 *
193 *
194 * @see AbstractGroup#removeRepetition(String, int)
195 */
196 public SFT removeSFT(int rep) throws HL7Exception {
197 return (SFT)super.removeRepetition("SFT", rep);
198 }
199
200
201
202
203 /**
204 * <p>
205 * Returns
206 * the first repetition of
207 * PATIENT (a Group object) - creates it if necessary
208 * </p>
209 *
210 *
211 */
212 public CSU_C09_PATIENT getPATIENT() {
213 return getTyped("PATIENT", CSU_C09_PATIENT.class);
214 }
215
216
217 /**
218 * <p>
219 * Returns a specific repetition of
220 * PATIENT (a Group object) - creates it if necessary
221 * </p>
222 *
223 *
224 * @param rep The repetition index (0-indexed, i.e. the first repetition is at index 0)
225 * @throws HL7Exception if the repetition requested is more than one
226 * greater than the number of existing repetitions.
227 */
228 public CSU_C09_PATIENT getPATIENT(int rep) {
229 return getTyped("PATIENT", rep, CSU_C09_PATIENT.class);
230 }
231
232 /**
233 * <p>
234 * Returns the number of existing repetitions of PATIENT
235 * </p>
236 *
237 */
238 public int getPATIENTReps() {
239 return getReps("PATIENT");
240 }
241
242 /**
243 * <p>
244 * Returns a non-modifiable List containing all current existing repetitions of PATIENT.
245 * <p>
246 * <p>
247 * Note that unlike {@link #getPATIENT()}, this method will not create any reps
248 * if none are already present, so an empty list may be returned.
249 * </p>
250 *
251 */
252 public java.util.List<CSU_C09_PATIENT> getPATIENTAll() throws HL7Exception {
253 return getAllAsList("PATIENT", CSU_C09_PATIENT.class);
254 }
255
256 /**
257 * <p>
258 * Inserts a specific repetition of PATIENT (a Group object)
259 * </p>
260 *
261 *
262 * @see AbstractGroup#insertRepetition(Structure, int)
263 */
264 public void insertPATIENT(CSU_C09_PATIENT structure, int rep) throws HL7Exception {
265 super.insertRepetition( "PATIENT", structure, rep);
266 }
267
268
269 /**
270 * <p>
271 * Inserts a specific repetition of PATIENT (a Group object)
272 * </p>
273 *
274 *
275 * @see AbstractGroup#insertRepetition(Structure, int)
276 */
277 public CSU_C09_PATIENT insertPATIENT(int rep) throws HL7Exception {
278 return (CSU_C09_PATIENT)super.insertRepetition("PATIENT", rep);
279 }
280
281
282 /**
283 * <p>
284 * Removes a specific repetition of PATIENT (a Group object)
285 * </p>
286 *
287 *
288 * @see AbstractGroup#removeRepetition(String, int)
289 */
290 public CSU_C09_PATIENT removePATIENT(int rep) throws HL7Exception {
291 return (CSU_C09_PATIENT)super.removeRepetition("PATIENT", rep);
292 }
293
294
295
296 }
297