001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017package ca.uhn.fhir.model.dstu2.resource;
018
019import java.math.BigDecimal;
020import java.net.URI;
021import java.util.*;
022import ca.uhn.fhir.model.api.*;
023import ca.uhn.fhir.model.api.annotation.*;
024import ca.uhn.fhir.rest.gclient.*;
025
026import ca.uhn.fhir.model.dstu2.valueset.AccountStatusEnum;
027import ca.uhn.fhir.model.dstu2.valueset.ActionListEnum;
028import ca.uhn.fhir.model.dstu2.composite.AddressDt;
029import ca.uhn.fhir.model.dstu2.valueset.AdjudicationCodesEnum;
030import ca.uhn.fhir.model.dstu2.valueset.AdjudicationErrorCodesEnum;
031import ca.uhn.fhir.model.dstu2.valueset.AdjustmentReasonCodesEnum;
032import ca.uhn.fhir.model.dstu2.valueset.AdministrativeGenderEnum;
033import ca.uhn.fhir.model.dstu2.valueset.AdmitSourceEnum;
034import ca.uhn.fhir.model.dstu2.resource.AllergyIntolerance;
035import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCategoryEnum;
036import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCertaintyEnum;
037import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCriticalityEnum;
038import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceSeverityEnum;
039import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceStatusEnum;
040import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceTypeEnum;
041import ca.uhn.fhir.model.dstu2.composite.AnnotationDt;
042import ca.uhn.fhir.model.dstu2.valueset.AnswerFormatEnum;
043import ca.uhn.fhir.model.dstu2.resource.Appointment;
044import ca.uhn.fhir.model.dstu2.valueset.AppointmentStatusEnum;
045import ca.uhn.fhir.model.dstu2.valueset.AssertionDirectionTypeEnum;
046import ca.uhn.fhir.model.dstu2.valueset.AssertionOperatorTypeEnum;
047import ca.uhn.fhir.model.dstu2.valueset.AssertionResponseTypesEnum;
048import ca.uhn.fhir.model.dstu2.composite.AttachmentDt;
049import ca.uhn.fhir.model.dstu2.valueset.AuditEventActionEnum;
050import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectLifecycleEnum;
051import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectRoleEnum;
052import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectTypeEnum;
053import ca.uhn.fhir.model.dstu2.valueset.AuditEventOutcomeEnum;
054import ca.uhn.fhir.model.dstu2.valueset.AuditEventParticipantNetworkTypeEnum;
055import ca.uhn.fhir.model.dstu2.valueset.AuditEventSourceTypeEnum;
056import ca.uhn.fhir.model.dstu2.valueset.BindingStrengthEnum;
057import ca.uhn.fhir.model.dstu2.resource.BodySite;
058import ca.uhn.fhir.model.dstu2.valueset.BundleTypeEnum;
059import ca.uhn.fhir.model.dstu2.resource.CarePlan;
060import ca.uhn.fhir.model.dstu2.valueset.CarePlanActivityStatusEnum;
061import ca.uhn.fhir.model.dstu2.valueset.CarePlanRelationshipEnum;
062import ca.uhn.fhir.model.dstu2.valueset.CarePlanStatusEnum;
063import ca.uhn.fhir.model.dstu2.resource.Claim;
064import ca.uhn.fhir.model.dstu2.resource.ClaimResponse;
065import ca.uhn.fhir.model.dstu2.valueset.ClaimTypeEnum;
066import ca.uhn.fhir.model.dstu2.resource.ClinicalImpression;
067import ca.uhn.fhir.model.dstu2.valueset.ClinicalImpressionStatusEnum;
068import ca.uhn.fhir.model.dstu2.composite.CodeableConceptDt;
069import ca.uhn.fhir.model.dstu2.composite.CodingDt;
070import ca.uhn.fhir.model.dstu2.resource.CommunicationRequest;
071import ca.uhn.fhir.model.dstu2.valueset.CommunicationRequestStatusEnum;
072import ca.uhn.fhir.model.dstu2.valueset.CommunicationStatusEnum;
073import ca.uhn.fhir.model.dstu2.resource.Composition;
074import ca.uhn.fhir.model.dstu2.valueset.CompositionAttestationModeEnum;
075import ca.uhn.fhir.model.dstu2.valueset.CompositionStatusEnum;
076import ca.uhn.fhir.model.dstu2.valueset.ConceptMapEquivalenceEnum;
077import ca.uhn.fhir.model.dstu2.resource.Condition;
078import ca.uhn.fhir.model.dstu2.valueset.ConditionCategoryCodesEnum;
079import ca.uhn.fhir.model.dstu2.valueset.ConditionClinicalStatusCodesEnum;
080import ca.uhn.fhir.model.dstu2.valueset.ConditionVerificationStatusEnum;
081import ca.uhn.fhir.model.dstu2.valueset.ConditionalDeleteStatusEnum;
082import ca.uhn.fhir.model.dstu2.resource.Conformance;
083import ca.uhn.fhir.model.dstu2.valueset.ConformanceEventModeEnum;
084import ca.uhn.fhir.model.dstu2.valueset.ConformanceResourceStatusEnum;
085import ca.uhn.fhir.model.dstu2.valueset.ConformanceStatementKindEnum;
086import ca.uhn.fhir.model.dstu2.composite.ContactPointDt;
087import ca.uhn.fhir.model.dstu2.valueset.ContentTypeEnum;
088import ca.uhn.fhir.model.dstu2.resource.Contract;
089import ca.uhn.fhir.model.dstu2.resource.Coverage;
090import ca.uhn.fhir.model.dstu2.valueset.DataElementStringencyEnum;
091import ca.uhn.fhir.model.dstu2.valueset.DaysOfWeekEnum;
092import ca.uhn.fhir.model.dstu2.valueset.DetectedIssueSeverityEnum;
093import ca.uhn.fhir.model.dstu2.resource.Device;
094import ca.uhn.fhir.model.dstu2.resource.DeviceComponent;
095import ca.uhn.fhir.model.dstu2.resource.DeviceMetric;
096import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationStateEnum;
097import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationTypeEnum;
098import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCategoryEnum;
099import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricColorEnum;
100import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricOperationalStatusEnum;
101import ca.uhn.fhir.model.dstu2.valueset.DeviceStatusEnum;
102import ca.uhn.fhir.model.dstu2.resource.DeviceUseRequest;
103import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestPriorityEnum;
104import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestStatusEnum;
105import ca.uhn.fhir.model.dstu2.resource.DiagnosticOrder;
106import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderPriorityEnum;
107import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderStatusEnum;
108import ca.uhn.fhir.model.dstu2.resource.DiagnosticReport;
109import ca.uhn.fhir.model.dstu2.valueset.DiagnosticReportStatusEnum;
110import ca.uhn.fhir.model.dstu2.valueset.DigitalMediaTypeEnum;
111import ca.uhn.fhir.model.dstu2.valueset.DocumentModeEnum;
112import ca.uhn.fhir.model.dstu2.resource.DocumentReference;
113import ca.uhn.fhir.model.dstu2.valueset.DocumentReferenceStatusEnum;
114import ca.uhn.fhir.model.dstu2.valueset.DocumentRelationshipTypeEnum;
115import ca.uhn.fhir.model.dstu2.composite.ElementDefinitionDt;
116import ca.uhn.fhir.model.dstu2.resource.EligibilityRequest;
117import ca.uhn.fhir.model.dstu2.resource.Encounter;
118import ca.uhn.fhir.model.dstu2.valueset.EncounterClassEnum;
119import ca.uhn.fhir.model.dstu2.valueset.EncounterLocationStatusEnum;
120import ca.uhn.fhir.model.dstu2.valueset.EncounterStateEnum;
121import ca.uhn.fhir.model.dstu2.resource.EnrollmentRequest;
122import ca.uhn.fhir.model.dstu2.resource.EpisodeOfCare;
123import ca.uhn.fhir.model.dstu2.valueset.EpisodeOfCareStatusEnum;
124import ca.uhn.fhir.model.dstu2.valueset.ExtensionContextEnum;
125import ca.uhn.fhir.model.dstu2.valueset.FamilyHistoryStatusEnum;
126import ca.uhn.fhir.model.dstu2.resource.FamilyMemberHistory;
127import ca.uhn.fhir.model.dstu2.valueset.FilterOperatorEnum;
128import ca.uhn.fhir.model.dstu2.valueset.FlagStatusEnum;
129import ca.uhn.fhir.model.dstu2.resource.Goal;
130import ca.uhn.fhir.model.dstu2.valueset.GoalPriorityEnum;
131import ca.uhn.fhir.model.dstu2.valueset.GoalStatusEnum;
132import ca.uhn.fhir.model.dstu2.resource.Group;
133import ca.uhn.fhir.model.dstu2.valueset.GroupTypeEnum;
134import ca.uhn.fhir.model.dstu2.valueset.GuideDependencyTypeEnum;
135import ca.uhn.fhir.model.dstu2.valueset.GuidePageKindEnum;
136import ca.uhn.fhir.model.dstu2.valueset.GuideResourcePurposeEnum;
137import ca.uhn.fhir.model.dstu2.valueset.HTTPVerbEnum;
138import ca.uhn.fhir.model.dstu2.resource.HealthcareService;
139import ca.uhn.fhir.model.dstu2.composite.HumanNameDt;
140import ca.uhn.fhir.model.dstu2.composite.IdentifierDt;
141import ca.uhn.fhir.model.dstu2.valueset.IdentifierTypeCodesEnum;
142import ca.uhn.fhir.model.dstu2.valueset.IdentityAssuranceLevelEnum;
143import ca.uhn.fhir.model.dstu2.resource.ImagingObjectSelection;
144import ca.uhn.fhir.model.dstu2.resource.ImagingStudy;
145import ca.uhn.fhir.model.dstu2.resource.Immunization;
146import ca.uhn.fhir.model.dstu2.valueset.InstanceAvailabilityEnum;
147import ca.uhn.fhir.model.dstu2.valueset.IssueSeverityEnum;
148import ca.uhn.fhir.model.dstu2.valueset.IssueTypeEnum;
149import ca.uhn.fhir.model.dstu2.valueset.KOStitleEnum;
150import ca.uhn.fhir.model.dstu2.valueset.LinkTypeEnum;
151import ca.uhn.fhir.model.dstu2.valueset.ListModeEnum;
152import ca.uhn.fhir.model.dstu2.valueset.ListOrderCodesEnum;
153import ca.uhn.fhir.model.dstu2.valueset.ListStatusEnum;
154import ca.uhn.fhir.model.dstu2.resource.Location;
155import ca.uhn.fhir.model.dstu2.valueset.LocationModeEnum;
156import ca.uhn.fhir.model.dstu2.valueset.LocationStatusEnum;
157import ca.uhn.fhir.model.dstu2.valueset.LocationTypeEnum;
158import ca.uhn.fhir.model.dstu2.valueset.MaritalStatusCodesEnum;
159import ca.uhn.fhir.model.dstu2.valueset.MeasmntPrincipleEnum;
160import ca.uhn.fhir.model.dstu2.resource.Media;
161import ca.uhn.fhir.model.dstu2.resource.Medication;
162import ca.uhn.fhir.model.dstu2.valueset.MedicationAdministrationStatusEnum;
163import ca.uhn.fhir.model.dstu2.valueset.MedicationDispenseStatusEnum;
164import ca.uhn.fhir.model.dstu2.resource.MedicationOrder;
165import ca.uhn.fhir.model.dstu2.valueset.MedicationOrderStatusEnum;
166import ca.uhn.fhir.model.dstu2.resource.MedicationStatement;
167import ca.uhn.fhir.model.dstu2.valueset.MedicationStatementStatusEnum;
168import ca.uhn.fhir.model.dstu2.valueset.MessageEventEnum;
169import ca.uhn.fhir.model.dstu2.valueset.MessageSignificanceCategoryEnum;
170import ca.uhn.fhir.model.dstu2.valueset.MessageTransportEnum;
171import ca.uhn.fhir.model.dstu2.resource.NamingSystem;
172import ca.uhn.fhir.model.dstu2.valueset.NamingSystemIdentifierTypeEnum;
173import ca.uhn.fhir.model.dstu2.valueset.NamingSystemTypeEnum;
174import ca.uhn.fhir.model.dstu2.valueset.NoteTypeEnum;
175import ca.uhn.fhir.model.dstu2.resource.NutritionOrder;
176import ca.uhn.fhir.model.dstu2.valueset.NutritionOrderStatusEnum;
177import ca.uhn.fhir.model.dstu2.resource.Observation;
178import ca.uhn.fhir.model.dstu2.valueset.ObservationRelationshipTypeEnum;
179import ca.uhn.fhir.model.dstu2.valueset.ObservationStatusEnum;
180import ca.uhn.fhir.model.dstu2.resource.OperationDefinition;
181import ca.uhn.fhir.model.dstu2.valueset.OperationKindEnum;
182import ca.uhn.fhir.model.dstu2.resource.OperationOutcome;
183import ca.uhn.fhir.model.dstu2.valueset.OperationParameterUseEnum;
184import ca.uhn.fhir.model.dstu2.resource.Order;
185import ca.uhn.fhir.model.dstu2.valueset.OrderStatusEnum;
186import ca.uhn.fhir.model.dstu2.resource.Organization;
187import ca.uhn.fhir.model.dstu2.valueset.ParticipantRequiredEnum;
188import ca.uhn.fhir.model.dstu2.valueset.ParticipantStatusEnum;
189import ca.uhn.fhir.model.dstu2.valueset.ParticipantTypeEnum;
190import ca.uhn.fhir.model.dstu2.valueset.ParticipationStatusEnum;
191import ca.uhn.fhir.model.dstu2.resource.Patient;
192import ca.uhn.fhir.model.dstu2.valueset.PayeeTypeCodesEnum;
193import ca.uhn.fhir.model.dstu2.composite.PeriodDt;
194import ca.uhn.fhir.model.dstu2.resource.Person;
195import ca.uhn.fhir.model.dstu2.resource.Practitioner;
196import ca.uhn.fhir.model.dstu2.resource.Procedure;
197import ca.uhn.fhir.model.dstu2.resource.ProcedureRequest;
198import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestPriorityEnum;
199import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestStatusEnum;
200import ca.uhn.fhir.model.dstu2.valueset.ProcedureStatusEnum;
201import ca.uhn.fhir.model.dstu2.resource.ProcessRequest;
202import ca.uhn.fhir.model.dstu2.valueset.ProvenanceEntityRoleEnum;
203import ca.uhn.fhir.model.dstu2.composite.QuantityDt;
204import ca.uhn.fhir.model.dstu2.resource.Questionnaire;
205import ca.uhn.fhir.model.dstu2.resource.QuestionnaireResponse;
206import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireResponseStatusEnum;
207import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireStatusEnum;
208import ca.uhn.fhir.model.dstu2.composite.RangeDt;
209import ca.uhn.fhir.model.dstu2.composite.RatioDt;
210import ca.uhn.fhir.model.dstu2.valueset.ReferralMethodEnum;
211import ca.uhn.fhir.model.dstu2.resource.ReferralRequest;
212import ca.uhn.fhir.model.dstu2.valueset.ReferralStatusEnum;
213import ca.uhn.fhir.model.dstu2.resource.RelatedPerson;
214import ca.uhn.fhir.model.dstu2.valueset.RemittanceOutcomeEnum;
215import ca.uhn.fhir.model.dstu2.valueset.ResourceTypeEnum;
216import ca.uhn.fhir.model.dstu2.valueset.ResourceVersionPolicyEnum;
217import ca.uhn.fhir.model.dstu2.valueset.ResponseTypeEnum;
218import ca.uhn.fhir.model.dstu2.valueset.RestfulConformanceModeEnum;
219import ca.uhn.fhir.model.dstu2.valueset.RestfulSecurityServiceEnum;
220import ca.uhn.fhir.model.dstu2.resource.RiskAssessment;
221import ca.uhn.fhir.model.dstu2.valueset.RulesetCodesEnum;
222import ca.uhn.fhir.model.dstu2.composite.SampledDataDt;
223import ca.uhn.fhir.model.dstu2.resource.Schedule;
224import ca.uhn.fhir.model.dstu2.valueset.SearchEntryModeEnum;
225import ca.uhn.fhir.model.dstu2.valueset.SearchModifierCodeEnum;
226import ca.uhn.fhir.model.dstu2.valueset.SearchParamTypeEnum;
227import ca.uhn.fhir.model.dstu2.valueset.ServiceProvisionConditionsEnum;
228import ca.uhn.fhir.model.dstu2.composite.SignatureDt;
229import ca.uhn.fhir.model.dstu2.resource.Slot;
230import ca.uhn.fhir.model.dstu2.valueset.SlotStatusEnum;
231import ca.uhn.fhir.model.dstu2.resource.Specimen;
232import ca.uhn.fhir.model.dstu2.valueset.SpecimenStatusEnum;
233import ca.uhn.fhir.model.dstu2.resource.StructureDefinition;
234import ca.uhn.fhir.model.dstu2.valueset.StructureDefinitionKindEnum;
235import ca.uhn.fhir.model.dstu2.valueset.SubscriptionChannelTypeEnum;
236import ca.uhn.fhir.model.dstu2.valueset.SubscriptionStatusEnum;
237import ca.uhn.fhir.model.dstu2.resource.Substance;
238import ca.uhn.fhir.model.dstu2.valueset.SubstanceCategoryCodesEnum;
239import ca.uhn.fhir.model.dstu2.valueset.SupplyDeliveryStatusEnum;
240import ca.uhn.fhir.model.dstu2.resource.SupplyRequest;
241import ca.uhn.fhir.model.dstu2.valueset.SupplyRequestStatusEnum;
242import ca.uhn.fhir.model.dstu2.valueset.SystemRestfulInteractionEnum;
243import ca.uhn.fhir.model.api.TemporalPrecisionEnum;
244import ca.uhn.fhir.model.dstu2.composite.TimingDt;
245import ca.uhn.fhir.model.dstu2.valueset.TransactionModeEnum;
246import ca.uhn.fhir.model.dstu2.valueset.TypeRestfulInteractionEnum;
247import ca.uhn.fhir.model.dstu2.valueset.UnknownContentCodeEnum;
248import ca.uhn.fhir.model.dstu2.valueset.UseEnum;
249import ca.uhn.fhir.model.dstu2.resource.ValueSet;
250import ca.uhn.fhir.model.dstu2.valueset.VisionBaseEnum;
251import ca.uhn.fhir.model.dstu2.valueset.VisionEyesEnum;
252import ca.uhn.fhir.model.dstu2.resource.VisionPrescription;
253import ca.uhn.fhir.model.dstu2.valueset.XPathUsageTypeEnum;
254import ca.uhn.fhir.model.api.IResource;
255import ca.uhn.fhir.model.dstu2.composite.AgeDt;
256import ca.uhn.fhir.model.dstu2.composite.BoundCodeableConceptDt;
257import ca.uhn.fhir.model.dstu2.composite.DurationDt;
258import ca.uhn.fhir.model.dstu2.composite.MoneyDt;
259import ca.uhn.fhir.model.dstu2.composite.NarrativeDt;
260import ca.uhn.fhir.model.dstu2.composite.ResourceReferenceDt;
261import ca.uhn.fhir.model.dstu2.composite.SimpleQuantityDt;
262import ca.uhn.fhir.model.primitive.Base64BinaryDt;
263import ca.uhn.fhir.model.primitive.BooleanDt;
264import ca.uhn.fhir.model.primitive.BoundCodeDt;
265import ca.uhn.fhir.model.primitive.CodeDt;
266import ca.uhn.fhir.model.primitive.DateDt;
267import ca.uhn.fhir.model.primitive.DateTimeDt;
268import ca.uhn.fhir.model.primitive.DecimalDt;
269import ca.uhn.fhir.model.primitive.IdDt;
270import ca.uhn.fhir.model.primitive.InstantDt;
271import ca.uhn.fhir.model.primitive.IntegerDt;
272import ca.uhn.fhir.model.primitive.OidDt;
273import ca.uhn.fhir.model.primitive.PositiveIntDt;
274import ca.uhn.fhir.model.primitive.StringDt;
275import ca.uhn.fhir.model.primitive.TimeDt;
276import ca.uhn.fhir.model.primitive.UnsignedIntDt;
277import ca.uhn.fhir.model.primitive.UriDt;
278
279
280/**
281 * HAPI/FHIR <b>Organization</b> Resource
282 * (administrative.group)
283 *
284 * <p>
285 * <b>Definition:</b>
286 * A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action.  Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, etc.
287 * </p> 
288 *
289 * <p>
290 * <b>Requirements:</b>
291 * 
292 * </p> 
293 *
294 * <p>
295 * <b>Profile Definition:</b>
296 * <a href="http://hl7.org/fhir/profiles/Organization">http://hl7.org/fhir/profiles/Organization</a> 
297 * </p>
298 *
299 */
300@ResourceDef(name="Organization", profile="http://hl7.org/fhir/profiles/Organization", id="organization")
301public class Organization extends ca.uhn.fhir.model.dstu2.resource.BaseResource
302    implements  IResource     {
303
304        /**
305         * Search parameter constant for <b>name</b>
306         * <p>
307         * Description: <b>A portion of the organization's name</b><br>
308         * Type: <b>string</b><br>
309         * Path: <b>Organization.name</b><br>
310         * </p>
311         */
312        @SearchParamDefinition(name="name", path="Organization.name", description="A portion of the organization's name", type="string"  )
313        public static final String SP_NAME = "name";
314
315        /**
316         * <b>Fluent Client</b> search parameter constant for <b>name</b>
317         * <p>
318         * Description: <b>A portion of the organization's name</b><br>
319         * Type: <b>string</b><br>
320         * Path: <b>Organization.name</b><br>
321         * </p>
322         */
323        public static final StringClientParam NAME = new StringClientParam(SP_NAME);
324
325        /**
326         * Search parameter constant for <b>phonetic</b>
327         * <p>
328         * Description: <b>A portion of the organization's name using some kind of phonetic matching algorithm</b><br>
329         * Type: <b>string</b><br>
330         * Path: <b>Organization.name</b><br>
331         * </p>
332         */
333        @SearchParamDefinition(name="phonetic", path="Organization.name", description="A portion of the organization's name using some kind of phonetic matching algorithm", type="string"  )
334        public static final String SP_PHONETIC = "phonetic";
335
336        /**
337         * <b>Fluent Client</b> search parameter constant for <b>phonetic</b>
338         * <p>
339         * Description: <b>A portion of the organization's name using some kind of phonetic matching algorithm</b><br>
340         * Type: <b>string</b><br>
341         * Path: <b>Organization.name</b><br>
342         * </p>
343         */
344        public static final StringClientParam PHONETIC = new StringClientParam(SP_PHONETIC);
345
346        /**
347         * Search parameter constant for <b>type</b>
348         * <p>
349         * Description: <b>A code for the type of organization</b><br>
350         * Type: <b>token</b><br>
351         * Path: <b>Organization.type</b><br>
352         * </p>
353         */
354        @SearchParamDefinition(name="type", path="Organization.type", description="A code for the type of organization", type="token"  )
355        public static final String SP_TYPE = "type";
356
357        /**
358         * <b>Fluent Client</b> search parameter constant for <b>type</b>
359         * <p>
360         * Description: <b>A code for the type of organization</b><br>
361         * Type: <b>token</b><br>
362         * Path: <b>Organization.type</b><br>
363         * </p>
364         */
365        public static final TokenClientParam TYPE = new TokenClientParam(SP_TYPE);
366
367        /**
368         * Search parameter constant for <b>identifier</b>
369         * <p>
370         * Description: <b>Any identifier for the organization (not the accreditation issuer's identifier)</b><br>
371         * Type: <b>token</b><br>
372         * Path: <b>Organization.identifier</b><br>
373         * </p>
374         */
375        @SearchParamDefinition(name="identifier", path="Organization.identifier", description="Any identifier for the organization (not the accreditation issuer's identifier)", type="token"  )
376        public static final String SP_IDENTIFIER = "identifier";
377
378        /**
379         * <b>Fluent Client</b> search parameter constant for <b>identifier</b>
380         * <p>
381         * Description: <b>Any identifier for the organization (not the accreditation issuer's identifier)</b><br>
382         * Type: <b>token</b><br>
383         * Path: <b>Organization.identifier</b><br>
384         * </p>
385         */
386        public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER);
387
388        /**
389         * Search parameter constant for <b>partof</b>
390         * <p>
391         * Description: <b>Search all organizations that are part of the given organization</b><br>
392         * Type: <b>reference</b><br>
393         * Path: <b>Organization.partOf</b><br>
394         * </p>
395         */
396        @SearchParamDefinition(name="partof", path="Organization.partOf", description="Search all organizations that are part of the given organization", type="reference"  )
397        public static final String SP_PARTOF = "partof";
398
399        /**
400         * <b>Fluent Client</b> search parameter constant for <b>partof</b>
401         * <p>
402         * Description: <b>Search all organizations that are part of the given organization</b><br>
403         * Type: <b>reference</b><br>
404         * Path: <b>Organization.partOf</b><br>
405         * </p>
406         */
407        public static final ReferenceClientParam PARTOF = new ReferenceClientParam(SP_PARTOF);
408
409        /**
410         * Search parameter constant for <b>active</b>
411         * <p>
412         * Description: <b>Whether the organization's record is active</b><br>
413         * Type: <b>token</b><br>
414         * Path: <b>Organization.active</b><br>
415         * </p>
416         */
417        @SearchParamDefinition(name="active", path="Organization.active", description="Whether the organization's record is active", type="token"  )
418        public static final String SP_ACTIVE = "active";
419
420        /**
421         * <b>Fluent Client</b> search parameter constant for <b>active</b>
422         * <p>
423         * Description: <b>Whether the organization's record is active</b><br>
424         * Type: <b>token</b><br>
425         * Path: <b>Organization.active</b><br>
426         * </p>
427         */
428        public static final TokenClientParam ACTIVE = new TokenClientParam(SP_ACTIVE);
429
430        /**
431         * Search parameter constant for <b>address</b>
432         * <p>
433         * Description: <b>A (part of the) address of the Organization</b><br>
434         * Type: <b>string</b><br>
435         * Path: <b>Organization.address</b><br>
436         * </p>
437         */
438        @SearchParamDefinition(name="address", path="Organization.address", description="A (part of the) address of the Organization", type="string"  )
439        public static final String SP_ADDRESS = "address";
440
441        /**
442         * <b>Fluent Client</b> search parameter constant for <b>address</b>
443         * <p>
444         * Description: <b>A (part of the) address of the Organization</b><br>
445         * Type: <b>string</b><br>
446         * Path: <b>Organization.address</b><br>
447         * </p>
448         */
449        public static final StringClientParam ADDRESS = new StringClientParam(SP_ADDRESS);
450
451        /**
452         * Search parameter constant for <b>address-city</b>
453         * <p>
454         * Description: <b>A city specified in an address</b><br>
455         * Type: <b>string</b><br>
456         * Path: <b>Organization.address.city</b><br>
457         * </p>
458         */
459        @SearchParamDefinition(name="address-city", path="Organization.address.city", description="A city specified in an address", type="string"  )
460        public static final String SP_ADDRESS_CITY = "address-city";
461
462        /**
463         * <b>Fluent Client</b> search parameter constant for <b>address-city</b>
464         * <p>
465         * Description: <b>A city specified in an address</b><br>
466         * Type: <b>string</b><br>
467         * Path: <b>Organization.address.city</b><br>
468         * </p>
469         */
470        public static final StringClientParam ADDRESS_CITY = new StringClientParam(SP_ADDRESS_CITY);
471
472        /**
473         * Search parameter constant for <b>address-state</b>
474         * <p>
475         * Description: <b>A state specified in an address</b><br>
476         * Type: <b>string</b><br>
477         * Path: <b>Organization.address.state</b><br>
478         * </p>
479         */
480        @SearchParamDefinition(name="address-state", path="Organization.address.state", description="A state specified in an address", type="string"  )
481        public static final String SP_ADDRESS_STATE = "address-state";
482
483        /**
484         * <b>Fluent Client</b> search parameter constant for <b>address-state</b>
485         * <p>
486         * Description: <b>A state specified in an address</b><br>
487         * Type: <b>string</b><br>
488         * Path: <b>Organization.address.state</b><br>
489         * </p>
490         */
491        public static final StringClientParam ADDRESS_STATE = new StringClientParam(SP_ADDRESS_STATE);
492
493        /**
494         * Search parameter constant for <b>address-postalcode</b>
495         * <p>
496         * Description: <b>A postal code specified in an address</b><br>
497         * Type: <b>string</b><br>
498         * Path: <b>Organization.address.postalCode</b><br>
499         * </p>
500         */
501        @SearchParamDefinition(name="address-postalcode", path="Organization.address.postalCode", description="A postal code specified in an address", type="string"  )
502        public static final String SP_ADDRESS_POSTALCODE = "address-postalcode";
503
504        /**
505         * <b>Fluent Client</b> search parameter constant for <b>address-postalcode</b>
506         * <p>
507         * Description: <b>A postal code specified in an address</b><br>
508         * Type: <b>string</b><br>
509         * Path: <b>Organization.address.postalCode</b><br>
510         * </p>
511         */
512        public static final StringClientParam ADDRESS_POSTALCODE = new StringClientParam(SP_ADDRESS_POSTALCODE);
513
514        /**
515         * Search parameter constant for <b>address-country</b>
516         * <p>
517         * Description: <b>A country specified in an address</b><br>
518         * Type: <b>string</b><br>
519         * Path: <b>Organization.address.country</b><br>
520         * </p>
521         */
522        @SearchParamDefinition(name="address-country", path="Organization.address.country", description="A country specified in an address", type="string"  )
523        public static final String SP_ADDRESS_COUNTRY = "address-country";
524
525        /**
526         * <b>Fluent Client</b> search parameter constant for <b>address-country</b>
527         * <p>
528         * Description: <b>A country specified in an address</b><br>
529         * Type: <b>string</b><br>
530         * Path: <b>Organization.address.country</b><br>
531         * </p>
532         */
533        public static final StringClientParam ADDRESS_COUNTRY = new StringClientParam(SP_ADDRESS_COUNTRY);
534
535        /**
536         * Search parameter constant for <b>address-use</b>
537         * <p>
538         * Description: <b>A use code specified in an address</b><br>
539         * Type: <b>token</b><br>
540         * Path: <b>Organization.address.use</b><br>
541         * </p>
542         */
543        @SearchParamDefinition(name="address-use", path="Organization.address.use", description="A use code specified in an address", type="token"  )
544        public static final String SP_ADDRESS_USE = "address-use";
545
546        /**
547         * <b>Fluent Client</b> search parameter constant for <b>address-use</b>
548         * <p>
549         * Description: <b>A use code specified in an address</b><br>
550         * Type: <b>token</b><br>
551         * Path: <b>Organization.address.use</b><br>
552         * </p>
553         */
554        public static final TokenClientParam ADDRESS_USE = new TokenClientParam(SP_ADDRESS_USE);
555
556
557        /**
558         * Constant for fluent queries to be used to add include statements. Specifies
559         * the path value of "<b>Organization:partof</b>".
560         */
561        public static final Include INCLUDE_PARTOF = new Include("Organization:partof");
562
563
564        @Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false)       
565        @Description(
566                shortDefinition="id",
567                formalDefinition="Identifier for the organization that is used to identify the organization across multiple disparate systems"
568        )
569        private java.util.List<IdentifierDt> myIdentifier;
570        
571        @Child(name="active", type=BooleanDt.class, order=1, min=0, max=1, summary=true, modifier=true) 
572        @Description(
573                shortDefinition="status",
574                formalDefinition="Whether the organization's record is still in active use"
575        )
576        private BooleanDt myActive;
577        
578        @Child(name="type", type=CodeableConceptDt.class, order=2, min=0, max=1, summary=true, modifier=false)  
579        @Description(
580                shortDefinition="class",
581                formalDefinition="The kind of organization that this is"
582        )
583        private CodeableConceptDt myType;
584        
585        @Child(name="name", type=StringDt.class, order=3, min=0, max=1, summary=true, modifier=false)   
586        @Description(
587                shortDefinition="",
588                formalDefinition="A name associated with the organization"
589        )
590        private StringDt myName;
591        
592        @Child(name="telecom", type=ContactPointDt.class, order=4, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false)       
593        @Description(
594                shortDefinition="",
595                formalDefinition="A contact detail for the organization"
596        )
597        private java.util.List<ContactPointDt> myTelecom;
598        
599        @Child(name="address", type=AddressDt.class, order=5, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false)    
600        @Description(
601                shortDefinition="",
602                formalDefinition="An address for the organization"
603        )
604        private java.util.List<AddressDt> myAddress;
605        
606        @Child(name="partOf", order=6, min=0, max=1, summary=true, modifier=false, type={
607                ca.uhn.fhir.model.dstu2.resource.Organization.class     })
608        @Description(
609                shortDefinition="",
610                formalDefinition="The organization of which this organization forms a part"
611        )
612        private ResourceReferenceDt myPartOf;
613        
614        @Child(name="contact", order=7, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false)  
615        @Description(
616                shortDefinition="",
617                formalDefinition=""
618        )
619        private java.util.List<Contact> myContact;
620        
621
622        @Override
623        public boolean isEmpty() {
624                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  myIdentifier,  myActive,  myType,  myName,  myTelecom,  myAddress,  myPartOf,  myContact);
625        }
626        
627        @Override
628        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
629                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, myActive, myType, myName, myTelecom, myAddress, myPartOf, myContact);
630        }
631
632        /**
633         * Gets the value(s) for <b>identifier</b> (id).
634         * creating it if it does
635         * not exist. Will not return <code>null</code>.
636         *
637     * <p>
638     * <b>Definition:</b>
639     * Identifier for the organization that is used to identify the organization across multiple disparate systems
640     * </p> 
641         */
642        public java.util.List<IdentifierDt> getIdentifier() {  
643                if (myIdentifier == null) {
644                        myIdentifier = new java.util.ArrayList<IdentifierDt>();
645                }
646                return myIdentifier;
647        }
648
649        /**
650         * Sets the value(s) for <b>identifier</b> (id)
651         *
652     * <p>
653     * <b>Definition:</b>
654     * Identifier for the organization that is used to identify the organization across multiple disparate systems
655     * </p> 
656         */
657        public Organization setIdentifier(java.util.List<IdentifierDt> theValue) {
658                myIdentifier = theValue;
659                return this;
660        }
661        
662        
663
664        /**
665         * Adds and returns a new value for <b>identifier</b> (id)
666         *
667     * <p>
668     * <b>Definition:</b>
669     * Identifier for the organization that is used to identify the organization across multiple disparate systems
670     * </p> 
671         */
672        public IdentifierDt addIdentifier() {
673                IdentifierDt newType = new IdentifierDt();
674                getIdentifier().add(newType);
675                return newType; 
676        }
677
678        /**
679         * Adds a given new value for <b>identifier</b> (id)
680         *
681         * <p>
682         * <b>Definition:</b>
683         * Identifier for the organization that is used to identify the organization across multiple disparate systems
684         * </p>
685         * @param theValue The identifier to add (must not be <code>null</code>)
686         */
687        public Organization addIdentifier(IdentifierDt theValue) {
688                if (theValue == null) {
689                        throw new NullPointerException("theValue must not be null");
690                }
691                getIdentifier().add(theValue);
692                return this;
693        }
694
695        /**
696         * Gets the first repetition for <b>identifier</b> (id),
697         * creating it if it does not already exist.
698         *
699     * <p>
700     * <b>Definition:</b>
701     * Identifier for the organization that is used to identify the organization across multiple disparate systems
702     * </p> 
703         */
704        public IdentifierDt getIdentifierFirstRep() {
705                if (getIdentifier().isEmpty()) {
706                        return addIdentifier();
707                }
708                return getIdentifier().get(0); 
709        }
710  
711        /**
712         * Gets the value(s) for <b>active</b> (status).
713         * creating it if it does
714         * not exist. Will not return <code>null</code>.
715         *
716     * <p>
717     * <b>Definition:</b>
718     * Whether the organization's record is still in active use
719     * </p> 
720         */
721        public BooleanDt getActiveElement() {  
722                if (myActive == null) {
723                        myActive = new BooleanDt();
724                }
725                return myActive;
726        }
727
728        
729        /**
730         * Gets the value(s) for <b>active</b> (status).
731         * creating it if it does
732         * not exist. This method may return <code>null</code>.
733         *
734     * <p>
735     * <b>Definition:</b>
736     * Whether the organization's record is still in active use
737     * </p> 
738         */
739        public Boolean getActive() {  
740                return getActiveElement().getValue();
741        }
742
743        /**
744         * Sets the value(s) for <b>active</b> (status)
745         *
746     * <p>
747     * <b>Definition:</b>
748     * Whether the organization's record is still in active use
749     * </p> 
750         */
751        public Organization setActive(BooleanDt theValue) {
752                myActive = theValue;
753                return this;
754        }
755        
756        
757
758        /**
759         * Sets the value for <b>active</b> (status)
760         *
761     * <p>
762     * <b>Definition:</b>
763     * Whether the organization's record is still in active use
764     * </p> 
765         */
766        public Organization setActive( boolean theBoolean) {
767                myActive = new BooleanDt(theBoolean); 
768                return this; 
769        }
770
771 
772        /**
773         * Gets the value(s) for <b>type</b> (class).
774         * creating it if it does
775         * not exist. Will not return <code>null</code>.
776         *
777     * <p>
778     * <b>Definition:</b>
779     * The kind of organization that this is
780     * </p> 
781         */
782        public CodeableConceptDt getType() {  
783                if (myType == null) {
784                        myType = new CodeableConceptDt();
785                }
786                return myType;
787        }
788
789        /**
790         * Sets the value(s) for <b>type</b> (class)
791         *
792     * <p>
793     * <b>Definition:</b>
794     * The kind of organization that this is
795     * </p> 
796         */
797        public Organization setType(CodeableConceptDt theValue) {
798                myType = theValue;
799                return this;
800        }
801        
802        
803
804  
805        /**
806         * Gets the value(s) for <b>name</b> ().
807         * creating it if it does
808         * not exist. Will not return <code>null</code>.
809         *
810     * <p>
811     * <b>Definition:</b>
812     * A name associated with the organization
813     * </p> 
814         */
815        public StringDt getNameElement() {  
816                if (myName == null) {
817                        myName = new StringDt();
818                }
819                return myName;
820        }
821
822        
823        /**
824         * Gets the value(s) for <b>name</b> ().
825         * creating it if it does
826         * not exist. This method may return <code>null</code>.
827         *
828     * <p>
829     * <b>Definition:</b>
830     * A name associated with the organization
831     * </p> 
832         */
833        public String getName() {  
834                return getNameElement().getValue();
835        }
836
837        /**
838         * Sets the value(s) for <b>name</b> ()
839         *
840     * <p>
841     * <b>Definition:</b>
842     * A name associated with the organization
843     * </p> 
844         */
845        public Organization setName(StringDt theValue) {
846                myName = theValue;
847                return this;
848        }
849        
850        
851
852        /**
853         * Sets the value for <b>name</b> ()
854         *
855     * <p>
856     * <b>Definition:</b>
857     * A name associated with the organization
858     * </p> 
859         */
860        public Organization setName( String theString) {
861                myName = new StringDt(theString); 
862                return this; 
863        }
864
865 
866        /**
867         * Gets the value(s) for <b>telecom</b> ().
868         * creating it if it does
869         * not exist. Will not return <code>null</code>.
870         *
871     * <p>
872     * <b>Definition:</b>
873     * A contact detail for the organization
874     * </p> 
875         */
876        public java.util.List<ContactPointDt> getTelecom() {  
877                if (myTelecom == null) {
878                        myTelecom = new java.util.ArrayList<ContactPointDt>();
879                }
880                return myTelecom;
881        }
882
883        /**
884         * Sets the value(s) for <b>telecom</b> ()
885         *
886     * <p>
887     * <b>Definition:</b>
888     * A contact detail for the organization
889     * </p> 
890         */
891        public Organization setTelecom(java.util.List<ContactPointDt> theValue) {
892                myTelecom = theValue;
893                return this;
894        }
895        
896        
897
898        /**
899         * Adds and returns a new value for <b>telecom</b> ()
900         *
901     * <p>
902     * <b>Definition:</b>
903     * A contact detail for the organization
904     * </p> 
905         */
906        public ContactPointDt addTelecom() {
907                ContactPointDt newType = new ContactPointDt();
908                getTelecom().add(newType);
909                return newType; 
910        }
911
912        /**
913         * Adds a given new value for <b>telecom</b> ()
914         *
915         * <p>
916         * <b>Definition:</b>
917         * A contact detail for the organization
918         * </p>
919         * @param theValue The telecom to add (must not be <code>null</code>)
920         */
921        public Organization addTelecom(ContactPointDt theValue) {
922                if (theValue == null) {
923                        throw new NullPointerException("theValue must not be null");
924                }
925                getTelecom().add(theValue);
926                return this;
927        }
928
929        /**
930         * Gets the first repetition for <b>telecom</b> (),
931         * creating it if it does not already exist.
932         *
933     * <p>
934     * <b>Definition:</b>
935     * A contact detail for the organization
936     * </p> 
937         */
938        public ContactPointDt getTelecomFirstRep() {
939                if (getTelecom().isEmpty()) {
940                        return addTelecom();
941                }
942                return getTelecom().get(0); 
943        }
944  
945        /**
946         * Gets the value(s) for <b>address</b> ().
947         * creating it if it does
948         * not exist. Will not return <code>null</code>.
949         *
950     * <p>
951     * <b>Definition:</b>
952     * An address for the organization
953     * </p> 
954         */
955        public java.util.List<AddressDt> getAddress() {  
956                if (myAddress == null) {
957                        myAddress = new java.util.ArrayList<AddressDt>();
958                }
959                return myAddress;
960        }
961
962        /**
963         * Sets the value(s) for <b>address</b> ()
964         *
965     * <p>
966     * <b>Definition:</b>
967     * An address for the organization
968     * </p> 
969         */
970        public Organization setAddress(java.util.List<AddressDt> theValue) {
971                myAddress = theValue;
972                return this;
973        }
974        
975        
976
977        /**
978         * Adds and returns a new value for <b>address</b> ()
979         *
980     * <p>
981     * <b>Definition:</b>
982     * An address for the organization
983     * </p> 
984         */
985        public AddressDt addAddress() {
986                AddressDt newType = new AddressDt();
987                getAddress().add(newType);
988                return newType; 
989        }
990
991        /**
992         * Adds a given new value for <b>address</b> ()
993         *
994         * <p>
995         * <b>Definition:</b>
996         * An address for the organization
997         * </p>
998         * @param theValue The address to add (must not be <code>null</code>)
999         */
1000        public Organization addAddress(AddressDt theValue) {
1001                if (theValue == null) {
1002                        throw new NullPointerException("theValue must not be null");
1003                }
1004                getAddress().add(theValue);
1005                return this;
1006        }
1007
1008        /**
1009         * Gets the first repetition for <b>address</b> (),
1010         * creating it if it does not already exist.
1011         *
1012     * <p>
1013     * <b>Definition:</b>
1014     * An address for the organization
1015     * </p> 
1016         */
1017        public AddressDt getAddressFirstRep() {
1018                if (getAddress().isEmpty()) {
1019                        return addAddress();
1020                }
1021                return getAddress().get(0); 
1022        }
1023  
1024        /**
1025         * Gets the value(s) for <b>partOf</b> ().
1026         * creating it if it does
1027         * not exist. Will not return <code>null</code>.
1028         *
1029     * <p>
1030     * <b>Definition:</b>
1031     * The organization of which this organization forms a part
1032     * </p> 
1033         */
1034        public ResourceReferenceDt getPartOf() {  
1035                if (myPartOf == null) {
1036                        myPartOf = new ResourceReferenceDt();
1037                }
1038                return myPartOf;
1039        }
1040
1041        /**
1042         * Sets the value(s) for <b>partOf</b> ()
1043         *
1044     * <p>
1045     * <b>Definition:</b>
1046     * The organization of which this organization forms a part
1047     * </p> 
1048         */
1049        public Organization setPartOf(ResourceReferenceDt theValue) {
1050                myPartOf = theValue;
1051                return this;
1052        }
1053        
1054        
1055
1056  
1057        /**
1058         * Gets the value(s) for <b>contact</b> ().
1059         * creating it if it does
1060         * not exist. Will not return <code>null</code>.
1061         *
1062     * <p>
1063     * <b>Definition:</b>
1064     * 
1065     * </p> 
1066         */
1067        public java.util.List<Contact> getContact() {  
1068                if (myContact == null) {
1069                        myContact = new java.util.ArrayList<Contact>();
1070                }
1071                return myContact;
1072        }
1073
1074        /**
1075         * Sets the value(s) for <b>contact</b> ()
1076         *
1077     * <p>
1078     * <b>Definition:</b>
1079     * 
1080     * </p> 
1081         */
1082        public Organization setContact(java.util.List<Contact> theValue) {
1083                myContact = theValue;
1084                return this;
1085        }
1086        
1087        
1088
1089        /**
1090         * Adds and returns a new value for <b>contact</b> ()
1091         *
1092     * <p>
1093     * <b>Definition:</b>
1094     * 
1095     * </p> 
1096         */
1097        public Contact addContact() {
1098                Contact newType = new Contact();
1099                getContact().add(newType);
1100                return newType; 
1101        }
1102
1103        /**
1104         * Adds a given new value for <b>contact</b> ()
1105         *
1106         * <p>
1107         * <b>Definition:</b>
1108         * 
1109         * </p>
1110         * @param theValue The contact to add (must not be <code>null</code>)
1111         */
1112        public Organization addContact(Contact theValue) {
1113                if (theValue == null) {
1114                        throw new NullPointerException("theValue must not be null");
1115                }
1116                getContact().add(theValue);
1117                return this;
1118        }
1119
1120        /**
1121         * Gets the first repetition for <b>contact</b> (),
1122         * creating it if it does not already exist.
1123         *
1124     * <p>
1125     * <b>Definition:</b>
1126     * 
1127     * </p> 
1128         */
1129        public Contact getContactFirstRep() {
1130                if (getContact().isEmpty()) {
1131                        return addContact();
1132                }
1133                return getContact().get(0); 
1134        }
1135  
1136        /**
1137         * Block class for child element: <b>Organization.contact</b> ()
1138         *
1139     * <p>
1140     * <b>Definition:</b>
1141     * 
1142     * </p> 
1143         */
1144        @Block()        
1145        public static class Contact 
1146            extends  BaseIdentifiableElement        implements IResourceBlock {
1147        
1148        @Child(name="purpose", type=CodeableConceptDt.class, order=0, min=0, max=1, summary=false, modifier=false)      
1149        @Description(
1150                shortDefinition="",
1151                formalDefinition="Indicates a purpose for which the contact can be reached"
1152        )
1153        @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/valueset-contactentity-type")
1154        private CodeableConceptDt myPurpose;
1155        
1156        @Child(name="name", type=HumanNameDt.class, order=1, min=0, max=1, summary=false, modifier=false)       
1157        @Description(
1158                shortDefinition="",
1159                formalDefinition="A name associated with the contact"
1160        )
1161        private HumanNameDt myName;
1162        
1163        @Child(name="telecom", type=ContactPointDt.class, order=2, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false)       
1164        @Description(
1165                shortDefinition="",
1166                formalDefinition="A contact detail (e.g. a telephone number or an email address) by which the party may be contacted."
1167        )
1168        private java.util.List<ContactPointDt> myTelecom;
1169        
1170        @Child(name="address", type=AddressDt.class, order=3, min=0, max=1, summary=false, modifier=false)      
1171        @Description(
1172                shortDefinition="",
1173                formalDefinition="Visiting or postal addresses for the contact"
1174        )
1175        private AddressDt myAddress;
1176        
1177
1178        @Override
1179        public boolean isEmpty() {
1180                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  myPurpose,  myName,  myTelecom,  myAddress);
1181        }
1182        
1183        @Override
1184        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
1185                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myPurpose, myName, myTelecom, myAddress);
1186        }
1187
1188        /**
1189         * Gets the value(s) for <b>purpose</b> ().
1190         * creating it if it does
1191         * not exist. Will not return <code>null</code>.
1192         *
1193     * <p>
1194     * <b>Definition:</b>
1195     * Indicates a purpose for which the contact can be reached
1196     * </p> 
1197         */
1198        public CodeableConceptDt getPurpose() {  
1199                if (myPurpose == null) {
1200                        myPurpose = new CodeableConceptDt();
1201                }
1202                return myPurpose;
1203        }
1204
1205        /**
1206         * Sets the value(s) for <b>purpose</b> ()
1207         *
1208     * <p>
1209     * <b>Definition:</b>
1210     * Indicates a purpose for which the contact can be reached
1211     * </p> 
1212         */
1213        public Contact setPurpose(CodeableConceptDt theValue) {
1214                myPurpose = theValue;
1215                return this;
1216        }
1217        
1218        
1219
1220  
1221        /**
1222         * Gets the value(s) for <b>name</b> ().
1223         * creating it if it does
1224         * not exist. Will not return <code>null</code>.
1225         *
1226     * <p>
1227     * <b>Definition:</b>
1228     * A name associated with the contact
1229     * </p> 
1230         */
1231        public HumanNameDt getName() {  
1232                if (myName == null) {
1233                        myName = new HumanNameDt();
1234                }
1235                return myName;
1236        }
1237
1238        /**
1239         * Sets the value(s) for <b>name</b> ()
1240         *
1241     * <p>
1242     * <b>Definition:</b>
1243     * A name associated with the contact
1244     * </p> 
1245         */
1246        public Contact setName(HumanNameDt theValue) {
1247                myName = theValue;
1248                return this;
1249        }
1250        
1251        
1252
1253  
1254        /**
1255         * Gets the value(s) for <b>telecom</b> ().
1256         * creating it if it does
1257         * not exist. Will not return <code>null</code>.
1258         *
1259     * <p>
1260     * <b>Definition:</b>
1261     * A contact detail (e.g. a telephone number or an email address) by which the party may be contacted.
1262     * </p> 
1263         */
1264        public java.util.List<ContactPointDt> getTelecom() {  
1265                if (myTelecom == null) {
1266                        myTelecom = new java.util.ArrayList<ContactPointDt>();
1267                }
1268                return myTelecom;
1269        }
1270
1271        /**
1272         * Sets the value(s) for <b>telecom</b> ()
1273         *
1274     * <p>
1275     * <b>Definition:</b>
1276     * A contact detail (e.g. a telephone number or an email address) by which the party may be contacted.
1277     * </p> 
1278         */
1279        public Contact setTelecom(java.util.List<ContactPointDt> theValue) {
1280                myTelecom = theValue;
1281                return this;
1282        }
1283        
1284        
1285
1286        /**
1287         * Adds and returns a new value for <b>telecom</b> ()
1288         *
1289     * <p>
1290     * <b>Definition:</b>
1291     * A contact detail (e.g. a telephone number or an email address) by which the party may be contacted.
1292     * </p> 
1293         */
1294        public ContactPointDt addTelecom() {
1295                ContactPointDt newType = new ContactPointDt();
1296                getTelecom().add(newType);
1297                return newType; 
1298        }
1299
1300        /**
1301         * Adds a given new value for <b>telecom</b> ()
1302         *
1303         * <p>
1304         * <b>Definition:</b>
1305         * A contact detail (e.g. a telephone number or an email address) by which the party may be contacted.
1306         * </p>
1307         * @param theValue The telecom to add (must not be <code>null</code>)
1308         */
1309        public Contact addTelecom(ContactPointDt theValue) {
1310                if (theValue == null) {
1311                        throw new NullPointerException("theValue must not be null");
1312                }
1313                getTelecom().add(theValue);
1314                return this;
1315        }
1316
1317        /**
1318         * Gets the first repetition for <b>telecom</b> (),
1319         * creating it if it does not already exist.
1320         *
1321     * <p>
1322     * <b>Definition:</b>
1323     * A contact detail (e.g. a telephone number or an email address) by which the party may be contacted.
1324     * </p> 
1325         */
1326        public ContactPointDt getTelecomFirstRep() {
1327                if (getTelecom().isEmpty()) {
1328                        return addTelecom();
1329                }
1330                return getTelecom().get(0); 
1331        }
1332  
1333        /**
1334         * Gets the value(s) for <b>address</b> ().
1335         * creating it if it does
1336         * not exist. Will not return <code>null</code>.
1337         *
1338     * <p>
1339     * <b>Definition:</b>
1340     * Visiting or postal addresses for the contact
1341     * </p> 
1342         */
1343        public AddressDt getAddress() {  
1344                if (myAddress == null) {
1345                        myAddress = new AddressDt();
1346                }
1347                return myAddress;
1348        }
1349
1350        /**
1351         * Sets the value(s) for <b>address</b> ()
1352         *
1353     * <p>
1354     * <b>Definition:</b>
1355     * Visiting or postal addresses for the contact
1356     * </p> 
1357         */
1358        public Contact setAddress(AddressDt theValue) {
1359                myAddress = theValue;
1360                return this;
1361        }
1362        
1363        
1364
1365  
1366
1367
1368        }
1369
1370
1371
1372
1373    @Override
1374    public String getResourceName() {
1375        return "Organization";
1376    }
1377    
1378    public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() {
1379        return ca.uhn.fhir.context.FhirVersionEnum.DSTU2;
1380    }
1381
1382
1383}