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.v24.segment;
035
036// import ca.uhn.hl7v2.model.v24.group.*;
037import ca.uhn.hl7v2.model.v24.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 ORG message segment (Practitioner Organization Unit). 
049 * This segment has the following fields:</p>
050 * <ul>
051     * <li>ORG-1: Set ID - ORG (SI) <b> </b>
052     * <li>ORG-2: Organization Unit Code (CE) <b>optional </b>
053     * <li>ORG-3: Organization Unit Type Code - ORG (CE) <b>optional </b>
054     * <li>ORG-4: Primary Org Unit Indicator (ID) <b>optional </b>
055     * <li>ORG-5: Practitioner Org Unit Identifier (CX) <b>optional </b>
056     * <li>ORG-6: Health Care Provider Type Code (CE) <b>optional </b>
057     * <li>ORG-7: Health Care Provider Classification Code (CE) <b>optional </b>
058     * <li>ORG-8: Health Care Provider Area of Specialization Code (CE) <b>optional </b>
059     * <li>ORG-9: Effective Date Range (DR) <b>optional </b>
060     * <li>ORG-10: Employment Status Code (CE) <b>optional </b>
061     * <li>ORG-11: Board Approval Indicator (ID) <b>optional </b>
062     * <li>ORG-12: Primary Care Physician Indicator (ID) <b>optional </b>
063 * </ul>
064 */
065@SuppressWarnings("unused")
066public class ORG extends AbstractSegment {
067
068    /** 
069     * Creates a new ORG segment
070     */
071    public ORG(Group parent, ModelClassFactory factory) {
072       super(parent, factory);
073       init(factory);
074    }
075
076    private void init(ModelClassFactory factory) {
077       try {
078                                  this.add(SI.class, true, 1, 60, new Object[]{ getMessage() }, "Set ID - ORG");
079                                  this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Organization Unit Code");
080                                  this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Organization Unit Type Code - ORG");
081                                              this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(136) }, "Primary Org Unit Indicator");
082                                  this.add(CX.class, false, 1, 60, new Object[]{ getMessage() }, "Practitioner Org Unit Identifier");
083                                  this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Health Care Provider Type Code");
084                                  this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Health Care Provider Classification Code");
085                                  this.add(CE.class, false, 1, 250, new Object[]{ getMessage() }, "Health Care Provider Area of Specialization Code");
086                                  this.add(DR.class, false, 1, 52, new Object[]{ getMessage() }, "Effective Date Range");
087                                  this.add(CE.class, false, 1, 2, new Object[]{ getMessage() }, "Employment Status Code");
088                                              this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(136) }, "Board Approval Indicator");
089                                              this.add(ID.class, false, 1, 1, new Object[]{ getMessage(), new Integer(136) }, "Primary Care Physician Indicator");
090       } catch(HL7Exception e) {
091          log.error("Unexpected error creating ORG - this is probably a bug in the source code generator.", e);
092       }
093    }
094
095
096
097    /**
098     * Returns
099     * ORG-1: "Set ID - ORG" - creates it if necessary
100     */
101    public SI getSetIDORG() { 
102                SI retVal = this.getTypedField(1, 0);
103                return retVal;
104    }
105    
106    /**
107     * Returns
108     * ORG-1: "Set ID - ORG" - creates it if necessary
109     */
110    public SI getOrg1_SetIDORG() { 
111                SI retVal = this.getTypedField(1, 0);
112                return retVal;
113    }
114
115
116
117    /**
118     * Returns
119     * ORG-2: "Organization Unit Code" - creates it if necessary
120     */
121    public CE getOrganizationUnitCode() { 
122                CE retVal = this.getTypedField(2, 0);
123                return retVal;
124    }
125    
126    /**
127     * Returns
128     * ORG-2: "Organization Unit Code" - creates it if necessary
129     */
130    public CE getOrg2_OrganizationUnitCode() { 
131                CE retVal = this.getTypedField(2, 0);
132                return retVal;
133    }
134
135
136
137    /**
138     * Returns
139     * ORG-3: "Organization Unit Type Code - ORG" - creates it if necessary
140     */
141    public CE getOrganizationUnitTypeCodeORG() { 
142                CE retVal = this.getTypedField(3, 0);
143                return retVal;
144    }
145    
146    /**
147     * Returns
148     * ORG-3: "Organization Unit Type Code - ORG" - creates it if necessary
149     */
150    public CE getOrg3_OrganizationUnitTypeCodeORG() { 
151                CE retVal = this.getTypedField(3, 0);
152                return retVal;
153    }
154
155
156
157    /**
158     * Returns
159     * ORG-4: "Primary Org Unit Indicator" - creates it if necessary
160     */
161    public ID getPrimaryOrgUnitIndicator() { 
162                ID retVal = this.getTypedField(4, 0);
163                return retVal;
164    }
165    
166    /**
167     * Returns
168     * ORG-4: "Primary Org Unit Indicator" - creates it if necessary
169     */
170    public ID getOrg4_PrimaryOrgUnitIndicator() { 
171                ID retVal = this.getTypedField(4, 0);
172                return retVal;
173    }
174
175
176
177    /**
178     * Returns
179     * ORG-5: "Practitioner Org Unit Identifier" - creates it if necessary
180     */
181    public CX getPractitionerOrgUnitIdentifier() { 
182                CX retVal = this.getTypedField(5, 0);
183                return retVal;
184    }
185    
186    /**
187     * Returns
188     * ORG-5: "Practitioner Org Unit Identifier" - creates it if necessary
189     */
190    public CX getOrg5_PractitionerOrgUnitIdentifier() { 
191                CX retVal = this.getTypedField(5, 0);
192                return retVal;
193    }
194
195
196
197    /**
198     * Returns
199     * ORG-6: "Health Care Provider Type Code" - creates it if necessary
200     */
201    public CE getHealthCareProviderTypeCode() { 
202                CE retVal = this.getTypedField(6, 0);
203                return retVal;
204    }
205    
206    /**
207     * Returns
208     * ORG-6: "Health Care Provider Type Code" - creates it if necessary
209     */
210    public CE getOrg6_HealthCareProviderTypeCode() { 
211                CE retVal = this.getTypedField(6, 0);
212                return retVal;
213    }
214
215
216
217    /**
218     * Returns
219     * ORG-7: "Health Care Provider Classification Code" - creates it if necessary
220     */
221    public CE getHealthCareProviderClassificationCode() { 
222                CE retVal = this.getTypedField(7, 0);
223                return retVal;
224    }
225    
226    /**
227     * Returns
228     * ORG-7: "Health Care Provider Classification Code" - creates it if necessary
229     */
230    public CE getOrg7_HealthCareProviderClassificationCode() { 
231                CE retVal = this.getTypedField(7, 0);
232                return retVal;
233    }
234
235
236
237    /**
238     * Returns
239     * ORG-8: "Health Care Provider Area of Specialization Code" - creates it if necessary
240     */
241    public CE getHealthCareProviderAreaOfSpecializationCode() { 
242                CE retVal = this.getTypedField(8, 0);
243                return retVal;
244    }
245    
246    /**
247     * Returns
248     * ORG-8: "Health Care Provider Area of Specialization Code" - creates it if necessary
249     */
250    public CE getOrg8_HealthCareProviderAreaOfSpecializationCode() { 
251                CE retVal = this.getTypedField(8, 0);
252                return retVal;
253    }
254
255
256
257    /**
258     * Returns
259     * ORG-9: "Effective Date Range" - creates it if necessary
260     */
261    public DR getEffectiveDateRange() { 
262                DR retVal = this.getTypedField(9, 0);
263                return retVal;
264    }
265    
266    /**
267     * Returns
268     * ORG-9: "Effective Date Range" - creates it if necessary
269     */
270    public DR getOrg9_EffectiveDateRange() { 
271                DR retVal = this.getTypedField(9, 0);
272                return retVal;
273    }
274
275
276
277    /**
278     * Returns
279     * ORG-10: "Employment Status Code" - creates it if necessary
280     */
281    public CE getEmploymentStatusCode() { 
282                CE retVal = this.getTypedField(10, 0);
283                return retVal;
284    }
285    
286    /**
287     * Returns
288     * ORG-10: "Employment Status Code" - creates it if necessary
289     */
290    public CE getOrg10_EmploymentStatusCode() { 
291                CE retVal = this.getTypedField(10, 0);
292                return retVal;
293    }
294
295
296
297    /**
298     * Returns
299     * ORG-11: "Board Approval Indicator" - creates it if necessary
300     */
301    public ID getBoardApprovalIndicator() { 
302                ID retVal = this.getTypedField(11, 0);
303                return retVal;
304    }
305    
306    /**
307     * Returns
308     * ORG-11: "Board Approval Indicator" - creates it if necessary
309     */
310    public ID getOrg11_BoardApprovalIndicator() { 
311                ID retVal = this.getTypedField(11, 0);
312                return retVal;
313    }
314
315
316
317    /**
318     * Returns
319     * ORG-12: "Primary Care Physician Indicator" - creates it if necessary
320     */
321    public ID getPrimaryCarePhysicianIndicator() { 
322                ID retVal = this.getTypedField(12, 0);
323                return retVal;
324    }
325    
326    /**
327     * Returns
328     * ORG-12: "Primary Care Physician Indicator" - creates it if necessary
329     */
330    public ID getOrg12_PrimaryCarePhysicianIndicator() { 
331                ID retVal = this.getTypedField(12, 0);
332                return retVal;
333    }
334
335
336
337
338
339    /** {@inheritDoc} */   
340    protected Type createNewTypeWithoutReflection(int field) {
341       switch (field) {
342          case 0: return new SI(getMessage());
343          case 1: return new CE(getMessage());
344          case 2: return new CE(getMessage());
345          case 3: return new ID(getMessage(), new Integer( 136 ));
346          case 4: return new CX(getMessage());
347          case 5: return new CE(getMessage());
348          case 6: return new CE(getMessage());
349          case 7: return new CE(getMessage());
350          case 8: return new DR(getMessage());
351          case 9: return new CE(getMessage());
352          case 10: return new ID(getMessage(), new Integer( 136 ));
353          case 11: return new ID(getMessage(), new Integer( 136 ));
354          default: return null;
355       }
356   }
357
358
359}
360