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>DeviceUseStatement</b> Resource 282 * (workflow.order) 283 * 284 * <p> 285 * <b>Definition:</b> 286 * A record of a device being used by a patient where the record is the result of a report from the patient or another clinician. 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/DeviceUseStatement">http://hl7.org/fhir/profiles/DeviceUseStatement</a> 297 * </p> 298 * 299 */ 300@ResourceDef(name="DeviceUseStatement", profile="http://hl7.org/fhir/profiles/DeviceUseStatement", id="deviceusestatement") 301public class DeviceUseStatement extends ca.uhn.fhir.model.dstu2.resource.BaseResource 302 implements IResource { 303 304 /** 305 * Search parameter constant for <b>subject</b> 306 * <p> 307 * Description: <b>Search by subject</b><br> 308 * Type: <b>reference</b><br> 309 * Path: <b>DeviceUseStatement.subject</b><br> 310 * </p> 311 */ 312 @SearchParamDefinition(name="subject", path="DeviceUseStatement.subject", description="Search by subject", type="reference" , providesMembershipIn={ 313 @Compartment(name="Patient") } 314 ) 315 public static final String SP_SUBJECT = "subject"; 316 317 /** 318 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 319 * <p> 320 * Description: <b>Search by subject</b><br> 321 * Type: <b>reference</b><br> 322 * Path: <b>DeviceUseStatement.subject</b><br> 323 * </p> 324 */ 325 public static final ReferenceClientParam SUBJECT = new ReferenceClientParam(SP_SUBJECT); 326 327 /** 328 * Search parameter constant for <b>patient</b> 329 * <p> 330 * Description: <b>Search by subject - a patient</b><br> 331 * Type: <b>reference</b><br> 332 * Path: <b>DeviceUseStatement.subject</b><br> 333 * </p> 334 */ 335 @SearchParamDefinition(name="patient", path="DeviceUseStatement.subject", description="Search by subject - a patient", type="reference" ) 336 public static final String SP_PATIENT = "patient"; 337 338 /** 339 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 340 * <p> 341 * Description: <b>Search by subject - a patient</b><br> 342 * Type: <b>reference</b><br> 343 * Path: <b>DeviceUseStatement.subject</b><br> 344 * </p> 345 */ 346 public static final ReferenceClientParam PATIENT = new ReferenceClientParam(SP_PATIENT); 347 348 /** 349 * Search parameter constant for <b>device</b> 350 * <p> 351 * Description: <b>Search by device</b><br> 352 * Type: <b>reference</b><br> 353 * Path: <b>DeviceUseStatement.device</b><br> 354 * </p> 355 */ 356 @SearchParamDefinition(name="device", path="DeviceUseStatement.device", description="Search by device", type="reference" , providesMembershipIn={ 357 @Compartment(name="Encounter") } 358 ) 359 public static final String SP_DEVICE = "device"; 360 361 /** 362 * <b>Fluent Client</b> search parameter constant for <b>device</b> 363 * <p> 364 * Description: <b>Search by device</b><br> 365 * Type: <b>reference</b><br> 366 * Path: <b>DeviceUseStatement.device</b><br> 367 * </p> 368 */ 369 public static final ReferenceClientParam DEVICE = new ReferenceClientParam(SP_DEVICE); 370 371 372 /** 373 * Constant for fluent queries to be used to add include statements. Specifies 374 * the path value of "<b>DeviceUseStatement:device</b>". 375 */ 376 public static final Include INCLUDE_DEVICE = new Include("DeviceUseStatement:device"); 377 378 /** 379 * Constant for fluent queries to be used to add include statements. Specifies 380 * the path value of "<b>DeviceUseStatement:patient</b>". 381 */ 382 public static final Include INCLUDE_PATIENT = new Include("DeviceUseStatement:patient"); 383 384 /** 385 * Constant for fluent queries to be used to add include statements. Specifies 386 * the path value of "<b>DeviceUseStatement:subject</b>". 387 */ 388 public static final Include INCLUDE_SUBJECT = new Include("DeviceUseStatement:subject"); 389 390 391 @Child(name="bodySite", order=0, min=0, max=1, summary=false, modifier=false, type={ 392 CodeableConceptDt.class, BodySite.class }) 393 @Description( 394 shortDefinition="", 395 formalDefinition="Indicates the site on the subject's body where the device was used ( i.e. the target site)." 396 ) 397 private IDatatype myBodySite; 398 399 @Child(name="whenUsed", type=PeriodDt.class, order=1, min=0, max=1, summary=false, modifier=false) 400 @Description( 401 shortDefinition="when.done", 402 formalDefinition="The time period over which the device was used." 403 ) 404 private PeriodDt myWhenUsed; 405 406 @Child(name="device", order=2, min=1, max=1, summary=false, modifier=false, type={ 407 ca.uhn.fhir.model.dstu2.resource.Device.class }) 408 @Description( 409 shortDefinition="who.actor", 410 formalDefinition="The details of the device used." 411 ) 412 private ResourceReferenceDt myDevice; 413 414 @Child(name="identifier", type=IdentifierDt.class, order=3, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 415 @Description( 416 shortDefinition="id", 417 formalDefinition="An external identifier for this statement such as an IRI." 418 ) 419 private java.util.List<IdentifierDt> myIdentifier; 420 421 @Child(name="indication", type=CodeableConceptDt.class, order=4, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 422 @Description( 423 shortDefinition="why", 424 formalDefinition="Reason or justification for the use of the device." 425 ) 426 private java.util.List<CodeableConceptDt> myIndication; 427 428 @Child(name="notes", type=StringDt.class, order=5, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 429 @Description( 430 shortDefinition="", 431 formalDefinition="Details about the device statement that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement." 432 ) 433 private java.util.List<StringDt> myNotes; 434 435 @Child(name="recordedOn", type=DateTimeDt.class, order=6, min=0, max=1, summary=false, modifier=false) 436 @Description( 437 shortDefinition="when.recorded", 438 formalDefinition="The time at which the statement was made/recorded." 439 ) 440 private DateTimeDt myRecordedOn; 441 442 @Child(name="subject", order=7, min=1, max=1, summary=false, modifier=false, type={ 443 ca.uhn.fhir.model.dstu2.resource.Patient.class }) 444 @Description( 445 shortDefinition="who.focus", 446 formalDefinition="The patient who used the device." 447 ) 448 private ResourceReferenceDt mySubject; 449 450 @Child(name="timing", order=8, min=0, max=1, summary=false, modifier=false, type={ 451 TimingDt.class, PeriodDt.class, DateTimeDt.class }) 452 @Description( 453 shortDefinition="when.done", 454 formalDefinition="How often the device was used." 455 ) 456 private IDatatype myTiming; 457 458 459 @Override 460 public boolean isEmpty() { 461 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myBodySite, myWhenUsed, myDevice, myIdentifier, myIndication, myNotes, myRecordedOn, mySubject, myTiming); 462 } 463 464 @Override 465 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 466 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myBodySite, myWhenUsed, myDevice, myIdentifier, myIndication, myNotes, myRecordedOn, mySubject, myTiming); 467 } 468 469 /** 470 * Gets the value(s) for <b>bodySite[x]</b> (). 471 * creating it if it does 472 * not exist. Will not return <code>null</code>. 473 * 474 * <p> 475 * <b>Definition:</b> 476 * Indicates the site on the subject's body where the device was used ( i.e. the target site). 477 * </p> 478 */ 479 public IDatatype getBodySite() { 480 return myBodySite; 481 } 482 483 /** 484 * Sets the value(s) for <b>bodySite[x]</b> () 485 * 486 * <p> 487 * <b>Definition:</b> 488 * Indicates the site on the subject's body where the device was used ( i.e. the target site). 489 * </p> 490 */ 491 public DeviceUseStatement setBodySite(IDatatype theValue) { 492 myBodySite = theValue; 493 return this; 494 } 495 496 497 498 499 /** 500 * Gets the value(s) for <b>whenUsed</b> (when.done). 501 * creating it if it does 502 * not exist. Will not return <code>null</code>. 503 * 504 * <p> 505 * <b>Definition:</b> 506 * The time period over which the device was used. 507 * </p> 508 */ 509 public PeriodDt getWhenUsed() { 510 if (myWhenUsed == null) { 511 myWhenUsed = new PeriodDt(); 512 } 513 return myWhenUsed; 514 } 515 516 /** 517 * Sets the value(s) for <b>whenUsed</b> (when.done) 518 * 519 * <p> 520 * <b>Definition:</b> 521 * The time period over which the device was used. 522 * </p> 523 */ 524 public DeviceUseStatement setWhenUsed(PeriodDt theValue) { 525 myWhenUsed = theValue; 526 return this; 527 } 528 529 530 531 532 /** 533 * Gets the value(s) for <b>device</b> (who.actor). 534 * creating it if it does 535 * not exist. Will not return <code>null</code>. 536 * 537 * <p> 538 * <b>Definition:</b> 539 * The details of the device used. 540 * </p> 541 */ 542 public ResourceReferenceDt getDevice() { 543 if (myDevice == null) { 544 myDevice = new ResourceReferenceDt(); 545 } 546 return myDevice; 547 } 548 549 /** 550 * Sets the value(s) for <b>device</b> (who.actor) 551 * 552 * <p> 553 * <b>Definition:</b> 554 * The details of the device used. 555 * </p> 556 */ 557 public DeviceUseStatement setDevice(ResourceReferenceDt theValue) { 558 myDevice = theValue; 559 return this; 560 } 561 562 563 564 565 /** 566 * Gets the value(s) for <b>identifier</b> (id). 567 * creating it if it does 568 * not exist. Will not return <code>null</code>. 569 * 570 * <p> 571 * <b>Definition:</b> 572 * An external identifier for this statement such as an IRI. 573 * </p> 574 */ 575 public java.util.List<IdentifierDt> getIdentifier() { 576 if (myIdentifier == null) { 577 myIdentifier = new java.util.ArrayList<IdentifierDt>(); 578 } 579 return myIdentifier; 580 } 581 582 /** 583 * Sets the value(s) for <b>identifier</b> (id) 584 * 585 * <p> 586 * <b>Definition:</b> 587 * An external identifier for this statement such as an IRI. 588 * </p> 589 */ 590 public DeviceUseStatement setIdentifier(java.util.List<IdentifierDt> theValue) { 591 myIdentifier = theValue; 592 return this; 593 } 594 595 596 597 /** 598 * Adds and returns a new value for <b>identifier</b> (id) 599 * 600 * <p> 601 * <b>Definition:</b> 602 * An external identifier for this statement such as an IRI. 603 * </p> 604 */ 605 public IdentifierDt addIdentifier() { 606 IdentifierDt newType = new IdentifierDt(); 607 getIdentifier().add(newType); 608 return newType; 609 } 610 611 /** 612 * Adds a given new value for <b>identifier</b> (id) 613 * 614 * <p> 615 * <b>Definition:</b> 616 * An external identifier for this statement such as an IRI. 617 * </p> 618 * @param theValue The identifier to add (must not be <code>null</code>) 619 */ 620 public DeviceUseStatement addIdentifier(IdentifierDt theValue) { 621 if (theValue == null) { 622 throw new NullPointerException("theValue must not be null"); 623 } 624 getIdentifier().add(theValue); 625 return this; 626 } 627 628 /** 629 * Gets the first repetition for <b>identifier</b> (id), 630 * creating it if it does not already exist. 631 * 632 * <p> 633 * <b>Definition:</b> 634 * An external identifier for this statement such as an IRI. 635 * </p> 636 */ 637 public IdentifierDt getIdentifierFirstRep() { 638 if (getIdentifier().isEmpty()) { 639 return addIdentifier(); 640 } 641 return getIdentifier().get(0); 642 } 643 644 /** 645 * Gets the value(s) for <b>indication</b> (why). 646 * creating it if it does 647 * not exist. Will not return <code>null</code>. 648 * 649 * <p> 650 * <b>Definition:</b> 651 * Reason or justification for the use of the device. 652 * </p> 653 */ 654 public java.util.List<CodeableConceptDt> getIndication() { 655 if (myIndication == null) { 656 myIndication = new java.util.ArrayList<CodeableConceptDt>(); 657 } 658 return myIndication; 659 } 660 661 /** 662 * Sets the value(s) for <b>indication</b> (why) 663 * 664 * <p> 665 * <b>Definition:</b> 666 * Reason or justification for the use of the device. 667 * </p> 668 */ 669 public DeviceUseStatement setIndication(java.util.List<CodeableConceptDt> theValue) { 670 myIndication = theValue; 671 return this; 672 } 673 674 675 676 /** 677 * Adds and returns a new value for <b>indication</b> (why) 678 * 679 * <p> 680 * <b>Definition:</b> 681 * Reason or justification for the use of the device. 682 * </p> 683 */ 684 public CodeableConceptDt addIndication() { 685 CodeableConceptDt newType = new CodeableConceptDt(); 686 getIndication().add(newType); 687 return newType; 688 } 689 690 /** 691 * Adds a given new value for <b>indication</b> (why) 692 * 693 * <p> 694 * <b>Definition:</b> 695 * Reason or justification for the use of the device. 696 * </p> 697 * @param theValue The indication to add (must not be <code>null</code>) 698 */ 699 public DeviceUseStatement addIndication(CodeableConceptDt theValue) { 700 if (theValue == null) { 701 throw new NullPointerException("theValue must not be null"); 702 } 703 getIndication().add(theValue); 704 return this; 705 } 706 707 /** 708 * Gets the first repetition for <b>indication</b> (why), 709 * creating it if it does not already exist. 710 * 711 * <p> 712 * <b>Definition:</b> 713 * Reason or justification for the use of the device. 714 * </p> 715 */ 716 public CodeableConceptDt getIndicationFirstRep() { 717 if (getIndication().isEmpty()) { 718 return addIndication(); 719 } 720 return getIndication().get(0); 721 } 722 723 /** 724 * Gets the value(s) for <b>notes</b> (). 725 * creating it if it does 726 * not exist. Will not return <code>null</code>. 727 * 728 * <p> 729 * <b>Definition:</b> 730 * Details about the device statement that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement. 731 * </p> 732 */ 733 public java.util.List<StringDt> getNotes() { 734 if (myNotes == null) { 735 myNotes = new java.util.ArrayList<StringDt>(); 736 } 737 return myNotes; 738 } 739 740 /** 741 * Sets the value(s) for <b>notes</b> () 742 * 743 * <p> 744 * <b>Definition:</b> 745 * Details about the device statement that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement. 746 * </p> 747 */ 748 public DeviceUseStatement setNotes(java.util.List<StringDt> theValue) { 749 myNotes = theValue; 750 return this; 751 } 752 753 754 755 /** 756 * Adds and returns a new value for <b>notes</b> () 757 * 758 * <p> 759 * <b>Definition:</b> 760 * Details about the device statement that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement. 761 * </p> 762 */ 763 public StringDt addNotes() { 764 StringDt newType = new StringDt(); 765 getNotes().add(newType); 766 return newType; 767 } 768 769 /** 770 * Adds a given new value for <b>notes</b> () 771 * 772 * <p> 773 * <b>Definition:</b> 774 * Details about the device statement that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement. 775 * </p> 776 * @param theValue The notes to add (must not be <code>null</code>) 777 */ 778 public DeviceUseStatement addNotes(StringDt theValue) { 779 if (theValue == null) { 780 throw new NullPointerException("theValue must not be null"); 781 } 782 getNotes().add(theValue); 783 return this; 784 } 785 786 /** 787 * Gets the first repetition for <b>notes</b> (), 788 * creating it if it does not already exist. 789 * 790 * <p> 791 * <b>Definition:</b> 792 * Details about the device statement that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement. 793 * </p> 794 */ 795 public StringDt getNotesFirstRep() { 796 if (getNotes().isEmpty()) { 797 return addNotes(); 798 } 799 return getNotes().get(0); 800 } 801 /** 802 * Adds a new value for <b>notes</b> () 803 * 804 * <p> 805 * <b>Definition:</b> 806 * Details about the device statement that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement. 807 * </p> 808 * 809 * @return Returns a reference to this object, to allow for simple chaining. 810 */ 811 public DeviceUseStatement addNotes( String theString) { 812 if (myNotes == null) { 813 myNotes = new java.util.ArrayList<StringDt>(); 814 } 815 myNotes.add(new StringDt(theString)); 816 return this; 817 } 818 819 820 /** 821 * Gets the value(s) for <b>recordedOn</b> (when.recorded). 822 * creating it if it does 823 * not exist. Will not return <code>null</code>. 824 * 825 * <p> 826 * <b>Definition:</b> 827 * The time at which the statement was made/recorded. 828 * </p> 829 */ 830 public DateTimeDt getRecordedOnElement() { 831 if (myRecordedOn == null) { 832 myRecordedOn = new DateTimeDt(); 833 } 834 return myRecordedOn; 835 } 836 837 838 /** 839 * Gets the value(s) for <b>recordedOn</b> (when.recorded). 840 * creating it if it does 841 * not exist. This method may return <code>null</code>. 842 * 843 * <p> 844 * <b>Definition:</b> 845 * The time at which the statement was made/recorded. 846 * </p> 847 */ 848 public Date getRecordedOn() { 849 return getRecordedOnElement().getValue(); 850 } 851 852 /** 853 * Sets the value(s) for <b>recordedOn</b> (when.recorded) 854 * 855 * <p> 856 * <b>Definition:</b> 857 * The time at which the statement was made/recorded. 858 * </p> 859 */ 860 public DeviceUseStatement setRecordedOn(DateTimeDt theValue) { 861 myRecordedOn = theValue; 862 return this; 863 } 864 865 866 867 /** 868 * Sets the value for <b>recordedOn</b> (when.recorded) 869 * 870 * <p> 871 * <b>Definition:</b> 872 * The time at which the statement was made/recorded. 873 * </p> 874 */ 875 public DeviceUseStatement setRecordedOn( Date theDate, TemporalPrecisionEnum thePrecision) { 876 myRecordedOn = new DateTimeDt(theDate, thePrecision); 877 return this; 878 } 879 880 /** 881 * Sets the value for <b>recordedOn</b> (when.recorded) 882 * 883 * <p> 884 * <b>Definition:</b> 885 * The time at which the statement was made/recorded. 886 * </p> 887 */ 888 public DeviceUseStatement setRecordedOnWithSecondsPrecision( Date theDate) { 889 myRecordedOn = new DateTimeDt(theDate); 890 return this; 891 } 892 893 894 /** 895 * Gets the value(s) for <b>subject</b> (who.focus). 896 * creating it if it does 897 * not exist. Will not return <code>null</code>. 898 * 899 * <p> 900 * <b>Definition:</b> 901 * The patient who used the device. 902 * </p> 903 */ 904 public ResourceReferenceDt getSubject() { 905 if (mySubject == null) { 906 mySubject = new ResourceReferenceDt(); 907 } 908 return mySubject; 909 } 910 911 /** 912 * Sets the value(s) for <b>subject</b> (who.focus) 913 * 914 * <p> 915 * <b>Definition:</b> 916 * The patient who used the device. 917 * </p> 918 */ 919 public DeviceUseStatement setSubject(ResourceReferenceDt theValue) { 920 mySubject = theValue; 921 return this; 922 } 923 924 925 926 927 /** 928 * Gets the value(s) for <b>timing[x]</b> (when.done). 929 * creating it if it does 930 * not exist. Will not return <code>null</code>. 931 * 932 * <p> 933 * <b>Definition:</b> 934 * How often the device was used. 935 * </p> 936 */ 937 public IDatatype getTiming() { 938 return myTiming; 939 } 940 941 /** 942 * Sets the value(s) for <b>timing[x]</b> (when.done) 943 * 944 * <p> 945 * <b>Definition:</b> 946 * How often the device was used. 947 * </p> 948 */ 949 public DeviceUseStatement setTiming(IDatatype theValue) { 950 myTiming = theValue; 951 return this; 952 } 953 954 955 956 957 958 959 @Override 960 public String getResourceName() { 961 return "DeviceUseStatement"; 962 } 963 964 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 965 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 966 } 967 968 969}