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