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
008 package ca.uhn.hl7v2.model.v24.segment;
009
010 // import ca.uhn.hl7v2.model.v24.group.*;
011 import ca.uhn.hl7v2.model.v24.datatype.*;
012 import ca.uhn.log.HapiLogFactory;
013 import ca.uhn.hl7v2.HL7Exception;
014 import ca.uhn.hl7v2.parser.ModelClassFactory;
015 import ca.uhn.hl7v2.parser.DefaultModelClassFactory;
016 import ca.uhn.hl7v2.model.AbstractMessage;
017 import ca.uhn.hl7v2.model.Group;
018 import ca.uhn.hl7v2.model.Type;
019 import ca.uhn.hl7v2.model.AbstractSegment;
020 import ca.uhn.hl7v2.model.Varies;
021
022 /**
023 *<p>Represents an HL7 CSP message segment (Clinical Study Phase).
024 * This segment has the following fields:</p>
025 * <ul>
026 * <li>CSP-1: Study Phase Identifier (CE) <b> </b>
027 * <li>CSP-2: Date/time Study Phase Began (TS) <b> </b>
028 * <li>CSP-3: Date/time Study Phase Ended (TS) <b>optional </b>
029 * <li>CSP-4: Study Phase Evaluability (CE) <b>optional </b>
030 * </ul>
031 */
032 public class CSP extends AbstractSegment {
033
034 /**
035 * Creates a new CSP segment
036 */
037 public CSP(Group parent, ModelClassFactory factory) {
038 super(parent, factory);
039 init(factory);
040 }
041
042 private void init(ModelClassFactory factory) {
043 try {
044 this.add(CE.class, true, 1, 250, new Object[]{ getMessage(), new Integer(0) }, "Study Phase Identifier");
045 this.add(TS.class, true, 1, 26, new Object[]{ getMessage(), new Integer(0) }, "Date/time Study Phase Began");
046 this.add(TS.class, false, 1, 26, new Object[]{ getMessage(), new Integer(0) }, "Date/time Study Phase Ended");
047 this.add(CE.class, false, 1, 250, new Object[]{ getMessage(), new Integer(0) }, "Study Phase Evaluability");
048 } catch(HL7Exception e) {
049 HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected error creating CSP - this is probably a bug in the source code generator.", e);
050 }
051 }
052
053
054
055 /**
056 * Returns
057 * CSP-1: "Study Phase Identifier" - creates it if necessary
058 */
059 public CE getStudyPhaseIdentifier() {
060 CE ret = null;
061 try {
062 Type t = this.getField(1, 0);
063 ret = (CE)t;
064 } catch (ClassCastException cce) {
065 HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value. This is a bug.", cce);
066 throw new RuntimeException(cce);
067 } catch (HL7Exception he) {
068 HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value. This is a bug.", he);
069 throw new RuntimeException(he);
070 }
071 return ret;
072 }
073
074
075 /**
076 * Returns
077 * CSP-1: "Study Phase Identifier" - creates it if necessary
078 */
079 public CE getCsp1_StudyPhaseIdentifier() {
080 CE ret = null;
081 try {
082 Type t = this.getField(1, 0);
083 ret = (CE)t;
084 } catch (ClassCastException cce) {
085 HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value. This is a bug.", cce);
086 throw new RuntimeException(cce);
087 } catch (HL7Exception he) {
088 HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value. This is a bug.", he);
089 throw new RuntimeException(he);
090 }
091 return ret;
092 }
093
094
095
096 /**
097 * Returns
098 * CSP-2: "Date/time Study Phase Began" - creates it if necessary
099 */
100 public TS getDateTimeStudyPhaseBegan() {
101 TS ret = null;
102 try {
103 Type t = this.getField(2, 0);
104 ret = (TS)t;
105 } catch (ClassCastException cce) {
106 HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value. This is a bug.", cce);
107 throw new RuntimeException(cce);
108 } catch (HL7Exception he) {
109 HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value. This is a bug.", he);
110 throw new RuntimeException(he);
111 }
112 return ret;
113 }
114
115
116 /**
117 * Returns
118 * CSP-2: "Date/time Study Phase Began" - creates it if necessary
119 */
120 public TS getCsp2_DateTimeStudyPhaseBegan() {
121 TS ret = null;
122 try {
123 Type t = this.getField(2, 0);
124 ret = (TS)t;
125 } catch (ClassCastException cce) {
126 HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value. This is a bug.", cce);
127 throw new RuntimeException(cce);
128 } catch (HL7Exception he) {
129 HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value. This is a bug.", he);
130 throw new RuntimeException(he);
131 }
132 return ret;
133 }
134
135
136
137 /**
138 * Returns
139 * CSP-3: "Date/time Study Phase Ended" - creates it if necessary
140 */
141 public TS getDateTimeStudyPhaseEnded() {
142 TS ret = null;
143 try {
144 Type t = this.getField(3, 0);
145 ret = (TS)t;
146 } catch (ClassCastException cce) {
147 HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value. This is a bug.", cce);
148 throw new RuntimeException(cce);
149 } catch (HL7Exception he) {
150 HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value. This is a bug.", he);
151 throw new RuntimeException(he);
152 }
153 return ret;
154 }
155
156
157 /**
158 * Returns
159 * CSP-3: "Date/time Study Phase Ended" - creates it if necessary
160 */
161 public TS getCsp3_DateTimeStudyPhaseEnded() {
162 TS ret = null;
163 try {
164 Type t = this.getField(3, 0);
165 ret = (TS)t;
166 } catch (ClassCastException cce) {
167 HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value. This is a bug.", cce);
168 throw new RuntimeException(cce);
169 } catch (HL7Exception he) {
170 HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value. This is a bug.", he);
171 throw new RuntimeException(he);
172 }
173 return ret;
174 }
175
176
177
178 /**
179 * Returns
180 * CSP-4: "Study Phase Evaluability" - creates it if necessary
181 */
182 public CE getStudyPhaseEvaluability() {
183 CE ret = null;
184 try {
185 Type t = this.getField(4, 0);
186 ret = (CE)t;
187 } catch (ClassCastException cce) {
188 HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value. This is a bug.", cce);
189 throw new RuntimeException(cce);
190 } catch (HL7Exception he) {
191 HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value. This is a bug.", he);
192 throw new RuntimeException(he);
193 }
194 return ret;
195 }
196
197
198 /**
199 * Returns
200 * CSP-4: "Study Phase Evaluability" - creates it if necessary
201 */
202 public CE getCsp4_StudyPhaseEvaluability() {
203 CE ret = null;
204 try {
205 Type t = this.getField(4, 0);
206 ret = (CE)t;
207 } catch (ClassCastException cce) {
208 HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value. This is a bug.", cce);
209 throw new RuntimeException(cce);
210 } catch (HL7Exception he) {
211 HapiLogFactory.getHapiLog(this.getClass()).error("Unexpected problem obtaining field value. This is a bug.", he);
212 throw new RuntimeException(he);
213 }
214 return ret;
215 }
216
217
218
219
220
221 /** {@inheritDoc} */
222 protected Type createNewTypeWithoutReflection(int field) {
223 switch (field) {
224 case 0: return new CE(getMessage());
225 case 1: return new TS(getMessage());
226 case 2: return new TS(getMessage());
227 case 3: return new CE(getMessage());
228 default: return null;
229 }
230 }
231
232
233 }
234