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>ImagingStudy</b> Resource
282 * (clinical.diagnostics)
283 *
284 * <p>
285 * <b>Definition:</b>
286 * Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context.  A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of different modalities.
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/ImagingStudy">http://hl7.org/fhir/profiles/ImagingStudy</a> 
297 * </p>
298 *
299 */
300@ResourceDef(name="ImagingStudy", profile="http://hl7.org/fhir/profiles/ImagingStudy", id="imagingstudy")
301public class ImagingStudy extends ca.uhn.fhir.model.dstu2.resource.BaseResource
302    implements  IResource     {
303
304        /**
305         * Search parameter constant for <b>patient</b>
306         * <p>
307         * Description: <b>Who the study is about</b><br>
308         * Type: <b>reference</b><br>
309         * Path: <b>ImagingStudy.patient</b><br>
310         * </p>
311         */
312        @SearchParamDefinition(name="patient", path="ImagingStudy.patient", description="Who the study is about", type="reference" , providesMembershipIn={
313 @Compartment(name="Patient")   }
314 )
315        public static final String SP_PATIENT = "patient";
316
317        /**
318         * <b>Fluent Client</b> search parameter constant for <b>patient</b>
319         * <p>
320         * Description: <b>Who the study is about</b><br>
321         * Type: <b>reference</b><br>
322         * Path: <b>ImagingStudy.patient</b><br>
323         * </p>
324         */
325        public static final ReferenceClientParam PATIENT = new ReferenceClientParam(SP_PATIENT);
326
327        /**
328         * Search parameter constant for <b>started</b>
329         * <p>
330         * Description: <b>When the study was started</b><br>
331         * Type: <b>date</b><br>
332         * Path: <b>ImagingStudy.started</b><br>
333         * </p>
334         */
335        @SearchParamDefinition(name="started", path="ImagingStudy.started", description="When the study was started", type="date"  )
336        public static final String SP_STARTED = "started";
337
338        /**
339         * <b>Fluent Client</b> search parameter constant for <b>started</b>
340         * <p>
341         * Description: <b>When the study was started</b><br>
342         * Type: <b>date</b><br>
343         * Path: <b>ImagingStudy.started</b><br>
344         * </p>
345         */
346        public static final DateClientParam STARTED = new DateClientParam(SP_STARTED);
347
348        /**
349         * Search parameter constant for <b>accession</b>
350         * <p>
351         * Description: <b>The accession identifier for the study</b><br>
352         * Type: <b>token</b><br>
353         * Path: <b>ImagingStudy.accession</b><br>
354         * </p>
355         */
356        @SearchParamDefinition(name="accession", path="ImagingStudy.accession", description="The accession identifier for the study", type="token"  )
357        public static final String SP_ACCESSION = "accession";
358
359        /**
360         * <b>Fluent Client</b> search parameter constant for <b>accession</b>
361         * <p>
362         * Description: <b>The accession identifier for the study</b><br>
363         * Type: <b>token</b><br>
364         * Path: <b>ImagingStudy.accession</b><br>
365         * </p>
366         */
367        public static final TokenClientParam ACCESSION = new TokenClientParam(SP_ACCESSION);
368
369        /**
370         * Search parameter constant for <b>study</b>
371         * <p>
372         * Description: <b>The study identifier for the image</b><br>
373         * Type: <b>uri</b><br>
374         * Path: <b>ImagingStudy.uid</b><br>
375         * </p>
376         */
377        @SearchParamDefinition(name="study", path="ImagingStudy.uid", description="The study identifier for the image", type="uri"  )
378        public static final String SP_STUDY = "study";
379
380        /**
381         * <b>Fluent Client</b> search parameter constant for <b>study</b>
382         * <p>
383         * Description: <b>The study identifier for the image</b><br>
384         * Type: <b>uri</b><br>
385         * Path: <b>ImagingStudy.uid</b><br>
386         * </p>
387         */
388        public static final UriClientParam STUDY = new UriClientParam(SP_STUDY);
389
390        /**
391         * Search parameter constant for <b>series</b>
392         * <p>
393         * Description: <b>The identifier of the series of images</b><br>
394         * Type: <b>uri</b><br>
395         * Path: <b>ImagingStudy.series.uid</b><br>
396         * </p>
397         */
398        @SearchParamDefinition(name="series", path="ImagingStudy.series.uid", description="The identifier of the series of images", type="uri"  )
399        public static final String SP_SERIES = "series";
400
401        /**
402         * <b>Fluent Client</b> search parameter constant for <b>series</b>
403         * <p>
404         * Description: <b>The identifier of the series of images</b><br>
405         * Type: <b>uri</b><br>
406         * Path: <b>ImagingStudy.series.uid</b><br>
407         * </p>
408         */
409        public static final UriClientParam SERIES = new UriClientParam(SP_SERIES);
410
411        /**
412         * Search parameter constant for <b>modality</b>
413         * <p>
414         * Description: <b>The modality of the series</b><br>
415         * Type: <b>token</b><br>
416         * Path: <b>ImagingStudy.series.modality</b><br>
417         * </p>
418         */
419        @SearchParamDefinition(name="modality", path="ImagingStudy.series.modality", description="The modality of the series", type="token"  )
420        public static final String SP_MODALITY = "modality";
421
422        /**
423         * <b>Fluent Client</b> search parameter constant for <b>modality</b>
424         * <p>
425         * Description: <b>The modality of the series</b><br>
426         * Type: <b>token</b><br>
427         * Path: <b>ImagingStudy.series.modality</b><br>
428         * </p>
429         */
430        public static final TokenClientParam MODALITY = new TokenClientParam(SP_MODALITY);
431
432        /**
433         * Search parameter constant for <b>bodysite</b>
434         * <p>
435         * Description: <b>The body site studied</b><br>
436         * Type: <b>token</b><br>
437         * Path: <b>ImagingStudy.series.bodySite</b><br>
438         * </p>
439         */
440        @SearchParamDefinition(name="bodysite", path="ImagingStudy.series.bodySite", description="The body site studied", type="token"  )
441        public static final String SP_BODYSITE = "bodysite";
442
443        /**
444         * <b>Fluent Client</b> search parameter constant for <b>bodysite</b>
445         * <p>
446         * Description: <b>The body site studied</b><br>
447         * Type: <b>token</b><br>
448         * Path: <b>ImagingStudy.series.bodySite</b><br>
449         * </p>
450         */
451        public static final TokenClientParam BODYSITE = new TokenClientParam(SP_BODYSITE);
452
453        /**
454         * Search parameter constant for <b>uid</b>
455         * <p>
456         * Description: <b>The instance unique identifier</b><br>
457         * Type: <b>uri</b><br>
458         * Path: <b>ImagingStudy.series.instance.uid</b><br>
459         * </p>
460         */
461        @SearchParamDefinition(name="uid", path="ImagingStudy.series.instance.uid", description="The instance unique identifier", type="uri"  )
462        public static final String SP_UID = "uid";
463
464        /**
465         * <b>Fluent Client</b> search parameter constant for <b>uid</b>
466         * <p>
467         * Description: <b>The instance unique identifier</b><br>
468         * Type: <b>uri</b><br>
469         * Path: <b>ImagingStudy.series.instance.uid</b><br>
470         * </p>
471         */
472        public static final UriClientParam UID = new UriClientParam(SP_UID);
473
474        /**
475         * Search parameter constant for <b>dicom-class</b>
476         * <p>
477         * Description: <b>The type of the instance</b><br>
478         * Type: <b>uri</b><br>
479         * Path: <b>ImagingStudy.series.instance.sopClass</b><br>
480         * </p>
481         */
482        @SearchParamDefinition(name="dicom-class", path="ImagingStudy.series.instance.sopClass", description="The type of the instance", type="uri"  )
483        public static final String SP_DICOM_CLASS = "dicom-class";
484
485        /**
486         * <b>Fluent Client</b> search parameter constant for <b>dicom-class</b>
487         * <p>
488         * Description: <b>The type of the instance</b><br>
489         * Type: <b>uri</b><br>
490         * Path: <b>ImagingStudy.series.instance.sopClass</b><br>
491         * </p>
492         */
493        public static final UriClientParam DICOM_CLASS = new UriClientParam(SP_DICOM_CLASS);
494
495        /**
496         * Search parameter constant for <b>order</b>
497         * <p>
498         * Description: <b>The order for the image</b><br>
499         * Type: <b>reference</b><br>
500         * Path: <b>ImagingStudy.order</b><br>
501         * </p>
502         */
503        @SearchParamDefinition(name="order", path="ImagingStudy.order", description="The order for the image", type="reference"  )
504        public static final String SP_ORDER = "order";
505
506        /**
507         * <b>Fluent Client</b> search parameter constant for <b>order</b>
508         * <p>
509         * Description: <b>The order for the image</b><br>
510         * Type: <b>reference</b><br>
511         * Path: <b>ImagingStudy.order</b><br>
512         * </p>
513         */
514        public static final ReferenceClientParam ORDER = new ReferenceClientParam(SP_ORDER);
515
516
517        /**
518         * Constant for fluent queries to be used to add include statements. Specifies
519         * the path value of "<b>ImagingStudy:order</b>".
520         */
521        public static final Include INCLUDE_ORDER = new Include("ImagingStudy:order");
522
523        /**
524         * Constant for fluent queries to be used to add include statements. Specifies
525         * the path value of "<b>ImagingStudy:patient</b>".
526         */
527        public static final Include INCLUDE_PATIENT = new Include("ImagingStudy:patient");
528
529
530        @Child(name="started", type=DateTimeDt.class, order=0, min=0, max=1, summary=false, modifier=false)     
531        @Description(
532                shortDefinition="when.init",
533                formalDefinition="Date and Time the study started"
534        )
535        private DateTimeDt myStarted;
536        
537        @Child(name="patient", order=1, min=1, max=1, summary=false, modifier=false, type={
538                ca.uhn.fhir.model.dstu2.resource.Patient.class  })
539        @Description(
540                shortDefinition="who.focus",
541                formalDefinition="The patient imaged in the study."
542        )
543        private ResourceReferenceDt myPatient;
544        
545        @Child(name="uid", type=OidDt.class, order=2, min=1, max=1, summary=false, modifier=false)      
546        @Description(
547                shortDefinition="id",
548                formalDefinition="Formal identifier for the study"
549        )
550        private OidDt myUid;
551        
552        @Child(name="accession", type=IdentifierDt.class, order=3, min=0, max=1, summary=false, modifier=false) 
553        @Description(
554                shortDefinition="id",
555                formalDefinition="Accession Number is an identifier related to some aspect of imaging workflow and data management. Usage may vary across different institutions.  See for instance [IHE Radiology Technical Framework Volume 1 Appendix A](http://www.ihe.net/uploadedFiles/Documents/Radiology/IHE_RAD_TF_Rev13.0_Vol1_FT_2014-07-30.pdf)"
556        )
557        private IdentifierDt myAccession;
558        
559        @Child(name="identifier", type=IdentifierDt.class, order=4, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false)      
560        @Description(
561                shortDefinition="id",
562                formalDefinition="Other identifiers for the study"
563        )
564        private java.util.List<IdentifierDt> myIdentifier;
565        
566        @Child(name="order", order=5, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={
567                ca.uhn.fhir.model.dstu2.resource.DiagnosticOrder.class  })
568        @Description(
569                shortDefinition="",
570                formalDefinition="A list of the diagnostic orders that resulted in this imaging study being performed"
571        )
572        private java.util.List<ResourceReferenceDt> myOrder;
573        
574        @Child(name="modalityList", type=CodingDt.class, order=6, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false)        
575        @Description(
576                shortDefinition="class",
577                formalDefinition="A list of all the Series.ImageModality values that are actual acquisition modalities, i.e. those in the DICOM Context Group 29 (value set OID 1.2.840.10008.6.1.19)"
578        )
579        @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/valueset-dicom-cid29")
580        private java.util.List<CodingDt> myModalityList;
581        
582        @Child(name="referrer", order=7, min=0, max=1, summary=false, modifier=false, type={
583                ca.uhn.fhir.model.dstu2.resource.Practitioner.class     })
584        @Description(
585                shortDefinition="who.cause",
586                formalDefinition="The requesting/referring physician"
587        )
588        private ResourceReferenceDt myReferrer;
589        
590        @Child(name="availability", type=CodeDt.class, order=8, min=0, max=1, summary=false, modifier=false)    
591        @Description(
592                shortDefinition="status",
593                formalDefinition="Availability of study (online, offline or nearline)"
594        )
595        @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/instance-availability")
596        private BoundCodeDt<InstanceAvailabilityEnum> myAvailability;
597        
598        @Child(name="url", type=UriDt.class, order=9, min=0, max=1, summary=false, modifier=false)      
599        @Description(
600                shortDefinition="",
601                formalDefinition="WADO-RS resource where Study is available."
602        )
603        private UriDt myUrl;
604        
605        @Child(name="numberOfSeries", type=UnsignedIntDt.class, order=10, min=1, max=1, summary=false, modifier=false)  
606        @Description(
607                shortDefinition="",
608                formalDefinition="Number of Series in Study"
609        )
610        private UnsignedIntDt myNumberOfSeries;
611        
612        @Child(name="numberOfInstances", type=UnsignedIntDt.class, order=11, min=1, max=1, summary=false, modifier=false)       
613        @Description(
614                shortDefinition="",
615                formalDefinition="Number of SOP Instances in Study"
616        )
617        private UnsignedIntDt myNumberOfInstances;
618        
619        @Child(name="procedure", order=12, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={
620                ca.uhn.fhir.model.dstu2.resource.Procedure.class        })
621        @Description(
622                shortDefinition="",
623                formalDefinition="Type of procedure performed"
624        )
625        private java.util.List<ResourceReferenceDt> myProcedure;
626        
627        @Child(name="interpreter", order=13, min=0, max=1, summary=false, modifier=false, type={
628                ca.uhn.fhir.model.dstu2.resource.Practitioner.class     })
629        @Description(
630                shortDefinition="who.witness",
631                formalDefinition="Who read the study and interpreted the images or other content"
632        )
633        private ResourceReferenceDt myInterpreter;
634        
635        @Child(name="description", type=StringDt.class, order=14, min=0, max=1, summary=false, modifier=false)  
636        @Description(
637                shortDefinition="",
638                formalDefinition="Institution-generated description or classification of the Study performed"
639        )
640        private StringDt myDescription;
641        
642        @Child(name="series", order=15, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false)  
643        @Description(
644                shortDefinition="",
645                formalDefinition="Each study has one or more series of images or other content"
646        )
647        private java.util.List<Series> mySeries;
648        
649
650        @Override
651        public boolean isEmpty() {
652                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  myStarted,  myPatient,  myUid,  myAccession,  myIdentifier,  myOrder,  myModalityList,  myReferrer,  myAvailability,  myUrl,  myNumberOfSeries,  myNumberOfInstances,  myProcedure,  myInterpreter,  myDescription,  mySeries);
653        }
654        
655        @Override
656        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
657                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myStarted, myPatient, myUid, myAccession, myIdentifier, myOrder, myModalityList, myReferrer, myAvailability, myUrl, myNumberOfSeries, myNumberOfInstances, myProcedure, myInterpreter, myDescription, mySeries);
658        }
659
660        /**
661         * Gets the value(s) for <b>started</b> (when.init).
662         * creating it if it does
663         * not exist. Will not return <code>null</code>.
664         *
665     * <p>
666     * <b>Definition:</b>
667     * Date and Time the study started
668     * </p> 
669         */
670        public DateTimeDt getStartedElement() {  
671                if (myStarted == null) {
672                        myStarted = new DateTimeDt();
673                }
674                return myStarted;
675        }
676
677        
678        /**
679         * Gets the value(s) for <b>started</b> (when.init).
680         * creating it if it does
681         * not exist. This method may return <code>null</code>.
682         *
683     * <p>
684     * <b>Definition:</b>
685     * Date and Time the study started
686     * </p> 
687         */
688        public Date getStarted() {  
689                return getStartedElement().getValue();
690        }
691
692        /**
693         * Sets the value(s) for <b>started</b> (when.init)
694         *
695     * <p>
696     * <b>Definition:</b>
697     * Date and Time the study started
698     * </p> 
699         */
700        public ImagingStudy setStarted(DateTimeDt theValue) {
701                myStarted = theValue;
702                return this;
703        }
704        
705        
706
707        /**
708         * Sets the value for <b>started</b> (when.init)
709         *
710     * <p>
711     * <b>Definition:</b>
712     * Date and Time the study started
713     * </p> 
714         */
715        public ImagingStudy setStarted( Date theDate,  TemporalPrecisionEnum thePrecision) {
716                myStarted = new DateTimeDt(theDate, thePrecision); 
717                return this; 
718        }
719
720        /**
721         * Sets the value for <b>started</b> (when.init)
722         *
723     * <p>
724     * <b>Definition:</b>
725     * Date and Time the study started
726     * </p> 
727         */
728        public ImagingStudy setStartedWithSecondsPrecision( Date theDate) {
729                myStarted = new DateTimeDt(theDate); 
730                return this; 
731        }
732
733 
734        /**
735         * Gets the value(s) for <b>patient</b> (who.focus).
736         * creating it if it does
737         * not exist. Will not return <code>null</code>.
738         *
739     * <p>
740     * <b>Definition:</b>
741     * The patient imaged in the study.
742     * </p> 
743         */
744        public ResourceReferenceDt getPatient() {  
745                if (myPatient == null) {
746                        myPatient = new ResourceReferenceDt();
747                }
748                return myPatient;
749        }
750
751        /**
752         * Sets the value(s) for <b>patient</b> (who.focus)
753         *
754     * <p>
755     * <b>Definition:</b>
756     * The patient imaged in the study.
757     * </p> 
758         */
759        public ImagingStudy setPatient(ResourceReferenceDt theValue) {
760                myPatient = theValue;
761                return this;
762        }
763        
764        
765
766  
767        /**
768         * Gets the value(s) for <b>uid</b> (id).
769         * creating it if it does
770         * not exist. Will not return <code>null</code>.
771         *
772     * <p>
773     * <b>Definition:</b>
774     * Formal identifier for the study
775     * </p> 
776         */
777        public OidDt getUidElement() {  
778                if (myUid == null) {
779                        myUid = new OidDt();
780                }
781                return myUid;
782        }
783
784        
785        /**
786         * Gets the value(s) for <b>uid</b> (id).
787         * creating it if it does
788         * not exist. This method may return <code>null</code>.
789         *
790     * <p>
791     * <b>Definition:</b>
792     * Formal identifier for the study
793     * </p> 
794         */
795        public String getUid() {  
796                return getUidElement().getValue();
797        }
798
799        /**
800         * Sets the value(s) for <b>uid</b> (id)
801         *
802     * <p>
803     * <b>Definition:</b>
804     * Formal identifier for the study
805     * </p> 
806         */
807        public ImagingStudy setUid(OidDt theValue) {
808                myUid = theValue;
809                return this;
810        }
811        
812        
813
814  
815        /**
816         * Gets the value(s) for <b>accession</b> (id).
817         * creating it if it does
818         * not exist. Will not return <code>null</code>.
819         *
820     * <p>
821     * <b>Definition:</b>
822     * Accession Number is an identifier related to some aspect of imaging workflow and data management. Usage may vary across different institutions.  See for instance [IHE Radiology Technical Framework Volume 1 Appendix A](http://www.ihe.net/uploadedFiles/Documents/Radiology/IHE_RAD_TF_Rev13.0_Vol1_FT_2014-07-30.pdf)
823     * </p> 
824         */
825        public IdentifierDt getAccession() {  
826                if (myAccession == null) {
827                        myAccession = new IdentifierDt();
828                }
829                return myAccession;
830        }
831
832        /**
833         * Sets the value(s) for <b>accession</b> (id)
834         *
835     * <p>
836     * <b>Definition:</b>
837     * Accession Number is an identifier related to some aspect of imaging workflow and data management. Usage may vary across different institutions.  See for instance [IHE Radiology Technical Framework Volume 1 Appendix A](http://www.ihe.net/uploadedFiles/Documents/Radiology/IHE_RAD_TF_Rev13.0_Vol1_FT_2014-07-30.pdf)
838     * </p> 
839         */
840        public ImagingStudy setAccession(IdentifierDt theValue) {
841                myAccession = theValue;
842                return this;
843        }
844        
845        
846
847  
848        /**
849         * Gets the value(s) for <b>identifier</b> (id).
850         * creating it if it does
851         * not exist. Will not return <code>null</code>.
852         *
853     * <p>
854     * <b>Definition:</b>
855     * Other identifiers for the study
856     * </p> 
857         */
858        public java.util.List<IdentifierDt> getIdentifier() {  
859                if (myIdentifier == null) {
860                        myIdentifier = new java.util.ArrayList<IdentifierDt>();
861                }
862                return myIdentifier;
863        }
864
865        /**
866         * Sets the value(s) for <b>identifier</b> (id)
867         *
868     * <p>
869     * <b>Definition:</b>
870     * Other identifiers for the study
871     * </p> 
872         */
873        public ImagingStudy setIdentifier(java.util.List<IdentifierDt> theValue) {
874                myIdentifier = theValue;
875                return this;
876        }
877        
878        
879
880        /**
881         * Adds and returns a new value for <b>identifier</b> (id)
882         *
883     * <p>
884     * <b>Definition:</b>
885     * Other identifiers for the study
886     * </p> 
887         */
888        public IdentifierDt addIdentifier() {
889                IdentifierDt newType = new IdentifierDt();
890                getIdentifier().add(newType);
891                return newType; 
892        }
893
894        /**
895         * Adds a given new value for <b>identifier</b> (id)
896         *
897         * <p>
898         * <b>Definition:</b>
899         * Other identifiers for the study
900         * </p>
901         * @param theValue The identifier to add (must not be <code>null</code>)
902         */
903        public ImagingStudy addIdentifier(IdentifierDt theValue) {
904                if (theValue == null) {
905                        throw new NullPointerException("theValue must not be null");
906                }
907                getIdentifier().add(theValue);
908                return this;
909        }
910
911        /**
912         * Gets the first repetition for <b>identifier</b> (id),
913         * creating it if it does not already exist.
914         *
915     * <p>
916     * <b>Definition:</b>
917     * Other identifiers for the study
918     * </p> 
919         */
920        public IdentifierDt getIdentifierFirstRep() {
921                if (getIdentifier().isEmpty()) {
922                        return addIdentifier();
923                }
924                return getIdentifier().get(0); 
925        }
926  
927        /**
928         * Gets the value(s) for <b>order</b> ().
929         * creating it if it does
930         * not exist. Will not return <code>null</code>.
931         *
932     * <p>
933     * <b>Definition:</b>
934     * A list of the diagnostic orders that resulted in this imaging study being performed
935     * </p> 
936         */
937        public java.util.List<ResourceReferenceDt> getOrder() {  
938                if (myOrder == null) {
939                        myOrder = new java.util.ArrayList<ResourceReferenceDt>();
940                }
941                return myOrder;
942        }
943
944        /**
945         * Sets the value(s) for <b>order</b> ()
946         *
947     * <p>
948     * <b>Definition:</b>
949     * A list of the diagnostic orders that resulted in this imaging study being performed
950     * </p> 
951         */
952        public ImagingStudy setOrder(java.util.List<ResourceReferenceDt> theValue) {
953                myOrder = theValue;
954                return this;
955        }
956        
957        
958
959        /**
960         * Adds and returns a new value for <b>order</b> ()
961         *
962     * <p>
963     * <b>Definition:</b>
964     * A list of the diagnostic orders that resulted in this imaging study being performed
965     * </p> 
966         */
967        public ResourceReferenceDt addOrder() {
968                ResourceReferenceDt newType = new ResourceReferenceDt();
969                getOrder().add(newType);
970                return newType; 
971        }
972  
973        /**
974         * Gets the value(s) for <b>modalityList</b> (class).
975         * creating it if it does
976         * not exist. Will not return <code>null</code>.
977         *
978     * <p>
979     * <b>Definition:</b>
980     * A list of all the Series.ImageModality values that are actual acquisition modalities, i.e. those in the DICOM Context Group 29 (value set OID 1.2.840.10008.6.1.19)
981     * </p> 
982         */
983        public java.util.List<CodingDt> getModalityList() {  
984                if (myModalityList == null) {
985                        myModalityList = new java.util.ArrayList<CodingDt>();
986                }
987                return myModalityList;
988        }
989
990        /**
991         * Sets the value(s) for <b>modalityList</b> (class)
992         *
993     * <p>
994     * <b>Definition:</b>
995     * A list of all the Series.ImageModality values that are actual acquisition modalities, i.e. those in the DICOM Context Group 29 (value set OID 1.2.840.10008.6.1.19)
996     * </p> 
997         */
998        public ImagingStudy setModalityList(java.util.List<CodingDt> theValue) {
999                myModalityList = theValue;
1000                return this;
1001        }
1002        
1003        
1004
1005        /**
1006         * Adds and returns a new value for <b>modalityList</b> (class)
1007         *
1008     * <p>
1009     * <b>Definition:</b>
1010     * A list of all the Series.ImageModality values that are actual acquisition modalities, i.e. those in the DICOM Context Group 29 (value set OID 1.2.840.10008.6.1.19)
1011     * </p> 
1012         */
1013        public CodingDt addModalityList() {
1014                CodingDt newType = new CodingDt();
1015                getModalityList().add(newType);
1016                return newType; 
1017        }
1018
1019        /**
1020         * Adds a given new value for <b>modalityList</b> (class)
1021         *
1022         * <p>
1023         * <b>Definition:</b>
1024         * A list of all the Series.ImageModality values that are actual acquisition modalities, i.e. those in the DICOM Context Group 29 (value set OID 1.2.840.10008.6.1.19)
1025         * </p>
1026         * @param theValue The modalityList to add (must not be <code>null</code>)
1027         */
1028        public ImagingStudy addModalityList(CodingDt theValue) {
1029                if (theValue == null) {
1030                        throw new NullPointerException("theValue must not be null");
1031                }
1032                getModalityList().add(theValue);
1033                return this;
1034        }
1035
1036        /**
1037         * Gets the first repetition for <b>modalityList</b> (class),
1038         * creating it if it does not already exist.
1039         *
1040     * <p>
1041     * <b>Definition:</b>
1042     * A list of all the Series.ImageModality values that are actual acquisition modalities, i.e. those in the DICOM Context Group 29 (value set OID 1.2.840.10008.6.1.19)
1043     * </p> 
1044         */
1045        public CodingDt getModalityListFirstRep() {
1046                if (getModalityList().isEmpty()) {
1047                        return addModalityList();
1048                }
1049                return getModalityList().get(0); 
1050        }
1051  
1052        /**
1053         * Gets the value(s) for <b>referrer</b> (who.cause).
1054         * creating it if it does
1055         * not exist. Will not return <code>null</code>.
1056         *
1057     * <p>
1058     * <b>Definition:</b>
1059     * The requesting/referring physician
1060     * </p> 
1061         */
1062        public ResourceReferenceDt getReferrer() {  
1063                if (myReferrer == null) {
1064                        myReferrer = new ResourceReferenceDt();
1065                }
1066                return myReferrer;
1067        }
1068
1069        /**
1070         * Sets the value(s) for <b>referrer</b> (who.cause)
1071         *
1072     * <p>
1073     * <b>Definition:</b>
1074     * The requesting/referring physician
1075     * </p> 
1076         */
1077        public ImagingStudy setReferrer(ResourceReferenceDt theValue) {
1078                myReferrer = theValue;
1079                return this;
1080        }
1081        
1082        
1083
1084  
1085        /**
1086         * Gets the value(s) for <b>availability</b> (status).
1087         * creating it if it does
1088         * not exist. Will not return <code>null</code>.
1089         *
1090     * <p>
1091     * <b>Definition:</b>
1092     * Availability of study (online, offline or nearline)
1093     * </p> 
1094         */
1095        public BoundCodeDt<InstanceAvailabilityEnum> getAvailabilityElement() {  
1096                if (myAvailability == null) {
1097                        myAvailability = new BoundCodeDt<InstanceAvailabilityEnum>(InstanceAvailabilityEnum.VALUESET_BINDER);
1098                }
1099                return myAvailability;
1100        }
1101
1102        
1103        /**
1104         * Gets the value(s) for <b>availability</b> (status).
1105         * creating it if it does
1106         * not exist. This method may return <code>null</code>.
1107         *
1108     * <p>
1109     * <b>Definition:</b>
1110     * Availability of study (online, offline or nearline)
1111     * </p> 
1112         */
1113        public String getAvailability() {  
1114                return getAvailabilityElement().getValue();
1115        }
1116
1117        /**
1118         * Sets the value(s) for <b>availability</b> (status)
1119         *
1120     * <p>
1121     * <b>Definition:</b>
1122     * Availability of study (online, offline or nearline)
1123     * </p> 
1124         */
1125        public ImagingStudy setAvailability(BoundCodeDt<InstanceAvailabilityEnum> theValue) {
1126                myAvailability = theValue;
1127                return this;
1128        }
1129        
1130        
1131
1132        /**
1133         * Sets the value(s) for <b>availability</b> (status)
1134         *
1135     * <p>
1136     * <b>Definition:</b>
1137     * Availability of study (online, offline or nearline)
1138     * </p> 
1139         */
1140        public ImagingStudy setAvailability(InstanceAvailabilityEnum theValue) {
1141                setAvailability(new BoundCodeDt<InstanceAvailabilityEnum>(InstanceAvailabilityEnum.VALUESET_BINDER, theValue));
1142                
1143/*
1144                getAvailabilityElement().setValueAsEnum(theValue);
1145*/
1146                return this;
1147        }
1148
1149  
1150        /**
1151         * Gets the value(s) for <b>url</b> ().
1152         * creating it if it does
1153         * not exist. Will not return <code>null</code>.
1154         *
1155     * <p>
1156     * <b>Definition:</b>
1157     * WADO-RS resource where Study is available.
1158     * </p> 
1159         */
1160        public UriDt getUrlElement() {  
1161                if (myUrl == null) {
1162                        myUrl = new UriDt();
1163                }
1164                return myUrl;
1165        }
1166
1167        
1168        /**
1169         * Gets the value(s) for <b>url</b> ().
1170         * creating it if it does
1171         * not exist. This method may return <code>null</code>.
1172         *
1173     * <p>
1174     * <b>Definition:</b>
1175     * WADO-RS resource where Study is available.
1176     * </p> 
1177         */
1178        public String getUrl() {  
1179                return getUrlElement().getValue();
1180        }
1181
1182        /**
1183         * Sets the value(s) for <b>url</b> ()
1184         *
1185     * <p>
1186     * <b>Definition:</b>
1187     * WADO-RS resource where Study is available.
1188     * </p> 
1189         */
1190        public ImagingStudy setUrl(UriDt theValue) {
1191                myUrl = theValue;
1192                return this;
1193        }
1194        
1195        
1196
1197        /**
1198         * Sets the value for <b>url</b> ()
1199         *
1200     * <p>
1201     * <b>Definition:</b>
1202     * WADO-RS resource where Study is available.
1203     * </p> 
1204         */
1205        public ImagingStudy setUrl( String theUri) {
1206                myUrl = new UriDt(theUri); 
1207                return this; 
1208        }
1209
1210 
1211        /**
1212         * Gets the value(s) for <b>numberOfSeries</b> ().
1213         * creating it if it does
1214         * not exist. Will not return <code>null</code>.
1215         *
1216     * <p>
1217     * <b>Definition:</b>
1218     * Number of Series in Study
1219     * </p> 
1220         */
1221        public UnsignedIntDt getNumberOfSeriesElement() {  
1222                if (myNumberOfSeries == null) {
1223                        myNumberOfSeries = new UnsignedIntDt();
1224                }
1225                return myNumberOfSeries;
1226        }
1227
1228        
1229        /**
1230         * Gets the value(s) for <b>numberOfSeries</b> ().
1231         * creating it if it does
1232         * not exist. This method may return <code>null</code>.
1233         *
1234     * <p>
1235     * <b>Definition:</b>
1236     * Number of Series in Study
1237     * </p> 
1238         */
1239        public Integer getNumberOfSeries() {  
1240                return getNumberOfSeriesElement().getValue();
1241        }
1242
1243        /**
1244         * Sets the value(s) for <b>numberOfSeries</b> ()
1245         *
1246     * <p>
1247     * <b>Definition:</b>
1248     * Number of Series in Study
1249     * </p> 
1250         */
1251        public ImagingStudy setNumberOfSeries(UnsignedIntDt theValue) {
1252                myNumberOfSeries = theValue;
1253                return this;
1254        }
1255        
1256        
1257
1258        /**
1259         * Sets the value for <b>numberOfSeries</b> ()
1260         *
1261     * <p>
1262     * <b>Definition:</b>
1263     * Number of Series in Study
1264     * </p> 
1265         */
1266        public ImagingStudy setNumberOfSeries( int theInteger) {
1267                myNumberOfSeries = new UnsignedIntDt(theInteger); 
1268                return this; 
1269        }
1270
1271 
1272        /**
1273         * Gets the value(s) for <b>numberOfInstances</b> ().
1274         * creating it if it does
1275         * not exist. Will not return <code>null</code>.
1276         *
1277     * <p>
1278     * <b>Definition:</b>
1279     * Number of SOP Instances in Study
1280     * </p> 
1281         */
1282        public UnsignedIntDt getNumberOfInstancesElement() {  
1283                if (myNumberOfInstances == null) {
1284                        myNumberOfInstances = new UnsignedIntDt();
1285                }
1286                return myNumberOfInstances;
1287        }
1288
1289        
1290        /**
1291         * Gets the value(s) for <b>numberOfInstances</b> ().
1292         * creating it if it does
1293         * not exist. This method may return <code>null</code>.
1294         *
1295     * <p>
1296     * <b>Definition:</b>
1297     * Number of SOP Instances in Study
1298     * </p> 
1299         */
1300        public Integer getNumberOfInstances() {  
1301                return getNumberOfInstancesElement().getValue();
1302        }
1303
1304        /**
1305         * Sets the value(s) for <b>numberOfInstances</b> ()
1306         *
1307     * <p>
1308     * <b>Definition:</b>
1309     * Number of SOP Instances in Study
1310     * </p> 
1311         */
1312        public ImagingStudy setNumberOfInstances(UnsignedIntDt theValue) {
1313                myNumberOfInstances = theValue;
1314                return this;
1315        }
1316        
1317        
1318
1319        /**
1320         * Sets the value for <b>numberOfInstances</b> ()
1321         *
1322     * <p>
1323     * <b>Definition:</b>
1324     * Number of SOP Instances in Study
1325     * </p> 
1326         */
1327        public ImagingStudy setNumberOfInstances( int theInteger) {
1328                myNumberOfInstances = new UnsignedIntDt(theInteger); 
1329                return this; 
1330        }
1331
1332 
1333        /**
1334         * Gets the value(s) for <b>procedure</b> ().
1335         * creating it if it does
1336         * not exist. Will not return <code>null</code>.
1337         *
1338     * <p>
1339     * <b>Definition:</b>
1340     * Type of procedure performed
1341     * </p> 
1342         */
1343        public java.util.List<ResourceReferenceDt> getProcedure() {  
1344                if (myProcedure == null) {
1345                        myProcedure = new java.util.ArrayList<ResourceReferenceDt>();
1346                }
1347                return myProcedure;
1348        }
1349
1350        /**
1351         * Sets the value(s) for <b>procedure</b> ()
1352         *
1353     * <p>
1354     * <b>Definition:</b>
1355     * Type of procedure performed
1356     * </p> 
1357         */
1358        public ImagingStudy setProcedure(java.util.List<ResourceReferenceDt> theValue) {
1359                myProcedure = theValue;
1360                return this;
1361        }
1362        
1363        
1364
1365        /**
1366         * Adds and returns a new value for <b>procedure</b> ()
1367         *
1368     * <p>
1369     * <b>Definition:</b>
1370     * Type of procedure performed
1371     * </p> 
1372         */
1373        public ResourceReferenceDt addProcedure() {
1374                ResourceReferenceDt newType = new ResourceReferenceDt();
1375                getProcedure().add(newType);
1376                return newType; 
1377        }
1378  
1379        /**
1380         * Gets the value(s) for <b>interpreter</b> (who.witness).
1381         * creating it if it does
1382         * not exist. Will not return <code>null</code>.
1383         *
1384     * <p>
1385     * <b>Definition:</b>
1386     * Who read the study and interpreted the images or other content
1387     * </p> 
1388         */
1389        public ResourceReferenceDt getInterpreter() {  
1390                if (myInterpreter == null) {
1391                        myInterpreter = new ResourceReferenceDt();
1392                }
1393                return myInterpreter;
1394        }
1395
1396        /**
1397         * Sets the value(s) for <b>interpreter</b> (who.witness)
1398         *
1399     * <p>
1400     * <b>Definition:</b>
1401     * Who read the study and interpreted the images or other content
1402     * </p> 
1403         */
1404        public ImagingStudy setInterpreter(ResourceReferenceDt theValue) {
1405                myInterpreter = theValue;
1406                return this;
1407        }
1408        
1409        
1410
1411  
1412        /**
1413         * Gets the value(s) for <b>description</b> ().
1414         * creating it if it does
1415         * not exist. Will not return <code>null</code>.
1416         *
1417     * <p>
1418     * <b>Definition:</b>
1419     * Institution-generated description or classification of the Study performed
1420     * </p> 
1421         */
1422        public StringDt getDescriptionElement() {  
1423                if (myDescription == null) {
1424                        myDescription = new StringDt();
1425                }
1426                return myDescription;
1427        }
1428
1429        
1430        /**
1431         * Gets the value(s) for <b>description</b> ().
1432         * creating it if it does
1433         * not exist. This method may return <code>null</code>.
1434         *
1435     * <p>
1436     * <b>Definition:</b>
1437     * Institution-generated description or classification of the Study performed
1438     * </p> 
1439         */
1440        public String getDescription() {  
1441                return getDescriptionElement().getValue();
1442        }
1443
1444        /**
1445         * Sets the value(s) for <b>description</b> ()
1446         *
1447     * <p>
1448     * <b>Definition:</b>
1449     * Institution-generated description or classification of the Study performed
1450     * </p> 
1451         */
1452        public ImagingStudy setDescription(StringDt theValue) {
1453                myDescription = theValue;
1454                return this;
1455        }
1456        
1457        
1458
1459        /**
1460         * Sets the value for <b>description</b> ()
1461         *
1462     * <p>
1463     * <b>Definition:</b>
1464     * Institution-generated description or classification of the Study performed
1465     * </p> 
1466         */
1467        public ImagingStudy setDescription( String theString) {
1468                myDescription = new StringDt(theString); 
1469                return this; 
1470        }
1471
1472 
1473        /**
1474         * Gets the value(s) for <b>series</b> ().
1475         * creating it if it does
1476         * not exist. Will not return <code>null</code>.
1477         *
1478     * <p>
1479     * <b>Definition:</b>
1480     * Each study has one or more series of images or other content
1481     * </p> 
1482         */
1483        public java.util.List<Series> getSeries() {  
1484                if (mySeries == null) {
1485                        mySeries = new java.util.ArrayList<Series>();
1486                }
1487                return mySeries;
1488        }
1489
1490        /**
1491         * Sets the value(s) for <b>series</b> ()
1492         *
1493     * <p>
1494     * <b>Definition:</b>
1495     * Each study has one or more series of images or other content
1496     * </p> 
1497         */
1498        public ImagingStudy setSeries(java.util.List<Series> theValue) {
1499                mySeries = theValue;
1500                return this;
1501        }
1502        
1503        
1504
1505        /**
1506         * Adds and returns a new value for <b>series</b> ()
1507         *
1508     * <p>
1509     * <b>Definition:</b>
1510     * Each study has one or more series of images or other content
1511     * </p> 
1512         */
1513        public Series addSeries() {
1514                Series newType = new Series();
1515                getSeries().add(newType);
1516                return newType; 
1517        }
1518
1519        /**
1520         * Adds a given new value for <b>series</b> ()
1521         *
1522         * <p>
1523         * <b>Definition:</b>
1524         * Each study has one or more series of images or other content
1525         * </p>
1526         * @param theValue The series to add (must not be <code>null</code>)
1527         */
1528        public ImagingStudy addSeries(Series theValue) {
1529                if (theValue == null) {
1530                        throw new NullPointerException("theValue must not be null");
1531                }
1532                getSeries().add(theValue);
1533                return this;
1534        }
1535
1536        /**
1537         * Gets the first repetition for <b>series</b> (),
1538         * creating it if it does not already exist.
1539         *
1540     * <p>
1541     * <b>Definition:</b>
1542     * Each study has one or more series of images or other content
1543     * </p> 
1544         */
1545        public Series getSeriesFirstRep() {
1546                if (getSeries().isEmpty()) {
1547                        return addSeries();
1548                }
1549                return getSeries().get(0); 
1550        }
1551  
1552        /**
1553         * Block class for child element: <b>ImagingStudy.series</b> ()
1554         *
1555     * <p>
1556     * <b>Definition:</b>
1557     * Each study has one or more series of images or other content
1558     * </p> 
1559         */
1560        @Block()        
1561        public static class Series 
1562            extends  BaseIdentifiableElement        implements IResourceBlock {
1563        
1564        @Child(name="number", type=UnsignedIntDt.class, order=0, min=0, max=1, summary=false, modifier=false)   
1565        @Description(
1566                shortDefinition="",
1567                formalDefinition="The Numeric identifier of this series in the study."
1568        )
1569        private UnsignedIntDt myNumber;
1570        
1571        @Child(name="modality", type=CodingDt.class, order=1, min=1, max=1, summary=false, modifier=false)      
1572        @Description(
1573                shortDefinition="",
1574                formalDefinition="The modality of this series sequence"
1575        )
1576        @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/valueset-dicom-cid29")
1577        private CodingDt myModality;
1578        
1579        @Child(name="uid", type=OidDt.class, order=2, min=1, max=1, summary=false, modifier=false)      
1580        @Description(
1581                shortDefinition="",
1582                formalDefinition="Formal identifier for this series"
1583        )
1584        private OidDt myUid;
1585        
1586        @Child(name="description", type=StringDt.class, order=3, min=0, max=1, summary=false, modifier=false)   
1587        @Description(
1588                shortDefinition="",
1589                formalDefinition="A description of the series"
1590        )
1591        private StringDt myDescription;
1592        
1593        @Child(name="numberOfInstances", type=UnsignedIntDt.class, order=4, min=1, max=1, summary=false, modifier=false)        
1594        @Description(
1595                shortDefinition="",
1596                formalDefinition="Number of SOP Instances in Series."
1597        )
1598        private UnsignedIntDt myNumberOfInstances;
1599        
1600        @Child(name="availability", type=CodeDt.class, order=5, min=0, max=1, summary=false, modifier=false)    
1601        @Description(
1602                shortDefinition="",
1603                formalDefinition="Availability of series (online, offline or nearline)"
1604        )
1605        @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/instance-availability")
1606        private BoundCodeDt<InstanceAvailabilityEnum> myAvailability;
1607        
1608        @Child(name="url", type=UriDt.class, order=6, min=0, max=1, summary=false, modifier=false)      
1609        @Description(
1610                shortDefinition="",
1611                formalDefinition="URI/URL specifying the location of the referenced series using WADO-RS"
1612        )
1613        private UriDt myUrl;
1614        
1615        @Child(name="bodySite", type=CodingDt.class, order=7, min=0, max=1, summary=false, modifier=false)      
1616        @Description(
1617                shortDefinition="",
1618                formalDefinition="Body part examined. See  DICOM Part 16 Annex L for the mapping from DICOM to Snomed CT"
1619        )
1620        private CodingDt myBodySite;
1621        
1622        @Child(name="laterality", type=CodingDt.class, order=8, min=0, max=1, summary=false, modifier=false)    
1623        @Description(
1624                shortDefinition="",
1625                formalDefinition="Laterality if body site is paired anatomic structure and laterality is not pre-coordinated in body site code."
1626        )
1627        private CodingDt myLaterality;
1628        
1629        @Child(name="started", type=DateTimeDt.class, order=9, min=0, max=1, summary=false, modifier=false)     
1630        @Description(
1631                shortDefinition="",
1632                formalDefinition="The date and time the series was started."
1633        )
1634        private DateTimeDt myStarted;
1635        
1636        @Child(name="instance", order=10, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false)        
1637        @Description(
1638                shortDefinition="",
1639                formalDefinition="A single SOP Instance within the series, e.g. an image, or presentation state."
1640        )
1641        private java.util.List<SeriesInstance> myInstance;
1642        
1643
1644        @Override
1645        public boolean isEmpty() {
1646                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  myNumber,  myModality,  myUid,  myDescription,  myNumberOfInstances,  myAvailability,  myUrl,  myBodySite,  myLaterality,  myStarted,  myInstance);
1647        }
1648        
1649        @Override
1650        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
1651                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myNumber, myModality, myUid, myDescription, myNumberOfInstances, myAvailability, myUrl, myBodySite, myLaterality, myStarted, myInstance);
1652        }
1653
1654        /**
1655         * Gets the value(s) for <b>number</b> ().
1656         * creating it if it does
1657         * not exist. Will not return <code>null</code>.
1658         *
1659     * <p>
1660     * <b>Definition:</b>
1661     * The Numeric identifier of this series in the study.
1662     * </p> 
1663         */
1664        public UnsignedIntDt getNumberElement() {  
1665                if (myNumber == null) {
1666                        myNumber = new UnsignedIntDt();
1667                }
1668                return myNumber;
1669        }
1670
1671        
1672        /**
1673         * Gets the value(s) for <b>number</b> ().
1674         * creating it if it does
1675         * not exist. This method may return <code>null</code>.
1676         *
1677     * <p>
1678     * <b>Definition:</b>
1679     * The Numeric identifier of this series in the study.
1680     * </p> 
1681         */
1682        public Integer getNumber() {  
1683                return getNumberElement().getValue();
1684        }
1685
1686        /**
1687         * Sets the value(s) for <b>number</b> ()
1688         *
1689     * <p>
1690     * <b>Definition:</b>
1691     * The Numeric identifier of this series in the study.
1692     * </p> 
1693         */
1694        public Series setNumber(UnsignedIntDt theValue) {
1695                myNumber = theValue;
1696                return this;
1697        }
1698        
1699        
1700
1701        /**
1702         * Sets the value for <b>number</b> ()
1703         *
1704     * <p>
1705     * <b>Definition:</b>
1706     * The Numeric identifier of this series in the study.
1707     * </p> 
1708         */
1709        public Series setNumber( int theInteger) {
1710                myNumber = new UnsignedIntDt(theInteger); 
1711                return this; 
1712        }
1713
1714 
1715        /**
1716         * Gets the value(s) for <b>modality</b> ().
1717         * creating it if it does
1718         * not exist. Will not return <code>null</code>.
1719         *
1720     * <p>
1721     * <b>Definition:</b>
1722     * The modality of this series sequence
1723     * </p> 
1724         */
1725        public CodingDt getModality() {  
1726                if (myModality == null) {
1727                        myModality = new CodingDt();
1728                }
1729                return myModality;
1730        }
1731
1732        /**
1733         * Sets the value(s) for <b>modality</b> ()
1734         *
1735     * <p>
1736     * <b>Definition:</b>
1737     * The modality of this series sequence
1738     * </p> 
1739         */
1740        public Series setModality(CodingDt theValue) {
1741                myModality = theValue;
1742                return this;
1743        }
1744        
1745        
1746
1747  
1748        /**
1749         * Gets the value(s) for <b>uid</b> ().
1750         * creating it if it does
1751         * not exist. Will not return <code>null</code>.
1752         *
1753     * <p>
1754     * <b>Definition:</b>
1755     * Formal identifier for this series
1756     * </p> 
1757         */
1758        public OidDt getUidElement() {  
1759                if (myUid == null) {
1760                        myUid = new OidDt();
1761                }
1762                return myUid;
1763        }
1764
1765        
1766        /**
1767         * Gets the value(s) for <b>uid</b> ().
1768         * creating it if it does
1769         * not exist. This method may return <code>null</code>.
1770         *
1771     * <p>
1772     * <b>Definition:</b>
1773     * Formal identifier for this series
1774     * </p> 
1775         */
1776        public String getUid() {  
1777                return getUidElement().getValue();
1778        }
1779
1780        /**
1781         * Sets the value(s) for <b>uid</b> ()
1782         *
1783     * <p>
1784     * <b>Definition:</b>
1785     * Formal identifier for this series
1786     * </p> 
1787         */
1788        public Series setUid(OidDt theValue) {
1789                myUid = theValue;
1790                return this;
1791        }
1792        
1793        
1794
1795  
1796        /**
1797         * Gets the value(s) for <b>description</b> ().
1798         * creating it if it does
1799         * not exist. Will not return <code>null</code>.
1800         *
1801     * <p>
1802     * <b>Definition:</b>
1803     * A description of the series
1804     * </p> 
1805         */
1806        public StringDt getDescriptionElement() {  
1807                if (myDescription == null) {
1808                        myDescription = new StringDt();
1809                }
1810                return myDescription;
1811        }
1812
1813        
1814        /**
1815         * Gets the value(s) for <b>description</b> ().
1816         * creating it if it does
1817         * not exist. This method may return <code>null</code>.
1818         *
1819     * <p>
1820     * <b>Definition:</b>
1821     * A description of the series
1822     * </p> 
1823         */
1824        public String getDescription() {  
1825                return getDescriptionElement().getValue();
1826        }
1827
1828        /**
1829         * Sets the value(s) for <b>description</b> ()
1830         *
1831     * <p>
1832     * <b>Definition:</b>
1833     * A description of the series
1834     * </p> 
1835         */
1836        public Series setDescription(StringDt theValue) {
1837                myDescription = theValue;
1838                return this;
1839        }
1840        
1841        
1842
1843        /**
1844         * Sets the value for <b>description</b> ()
1845         *
1846     * <p>
1847     * <b>Definition:</b>
1848     * A description of the series
1849     * </p> 
1850         */
1851        public Series setDescription( String theString) {
1852                myDescription = new StringDt(theString); 
1853                return this; 
1854        }
1855
1856 
1857        /**
1858         * Gets the value(s) for <b>numberOfInstances</b> ().
1859         * creating it if it does
1860         * not exist. Will not return <code>null</code>.
1861         *
1862     * <p>
1863     * <b>Definition:</b>
1864     * Number of SOP Instances in Series.
1865     * </p> 
1866         */
1867        public UnsignedIntDt getNumberOfInstancesElement() {  
1868                if (myNumberOfInstances == null) {
1869                        myNumberOfInstances = new UnsignedIntDt();
1870                }
1871                return myNumberOfInstances;
1872        }
1873
1874        
1875        /**
1876         * Gets the value(s) for <b>numberOfInstances</b> ().
1877         * creating it if it does
1878         * not exist. This method may return <code>null</code>.
1879         *
1880     * <p>
1881     * <b>Definition:</b>
1882     * Number of SOP Instances in Series.
1883     * </p> 
1884         */
1885        public Integer getNumberOfInstances() {  
1886                return getNumberOfInstancesElement().getValue();
1887        }
1888
1889        /**
1890         * Sets the value(s) for <b>numberOfInstances</b> ()
1891         *
1892     * <p>
1893     * <b>Definition:</b>
1894     * Number of SOP Instances in Series.
1895     * </p> 
1896         */
1897        public Series setNumberOfInstances(UnsignedIntDt theValue) {
1898                myNumberOfInstances = theValue;
1899                return this;
1900        }
1901        
1902        
1903
1904        /**
1905         * Sets the value for <b>numberOfInstances</b> ()
1906         *
1907     * <p>
1908     * <b>Definition:</b>
1909     * Number of SOP Instances in Series.
1910     * </p> 
1911         */
1912        public Series setNumberOfInstances( int theInteger) {
1913                myNumberOfInstances = new UnsignedIntDt(theInteger); 
1914                return this; 
1915        }
1916
1917 
1918        /**
1919         * Gets the value(s) for <b>availability</b> ().
1920         * creating it if it does
1921         * not exist. Will not return <code>null</code>.
1922         *
1923     * <p>
1924     * <b>Definition:</b>
1925     * Availability of series (online, offline or nearline)
1926     * </p> 
1927         */
1928        public BoundCodeDt<InstanceAvailabilityEnum> getAvailabilityElement() {  
1929                if (myAvailability == null) {
1930                        myAvailability = new BoundCodeDt<InstanceAvailabilityEnum>(InstanceAvailabilityEnum.VALUESET_BINDER);
1931                }
1932                return myAvailability;
1933        }
1934
1935        
1936        /**
1937         * Gets the value(s) for <b>availability</b> ().
1938         * creating it if it does
1939         * not exist. This method may return <code>null</code>.
1940         *
1941     * <p>
1942     * <b>Definition:</b>
1943     * Availability of series (online, offline or nearline)
1944     * </p> 
1945         */
1946        public String getAvailability() {  
1947                return getAvailabilityElement().getValue();
1948        }
1949
1950        /**
1951         * Sets the value(s) for <b>availability</b> ()
1952         *
1953     * <p>
1954     * <b>Definition:</b>
1955     * Availability of series (online, offline or nearline)
1956     * </p> 
1957         */
1958        public Series setAvailability(BoundCodeDt<InstanceAvailabilityEnum> theValue) {
1959                myAvailability = theValue;
1960                return this;
1961        }
1962        
1963        
1964
1965        /**
1966         * Sets the value(s) for <b>availability</b> ()
1967         *
1968     * <p>
1969     * <b>Definition:</b>
1970     * Availability of series (online, offline or nearline)
1971     * </p> 
1972         */
1973        public Series setAvailability(InstanceAvailabilityEnum theValue) {
1974                setAvailability(new BoundCodeDt<InstanceAvailabilityEnum>(InstanceAvailabilityEnum.VALUESET_BINDER, theValue));
1975                
1976/*
1977                getAvailabilityElement().setValueAsEnum(theValue);
1978*/
1979                return this;
1980        }
1981
1982  
1983        /**
1984         * Gets the value(s) for <b>url</b> ().
1985         * creating it if it does
1986         * not exist. Will not return <code>null</code>.
1987         *
1988     * <p>
1989     * <b>Definition:</b>
1990     * URI/URL specifying the location of the referenced series using WADO-RS
1991     * </p> 
1992         */
1993        public UriDt getUrlElement() {  
1994                if (myUrl == null) {
1995                        myUrl = new UriDt();
1996                }
1997                return myUrl;
1998        }
1999
2000        
2001        /**
2002         * Gets the value(s) for <b>url</b> ().
2003         * creating it if it does
2004         * not exist. This method may return <code>null</code>.
2005         *
2006     * <p>
2007     * <b>Definition:</b>
2008     * URI/URL specifying the location of the referenced series using WADO-RS
2009     * </p> 
2010         */
2011        public String getUrl() {  
2012                return getUrlElement().getValue();
2013        }
2014
2015        /**
2016         * Sets the value(s) for <b>url</b> ()
2017         *
2018     * <p>
2019     * <b>Definition:</b>
2020     * URI/URL specifying the location of the referenced series using WADO-RS
2021     * </p> 
2022         */
2023        public Series setUrl(UriDt theValue) {
2024                myUrl = theValue;
2025                return this;
2026        }
2027        
2028        
2029
2030        /**
2031         * Sets the value for <b>url</b> ()
2032         *
2033     * <p>
2034     * <b>Definition:</b>
2035     * URI/URL specifying the location of the referenced series using WADO-RS
2036     * </p> 
2037         */
2038        public Series setUrl( String theUri) {
2039                myUrl = new UriDt(theUri); 
2040                return this; 
2041        }
2042
2043 
2044        /**
2045         * Gets the value(s) for <b>bodySite</b> ().
2046         * creating it if it does
2047         * not exist. Will not return <code>null</code>.
2048         *
2049     * <p>
2050     * <b>Definition:</b>
2051     * Body part examined. See  DICOM Part 16 Annex L for the mapping from DICOM to Snomed CT
2052     * </p> 
2053         */
2054        public CodingDt getBodySite() {  
2055                if (myBodySite == null) {
2056                        myBodySite = new CodingDt();
2057                }
2058                return myBodySite;
2059        }
2060
2061        /**
2062         * Sets the value(s) for <b>bodySite</b> ()
2063         *
2064     * <p>
2065     * <b>Definition:</b>
2066     * Body part examined. See  DICOM Part 16 Annex L for the mapping from DICOM to Snomed CT
2067     * </p> 
2068         */
2069        public Series setBodySite(CodingDt theValue) {
2070                myBodySite = theValue;
2071                return this;
2072        }
2073        
2074        
2075
2076  
2077        /**
2078         * Gets the value(s) for <b>laterality</b> ().
2079         * creating it if it does
2080         * not exist. Will not return <code>null</code>.
2081         *
2082     * <p>
2083     * <b>Definition:</b>
2084     * Laterality if body site is paired anatomic structure and laterality is not pre-coordinated in body site code.
2085     * </p> 
2086         */
2087        public CodingDt getLaterality() {  
2088                if (myLaterality == null) {
2089                        myLaterality = new CodingDt();
2090                }
2091                return myLaterality;
2092        }
2093
2094        /**
2095         * Sets the value(s) for <b>laterality</b> ()
2096         *
2097     * <p>
2098     * <b>Definition:</b>
2099     * Laterality if body site is paired anatomic structure and laterality is not pre-coordinated in body site code.
2100     * </p> 
2101         */
2102        public Series setLaterality(CodingDt theValue) {
2103                myLaterality = theValue;
2104                return this;
2105        }
2106        
2107        
2108
2109  
2110        /**
2111         * Gets the value(s) for <b>started</b> ().
2112         * creating it if it does
2113         * not exist. Will not return <code>null</code>.
2114         *
2115     * <p>
2116     * <b>Definition:</b>
2117     * The date and time the series was started.
2118     * </p> 
2119         */
2120        public DateTimeDt getStartedElement() {  
2121                if (myStarted == null) {
2122                        myStarted = new DateTimeDt();
2123                }
2124                return myStarted;
2125        }
2126
2127        
2128        /**
2129         * Gets the value(s) for <b>started</b> ().
2130         * creating it if it does
2131         * not exist. This method may return <code>null</code>.
2132         *
2133     * <p>
2134     * <b>Definition:</b>
2135     * The date and time the series was started.
2136     * </p> 
2137         */
2138        public Date getStarted() {  
2139                return getStartedElement().getValue();
2140        }
2141
2142        /**
2143         * Sets the value(s) for <b>started</b> ()
2144         *
2145     * <p>
2146     * <b>Definition:</b>
2147     * The date and time the series was started.
2148     * </p> 
2149         */
2150        public Series setStarted(DateTimeDt theValue) {
2151                myStarted = theValue;
2152                return this;
2153        }
2154        
2155        
2156
2157        /**
2158         * Sets the value for <b>started</b> ()
2159         *
2160     * <p>
2161     * <b>Definition:</b>
2162     * The date and time the series was started.
2163     * </p> 
2164         */
2165        public Series setStarted( Date theDate,  TemporalPrecisionEnum thePrecision) {
2166                myStarted = new DateTimeDt(theDate, thePrecision); 
2167                return this; 
2168        }
2169
2170        /**
2171         * Sets the value for <b>started</b> ()
2172         *
2173     * <p>
2174     * <b>Definition:</b>
2175     * The date and time the series was started.
2176     * </p> 
2177         */
2178        public Series setStartedWithSecondsPrecision( Date theDate) {
2179                myStarted = new DateTimeDt(theDate); 
2180                return this; 
2181        }
2182
2183 
2184        /**
2185         * Gets the value(s) for <b>instance</b> ().
2186         * creating it if it does
2187         * not exist. Will not return <code>null</code>.
2188         *
2189     * <p>
2190     * <b>Definition:</b>
2191     * A single SOP Instance within the series, e.g. an image, or presentation state.
2192     * </p> 
2193         */
2194        public java.util.List<SeriesInstance> getInstance() {  
2195                if (myInstance == null) {
2196                        myInstance = new java.util.ArrayList<SeriesInstance>();
2197                }
2198                return myInstance;
2199        }
2200
2201        /**
2202         * Sets the value(s) for <b>instance</b> ()
2203         *
2204     * <p>
2205     * <b>Definition:</b>
2206     * A single SOP Instance within the series, e.g. an image, or presentation state.
2207     * </p> 
2208         */
2209        public Series setInstance(java.util.List<SeriesInstance> theValue) {
2210                myInstance = theValue;
2211                return this;
2212        }
2213        
2214        
2215
2216        /**
2217         * Adds and returns a new value for <b>instance</b> ()
2218         *
2219     * <p>
2220     * <b>Definition:</b>
2221     * A single SOP Instance within the series, e.g. an image, or presentation state.
2222     * </p> 
2223         */
2224        public SeriesInstance addInstance() {
2225                SeriesInstance newType = new SeriesInstance();
2226                getInstance().add(newType);
2227                return newType; 
2228        }
2229
2230        /**
2231         * Adds a given new value for <b>instance</b> ()
2232         *
2233         * <p>
2234         * <b>Definition:</b>
2235         * A single SOP Instance within the series, e.g. an image, or presentation state.
2236         * </p>
2237         * @param theValue The instance to add (must not be <code>null</code>)
2238         */
2239        public Series addInstance(SeriesInstance theValue) {
2240                if (theValue == null) {
2241                        throw new NullPointerException("theValue must not be null");
2242                }
2243                getInstance().add(theValue);
2244                return this;
2245        }
2246
2247        /**
2248         * Gets the first repetition for <b>instance</b> (),
2249         * creating it if it does not already exist.
2250         *
2251     * <p>
2252     * <b>Definition:</b>
2253     * A single SOP Instance within the series, e.g. an image, or presentation state.
2254     * </p> 
2255         */
2256        public SeriesInstance getInstanceFirstRep() {
2257                if (getInstance().isEmpty()) {
2258                        return addInstance();
2259                }
2260                return getInstance().get(0); 
2261        }
2262  
2263
2264
2265        }
2266
2267        /**
2268         * Block class for child element: <b>ImagingStudy.series.instance</b> ()
2269         *
2270     * <p>
2271     * <b>Definition:</b>
2272     * A single SOP Instance within the series, e.g. an image, or presentation state.
2273     * </p> 
2274         */
2275        @Block()        
2276        public static class SeriesInstance 
2277            extends  BaseIdentifiableElement        implements IResourceBlock {
2278        
2279        @Child(name="number", type=UnsignedIntDt.class, order=0, min=0, max=1, summary=false, modifier=false)   
2280        @Description(
2281                shortDefinition="",
2282                formalDefinition="The number of instance in the series"
2283        )
2284        private UnsignedIntDt myNumber;
2285        
2286        @Child(name="uid", type=OidDt.class, order=1, min=1, max=1, summary=false, modifier=false)      
2287        @Description(
2288                shortDefinition="",
2289                formalDefinition="Formal identifier for this image or other content"
2290        )
2291        private OidDt myUid;
2292        
2293        @Child(name="sopClass", type=OidDt.class, order=2, min=1, max=1, summary=false, modifier=false) 
2294        @Description(
2295                shortDefinition="",
2296                formalDefinition="DICOM instance  type"
2297        )
2298        private OidDt mySopClass;
2299        
2300        @Child(name="type", type=StringDt.class, order=3, min=0, max=1, summary=false, modifier=false)  
2301        @Description(
2302                shortDefinition="",
2303                formalDefinition="A human-friendly SOP Class name"
2304        )
2305        private StringDt myType;
2306        
2307        @Child(name="title", type=StringDt.class, order=4, min=0, max=1, summary=false, modifier=false) 
2308        @Description(
2309                shortDefinition="",
2310                formalDefinition="The description of the instance"
2311        )
2312        private StringDt myTitle;
2313        
2314        @Child(name="content", type=AttachmentDt.class, order=5, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 
2315        @Description(
2316                shortDefinition="",
2317                formalDefinition="Content of the instance or a rendering thereof (e.g. a JPEG of an image, or an XML of a structured report). May be represented for example by inline encoding; by a URL reference to a WADO-RS service that makes the instance available; or to a FHIR Resource (e.g. Media, Document, etc.). Multiple content attachments may be used for alternate representations of the instance."
2318        )
2319        private java.util.List<AttachmentDt> myContent;
2320        
2321
2322        @Override
2323        public boolean isEmpty() {
2324                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  myNumber,  myUid,  mySopClass,  myType,  myTitle,  myContent);
2325        }
2326        
2327        @Override
2328        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
2329                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myNumber, myUid, mySopClass, myType, myTitle, myContent);
2330        }
2331
2332        /**
2333         * Gets the value(s) for <b>number</b> ().
2334         * creating it if it does
2335         * not exist. Will not return <code>null</code>.
2336         *
2337     * <p>
2338     * <b>Definition:</b>
2339     * The number of instance in the series
2340     * </p> 
2341         */
2342        public UnsignedIntDt getNumberElement() {  
2343                if (myNumber == null) {
2344                        myNumber = new UnsignedIntDt();
2345                }
2346                return myNumber;
2347        }
2348
2349        
2350        /**
2351         * Gets the value(s) for <b>number</b> ().
2352         * creating it if it does
2353         * not exist. This method may return <code>null</code>.
2354         *
2355     * <p>
2356     * <b>Definition:</b>
2357     * The number of instance in the series
2358     * </p> 
2359         */
2360        public Integer getNumber() {  
2361                return getNumberElement().getValue();
2362        }
2363
2364        /**
2365         * Sets the value(s) for <b>number</b> ()
2366         *
2367     * <p>
2368     * <b>Definition:</b>
2369     * The number of instance in the series
2370     * </p> 
2371         */
2372        public SeriesInstance setNumber(UnsignedIntDt theValue) {
2373                myNumber = theValue;
2374                return this;
2375        }
2376        
2377        
2378
2379        /**
2380         * Sets the value for <b>number</b> ()
2381         *
2382     * <p>
2383     * <b>Definition:</b>
2384     * The number of instance in the series
2385     * </p> 
2386         */
2387        public SeriesInstance setNumber( int theInteger) {
2388                myNumber = new UnsignedIntDt(theInteger); 
2389                return this; 
2390        }
2391
2392 
2393        /**
2394         * Gets the value(s) for <b>uid</b> ().
2395         * creating it if it does
2396         * not exist. Will not return <code>null</code>.
2397         *
2398     * <p>
2399     * <b>Definition:</b>
2400     * Formal identifier for this image or other content
2401     * </p> 
2402         */
2403        public OidDt getUidElement() {  
2404                if (myUid == null) {
2405                        myUid = new OidDt();
2406                }
2407                return myUid;
2408        }
2409
2410        
2411        /**
2412         * Gets the value(s) for <b>uid</b> ().
2413         * creating it if it does
2414         * not exist. This method may return <code>null</code>.
2415         *
2416     * <p>
2417     * <b>Definition:</b>
2418     * Formal identifier for this image or other content
2419     * </p> 
2420         */
2421        public String getUid() {  
2422                return getUidElement().getValue();
2423        }
2424
2425        /**
2426         * Sets the value(s) for <b>uid</b> ()
2427         *
2428     * <p>
2429     * <b>Definition:</b>
2430     * Formal identifier for this image or other content
2431     * </p> 
2432         */
2433        public SeriesInstance setUid(OidDt theValue) {
2434                myUid = theValue;
2435                return this;
2436        }
2437        
2438        
2439
2440  
2441        /**
2442         * Gets the value(s) for <b>sopClass</b> ().
2443         * creating it if it does
2444         * not exist. Will not return <code>null</code>.
2445         *
2446     * <p>
2447     * <b>Definition:</b>
2448     * DICOM instance  type
2449     * </p> 
2450         */
2451        public OidDt getSopClassElement() {  
2452                if (mySopClass == null) {
2453                        mySopClass = new OidDt();
2454                }
2455                return mySopClass;
2456        }
2457
2458        
2459        /**
2460         * Gets the value(s) for <b>sopClass</b> ().
2461         * creating it if it does
2462         * not exist. This method may return <code>null</code>.
2463         *
2464     * <p>
2465     * <b>Definition:</b>
2466     * DICOM instance  type
2467     * </p> 
2468         */
2469        public String getSopClass() {  
2470                return getSopClassElement().getValue();
2471        }
2472
2473        /**
2474         * Sets the value(s) for <b>sopClass</b> ()
2475         *
2476     * <p>
2477     * <b>Definition:</b>
2478     * DICOM instance  type
2479     * </p> 
2480         */
2481        public SeriesInstance setSopClass(OidDt theValue) {
2482                mySopClass = theValue;
2483                return this;
2484        }
2485        
2486        
2487
2488  
2489        /**
2490         * Gets the value(s) for <b>type</b> ().
2491         * creating it if it does
2492         * not exist. Will not return <code>null</code>.
2493         *
2494     * <p>
2495     * <b>Definition:</b>
2496     * A human-friendly SOP Class name
2497     * </p> 
2498         */
2499        public StringDt getTypeElement() {  
2500                if (myType == null) {
2501                        myType = new StringDt();
2502                }
2503                return myType;
2504        }
2505
2506        
2507        /**
2508         * Gets the value(s) for <b>type</b> ().
2509         * creating it if it does
2510         * not exist. This method may return <code>null</code>.
2511         *
2512     * <p>
2513     * <b>Definition:</b>
2514     * A human-friendly SOP Class name
2515     * </p> 
2516         */
2517        public String getType() {  
2518                return getTypeElement().getValue();
2519        }
2520
2521        /**
2522         * Sets the value(s) for <b>type</b> ()
2523         *
2524     * <p>
2525     * <b>Definition:</b>
2526     * A human-friendly SOP Class name
2527     * </p> 
2528         */
2529        public SeriesInstance setType(StringDt theValue) {
2530                myType = theValue;
2531                return this;
2532        }
2533        
2534        
2535
2536        /**
2537         * Sets the value for <b>type</b> ()
2538         *
2539     * <p>
2540     * <b>Definition:</b>
2541     * A human-friendly SOP Class name
2542     * </p> 
2543         */
2544        public SeriesInstance setType( String theString) {
2545                myType = new StringDt(theString); 
2546                return this; 
2547        }
2548
2549 
2550        /**
2551         * Gets the value(s) for <b>title</b> ().
2552         * creating it if it does
2553         * not exist. Will not return <code>null</code>.
2554         *
2555     * <p>
2556     * <b>Definition:</b>
2557     * The description of the instance
2558     * </p> 
2559         */
2560        public StringDt getTitleElement() {  
2561                if (myTitle == null) {
2562                        myTitle = new StringDt();
2563                }
2564                return myTitle;
2565        }
2566
2567        
2568        /**
2569         * Gets the value(s) for <b>title</b> ().
2570         * creating it if it does
2571         * not exist. This method may return <code>null</code>.
2572         *
2573     * <p>
2574     * <b>Definition:</b>
2575     * The description of the instance
2576     * </p> 
2577         */
2578        public String getTitle() {  
2579                return getTitleElement().getValue();
2580        }
2581
2582        /**
2583         * Sets the value(s) for <b>title</b> ()
2584         *
2585     * <p>
2586     * <b>Definition:</b>
2587     * The description of the instance
2588     * </p> 
2589         */
2590        public SeriesInstance setTitle(StringDt theValue) {
2591                myTitle = theValue;
2592                return this;
2593        }
2594        
2595        
2596
2597        /**
2598         * Sets the value for <b>title</b> ()
2599         *
2600     * <p>
2601     * <b>Definition:</b>
2602     * The description of the instance
2603     * </p> 
2604         */
2605        public SeriesInstance setTitle( String theString) {
2606                myTitle = new StringDt(theString); 
2607                return this; 
2608        }
2609
2610 
2611        /**
2612         * Gets the value(s) for <b>content</b> ().
2613         * creating it if it does
2614         * not exist. Will not return <code>null</code>.
2615         *
2616     * <p>
2617     * <b>Definition:</b>
2618     * Content of the instance or a rendering thereof (e.g. a JPEG of an image, or an XML of a structured report). May be represented for example by inline encoding; by a URL reference to a WADO-RS service that makes the instance available; or to a FHIR Resource (e.g. Media, Document, etc.). Multiple content attachments may be used for alternate representations of the instance.
2619     * </p> 
2620         */
2621        public java.util.List<AttachmentDt> getContent() {  
2622                if (myContent == null) {
2623                        myContent = new java.util.ArrayList<AttachmentDt>();
2624                }
2625                return myContent;
2626        }
2627
2628        /**
2629         * Sets the value(s) for <b>content</b> ()
2630         *
2631     * <p>
2632     * <b>Definition:</b>
2633     * Content of the instance or a rendering thereof (e.g. a JPEG of an image, or an XML of a structured report). May be represented for example by inline encoding; by a URL reference to a WADO-RS service that makes the instance available; or to a FHIR Resource (e.g. Media, Document, etc.). Multiple content attachments may be used for alternate representations of the instance.
2634     * </p> 
2635         */
2636        public SeriesInstance setContent(java.util.List<AttachmentDt> theValue) {
2637                myContent = theValue;
2638                return this;
2639        }
2640        
2641        
2642
2643        /**
2644         * Adds and returns a new value for <b>content</b> ()
2645         *
2646     * <p>
2647     * <b>Definition:</b>
2648     * Content of the instance or a rendering thereof (e.g. a JPEG of an image, or an XML of a structured report). May be represented for example by inline encoding; by a URL reference to a WADO-RS service that makes the instance available; or to a FHIR Resource (e.g. Media, Document, etc.). Multiple content attachments may be used for alternate representations of the instance.
2649     * </p> 
2650         */
2651        public AttachmentDt addContent() {
2652                AttachmentDt newType = new AttachmentDt();
2653                getContent().add(newType);
2654                return newType; 
2655        }
2656
2657        /**
2658         * Adds a given new value for <b>content</b> ()
2659         *
2660         * <p>
2661         * <b>Definition:</b>
2662         * Content of the instance or a rendering thereof (e.g. a JPEG of an image, or an XML of a structured report). May be represented for example by inline encoding; by a URL reference to a WADO-RS service that makes the instance available; or to a FHIR Resource (e.g. Media, Document, etc.). Multiple content attachments may be used for alternate representations of the instance.
2663         * </p>
2664         * @param theValue The content to add (must not be <code>null</code>)
2665         */
2666        public SeriesInstance addContent(AttachmentDt theValue) {
2667                if (theValue == null) {
2668                        throw new NullPointerException("theValue must not be null");
2669                }
2670                getContent().add(theValue);
2671                return this;
2672        }
2673
2674        /**
2675         * Gets the first repetition for <b>content</b> (),
2676         * creating it if it does not already exist.
2677         *
2678     * <p>
2679     * <b>Definition:</b>
2680     * Content of the instance or a rendering thereof (e.g. a JPEG of an image, or an XML of a structured report). May be represented for example by inline encoding; by a URL reference to a WADO-RS service that makes the instance available; or to a FHIR Resource (e.g. Media, Document, etc.). Multiple content attachments may be used for alternate representations of the instance.
2681     * </p> 
2682         */
2683        public AttachmentDt getContentFirstRep() {
2684                if (getContent().isEmpty()) {
2685                        return addContent();
2686                }
2687                return getContent().get(0); 
2688        }
2689  
2690
2691
2692        }
2693
2694
2695
2696
2697
2698    @Override
2699    public String getResourceName() {
2700        return "ImagingStudy";
2701    }
2702    
2703    public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() {
2704        return ca.uhn.fhir.context.FhirVersionEnum.DSTU2;
2705    }
2706
2707
2708}