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