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.valueset.AnimalSpeciesEnum;
042import ca.uhn.fhir.model.dstu2.composite.AnnotationDt;
043import ca.uhn.fhir.model.dstu2.valueset.AnswerFormatEnum;
044import ca.uhn.fhir.model.dstu2.resource.Appointment;
045import ca.uhn.fhir.model.dstu2.valueset.AppointmentStatusEnum;
046import ca.uhn.fhir.model.dstu2.valueset.AssertionDirectionTypeEnum;
047import ca.uhn.fhir.model.dstu2.valueset.AssertionOperatorTypeEnum;
048import ca.uhn.fhir.model.dstu2.valueset.AssertionResponseTypesEnum;
049import ca.uhn.fhir.model.dstu2.composite.AttachmentDt;
050import ca.uhn.fhir.model.dstu2.valueset.AuditEventActionEnum;
051import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectLifecycleEnum;
052import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectRoleEnum;
053import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectTypeEnum;
054import ca.uhn.fhir.model.dstu2.valueset.AuditEventOutcomeEnum;
055import ca.uhn.fhir.model.dstu2.valueset.AuditEventParticipantNetworkTypeEnum;
056import ca.uhn.fhir.model.dstu2.valueset.AuditEventSourceTypeEnum;
057import ca.uhn.fhir.model.dstu2.valueset.BindingStrengthEnum;
058import ca.uhn.fhir.model.dstu2.resource.BodySite;
059import ca.uhn.fhir.model.dstu2.valueset.BundleTypeEnum;
060import ca.uhn.fhir.model.dstu2.resource.CarePlan;
061import ca.uhn.fhir.model.dstu2.valueset.CarePlanActivityCategoryEnum;
062import ca.uhn.fhir.model.dstu2.valueset.CarePlanActivityStatusEnum;
063import ca.uhn.fhir.model.dstu2.valueset.CarePlanRelationshipEnum;
064import ca.uhn.fhir.model.dstu2.valueset.CarePlanStatusEnum;
065import ca.uhn.fhir.model.dstu2.resource.Claim;
066import ca.uhn.fhir.model.dstu2.resource.ClaimResponse;
067import ca.uhn.fhir.model.dstu2.valueset.ClaimTypeEnum;
068import ca.uhn.fhir.model.dstu2.resource.ClinicalImpression;
069import ca.uhn.fhir.model.dstu2.valueset.ClinicalImpressionStatusEnum;
070import ca.uhn.fhir.model.dstu2.composite.CodeableConceptDt;
071import ca.uhn.fhir.model.dstu2.composite.CodingDt;
072import ca.uhn.fhir.model.dstu2.resource.CommunicationRequest;
073import ca.uhn.fhir.model.dstu2.valueset.CommunicationRequestStatusEnum;
074import ca.uhn.fhir.model.dstu2.valueset.CommunicationStatusEnum;
075import ca.uhn.fhir.model.dstu2.resource.Composition;
076import ca.uhn.fhir.model.dstu2.valueset.CompositionAttestationModeEnum;
077import ca.uhn.fhir.model.dstu2.valueset.CompositionStatusEnum;
078import ca.uhn.fhir.model.dstu2.valueset.ConceptMapEquivalenceEnum;
079import ca.uhn.fhir.model.dstu2.resource.Condition;
080import ca.uhn.fhir.model.dstu2.valueset.ConditionCategoryCodesEnum;
081import ca.uhn.fhir.model.dstu2.valueset.ConditionClinicalStatusCodesEnum;
082import ca.uhn.fhir.model.dstu2.valueset.ConditionVerificationStatusEnum;
083import ca.uhn.fhir.model.dstu2.valueset.ConditionalDeleteStatusEnum;
084import ca.uhn.fhir.model.dstu2.valueset.ConditionsCodesEnum;
085import ca.uhn.fhir.model.dstu2.resource.Conformance;
086import ca.uhn.fhir.model.dstu2.valueset.ConformanceEventModeEnum;
087import ca.uhn.fhir.model.dstu2.valueset.ConformanceResourceStatusEnum;
088import ca.uhn.fhir.model.dstu2.valueset.ConformanceStatementKindEnum;
089import ca.uhn.fhir.model.dstu2.composite.ContactPointDt;
090import ca.uhn.fhir.model.dstu2.valueset.ContentTypeEnum;
091import ca.uhn.fhir.model.dstu2.resource.Contract;
092import ca.uhn.fhir.model.dstu2.valueset.ContractActionCodesEnum;
093import ca.uhn.fhir.model.dstu2.valueset.ContractActorRoleCodesEnum;
094import ca.uhn.fhir.model.dstu2.valueset.ContractSubtypeCodesEnum;
095import ca.uhn.fhir.model.dstu2.valueset.ContractTermTypeCodesEnum;
096import ca.uhn.fhir.model.dstu2.valueset.ContractTypeCodesEnum;
097import ca.uhn.fhir.model.dstu2.resource.Coverage;
098import ca.uhn.fhir.model.dstu2.valueset.DataElementStringencyEnum;
099import ca.uhn.fhir.model.dstu2.valueset.DaysOfWeekEnum;
100import ca.uhn.fhir.model.dstu2.valueset.DetectedIssueSeverityEnum;
101import ca.uhn.fhir.model.dstu2.resource.Device;
102import ca.uhn.fhir.model.dstu2.resource.DeviceComponent;
103import ca.uhn.fhir.model.dstu2.resource.DeviceMetric;
104import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationStateEnum;
105import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationTypeEnum;
106import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCategoryEnum;
107import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricColorEnum;
108import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricOperationalStatusEnum;
109import ca.uhn.fhir.model.dstu2.valueset.DeviceStatusEnum;
110import ca.uhn.fhir.model.dstu2.resource.DeviceUseRequest;
111import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestPriorityEnum;
112import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestStatusEnum;
113import ca.uhn.fhir.model.dstu2.resource.DiagnosticOrder;
114import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderPriorityEnum;
115import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderStatusEnum;
116import ca.uhn.fhir.model.dstu2.resource.DiagnosticReport;
117import ca.uhn.fhir.model.dstu2.valueset.DiagnosticReportStatusEnum;
118import ca.uhn.fhir.model.dstu2.valueset.DigitalMediaTypeEnum;
119import ca.uhn.fhir.model.dstu2.valueset.DocumentModeEnum;
120import ca.uhn.fhir.model.dstu2.resource.DocumentReference;
121import ca.uhn.fhir.model.dstu2.valueset.DocumentReferenceStatusEnum;
122import ca.uhn.fhir.model.dstu2.valueset.DocumentRelationshipTypeEnum;
123import ca.uhn.fhir.model.dstu2.composite.ElementDefinitionDt;
124import ca.uhn.fhir.model.dstu2.resource.EligibilityRequest;
125import ca.uhn.fhir.model.dstu2.resource.Encounter;
126import ca.uhn.fhir.model.dstu2.valueset.EncounterClassEnum;
127import ca.uhn.fhir.model.dstu2.valueset.EncounterLocationStatusEnum;
128import ca.uhn.fhir.model.dstu2.valueset.EncounterStateEnum;
129import ca.uhn.fhir.model.dstu2.valueset.EncounterTypeEnum;
130import ca.uhn.fhir.model.dstu2.resource.EnrollmentRequest;
131import ca.uhn.fhir.model.dstu2.valueset.EnteralFormulaTypeCodesEnum;
132import ca.uhn.fhir.model.dstu2.resource.EpisodeOfCare;
133import ca.uhn.fhir.model.dstu2.valueset.EpisodeOfCareStatusEnum;
134import ca.uhn.fhir.model.dstu2.valueset.ExceptionCodesEnum;
135import ca.uhn.fhir.model.dstu2.valueset.ExtensionContextEnum;
136import ca.uhn.fhir.model.dstu2.valueset.FamilyHistoryStatusEnum;
137import ca.uhn.fhir.model.dstu2.resource.FamilyMemberHistory;
138import ca.uhn.fhir.model.dstu2.valueset.FilterOperatorEnum;
139import ca.uhn.fhir.model.dstu2.valueset.FlagCategoryCodesEnum;
140import ca.uhn.fhir.model.dstu2.valueset.FlagStatusEnum;
141import ca.uhn.fhir.model.dstu2.valueset.FluidConsistencyTypeCodesEnum;
142import ca.uhn.fhir.model.dstu2.resource.Goal;
143import ca.uhn.fhir.model.dstu2.valueset.GoalCategoryEnum;
144import ca.uhn.fhir.model.dstu2.valueset.GoalPriorityEnum;
145import ca.uhn.fhir.model.dstu2.valueset.GoalStartEventEnum;
146import ca.uhn.fhir.model.dstu2.valueset.GoalStatusEnum;
147import ca.uhn.fhir.model.dstu2.valueset.GoalStatusReasonEnum;
148import ca.uhn.fhir.model.dstu2.resource.Group;
149import ca.uhn.fhir.model.dstu2.valueset.GroupTypeEnum;
150import ca.uhn.fhir.model.dstu2.valueset.GuideDependencyTypeEnum;
151import ca.uhn.fhir.model.dstu2.valueset.GuidePageKindEnum;
152import ca.uhn.fhir.model.dstu2.valueset.GuideResourcePurposeEnum;
153import ca.uhn.fhir.model.dstu2.valueset.HTTPVerbEnum;
154import ca.uhn.fhir.model.dstu2.resource.HealthcareService;
155import ca.uhn.fhir.model.dstu2.composite.HumanNameDt;
156import ca.uhn.fhir.model.dstu2.composite.IdentifierDt;
157import ca.uhn.fhir.model.dstu2.valueset.IdentifierTypeCodesEnum;
158import ca.uhn.fhir.model.dstu2.valueset.IdentityAssuranceLevelEnum;
159import ca.uhn.fhir.model.dstu2.resource.ImagingObjectSelection;
160import ca.uhn.fhir.model.dstu2.resource.ImagingStudy;
161import ca.uhn.fhir.model.dstu2.resource.Immunization;
162import ca.uhn.fhir.model.dstu2.valueset.ImmunizationReasonCodesEnum;
163import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRecommendationDateCriterionCodesEnum;
164import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRecommendationStatusCodesEnum;
165import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRouteCodesEnum;
166import ca.uhn.fhir.model.dstu2.valueset.InstanceAvailabilityEnum;
167import ca.uhn.fhir.model.dstu2.valueset.InterventionCodesEnum;
168import ca.uhn.fhir.model.dstu2.valueset.IssueSeverityEnum;
169import ca.uhn.fhir.model.dstu2.valueset.IssueTypeEnum;
170import ca.uhn.fhir.model.dstu2.valueset.KOStitleEnum;
171import ca.uhn.fhir.model.dstu2.valueset.LateralityEnum;
172import ca.uhn.fhir.model.dstu2.valueset.LinkTypeEnum;
173import ca.uhn.fhir.model.dstu2.valueset.ListModeEnum;
174import ca.uhn.fhir.model.dstu2.valueset.ListOrderCodesEnum;
175import ca.uhn.fhir.model.dstu2.valueset.ListStatusEnum;
176import ca.uhn.fhir.model.dstu2.resource.Location;
177import ca.uhn.fhir.model.dstu2.valueset.LocationModeEnum;
178import ca.uhn.fhir.model.dstu2.valueset.LocationStatusEnum;
179import ca.uhn.fhir.model.dstu2.valueset.LocationTypeEnum;
180import ca.uhn.fhir.model.dstu2.valueset.MaritalStatusCodesEnum;
181import ca.uhn.fhir.model.dstu2.valueset.MeasmntPrincipleEnum;
182import ca.uhn.fhir.model.dstu2.resource.Media;
183import ca.uhn.fhir.model.dstu2.resource.Medication;
184import ca.uhn.fhir.model.dstu2.valueset.MedicationAdministrationStatusEnum;
185import ca.uhn.fhir.model.dstu2.valueset.MedicationDispenseStatusEnum;
186import ca.uhn.fhir.model.dstu2.resource.MedicationOrder;
187import ca.uhn.fhir.model.dstu2.valueset.MedicationOrderStatusEnum;
188import ca.uhn.fhir.model.dstu2.resource.MedicationStatement;
189import ca.uhn.fhir.model.dstu2.valueset.MedicationStatementStatusEnum;
190import ca.uhn.fhir.model.dstu2.valueset.MessageEventEnum;
191import ca.uhn.fhir.model.dstu2.valueset.MessageSignificanceCategoryEnum;
192import ca.uhn.fhir.model.dstu2.valueset.MessageTransportEnum;
193import ca.uhn.fhir.model.dstu2.resource.NamingSystem;
194import ca.uhn.fhir.model.dstu2.valueset.NamingSystemIdentifierTypeEnum;
195import ca.uhn.fhir.model.dstu2.valueset.NamingSystemTypeEnum;
196import ca.uhn.fhir.model.dstu2.valueset.NoteTypeEnum;
197import ca.uhn.fhir.model.dstu2.valueset.NutrientModifierCodesEnum;
198import ca.uhn.fhir.model.dstu2.resource.NutritionOrder;
199import ca.uhn.fhir.model.dstu2.valueset.NutritionOrderStatusEnum;
200import ca.uhn.fhir.model.dstu2.resource.Observation;
201import ca.uhn.fhir.model.dstu2.valueset.ObservationCategoryCodesEnum;
202import ca.uhn.fhir.model.dstu2.valueset.ObservationRelationshipTypeEnum;
203import ca.uhn.fhir.model.dstu2.valueset.ObservationStatusEnum;
204import ca.uhn.fhir.model.dstu2.resource.OperationDefinition;
205import ca.uhn.fhir.model.dstu2.valueset.OperationKindEnum;
206import ca.uhn.fhir.model.dstu2.resource.OperationOutcome;
207import ca.uhn.fhir.model.dstu2.valueset.OperationParameterUseEnum;
208import ca.uhn.fhir.model.dstu2.resource.Order;
209import ca.uhn.fhir.model.dstu2.valueset.OrderStatusEnum;
210import ca.uhn.fhir.model.dstu2.resource.Organization;
211import ca.uhn.fhir.model.dstu2.valueset.OrganizationTypeEnum;
212import ca.uhn.fhir.model.dstu2.valueset.ParticipantRequiredEnum;
213import ca.uhn.fhir.model.dstu2.valueset.ParticipantStatusEnum;
214import ca.uhn.fhir.model.dstu2.valueset.ParticipantTypeEnum;
215import ca.uhn.fhir.model.dstu2.valueset.ParticipationStatusEnum;
216import ca.uhn.fhir.model.dstu2.resource.Patient;
217import ca.uhn.fhir.model.dstu2.valueset.PayeeTypeCodesEnum;
218import ca.uhn.fhir.model.dstu2.valueset.PaymentStatusCodesEnum;
219import ca.uhn.fhir.model.dstu2.valueset.PaymentTypeCodesEnum;
220import ca.uhn.fhir.model.dstu2.composite.PeriodDt;
221import ca.uhn.fhir.model.dstu2.resource.Person;
222import ca.uhn.fhir.model.dstu2.resource.Practitioner;
223import ca.uhn.fhir.model.dstu2.valueset.PractitionerRoleEnum;
224import ca.uhn.fhir.model.dstu2.valueset.PractitionerSpecialtyEnum;
225import ca.uhn.fhir.model.dstu2.valueset.PriorityCodesEnum;
226import ca.uhn.fhir.model.dstu2.resource.Procedure;
227import ca.uhn.fhir.model.dstu2.resource.ProcedureRequest;
228import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestPriorityEnum;
229import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestStatusEnum;
230import ca.uhn.fhir.model.dstu2.valueset.ProcedureStatusEnum;
231import ca.uhn.fhir.model.dstu2.resource.ProcessRequest;
232import ca.uhn.fhir.model.dstu2.valueset.ProvenanceEntityRoleEnum;
233import ca.uhn.fhir.model.dstu2.composite.QuantityDt;
234import ca.uhn.fhir.model.dstu2.resource.Questionnaire;
235import ca.uhn.fhir.model.dstu2.resource.QuestionnaireResponse;
236import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireResponseStatusEnum;
237import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireStatusEnum;
238import ca.uhn.fhir.model.dstu2.composite.RangeDt;
239import ca.uhn.fhir.model.dstu2.composite.RatioDt;
240import ca.uhn.fhir.model.dstu2.valueset.ReferralMethodEnum;
241import ca.uhn.fhir.model.dstu2.resource.ReferralRequest;
242import ca.uhn.fhir.model.dstu2.valueset.ReferralStatusEnum;
243import ca.uhn.fhir.model.dstu2.resource.RelatedPerson;
244import ca.uhn.fhir.model.dstu2.valueset.RemittanceOutcomeEnum;
245import ca.uhn.fhir.model.dstu2.valueset.ResourceTypeEnum;
246import ca.uhn.fhir.model.dstu2.valueset.ResourceVersionPolicyEnum;
247import ca.uhn.fhir.model.dstu2.valueset.ResponseTypeEnum;
248import ca.uhn.fhir.model.dstu2.valueset.RestfulConformanceModeEnum;
249import ca.uhn.fhir.model.dstu2.valueset.RestfulSecurityServiceEnum;
250import ca.uhn.fhir.model.dstu2.resource.RiskAssessment;
251import ca.uhn.fhir.model.dstu2.valueset.RulesetCodesEnum;
252import ca.uhn.fhir.model.dstu2.composite.SampledDataDt;
253import ca.uhn.fhir.model.dstu2.resource.Schedule;
254import ca.uhn.fhir.model.dstu2.valueset.SearchEntryModeEnum;
255import ca.uhn.fhir.model.dstu2.valueset.SearchModifierCodeEnum;
256import ca.uhn.fhir.model.dstu2.valueset.SearchParamTypeEnum;
257import ca.uhn.fhir.model.dstu2.valueset.ServiceProvisionConditionsEnum;
258import ca.uhn.fhir.model.dstu2.composite.SignatureDt;
259import ca.uhn.fhir.model.dstu2.resource.Slot;
260import ca.uhn.fhir.model.dstu2.valueset.SlotStatusEnum;
261import ca.uhn.fhir.model.dstu2.resource.Specimen;
262import ca.uhn.fhir.model.dstu2.valueset.SpecimenCollectionMethodEnum;
263import ca.uhn.fhir.model.dstu2.valueset.SpecimenStatusEnum;
264import ca.uhn.fhir.model.dstu2.resource.StructureDefinition;
265import ca.uhn.fhir.model.dstu2.valueset.StructureDefinitionKindEnum;
266import ca.uhn.fhir.model.dstu2.valueset.SubscriptionChannelTypeEnum;
267import ca.uhn.fhir.model.dstu2.valueset.SubscriptionStatusEnum;
268import ca.uhn.fhir.model.dstu2.valueset.SubscriptionTagEnum;
269import ca.uhn.fhir.model.dstu2.resource.Substance;
270import ca.uhn.fhir.model.dstu2.valueset.SubstanceCategoryCodesEnum;
271import ca.uhn.fhir.model.dstu2.valueset.SupplementTypeCodesEnum;
272import ca.uhn.fhir.model.dstu2.valueset.SupplyDeliveryStatusEnum;
273import ca.uhn.fhir.model.dstu2.resource.SupplyRequest;
274import ca.uhn.fhir.model.dstu2.valueset.SupplyRequestReasonEnum;
275import ca.uhn.fhir.model.dstu2.valueset.SupplyRequestStatusEnum;
276import ca.uhn.fhir.model.dstu2.valueset.SurfaceCodesEnum;
277import ca.uhn.fhir.model.dstu2.valueset.SystemRestfulInteractionEnum;
278import ca.uhn.fhir.model.api.TemporalPrecisionEnum;
279import ca.uhn.fhir.model.dstu2.valueset.TextureModifiedFoodTypeCodesEnum;
280import ca.uhn.fhir.model.dstu2.valueset.TextureModifierCodesEnum;
281import ca.uhn.fhir.model.dstu2.composite.TimingDt;
282import ca.uhn.fhir.model.dstu2.valueset.TransactionModeEnum;
283import ca.uhn.fhir.model.dstu2.valueset.TypeRestfulInteractionEnum;
284import ca.uhn.fhir.model.dstu2.valueset.UDICodesEnum;
285import ca.uhn.fhir.model.dstu2.valueset.UnknownContentCodeEnum;
286import ca.uhn.fhir.model.dstu2.valueset.UseEnum;
287import ca.uhn.fhir.model.dstu2.resource.ValueSet;
288import ca.uhn.fhir.model.dstu2.valueset.VisionBaseEnum;
289import ca.uhn.fhir.model.dstu2.valueset.VisionEyesEnum;
290import ca.uhn.fhir.model.dstu2.resource.VisionPrescription;
291import ca.uhn.fhir.model.dstu2.valueset.XPathUsageTypeEnum;
292import ca.uhn.fhir.model.api.IResource;
293import ca.uhn.fhir.model.dstu2.composite.AgeDt;
294import ca.uhn.fhir.model.dstu2.composite.BoundCodeableConceptDt;
295import ca.uhn.fhir.model.dstu2.composite.DurationDt;
296import ca.uhn.fhir.model.dstu2.composite.MoneyDt;
297import ca.uhn.fhir.model.dstu2.composite.NarrativeDt;
298import ca.uhn.fhir.model.dstu2.composite.ResourceReferenceDt;
299import ca.uhn.fhir.model.dstu2.composite.SimpleQuantityDt;
300import ca.uhn.fhir.model.primitive.Base64BinaryDt;
301import ca.uhn.fhir.model.primitive.BooleanDt;
302import ca.uhn.fhir.model.primitive.BoundCodeDt;
303import ca.uhn.fhir.model.primitive.CodeDt;
304import ca.uhn.fhir.model.primitive.DateDt;
305import ca.uhn.fhir.model.primitive.DateTimeDt;
306import ca.uhn.fhir.model.primitive.DecimalDt;
307import ca.uhn.fhir.model.primitive.IdDt;
308import ca.uhn.fhir.model.primitive.InstantDt;
309import ca.uhn.fhir.model.primitive.IntegerDt;
310import ca.uhn.fhir.model.primitive.OidDt;
311import ca.uhn.fhir.model.primitive.PositiveIntDt;
312import ca.uhn.fhir.model.primitive.StringDt;
313import ca.uhn.fhir.model.primitive.TimeDt;
314import ca.uhn.fhir.model.primitive.UnsignedIntDt;
315import ca.uhn.fhir.model.primitive.UriDt;
316
317
318/**
319 * HAPI/FHIR <b>ImagingObjectSelection</b> Resource
320 * (clinical.diagnostics)
321 *
322 * <p>
323 * <b>Definition:</b>
324 * A manifest of a set of DICOM Service-Object Pair Instances (SOP Instances).  The referenced SOP Instances (images or other content) are for a single patient, and may be from one or more studies. The referenced SOP Instances have been selected for a purpose, such as quality assurance, conference, or consult. Reflecting that range of purposes, typical ImagingObjectSelection resources may include all SOP Instances in a study (perhaps for sharing through a Health Information Exchange); key images from multiple studies (for reference by a referring or treating physician); a multi-frame ultrasound instance (\"cine\" video clip) and a set of measurements taken from that instance (for inclusion in a teaching file); and so on.
325 * </p> 
326 *
327 * <p>
328 * <b>Requirements:</b>
329 * A FHIR representation of DICOM Key Object Selection (KOS) SOP Instances enables access to a set of selected DICOM SOP Instances.
330 * </p> 
331 *
332 * <p>
333 * <b>Profile Definition:</b>
334 * <a href="http://hl7.org/fhir/profiles/ImagingObjectSelection">http://hl7.org/fhir/profiles/ImagingObjectSelection</a> 
335 * </p>
336 *
337 */
338@ResourceDef(name="ImagingObjectSelection", profile="http://hl7.org/fhir/profiles/ImagingObjectSelection", id="imagingobjectselection")
339public class ImagingObjectSelection extends ca.uhn.fhir.model.dstu2.resource.BaseResource
340    implements  IResource     {
341
342        /**
343         * Search parameter constant for <b>identifier</b>
344         * <p>
345         * Description: <b>UID of key DICOM object selection</b><br>
346         * Type: <b>uri</b><br>
347         * Path: <b>ImagingObjectSelection.uid</b><br>
348         * </p>
349         */
350        @SearchParamDefinition(name="identifier", path="ImagingObjectSelection.uid", description="UID of key DICOM object selection", type="uri"  )
351        public static final String SP_IDENTIFIER = "identifier";
352
353        /**
354         * <b>Fluent Client</b> search parameter constant for <b>identifier</b>
355         * <p>
356         * Description: <b>UID of key DICOM object selection</b><br>
357         * Type: <b>uri</b><br>
358         * Path: <b>ImagingObjectSelection.uid</b><br>
359         * </p>
360         */
361        public static final UriClientParam IDENTIFIER = new UriClientParam(SP_IDENTIFIER);
362
363        /**
364         * Search parameter constant for <b>title</b>
365         * <p>
366         * Description: <b>Title of key DICOM object selection</b><br>
367         * Type: <b>token</b><br>
368         * Path: <b>ImagingObjectSelection.title</b><br>
369         * </p>
370         */
371        @SearchParamDefinition(name="title", path="ImagingObjectSelection.title", description="Title of key DICOM object selection", type="token"  )
372        public static final String SP_TITLE = "title";
373
374        /**
375         * <b>Fluent Client</b> search parameter constant for <b>title</b>
376         * <p>
377         * Description: <b>Title of key DICOM object selection</b><br>
378         * Type: <b>token</b><br>
379         * Path: <b>ImagingObjectSelection.title</b><br>
380         * </p>
381         */
382        public static final TokenClientParam TITLE = new TokenClientParam(SP_TITLE);
383
384        /**
385         * Search parameter constant for <b>author</b>
386         * <p>
387         * Description: <b>Author of key DICOM object selection</b><br>
388         * Type: <b>reference</b><br>
389         * Path: <b>ImagingObjectSelection.author</b><br>
390         * </p>
391         */
392        @SearchParamDefinition(name="author", path="ImagingObjectSelection.author", description="Author of key DICOM object selection", type="reference"  )
393        public static final String SP_AUTHOR = "author";
394
395        /**
396         * <b>Fluent Client</b> search parameter constant for <b>author</b>
397         * <p>
398         * Description: <b>Author of key DICOM object selection</b><br>
399         * Type: <b>reference</b><br>
400         * Path: <b>ImagingObjectSelection.author</b><br>
401         * </p>
402         */
403        public static final ReferenceClientParam AUTHOR = new ReferenceClientParam(SP_AUTHOR);
404
405        /**
406         * Search parameter constant for <b>authoring-time</b>
407         * <p>
408         * Description: <b>Time of key DICOM object selection authoring</b><br>
409         * Type: <b>date</b><br>
410         * Path: <b>ImagingObjectSelection.authoringTime</b><br>
411         * </p>
412         */
413        @SearchParamDefinition(name="authoring-time", path="ImagingObjectSelection.authoringTime", description="Time of key DICOM object selection authoring", type="date"  )
414        public static final String SP_AUTHORING_TIME = "authoring-time";
415
416        /**
417         * <b>Fluent Client</b> search parameter constant for <b>authoring-time</b>
418         * <p>
419         * Description: <b>Time of key DICOM object selection authoring</b><br>
420         * Type: <b>date</b><br>
421         * Path: <b>ImagingObjectSelection.authoringTime</b><br>
422         * </p>
423         */
424        public static final DateClientParam AUTHORING_TIME = new DateClientParam(SP_AUTHORING_TIME);
425
426        /**
427         * Search parameter constant for <b>patient</b>
428         * <p>
429         * Description: <b>Subject of key DICOM object selection</b><br>
430         * Type: <b>reference</b><br>
431         * Path: <b>ImagingObjectSelection.patient</b><br>
432         * </p>
433         */
434        @SearchParamDefinition(name="patient", path="ImagingObjectSelection.patient", description="Subject of key DICOM object selection", type="reference"  )
435        public static final String SP_PATIENT = "patient";
436
437        /**
438         * <b>Fluent Client</b> search parameter constant for <b>patient</b>
439         * <p>
440         * Description: <b>Subject of key DICOM object selection</b><br>
441         * Type: <b>reference</b><br>
442         * Path: <b>ImagingObjectSelection.patient</b><br>
443         * </p>
444         */
445        public static final ReferenceClientParam PATIENT = new ReferenceClientParam(SP_PATIENT);
446
447        /**
448         * Search parameter constant for <b>selected-study</b>
449         * <p>
450         * Description: <b>Study selected in key DICOM object selection</b><br>
451         * Type: <b>uri</b><br>
452         * Path: <b>ImagingObjectSelection.study.uid</b><br>
453         * </p>
454         */
455        @SearchParamDefinition(name="selected-study", path="ImagingObjectSelection.study.uid", description="Study selected in key DICOM object selection", type="uri"  )
456        public static final String SP_SELECTED_STUDY = "selected-study";
457
458        /**
459         * <b>Fluent Client</b> search parameter constant for <b>selected-study</b>
460         * <p>
461         * Description: <b>Study selected in key DICOM object selection</b><br>
462         * Type: <b>uri</b><br>
463         * Path: <b>ImagingObjectSelection.study.uid</b><br>
464         * </p>
465         */
466        public static final UriClientParam SELECTED_STUDY = new UriClientParam(SP_SELECTED_STUDY);
467
468
469        /**
470         * Constant for fluent queries to be used to add include statements. Specifies
471         * the path value of "<b>ImagingObjectSelection:author</b>".
472         */
473        public static final Include INCLUDE_AUTHOR = new Include("ImagingObjectSelection:author");
474
475        /**
476         * Constant for fluent queries to be used to add include statements. Specifies
477         * the path value of "<b>ImagingObjectSelection:patient</b>".
478         */
479        public static final Include INCLUDE_PATIENT = new Include("ImagingObjectSelection:patient");
480
481
482        @Child(name="uid", type=OidDt.class, order=0, min=1, max=1, summary=false, modifier=false)      
483        @Description(
484                shortDefinition="id",
485                formalDefinition="Instance UID of the DICOM KOS SOP Instances represented in this resource."
486        )
487        private OidDt myUid;
488        
489        @Child(name="patient", order=1, min=1, max=1, summary=false, modifier=false, type={
490                ca.uhn.fhir.model.dstu2.resource.Patient.class  })
491        @Description(
492                shortDefinition="who.focus",
493                formalDefinition="A patient resource reference which is the patient subject of all DICOM SOP Instances in this ImagingObjectSelection."
494        )
495        private ResourceReferenceDt myPatient;
496        
497        @Child(name="title", type=CodeableConceptDt.class, order=2, min=1, max=1, summary=false, modifier=false)        
498        @Description(
499                shortDefinition="",
500                formalDefinition="The reason for, or significance of, the selection of objects referenced in the resource"
501        )
502        private BoundCodeableConceptDt<KOStitleEnum> myTitle;
503        
504        @Child(name="description", type=StringDt.class, order=3, min=0, max=1, summary=false, modifier=false)   
505        @Description(
506                shortDefinition="",
507                formalDefinition="Text description of the DICOM SOP instances selected in the ImagingObjectSelection. This should be aligned with the content of the title element, and can provide further explanation of the SOP instances in the selection."
508        )
509        private StringDt myDescription;
510        
511        @Child(name="author", order=4, min=0, max=1, summary=false, modifier=false, type={
512                ca.uhn.fhir.model.dstu2.resource.Practitioner.class,            ca.uhn.fhir.model.dstu2.resource.Device.class,          ca.uhn.fhir.model.dstu2.resource.Organization.class,            ca.uhn.fhir.model.dstu2.resource.Patient.class,                 ca.uhn.fhir.model.dstu2.resource.RelatedPerson.class    })
513        @Description(
514                shortDefinition="who.author",
515                formalDefinition="Author of ImagingObjectSelection. It can be a human author or a device which made the decision of the SOP instances selected. For example, a radiologist selected a set of imaging SOP instances to attach in a diagnostic report, and a CAD application may author a selection to describe SOP instances it used to generate a detection conclusion."
516        )
517        private ResourceReferenceDt myAuthor;
518        
519        @Child(name="authoringTime", type=DateTimeDt.class, order=5, min=0, max=1, summary=false, modifier=false)       
520        @Description(
521                shortDefinition="when.recorded",
522                formalDefinition="Date and time when the selection of the referenced instances were made. It is (typically) different from the creation date of the selection resource, and from dates associated with the referenced instances (e.g. capture time of the referenced image)."
523        )
524        private DateTimeDt myAuthoringTime;
525        
526        @Child(name="study", order=6, min=1, max=Child.MAX_UNLIMITED, summary=false, modifier=false)    
527        @Description(
528                shortDefinition="",
529                formalDefinition="Study identity and locating information of the DICOM SOP instances in the selection."
530        )
531        private java.util.List<Study> myStudy;
532        
533
534        @Override
535        public boolean isEmpty() {
536                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  myUid,  myPatient,  myTitle,  myDescription,  myAuthor,  myAuthoringTime,  myStudy);
537        }
538        
539        @Override
540        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
541                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myUid, myPatient, myTitle, myDescription, myAuthor, myAuthoringTime, myStudy);
542        }
543
544        /**
545         * Gets the value(s) for <b>uid</b> (id).
546         * creating it if it does
547         * not exist. Will not return <code>null</code>.
548         *
549     * <p>
550     * <b>Definition:</b>
551     * Instance UID of the DICOM KOS SOP Instances represented in this resource.
552     * </p> 
553         */
554        public OidDt getUidElement() {  
555                if (myUid == null) {
556                        myUid = new OidDt();
557                }
558                return myUid;
559        }
560
561        
562        /**
563         * Gets the value(s) for <b>uid</b> (id).
564         * creating it if it does
565         * not exist. Will not return <code>null</code>.
566         *
567     * <p>
568     * <b>Definition:</b>
569     * Instance UID of the DICOM KOS SOP Instances represented in this resource.
570     * </p> 
571         */
572        public String getUid() {  
573                return getUidElement().getValue();
574        }
575
576        /**
577         * Sets the value(s) for <b>uid</b> (id)
578         *
579     * <p>
580     * <b>Definition:</b>
581     * Instance UID of the DICOM KOS SOP Instances represented in this resource.
582     * </p> 
583         */
584        public ImagingObjectSelection setUid(OidDt theValue) {
585                myUid = theValue;
586                return this;
587        }
588        
589        
590
591  
592        /**
593         * Gets the value(s) for <b>patient</b> (who.focus).
594         * creating it if it does
595         * not exist. Will not return <code>null</code>.
596         *
597     * <p>
598     * <b>Definition:</b>
599     * A patient resource reference which is the patient subject of all DICOM SOP Instances in this ImagingObjectSelection.
600     * </p> 
601         */
602        public ResourceReferenceDt getPatient() {  
603                if (myPatient == null) {
604                        myPatient = new ResourceReferenceDt();
605                }
606                return myPatient;
607        }
608
609        /**
610         * Sets the value(s) for <b>patient</b> (who.focus)
611         *
612     * <p>
613     * <b>Definition:</b>
614     * A patient resource reference which is the patient subject of all DICOM SOP Instances in this ImagingObjectSelection.
615     * </p> 
616         */
617        public ImagingObjectSelection setPatient(ResourceReferenceDt theValue) {
618                myPatient = theValue;
619                return this;
620        }
621        
622        
623
624  
625        /**
626         * Gets the value(s) for <b>title</b> ().
627         * creating it if it does
628         * not exist. Will not return <code>null</code>.
629         *
630     * <p>
631     * <b>Definition:</b>
632     * The reason for, or significance of, the selection of objects referenced in the resource
633     * </p> 
634         */
635        public BoundCodeableConceptDt<KOStitleEnum> getTitle() {  
636                if (myTitle == null) {
637                        myTitle = new BoundCodeableConceptDt<KOStitleEnum>(KOStitleEnum.VALUESET_BINDER);
638                }
639                return myTitle;
640        }
641
642        /**
643         * Sets the value(s) for <b>title</b> ()
644         *
645     * <p>
646     * <b>Definition:</b>
647     * The reason for, or significance of, the selection of objects referenced in the resource
648     * </p> 
649         */
650        public ImagingObjectSelection setTitle(BoundCodeableConceptDt<KOStitleEnum> theValue) {
651                myTitle = theValue;
652                return this;
653        }
654        
655        
656
657        /**
658         * Sets the value(s) for <b>title</b> ()
659         *
660     * <p>
661     * <b>Definition:</b>
662     * The reason for, or significance of, the selection of objects referenced in the resource
663     * </p> 
664         */
665        public ImagingObjectSelection setTitle(KOStitleEnum theValue) {
666                setTitle(new BoundCodeableConceptDt<KOStitleEnum>(KOStitleEnum.VALUESET_BINDER, theValue));
667                
668/*
669                getTitle().setValueAsEnum(theValue);
670*/
671                return this;
672        }
673
674  
675        /**
676         * Gets the value(s) for <b>description</b> ().
677         * creating it if it does
678         * not exist. Will not return <code>null</code>.
679         *
680     * <p>
681     * <b>Definition:</b>
682     * Text description of the DICOM SOP instances selected in the ImagingObjectSelection. This should be aligned with the content of the title element, and can provide further explanation of the SOP instances in the selection.
683     * </p> 
684         */
685        public StringDt getDescriptionElement() {  
686                if (myDescription == null) {
687                        myDescription = new StringDt();
688                }
689                return myDescription;
690        }
691
692        
693        /**
694         * Gets the value(s) for <b>description</b> ().
695         * creating it if it does
696         * not exist. Will not return <code>null</code>.
697         *
698     * <p>
699     * <b>Definition:</b>
700     * Text description of the DICOM SOP instances selected in the ImagingObjectSelection. This should be aligned with the content of the title element, and can provide further explanation of the SOP instances in the selection.
701     * </p> 
702         */
703        public String getDescription() {  
704                return getDescriptionElement().getValue();
705        }
706
707        /**
708         * Sets the value(s) for <b>description</b> ()
709         *
710     * <p>
711     * <b>Definition:</b>
712     * Text description of the DICOM SOP instances selected in the ImagingObjectSelection. This should be aligned with the content of the title element, and can provide further explanation of the SOP instances in the selection.
713     * </p> 
714         */
715        public ImagingObjectSelection setDescription(StringDt theValue) {
716                myDescription = theValue;
717                return this;
718        }
719        
720        
721
722        /**
723         * Sets the value for <b>description</b> ()
724         *
725     * <p>
726     * <b>Definition:</b>
727     * Text description of the DICOM SOP instances selected in the ImagingObjectSelection. This should be aligned with the content of the title element, and can provide further explanation of the SOP instances in the selection.
728     * </p> 
729         */
730        public ImagingObjectSelection setDescription( String theString) {
731                myDescription = new StringDt(theString); 
732                return this; 
733        }
734
735 
736        /**
737         * Gets the value(s) for <b>author</b> (who.author).
738         * creating it if it does
739         * not exist. Will not return <code>null</code>.
740         *
741     * <p>
742     * <b>Definition:</b>
743     * Author of ImagingObjectSelection. It can be a human author or a device which made the decision of the SOP instances selected. For example, a radiologist selected a set of imaging SOP instances to attach in a diagnostic report, and a CAD application may author a selection to describe SOP instances it used to generate a detection conclusion.
744     * </p> 
745         */
746        public ResourceReferenceDt getAuthor() {  
747                if (myAuthor == null) {
748                        myAuthor = new ResourceReferenceDt();
749                }
750                return myAuthor;
751        }
752
753        /**
754         * Sets the value(s) for <b>author</b> (who.author)
755         *
756     * <p>
757     * <b>Definition:</b>
758     * Author of ImagingObjectSelection. It can be a human author or a device which made the decision of the SOP instances selected. For example, a radiologist selected a set of imaging SOP instances to attach in a diagnostic report, and a CAD application may author a selection to describe SOP instances it used to generate a detection conclusion.
759     * </p> 
760         */
761        public ImagingObjectSelection setAuthor(ResourceReferenceDt theValue) {
762                myAuthor = theValue;
763                return this;
764        }
765        
766        
767
768  
769        /**
770         * Gets the value(s) for <b>authoringTime</b> (when.recorded).
771         * creating it if it does
772         * not exist. Will not return <code>null</code>.
773         *
774     * <p>
775     * <b>Definition:</b>
776     * Date and time when the selection of the referenced instances were made. It is (typically) different from the creation date of the selection resource, and from dates associated with the referenced instances (e.g. capture time of the referenced image).
777     * </p> 
778         */
779        public DateTimeDt getAuthoringTimeElement() {  
780                if (myAuthoringTime == null) {
781                        myAuthoringTime = new DateTimeDt();
782                }
783                return myAuthoringTime;
784        }
785
786        
787        /**
788         * Gets the value(s) for <b>authoringTime</b> (when.recorded).
789         * creating it if it does
790         * not exist. Will not return <code>null</code>.
791         *
792     * <p>
793     * <b>Definition:</b>
794     * Date and time when the selection of the referenced instances were made. It is (typically) different from the creation date of the selection resource, and from dates associated with the referenced instances (e.g. capture time of the referenced image).
795     * </p> 
796         */
797        public Date getAuthoringTime() {  
798                return getAuthoringTimeElement().getValue();
799        }
800
801        /**
802         * Sets the value(s) for <b>authoringTime</b> (when.recorded)
803         *
804     * <p>
805     * <b>Definition:</b>
806     * Date and time when the selection of the referenced instances were made. It is (typically) different from the creation date of the selection resource, and from dates associated with the referenced instances (e.g. capture time of the referenced image).
807     * </p> 
808         */
809        public ImagingObjectSelection setAuthoringTime(DateTimeDt theValue) {
810                myAuthoringTime = theValue;
811                return this;
812        }
813        
814        
815
816        /**
817         * Sets the value for <b>authoringTime</b> (when.recorded)
818         *
819     * <p>
820     * <b>Definition:</b>
821     * Date and time when the selection of the referenced instances were made. It is (typically) different from the creation date of the selection resource, and from dates associated with the referenced instances (e.g. capture time of the referenced image).
822     * </p> 
823         */
824        public ImagingObjectSelection setAuthoringTime( Date theDate,  TemporalPrecisionEnum thePrecision) {
825                myAuthoringTime = new DateTimeDt(theDate, thePrecision); 
826                return this; 
827        }
828
829        /**
830         * Sets the value for <b>authoringTime</b> (when.recorded)
831         *
832     * <p>
833     * <b>Definition:</b>
834     * Date and time when the selection of the referenced instances were made. It is (typically) different from the creation date of the selection resource, and from dates associated with the referenced instances (e.g. capture time of the referenced image).
835     * </p> 
836         */
837        public ImagingObjectSelection setAuthoringTimeWithSecondsPrecision( Date theDate) {
838                myAuthoringTime = new DateTimeDt(theDate); 
839                return this; 
840        }
841
842 
843        /**
844         * Gets the value(s) for <b>study</b> ().
845         * creating it if it does
846         * not exist. Will not return <code>null</code>.
847         *
848     * <p>
849     * <b>Definition:</b>
850     * Study identity and locating information of the DICOM SOP instances in the selection.
851     * </p> 
852         */
853        public java.util.List<Study> getStudy() {  
854                if (myStudy == null) {
855                        myStudy = new java.util.ArrayList<Study>();
856                }
857                return myStudy;
858        }
859
860        /**
861         * Sets the value(s) for <b>study</b> ()
862         *
863     * <p>
864     * <b>Definition:</b>
865     * Study identity and locating information of the DICOM SOP instances in the selection.
866     * </p> 
867         */
868        public ImagingObjectSelection setStudy(java.util.List<Study> theValue) {
869                myStudy = theValue;
870                return this;
871        }
872        
873        
874
875        /**
876         * Adds and returns a new value for <b>study</b> ()
877         *
878     * <p>
879     * <b>Definition:</b>
880     * Study identity and locating information of the DICOM SOP instances in the selection.
881     * </p> 
882         */
883        public Study addStudy() {
884                Study newType = new Study();
885                getStudy().add(newType);
886                return newType; 
887        }
888
889        /**
890         * Adds a given new value for <b>study</b> ()
891         *
892         * <p>
893         * <b>Definition:</b>
894         * Study identity and locating information of the DICOM SOP instances in the selection.
895         * </p>
896         * @param theValue The study to add (must not be <code>null</code>)
897         */
898        public ImagingObjectSelection addStudy(Study theValue) {
899                if (theValue == null) {
900                        throw new NullPointerException("theValue must not be null");
901                }
902                getStudy().add(theValue);
903                return this;
904        }
905
906        /**
907         * Gets the first repetition for <b>study</b> (),
908         * creating it if it does not already exist.
909         *
910     * <p>
911     * <b>Definition:</b>
912     * Study identity and locating information of the DICOM SOP instances in the selection.
913     * </p> 
914         */
915        public Study getStudyFirstRep() {
916                if (getStudy().isEmpty()) {
917                        return addStudy();
918                }
919                return getStudy().get(0); 
920        }
921  
922        /**
923         * Block class for child element: <b>ImagingObjectSelection.study</b> ()
924         *
925     * <p>
926     * <b>Definition:</b>
927     * Study identity and locating information of the DICOM SOP instances in the selection.
928     * </p> 
929         */
930        @Block()        
931        public static class Study 
932            extends  BaseIdentifiableElement        implements IResourceBlock {
933        
934        @Child(name="uid", type=OidDt.class, order=0, min=1, max=1, summary=false, modifier=false)      
935        @Description(
936                shortDefinition="",
937                formalDefinition="Study instance UID of the SOP instances in the selection"
938        )
939        private OidDt myUid;
940        
941        @Child(name="url", type=UriDt.class, order=1, min=0, max=1, summary=false, modifier=false)      
942        @Description(
943                shortDefinition="",
944                formalDefinition="WADO-RS URL to retrieve the study. Note that this URL retrieves all SOP instances of the study, not only those in the selection."
945        )
946        private UriDt myUrl;
947        
948        @Child(name="imagingStudy", order=2, min=0, max=1, summary=false, modifier=false, type={
949                ca.uhn.fhir.model.dstu2.resource.ImagingStudy.class     })
950        @Description(
951                shortDefinition="",
952                formalDefinition="Reference to the Imaging Study in FHIR form."
953        )
954        private ResourceReferenceDt myImagingStudy;
955        
956        @Child(name="series", order=3, min=1, max=Child.MAX_UNLIMITED, summary=false, modifier=false)   
957        @Description(
958                shortDefinition="",
959                formalDefinition="Series identity and locating information of the DICOM SOP instances in the selection"
960        )
961        private java.util.List<StudySeries> mySeries;
962        
963
964        @Override
965        public boolean isEmpty() {
966                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  myUid,  myUrl,  myImagingStudy,  mySeries);
967        }
968        
969        @Override
970        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
971                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myUid, myUrl, myImagingStudy, mySeries);
972        }
973
974        /**
975         * Gets the value(s) for <b>uid</b> ().
976         * creating it if it does
977         * not exist. Will not return <code>null</code>.
978         *
979     * <p>
980     * <b>Definition:</b>
981     * Study instance UID of the SOP instances in the selection
982     * </p> 
983         */
984        public OidDt getUidElement() {  
985                if (myUid == null) {
986                        myUid = new OidDt();
987                }
988                return myUid;
989        }
990
991        
992        /**
993         * Gets the value(s) for <b>uid</b> ().
994         * creating it if it does
995         * not exist. Will not return <code>null</code>.
996         *
997     * <p>
998     * <b>Definition:</b>
999     * Study instance UID of the SOP instances in the selection
1000     * </p> 
1001         */
1002        public String getUid() {  
1003                return getUidElement().getValue();
1004        }
1005
1006        /**
1007         * Sets the value(s) for <b>uid</b> ()
1008         *
1009     * <p>
1010     * <b>Definition:</b>
1011     * Study instance UID of the SOP instances in the selection
1012     * </p> 
1013         */
1014        public Study setUid(OidDt theValue) {
1015                myUid = theValue;
1016                return this;
1017        }
1018        
1019        
1020
1021  
1022        /**
1023         * Gets the value(s) for <b>url</b> ().
1024         * creating it if it does
1025         * not exist. Will not return <code>null</code>.
1026         *
1027     * <p>
1028     * <b>Definition:</b>
1029     * WADO-RS URL to retrieve the study. Note that this URL retrieves all SOP instances of the study, not only those in the selection.
1030     * </p> 
1031         */
1032        public UriDt getUrlElement() {  
1033                if (myUrl == null) {
1034                        myUrl = new UriDt();
1035                }
1036                return myUrl;
1037        }
1038
1039        
1040        /**
1041         * Gets the value(s) for <b>url</b> ().
1042         * creating it if it does
1043         * not exist. Will not return <code>null</code>.
1044         *
1045     * <p>
1046     * <b>Definition:</b>
1047     * WADO-RS URL to retrieve the study. Note that this URL retrieves all SOP instances of the study, not only those in the selection.
1048     * </p> 
1049         */
1050        public String getUrl() {  
1051                return getUrlElement().getValue();
1052        }
1053
1054        /**
1055         * Sets the value(s) for <b>url</b> ()
1056         *
1057     * <p>
1058     * <b>Definition:</b>
1059     * WADO-RS URL to retrieve the study. Note that this URL retrieves all SOP instances of the study, not only those in the selection.
1060     * </p> 
1061         */
1062        public Study setUrl(UriDt theValue) {
1063                myUrl = theValue;
1064                return this;
1065        }
1066        
1067        
1068
1069        /**
1070         * Sets the value for <b>url</b> ()
1071         *
1072     * <p>
1073     * <b>Definition:</b>
1074     * WADO-RS URL to retrieve the study. Note that this URL retrieves all SOP instances of the study, not only those in the selection.
1075     * </p> 
1076         */
1077        public Study setUrl( String theUri) {
1078                myUrl = new UriDt(theUri); 
1079                return this; 
1080        }
1081
1082 
1083        /**
1084         * Gets the value(s) for <b>imagingStudy</b> ().
1085         * creating it if it does
1086         * not exist. Will not return <code>null</code>.
1087         *
1088     * <p>
1089     * <b>Definition:</b>
1090     * Reference to the Imaging Study in FHIR form.
1091     * </p> 
1092         */
1093        public ResourceReferenceDt getImagingStudy() {  
1094                if (myImagingStudy == null) {
1095                        myImagingStudy = new ResourceReferenceDt();
1096                }
1097                return myImagingStudy;
1098        }
1099
1100        /**
1101         * Sets the value(s) for <b>imagingStudy</b> ()
1102         *
1103     * <p>
1104     * <b>Definition:</b>
1105     * Reference to the Imaging Study in FHIR form.
1106     * </p> 
1107         */
1108        public Study setImagingStudy(ResourceReferenceDt theValue) {
1109                myImagingStudy = theValue;
1110                return this;
1111        }
1112        
1113        
1114
1115  
1116        /**
1117         * Gets the value(s) for <b>series</b> ().
1118         * creating it if it does
1119         * not exist. Will not return <code>null</code>.
1120         *
1121     * <p>
1122     * <b>Definition:</b>
1123     * Series identity and locating information of the DICOM SOP instances in the selection
1124     * </p> 
1125         */
1126        public java.util.List<StudySeries> getSeries() {  
1127                if (mySeries == null) {
1128                        mySeries = new java.util.ArrayList<StudySeries>();
1129                }
1130                return mySeries;
1131        }
1132
1133        /**
1134         * Sets the value(s) for <b>series</b> ()
1135         *
1136     * <p>
1137     * <b>Definition:</b>
1138     * Series identity and locating information of the DICOM SOP instances in the selection
1139     * </p> 
1140         */
1141        public Study setSeries(java.util.List<StudySeries> theValue) {
1142                mySeries = theValue;
1143                return this;
1144        }
1145        
1146        
1147
1148        /**
1149         * Adds and returns a new value for <b>series</b> ()
1150         *
1151     * <p>
1152     * <b>Definition:</b>
1153     * Series identity and locating information of the DICOM SOP instances in the selection
1154     * </p> 
1155         */
1156        public StudySeries addSeries() {
1157                StudySeries newType = new StudySeries();
1158                getSeries().add(newType);
1159                return newType; 
1160        }
1161
1162        /**
1163         * Adds a given new value for <b>series</b> ()
1164         *
1165         * <p>
1166         * <b>Definition:</b>
1167         * Series identity and locating information of the DICOM SOP instances in the selection
1168         * </p>
1169         * @param theValue The series to add (must not be <code>null</code>)
1170         */
1171        public Study addSeries(StudySeries theValue) {
1172                if (theValue == null) {
1173                        throw new NullPointerException("theValue must not be null");
1174                }
1175                getSeries().add(theValue);
1176                return this;
1177        }
1178
1179        /**
1180         * Gets the first repetition for <b>series</b> (),
1181         * creating it if it does not already exist.
1182         *
1183     * <p>
1184     * <b>Definition:</b>
1185     * Series identity and locating information of the DICOM SOP instances in the selection
1186     * </p> 
1187         */
1188        public StudySeries getSeriesFirstRep() {
1189                if (getSeries().isEmpty()) {
1190                        return addSeries();
1191                }
1192                return getSeries().get(0); 
1193        }
1194  
1195
1196
1197        }
1198
1199        /**
1200         * Block class for child element: <b>ImagingObjectSelection.study.series</b> ()
1201         *
1202     * <p>
1203     * <b>Definition:</b>
1204     * Series identity and locating information of the DICOM SOP instances in the selection
1205     * </p> 
1206         */
1207        @Block()        
1208        public static class StudySeries 
1209            extends  BaseIdentifiableElement        implements IResourceBlock {
1210        
1211        @Child(name="uid", type=OidDt.class, order=0, min=0, max=1, summary=false, modifier=false)      
1212        @Description(
1213                shortDefinition="",
1214                formalDefinition="Series instance UID of the SOP instances in the selection"
1215        )
1216        private OidDt myUid;
1217        
1218        @Child(name="url", type=UriDt.class, order=1, min=0, max=1, summary=false, modifier=false)      
1219        @Description(
1220                shortDefinition="",
1221                formalDefinition="WADO-RS URL to retrieve the series. Note that this URL retrieves all SOP instances of the series not only those in the selection."
1222        )
1223        private UriDt myUrl;
1224        
1225        @Child(name="instance", order=2, min=1, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 
1226        @Description(
1227                shortDefinition="",
1228                formalDefinition="Identity and locating information of the selected DICOM SOP instances"
1229        )
1230        private java.util.List<StudySeriesInstance> myInstance;
1231        
1232
1233        @Override
1234        public boolean isEmpty() {
1235                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  myUid,  myUrl,  myInstance);
1236        }
1237        
1238        @Override
1239        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
1240                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myUid, myUrl, myInstance);
1241        }
1242
1243        /**
1244         * Gets the value(s) for <b>uid</b> ().
1245         * creating it if it does
1246         * not exist. Will not return <code>null</code>.
1247         *
1248     * <p>
1249     * <b>Definition:</b>
1250     * Series instance UID of the SOP instances in the selection
1251     * </p> 
1252         */
1253        public OidDt getUidElement() {  
1254                if (myUid == null) {
1255                        myUid = new OidDt();
1256                }
1257                return myUid;
1258        }
1259
1260        
1261        /**
1262         * Gets the value(s) for <b>uid</b> ().
1263         * creating it if it does
1264         * not exist. Will not return <code>null</code>.
1265         *
1266     * <p>
1267     * <b>Definition:</b>
1268     * Series instance UID of the SOP instances in the selection
1269     * </p> 
1270         */
1271        public String getUid() {  
1272                return getUidElement().getValue();
1273        }
1274
1275        /**
1276         * Sets the value(s) for <b>uid</b> ()
1277         *
1278     * <p>
1279     * <b>Definition:</b>
1280     * Series instance UID of the SOP instances in the selection
1281     * </p> 
1282         */
1283        public StudySeries setUid(OidDt theValue) {
1284                myUid = theValue;
1285                return this;
1286        }
1287        
1288        
1289
1290  
1291        /**
1292         * Gets the value(s) for <b>url</b> ().
1293         * creating it if it does
1294         * not exist. Will not return <code>null</code>.
1295         *
1296     * <p>
1297     * <b>Definition:</b>
1298     * WADO-RS URL to retrieve the series. Note that this URL retrieves all SOP instances of the series not only those in the selection.
1299     * </p> 
1300         */
1301        public UriDt getUrlElement() {  
1302                if (myUrl == null) {
1303                        myUrl = new UriDt();
1304                }
1305                return myUrl;
1306        }
1307
1308        
1309        /**
1310         * Gets the value(s) for <b>url</b> ().
1311         * creating it if it does
1312         * not exist. Will not return <code>null</code>.
1313         *
1314     * <p>
1315     * <b>Definition:</b>
1316     * WADO-RS URL to retrieve the series. Note that this URL retrieves all SOP instances of the series not only those in the selection.
1317     * </p> 
1318         */
1319        public String getUrl() {  
1320                return getUrlElement().getValue();
1321        }
1322
1323        /**
1324         * Sets the value(s) for <b>url</b> ()
1325         *
1326     * <p>
1327     * <b>Definition:</b>
1328     * WADO-RS URL to retrieve the series. Note that this URL retrieves all SOP instances of the series not only those in the selection.
1329     * </p> 
1330         */
1331        public StudySeries setUrl(UriDt theValue) {
1332                myUrl = theValue;
1333                return this;
1334        }
1335        
1336        
1337
1338        /**
1339         * Sets the value for <b>url</b> ()
1340         *
1341     * <p>
1342     * <b>Definition:</b>
1343     * WADO-RS URL to retrieve the series. Note that this URL retrieves all SOP instances of the series not only those in the selection.
1344     * </p> 
1345         */
1346        public StudySeries setUrl( String theUri) {
1347                myUrl = new UriDt(theUri); 
1348                return this; 
1349        }
1350
1351 
1352        /**
1353         * Gets the value(s) for <b>instance</b> ().
1354         * creating it if it does
1355         * not exist. Will not return <code>null</code>.
1356         *
1357     * <p>
1358     * <b>Definition:</b>
1359     * Identity and locating information of the selected DICOM SOP instances
1360     * </p> 
1361         */
1362        public java.util.List<StudySeriesInstance> getInstance() {  
1363                if (myInstance == null) {
1364                        myInstance = new java.util.ArrayList<StudySeriesInstance>();
1365                }
1366                return myInstance;
1367        }
1368
1369        /**
1370         * Sets the value(s) for <b>instance</b> ()
1371         *
1372     * <p>
1373     * <b>Definition:</b>
1374     * Identity and locating information of the selected DICOM SOP instances
1375     * </p> 
1376         */
1377        public StudySeries setInstance(java.util.List<StudySeriesInstance> theValue) {
1378                myInstance = theValue;
1379                return this;
1380        }
1381        
1382        
1383
1384        /**
1385         * Adds and returns a new value for <b>instance</b> ()
1386         *
1387     * <p>
1388     * <b>Definition:</b>
1389     * Identity and locating information of the selected DICOM SOP instances
1390     * </p> 
1391         */
1392        public StudySeriesInstance addInstance() {
1393                StudySeriesInstance newType = new StudySeriesInstance();
1394                getInstance().add(newType);
1395                return newType; 
1396        }
1397
1398        /**
1399         * Adds a given new value for <b>instance</b> ()
1400         *
1401         * <p>
1402         * <b>Definition:</b>
1403         * Identity and locating information of the selected DICOM SOP instances
1404         * </p>
1405         * @param theValue The instance to add (must not be <code>null</code>)
1406         */
1407        public StudySeries addInstance(StudySeriesInstance theValue) {
1408                if (theValue == null) {
1409                        throw new NullPointerException("theValue must not be null");
1410                }
1411                getInstance().add(theValue);
1412                return this;
1413        }
1414
1415        /**
1416         * Gets the first repetition for <b>instance</b> (),
1417         * creating it if it does not already exist.
1418         *
1419     * <p>
1420     * <b>Definition:</b>
1421     * Identity and locating information of the selected DICOM SOP instances
1422     * </p> 
1423         */
1424        public StudySeriesInstance getInstanceFirstRep() {
1425                if (getInstance().isEmpty()) {
1426                        return addInstance();
1427                }
1428                return getInstance().get(0); 
1429        }
1430  
1431
1432
1433        }
1434
1435        /**
1436         * Block class for child element: <b>ImagingObjectSelection.study.series.instance</b> ()
1437         *
1438     * <p>
1439     * <b>Definition:</b>
1440     * Identity and locating information of the selected DICOM SOP instances
1441     * </p> 
1442         */
1443        @Block()        
1444        public static class StudySeriesInstance 
1445            extends  BaseIdentifiableElement        implements IResourceBlock {
1446        
1447        @Child(name="sopClass", type=OidDt.class, order=0, min=1, max=1, summary=false, modifier=false) 
1448        @Description(
1449                shortDefinition="",
1450                formalDefinition="SOP class UID of the selected instance"
1451        )
1452        private OidDt mySopClass;
1453        
1454        @Child(name="uid", type=OidDt.class, order=1, min=1, max=1, summary=false, modifier=false)      
1455        @Description(
1456                shortDefinition="",
1457                formalDefinition="SOP Instance UID of the selected instance"
1458        )
1459        private OidDt myUid;
1460        
1461        @Child(name="url", type=UriDt.class, order=2, min=1, max=1, summary=false, modifier=false)      
1462        @Description(
1463                shortDefinition="",
1464                formalDefinition="WADO-RS URL to retrieve the DICOM SOP Instance."
1465        )
1466        private UriDt myUrl;
1467        
1468        @Child(name="frames", order=3, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false)   
1469        @Description(
1470                shortDefinition="",
1471                formalDefinition="Identity and location information of the frames in the selected instance"
1472        )
1473        private java.util.List<StudySeriesInstanceFrames> myFrames;
1474        
1475
1476        @Override
1477        public boolean isEmpty() {
1478                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  mySopClass,  myUid,  myUrl,  myFrames);
1479        }
1480        
1481        @Override
1482        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
1483                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, mySopClass, myUid, myUrl, myFrames);
1484        }
1485
1486        /**
1487         * Gets the value(s) for <b>sopClass</b> ().
1488         * creating it if it does
1489         * not exist. Will not return <code>null</code>.
1490         *
1491     * <p>
1492     * <b>Definition:</b>
1493     * SOP class UID of the selected instance
1494     * </p> 
1495         */
1496        public OidDt getSopClassElement() {  
1497                if (mySopClass == null) {
1498                        mySopClass = new OidDt();
1499                }
1500                return mySopClass;
1501        }
1502
1503        
1504        /**
1505         * Gets the value(s) for <b>sopClass</b> ().
1506         * creating it if it does
1507         * not exist. Will not return <code>null</code>.
1508         *
1509     * <p>
1510     * <b>Definition:</b>
1511     * SOP class UID of the selected instance
1512     * </p> 
1513         */
1514        public String getSopClass() {  
1515                return getSopClassElement().getValue();
1516        }
1517
1518        /**
1519         * Sets the value(s) for <b>sopClass</b> ()
1520         *
1521     * <p>
1522     * <b>Definition:</b>
1523     * SOP class UID of the selected instance
1524     * </p> 
1525         */
1526        public StudySeriesInstance setSopClass(OidDt theValue) {
1527                mySopClass = theValue;
1528                return this;
1529        }
1530        
1531        
1532
1533  
1534        /**
1535         * Gets the value(s) for <b>uid</b> ().
1536         * creating it if it does
1537         * not exist. Will not return <code>null</code>.
1538         *
1539     * <p>
1540     * <b>Definition:</b>
1541     * SOP Instance UID of the selected instance
1542     * </p> 
1543         */
1544        public OidDt getUidElement() {  
1545                if (myUid == null) {
1546                        myUid = new OidDt();
1547                }
1548                return myUid;
1549        }
1550
1551        
1552        /**
1553         * Gets the value(s) for <b>uid</b> ().
1554         * creating it if it does
1555         * not exist. Will not return <code>null</code>.
1556         *
1557     * <p>
1558     * <b>Definition:</b>
1559     * SOP Instance UID of the selected instance
1560     * </p> 
1561         */
1562        public String getUid() {  
1563                return getUidElement().getValue();
1564        }
1565
1566        /**
1567         * Sets the value(s) for <b>uid</b> ()
1568         *
1569     * <p>
1570     * <b>Definition:</b>
1571     * SOP Instance UID of the selected instance
1572     * </p> 
1573         */
1574        public StudySeriesInstance setUid(OidDt theValue) {
1575                myUid = theValue;
1576                return this;
1577        }
1578        
1579        
1580
1581  
1582        /**
1583         * Gets the value(s) for <b>url</b> ().
1584         * creating it if it does
1585         * not exist. Will not return <code>null</code>.
1586         *
1587     * <p>
1588     * <b>Definition:</b>
1589     * WADO-RS URL to retrieve the DICOM SOP Instance.
1590     * </p> 
1591         */
1592        public UriDt getUrlElement() {  
1593                if (myUrl == null) {
1594                        myUrl = new UriDt();
1595                }
1596                return myUrl;
1597        }
1598
1599        
1600        /**
1601         * Gets the value(s) for <b>url</b> ().
1602         * creating it if it does
1603         * not exist. Will not return <code>null</code>.
1604         *
1605     * <p>
1606     * <b>Definition:</b>
1607     * WADO-RS URL to retrieve the DICOM SOP Instance.
1608     * </p> 
1609         */
1610        public String getUrl() {  
1611                return getUrlElement().getValue();
1612        }
1613
1614        /**
1615         * Sets the value(s) for <b>url</b> ()
1616         *
1617     * <p>
1618     * <b>Definition:</b>
1619     * WADO-RS URL to retrieve the DICOM SOP Instance.
1620     * </p> 
1621         */
1622        public StudySeriesInstance setUrl(UriDt theValue) {
1623                myUrl = theValue;
1624                return this;
1625        }
1626        
1627        
1628
1629        /**
1630         * Sets the value for <b>url</b> ()
1631         *
1632     * <p>
1633     * <b>Definition:</b>
1634     * WADO-RS URL to retrieve the DICOM SOP Instance.
1635     * </p> 
1636         */
1637        public StudySeriesInstance setUrl( String theUri) {
1638                myUrl = new UriDt(theUri); 
1639                return this; 
1640        }
1641
1642 
1643        /**
1644         * Gets the value(s) for <b>frames</b> ().
1645         * creating it if it does
1646         * not exist. Will not return <code>null</code>.
1647         *
1648     * <p>
1649     * <b>Definition:</b>
1650     * Identity and location information of the frames in the selected instance
1651     * </p> 
1652         */
1653        public java.util.List<StudySeriesInstanceFrames> getFrames() {  
1654                if (myFrames == null) {
1655                        myFrames = new java.util.ArrayList<StudySeriesInstanceFrames>();
1656                }
1657                return myFrames;
1658        }
1659
1660        /**
1661         * Sets the value(s) for <b>frames</b> ()
1662         *
1663     * <p>
1664     * <b>Definition:</b>
1665     * Identity and location information of the frames in the selected instance
1666     * </p> 
1667         */
1668        public StudySeriesInstance setFrames(java.util.List<StudySeriesInstanceFrames> theValue) {
1669                myFrames = theValue;
1670                return this;
1671        }
1672        
1673        
1674
1675        /**
1676         * Adds and returns a new value for <b>frames</b> ()
1677         *
1678     * <p>
1679     * <b>Definition:</b>
1680     * Identity and location information of the frames in the selected instance
1681     * </p> 
1682         */
1683        public StudySeriesInstanceFrames addFrames() {
1684                StudySeriesInstanceFrames newType = new StudySeriesInstanceFrames();
1685                getFrames().add(newType);
1686                return newType; 
1687        }
1688
1689        /**
1690         * Adds a given new value for <b>frames</b> ()
1691         *
1692         * <p>
1693         * <b>Definition:</b>
1694         * Identity and location information of the frames in the selected instance
1695         * </p>
1696         * @param theValue The frames to add (must not be <code>null</code>)
1697         */
1698        public StudySeriesInstance addFrames(StudySeriesInstanceFrames theValue) {
1699                if (theValue == null) {
1700                        throw new NullPointerException("theValue must not be null");
1701                }
1702                getFrames().add(theValue);
1703                return this;
1704        }
1705
1706        /**
1707         * Gets the first repetition for <b>frames</b> (),
1708         * creating it if it does not already exist.
1709         *
1710     * <p>
1711     * <b>Definition:</b>
1712     * Identity and location information of the frames in the selected instance
1713     * </p> 
1714         */
1715        public StudySeriesInstanceFrames getFramesFirstRep() {
1716                if (getFrames().isEmpty()) {
1717                        return addFrames();
1718                }
1719                return getFrames().get(0); 
1720        }
1721  
1722
1723
1724        }
1725
1726        /**
1727         * Block class for child element: <b>ImagingObjectSelection.study.series.instance.frames</b> ()
1728         *
1729     * <p>
1730     * <b>Definition:</b>
1731     * Identity and location information of the frames in the selected instance
1732     * </p> 
1733         */
1734        @Block()        
1735        public static class StudySeriesInstanceFrames 
1736            extends  BaseIdentifiableElement        implements IResourceBlock {
1737        
1738        @Child(name="frameNumbers", type=UnsignedIntDt.class, order=0, min=1, max=Child.MAX_UNLIMITED, summary=false, modifier=false)   
1739        @Description(
1740                shortDefinition="",
1741                formalDefinition="The frame numbers in the frame set"
1742        )
1743        private java.util.List<UnsignedIntDt> myFrameNumbers;
1744        
1745        @Child(name="url", type=UriDt.class, order=1, min=1, max=1, summary=false, modifier=false)      
1746        @Description(
1747                shortDefinition="",
1748                formalDefinition="WADO-RS URL to retrieve the DICOM frames."
1749        )
1750        private UriDt myUrl;
1751        
1752
1753        @Override
1754        public boolean isEmpty() {
1755                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  myFrameNumbers,  myUrl);
1756        }
1757        
1758        @Override
1759        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
1760                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myFrameNumbers, myUrl);
1761        }
1762
1763        /**
1764         * Gets the value(s) for <b>frameNumbers</b> ().
1765         * creating it if it does
1766         * not exist. Will not return <code>null</code>.
1767         *
1768     * <p>
1769     * <b>Definition:</b>
1770     * The frame numbers in the frame set
1771     * </p> 
1772         */
1773        public java.util.List<UnsignedIntDt> getFrameNumbers() {  
1774                if (myFrameNumbers == null) {
1775                        myFrameNumbers = new java.util.ArrayList<UnsignedIntDt>();
1776                }
1777                return myFrameNumbers;
1778        }
1779
1780        /**
1781         * Sets the value(s) for <b>frameNumbers</b> ()
1782         *
1783     * <p>
1784     * <b>Definition:</b>
1785     * The frame numbers in the frame set
1786     * </p> 
1787         */
1788        public StudySeriesInstanceFrames setFrameNumbers(java.util.List<UnsignedIntDt> theValue) {
1789                myFrameNumbers = theValue;
1790                return this;
1791        }
1792        
1793        
1794
1795        /**
1796         * Adds and returns a new value for <b>frameNumbers</b> ()
1797         *
1798     * <p>
1799     * <b>Definition:</b>
1800     * The frame numbers in the frame set
1801     * </p> 
1802         */
1803        public UnsignedIntDt addFrameNumbers() {
1804                UnsignedIntDt newType = new UnsignedIntDt();
1805                getFrameNumbers().add(newType);
1806                return newType; 
1807        }
1808
1809        /**
1810         * Adds a given new value for <b>frameNumbers</b> ()
1811         *
1812         * <p>
1813         * <b>Definition:</b>
1814         * The frame numbers in the frame set
1815         * </p>
1816         * @param theValue The frameNumbers to add (must not be <code>null</code>)
1817         */
1818        public StudySeriesInstanceFrames addFrameNumbers(UnsignedIntDt theValue) {
1819                if (theValue == null) {
1820                        throw new NullPointerException("theValue must not be null");
1821                }
1822                getFrameNumbers().add(theValue);
1823                return this;
1824        }
1825
1826        /**
1827         * Gets the first repetition for <b>frameNumbers</b> (),
1828         * creating it if it does not already exist.
1829         *
1830     * <p>
1831     * <b>Definition:</b>
1832     * The frame numbers in the frame set
1833     * </p> 
1834         */
1835        public UnsignedIntDt getFrameNumbersFirstRep() {
1836                if (getFrameNumbers().isEmpty()) {
1837                        return addFrameNumbers();
1838                }
1839                return getFrameNumbers().get(0); 
1840        }
1841        /**
1842         * Adds a new value for <b>frameNumbers</b> ()
1843         *
1844     * <p>
1845     * <b>Definition:</b>
1846     * The frame numbers in the frame set
1847     * </p> 
1848     *
1849     * @return Returns a reference to this object, to allow for simple chaining.
1850         */
1851        public StudySeriesInstanceFrames addFrameNumbers( int theInteger) {
1852                if (myFrameNumbers == null) {
1853                        myFrameNumbers = new java.util.ArrayList<UnsignedIntDt>();
1854                }
1855                myFrameNumbers.add(new UnsignedIntDt(theInteger));
1856                return this; 
1857        }
1858
1859 
1860        /**
1861         * Gets the value(s) for <b>url</b> ().
1862         * creating it if it does
1863         * not exist. Will not return <code>null</code>.
1864         *
1865     * <p>
1866     * <b>Definition:</b>
1867     * WADO-RS URL to retrieve the DICOM frames.
1868     * </p> 
1869         */
1870        public UriDt getUrlElement() {  
1871                if (myUrl == null) {
1872                        myUrl = new UriDt();
1873                }
1874                return myUrl;
1875        }
1876
1877        
1878        /**
1879         * Gets the value(s) for <b>url</b> ().
1880         * creating it if it does
1881         * not exist. Will not return <code>null</code>.
1882         *
1883     * <p>
1884     * <b>Definition:</b>
1885     * WADO-RS URL to retrieve the DICOM frames.
1886     * </p> 
1887         */
1888        public String getUrl() {  
1889                return getUrlElement().getValue();
1890        }
1891
1892        /**
1893         * Sets the value(s) for <b>url</b> ()
1894         *
1895     * <p>
1896     * <b>Definition:</b>
1897     * WADO-RS URL to retrieve the DICOM frames.
1898     * </p> 
1899         */
1900        public StudySeriesInstanceFrames setUrl(UriDt theValue) {
1901                myUrl = theValue;
1902                return this;
1903        }
1904        
1905        
1906
1907        /**
1908         * Sets the value for <b>url</b> ()
1909         *
1910     * <p>
1911     * <b>Definition:</b>
1912     * WADO-RS URL to retrieve the DICOM frames.
1913     * </p> 
1914         */
1915        public StudySeriesInstanceFrames setUrl( String theUri) {
1916                myUrl = new UriDt(theUri); 
1917                return this; 
1918        }
1919
1920 
1921
1922
1923        }
1924
1925
1926
1927
1928
1929
1930
1931    @Override
1932    public String getResourceName() {
1933        return "ImagingObjectSelection";
1934    }
1935    
1936    public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() {
1937        return ca.uhn.fhir.context.FhirVersionEnum.DSTU2;
1938    }
1939
1940
1941}