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