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>Media</b> Resource
282 * (infrastructure.structure)
283 *
284 * <p>
285 * <b>Definition:</b>
286 * A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference
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/Media">http://hl7.org/fhir/profiles/Media</a> 
297 * </p>
298 *
299 */
300@ResourceDef(name="Media", profile="http://hl7.org/fhir/profiles/Media", id="media")
301public class Media extends ca.uhn.fhir.model.dstu2.resource.BaseResource
302    implements  IResource 
303    {
304
305        /**
306         * Search parameter constant for <b>type</b>
307         * <p>
308         * Description: <b></b><br>
309         * Type: <b>token</b><br>
310         * Path: <b>Media.type</b><br>
311         * </p>
312         */
313        @SearchParamDefinition(name="type", path="Media.type", description="", type="token" 
314 )
315        public static final String SP_TYPE = "type";
316
317        /**
318         * <b>Fluent Client</b> search parameter constant for <b>type</b>
319         * <p>
320         * Description: <b></b><br>
321         * Type: <b>token</b><br>
322         * Path: <b>Media.type</b><br>
323         * </p>
324         */
325        public static final TokenClientParam TYPE = new TokenClientParam(SP_TYPE);
326
327        /**
328         * Search parameter constant for <b>subtype</b>
329         * <p>
330         * Description: <b></b><br>
331         * Type: <b>token</b><br>
332         * Path: <b>Media.subtype</b><br>
333         * </p>
334         */
335        @SearchParamDefinition(name="subtype", path="Media.subtype", description="", type="token" 
336 )
337        public static final String SP_SUBTYPE = "subtype";
338
339        /**
340         * <b>Fluent Client</b> search parameter constant for <b>subtype</b>
341         * <p>
342         * Description: <b></b><br>
343         * Type: <b>token</b><br>
344         * Path: <b>Media.subtype</b><br>
345         * </p>
346         */
347        public static final TokenClientParam SUBTYPE = new TokenClientParam(SP_SUBTYPE);
348
349        /**
350         * Search parameter constant for <b>identifier</b>
351         * <p>
352         * Description: <b></b><br>
353         * Type: <b>token</b><br>
354         * Path: <b>Media.identifier</b><br>
355         * </p>
356         */
357        @SearchParamDefinition(name="identifier", path="Media.identifier", description="", type="token" 
358 )
359        public static final String SP_IDENTIFIER = "identifier";
360
361        /**
362         * <b>Fluent Client</b> search parameter constant for <b>identifier</b>
363         * <p>
364         * Description: <b></b><br>
365         * Type: <b>token</b><br>
366         * Path: <b>Media.identifier</b><br>
367         * </p>
368         */
369        public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER);
370
371        /**
372         * Search parameter constant for <b>created</b>
373         * <p>
374         * Description: <b></b><br>
375         * Type: <b>date</b><br>
376         * Path: <b>Media.content.creation</b><br>
377         * </p>
378         */
379        @SearchParamDefinition(name="created", path="Media.content.creation", description="", type="date" 
380 )
381        public static final String SP_CREATED = "created";
382
383        /**
384         * <b>Fluent Client</b> search parameter constant for <b>created</b>
385         * <p>
386         * Description: <b></b><br>
387         * Type: <b>date</b><br>
388         * Path: <b>Media.content.creation</b><br>
389         * </p>
390         */
391        public static final DateClientParam CREATED = new DateClientParam(SP_CREATED);
392
393        /**
394         * Search parameter constant for <b>subject</b>
395         * <p>
396         * Description: <b></b><br>
397         * Type: <b>reference</b><br>
398         * Path: <b>Media.subject</b><br>
399         * </p>
400         */
401        @SearchParamDefinition(name="subject", path="Media.subject", description="", type="reference" 
402, providesMembershipIn={
403 @Compartment(name="Patient") ,  @Compartment(name="Encounter") ,  @Compartment(name="RelatedPerson")   }
404 )
405        public static final String SP_SUBJECT = "subject";
406
407        /**
408         * <b>Fluent Client</b> search parameter constant for <b>subject</b>
409         * <p>
410         * Description: <b></b><br>
411         * Type: <b>reference</b><br>
412         * Path: <b>Media.subject</b><br>
413         * </p>
414         */
415        public static final ReferenceClientParam SUBJECT = new ReferenceClientParam(SP_SUBJECT);
416
417        /**
418         * Search parameter constant for <b>operator</b>
419         * <p>
420         * Description: <b></b><br>
421         * Type: <b>reference</b><br>
422         * Path: <b>Media.operator</b><br>
423         * </p>
424         */
425        @SearchParamDefinition(name="operator", path="Media.operator", description="", type="reference" 
426, providesMembershipIn={
427 @Compartment(name="Encounter")         }
428 )
429        public static final String SP_OPERATOR = "operator";
430
431        /**
432         * <b>Fluent Client</b> search parameter constant for <b>operator</b>
433         * <p>
434         * Description: <b></b><br>
435         * Type: <b>reference</b><br>
436         * Path: <b>Media.operator</b><br>
437         * </p>
438         */
439        public static final ReferenceClientParam OPERATOR = new ReferenceClientParam(SP_OPERATOR);
440
441        /**
442         * Search parameter constant for <b>view</b>
443         * <p>
444         * Description: <b></b><br>
445         * Type: <b>token</b><br>
446         * Path: <b>Media.view</b><br>
447         * </p>
448         */
449        @SearchParamDefinition(name="view", path="Media.view", description="", type="token" 
450 )
451        public static final String SP_VIEW = "view";
452
453        /**
454         * <b>Fluent Client</b> search parameter constant for <b>view</b>
455         * <p>
456         * Description: <b></b><br>
457         * Type: <b>token</b><br>
458         * Path: <b>Media.view</b><br>
459         * </p>
460         */
461        public static final TokenClientParam VIEW = new TokenClientParam(SP_VIEW);
462
463        /**
464         * Search parameter constant for <b>patient</b>
465         * <p>
466         * Description: <b></b><br>
467         * Type: <b>reference</b><br>
468         * Path: <b>Media.subject</b><br>
469         * </p>
470         */
471        @SearchParamDefinition(name="patient", path="Media.subject", description="", type="reference" 
472, target={
473 ca.uhn.fhir.model.dstu2.resource.Patient.class         }
474 )
475        public static final String SP_PATIENT = "patient";
476
477        /**
478         * <b>Fluent Client</b> search parameter constant for <b>patient</b>
479         * <p>
480         * Description: <b></b><br>
481         * Type: <b>reference</b><br>
482         * Path: <b>Media.subject</b><br>
483         * </p>
484         */
485        public static final ReferenceClientParam PATIENT = new ReferenceClientParam(SP_PATIENT);
486
487
488        /**
489         * Constant for fluent queries to be used to add include statements. Specifies
490         * the path value of "<b>Media:operator</b>".
491         */
492        public static final Include INCLUDE_OPERATOR = new Include("Media:operator");
493
494        /**
495         * Constant for fluent queries to be used to add include statements. Specifies
496         * the path value of "<b>Media:patient</b>".
497         */
498        public static final Include INCLUDE_PATIENT = new Include("Media:patient");
499
500        /**
501         * Constant for fluent queries to be used to add include statements. Specifies
502         * the path value of "<b>Media:subject</b>".
503         */
504        public static final Include INCLUDE_SUBJECT = new Include("Media:subject");
505
506
507        @Child(name="type", type=CodeDt.class, order=0, min=1, max=1, summary=true, modifier=false)     
508        @Description(
509                shortDefinition="class",
510                formalDefinition="Whether the media is a photo (still image), an audio recording, or a video recording"
511        )
512        @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/digital-media-type")
513        private BoundCodeDt<DigitalMediaTypeEnum> myType;
514        
515        @Child(name="subtype", type=CodeableConceptDt.class, order=1, min=0, max=1, summary=true, modifier=false)       
516        @Description(
517                shortDefinition="class",
518                formalDefinition="Details of the type of the media - usually, how it was acquired (what type of device). If images sourced from a DICOM system, are wrapped in a Media resource, then this is the modality"
519        )
520        private CodeableConceptDt mySubtype;
521        
522        @Child(name="identifier", type=IdentifierDt.class, order=2, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false)       
523        @Description(
524                shortDefinition="id",
525                formalDefinition="Identifiers associated with the image - these may include identifiers for the image itself, identifiers for the context of its collection (e.g. series ids) and context ids such as accession numbers or other workflow identifiers"
526        )
527        private java.util.List<IdentifierDt> myIdentifier;
528        
529        @Child(name="subject", order=3, min=0, max=1, summary=true, modifier=false, type={
530                ca.uhn.fhir.model.dstu2.resource.Patient.class, 
531                ca.uhn.fhir.model.dstu2.resource.Practitioner.class, 
532                ca.uhn.fhir.model.dstu2.resource.Group.class, 
533                ca.uhn.fhir.model.dstu2.resource.Device.class, 
534                ca.uhn.fhir.model.dstu2.resource.Specimen.class
535        })
536        @Description(
537                shortDefinition="who.focus",
538                formalDefinition="Who/What this Media is a record of"
539        )
540        private ResourceReferenceDt mySubject;
541        
542        @Child(name="operator", order=4, min=0, max=1, summary=true, modifier=false, type={
543                ca.uhn.fhir.model.dstu2.resource.Practitioner.class
544        })
545        @Description(
546                shortDefinition="who.actor",
547                formalDefinition="The person who administered the collection of the image"
548        )
549        private ResourceReferenceDt myOperator;
550        
551        @Child(name="view", type=CodeableConceptDt.class, order=5, min=0, max=1, summary=true, modifier=false)  
552        @Description(
553                shortDefinition="class",
554                formalDefinition="The name of the imaging view e.g. Lateral or Antero-posterior (AP)."
555        )
556        private CodeableConceptDt myView;
557        
558        @Child(name="deviceName", type=StringDt.class, order=6, min=0, max=1, summary=true, modifier=false)     
559        @Description(
560                shortDefinition="",
561                formalDefinition="The name of the device / manufacturer of the device  that was used to make the recording"
562        )
563        private StringDt myDeviceName;
564        
565        @Child(name="height", type=PositiveIntDt.class, order=7, min=0, max=1, summary=true, modifier=false)    
566        @Description(
567                shortDefinition="",
568                formalDefinition="Height of the image in pixels (photo/video)"
569        )
570        private PositiveIntDt myHeight;
571        
572        @Child(name="width", type=PositiveIntDt.class, order=8, min=0, max=1, summary=true, modifier=false)     
573        @Description(
574                shortDefinition="",
575                formalDefinition="Width of the image in pixels (photo/video)"
576        )
577        private PositiveIntDt myWidth;
578        
579        @Child(name="frames", type=PositiveIntDt.class, order=9, min=0, max=1, summary=true, modifier=false)    
580        @Description(
581                shortDefinition="",
582                formalDefinition="The number of frames in a photo. This is used with a multi-page fax, or an imaging acquisition context that takes multiple slices in a single image, or an animated gif. If there is more than one frame, this SHALL have a value in order to alert interface software that a multi-frame capable rendering widget is required"
583        )
584        private PositiveIntDt myFrames;
585        
586        @Child(name="duration", type=UnsignedIntDt.class, order=10, min=0, max=1, summary=true, modifier=false) 
587        @Description(
588                shortDefinition="",
589                formalDefinition="The duration of the recording in seconds - for audio and video"
590        )
591        private UnsignedIntDt myDuration;
592        
593        @Child(name="content", type=AttachmentDt.class, order=11, min=1, max=1, summary=false, modifier=false)  
594        @Description(
595                shortDefinition="",
596                formalDefinition="The actual content of the media - inline or by direct reference to the media source file"
597        )
598        private AttachmentDt myContent;
599        
600
601        @Override
602        public boolean isEmpty() {
603                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  myType,  mySubtype,  myIdentifier,  mySubject,  myOperator,  myView,  myDeviceName,  myHeight,  myWidth,  myFrames,  myDuration,  myContent);
604        }
605        
606        @Override
607        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
608                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myType, mySubtype, myIdentifier, mySubject, myOperator, myView, myDeviceName, myHeight, myWidth, myFrames, myDuration, myContent);
609        }
610
611        /**
612         * Gets the value(s) for <b>type</b> (class).
613         * creating it if it does
614         * not exist. Will not return <code>null</code>.
615         *
616     * <p>
617     * <b>Definition:</b>
618     * Whether the media is a photo (still image), an audio recording, or a video recording
619     * </p> 
620         */
621        public BoundCodeDt<DigitalMediaTypeEnum> getTypeElement() {  
622                if (myType == null) {
623                        myType = new BoundCodeDt<DigitalMediaTypeEnum>(DigitalMediaTypeEnum.VALUESET_BINDER);
624                }
625                return myType;
626        }
627
628        
629        /**
630         * Gets the value(s) for <b>type</b> (class).
631         * creating it if it does
632         * not exist. This method may return <code>null</code>.
633         *
634     * <p>
635     * <b>Definition:</b>
636     * Whether the media is a photo (still image), an audio recording, or a video recording
637     * </p> 
638         */
639        public String getType() {  
640                return getTypeElement().getValue();
641        }
642
643        /**
644         * Sets the value(s) for <b>type</b> (class)
645         *
646     * <p>
647     * <b>Definition:</b>
648     * Whether the media is a photo (still image), an audio recording, or a video recording
649     * </p> 
650         */
651        public Media setType(BoundCodeDt<DigitalMediaTypeEnum> theValue) {
652                myType = theValue;
653                return this;
654        }
655        
656        
657
658        /**
659         * Sets the value(s) for <b>type</b> (class)
660         *
661     * <p>
662     * <b>Definition:</b>
663     * Whether the media is a photo (still image), an audio recording, or a video recording
664     * </p> 
665         */
666        public Media setType(DigitalMediaTypeEnum theValue) {
667                setType(new BoundCodeDt<DigitalMediaTypeEnum>(DigitalMediaTypeEnum.VALUESET_BINDER, theValue));
668                
669/*
670                getTypeElement().setValueAsEnum(theValue);
671*/
672                return this;
673        }
674
675  
676        /**
677         * Gets the value(s) for <b>subtype</b> (class).
678         * creating it if it does
679         * not exist. Will not return <code>null</code>.
680         *
681     * <p>
682     * <b>Definition:</b>
683     * Details of the type of the media - usually, how it was acquired (what type of device). If images sourced from a DICOM system, are wrapped in a Media resource, then this is the modality
684     * </p> 
685         */
686        public CodeableConceptDt getSubtype() {  
687                if (mySubtype == null) {
688                        mySubtype = new CodeableConceptDt();
689                }
690                return mySubtype;
691        }
692
693        /**
694         * Sets the value(s) for <b>subtype</b> (class)
695         *
696     * <p>
697     * <b>Definition:</b>
698     * Details of the type of the media - usually, how it was acquired (what type of device). If images sourced from a DICOM system, are wrapped in a Media resource, then this is the modality
699     * </p> 
700         */
701        public Media setSubtype(CodeableConceptDt theValue) {
702                mySubtype = theValue;
703                return this;
704        }
705        
706        
707
708  
709        /**
710         * Gets the value(s) for <b>identifier</b> (id).
711         * creating it if it does
712         * not exist. Will not return <code>null</code>.
713         *
714     * <p>
715     * <b>Definition:</b>
716     * Identifiers associated with the image - these may include identifiers for the image itself, identifiers for the context of its collection (e.g. series ids) and context ids such as accession numbers or other workflow identifiers
717     * </p> 
718         */
719        public java.util.List<IdentifierDt> getIdentifier() {  
720                if (myIdentifier == null) {
721                        myIdentifier = new java.util.ArrayList<IdentifierDt>();
722                }
723                return myIdentifier;
724        }
725
726        /**
727         * Sets the value(s) for <b>identifier</b> (id)
728         *
729     * <p>
730     * <b>Definition:</b>
731     * Identifiers associated with the image - these may include identifiers for the image itself, identifiers for the context of its collection (e.g. series ids) and context ids such as accession numbers or other workflow identifiers
732     * </p> 
733         */
734        public Media setIdentifier(java.util.List<IdentifierDt> theValue) {
735                myIdentifier = theValue;
736                return this;
737        }
738        
739        
740
741        /**
742         * Adds and returns a new value for <b>identifier</b> (id)
743         *
744     * <p>
745     * <b>Definition:</b>
746     * Identifiers associated with the image - these may include identifiers for the image itself, identifiers for the context of its collection (e.g. series ids) and context ids such as accession numbers or other workflow identifiers
747     * </p> 
748         */
749        public IdentifierDt addIdentifier() {
750                IdentifierDt newType = new IdentifierDt();
751                getIdentifier().add(newType);
752                return newType; 
753        }
754
755        /**
756         * Adds a given new value for <b>identifier</b> (id)
757         *
758         * <p>
759         * <b>Definition:</b>
760         * Identifiers associated with the image - these may include identifiers for the image itself, identifiers for the context of its collection (e.g. series ids) and context ids such as accession numbers or other workflow identifiers
761         * </p>
762         * @param theValue The identifier to add (must not be <code>null</code>)
763         */
764        public Media addIdentifier(IdentifierDt theValue) {
765                if (theValue == null) {
766                        throw new NullPointerException("theValue must not be null");
767                }
768                getIdentifier().add(theValue);
769                return this;
770        }
771
772        /**
773         * Gets the first repetition for <b>identifier</b> (id),
774         * creating it if it does not already exist.
775         *
776     * <p>
777     * <b>Definition:</b>
778     * Identifiers associated with the image - these may include identifiers for the image itself, identifiers for the context of its collection (e.g. series ids) and context ids such as accession numbers or other workflow identifiers
779     * </p> 
780         */
781        public IdentifierDt getIdentifierFirstRep() {
782                if (getIdentifier().isEmpty()) {
783                        return addIdentifier();
784                }
785                return getIdentifier().get(0); 
786        }
787  
788        /**
789         * Gets the value(s) for <b>subject</b> (who.focus).
790         * creating it if it does
791         * not exist. Will not return <code>null</code>.
792         *
793     * <p>
794     * <b>Definition:</b>
795     * Who/What this Media is a record of
796     * </p> 
797         */
798        public ResourceReferenceDt getSubject() {  
799                if (mySubject == null) {
800                        mySubject = new ResourceReferenceDt();
801                }
802                return mySubject;
803        }
804
805        /**
806         * Sets the value(s) for <b>subject</b> (who.focus)
807         *
808     * <p>
809     * <b>Definition:</b>
810     * Who/What this Media is a record of
811     * </p> 
812         */
813        public Media setSubject(ResourceReferenceDt theValue) {
814                mySubject = theValue;
815                return this;
816        }
817        
818        
819
820  
821        /**
822         * Gets the value(s) for <b>operator</b> (who.actor).
823         * creating it if it does
824         * not exist. Will not return <code>null</code>.
825         *
826     * <p>
827     * <b>Definition:</b>
828     * The person who administered the collection of the image
829     * </p> 
830         */
831        public ResourceReferenceDt getOperator() {  
832                if (myOperator == null) {
833                        myOperator = new ResourceReferenceDt();
834                }
835                return myOperator;
836        }
837
838        /**
839         * Sets the value(s) for <b>operator</b> (who.actor)
840         *
841     * <p>
842     * <b>Definition:</b>
843     * The person who administered the collection of the image
844     * </p> 
845         */
846        public Media setOperator(ResourceReferenceDt theValue) {
847                myOperator = theValue;
848                return this;
849        }
850        
851        
852
853  
854        /**
855         * Gets the value(s) for <b>view</b> (class).
856         * creating it if it does
857         * not exist. Will not return <code>null</code>.
858         *
859     * <p>
860     * <b>Definition:</b>
861     * The name of the imaging view e.g. Lateral or Antero-posterior (AP).
862     * </p> 
863         */
864        public CodeableConceptDt getView() {  
865                if (myView == null) {
866                        myView = new CodeableConceptDt();
867                }
868                return myView;
869        }
870
871        /**
872         * Sets the value(s) for <b>view</b> (class)
873         *
874     * <p>
875     * <b>Definition:</b>
876     * The name of the imaging view e.g. Lateral or Antero-posterior (AP).
877     * </p> 
878         */
879        public Media setView(CodeableConceptDt theValue) {
880                myView = theValue;
881                return this;
882        }
883        
884        
885
886  
887        /**
888         * Gets the value(s) for <b>deviceName</b> ().
889         * creating it if it does
890         * not exist. Will not return <code>null</code>.
891         *
892     * <p>
893     * <b>Definition:</b>
894     * The name of the device / manufacturer of the device  that was used to make the recording
895     * </p> 
896         */
897        public StringDt getDeviceNameElement() {  
898                if (myDeviceName == null) {
899                        myDeviceName = new StringDt();
900                }
901                return myDeviceName;
902        }
903
904        
905        /**
906         * Gets the value(s) for <b>deviceName</b> ().
907         * creating it if it does
908         * not exist. This method may return <code>null</code>.
909         *
910     * <p>
911     * <b>Definition:</b>
912     * The name of the device / manufacturer of the device  that was used to make the recording
913     * </p> 
914         */
915        public String getDeviceName() {  
916                return getDeviceNameElement().getValue();
917        }
918
919        /**
920         * Sets the value(s) for <b>deviceName</b> ()
921         *
922     * <p>
923     * <b>Definition:</b>
924     * The name of the device / manufacturer of the device  that was used to make the recording
925     * </p> 
926         */
927        public Media setDeviceName(StringDt theValue) {
928                myDeviceName = theValue;
929                return this;
930        }
931        
932        
933
934        /**
935         * Sets the value for <b>deviceName</b> ()
936         *
937     * <p>
938     * <b>Definition:</b>
939     * The name of the device / manufacturer of the device  that was used to make the recording
940     * </p> 
941         */
942        public Media setDeviceName( String theString) {
943                myDeviceName = new StringDt(theString); 
944                return this; 
945        }
946
947 
948        /**
949         * Gets the value(s) for <b>height</b> ().
950         * creating it if it does
951         * not exist. Will not return <code>null</code>.
952         *
953     * <p>
954     * <b>Definition:</b>
955     * Height of the image in pixels (photo/video)
956     * </p> 
957         */
958        public PositiveIntDt getHeightElement() {  
959                if (myHeight == null) {
960                        myHeight = new PositiveIntDt();
961                }
962                return myHeight;
963        }
964
965        
966        /**
967         * Gets the value(s) for <b>height</b> ().
968         * creating it if it does
969         * not exist. This method may return <code>null</code>.
970         *
971     * <p>
972     * <b>Definition:</b>
973     * Height of the image in pixels (photo/video)
974     * </p> 
975         */
976        public Integer getHeight() {  
977                return getHeightElement().getValue();
978        }
979
980        /**
981         * Sets the value(s) for <b>height</b> ()
982         *
983     * <p>
984     * <b>Definition:</b>
985     * Height of the image in pixels (photo/video)
986     * </p> 
987         */
988        public Media setHeight(PositiveIntDt theValue) {
989                myHeight = theValue;
990                return this;
991        }
992        
993        
994
995        /**
996         * Sets the value for <b>height</b> ()
997         *
998     * <p>
999     * <b>Definition:</b>
1000     * Height of the image in pixels (photo/video)
1001     * </p> 
1002         */
1003        public Media setHeight( int theInteger) {
1004                myHeight = new PositiveIntDt(theInteger); 
1005                return this; 
1006        }
1007
1008 
1009        /**
1010         * Gets the value(s) for <b>width</b> ().
1011         * creating it if it does
1012         * not exist. Will not return <code>null</code>.
1013         *
1014     * <p>
1015     * <b>Definition:</b>
1016     * Width of the image in pixels (photo/video)
1017     * </p> 
1018         */
1019        public PositiveIntDt getWidthElement() {  
1020                if (myWidth == null) {
1021                        myWidth = new PositiveIntDt();
1022                }
1023                return myWidth;
1024        }
1025
1026        
1027        /**
1028         * Gets the value(s) for <b>width</b> ().
1029         * creating it if it does
1030         * not exist. This method may return <code>null</code>.
1031         *
1032     * <p>
1033     * <b>Definition:</b>
1034     * Width of the image in pixels (photo/video)
1035     * </p> 
1036         */
1037        public Integer getWidth() {  
1038                return getWidthElement().getValue();
1039        }
1040
1041        /**
1042         * Sets the value(s) for <b>width</b> ()
1043         *
1044     * <p>
1045     * <b>Definition:</b>
1046     * Width of the image in pixels (photo/video)
1047     * </p> 
1048         */
1049        public Media setWidth(PositiveIntDt theValue) {
1050                myWidth = theValue;
1051                return this;
1052        }
1053        
1054        
1055
1056        /**
1057         * Sets the value for <b>width</b> ()
1058         *
1059     * <p>
1060     * <b>Definition:</b>
1061     * Width of the image in pixels (photo/video)
1062     * </p> 
1063         */
1064        public Media setWidth( int theInteger) {
1065                myWidth = new PositiveIntDt(theInteger); 
1066                return this; 
1067        }
1068
1069 
1070        /**
1071         * Gets the value(s) for <b>frames</b> ().
1072         * creating it if it does
1073         * not exist. Will not return <code>null</code>.
1074         *
1075     * <p>
1076     * <b>Definition:</b>
1077     * The number of frames in a photo. This is used with a multi-page fax, or an imaging acquisition context that takes multiple slices in a single image, or an animated gif. If there is more than one frame, this SHALL have a value in order to alert interface software that a multi-frame capable rendering widget is required
1078     * </p> 
1079         */
1080        public PositiveIntDt getFramesElement() {  
1081                if (myFrames == null) {
1082                        myFrames = new PositiveIntDt();
1083                }
1084                return myFrames;
1085        }
1086
1087        
1088        /**
1089         * Gets the value(s) for <b>frames</b> ().
1090         * creating it if it does
1091         * not exist. This method may return <code>null</code>.
1092         *
1093     * <p>
1094     * <b>Definition:</b>
1095     * The number of frames in a photo. This is used with a multi-page fax, or an imaging acquisition context that takes multiple slices in a single image, or an animated gif. If there is more than one frame, this SHALL have a value in order to alert interface software that a multi-frame capable rendering widget is required
1096     * </p> 
1097         */
1098        public Integer getFrames() {  
1099                return getFramesElement().getValue();
1100        }
1101
1102        /**
1103         * Sets the value(s) for <b>frames</b> ()
1104         *
1105     * <p>
1106     * <b>Definition:</b>
1107     * The number of frames in a photo. This is used with a multi-page fax, or an imaging acquisition context that takes multiple slices in a single image, or an animated gif. If there is more than one frame, this SHALL have a value in order to alert interface software that a multi-frame capable rendering widget is required
1108     * </p> 
1109         */
1110        public Media setFrames(PositiveIntDt theValue) {
1111                myFrames = theValue;
1112                return this;
1113        }
1114        
1115        
1116
1117        /**
1118         * Sets the value for <b>frames</b> ()
1119         *
1120     * <p>
1121     * <b>Definition:</b>
1122     * The number of frames in a photo. This is used with a multi-page fax, or an imaging acquisition context that takes multiple slices in a single image, or an animated gif. If there is more than one frame, this SHALL have a value in order to alert interface software that a multi-frame capable rendering widget is required
1123     * </p> 
1124         */
1125        public Media setFrames( int theInteger) {
1126                myFrames = new PositiveIntDt(theInteger); 
1127                return this; 
1128        }
1129
1130 
1131        /**
1132         * Gets the value(s) for <b>duration</b> ().
1133         * creating it if it does
1134         * not exist. Will not return <code>null</code>.
1135         *
1136     * <p>
1137     * <b>Definition:</b>
1138     * The duration of the recording in seconds - for audio and video
1139     * </p> 
1140         */
1141        public UnsignedIntDt getDurationElement() {  
1142                if (myDuration == null) {
1143                        myDuration = new UnsignedIntDt();
1144                }
1145                return myDuration;
1146        }
1147
1148        
1149        /**
1150         * Gets the value(s) for <b>duration</b> ().
1151         * creating it if it does
1152         * not exist. This method may return <code>null</code>.
1153         *
1154     * <p>
1155     * <b>Definition:</b>
1156     * The duration of the recording in seconds - for audio and video
1157     * </p> 
1158         */
1159        public Integer getDuration() {  
1160                return getDurationElement().getValue();
1161        }
1162
1163        /**
1164         * Sets the value(s) for <b>duration</b> ()
1165         *
1166     * <p>
1167     * <b>Definition:</b>
1168     * The duration of the recording in seconds - for audio and video
1169     * </p> 
1170         */
1171        public Media setDuration(UnsignedIntDt theValue) {
1172                myDuration = theValue;
1173                return this;
1174        }
1175        
1176        
1177
1178        /**
1179         * Sets the value for <b>duration</b> ()
1180         *
1181     * <p>
1182     * <b>Definition:</b>
1183     * The duration of the recording in seconds - for audio and video
1184     * </p> 
1185         */
1186        public Media setDuration( int theInteger) {
1187                myDuration = new UnsignedIntDt(theInteger); 
1188                return this; 
1189        }
1190
1191 
1192        /**
1193         * Gets the value(s) for <b>content</b> ().
1194         * creating it if it does
1195         * not exist. Will not return <code>null</code>.
1196         *
1197     * <p>
1198     * <b>Definition:</b>
1199     * The actual content of the media - inline or by direct reference to the media source file
1200     * </p> 
1201         */
1202        public AttachmentDt getContent() {  
1203                if (myContent == null) {
1204                        myContent = new AttachmentDt();
1205                }
1206                return myContent;
1207        }
1208
1209        /**
1210         * Sets the value(s) for <b>content</b> ()
1211         *
1212     * <p>
1213     * <b>Definition:</b>
1214     * The actual content of the media - inline or by direct reference to the media source file
1215     * </p> 
1216         */
1217        public Media setContent(AttachmentDt theValue) {
1218                myContent = theValue;
1219                return this;
1220        }
1221        
1222        
1223
1224  
1225
1226
1227    @Override
1228    public String getResourceName() {
1229        return "Media";
1230    }
1231    
1232    public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() {
1233        return ca.uhn.fhir.context.FhirVersionEnum.DSTU2;
1234    }
1235
1236
1237}