001package org.hl7.fhir.r4b.model; 002 003 004/* 005 Copyright (c) 2011+, HL7, Inc. 006 All rights reserved. 007 008 Redistribution and use in source and binary forms, with or without modification, \ 009 are permitted provided that the following conditions are met: 010 011 * Redistributions of source code must retain the above copyright notice, this \ 012 list of conditions and the following disclaimer. 013 * Redistributions in binary form must reproduce the above copyright notice, \ 014 this list of conditions and the following disclaimer in the documentation \ 015 and/or other materials provided with the distribution. 016 * Neither the name of HL7 nor the names of its contributors may be used to 017 endorse or promote products derived from this software without specific 018 prior written permission. 019 020 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ 021 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ 022 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ 023 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ 024 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ 025 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ 026 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ 027 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ 028 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ 029 POSSIBILITY OF SUCH DAMAGE. 030 */ 031 032// Generated on Fri, Dec 31, 2021 05:58+1100 for FHIR v4.3.0-snapshot1 033 034import java.util.ArrayList; 035import java.util.Date; 036import java.util.List; 037import org.hl7.fhir.utilities.Utilities; 038import org.hl7.fhir.r4b.model.Enumerations.*; 039import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 040import org.hl7.fhir.exceptions.FHIRException; 041import org.hl7.fhir.instance.model.api.ICompositeType; 042import ca.uhn.fhir.model.api.annotation.ResourceDef; 043import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 044import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 045import ca.uhn.fhir.model.api.annotation.Child; 046import ca.uhn.fhir.model.api.annotation.ChildOrder; 047import ca.uhn.fhir.model.api.annotation.Description; 048import ca.uhn.fhir.model.api.annotation.Block; 049 050/** 051 * 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. 052 */ 053@ResourceDef(name="ImagingStudy", profile="http://hl7.org/fhir/StructureDefinition/ImagingStudy") 054public class ImagingStudy extends DomainResource { 055 056 public enum ImagingStudyStatus { 057 /** 058 * The existence of the imaging study is registered, but there is nothing yet available. 059 */ 060 REGISTERED, 061 /** 062 * At least one instance has been associated with this imaging study. 063 */ 064 AVAILABLE, 065 /** 066 * The imaging study is unavailable because the imaging study was not started or not completed (also sometimes called \"aborted\"). 067 */ 068 CANCELLED, 069 /** 070 * The imaging study has been withdrawn following a previous final release. This electronic record should never have existed, though it is possible that real-world decisions were based on it. (If real-world activity has occurred, the status should be \"cancelled\" rather than \"entered-in-error\".). 071 */ 072 ENTEREDINERROR, 073 /** 074 * The system does not know which of the status values currently applies for this request. Note: This concept is not to be used for \"other\" - one of the listed statuses is presumed to apply, it's just not known which one. 075 */ 076 UNKNOWN, 077 /** 078 * added to help the parsers with the generic types 079 */ 080 NULL; 081 public static ImagingStudyStatus fromCode(String codeString) throws FHIRException { 082 if (codeString == null || "".equals(codeString)) 083 return null; 084 if ("registered".equals(codeString)) 085 return REGISTERED; 086 if ("available".equals(codeString)) 087 return AVAILABLE; 088 if ("cancelled".equals(codeString)) 089 return CANCELLED; 090 if ("entered-in-error".equals(codeString)) 091 return ENTEREDINERROR; 092 if ("unknown".equals(codeString)) 093 return UNKNOWN; 094 if (Configuration.isAcceptInvalidEnums()) 095 return null; 096 else 097 throw new FHIRException("Unknown ImagingStudyStatus code '"+codeString+"'"); 098 } 099 public String toCode() { 100 switch (this) { 101 case REGISTERED: return "registered"; 102 case AVAILABLE: return "available"; 103 case CANCELLED: return "cancelled"; 104 case ENTEREDINERROR: return "entered-in-error"; 105 case UNKNOWN: return "unknown"; 106 case NULL: return null; 107 default: return "?"; 108 } 109 } 110 public String getSystem() { 111 switch (this) { 112 case REGISTERED: return "http://hl7.org/fhir/imagingstudy-status"; 113 case AVAILABLE: return "http://hl7.org/fhir/imagingstudy-status"; 114 case CANCELLED: return "http://hl7.org/fhir/imagingstudy-status"; 115 case ENTEREDINERROR: return "http://hl7.org/fhir/imagingstudy-status"; 116 case UNKNOWN: return "http://hl7.org/fhir/imagingstudy-status"; 117 case NULL: return null; 118 default: return "?"; 119 } 120 } 121 public String getDefinition() { 122 switch (this) { 123 case REGISTERED: return "The existence of the imaging study is registered, but there is nothing yet available."; 124 case AVAILABLE: return "At least one instance has been associated with this imaging study."; 125 case CANCELLED: return "The imaging study is unavailable because the imaging study was not started or not completed (also sometimes called \"aborted\")."; 126 case ENTEREDINERROR: return "The imaging study has been withdrawn following a previous final release. This electronic record should never have existed, though it is possible that real-world decisions were based on it. (If real-world activity has occurred, the status should be \"cancelled\" rather than \"entered-in-error\".)."; 127 case UNKNOWN: return "The system does not know which of the status values currently applies for this request. Note: This concept is not to be used for \"other\" - one of the listed statuses is presumed to apply, it's just not known which one."; 128 case NULL: return null; 129 default: return "?"; 130 } 131 } 132 public String getDisplay() { 133 switch (this) { 134 case REGISTERED: return "Registered"; 135 case AVAILABLE: return "Available"; 136 case CANCELLED: return "Cancelled"; 137 case ENTEREDINERROR: return "Entered in Error"; 138 case UNKNOWN: return "Unknown"; 139 case NULL: return null; 140 default: return "?"; 141 } 142 } 143 } 144 145 public static class ImagingStudyStatusEnumFactory implements EnumFactory<ImagingStudyStatus> { 146 public ImagingStudyStatus fromCode(String codeString) throws IllegalArgumentException { 147 if (codeString == null || "".equals(codeString)) 148 if (codeString == null || "".equals(codeString)) 149 return null; 150 if ("registered".equals(codeString)) 151 return ImagingStudyStatus.REGISTERED; 152 if ("available".equals(codeString)) 153 return ImagingStudyStatus.AVAILABLE; 154 if ("cancelled".equals(codeString)) 155 return ImagingStudyStatus.CANCELLED; 156 if ("entered-in-error".equals(codeString)) 157 return ImagingStudyStatus.ENTEREDINERROR; 158 if ("unknown".equals(codeString)) 159 return ImagingStudyStatus.UNKNOWN; 160 throw new IllegalArgumentException("Unknown ImagingStudyStatus code '"+codeString+"'"); 161 } 162 public Enumeration<ImagingStudyStatus> fromType(Base code) throws FHIRException { 163 if (code == null) 164 return null; 165 if (code.isEmpty()) 166 return new Enumeration<ImagingStudyStatus>(this); 167 String codeString = ((PrimitiveType) code).asStringValue(); 168 if (codeString == null || "".equals(codeString)) 169 return null; 170 if ("registered".equals(codeString)) 171 return new Enumeration<ImagingStudyStatus>(this, ImagingStudyStatus.REGISTERED); 172 if ("available".equals(codeString)) 173 return new Enumeration<ImagingStudyStatus>(this, ImagingStudyStatus.AVAILABLE); 174 if ("cancelled".equals(codeString)) 175 return new Enumeration<ImagingStudyStatus>(this, ImagingStudyStatus.CANCELLED); 176 if ("entered-in-error".equals(codeString)) 177 return new Enumeration<ImagingStudyStatus>(this, ImagingStudyStatus.ENTEREDINERROR); 178 if ("unknown".equals(codeString)) 179 return new Enumeration<ImagingStudyStatus>(this, ImagingStudyStatus.UNKNOWN); 180 throw new FHIRException("Unknown ImagingStudyStatus code '"+codeString+"'"); 181 } 182 public String toCode(ImagingStudyStatus code) { 183 if (code == ImagingStudyStatus.REGISTERED) 184 return "registered"; 185 if (code == ImagingStudyStatus.AVAILABLE) 186 return "available"; 187 if (code == ImagingStudyStatus.CANCELLED) 188 return "cancelled"; 189 if (code == ImagingStudyStatus.ENTEREDINERROR) 190 return "entered-in-error"; 191 if (code == ImagingStudyStatus.UNKNOWN) 192 return "unknown"; 193 return "?"; 194 } 195 public String toSystem(ImagingStudyStatus code) { 196 return code.getSystem(); 197 } 198 } 199 200 @Block() 201 public static class ImagingStudySeriesComponent extends BackboneElement implements IBaseBackboneElement { 202 /** 203 * The DICOM Series Instance UID for the series. 204 */ 205 @Child(name = "uid", type = {IdType.class}, order=1, min=1, max=1, modifier=false, summary=true) 206 @Description(shortDefinition="DICOM Series Instance UID for the series", formalDefinition="The DICOM Series Instance UID for the series." ) 207 protected IdType uid; 208 209 /** 210 * The numeric identifier of this series in the study. 211 */ 212 @Child(name = "number", type = {UnsignedIntType.class}, order=2, min=0, max=1, modifier=false, summary=true) 213 @Description(shortDefinition="Numeric identifier of this series", formalDefinition="The numeric identifier of this series in the study." ) 214 protected UnsignedIntType number; 215 216 /** 217 * The modality of this series sequence. 218 */ 219 @Child(name = "modality", type = {Coding.class}, order=3, min=1, max=1, modifier=false, summary=true) 220 @Description(shortDefinition="The modality of the instances in the series", formalDefinition="The modality of this series sequence." ) 221 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://dicom.nema.org/medical/dicom/current/output/chtml/part16/sect_CID_29.html") 222 protected Coding modality; 223 224 /** 225 * A description of the series. 226 */ 227 @Child(name = "description", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) 228 @Description(shortDefinition="A short human readable summary of the series", formalDefinition="A description of the series." ) 229 protected StringType description; 230 231 /** 232 * Number of SOP Instances in the Study. The value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present. 233 */ 234 @Child(name = "numberOfInstances", type = {UnsignedIntType.class}, order=5, min=0, max=1, modifier=false, summary=true) 235 @Description(shortDefinition="Number of Series Related Instances", formalDefinition="Number of SOP Instances in the Study. The value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present." ) 236 protected UnsignedIntType numberOfInstances; 237 238 /** 239 * The network service providing access (e.g., query, view, or retrieval) for this series. See implementation notes for information about using DICOM endpoints. A series-level endpoint, if present, has precedence over a study-level endpoint with the same Endpoint.connectionType. 240 */ 241 @Child(name = "endpoint", type = {Endpoint.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 242 @Description(shortDefinition="Series access endpoint", formalDefinition="The network service providing access (e.g., query, view, or retrieval) for this series. See implementation notes for information about using DICOM endpoints. A series-level endpoint, if present, has precedence over a study-level endpoint with the same Endpoint.connectionType." ) 243 protected List<Reference> endpoint; 244 245 /** 246 * The anatomic structures examined. See DICOM Part 16 Annex L (http://dicom.nema.org/medical/dicom/current/output/chtml/part16/chapter_L.html) for DICOM to SNOMED-CT mappings. The bodySite may indicate the laterality of body part imaged; if so, it shall be consistent with any content of ImagingStudy.series.laterality. 247 */ 248 @Child(name = "bodySite", type = {Coding.class}, order=7, min=0, max=1, modifier=false, summary=true) 249 @Description(shortDefinition="Body part examined", formalDefinition="The anatomic structures examined. See DICOM Part 16 Annex L (http://dicom.nema.org/medical/dicom/current/output/chtml/part16/chapter_L.html) for DICOM to SNOMED-CT mappings. The bodySite may indicate the laterality of body part imaged; if so, it shall be consistent with any content of ImagingStudy.series.laterality." ) 250 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/body-site") 251 protected Coding bodySite; 252 253 /** 254 * The laterality of the (possibly paired) anatomic structures examined. E.g., the left knee, both lungs, or unpaired abdomen. If present, shall be consistent with any laterality information indicated in ImagingStudy.series.bodySite. 255 */ 256 @Child(name = "laterality", type = {Coding.class}, order=8, min=0, max=1, modifier=false, summary=true) 257 @Description(shortDefinition="Body part laterality", formalDefinition="The laterality of the (possibly paired) anatomic structures examined. E.g., the left knee, both lungs, or unpaired abdomen. If present, shall be consistent with any laterality information indicated in ImagingStudy.series.bodySite." ) 258 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/bodysite-laterality") 259 protected Coding laterality; 260 261 /** 262 * The specimen imaged, e.g., for whole slide imaging of a biopsy. 263 */ 264 @Child(name = "specimen", type = {Specimen.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 265 @Description(shortDefinition="Specimen imaged", formalDefinition="The specimen imaged, e.g., for whole slide imaging of a biopsy." ) 266 protected List<Reference> specimen; 267 268 /** 269 * The date and time the series was started. 270 */ 271 @Child(name = "started", type = {DateTimeType.class}, order=10, min=0, max=1, modifier=false, summary=true) 272 @Description(shortDefinition="When the series started", formalDefinition="The date and time the series was started." ) 273 protected DateTimeType started; 274 275 /** 276 * Indicates who or what performed the series and how they were involved. 277 */ 278 @Child(name = "performer", type = {}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 279 @Description(shortDefinition="Who performed the series", formalDefinition="Indicates who or what performed the series and how they were involved." ) 280 protected List<ImagingStudySeriesPerformerComponent> performer; 281 282 /** 283 * A single SOP instance within the series, e.g. an image, or presentation state. 284 */ 285 @Child(name = "instance", type = {}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 286 @Description(shortDefinition="A single SOP instance from the series", formalDefinition="A single SOP instance within the series, e.g. an image, or presentation state." ) 287 protected List<ImagingStudySeriesInstanceComponent> instance; 288 289 private static final long serialVersionUID = 198247349L; 290 291 /** 292 * Constructor 293 */ 294 public ImagingStudySeriesComponent() { 295 super(); 296 } 297 298 /** 299 * Constructor 300 */ 301 public ImagingStudySeriesComponent(String uid, Coding modality) { 302 super(); 303 this.setUid(uid); 304 this.setModality(modality); 305 } 306 307 /** 308 * @return {@link #uid} (The DICOM Series Instance UID for the series.). This is the underlying object with id, value and extensions. The accessor "getUid" gives direct access to the value 309 */ 310 public IdType getUidElement() { 311 if (this.uid == null) 312 if (Configuration.errorOnAutoCreate()) 313 throw new Error("Attempt to auto-create ImagingStudySeriesComponent.uid"); 314 else if (Configuration.doAutoCreate()) 315 this.uid = new IdType(); // bb 316 return this.uid; 317 } 318 319 public boolean hasUidElement() { 320 return this.uid != null && !this.uid.isEmpty(); 321 } 322 323 public boolean hasUid() { 324 return this.uid != null && !this.uid.isEmpty(); 325 } 326 327 /** 328 * @param value {@link #uid} (The DICOM Series Instance UID for the series.). This is the underlying object with id, value and extensions. The accessor "getUid" gives direct access to the value 329 */ 330 public ImagingStudySeriesComponent setUidElement(IdType value) { 331 this.uid = value; 332 return this; 333 } 334 335 /** 336 * @return The DICOM Series Instance UID for the series. 337 */ 338 public String getUid() { 339 return this.uid == null ? null : this.uid.getValue(); 340 } 341 342 /** 343 * @param value The DICOM Series Instance UID for the series. 344 */ 345 public ImagingStudySeriesComponent setUid(String value) { 346 if (this.uid == null) 347 this.uid = new IdType(); 348 this.uid.setValue(value); 349 return this; 350 } 351 352 /** 353 * @return {@link #number} (The numeric identifier of this series in the study.). This is the underlying object with id, value and extensions. The accessor "getNumber" gives direct access to the value 354 */ 355 public UnsignedIntType getNumberElement() { 356 if (this.number == null) 357 if (Configuration.errorOnAutoCreate()) 358 throw new Error("Attempt to auto-create ImagingStudySeriesComponent.number"); 359 else if (Configuration.doAutoCreate()) 360 this.number = new UnsignedIntType(); // bb 361 return this.number; 362 } 363 364 public boolean hasNumberElement() { 365 return this.number != null && !this.number.isEmpty(); 366 } 367 368 public boolean hasNumber() { 369 return this.number != null && !this.number.isEmpty(); 370 } 371 372 /** 373 * @param value {@link #number} (The numeric identifier of this series in the study.). This is the underlying object with id, value and extensions. The accessor "getNumber" gives direct access to the value 374 */ 375 public ImagingStudySeriesComponent setNumberElement(UnsignedIntType value) { 376 this.number = value; 377 return this; 378 } 379 380 /** 381 * @return The numeric identifier of this series in the study. 382 */ 383 public int getNumber() { 384 return this.number == null || this.number.isEmpty() ? 0 : this.number.getValue(); 385 } 386 387 /** 388 * @param value The numeric identifier of this series in the study. 389 */ 390 public ImagingStudySeriesComponent setNumber(int value) { 391 if (this.number == null) 392 this.number = new UnsignedIntType(); 393 this.number.setValue(value); 394 return this; 395 } 396 397 /** 398 * @return {@link #modality} (The modality of this series sequence.) 399 */ 400 public Coding getModality() { 401 if (this.modality == null) 402 if (Configuration.errorOnAutoCreate()) 403 throw new Error("Attempt to auto-create ImagingStudySeriesComponent.modality"); 404 else if (Configuration.doAutoCreate()) 405 this.modality = new Coding(); // cc 406 return this.modality; 407 } 408 409 public boolean hasModality() { 410 return this.modality != null && !this.modality.isEmpty(); 411 } 412 413 /** 414 * @param value {@link #modality} (The modality of this series sequence.) 415 */ 416 public ImagingStudySeriesComponent setModality(Coding value) { 417 this.modality = value; 418 return this; 419 } 420 421 /** 422 * @return {@link #description} (A description of the series.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 423 */ 424 public StringType getDescriptionElement() { 425 if (this.description == null) 426 if (Configuration.errorOnAutoCreate()) 427 throw new Error("Attempt to auto-create ImagingStudySeriesComponent.description"); 428 else if (Configuration.doAutoCreate()) 429 this.description = new StringType(); // bb 430 return this.description; 431 } 432 433 public boolean hasDescriptionElement() { 434 return this.description != null && !this.description.isEmpty(); 435 } 436 437 public boolean hasDescription() { 438 return this.description != null && !this.description.isEmpty(); 439 } 440 441 /** 442 * @param value {@link #description} (A description of the series.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 443 */ 444 public ImagingStudySeriesComponent setDescriptionElement(StringType value) { 445 this.description = value; 446 return this; 447 } 448 449 /** 450 * @return A description of the series. 451 */ 452 public String getDescription() { 453 return this.description == null ? null : this.description.getValue(); 454 } 455 456 /** 457 * @param value A description of the series. 458 */ 459 public ImagingStudySeriesComponent setDescription(String value) { 460 if (Utilities.noString(value)) 461 this.description = null; 462 else { 463 if (this.description == null) 464 this.description = new StringType(); 465 this.description.setValue(value); 466 } 467 return this; 468 } 469 470 /** 471 * @return {@link #numberOfInstances} (Number of SOP Instances in the Study. The value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present.). This is the underlying object with id, value and extensions. The accessor "getNumberOfInstances" gives direct access to the value 472 */ 473 public UnsignedIntType getNumberOfInstancesElement() { 474 if (this.numberOfInstances == null) 475 if (Configuration.errorOnAutoCreate()) 476 throw new Error("Attempt to auto-create ImagingStudySeriesComponent.numberOfInstances"); 477 else if (Configuration.doAutoCreate()) 478 this.numberOfInstances = new UnsignedIntType(); // bb 479 return this.numberOfInstances; 480 } 481 482 public boolean hasNumberOfInstancesElement() { 483 return this.numberOfInstances != null && !this.numberOfInstances.isEmpty(); 484 } 485 486 public boolean hasNumberOfInstances() { 487 return this.numberOfInstances != null && !this.numberOfInstances.isEmpty(); 488 } 489 490 /** 491 * @param value {@link #numberOfInstances} (Number of SOP Instances in the Study. The value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present.). This is the underlying object with id, value and extensions. The accessor "getNumberOfInstances" gives direct access to the value 492 */ 493 public ImagingStudySeriesComponent setNumberOfInstancesElement(UnsignedIntType value) { 494 this.numberOfInstances = value; 495 return this; 496 } 497 498 /** 499 * @return Number of SOP Instances in the Study. The value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present. 500 */ 501 public int getNumberOfInstances() { 502 return this.numberOfInstances == null || this.numberOfInstances.isEmpty() ? 0 : this.numberOfInstances.getValue(); 503 } 504 505 /** 506 * @param value Number of SOP Instances in the Study. The value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present. 507 */ 508 public ImagingStudySeriesComponent setNumberOfInstances(int value) { 509 if (this.numberOfInstances == null) 510 this.numberOfInstances = new UnsignedIntType(); 511 this.numberOfInstances.setValue(value); 512 return this; 513 } 514 515 /** 516 * @return {@link #endpoint} (The network service providing access (e.g., query, view, or retrieval) for this series. See implementation notes for information about using DICOM endpoints. A series-level endpoint, if present, has precedence over a study-level endpoint with the same Endpoint.connectionType.) 517 */ 518 public List<Reference> getEndpoint() { 519 if (this.endpoint == null) 520 this.endpoint = new ArrayList<Reference>(); 521 return this.endpoint; 522 } 523 524 /** 525 * @return Returns a reference to <code>this</code> for easy method chaining 526 */ 527 public ImagingStudySeriesComponent setEndpoint(List<Reference> theEndpoint) { 528 this.endpoint = theEndpoint; 529 return this; 530 } 531 532 public boolean hasEndpoint() { 533 if (this.endpoint == null) 534 return false; 535 for (Reference item : this.endpoint) 536 if (!item.isEmpty()) 537 return true; 538 return false; 539 } 540 541 public Reference addEndpoint() { //3 542 Reference t = new Reference(); 543 if (this.endpoint == null) 544 this.endpoint = new ArrayList<Reference>(); 545 this.endpoint.add(t); 546 return t; 547 } 548 549 public ImagingStudySeriesComponent addEndpoint(Reference t) { //3 550 if (t == null) 551 return this; 552 if (this.endpoint == null) 553 this.endpoint = new ArrayList<Reference>(); 554 this.endpoint.add(t); 555 return this; 556 } 557 558 /** 559 * @return The first repetition of repeating field {@link #endpoint}, creating it if it does not already exist {3} 560 */ 561 public Reference getEndpointFirstRep() { 562 if (getEndpoint().isEmpty()) { 563 addEndpoint(); 564 } 565 return getEndpoint().get(0); 566 } 567 568 /** 569 * @return {@link #bodySite} (The anatomic structures examined. See DICOM Part 16 Annex L (http://dicom.nema.org/medical/dicom/current/output/chtml/part16/chapter_L.html) for DICOM to SNOMED-CT mappings. The bodySite may indicate the laterality of body part imaged; if so, it shall be consistent with any content of ImagingStudy.series.laterality.) 570 */ 571 public Coding getBodySite() { 572 if (this.bodySite == null) 573 if (Configuration.errorOnAutoCreate()) 574 throw new Error("Attempt to auto-create ImagingStudySeriesComponent.bodySite"); 575 else if (Configuration.doAutoCreate()) 576 this.bodySite = new Coding(); // cc 577 return this.bodySite; 578 } 579 580 public boolean hasBodySite() { 581 return this.bodySite != null && !this.bodySite.isEmpty(); 582 } 583 584 /** 585 * @param value {@link #bodySite} (The anatomic structures examined. See DICOM Part 16 Annex L (http://dicom.nema.org/medical/dicom/current/output/chtml/part16/chapter_L.html) for DICOM to SNOMED-CT mappings. The bodySite may indicate the laterality of body part imaged; if so, it shall be consistent with any content of ImagingStudy.series.laterality.) 586 */ 587 public ImagingStudySeriesComponent setBodySite(Coding value) { 588 this.bodySite = value; 589 return this; 590 } 591 592 /** 593 * @return {@link #laterality} (The laterality of the (possibly paired) anatomic structures examined. E.g., the left knee, both lungs, or unpaired abdomen. If present, shall be consistent with any laterality information indicated in ImagingStudy.series.bodySite.) 594 */ 595 public Coding getLaterality() { 596 if (this.laterality == null) 597 if (Configuration.errorOnAutoCreate()) 598 throw new Error("Attempt to auto-create ImagingStudySeriesComponent.laterality"); 599 else if (Configuration.doAutoCreate()) 600 this.laterality = new Coding(); // cc 601 return this.laterality; 602 } 603 604 public boolean hasLaterality() { 605 return this.laterality != null && !this.laterality.isEmpty(); 606 } 607 608 /** 609 * @param value {@link #laterality} (The laterality of the (possibly paired) anatomic structures examined. E.g., the left knee, both lungs, or unpaired abdomen. If present, shall be consistent with any laterality information indicated in ImagingStudy.series.bodySite.) 610 */ 611 public ImagingStudySeriesComponent setLaterality(Coding value) { 612 this.laterality = value; 613 return this; 614 } 615 616 /** 617 * @return {@link #specimen} (The specimen imaged, e.g., for whole slide imaging of a biopsy.) 618 */ 619 public List<Reference> getSpecimen() { 620 if (this.specimen == null) 621 this.specimen = new ArrayList<Reference>(); 622 return this.specimen; 623 } 624 625 /** 626 * @return Returns a reference to <code>this</code> for easy method chaining 627 */ 628 public ImagingStudySeriesComponent setSpecimen(List<Reference> theSpecimen) { 629 this.specimen = theSpecimen; 630 return this; 631 } 632 633 public boolean hasSpecimen() { 634 if (this.specimen == null) 635 return false; 636 for (Reference item : this.specimen) 637 if (!item.isEmpty()) 638 return true; 639 return false; 640 } 641 642 public Reference addSpecimen() { //3 643 Reference t = new Reference(); 644 if (this.specimen == null) 645 this.specimen = new ArrayList<Reference>(); 646 this.specimen.add(t); 647 return t; 648 } 649 650 public ImagingStudySeriesComponent addSpecimen(Reference t) { //3 651 if (t == null) 652 return this; 653 if (this.specimen == null) 654 this.specimen = new ArrayList<Reference>(); 655 this.specimen.add(t); 656 return this; 657 } 658 659 /** 660 * @return The first repetition of repeating field {@link #specimen}, creating it if it does not already exist {3} 661 */ 662 public Reference getSpecimenFirstRep() { 663 if (getSpecimen().isEmpty()) { 664 addSpecimen(); 665 } 666 return getSpecimen().get(0); 667 } 668 669 /** 670 * @return {@link #started} (The date and time the series was started.). This is the underlying object with id, value and extensions. The accessor "getStarted" gives direct access to the value 671 */ 672 public DateTimeType getStartedElement() { 673 if (this.started == null) 674 if (Configuration.errorOnAutoCreate()) 675 throw new Error("Attempt to auto-create ImagingStudySeriesComponent.started"); 676 else if (Configuration.doAutoCreate()) 677 this.started = new DateTimeType(); // bb 678 return this.started; 679 } 680 681 public boolean hasStartedElement() { 682 return this.started != null && !this.started.isEmpty(); 683 } 684 685 public boolean hasStarted() { 686 return this.started != null && !this.started.isEmpty(); 687 } 688 689 /** 690 * @param value {@link #started} (The date and time the series was started.). This is the underlying object with id, value and extensions. The accessor "getStarted" gives direct access to the value 691 */ 692 public ImagingStudySeriesComponent setStartedElement(DateTimeType value) { 693 this.started = value; 694 return this; 695 } 696 697 /** 698 * @return The date and time the series was started. 699 */ 700 public Date getStarted() { 701 return this.started == null ? null : this.started.getValue(); 702 } 703 704 /** 705 * @param value The date and time the series was started. 706 */ 707 public ImagingStudySeriesComponent setStarted(Date value) { 708 if (value == null) 709 this.started = null; 710 else { 711 if (this.started == null) 712 this.started = new DateTimeType(); 713 this.started.setValue(value); 714 } 715 return this; 716 } 717 718 /** 719 * @return {@link #performer} (Indicates who or what performed the series and how they were involved.) 720 */ 721 public List<ImagingStudySeriesPerformerComponent> getPerformer() { 722 if (this.performer == null) 723 this.performer = new ArrayList<ImagingStudySeriesPerformerComponent>(); 724 return this.performer; 725 } 726 727 /** 728 * @return Returns a reference to <code>this</code> for easy method chaining 729 */ 730 public ImagingStudySeriesComponent setPerformer(List<ImagingStudySeriesPerformerComponent> thePerformer) { 731 this.performer = thePerformer; 732 return this; 733 } 734 735 public boolean hasPerformer() { 736 if (this.performer == null) 737 return false; 738 for (ImagingStudySeriesPerformerComponent item : this.performer) 739 if (!item.isEmpty()) 740 return true; 741 return false; 742 } 743 744 public ImagingStudySeriesPerformerComponent addPerformer() { //3 745 ImagingStudySeriesPerformerComponent t = new ImagingStudySeriesPerformerComponent(); 746 if (this.performer == null) 747 this.performer = new ArrayList<ImagingStudySeriesPerformerComponent>(); 748 this.performer.add(t); 749 return t; 750 } 751 752 public ImagingStudySeriesComponent addPerformer(ImagingStudySeriesPerformerComponent t) { //3 753 if (t == null) 754 return this; 755 if (this.performer == null) 756 this.performer = new ArrayList<ImagingStudySeriesPerformerComponent>(); 757 this.performer.add(t); 758 return this; 759 } 760 761 /** 762 * @return The first repetition of repeating field {@link #performer}, creating it if it does not already exist {3} 763 */ 764 public ImagingStudySeriesPerformerComponent getPerformerFirstRep() { 765 if (getPerformer().isEmpty()) { 766 addPerformer(); 767 } 768 return getPerformer().get(0); 769 } 770 771 /** 772 * @return {@link #instance} (A single SOP instance within the series, e.g. an image, or presentation state.) 773 */ 774 public List<ImagingStudySeriesInstanceComponent> getInstance() { 775 if (this.instance == null) 776 this.instance = new ArrayList<ImagingStudySeriesInstanceComponent>(); 777 return this.instance; 778 } 779 780 /** 781 * @return Returns a reference to <code>this</code> for easy method chaining 782 */ 783 public ImagingStudySeriesComponent setInstance(List<ImagingStudySeriesInstanceComponent> theInstance) { 784 this.instance = theInstance; 785 return this; 786 } 787 788 public boolean hasInstance() { 789 if (this.instance == null) 790 return false; 791 for (ImagingStudySeriesInstanceComponent item : this.instance) 792 if (!item.isEmpty()) 793 return true; 794 return false; 795 } 796 797 public ImagingStudySeriesInstanceComponent addInstance() { //3 798 ImagingStudySeriesInstanceComponent t = new ImagingStudySeriesInstanceComponent(); 799 if (this.instance == null) 800 this.instance = new ArrayList<ImagingStudySeriesInstanceComponent>(); 801 this.instance.add(t); 802 return t; 803 } 804 805 public ImagingStudySeriesComponent addInstance(ImagingStudySeriesInstanceComponent t) { //3 806 if (t == null) 807 return this; 808 if (this.instance == null) 809 this.instance = new ArrayList<ImagingStudySeriesInstanceComponent>(); 810 this.instance.add(t); 811 return this; 812 } 813 814 /** 815 * @return The first repetition of repeating field {@link #instance}, creating it if it does not already exist {3} 816 */ 817 public ImagingStudySeriesInstanceComponent getInstanceFirstRep() { 818 if (getInstance().isEmpty()) { 819 addInstance(); 820 } 821 return getInstance().get(0); 822 } 823 824 protected void listChildren(List<Property> children) { 825 super.listChildren(children); 826 children.add(new Property("uid", "id", "The DICOM Series Instance UID for the series.", 0, 1, uid)); 827 children.add(new Property("number", "unsignedInt", "The numeric identifier of this series in the study.", 0, 1, number)); 828 children.add(new Property("modality", "Coding", "The modality of this series sequence.", 0, 1, modality)); 829 children.add(new Property("description", "string", "A description of the series.", 0, 1, description)); 830 children.add(new Property("numberOfInstances", "unsignedInt", "Number of SOP Instances in the Study. The value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present.", 0, 1, numberOfInstances)); 831 children.add(new Property("endpoint", "Reference(Endpoint)", "The network service providing access (e.g., query, view, or retrieval) for this series. See implementation notes for information about using DICOM endpoints. A series-level endpoint, if present, has precedence over a study-level endpoint with the same Endpoint.connectionType.", 0, java.lang.Integer.MAX_VALUE, endpoint)); 832 children.add(new Property("bodySite", "Coding", "The anatomic structures examined. See DICOM Part 16 Annex L (http://dicom.nema.org/medical/dicom/current/output/chtml/part16/chapter_L.html) for DICOM to SNOMED-CT mappings. The bodySite may indicate the laterality of body part imaged; if so, it shall be consistent with any content of ImagingStudy.series.laterality.", 0, 1, bodySite)); 833 children.add(new Property("laterality", "Coding", "The laterality of the (possibly paired) anatomic structures examined. E.g., the left knee, both lungs, or unpaired abdomen. If present, shall be consistent with any laterality information indicated in ImagingStudy.series.bodySite.", 0, 1, laterality)); 834 children.add(new Property("specimen", "Reference(Specimen)", "The specimen imaged, e.g., for whole slide imaging of a biopsy.", 0, java.lang.Integer.MAX_VALUE, specimen)); 835 children.add(new Property("started", "dateTime", "The date and time the series was started.", 0, 1, started)); 836 children.add(new Property("performer", "", "Indicates who or what performed the series and how they were involved.", 0, java.lang.Integer.MAX_VALUE, performer)); 837 children.add(new Property("instance", "", "A single SOP instance within the series, e.g. an image, or presentation state.", 0, java.lang.Integer.MAX_VALUE, instance)); 838 } 839 840 @Override 841 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 842 switch (_hash) { 843 case 115792: /*uid*/ return new Property("uid", "id", "The DICOM Series Instance UID for the series.", 0, 1, uid); 844 case -1034364087: /*number*/ return new Property("number", "unsignedInt", "The numeric identifier of this series in the study.", 0, 1, number); 845 case -622722335: /*modality*/ return new Property("modality", "Coding", "The modality of this series sequence.", 0, 1, modality); 846 case -1724546052: /*description*/ return new Property("description", "string", "A description of the series.", 0, 1, description); 847 case -1043544226: /*numberOfInstances*/ return new Property("numberOfInstances", "unsignedInt", "Number of SOP Instances in the Study. The value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present.", 0, 1, numberOfInstances); 848 case 1741102485: /*endpoint*/ return new Property("endpoint", "Reference(Endpoint)", "The network service providing access (e.g., query, view, or retrieval) for this series. See implementation notes for information about using DICOM endpoints. A series-level endpoint, if present, has precedence over a study-level endpoint with the same Endpoint.connectionType.", 0, java.lang.Integer.MAX_VALUE, endpoint); 849 case 1702620169: /*bodySite*/ return new Property("bodySite", "Coding", "The anatomic structures examined. See DICOM Part 16 Annex L (http://dicom.nema.org/medical/dicom/current/output/chtml/part16/chapter_L.html) for DICOM to SNOMED-CT mappings. The bodySite may indicate the laterality of body part imaged; if so, it shall be consistent with any content of ImagingStudy.series.laterality.", 0, 1, bodySite); 850 case -170291817: /*laterality*/ return new Property("laterality", "Coding", "The laterality of the (possibly paired) anatomic structures examined. E.g., the left knee, both lungs, or unpaired abdomen. If present, shall be consistent with any laterality information indicated in ImagingStudy.series.bodySite.", 0, 1, laterality); 851 case -2132868344: /*specimen*/ return new Property("specimen", "Reference(Specimen)", "The specimen imaged, e.g., for whole slide imaging of a biopsy.", 0, java.lang.Integer.MAX_VALUE, specimen); 852 case -1897185151: /*started*/ return new Property("started", "dateTime", "The date and time the series was started.", 0, 1, started); 853 case 481140686: /*performer*/ return new Property("performer", "", "Indicates who or what performed the series and how they were involved.", 0, java.lang.Integer.MAX_VALUE, performer); 854 case 555127957: /*instance*/ return new Property("instance", "", "A single SOP instance within the series, e.g. an image, or presentation state.", 0, java.lang.Integer.MAX_VALUE, instance); 855 default: return super.getNamedProperty(_hash, _name, _checkValid); 856 } 857 858 } 859 860 @Override 861 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 862 switch (hash) { 863 case 115792: /*uid*/ return this.uid == null ? new Base[0] : new Base[] {this.uid}; // IdType 864 case -1034364087: /*number*/ return this.number == null ? new Base[0] : new Base[] {this.number}; // UnsignedIntType 865 case -622722335: /*modality*/ return this.modality == null ? new Base[0] : new Base[] {this.modality}; // Coding 866 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 867 case -1043544226: /*numberOfInstances*/ return this.numberOfInstances == null ? new Base[0] : new Base[] {this.numberOfInstances}; // UnsignedIntType 868 case 1741102485: /*endpoint*/ return this.endpoint == null ? new Base[0] : this.endpoint.toArray(new Base[this.endpoint.size()]); // Reference 869 case 1702620169: /*bodySite*/ return this.bodySite == null ? new Base[0] : new Base[] {this.bodySite}; // Coding 870 case -170291817: /*laterality*/ return this.laterality == null ? new Base[0] : new Base[] {this.laterality}; // Coding 871 case -2132868344: /*specimen*/ return this.specimen == null ? new Base[0] : this.specimen.toArray(new Base[this.specimen.size()]); // Reference 872 case -1897185151: /*started*/ return this.started == null ? new Base[0] : new Base[] {this.started}; // DateTimeType 873 case 481140686: /*performer*/ return this.performer == null ? new Base[0] : this.performer.toArray(new Base[this.performer.size()]); // ImagingStudySeriesPerformerComponent 874 case 555127957: /*instance*/ return this.instance == null ? new Base[0] : this.instance.toArray(new Base[this.instance.size()]); // ImagingStudySeriesInstanceComponent 875 default: return super.getProperty(hash, name, checkValid); 876 } 877 878 } 879 880 @Override 881 public Base setProperty(int hash, String name, Base value) throws FHIRException { 882 switch (hash) { 883 case 115792: // uid 884 this.uid = TypeConvertor.castToId(value); // IdType 885 return value; 886 case -1034364087: // number 887 this.number = TypeConvertor.castToUnsignedInt(value); // UnsignedIntType 888 return value; 889 case -622722335: // modality 890 this.modality = TypeConvertor.castToCoding(value); // Coding 891 return value; 892 case -1724546052: // description 893 this.description = TypeConvertor.castToString(value); // StringType 894 return value; 895 case -1043544226: // numberOfInstances 896 this.numberOfInstances = TypeConvertor.castToUnsignedInt(value); // UnsignedIntType 897 return value; 898 case 1741102485: // endpoint 899 this.getEndpoint().add(TypeConvertor.castToReference(value)); // Reference 900 return value; 901 case 1702620169: // bodySite 902 this.bodySite = TypeConvertor.castToCoding(value); // Coding 903 return value; 904 case -170291817: // laterality 905 this.laterality = TypeConvertor.castToCoding(value); // Coding 906 return value; 907 case -2132868344: // specimen 908 this.getSpecimen().add(TypeConvertor.castToReference(value)); // Reference 909 return value; 910 case -1897185151: // started 911 this.started = TypeConvertor.castToDateTime(value); // DateTimeType 912 return value; 913 case 481140686: // performer 914 this.getPerformer().add((ImagingStudySeriesPerformerComponent) value); // ImagingStudySeriesPerformerComponent 915 return value; 916 case 555127957: // instance 917 this.getInstance().add((ImagingStudySeriesInstanceComponent) value); // ImagingStudySeriesInstanceComponent 918 return value; 919 default: return super.setProperty(hash, name, value); 920 } 921 922 } 923 924 @Override 925 public Base setProperty(String name, Base value) throws FHIRException { 926 if (name.equals("uid")) { 927 this.uid = TypeConvertor.castToId(value); // IdType 928 } else if (name.equals("number")) { 929 this.number = TypeConvertor.castToUnsignedInt(value); // UnsignedIntType 930 } else if (name.equals("modality")) { 931 this.modality = TypeConvertor.castToCoding(value); // Coding 932 } else if (name.equals("description")) { 933 this.description = TypeConvertor.castToString(value); // StringType 934 } else if (name.equals("numberOfInstances")) { 935 this.numberOfInstances = TypeConvertor.castToUnsignedInt(value); // UnsignedIntType 936 } else if (name.equals("endpoint")) { 937 this.getEndpoint().add(TypeConvertor.castToReference(value)); 938 } else if (name.equals("bodySite")) { 939 this.bodySite = TypeConvertor.castToCoding(value); // Coding 940 } else if (name.equals("laterality")) { 941 this.laterality = TypeConvertor.castToCoding(value); // Coding 942 } else if (name.equals("specimen")) { 943 this.getSpecimen().add(TypeConvertor.castToReference(value)); 944 } else if (name.equals("started")) { 945 this.started = TypeConvertor.castToDateTime(value); // DateTimeType 946 } else if (name.equals("performer")) { 947 this.getPerformer().add((ImagingStudySeriesPerformerComponent) value); 948 } else if (name.equals("instance")) { 949 this.getInstance().add((ImagingStudySeriesInstanceComponent) value); 950 } else 951 return super.setProperty(name, value); 952 return value; 953 } 954 955 @Override 956 public Base makeProperty(int hash, String name) throws FHIRException { 957 switch (hash) { 958 case 115792: return getUidElement(); 959 case -1034364087: return getNumberElement(); 960 case -622722335: return getModality(); 961 case -1724546052: return getDescriptionElement(); 962 case -1043544226: return getNumberOfInstancesElement(); 963 case 1741102485: return addEndpoint(); 964 case 1702620169: return getBodySite(); 965 case -170291817: return getLaterality(); 966 case -2132868344: return addSpecimen(); 967 case -1897185151: return getStartedElement(); 968 case 481140686: return addPerformer(); 969 case 555127957: return addInstance(); 970 default: return super.makeProperty(hash, name); 971 } 972 973 } 974 975 @Override 976 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 977 switch (hash) { 978 case 115792: /*uid*/ return new String[] {"id"}; 979 case -1034364087: /*number*/ return new String[] {"unsignedInt"}; 980 case -622722335: /*modality*/ return new String[] {"Coding"}; 981 case -1724546052: /*description*/ return new String[] {"string"}; 982 case -1043544226: /*numberOfInstances*/ return new String[] {"unsignedInt"}; 983 case 1741102485: /*endpoint*/ return new String[] {"Reference"}; 984 case 1702620169: /*bodySite*/ return new String[] {"Coding"}; 985 case -170291817: /*laterality*/ return new String[] {"Coding"}; 986 case -2132868344: /*specimen*/ return new String[] {"Reference"}; 987 case -1897185151: /*started*/ return new String[] {"dateTime"}; 988 case 481140686: /*performer*/ return new String[] {}; 989 case 555127957: /*instance*/ return new String[] {}; 990 default: return super.getTypesForProperty(hash, name); 991 } 992 993 } 994 995 @Override 996 public Base addChild(String name) throws FHIRException { 997 if (name.equals("uid")) { 998 throw new FHIRException("Cannot call addChild on a primitive type ImagingStudy.series.uid"); 999 } 1000 else if (name.equals("number")) { 1001 throw new FHIRException("Cannot call addChild on a primitive type ImagingStudy.series.number"); 1002 } 1003 else if (name.equals("modality")) { 1004 this.modality = new Coding(); 1005 return this.modality; 1006 } 1007 else if (name.equals("description")) { 1008 throw new FHIRException("Cannot call addChild on a primitive type ImagingStudy.series.description"); 1009 } 1010 else if (name.equals("numberOfInstances")) { 1011 throw new FHIRException("Cannot call addChild on a primitive type ImagingStudy.series.numberOfInstances"); 1012 } 1013 else if (name.equals("endpoint")) { 1014 return addEndpoint(); 1015 } 1016 else if (name.equals("bodySite")) { 1017 this.bodySite = new Coding(); 1018 return this.bodySite; 1019 } 1020 else if (name.equals("laterality")) { 1021 this.laterality = new Coding(); 1022 return this.laterality; 1023 } 1024 else if (name.equals("specimen")) { 1025 return addSpecimen(); 1026 } 1027 else if (name.equals("started")) { 1028 throw new FHIRException("Cannot call addChild on a primitive type ImagingStudy.series.started"); 1029 } 1030 else if (name.equals("performer")) { 1031 return addPerformer(); 1032 } 1033 else if (name.equals("instance")) { 1034 return addInstance(); 1035 } 1036 else 1037 return super.addChild(name); 1038 } 1039 1040 public ImagingStudySeriesComponent copy() { 1041 ImagingStudySeriesComponent dst = new ImagingStudySeriesComponent(); 1042 copyValues(dst); 1043 return dst; 1044 } 1045 1046 public void copyValues(ImagingStudySeriesComponent dst) { 1047 super.copyValues(dst); 1048 dst.uid = uid == null ? null : uid.copy(); 1049 dst.number = number == null ? null : number.copy(); 1050 dst.modality = modality == null ? null : modality.copy(); 1051 dst.description = description == null ? null : description.copy(); 1052 dst.numberOfInstances = numberOfInstances == null ? null : numberOfInstances.copy(); 1053 if (endpoint != null) { 1054 dst.endpoint = new ArrayList<Reference>(); 1055 for (Reference i : endpoint) 1056 dst.endpoint.add(i.copy()); 1057 }; 1058 dst.bodySite = bodySite == null ? null : bodySite.copy(); 1059 dst.laterality = laterality == null ? null : laterality.copy(); 1060 if (specimen != null) { 1061 dst.specimen = new ArrayList<Reference>(); 1062 for (Reference i : specimen) 1063 dst.specimen.add(i.copy()); 1064 }; 1065 dst.started = started == null ? null : started.copy(); 1066 if (performer != null) { 1067 dst.performer = new ArrayList<ImagingStudySeriesPerformerComponent>(); 1068 for (ImagingStudySeriesPerformerComponent i : performer) 1069 dst.performer.add(i.copy()); 1070 }; 1071 if (instance != null) { 1072 dst.instance = new ArrayList<ImagingStudySeriesInstanceComponent>(); 1073 for (ImagingStudySeriesInstanceComponent i : instance) 1074 dst.instance.add(i.copy()); 1075 }; 1076 } 1077 1078 @Override 1079 public boolean equalsDeep(Base other_) { 1080 if (!super.equalsDeep(other_)) 1081 return false; 1082 if (!(other_ instanceof ImagingStudySeriesComponent)) 1083 return false; 1084 ImagingStudySeriesComponent o = (ImagingStudySeriesComponent) other_; 1085 return compareDeep(uid, o.uid, true) && compareDeep(number, o.number, true) && compareDeep(modality, o.modality, true) 1086 && compareDeep(description, o.description, true) && compareDeep(numberOfInstances, o.numberOfInstances, true) 1087 && compareDeep(endpoint, o.endpoint, true) && compareDeep(bodySite, o.bodySite, true) && compareDeep(laterality, o.laterality, true) 1088 && compareDeep(specimen, o.specimen, true) && compareDeep(started, o.started, true) && compareDeep(performer, o.performer, true) 1089 && compareDeep(instance, o.instance, true); 1090 } 1091 1092 @Override 1093 public boolean equalsShallow(Base other_) { 1094 if (!super.equalsShallow(other_)) 1095 return false; 1096 if (!(other_ instanceof ImagingStudySeriesComponent)) 1097 return false; 1098 ImagingStudySeriesComponent o = (ImagingStudySeriesComponent) other_; 1099 return compareValues(uid, o.uid, true) && compareValues(number, o.number, true) && compareValues(description, o.description, true) 1100 && compareValues(numberOfInstances, o.numberOfInstances, true) && compareValues(started, o.started, true) 1101 ; 1102 } 1103 1104 public boolean isEmpty() { 1105 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(uid, number, modality, description 1106 , numberOfInstances, endpoint, bodySite, laterality, specimen, started, performer 1107 , instance); 1108 } 1109 1110 public String fhirType() { 1111 return "ImagingStudy.series"; 1112 1113 } 1114 1115 } 1116 1117 @Block() 1118 public static class ImagingStudySeriesPerformerComponent extends BackboneElement implements IBaseBackboneElement { 1119 /** 1120 * Distinguishes the type of involvement of the performer in the series. 1121 */ 1122 @Child(name = "function", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=true) 1123 @Description(shortDefinition="Type of performance", formalDefinition="Distinguishes the type of involvement of the performer in the series." ) 1124 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/series-performer-function") 1125 protected CodeableConcept function; 1126 1127 /** 1128 * Indicates who or what performed the series. 1129 */ 1130 @Child(name = "actor", type = {Practitioner.class, PractitionerRole.class, Organization.class, CareTeam.class, Patient.class, Device.class, RelatedPerson.class}, order=2, min=1, max=1, modifier=false, summary=true) 1131 @Description(shortDefinition="Who performed the series", formalDefinition="Indicates who or what performed the series." ) 1132 protected Reference actor; 1133 1134 private static final long serialVersionUID = -576943815L; 1135 1136 /** 1137 * Constructor 1138 */ 1139 public ImagingStudySeriesPerformerComponent() { 1140 super(); 1141 } 1142 1143 /** 1144 * Constructor 1145 */ 1146 public ImagingStudySeriesPerformerComponent(Reference actor) { 1147 super(); 1148 this.setActor(actor); 1149 } 1150 1151 /** 1152 * @return {@link #function} (Distinguishes the type of involvement of the performer in the series.) 1153 */ 1154 public CodeableConcept getFunction() { 1155 if (this.function == null) 1156 if (Configuration.errorOnAutoCreate()) 1157 throw new Error("Attempt to auto-create ImagingStudySeriesPerformerComponent.function"); 1158 else if (Configuration.doAutoCreate()) 1159 this.function = new CodeableConcept(); // cc 1160 return this.function; 1161 } 1162 1163 public boolean hasFunction() { 1164 return this.function != null && !this.function.isEmpty(); 1165 } 1166 1167 /** 1168 * @param value {@link #function} (Distinguishes the type of involvement of the performer in the series.) 1169 */ 1170 public ImagingStudySeriesPerformerComponent setFunction(CodeableConcept value) { 1171 this.function = value; 1172 return this; 1173 } 1174 1175 /** 1176 * @return {@link #actor} (Indicates who or what performed the series.) 1177 */ 1178 public Reference getActor() { 1179 if (this.actor == null) 1180 if (Configuration.errorOnAutoCreate()) 1181 throw new Error("Attempt to auto-create ImagingStudySeriesPerformerComponent.actor"); 1182 else if (Configuration.doAutoCreate()) 1183 this.actor = new Reference(); // cc 1184 return this.actor; 1185 } 1186 1187 public boolean hasActor() { 1188 return this.actor != null && !this.actor.isEmpty(); 1189 } 1190 1191 /** 1192 * @param value {@link #actor} (Indicates who or what performed the series.) 1193 */ 1194 public ImagingStudySeriesPerformerComponent setActor(Reference value) { 1195 this.actor = value; 1196 return this; 1197 } 1198 1199 protected void listChildren(List<Property> children) { 1200 super.listChildren(children); 1201 children.add(new Property("function", "CodeableConcept", "Distinguishes the type of involvement of the performer in the series.", 0, 1, function)); 1202 children.add(new Property("actor", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|Patient|Device|RelatedPerson)", "Indicates who or what performed the series.", 0, 1, actor)); 1203 } 1204 1205 @Override 1206 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1207 switch (_hash) { 1208 case 1380938712: /*function*/ return new Property("function", "CodeableConcept", "Distinguishes the type of involvement of the performer in the series.", 0, 1, function); 1209 case 92645877: /*actor*/ return new Property("actor", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|Patient|Device|RelatedPerson)", "Indicates who or what performed the series.", 0, 1, actor); 1210 default: return super.getNamedProperty(_hash, _name, _checkValid); 1211 } 1212 1213 } 1214 1215 @Override 1216 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1217 switch (hash) { 1218 case 1380938712: /*function*/ return this.function == null ? new Base[0] : new Base[] {this.function}; // CodeableConcept 1219 case 92645877: /*actor*/ return this.actor == null ? new Base[0] : new Base[] {this.actor}; // Reference 1220 default: return super.getProperty(hash, name, checkValid); 1221 } 1222 1223 } 1224 1225 @Override 1226 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1227 switch (hash) { 1228 case 1380938712: // function 1229 this.function = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1230 return value; 1231 case 92645877: // actor 1232 this.actor = TypeConvertor.castToReference(value); // Reference 1233 return value; 1234 default: return super.setProperty(hash, name, value); 1235 } 1236 1237 } 1238 1239 @Override 1240 public Base setProperty(String name, Base value) throws FHIRException { 1241 if (name.equals("function")) { 1242 this.function = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1243 } else if (name.equals("actor")) { 1244 this.actor = TypeConvertor.castToReference(value); // Reference 1245 } else 1246 return super.setProperty(name, value); 1247 return value; 1248 } 1249 1250 @Override 1251 public Base makeProperty(int hash, String name) throws FHIRException { 1252 switch (hash) { 1253 case 1380938712: return getFunction(); 1254 case 92645877: return getActor(); 1255 default: return super.makeProperty(hash, name); 1256 } 1257 1258 } 1259 1260 @Override 1261 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1262 switch (hash) { 1263 case 1380938712: /*function*/ return new String[] {"CodeableConcept"}; 1264 case 92645877: /*actor*/ return new String[] {"Reference"}; 1265 default: return super.getTypesForProperty(hash, name); 1266 } 1267 1268 } 1269 1270 @Override 1271 public Base addChild(String name) throws FHIRException { 1272 if (name.equals("function")) { 1273 this.function = new CodeableConcept(); 1274 return this.function; 1275 } 1276 else if (name.equals("actor")) { 1277 this.actor = new Reference(); 1278 return this.actor; 1279 } 1280 else 1281 return super.addChild(name); 1282 } 1283 1284 public ImagingStudySeriesPerformerComponent copy() { 1285 ImagingStudySeriesPerformerComponent dst = new ImagingStudySeriesPerformerComponent(); 1286 copyValues(dst); 1287 return dst; 1288 } 1289 1290 public void copyValues(ImagingStudySeriesPerformerComponent dst) { 1291 super.copyValues(dst); 1292 dst.function = function == null ? null : function.copy(); 1293 dst.actor = actor == null ? null : actor.copy(); 1294 } 1295 1296 @Override 1297 public boolean equalsDeep(Base other_) { 1298 if (!super.equalsDeep(other_)) 1299 return false; 1300 if (!(other_ instanceof ImagingStudySeriesPerformerComponent)) 1301 return false; 1302 ImagingStudySeriesPerformerComponent o = (ImagingStudySeriesPerformerComponent) other_; 1303 return compareDeep(function, o.function, true) && compareDeep(actor, o.actor, true); 1304 } 1305 1306 @Override 1307 public boolean equalsShallow(Base other_) { 1308 if (!super.equalsShallow(other_)) 1309 return false; 1310 if (!(other_ instanceof ImagingStudySeriesPerformerComponent)) 1311 return false; 1312 ImagingStudySeriesPerformerComponent o = (ImagingStudySeriesPerformerComponent) other_; 1313 return true; 1314 } 1315 1316 public boolean isEmpty() { 1317 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(function, actor); 1318 } 1319 1320 public String fhirType() { 1321 return "ImagingStudy.series.performer"; 1322 1323 } 1324 1325 } 1326 1327 @Block() 1328 public static class ImagingStudySeriesInstanceComponent extends BackboneElement implements IBaseBackboneElement { 1329 /** 1330 * The DICOM SOP Instance UID for this image or other DICOM content. 1331 */ 1332 @Child(name = "uid", type = {IdType.class}, order=1, min=1, max=1, modifier=false, summary=false) 1333 @Description(shortDefinition="DICOM SOP Instance UID", formalDefinition="The DICOM SOP Instance UID for this image or other DICOM content." ) 1334 protected IdType uid; 1335 1336 /** 1337 * DICOM instance type. 1338 */ 1339 @Child(name = "sopClass", type = {Coding.class}, order=2, min=1, max=1, modifier=false, summary=false) 1340 @Description(shortDefinition="DICOM class type", formalDefinition="DICOM instance type." ) 1341 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://dicom.nema.org/medical/dicom/current/output/chtml/part04/sect_B.5.html#table_B.5-1") 1342 protected Coding sopClass; 1343 1344 /** 1345 * The number of instance in the series. 1346 */ 1347 @Child(name = "number", type = {UnsignedIntType.class}, order=3, min=0, max=1, modifier=false, summary=false) 1348 @Description(shortDefinition="The number of this instance in the series", formalDefinition="The number of instance in the series." ) 1349 protected UnsignedIntType number; 1350 1351 /** 1352 * The description of the instance. 1353 */ 1354 @Child(name = "title", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 1355 @Description(shortDefinition="Description of instance", formalDefinition="The description of the instance." ) 1356 protected StringType title; 1357 1358 private static final long serialVersionUID = -888152445L; 1359 1360 /** 1361 * Constructor 1362 */ 1363 public ImagingStudySeriesInstanceComponent() { 1364 super(); 1365 } 1366 1367 /** 1368 * Constructor 1369 */ 1370 public ImagingStudySeriesInstanceComponent(String uid, Coding sopClass) { 1371 super(); 1372 this.setUid(uid); 1373 this.setSopClass(sopClass); 1374 } 1375 1376 /** 1377 * @return {@link #uid} (The DICOM SOP Instance UID for this image or other DICOM content.). This is the underlying object with id, value and extensions. The accessor "getUid" gives direct access to the value 1378 */ 1379 public IdType getUidElement() { 1380 if (this.uid == null) 1381 if (Configuration.errorOnAutoCreate()) 1382 throw new Error("Attempt to auto-create ImagingStudySeriesInstanceComponent.uid"); 1383 else if (Configuration.doAutoCreate()) 1384 this.uid = new IdType(); // bb 1385 return this.uid; 1386 } 1387 1388 public boolean hasUidElement() { 1389 return this.uid != null && !this.uid.isEmpty(); 1390 } 1391 1392 public boolean hasUid() { 1393 return this.uid != null && !this.uid.isEmpty(); 1394 } 1395 1396 /** 1397 * @param value {@link #uid} (The DICOM SOP Instance UID for this image or other DICOM content.). This is the underlying object with id, value and extensions. The accessor "getUid" gives direct access to the value 1398 */ 1399 public ImagingStudySeriesInstanceComponent setUidElement(IdType value) { 1400 this.uid = value; 1401 return this; 1402 } 1403 1404 /** 1405 * @return The DICOM SOP Instance UID for this image or other DICOM content. 1406 */ 1407 public String getUid() { 1408 return this.uid == null ? null : this.uid.getValue(); 1409 } 1410 1411 /** 1412 * @param value The DICOM SOP Instance UID for this image or other DICOM content. 1413 */ 1414 public ImagingStudySeriesInstanceComponent setUid(String value) { 1415 if (this.uid == null) 1416 this.uid = new IdType(); 1417 this.uid.setValue(value); 1418 return this; 1419 } 1420 1421 /** 1422 * @return {@link #sopClass} (DICOM instance type.) 1423 */ 1424 public Coding getSopClass() { 1425 if (this.sopClass == null) 1426 if (Configuration.errorOnAutoCreate()) 1427 throw new Error("Attempt to auto-create ImagingStudySeriesInstanceComponent.sopClass"); 1428 else if (Configuration.doAutoCreate()) 1429 this.sopClass = new Coding(); // cc 1430 return this.sopClass; 1431 } 1432 1433 public boolean hasSopClass() { 1434 return this.sopClass != null && !this.sopClass.isEmpty(); 1435 } 1436 1437 /** 1438 * @param value {@link #sopClass} (DICOM instance type.) 1439 */ 1440 public ImagingStudySeriesInstanceComponent setSopClass(Coding value) { 1441 this.sopClass = value; 1442 return this; 1443 } 1444 1445 /** 1446 * @return {@link #number} (The number of instance in the series.). This is the underlying object with id, value and extensions. The accessor "getNumber" gives direct access to the value 1447 */ 1448 public UnsignedIntType getNumberElement() { 1449 if (this.number == null) 1450 if (Configuration.errorOnAutoCreate()) 1451 throw new Error("Attempt to auto-create ImagingStudySeriesInstanceComponent.number"); 1452 else if (Configuration.doAutoCreate()) 1453 this.number = new UnsignedIntType(); // bb 1454 return this.number; 1455 } 1456 1457 public boolean hasNumberElement() { 1458 return this.number != null && !this.number.isEmpty(); 1459 } 1460 1461 public boolean hasNumber() { 1462 return this.number != null && !this.number.isEmpty(); 1463 } 1464 1465 /** 1466 * @param value {@link #number} (The number of instance in the series.). This is the underlying object with id, value and extensions. The accessor "getNumber" gives direct access to the value 1467 */ 1468 public ImagingStudySeriesInstanceComponent setNumberElement(UnsignedIntType value) { 1469 this.number = value; 1470 return this; 1471 } 1472 1473 /** 1474 * @return The number of instance in the series. 1475 */ 1476 public int getNumber() { 1477 return this.number == null || this.number.isEmpty() ? 0 : this.number.getValue(); 1478 } 1479 1480 /** 1481 * @param value The number of instance in the series. 1482 */ 1483 public ImagingStudySeriesInstanceComponent setNumber(int value) { 1484 if (this.number == null) 1485 this.number = new UnsignedIntType(); 1486 this.number.setValue(value); 1487 return this; 1488 } 1489 1490 /** 1491 * @return {@link #title} (The description of the instance.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 1492 */ 1493 public StringType getTitleElement() { 1494 if (this.title == null) 1495 if (Configuration.errorOnAutoCreate()) 1496 throw new Error("Attempt to auto-create ImagingStudySeriesInstanceComponent.title"); 1497 else if (Configuration.doAutoCreate()) 1498 this.title = new StringType(); // bb 1499 return this.title; 1500 } 1501 1502 public boolean hasTitleElement() { 1503 return this.title != null && !this.title.isEmpty(); 1504 } 1505 1506 public boolean hasTitle() { 1507 return this.title != null && !this.title.isEmpty(); 1508 } 1509 1510 /** 1511 * @param value {@link #title} (The description of the instance.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 1512 */ 1513 public ImagingStudySeriesInstanceComponent setTitleElement(StringType value) { 1514 this.title = value; 1515 return this; 1516 } 1517 1518 /** 1519 * @return The description of the instance. 1520 */ 1521 public String getTitle() { 1522 return this.title == null ? null : this.title.getValue(); 1523 } 1524 1525 /** 1526 * @param value The description of the instance. 1527 */ 1528 public ImagingStudySeriesInstanceComponent setTitle(String value) { 1529 if (Utilities.noString(value)) 1530 this.title = null; 1531 else { 1532 if (this.title == null) 1533 this.title = new StringType(); 1534 this.title.setValue(value); 1535 } 1536 return this; 1537 } 1538 1539 protected void listChildren(List<Property> children) { 1540 super.listChildren(children); 1541 children.add(new Property("uid", "id", "The DICOM SOP Instance UID for this image or other DICOM content.", 0, 1, uid)); 1542 children.add(new Property("sopClass", "Coding", "DICOM instance type.", 0, 1, sopClass)); 1543 children.add(new Property("number", "unsignedInt", "The number of instance in the series.", 0, 1, number)); 1544 children.add(new Property("title", "string", "The description of the instance.", 0, 1, title)); 1545 } 1546 1547 @Override 1548 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1549 switch (_hash) { 1550 case 115792: /*uid*/ return new Property("uid", "id", "The DICOM SOP Instance UID for this image or other DICOM content.", 0, 1, uid); 1551 case 1560041540: /*sopClass*/ return new Property("sopClass", "Coding", "DICOM instance type.", 0, 1, sopClass); 1552 case -1034364087: /*number*/ return new Property("number", "unsignedInt", "The number of instance in the series.", 0, 1, number); 1553 case 110371416: /*title*/ return new Property("title", "string", "The description of the instance.", 0, 1, title); 1554 default: return super.getNamedProperty(_hash, _name, _checkValid); 1555 } 1556 1557 } 1558 1559 @Override 1560 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1561 switch (hash) { 1562 case 115792: /*uid*/ return this.uid == null ? new Base[0] : new Base[] {this.uid}; // IdType 1563 case 1560041540: /*sopClass*/ return this.sopClass == null ? new Base[0] : new Base[] {this.sopClass}; // Coding 1564 case -1034364087: /*number*/ return this.number == null ? new Base[0] : new Base[] {this.number}; // UnsignedIntType 1565 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 1566 default: return super.getProperty(hash, name, checkValid); 1567 } 1568 1569 } 1570 1571 @Override 1572 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1573 switch (hash) { 1574 case 115792: // uid 1575 this.uid = TypeConvertor.castToId(value); // IdType 1576 return value; 1577 case 1560041540: // sopClass 1578 this.sopClass = TypeConvertor.castToCoding(value); // Coding 1579 return value; 1580 case -1034364087: // number 1581 this.number = TypeConvertor.castToUnsignedInt(value); // UnsignedIntType 1582 return value; 1583 case 110371416: // title 1584 this.title = TypeConvertor.castToString(value); // StringType 1585 return value; 1586 default: return super.setProperty(hash, name, value); 1587 } 1588 1589 } 1590 1591 @Override 1592 public Base setProperty(String name, Base value) throws FHIRException { 1593 if (name.equals("uid")) { 1594 this.uid = TypeConvertor.castToId(value); // IdType 1595 } else if (name.equals("sopClass")) { 1596 this.sopClass = TypeConvertor.castToCoding(value); // Coding 1597 } else if (name.equals("number")) { 1598 this.number = TypeConvertor.castToUnsignedInt(value); // UnsignedIntType 1599 } else if (name.equals("title")) { 1600 this.title = TypeConvertor.castToString(value); // StringType 1601 } else 1602 return super.setProperty(name, value); 1603 return value; 1604 } 1605 1606 @Override 1607 public Base makeProperty(int hash, String name) throws FHIRException { 1608 switch (hash) { 1609 case 115792: return getUidElement(); 1610 case 1560041540: return getSopClass(); 1611 case -1034364087: return getNumberElement(); 1612 case 110371416: return getTitleElement(); 1613 default: return super.makeProperty(hash, name); 1614 } 1615 1616 } 1617 1618 @Override 1619 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1620 switch (hash) { 1621 case 115792: /*uid*/ return new String[] {"id"}; 1622 case 1560041540: /*sopClass*/ return new String[] {"Coding"}; 1623 case -1034364087: /*number*/ return new String[] {"unsignedInt"}; 1624 case 110371416: /*title*/ return new String[] {"string"}; 1625 default: return super.getTypesForProperty(hash, name); 1626 } 1627 1628 } 1629 1630 @Override 1631 public Base addChild(String name) throws FHIRException { 1632 if (name.equals("uid")) { 1633 throw new FHIRException("Cannot call addChild on a primitive type ImagingStudy.series.instance.uid"); 1634 } 1635 else if (name.equals("sopClass")) { 1636 this.sopClass = new Coding(); 1637 return this.sopClass; 1638 } 1639 else if (name.equals("number")) { 1640 throw new FHIRException("Cannot call addChild on a primitive type ImagingStudy.series.instance.number"); 1641 } 1642 else if (name.equals("title")) { 1643 throw new FHIRException("Cannot call addChild on a primitive type ImagingStudy.series.instance.title"); 1644 } 1645 else 1646 return super.addChild(name); 1647 } 1648 1649 public ImagingStudySeriesInstanceComponent copy() { 1650 ImagingStudySeriesInstanceComponent dst = new ImagingStudySeriesInstanceComponent(); 1651 copyValues(dst); 1652 return dst; 1653 } 1654 1655 public void copyValues(ImagingStudySeriesInstanceComponent dst) { 1656 super.copyValues(dst); 1657 dst.uid = uid == null ? null : uid.copy(); 1658 dst.sopClass = sopClass == null ? null : sopClass.copy(); 1659 dst.number = number == null ? null : number.copy(); 1660 dst.title = title == null ? null : title.copy(); 1661 } 1662 1663 @Override 1664 public boolean equalsDeep(Base other_) { 1665 if (!super.equalsDeep(other_)) 1666 return false; 1667 if (!(other_ instanceof ImagingStudySeriesInstanceComponent)) 1668 return false; 1669 ImagingStudySeriesInstanceComponent o = (ImagingStudySeriesInstanceComponent) other_; 1670 return compareDeep(uid, o.uid, true) && compareDeep(sopClass, o.sopClass, true) && compareDeep(number, o.number, true) 1671 && compareDeep(title, o.title, true); 1672 } 1673 1674 @Override 1675 public boolean equalsShallow(Base other_) { 1676 if (!super.equalsShallow(other_)) 1677 return false; 1678 if (!(other_ instanceof ImagingStudySeriesInstanceComponent)) 1679 return false; 1680 ImagingStudySeriesInstanceComponent o = (ImagingStudySeriesInstanceComponent) other_; 1681 return compareValues(uid, o.uid, true) && compareValues(number, o.number, true) && compareValues(title, o.title, true) 1682 ; 1683 } 1684 1685 public boolean isEmpty() { 1686 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(uid, sopClass, number, title 1687 ); 1688 } 1689 1690 public String fhirType() { 1691 return "ImagingStudy.series.instance"; 1692 1693 } 1694 1695 } 1696 1697 /** 1698 * Identifiers for the ImagingStudy such as DICOM Study Instance UID, and Accession Number. 1699 */ 1700 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1701 @Description(shortDefinition="Identifiers for the whole study", formalDefinition="Identifiers for the ImagingStudy such as DICOM Study Instance UID, and Accession Number." ) 1702 protected List<Identifier> identifier; 1703 1704 /** 1705 * The current state of the ImagingStudy. 1706 */ 1707 @Child(name = "status", type = {CodeType.class}, order=1, min=1, max=1, modifier=true, summary=true) 1708 @Description(shortDefinition="registered | available | cancelled | entered-in-error | unknown", formalDefinition="The current state of the ImagingStudy." ) 1709 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/imagingstudy-status") 1710 protected Enumeration<ImagingStudyStatus> status; 1711 1712 /** 1713 * A list of all the series.modality 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). 1714 */ 1715 @Child(name = "modality", type = {Coding.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1716 @Description(shortDefinition="All series modality if actual acquisition modalities", formalDefinition="A list of all the series.modality 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)." ) 1717 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://dicom.nema.org/medical/dicom/current/output/chtml/part16/sect_CID_29.html") 1718 protected List<Coding> modality; 1719 1720 /** 1721 * The subject, typically a patient, of the imaging study. 1722 */ 1723 @Child(name = "subject", type = {Patient.class, Device.class, Group.class}, order=3, min=1, max=1, modifier=false, summary=true) 1724 @Description(shortDefinition="Who or what is the subject of the study", formalDefinition="The subject, typically a patient, of the imaging study." ) 1725 protected Reference subject; 1726 1727 /** 1728 * The healthcare event (e.g. a patient and healthcare provider interaction) during which this ImagingStudy is made. 1729 */ 1730 @Child(name = "encounter", type = {Encounter.class}, order=4, min=0, max=1, modifier=false, summary=true) 1731 @Description(shortDefinition="Encounter with which this imaging study is associated", formalDefinition="The healthcare event (e.g. a patient and healthcare provider interaction) during which this ImagingStudy is made." ) 1732 protected Reference encounter; 1733 1734 /** 1735 * Date and time the study started. 1736 */ 1737 @Child(name = "started", type = {DateTimeType.class}, order=5, min=0, max=1, modifier=false, summary=true) 1738 @Description(shortDefinition="When the study was started", formalDefinition="Date and time the study started." ) 1739 protected DateTimeType started; 1740 1741 /** 1742 * A list of the diagnostic requests that resulted in this imaging study being performed. 1743 */ 1744 @Child(name = "basedOn", type = {CarePlan.class, ServiceRequest.class, Appointment.class, AppointmentResponse.class, Task.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1745 @Description(shortDefinition="Request fulfilled", formalDefinition="A list of the diagnostic requests that resulted in this imaging study being performed." ) 1746 protected List<Reference> basedOn; 1747 1748 /** 1749 * The requesting/referring physician. 1750 */ 1751 @Child(name = "referrer", type = {Practitioner.class, PractitionerRole.class}, order=7, min=0, max=1, modifier=false, summary=true) 1752 @Description(shortDefinition="Referring physician", formalDefinition="The requesting/referring physician." ) 1753 protected Reference referrer; 1754 1755 /** 1756 * Who read the study and interpreted the images or other content. 1757 */ 1758 @Child(name = "interpreter", type = {Practitioner.class, PractitionerRole.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1759 @Description(shortDefinition="Who interpreted images", formalDefinition="Who read the study and interpreted the images or other content." ) 1760 protected List<Reference> interpreter; 1761 1762 /** 1763 * The network service providing access (e.g., query, view, or retrieval) for the study. See implementation notes for information about using DICOM endpoints. A study-level endpoint applies to each series in the study, unless overridden by a series-level endpoint with the same Endpoint.connectionType. 1764 */ 1765 @Child(name = "endpoint", type = {Endpoint.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1766 @Description(shortDefinition="Study access endpoint", formalDefinition="The network service providing access (e.g., query, view, or retrieval) for the study. See implementation notes for information about using DICOM endpoints. A study-level endpoint applies to each series in the study, unless overridden by a series-level endpoint with the same Endpoint.connectionType." ) 1767 protected List<Reference> endpoint; 1768 1769 /** 1770 * Number of Series in the Study. This value given may be larger than the number of series elements this Resource contains due to resource availability, security, or other factors. This element should be present if any series elements are present. 1771 */ 1772 @Child(name = "numberOfSeries", type = {UnsignedIntType.class}, order=10, min=0, max=1, modifier=false, summary=true) 1773 @Description(shortDefinition="Number of Study Related Series", formalDefinition="Number of Series in the Study. This value given may be larger than the number of series elements this Resource contains due to resource availability, security, or other factors. This element should be present if any series elements are present." ) 1774 protected UnsignedIntType numberOfSeries; 1775 1776 /** 1777 * Number of SOP Instances in Study. This value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present. 1778 */ 1779 @Child(name = "numberOfInstances", type = {UnsignedIntType.class}, order=11, min=0, max=1, modifier=false, summary=true) 1780 @Description(shortDefinition="Number of Study Related Instances", formalDefinition="Number of SOP Instances in Study. This value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present." ) 1781 protected UnsignedIntType numberOfInstances; 1782 1783 /** 1784 * The procedure which this ImagingStudy was part of. 1785 */ 1786 @Child(name = "procedureReference", type = {Procedure.class}, order=12, min=0, max=1, modifier=false, summary=true) 1787 @Description(shortDefinition="The performed Procedure reference", formalDefinition="The procedure which this ImagingStudy was part of." ) 1788 protected Reference procedureReference; 1789 1790 /** 1791 * The code for the performed procedure type. 1792 */ 1793 @Child(name = "procedureCode", type = {CodeableConcept.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1794 @Description(shortDefinition="The performed procedure code", formalDefinition="The code for the performed procedure type." ) 1795 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://www.rsna.org/RadLex_Playbook.aspx") 1796 protected List<CodeableConcept> procedureCode; 1797 1798 /** 1799 * The principal physical location where the ImagingStudy was performed. 1800 */ 1801 @Child(name = "location", type = {Location.class}, order=14, min=0, max=1, modifier=false, summary=true) 1802 @Description(shortDefinition="Where ImagingStudy occurred", formalDefinition="The principal physical location where the ImagingStudy was performed." ) 1803 protected Reference location; 1804 1805 /** 1806 * Description of clinical condition indicating why the ImagingStudy was requested. 1807 */ 1808 @Child(name = "reasonCode", type = {CodeableConcept.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1809 @Description(shortDefinition="Why the study was requested", formalDefinition="Description of clinical condition indicating why the ImagingStudy was requested." ) 1810 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/procedure-reason") 1811 protected List<CodeableConcept> reasonCode; 1812 1813 /** 1814 * Indicates another resource whose existence justifies this Study. 1815 */ 1816 @Child(name = "reasonReference", type = {Condition.class, Observation.class, Media.class, DiagnosticReport.class, DocumentReference.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1817 @Description(shortDefinition="Why was study performed", formalDefinition="Indicates another resource whose existence justifies this Study." ) 1818 protected List<Reference> reasonReference; 1819 1820 /** 1821 * Per the recommended DICOM mapping, this element is derived from the Study Description attribute (0008,1030). Observations or findings about the imaging study should be recorded in another resource, e.g. Observation, and not in this element. 1822 */ 1823 @Child(name = "note", type = {Annotation.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1824 @Description(shortDefinition="User-defined comments", formalDefinition="Per the recommended DICOM mapping, this element is derived from the Study Description attribute (0008,1030). Observations or findings about the imaging study should be recorded in another resource, e.g. Observation, and not in this element." ) 1825 protected List<Annotation> note; 1826 1827 /** 1828 * The Imaging Manager description of the study. Institution-generated description or classification of the Study (component) performed. 1829 */ 1830 @Child(name = "description", type = {StringType.class}, order=18, min=0, max=1, modifier=false, summary=true) 1831 @Description(shortDefinition="Institution-generated description", formalDefinition="The Imaging Manager description of the study. Institution-generated description or classification of the Study (component) performed." ) 1832 protected StringType description; 1833 1834 /** 1835 * Each study has one or more series of images or other content. 1836 */ 1837 @Child(name = "series", type = {}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1838 @Description(shortDefinition="Each study has one or more series of instances", formalDefinition="Each study has one or more series of images or other content." ) 1839 protected List<ImagingStudySeriesComponent> series; 1840 1841 private static final long serialVersionUID = -431531621L; 1842 1843 /** 1844 * Constructor 1845 */ 1846 public ImagingStudy() { 1847 super(); 1848 } 1849 1850 /** 1851 * Constructor 1852 */ 1853 public ImagingStudy(ImagingStudyStatus status, Reference subject) { 1854 super(); 1855 this.setStatus(status); 1856 this.setSubject(subject); 1857 } 1858 1859 /** 1860 * @return {@link #identifier} (Identifiers for the ImagingStudy such as DICOM Study Instance UID, and Accession Number.) 1861 */ 1862 public List<Identifier> getIdentifier() { 1863 if (this.identifier == null) 1864 this.identifier = new ArrayList<Identifier>(); 1865 return this.identifier; 1866 } 1867 1868 /** 1869 * @return Returns a reference to <code>this</code> for easy method chaining 1870 */ 1871 public ImagingStudy setIdentifier(List<Identifier> theIdentifier) { 1872 this.identifier = theIdentifier; 1873 return this; 1874 } 1875 1876 public boolean hasIdentifier() { 1877 if (this.identifier == null) 1878 return false; 1879 for (Identifier item : this.identifier) 1880 if (!item.isEmpty()) 1881 return true; 1882 return false; 1883 } 1884 1885 public Identifier addIdentifier() { //3 1886 Identifier t = new Identifier(); 1887 if (this.identifier == null) 1888 this.identifier = new ArrayList<Identifier>(); 1889 this.identifier.add(t); 1890 return t; 1891 } 1892 1893 public ImagingStudy addIdentifier(Identifier t) { //3 1894 if (t == null) 1895 return this; 1896 if (this.identifier == null) 1897 this.identifier = new ArrayList<Identifier>(); 1898 this.identifier.add(t); 1899 return this; 1900 } 1901 1902 /** 1903 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 1904 */ 1905 public Identifier getIdentifierFirstRep() { 1906 if (getIdentifier().isEmpty()) { 1907 addIdentifier(); 1908 } 1909 return getIdentifier().get(0); 1910 } 1911 1912 /** 1913 * @return {@link #status} (The current state of the ImagingStudy.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1914 */ 1915 public Enumeration<ImagingStudyStatus> getStatusElement() { 1916 if (this.status == null) 1917 if (Configuration.errorOnAutoCreate()) 1918 throw new Error("Attempt to auto-create ImagingStudy.status"); 1919 else if (Configuration.doAutoCreate()) 1920 this.status = new Enumeration<ImagingStudyStatus>(new ImagingStudyStatusEnumFactory()); // bb 1921 return this.status; 1922 } 1923 1924 public boolean hasStatusElement() { 1925 return this.status != null && !this.status.isEmpty(); 1926 } 1927 1928 public boolean hasStatus() { 1929 return this.status != null && !this.status.isEmpty(); 1930 } 1931 1932 /** 1933 * @param value {@link #status} (The current state of the ImagingStudy.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1934 */ 1935 public ImagingStudy setStatusElement(Enumeration<ImagingStudyStatus> value) { 1936 this.status = value; 1937 return this; 1938 } 1939 1940 /** 1941 * @return The current state of the ImagingStudy. 1942 */ 1943 public ImagingStudyStatus getStatus() { 1944 return this.status == null ? null : this.status.getValue(); 1945 } 1946 1947 /** 1948 * @param value The current state of the ImagingStudy. 1949 */ 1950 public ImagingStudy setStatus(ImagingStudyStatus value) { 1951 if (this.status == null) 1952 this.status = new Enumeration<ImagingStudyStatus>(new ImagingStudyStatusEnumFactory()); 1953 this.status.setValue(value); 1954 return this; 1955 } 1956 1957 /** 1958 * @return {@link #modality} (A list of all the series.modality 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).) 1959 */ 1960 public List<Coding> getModality() { 1961 if (this.modality == null) 1962 this.modality = new ArrayList<Coding>(); 1963 return this.modality; 1964 } 1965 1966 /** 1967 * @return Returns a reference to <code>this</code> for easy method chaining 1968 */ 1969 public ImagingStudy setModality(List<Coding> theModality) { 1970 this.modality = theModality; 1971 return this; 1972 } 1973 1974 public boolean hasModality() { 1975 if (this.modality == null) 1976 return false; 1977 for (Coding item : this.modality) 1978 if (!item.isEmpty()) 1979 return true; 1980 return false; 1981 } 1982 1983 public Coding addModality() { //3 1984 Coding t = new Coding(); 1985 if (this.modality == null) 1986 this.modality = new ArrayList<Coding>(); 1987 this.modality.add(t); 1988 return t; 1989 } 1990 1991 public ImagingStudy addModality(Coding t) { //3 1992 if (t == null) 1993 return this; 1994 if (this.modality == null) 1995 this.modality = new ArrayList<Coding>(); 1996 this.modality.add(t); 1997 return this; 1998 } 1999 2000 /** 2001 * @return The first repetition of repeating field {@link #modality}, creating it if it does not already exist {3} 2002 */ 2003 public Coding getModalityFirstRep() { 2004 if (getModality().isEmpty()) { 2005 addModality(); 2006 } 2007 return getModality().get(0); 2008 } 2009 2010 /** 2011 * @return {@link #subject} (The subject, typically a patient, of the imaging study.) 2012 */ 2013 public Reference getSubject() { 2014 if (this.subject == null) 2015 if (Configuration.errorOnAutoCreate()) 2016 throw new Error("Attempt to auto-create ImagingStudy.subject"); 2017 else if (Configuration.doAutoCreate()) 2018 this.subject = new Reference(); // cc 2019 return this.subject; 2020 } 2021 2022 public boolean hasSubject() { 2023 return this.subject != null && !this.subject.isEmpty(); 2024 } 2025 2026 /** 2027 * @param value {@link #subject} (The subject, typically a patient, of the imaging study.) 2028 */ 2029 public ImagingStudy setSubject(Reference value) { 2030 this.subject = value; 2031 return this; 2032 } 2033 2034 /** 2035 * @return {@link #encounter} (The healthcare event (e.g. a patient and healthcare provider interaction) during which this ImagingStudy is made.) 2036 */ 2037 public Reference getEncounter() { 2038 if (this.encounter == null) 2039 if (Configuration.errorOnAutoCreate()) 2040 throw new Error("Attempt to auto-create ImagingStudy.encounter"); 2041 else if (Configuration.doAutoCreate()) 2042 this.encounter = new Reference(); // cc 2043 return this.encounter; 2044 } 2045 2046 public boolean hasEncounter() { 2047 return this.encounter != null && !this.encounter.isEmpty(); 2048 } 2049 2050 /** 2051 * @param value {@link #encounter} (The healthcare event (e.g. a patient and healthcare provider interaction) during which this ImagingStudy is made.) 2052 */ 2053 public ImagingStudy setEncounter(Reference value) { 2054 this.encounter = value; 2055 return this; 2056 } 2057 2058 /** 2059 * @return {@link #started} (Date and time the study started.). This is the underlying object with id, value and extensions. The accessor "getStarted" gives direct access to the value 2060 */ 2061 public DateTimeType getStartedElement() { 2062 if (this.started == null) 2063 if (Configuration.errorOnAutoCreate()) 2064 throw new Error("Attempt to auto-create ImagingStudy.started"); 2065 else if (Configuration.doAutoCreate()) 2066 this.started = new DateTimeType(); // bb 2067 return this.started; 2068 } 2069 2070 public boolean hasStartedElement() { 2071 return this.started != null && !this.started.isEmpty(); 2072 } 2073 2074 public boolean hasStarted() { 2075 return this.started != null && !this.started.isEmpty(); 2076 } 2077 2078 /** 2079 * @param value {@link #started} (Date and time the study started.). This is the underlying object with id, value and extensions. The accessor "getStarted" gives direct access to the value 2080 */ 2081 public ImagingStudy setStartedElement(DateTimeType value) { 2082 this.started = value; 2083 return this; 2084 } 2085 2086 /** 2087 * @return Date and time the study started. 2088 */ 2089 public Date getStarted() { 2090 return this.started == null ? null : this.started.getValue(); 2091 } 2092 2093 /** 2094 * @param value Date and time the study started. 2095 */ 2096 public ImagingStudy setStarted(Date value) { 2097 if (value == null) 2098 this.started = null; 2099 else { 2100 if (this.started == null) 2101 this.started = new DateTimeType(); 2102 this.started.setValue(value); 2103 } 2104 return this; 2105 } 2106 2107 /** 2108 * @return {@link #basedOn} (A list of the diagnostic requests that resulted in this imaging study being performed.) 2109 */ 2110 public List<Reference> getBasedOn() { 2111 if (this.basedOn == null) 2112 this.basedOn = new ArrayList<Reference>(); 2113 return this.basedOn; 2114 } 2115 2116 /** 2117 * @return Returns a reference to <code>this</code> for easy method chaining 2118 */ 2119 public ImagingStudy setBasedOn(List<Reference> theBasedOn) { 2120 this.basedOn = theBasedOn; 2121 return this; 2122 } 2123 2124 public boolean hasBasedOn() { 2125 if (this.basedOn == null) 2126 return false; 2127 for (Reference item : this.basedOn) 2128 if (!item.isEmpty()) 2129 return true; 2130 return false; 2131 } 2132 2133 public Reference addBasedOn() { //3 2134 Reference t = new Reference(); 2135 if (this.basedOn == null) 2136 this.basedOn = new ArrayList<Reference>(); 2137 this.basedOn.add(t); 2138 return t; 2139 } 2140 2141 public ImagingStudy addBasedOn(Reference t) { //3 2142 if (t == null) 2143 return this; 2144 if (this.basedOn == null) 2145 this.basedOn = new ArrayList<Reference>(); 2146 this.basedOn.add(t); 2147 return this; 2148 } 2149 2150 /** 2151 * @return The first repetition of repeating field {@link #basedOn}, creating it if it does not already exist {3} 2152 */ 2153 public Reference getBasedOnFirstRep() { 2154 if (getBasedOn().isEmpty()) { 2155 addBasedOn(); 2156 } 2157 return getBasedOn().get(0); 2158 } 2159 2160 /** 2161 * @return {@link #referrer} (The requesting/referring physician.) 2162 */ 2163 public Reference getReferrer() { 2164 if (this.referrer == null) 2165 if (Configuration.errorOnAutoCreate()) 2166 throw new Error("Attempt to auto-create ImagingStudy.referrer"); 2167 else if (Configuration.doAutoCreate()) 2168 this.referrer = new Reference(); // cc 2169 return this.referrer; 2170 } 2171 2172 public boolean hasReferrer() { 2173 return this.referrer != null && !this.referrer.isEmpty(); 2174 } 2175 2176 /** 2177 * @param value {@link #referrer} (The requesting/referring physician.) 2178 */ 2179 public ImagingStudy setReferrer(Reference value) { 2180 this.referrer = value; 2181 return this; 2182 } 2183 2184 /** 2185 * @return {@link #interpreter} (Who read the study and interpreted the images or other content.) 2186 */ 2187 public List<Reference> getInterpreter() { 2188 if (this.interpreter == null) 2189 this.interpreter = new ArrayList<Reference>(); 2190 return this.interpreter; 2191 } 2192 2193 /** 2194 * @return Returns a reference to <code>this</code> for easy method chaining 2195 */ 2196 public ImagingStudy setInterpreter(List<Reference> theInterpreter) { 2197 this.interpreter = theInterpreter; 2198 return this; 2199 } 2200 2201 public boolean hasInterpreter() { 2202 if (this.interpreter == null) 2203 return false; 2204 for (Reference item : this.interpreter) 2205 if (!item.isEmpty()) 2206 return true; 2207 return false; 2208 } 2209 2210 public Reference addInterpreter() { //3 2211 Reference t = new Reference(); 2212 if (this.interpreter == null) 2213 this.interpreter = new ArrayList<Reference>(); 2214 this.interpreter.add(t); 2215 return t; 2216 } 2217 2218 public ImagingStudy addInterpreter(Reference t) { //3 2219 if (t == null) 2220 return this; 2221 if (this.interpreter == null) 2222 this.interpreter = new ArrayList<Reference>(); 2223 this.interpreter.add(t); 2224 return this; 2225 } 2226 2227 /** 2228 * @return The first repetition of repeating field {@link #interpreter}, creating it if it does not already exist {3} 2229 */ 2230 public Reference getInterpreterFirstRep() { 2231 if (getInterpreter().isEmpty()) { 2232 addInterpreter(); 2233 } 2234 return getInterpreter().get(0); 2235 } 2236 2237 /** 2238 * @return {@link #endpoint} (The network service providing access (e.g., query, view, or retrieval) for the study. See implementation notes for information about using DICOM endpoints. A study-level endpoint applies to each series in the study, unless overridden by a series-level endpoint with the same Endpoint.connectionType.) 2239 */ 2240 public List<Reference> getEndpoint() { 2241 if (this.endpoint == null) 2242 this.endpoint = new ArrayList<Reference>(); 2243 return this.endpoint; 2244 } 2245 2246 /** 2247 * @return Returns a reference to <code>this</code> for easy method chaining 2248 */ 2249 public ImagingStudy setEndpoint(List<Reference> theEndpoint) { 2250 this.endpoint = theEndpoint; 2251 return this; 2252 } 2253 2254 public boolean hasEndpoint() { 2255 if (this.endpoint == null) 2256 return false; 2257 for (Reference item : this.endpoint) 2258 if (!item.isEmpty()) 2259 return true; 2260 return false; 2261 } 2262 2263 public Reference addEndpoint() { //3 2264 Reference t = new Reference(); 2265 if (this.endpoint == null) 2266 this.endpoint = new ArrayList<Reference>(); 2267 this.endpoint.add(t); 2268 return t; 2269 } 2270 2271 public ImagingStudy addEndpoint(Reference t) { //3 2272 if (t == null) 2273 return this; 2274 if (this.endpoint == null) 2275 this.endpoint = new ArrayList<Reference>(); 2276 this.endpoint.add(t); 2277 return this; 2278 } 2279 2280 /** 2281 * @return The first repetition of repeating field {@link #endpoint}, creating it if it does not already exist {3} 2282 */ 2283 public Reference getEndpointFirstRep() { 2284 if (getEndpoint().isEmpty()) { 2285 addEndpoint(); 2286 } 2287 return getEndpoint().get(0); 2288 } 2289 2290 /** 2291 * @return {@link #numberOfSeries} (Number of Series in the Study. This value given may be larger than the number of series elements this Resource contains due to resource availability, security, or other factors. This element should be present if any series elements are present.). This is the underlying object with id, value and extensions. The accessor "getNumberOfSeries" gives direct access to the value 2292 */ 2293 public UnsignedIntType getNumberOfSeriesElement() { 2294 if (this.numberOfSeries == null) 2295 if (Configuration.errorOnAutoCreate()) 2296 throw new Error("Attempt to auto-create ImagingStudy.numberOfSeries"); 2297 else if (Configuration.doAutoCreate()) 2298 this.numberOfSeries = new UnsignedIntType(); // bb 2299 return this.numberOfSeries; 2300 } 2301 2302 public boolean hasNumberOfSeriesElement() { 2303 return this.numberOfSeries != null && !this.numberOfSeries.isEmpty(); 2304 } 2305 2306 public boolean hasNumberOfSeries() { 2307 return this.numberOfSeries != null && !this.numberOfSeries.isEmpty(); 2308 } 2309 2310 /** 2311 * @param value {@link #numberOfSeries} (Number of Series in the Study. This value given may be larger than the number of series elements this Resource contains due to resource availability, security, or other factors. This element should be present if any series elements are present.). This is the underlying object with id, value and extensions. The accessor "getNumberOfSeries" gives direct access to the value 2312 */ 2313 public ImagingStudy setNumberOfSeriesElement(UnsignedIntType value) { 2314 this.numberOfSeries = value; 2315 return this; 2316 } 2317 2318 /** 2319 * @return Number of Series in the Study. This value given may be larger than the number of series elements this Resource contains due to resource availability, security, or other factors. This element should be present if any series elements are present. 2320 */ 2321 public int getNumberOfSeries() { 2322 return this.numberOfSeries == null || this.numberOfSeries.isEmpty() ? 0 : this.numberOfSeries.getValue(); 2323 } 2324 2325 /** 2326 * @param value Number of Series in the Study. This value given may be larger than the number of series elements this Resource contains due to resource availability, security, or other factors. This element should be present if any series elements are present. 2327 */ 2328 public ImagingStudy setNumberOfSeries(int value) { 2329 if (this.numberOfSeries == null) 2330 this.numberOfSeries = new UnsignedIntType(); 2331 this.numberOfSeries.setValue(value); 2332 return this; 2333 } 2334 2335 /** 2336 * @return {@link #numberOfInstances} (Number of SOP Instances in Study. This value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present.). This is the underlying object with id, value and extensions. The accessor "getNumberOfInstances" gives direct access to the value 2337 */ 2338 public UnsignedIntType getNumberOfInstancesElement() { 2339 if (this.numberOfInstances == null) 2340 if (Configuration.errorOnAutoCreate()) 2341 throw new Error("Attempt to auto-create ImagingStudy.numberOfInstances"); 2342 else if (Configuration.doAutoCreate()) 2343 this.numberOfInstances = new UnsignedIntType(); // bb 2344 return this.numberOfInstances; 2345 } 2346 2347 public boolean hasNumberOfInstancesElement() { 2348 return this.numberOfInstances != null && !this.numberOfInstances.isEmpty(); 2349 } 2350 2351 public boolean hasNumberOfInstances() { 2352 return this.numberOfInstances != null && !this.numberOfInstances.isEmpty(); 2353 } 2354 2355 /** 2356 * @param value {@link #numberOfInstances} (Number of SOP Instances in Study. This value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present.). This is the underlying object with id, value and extensions. The accessor "getNumberOfInstances" gives direct access to the value 2357 */ 2358 public ImagingStudy setNumberOfInstancesElement(UnsignedIntType value) { 2359 this.numberOfInstances = value; 2360 return this; 2361 } 2362 2363 /** 2364 * @return Number of SOP Instances in Study. This value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present. 2365 */ 2366 public int getNumberOfInstances() { 2367 return this.numberOfInstances == null || this.numberOfInstances.isEmpty() ? 0 : this.numberOfInstances.getValue(); 2368 } 2369 2370 /** 2371 * @param value Number of SOP Instances in Study. This value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present. 2372 */ 2373 public ImagingStudy setNumberOfInstances(int value) { 2374 if (this.numberOfInstances == null) 2375 this.numberOfInstances = new UnsignedIntType(); 2376 this.numberOfInstances.setValue(value); 2377 return this; 2378 } 2379 2380 /** 2381 * @return {@link #procedureReference} (The procedure which this ImagingStudy was part of.) 2382 */ 2383 public Reference getProcedureReference() { 2384 if (this.procedureReference == null) 2385 if (Configuration.errorOnAutoCreate()) 2386 throw new Error("Attempt to auto-create ImagingStudy.procedureReference"); 2387 else if (Configuration.doAutoCreate()) 2388 this.procedureReference = new Reference(); // cc 2389 return this.procedureReference; 2390 } 2391 2392 public boolean hasProcedureReference() { 2393 return this.procedureReference != null && !this.procedureReference.isEmpty(); 2394 } 2395 2396 /** 2397 * @param value {@link #procedureReference} (The procedure which this ImagingStudy was part of.) 2398 */ 2399 public ImagingStudy setProcedureReference(Reference value) { 2400 this.procedureReference = value; 2401 return this; 2402 } 2403 2404 /** 2405 * @return {@link #procedureCode} (The code for the performed procedure type.) 2406 */ 2407 public List<CodeableConcept> getProcedureCode() { 2408 if (this.procedureCode == null) 2409 this.procedureCode = new ArrayList<CodeableConcept>(); 2410 return this.procedureCode; 2411 } 2412 2413 /** 2414 * @return Returns a reference to <code>this</code> for easy method chaining 2415 */ 2416 public ImagingStudy setProcedureCode(List<CodeableConcept> theProcedureCode) { 2417 this.procedureCode = theProcedureCode; 2418 return this; 2419 } 2420 2421 public boolean hasProcedureCode() { 2422 if (this.procedureCode == null) 2423 return false; 2424 for (CodeableConcept item : this.procedureCode) 2425 if (!item.isEmpty()) 2426 return true; 2427 return false; 2428 } 2429 2430 public CodeableConcept addProcedureCode() { //3 2431 CodeableConcept t = new CodeableConcept(); 2432 if (this.procedureCode == null) 2433 this.procedureCode = new ArrayList<CodeableConcept>(); 2434 this.procedureCode.add(t); 2435 return t; 2436 } 2437 2438 public ImagingStudy addProcedureCode(CodeableConcept t) { //3 2439 if (t == null) 2440 return this; 2441 if (this.procedureCode == null) 2442 this.procedureCode = new ArrayList<CodeableConcept>(); 2443 this.procedureCode.add(t); 2444 return this; 2445 } 2446 2447 /** 2448 * @return The first repetition of repeating field {@link #procedureCode}, creating it if it does not already exist {3} 2449 */ 2450 public CodeableConcept getProcedureCodeFirstRep() { 2451 if (getProcedureCode().isEmpty()) { 2452 addProcedureCode(); 2453 } 2454 return getProcedureCode().get(0); 2455 } 2456 2457 /** 2458 * @return {@link #location} (The principal physical location where the ImagingStudy was performed.) 2459 */ 2460 public Reference getLocation() { 2461 if (this.location == null) 2462 if (Configuration.errorOnAutoCreate()) 2463 throw new Error("Attempt to auto-create ImagingStudy.location"); 2464 else if (Configuration.doAutoCreate()) 2465 this.location = new Reference(); // cc 2466 return this.location; 2467 } 2468 2469 public boolean hasLocation() { 2470 return this.location != null && !this.location.isEmpty(); 2471 } 2472 2473 /** 2474 * @param value {@link #location} (The principal physical location where the ImagingStudy was performed.) 2475 */ 2476 public ImagingStudy setLocation(Reference value) { 2477 this.location = value; 2478 return this; 2479 } 2480 2481 /** 2482 * @return {@link #reasonCode} (Description of clinical condition indicating why the ImagingStudy was requested.) 2483 */ 2484 public List<CodeableConcept> getReasonCode() { 2485 if (this.reasonCode == null) 2486 this.reasonCode = new ArrayList<CodeableConcept>(); 2487 return this.reasonCode; 2488 } 2489 2490 /** 2491 * @return Returns a reference to <code>this</code> for easy method chaining 2492 */ 2493 public ImagingStudy setReasonCode(List<CodeableConcept> theReasonCode) { 2494 this.reasonCode = theReasonCode; 2495 return this; 2496 } 2497 2498 public boolean hasReasonCode() { 2499 if (this.reasonCode == null) 2500 return false; 2501 for (CodeableConcept item : this.reasonCode) 2502 if (!item.isEmpty()) 2503 return true; 2504 return false; 2505 } 2506 2507 public CodeableConcept addReasonCode() { //3 2508 CodeableConcept t = new CodeableConcept(); 2509 if (this.reasonCode == null) 2510 this.reasonCode = new ArrayList<CodeableConcept>(); 2511 this.reasonCode.add(t); 2512 return t; 2513 } 2514 2515 public ImagingStudy addReasonCode(CodeableConcept t) { //3 2516 if (t == null) 2517 return this; 2518 if (this.reasonCode == null) 2519 this.reasonCode = new ArrayList<CodeableConcept>(); 2520 this.reasonCode.add(t); 2521 return this; 2522 } 2523 2524 /** 2525 * @return The first repetition of repeating field {@link #reasonCode}, creating it if it does not already exist {3} 2526 */ 2527 public CodeableConcept getReasonCodeFirstRep() { 2528 if (getReasonCode().isEmpty()) { 2529 addReasonCode(); 2530 } 2531 return getReasonCode().get(0); 2532 } 2533 2534 /** 2535 * @return {@link #reasonReference} (Indicates another resource whose existence justifies this Study.) 2536 */ 2537 public List<Reference> getReasonReference() { 2538 if (this.reasonReference == null) 2539 this.reasonReference = new ArrayList<Reference>(); 2540 return this.reasonReference; 2541 } 2542 2543 /** 2544 * @return Returns a reference to <code>this</code> for easy method chaining 2545 */ 2546 public ImagingStudy setReasonReference(List<Reference> theReasonReference) { 2547 this.reasonReference = theReasonReference; 2548 return this; 2549 } 2550 2551 public boolean hasReasonReference() { 2552 if (this.reasonReference == null) 2553 return false; 2554 for (Reference item : this.reasonReference) 2555 if (!item.isEmpty()) 2556 return true; 2557 return false; 2558 } 2559 2560 public Reference addReasonReference() { //3 2561 Reference t = new Reference(); 2562 if (this.reasonReference == null) 2563 this.reasonReference = new ArrayList<Reference>(); 2564 this.reasonReference.add(t); 2565 return t; 2566 } 2567 2568 public ImagingStudy addReasonReference(Reference t) { //3 2569 if (t == null) 2570 return this; 2571 if (this.reasonReference == null) 2572 this.reasonReference = new ArrayList<Reference>(); 2573 this.reasonReference.add(t); 2574 return this; 2575 } 2576 2577 /** 2578 * @return The first repetition of repeating field {@link #reasonReference}, creating it if it does not already exist {3} 2579 */ 2580 public Reference getReasonReferenceFirstRep() { 2581 if (getReasonReference().isEmpty()) { 2582 addReasonReference(); 2583 } 2584 return getReasonReference().get(0); 2585 } 2586 2587 /** 2588 * @return {@link #note} (Per the recommended DICOM mapping, this element is derived from the Study Description attribute (0008,1030). Observations or findings about the imaging study should be recorded in another resource, e.g. Observation, and not in this element.) 2589 */ 2590 public List<Annotation> getNote() { 2591 if (this.note == null) 2592 this.note = new ArrayList<Annotation>(); 2593 return this.note; 2594 } 2595 2596 /** 2597 * @return Returns a reference to <code>this</code> for easy method chaining 2598 */ 2599 public ImagingStudy setNote(List<Annotation> theNote) { 2600 this.note = theNote; 2601 return this; 2602 } 2603 2604 public boolean hasNote() { 2605 if (this.note == null) 2606 return false; 2607 for (Annotation item : this.note) 2608 if (!item.isEmpty()) 2609 return true; 2610 return false; 2611 } 2612 2613 public Annotation addNote() { //3 2614 Annotation t = new Annotation(); 2615 if (this.note == null) 2616 this.note = new ArrayList<Annotation>(); 2617 this.note.add(t); 2618 return t; 2619 } 2620 2621 public ImagingStudy addNote(Annotation t) { //3 2622 if (t == null) 2623 return this; 2624 if (this.note == null) 2625 this.note = new ArrayList<Annotation>(); 2626 this.note.add(t); 2627 return this; 2628 } 2629 2630 /** 2631 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist {3} 2632 */ 2633 public Annotation getNoteFirstRep() { 2634 if (getNote().isEmpty()) { 2635 addNote(); 2636 } 2637 return getNote().get(0); 2638 } 2639 2640 /** 2641 * @return {@link #description} (The Imaging Manager description of the study. Institution-generated description or classification of the Study (component) performed.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 2642 */ 2643 public StringType getDescriptionElement() { 2644 if (this.description == null) 2645 if (Configuration.errorOnAutoCreate()) 2646 throw new Error("Attempt to auto-create ImagingStudy.description"); 2647 else if (Configuration.doAutoCreate()) 2648 this.description = new StringType(); // bb 2649 return this.description; 2650 } 2651 2652 public boolean hasDescriptionElement() { 2653 return this.description != null && !this.description.isEmpty(); 2654 } 2655 2656 public boolean hasDescription() { 2657 return this.description != null && !this.description.isEmpty(); 2658 } 2659 2660 /** 2661 * @param value {@link #description} (The Imaging Manager description of the study. Institution-generated description or classification of the Study (component) performed.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 2662 */ 2663 public ImagingStudy setDescriptionElement(StringType value) { 2664 this.description = value; 2665 return this; 2666 } 2667 2668 /** 2669 * @return The Imaging Manager description of the study. Institution-generated description or classification of the Study (component) performed. 2670 */ 2671 public String getDescription() { 2672 return this.description == null ? null : this.description.getValue(); 2673 } 2674 2675 /** 2676 * @param value The Imaging Manager description of the study. Institution-generated description or classification of the Study (component) performed. 2677 */ 2678 public ImagingStudy setDescription(String value) { 2679 if (Utilities.noString(value)) 2680 this.description = null; 2681 else { 2682 if (this.description == null) 2683 this.description = new StringType(); 2684 this.description.setValue(value); 2685 } 2686 return this; 2687 } 2688 2689 /** 2690 * @return {@link #series} (Each study has one or more series of images or other content.) 2691 */ 2692 public List<ImagingStudySeriesComponent> getSeries() { 2693 if (this.series == null) 2694 this.series = new ArrayList<ImagingStudySeriesComponent>(); 2695 return this.series; 2696 } 2697 2698 /** 2699 * @return Returns a reference to <code>this</code> for easy method chaining 2700 */ 2701 public ImagingStudy setSeries(List<ImagingStudySeriesComponent> theSeries) { 2702 this.series = theSeries; 2703 return this; 2704 } 2705 2706 public boolean hasSeries() { 2707 if (this.series == null) 2708 return false; 2709 for (ImagingStudySeriesComponent item : this.series) 2710 if (!item.isEmpty()) 2711 return true; 2712 return false; 2713 } 2714 2715 public ImagingStudySeriesComponent addSeries() { //3 2716 ImagingStudySeriesComponent t = new ImagingStudySeriesComponent(); 2717 if (this.series == null) 2718 this.series = new ArrayList<ImagingStudySeriesComponent>(); 2719 this.series.add(t); 2720 return t; 2721 } 2722 2723 public ImagingStudy addSeries(ImagingStudySeriesComponent t) { //3 2724 if (t == null) 2725 return this; 2726 if (this.series == null) 2727 this.series = new ArrayList<ImagingStudySeriesComponent>(); 2728 this.series.add(t); 2729 return this; 2730 } 2731 2732 /** 2733 * @return The first repetition of repeating field {@link #series}, creating it if it does not already exist {3} 2734 */ 2735 public ImagingStudySeriesComponent getSeriesFirstRep() { 2736 if (getSeries().isEmpty()) { 2737 addSeries(); 2738 } 2739 return getSeries().get(0); 2740 } 2741 2742 protected void listChildren(List<Property> children) { 2743 super.listChildren(children); 2744 children.add(new Property("identifier", "Identifier", "Identifiers for the ImagingStudy such as DICOM Study Instance UID, and Accession Number.", 0, java.lang.Integer.MAX_VALUE, identifier)); 2745 children.add(new Property("status", "code", "The current state of the ImagingStudy.", 0, 1, status)); 2746 children.add(new Property("modality", "Coding", "A list of all the series.modality 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).", 0, java.lang.Integer.MAX_VALUE, modality)); 2747 children.add(new Property("subject", "Reference(Patient|Device|Group)", "The subject, typically a patient, of the imaging study.", 0, 1, subject)); 2748 children.add(new Property("encounter", "Reference(Encounter)", "The healthcare event (e.g. a patient and healthcare provider interaction) during which this ImagingStudy is made.", 0, 1, encounter)); 2749 children.add(new Property("started", "dateTime", "Date and time the study started.", 0, 1, started)); 2750 children.add(new Property("basedOn", "Reference(CarePlan|ServiceRequest|Appointment|AppointmentResponse|Task)", "A list of the diagnostic requests that resulted in this imaging study being performed.", 0, java.lang.Integer.MAX_VALUE, basedOn)); 2751 children.add(new Property("referrer", "Reference(Practitioner|PractitionerRole)", "The requesting/referring physician.", 0, 1, referrer)); 2752 children.add(new Property("interpreter", "Reference(Practitioner|PractitionerRole)", "Who read the study and interpreted the images or other content.", 0, java.lang.Integer.MAX_VALUE, interpreter)); 2753 children.add(new Property("endpoint", "Reference(Endpoint)", "The network service providing access (e.g., query, view, or retrieval) for the study. See implementation notes for information about using DICOM endpoints. A study-level endpoint applies to each series in the study, unless overridden by a series-level endpoint with the same Endpoint.connectionType.", 0, java.lang.Integer.MAX_VALUE, endpoint)); 2754 children.add(new Property("numberOfSeries", "unsignedInt", "Number of Series in the Study. This value given may be larger than the number of series elements this Resource contains due to resource availability, security, or other factors. This element should be present if any series elements are present.", 0, 1, numberOfSeries)); 2755 children.add(new Property("numberOfInstances", "unsignedInt", "Number of SOP Instances in Study. This value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present.", 0, 1, numberOfInstances)); 2756 children.add(new Property("procedureReference", "Reference(Procedure)", "The procedure which this ImagingStudy was part of.", 0, 1, procedureReference)); 2757 children.add(new Property("procedureCode", "CodeableConcept", "The code for the performed procedure type.", 0, java.lang.Integer.MAX_VALUE, procedureCode)); 2758 children.add(new Property("location", "Reference(Location)", "The principal physical location where the ImagingStudy was performed.", 0, 1, location)); 2759 children.add(new Property("reasonCode", "CodeableConcept", "Description of clinical condition indicating why the ImagingStudy was requested.", 0, java.lang.Integer.MAX_VALUE, reasonCode)); 2760 children.add(new Property("reasonReference", "Reference(Condition|Observation|Media|DiagnosticReport|DocumentReference)", "Indicates another resource whose existence justifies this Study.", 0, java.lang.Integer.MAX_VALUE, reasonReference)); 2761 children.add(new Property("note", "Annotation", "Per the recommended DICOM mapping, this element is derived from the Study Description attribute (0008,1030). Observations or findings about the imaging study should be recorded in another resource, e.g. Observation, and not in this element.", 0, java.lang.Integer.MAX_VALUE, note)); 2762 children.add(new Property("description", "string", "The Imaging Manager description of the study. Institution-generated description or classification of the Study (component) performed.", 0, 1, description)); 2763 children.add(new Property("series", "", "Each study has one or more series of images or other content.", 0, java.lang.Integer.MAX_VALUE, series)); 2764 } 2765 2766 @Override 2767 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2768 switch (_hash) { 2769 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Identifiers for the ImagingStudy such as DICOM Study Instance UID, and Accession Number.", 0, java.lang.Integer.MAX_VALUE, identifier); 2770 case -892481550: /*status*/ return new Property("status", "code", "The current state of the ImagingStudy.", 0, 1, status); 2771 case -622722335: /*modality*/ return new Property("modality", "Coding", "A list of all the series.modality 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).", 0, java.lang.Integer.MAX_VALUE, modality); 2772 case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Device|Group)", "The subject, typically a patient, of the imaging study.", 0, 1, subject); 2773 case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "The healthcare event (e.g. a patient and healthcare provider interaction) during which this ImagingStudy is made.", 0, 1, encounter); 2774 case -1897185151: /*started*/ return new Property("started", "dateTime", "Date and time the study started.", 0, 1, started); 2775 case -332612366: /*basedOn*/ return new Property("basedOn", "Reference(CarePlan|ServiceRequest|Appointment|AppointmentResponse|Task)", "A list of the diagnostic requests that resulted in this imaging study being performed.", 0, java.lang.Integer.MAX_VALUE, basedOn); 2776 case -722568161: /*referrer*/ return new Property("referrer", "Reference(Practitioner|PractitionerRole)", "The requesting/referring physician.", 0, 1, referrer); 2777 case -2008009094: /*interpreter*/ return new Property("interpreter", "Reference(Practitioner|PractitionerRole)", "Who read the study and interpreted the images or other content.", 0, java.lang.Integer.MAX_VALUE, interpreter); 2778 case 1741102485: /*endpoint*/ return new Property("endpoint", "Reference(Endpoint)", "The network service providing access (e.g., query, view, or retrieval) for the study. See implementation notes for information about using DICOM endpoints. A study-level endpoint applies to each series in the study, unless overridden by a series-level endpoint with the same Endpoint.connectionType.", 0, java.lang.Integer.MAX_VALUE, endpoint); 2779 case 1920000407: /*numberOfSeries*/ return new Property("numberOfSeries", "unsignedInt", "Number of Series in the Study. This value given may be larger than the number of series elements this Resource contains due to resource availability, security, or other factors. This element should be present if any series elements are present.", 0, 1, numberOfSeries); 2780 case -1043544226: /*numberOfInstances*/ return new Property("numberOfInstances", "unsignedInt", "Number of SOP Instances in Study. This value given may be larger than the number of instance elements this resource contains due to resource availability, security, or other factors. This element should be present if any instance elements are present.", 0, 1, numberOfInstances); 2781 case 881809848: /*procedureReference*/ return new Property("procedureReference", "Reference(Procedure)", "The procedure which this ImagingStudy was part of.", 0, 1, procedureReference); 2782 case -698023072: /*procedureCode*/ return new Property("procedureCode", "CodeableConcept", "The code for the performed procedure type.", 0, java.lang.Integer.MAX_VALUE, procedureCode); 2783 case 1901043637: /*location*/ return new Property("location", "Reference(Location)", "The principal physical location where the ImagingStudy was performed.", 0, 1, location); 2784 case 722137681: /*reasonCode*/ return new Property("reasonCode", "CodeableConcept", "Description of clinical condition indicating why the ImagingStudy was requested.", 0, java.lang.Integer.MAX_VALUE, reasonCode); 2785 case -1146218137: /*reasonReference*/ return new Property("reasonReference", "Reference(Condition|Observation|Media|DiagnosticReport|DocumentReference)", "Indicates another resource whose existence justifies this Study.", 0, java.lang.Integer.MAX_VALUE, reasonReference); 2786 case 3387378: /*note*/ return new Property("note", "Annotation", "Per the recommended DICOM mapping, this element is derived from the Study Description attribute (0008,1030). Observations or findings about the imaging study should be recorded in another resource, e.g. Observation, and not in this element.", 0, java.lang.Integer.MAX_VALUE, note); 2787 case -1724546052: /*description*/ return new Property("description", "string", "The Imaging Manager description of the study. Institution-generated description or classification of the Study (component) performed.", 0, 1, description); 2788 case -905838985: /*series*/ return new Property("series", "", "Each study has one or more series of images or other content.", 0, java.lang.Integer.MAX_VALUE, series); 2789 default: return super.getNamedProperty(_hash, _name, _checkValid); 2790 } 2791 2792 } 2793 2794 @Override 2795 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2796 switch (hash) { 2797 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 2798 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<ImagingStudyStatus> 2799 case -622722335: /*modality*/ return this.modality == null ? new Base[0] : this.modality.toArray(new Base[this.modality.size()]); // Coding 2800 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 2801 case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference 2802 case -1897185151: /*started*/ return this.started == null ? new Base[0] : new Base[] {this.started}; // DateTimeType 2803 case -332612366: /*basedOn*/ return this.basedOn == null ? new Base[0] : this.basedOn.toArray(new Base[this.basedOn.size()]); // Reference 2804 case -722568161: /*referrer*/ return this.referrer == null ? new Base[0] : new Base[] {this.referrer}; // Reference 2805 case -2008009094: /*interpreter*/ return this.interpreter == null ? new Base[0] : this.interpreter.toArray(new Base[this.interpreter.size()]); // Reference 2806 case 1741102485: /*endpoint*/ return this.endpoint == null ? new Base[0] : this.endpoint.toArray(new Base[this.endpoint.size()]); // Reference 2807 case 1920000407: /*numberOfSeries*/ return this.numberOfSeries == null ? new Base[0] : new Base[] {this.numberOfSeries}; // UnsignedIntType 2808 case -1043544226: /*numberOfInstances*/ return this.numberOfInstances == null ? new Base[0] : new Base[] {this.numberOfInstances}; // UnsignedIntType 2809 case 881809848: /*procedureReference*/ return this.procedureReference == null ? new Base[0] : new Base[] {this.procedureReference}; // Reference 2810 case -698023072: /*procedureCode*/ return this.procedureCode == null ? new Base[0] : this.procedureCode.toArray(new Base[this.procedureCode.size()]); // CodeableConcept 2811 case 1901043637: /*location*/ return this.location == null ? new Base[0] : new Base[] {this.location}; // Reference 2812 case 722137681: /*reasonCode*/ return this.reasonCode == null ? new Base[0] : this.reasonCode.toArray(new Base[this.reasonCode.size()]); // CodeableConcept 2813 case -1146218137: /*reasonReference*/ return this.reasonReference == null ? new Base[0] : this.reasonReference.toArray(new Base[this.reasonReference.size()]); // Reference 2814 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 2815 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 2816 case -905838985: /*series*/ return this.series == null ? new Base[0] : this.series.toArray(new Base[this.series.size()]); // ImagingStudySeriesComponent 2817 default: return super.getProperty(hash, name, checkValid); 2818 } 2819 2820 } 2821 2822 @Override 2823 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2824 switch (hash) { 2825 case -1618432855: // identifier 2826 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 2827 return value; 2828 case -892481550: // status 2829 value = new ImagingStudyStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 2830 this.status = (Enumeration) value; // Enumeration<ImagingStudyStatus> 2831 return value; 2832 case -622722335: // modality 2833 this.getModality().add(TypeConvertor.castToCoding(value)); // Coding 2834 return value; 2835 case -1867885268: // subject 2836 this.subject = TypeConvertor.castToReference(value); // Reference 2837 return value; 2838 case 1524132147: // encounter 2839 this.encounter = TypeConvertor.castToReference(value); // Reference 2840 return value; 2841 case -1897185151: // started 2842 this.started = TypeConvertor.castToDateTime(value); // DateTimeType 2843 return value; 2844 case -332612366: // basedOn 2845 this.getBasedOn().add(TypeConvertor.castToReference(value)); // Reference 2846 return value; 2847 case -722568161: // referrer 2848 this.referrer = TypeConvertor.castToReference(value); // Reference 2849 return value; 2850 case -2008009094: // interpreter 2851 this.getInterpreter().add(TypeConvertor.castToReference(value)); // Reference 2852 return value; 2853 case 1741102485: // endpoint 2854 this.getEndpoint().add(TypeConvertor.castToReference(value)); // Reference 2855 return value; 2856 case 1920000407: // numberOfSeries 2857 this.numberOfSeries = TypeConvertor.castToUnsignedInt(value); // UnsignedIntType 2858 return value; 2859 case -1043544226: // numberOfInstances 2860 this.numberOfInstances = TypeConvertor.castToUnsignedInt(value); // UnsignedIntType 2861 return value; 2862 case 881809848: // procedureReference 2863 this.procedureReference = TypeConvertor.castToReference(value); // Reference 2864 return value; 2865 case -698023072: // procedureCode 2866 this.getProcedureCode().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 2867 return value; 2868 case 1901043637: // location 2869 this.location = TypeConvertor.castToReference(value); // Reference 2870 return value; 2871 case 722137681: // reasonCode 2872 this.getReasonCode().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 2873 return value; 2874 case -1146218137: // reasonReference 2875 this.getReasonReference().add(TypeConvertor.castToReference(value)); // Reference 2876 return value; 2877 case 3387378: // note 2878 this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation 2879 return value; 2880 case -1724546052: // description 2881 this.description = TypeConvertor.castToString(value); // StringType 2882 return value; 2883 case -905838985: // series 2884 this.getSeries().add((ImagingStudySeriesComponent) value); // ImagingStudySeriesComponent 2885 return value; 2886 default: return super.setProperty(hash, name, value); 2887 } 2888 2889 } 2890 2891 @Override 2892 public Base setProperty(String name, Base value) throws FHIRException { 2893 if (name.equals("identifier")) { 2894 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 2895 } else if (name.equals("status")) { 2896 value = new ImagingStudyStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 2897 this.status = (Enumeration) value; // Enumeration<ImagingStudyStatus> 2898 } else if (name.equals("modality")) { 2899 this.getModality().add(TypeConvertor.castToCoding(value)); 2900 } else if (name.equals("subject")) { 2901 this.subject = TypeConvertor.castToReference(value); // Reference 2902 } else if (name.equals("encounter")) { 2903 this.encounter = TypeConvertor.castToReference(value); // Reference 2904 } else if (name.equals("started")) { 2905 this.started = TypeConvertor.castToDateTime(value); // DateTimeType 2906 } else if (name.equals("basedOn")) { 2907 this.getBasedOn().add(TypeConvertor.castToReference(value)); 2908 } else if (name.equals("referrer")) { 2909 this.referrer = TypeConvertor.castToReference(value); // Reference 2910 } else if (name.equals("interpreter")) { 2911 this.getInterpreter().add(TypeConvertor.castToReference(value)); 2912 } else if (name.equals("endpoint")) { 2913 this.getEndpoint().add(TypeConvertor.castToReference(value)); 2914 } else if (name.equals("numberOfSeries")) { 2915 this.numberOfSeries = TypeConvertor.castToUnsignedInt(value); // UnsignedIntType 2916 } else if (name.equals("numberOfInstances")) { 2917 this.numberOfInstances = TypeConvertor.castToUnsignedInt(value); // UnsignedIntType 2918 } else if (name.equals("procedureReference")) { 2919 this.procedureReference = TypeConvertor.castToReference(value); // Reference 2920 } else if (name.equals("procedureCode")) { 2921 this.getProcedureCode().add(TypeConvertor.castToCodeableConcept(value)); 2922 } else if (name.equals("location")) { 2923 this.location = TypeConvertor.castToReference(value); // Reference 2924 } else if (name.equals("reasonCode")) { 2925 this.getReasonCode().add(TypeConvertor.castToCodeableConcept(value)); 2926 } else if (name.equals("reasonReference")) { 2927 this.getReasonReference().add(TypeConvertor.castToReference(value)); 2928 } else if (name.equals("note")) { 2929 this.getNote().add(TypeConvertor.castToAnnotation(value)); 2930 } else if (name.equals("description")) { 2931 this.description = TypeConvertor.castToString(value); // StringType 2932 } else if (name.equals("series")) { 2933 this.getSeries().add((ImagingStudySeriesComponent) value); 2934 } else 2935 return super.setProperty(name, value); 2936 return value; 2937 } 2938 2939 @Override 2940 public Base makeProperty(int hash, String name) throws FHIRException { 2941 switch (hash) { 2942 case -1618432855: return addIdentifier(); 2943 case -892481550: return getStatusElement(); 2944 case -622722335: return addModality(); 2945 case -1867885268: return getSubject(); 2946 case 1524132147: return getEncounter(); 2947 case -1897185151: return getStartedElement(); 2948 case -332612366: return addBasedOn(); 2949 case -722568161: return getReferrer(); 2950 case -2008009094: return addInterpreter(); 2951 case 1741102485: return addEndpoint(); 2952 case 1920000407: return getNumberOfSeriesElement(); 2953 case -1043544226: return getNumberOfInstancesElement(); 2954 case 881809848: return getProcedureReference(); 2955 case -698023072: return addProcedureCode(); 2956 case 1901043637: return getLocation(); 2957 case 722137681: return addReasonCode(); 2958 case -1146218137: return addReasonReference(); 2959 case 3387378: return addNote(); 2960 case -1724546052: return getDescriptionElement(); 2961 case -905838985: return addSeries(); 2962 default: return super.makeProperty(hash, name); 2963 } 2964 2965 } 2966 2967 @Override 2968 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2969 switch (hash) { 2970 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 2971 case -892481550: /*status*/ return new String[] {"code"}; 2972 case -622722335: /*modality*/ return new String[] {"Coding"}; 2973 case -1867885268: /*subject*/ return new String[] {"Reference"}; 2974 case 1524132147: /*encounter*/ return new String[] {"Reference"}; 2975 case -1897185151: /*started*/ return new String[] {"dateTime"}; 2976 case -332612366: /*basedOn*/ return new String[] {"Reference"}; 2977 case -722568161: /*referrer*/ return new String[] {"Reference"}; 2978 case -2008009094: /*interpreter*/ return new String[] {"Reference"}; 2979 case 1741102485: /*endpoint*/ return new String[] {"Reference"}; 2980 case 1920000407: /*numberOfSeries*/ return new String[] {"unsignedInt"}; 2981 case -1043544226: /*numberOfInstances*/ return new String[] {"unsignedInt"}; 2982 case 881809848: /*procedureReference*/ return new String[] {"Reference"}; 2983 case -698023072: /*procedureCode*/ return new String[] {"CodeableConcept"}; 2984 case 1901043637: /*location*/ return new String[] {"Reference"}; 2985 case 722137681: /*reasonCode*/ return new String[] {"CodeableConcept"}; 2986 case -1146218137: /*reasonReference*/ return new String[] {"Reference"}; 2987 case 3387378: /*note*/ return new String[] {"Annotation"}; 2988 case -1724546052: /*description*/ return new String[] {"string"}; 2989 case -905838985: /*series*/ return new String[] {}; 2990 default: return super.getTypesForProperty(hash, name); 2991 } 2992 2993 } 2994 2995 @Override 2996 public Base addChild(String name) throws FHIRException { 2997 if (name.equals("identifier")) { 2998 return addIdentifier(); 2999 } 3000 else if (name.equals("status")) { 3001 throw new FHIRException("Cannot call addChild on a primitive type ImagingStudy.status"); 3002 } 3003 else if (name.equals("modality")) { 3004 return addModality(); 3005 } 3006 else if (name.equals("subject")) { 3007 this.subject = new Reference(); 3008 return this.subject; 3009 } 3010 else if (name.equals("encounter")) { 3011 this.encounter = new Reference(); 3012 return this.encounter; 3013 } 3014 else if (name.equals("started")) { 3015 throw new FHIRException("Cannot call addChild on a primitive type ImagingStudy.started"); 3016 } 3017 else if (name.equals("basedOn")) { 3018 return addBasedOn(); 3019 } 3020 else if (name.equals("referrer")) { 3021 this.referrer = new Reference(); 3022 return this.referrer; 3023 } 3024 else if (name.equals("interpreter")) { 3025 return addInterpreter(); 3026 } 3027 else if (name.equals("endpoint")) { 3028 return addEndpoint(); 3029 } 3030 else if (name.equals("numberOfSeries")) { 3031 throw new FHIRException("Cannot call addChild on a primitive type ImagingStudy.numberOfSeries"); 3032 } 3033 else if (name.equals("numberOfInstances")) { 3034 throw new FHIRException("Cannot call addChild on a primitive type ImagingStudy.numberOfInstances"); 3035 } 3036 else if (name.equals("procedureReference")) { 3037 this.procedureReference = new Reference(); 3038 return this.procedureReference; 3039 } 3040 else if (name.equals("procedureCode")) { 3041 return addProcedureCode(); 3042 } 3043 else if (name.equals("location")) { 3044 this.location = new Reference(); 3045 return this.location; 3046 } 3047 else if (name.equals("reasonCode")) { 3048 return addReasonCode(); 3049 } 3050 else if (name.equals("reasonReference")) { 3051 return addReasonReference(); 3052 } 3053 else if (name.equals("note")) { 3054 return addNote(); 3055 } 3056 else if (name.equals("description")) { 3057 throw new FHIRException("Cannot call addChild on a primitive type ImagingStudy.description"); 3058 } 3059 else if (name.equals("series")) { 3060 return addSeries(); 3061 } 3062 else 3063 return super.addChild(name); 3064 } 3065 3066 public String fhirType() { 3067 return "ImagingStudy"; 3068 3069 } 3070 3071 public ImagingStudy copy() { 3072 ImagingStudy dst = new ImagingStudy(); 3073 copyValues(dst); 3074 return dst; 3075 } 3076 3077 public void copyValues(ImagingStudy dst) { 3078 super.copyValues(dst); 3079 if (identifier != null) { 3080 dst.identifier = new ArrayList<Identifier>(); 3081 for (Identifier i : identifier) 3082 dst.identifier.add(i.copy()); 3083 }; 3084 dst.status = status == null ? null : status.copy(); 3085 if (modality != null) { 3086 dst.modality = new ArrayList<Coding>(); 3087 for (Coding i : modality) 3088 dst.modality.add(i.copy()); 3089 }; 3090 dst.subject = subject == null ? null : subject.copy(); 3091 dst.encounter = encounter == null ? null : encounter.copy(); 3092 dst.started = started == null ? null : started.copy(); 3093 if (basedOn != null) { 3094 dst.basedOn = new ArrayList<Reference>(); 3095 for (Reference i : basedOn) 3096 dst.basedOn.add(i.copy()); 3097 }; 3098 dst.referrer = referrer == null ? null : referrer.copy(); 3099 if (interpreter != null) { 3100 dst.interpreter = new ArrayList<Reference>(); 3101 for (Reference i : interpreter) 3102 dst.interpreter.add(i.copy()); 3103 }; 3104 if (endpoint != null) { 3105 dst.endpoint = new ArrayList<Reference>(); 3106 for (Reference i : endpoint) 3107 dst.endpoint.add(i.copy()); 3108 }; 3109 dst.numberOfSeries = numberOfSeries == null ? null : numberOfSeries.copy(); 3110 dst.numberOfInstances = numberOfInstances == null ? null : numberOfInstances.copy(); 3111 dst.procedureReference = procedureReference == null ? null : procedureReference.copy(); 3112 if (procedureCode != null) { 3113 dst.procedureCode = new ArrayList<CodeableConcept>(); 3114 for (CodeableConcept i : procedureCode) 3115 dst.procedureCode.add(i.copy()); 3116 }; 3117 dst.location = location == null ? null : location.copy(); 3118 if (reasonCode != null) { 3119 dst.reasonCode = new ArrayList<CodeableConcept>(); 3120 for (CodeableConcept i : reasonCode) 3121 dst.reasonCode.add(i.copy()); 3122 }; 3123 if (reasonReference != null) { 3124 dst.reasonReference = new ArrayList<Reference>(); 3125 for (Reference i : reasonReference) 3126 dst.reasonReference.add(i.copy()); 3127 }; 3128 if (note != null) { 3129 dst.note = new ArrayList<Annotation>(); 3130 for (Annotation i : note) 3131 dst.note.add(i.copy()); 3132 }; 3133 dst.description = description == null ? null : description.copy(); 3134 if (series != null) { 3135 dst.series = new ArrayList<ImagingStudySeriesComponent>(); 3136 for (ImagingStudySeriesComponent i : series) 3137 dst.series.add(i.copy()); 3138 }; 3139 } 3140 3141 protected ImagingStudy typedCopy() { 3142 return copy(); 3143 } 3144 3145 @Override 3146 public boolean equalsDeep(Base other_) { 3147 if (!super.equalsDeep(other_)) 3148 return false; 3149 if (!(other_ instanceof ImagingStudy)) 3150 return false; 3151 ImagingStudy o = (ImagingStudy) other_; 3152 return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(modality, o.modality, true) 3153 && compareDeep(subject, o.subject, true) && compareDeep(encounter, o.encounter, true) && compareDeep(started, o.started, true) 3154 && compareDeep(basedOn, o.basedOn, true) && compareDeep(referrer, o.referrer, true) && compareDeep(interpreter, o.interpreter, true) 3155 && compareDeep(endpoint, o.endpoint, true) && compareDeep(numberOfSeries, o.numberOfSeries, true) 3156 && compareDeep(numberOfInstances, o.numberOfInstances, true) && compareDeep(procedureReference, o.procedureReference, true) 3157 && compareDeep(procedureCode, o.procedureCode, true) && compareDeep(location, o.location, true) 3158 && compareDeep(reasonCode, o.reasonCode, true) && compareDeep(reasonReference, o.reasonReference, true) 3159 && compareDeep(note, o.note, true) && compareDeep(description, o.description, true) && compareDeep(series, o.series, true) 3160 ; 3161 } 3162 3163 @Override 3164 public boolean equalsShallow(Base other_) { 3165 if (!super.equalsShallow(other_)) 3166 return false; 3167 if (!(other_ instanceof ImagingStudy)) 3168 return false; 3169 ImagingStudy o = (ImagingStudy) other_; 3170 return compareValues(status, o.status, true) && compareValues(started, o.started, true) && compareValues(numberOfSeries, o.numberOfSeries, true) 3171 && compareValues(numberOfInstances, o.numberOfInstances, true) && compareValues(description, o.description, true) 3172 ; 3173 } 3174 3175 public boolean isEmpty() { 3176 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, modality 3177 , subject, encounter, started, basedOn, referrer, interpreter, endpoint, numberOfSeries 3178 , numberOfInstances, procedureReference, procedureCode, location, reasonCode, reasonReference 3179 , note, description, series); 3180 } 3181 3182 @Override 3183 public ResourceType getResourceType() { 3184 return ResourceType.ImagingStudy; 3185 } 3186 3187 /** 3188 * Search parameter: <b>basedon</b> 3189 * <p> 3190 * Description: <b>The order for the image</b><br> 3191 * Type: <b>reference</b><br> 3192 * Path: <b>ImagingStudy.basedOn</b><br> 3193 * </p> 3194 */ 3195 @SearchParamDefinition(name="basedon", path="ImagingStudy.basedOn", description="The order for the image", type="reference", target={Appointment.class, AppointmentResponse.class, CarePlan.class, ServiceRequest.class, Task.class } ) 3196 public static final String SP_BASEDON = "basedon"; 3197 /** 3198 * <b>Fluent Client</b> search parameter constant for <b>basedon</b> 3199 * <p> 3200 * Description: <b>The order for the image</b><br> 3201 * Type: <b>reference</b><br> 3202 * Path: <b>ImagingStudy.basedOn</b><br> 3203 * </p> 3204 */ 3205 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam BASEDON = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_BASEDON); 3206 3207/** 3208 * Constant for fluent queries to be used to add include statements. Specifies 3209 * the path value of "<b>ImagingStudy:basedon</b>". 3210 */ 3211 public static final ca.uhn.fhir.model.api.Include INCLUDE_BASEDON = new ca.uhn.fhir.model.api.Include("ImagingStudy:basedon").toLocked(); 3212 3213 /** 3214 * Search parameter: <b>bodysite</b> 3215 * <p> 3216 * Description: <b>The body site studied</b><br> 3217 * Type: <b>token</b><br> 3218 * Path: <b>ImagingStudy.series.bodySite</b><br> 3219 * </p> 3220 */ 3221 @SearchParamDefinition(name="bodysite", path="ImagingStudy.series.bodySite", description="The body site studied", type="token" ) 3222 public static final String SP_BODYSITE = "bodysite"; 3223 /** 3224 * <b>Fluent Client</b> search parameter constant for <b>bodysite</b> 3225 * <p> 3226 * Description: <b>The body site studied</b><br> 3227 * Type: <b>token</b><br> 3228 * Path: <b>ImagingStudy.series.bodySite</b><br> 3229 * </p> 3230 */ 3231 public static final ca.uhn.fhir.rest.gclient.TokenClientParam BODYSITE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_BODYSITE); 3232 3233 /** 3234 * Search parameter: <b>dicom-class</b> 3235 * <p> 3236 * Description: <b>The type of the instance</b><br> 3237 * Type: <b>token</b><br> 3238 * Path: <b>ImagingStudy.series.instance.sopClass</b><br> 3239 * </p> 3240 */ 3241 @SearchParamDefinition(name="dicom-class", path="ImagingStudy.series.instance.sopClass", description="The type of the instance", type="token" ) 3242 public static final String SP_DICOM_CLASS = "dicom-class"; 3243 /** 3244 * <b>Fluent Client</b> search parameter constant for <b>dicom-class</b> 3245 * <p> 3246 * Description: <b>The type of the instance</b><br> 3247 * Type: <b>token</b><br> 3248 * Path: <b>ImagingStudy.series.instance.sopClass</b><br> 3249 * </p> 3250 */ 3251 public static final ca.uhn.fhir.rest.gclient.TokenClientParam DICOM_CLASS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_DICOM_CLASS); 3252 3253 /** 3254 * Search parameter: <b>encounter</b> 3255 * <p> 3256 * Description: <b>The context of the study</b><br> 3257 * Type: <b>reference</b><br> 3258 * Path: <b>ImagingStudy.encounter</b><br> 3259 * </p> 3260 */ 3261 @SearchParamDefinition(name="encounter", path="ImagingStudy.encounter", description="The context of the study", type="reference", target={Encounter.class } ) 3262 public static final String SP_ENCOUNTER = "encounter"; 3263 /** 3264 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 3265 * <p> 3266 * Description: <b>The context of the study</b><br> 3267 * Type: <b>reference</b><br> 3268 * Path: <b>ImagingStudy.encounter</b><br> 3269 * </p> 3270 */ 3271 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENCOUNTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENCOUNTER); 3272 3273/** 3274 * Constant for fluent queries to be used to add include statements. Specifies 3275 * the path value of "<b>ImagingStudy:encounter</b>". 3276 */ 3277 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENCOUNTER = new ca.uhn.fhir.model.api.Include("ImagingStudy:encounter").toLocked(); 3278 3279 /** 3280 * Search parameter: <b>endpoint</b> 3281 * <p> 3282 * Description: <b>The endpoint for the study or series</b><br> 3283 * Type: <b>reference</b><br> 3284 * Path: <b>ImagingStudy.endpoint | ImagingStudy.series.endpoint</b><br> 3285 * </p> 3286 */ 3287 @SearchParamDefinition(name="endpoint", path="ImagingStudy.endpoint | ImagingStudy.series.endpoint", description="The endpoint for the study or series", type="reference", target={Endpoint.class } ) 3288 public static final String SP_ENDPOINT = "endpoint"; 3289 /** 3290 * <b>Fluent Client</b> search parameter constant for <b>endpoint</b> 3291 * <p> 3292 * Description: <b>The endpoint for the study or series</b><br> 3293 * Type: <b>reference</b><br> 3294 * Path: <b>ImagingStudy.endpoint | ImagingStudy.series.endpoint</b><br> 3295 * </p> 3296 */ 3297 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENDPOINT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENDPOINT); 3298 3299/** 3300 * Constant for fluent queries to be used to add include statements. Specifies 3301 * the path value of "<b>ImagingStudy:endpoint</b>". 3302 */ 3303 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENDPOINT = new ca.uhn.fhir.model.api.Include("ImagingStudy:endpoint").toLocked(); 3304 3305 /** 3306 * Search parameter: <b>instance</b> 3307 * <p> 3308 * Description: <b>SOP Instance UID for an instance</b><br> 3309 * Type: <b>token</b><br> 3310 * Path: <b>ImagingStudy.series.instance.uid</b><br> 3311 * </p> 3312 */ 3313 @SearchParamDefinition(name="instance", path="ImagingStudy.series.instance.uid", description="SOP Instance UID for an instance", type="token" ) 3314 public static final String SP_INSTANCE = "instance"; 3315 /** 3316 * <b>Fluent Client</b> search parameter constant for <b>instance</b> 3317 * <p> 3318 * Description: <b>SOP Instance UID for an instance</b><br> 3319 * Type: <b>token</b><br> 3320 * Path: <b>ImagingStudy.series.instance.uid</b><br> 3321 * </p> 3322 */ 3323 public static final ca.uhn.fhir.rest.gclient.TokenClientParam INSTANCE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_INSTANCE); 3324 3325 /** 3326 * Search parameter: <b>interpreter</b> 3327 * <p> 3328 * Description: <b>Who interpreted the images</b><br> 3329 * Type: <b>reference</b><br> 3330 * Path: <b>ImagingStudy.interpreter</b><br> 3331 * </p> 3332 */ 3333 @SearchParamDefinition(name="interpreter", path="ImagingStudy.interpreter", description="Who interpreted the images", type="reference", target={Practitioner.class, PractitionerRole.class } ) 3334 public static final String SP_INTERPRETER = "interpreter"; 3335 /** 3336 * <b>Fluent Client</b> search parameter constant for <b>interpreter</b> 3337 * <p> 3338 * Description: <b>Who interpreted the images</b><br> 3339 * Type: <b>reference</b><br> 3340 * Path: <b>ImagingStudy.interpreter</b><br> 3341 * </p> 3342 */ 3343 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam INTERPRETER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_INTERPRETER); 3344 3345/** 3346 * Constant for fluent queries to be used to add include statements. Specifies 3347 * the path value of "<b>ImagingStudy:interpreter</b>". 3348 */ 3349 public static final ca.uhn.fhir.model.api.Include INCLUDE_INTERPRETER = new ca.uhn.fhir.model.api.Include("ImagingStudy:interpreter").toLocked(); 3350 3351 /** 3352 * Search parameter: <b>modality</b> 3353 * <p> 3354 * Description: <b>The modality of the series</b><br> 3355 * Type: <b>token</b><br> 3356 * Path: <b>ImagingStudy.series.modality</b><br> 3357 * </p> 3358 */ 3359 @SearchParamDefinition(name="modality", path="ImagingStudy.series.modality", description="The modality of the series", type="token" ) 3360 public static final String SP_MODALITY = "modality"; 3361 /** 3362 * <b>Fluent Client</b> search parameter constant for <b>modality</b> 3363 * <p> 3364 * Description: <b>The modality of the series</b><br> 3365 * Type: <b>token</b><br> 3366 * Path: <b>ImagingStudy.series.modality</b><br> 3367 * </p> 3368 */ 3369 public static final ca.uhn.fhir.rest.gclient.TokenClientParam MODALITY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_MODALITY); 3370 3371 /** 3372 * Search parameter: <b>performer</b> 3373 * <p> 3374 * Description: <b>The person who performed the study</b><br> 3375 * Type: <b>reference</b><br> 3376 * Path: <b>ImagingStudy.series.performer.actor</b><br> 3377 * </p> 3378 */ 3379 @SearchParamDefinition(name="performer", path="ImagingStudy.series.performer.actor", description="The person who performed the study", type="reference", target={CareTeam.class, Device.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) 3380 public static final String SP_PERFORMER = "performer"; 3381 /** 3382 * <b>Fluent Client</b> search parameter constant for <b>performer</b> 3383 * <p> 3384 * Description: <b>The person who performed the study</b><br> 3385 * Type: <b>reference</b><br> 3386 * Path: <b>ImagingStudy.series.performer.actor</b><br> 3387 * </p> 3388 */ 3389 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PERFORMER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PERFORMER); 3390 3391/** 3392 * Constant for fluent queries to be used to add include statements. Specifies 3393 * the path value of "<b>ImagingStudy:performer</b>". 3394 */ 3395 public static final ca.uhn.fhir.model.api.Include INCLUDE_PERFORMER = new ca.uhn.fhir.model.api.Include("ImagingStudy:performer").toLocked(); 3396 3397 /** 3398 * Search parameter: <b>reason</b> 3399 * <p> 3400 * Description: <b>The reason for the study</b><br> 3401 * Type: <b>token</b><br> 3402 * Path: <b>ImagingStudy.reasonCode</b><br> 3403 * </p> 3404 */ 3405 @SearchParamDefinition(name="reason", path="ImagingStudy.reasonCode", description="The reason for the study", type="token" ) 3406 public static final String SP_REASON = "reason"; 3407 /** 3408 * <b>Fluent Client</b> search parameter constant for <b>reason</b> 3409 * <p> 3410 * Description: <b>The reason for the study</b><br> 3411 * Type: <b>token</b><br> 3412 * Path: <b>ImagingStudy.reasonCode</b><br> 3413 * </p> 3414 */ 3415 public static final ca.uhn.fhir.rest.gclient.TokenClientParam REASON = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_REASON); 3416 3417 /** 3418 * Search parameter: <b>referrer</b> 3419 * <p> 3420 * Description: <b>The referring physician</b><br> 3421 * Type: <b>reference</b><br> 3422 * Path: <b>ImagingStudy.referrer</b><br> 3423 * </p> 3424 */ 3425 @SearchParamDefinition(name="referrer", path="ImagingStudy.referrer", description="The referring physician", type="reference", target={Practitioner.class, PractitionerRole.class } ) 3426 public static final String SP_REFERRER = "referrer"; 3427 /** 3428 * <b>Fluent Client</b> search parameter constant for <b>referrer</b> 3429 * <p> 3430 * Description: <b>The referring physician</b><br> 3431 * Type: <b>reference</b><br> 3432 * Path: <b>ImagingStudy.referrer</b><br> 3433 * </p> 3434 */ 3435 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam REFERRER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_REFERRER); 3436 3437/** 3438 * Constant for fluent queries to be used to add include statements. Specifies 3439 * the path value of "<b>ImagingStudy:referrer</b>". 3440 */ 3441 public static final ca.uhn.fhir.model.api.Include INCLUDE_REFERRER = new ca.uhn.fhir.model.api.Include("ImagingStudy:referrer").toLocked(); 3442 3443 /** 3444 * Search parameter: <b>series</b> 3445 * <p> 3446 * Description: <b>DICOM Series Instance UID for a series</b><br> 3447 * Type: <b>token</b><br> 3448 * Path: <b>ImagingStudy.series.uid</b><br> 3449 * </p> 3450 */ 3451 @SearchParamDefinition(name="series", path="ImagingStudy.series.uid", description="DICOM Series Instance UID for a series", type="token" ) 3452 public static final String SP_SERIES = "series"; 3453 /** 3454 * <b>Fluent Client</b> search parameter constant for <b>series</b> 3455 * <p> 3456 * Description: <b>DICOM Series Instance UID for a series</b><br> 3457 * Type: <b>token</b><br> 3458 * Path: <b>ImagingStudy.series.uid</b><br> 3459 * </p> 3460 */ 3461 public static final ca.uhn.fhir.rest.gclient.TokenClientParam SERIES = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_SERIES); 3462 3463 /** 3464 * Search parameter: <b>started</b> 3465 * <p> 3466 * Description: <b>When the study was started</b><br> 3467 * Type: <b>date</b><br> 3468 * Path: <b>ImagingStudy.started</b><br> 3469 * </p> 3470 */ 3471 @SearchParamDefinition(name="started", path="ImagingStudy.started", description="When the study was started", type="date" ) 3472 public static final String SP_STARTED = "started"; 3473 /** 3474 * <b>Fluent Client</b> search parameter constant for <b>started</b> 3475 * <p> 3476 * Description: <b>When the study was started</b><br> 3477 * Type: <b>date</b><br> 3478 * Path: <b>ImagingStudy.started</b><br> 3479 * </p> 3480 */ 3481 public static final ca.uhn.fhir.rest.gclient.DateClientParam STARTED = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_STARTED); 3482 3483 /** 3484 * Search parameter: <b>status</b> 3485 * <p> 3486 * Description: <b>The status of the study</b><br> 3487 * Type: <b>token</b><br> 3488 * Path: <b>ImagingStudy.status</b><br> 3489 * </p> 3490 */ 3491 @SearchParamDefinition(name="status", path="ImagingStudy.status", description="The status of the study", type="token" ) 3492 public static final String SP_STATUS = "status"; 3493 /** 3494 * <b>Fluent Client</b> search parameter constant for <b>status</b> 3495 * <p> 3496 * Description: <b>The status of the study</b><br> 3497 * Type: <b>token</b><br> 3498 * Path: <b>ImagingStudy.status</b><br> 3499 * </p> 3500 */ 3501 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 3502 3503 /** 3504 * Search parameter: <b>subject</b> 3505 * <p> 3506 * Description: <b>Who the study is about</b><br> 3507 * Type: <b>reference</b><br> 3508 * Path: <b>ImagingStudy.subject</b><br> 3509 * </p> 3510 */ 3511 @SearchParamDefinition(name="subject", path="ImagingStudy.subject", description="Who the study is about", type="reference", target={Device.class, Group.class, Patient.class } ) 3512 public static final String SP_SUBJECT = "subject"; 3513 /** 3514 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 3515 * <p> 3516 * Description: <b>Who the study is about</b><br> 3517 * Type: <b>reference</b><br> 3518 * Path: <b>ImagingStudy.subject</b><br> 3519 * </p> 3520 */ 3521 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 3522 3523/** 3524 * Constant for fluent queries to be used to add include statements. Specifies 3525 * the path value of "<b>ImagingStudy:subject</b>". 3526 */ 3527 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("ImagingStudy:subject").toLocked(); 3528 3529 /** 3530 * Search parameter: <b>identifier</b> 3531 * <p> 3532 * Description: <b>Multiple Resources: 3533 3534* [AllergyIntolerance](allergyintolerance.html): External ids for this item 3535* [CarePlan](careplan.html): External Ids for this plan 3536* [CareTeam](careteam.html): External Ids for this team 3537* [Composition](composition.html): Version-independent identifier for the Composition 3538* [Condition](condition.html): A unique identifier of the condition record 3539* [Consent](consent.html): Identifier for this record (external references) 3540* [DetectedIssue](detectedissue.html): Unique id for the detected issue 3541* [DeviceRequest](devicerequest.html): Business identifier for request/order 3542* [DiagnosticReport](diagnosticreport.html): An identifier for the report 3543* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents 3544* [DocumentReference](documentreference.html): Master Version Specific Identifier 3545* [Encounter](encounter.html): Identifier(s) by which this encounter is known 3546* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 3547* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 3548* [Goal](goal.html): External Ids for this goal 3549* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number 3550* [Immunization](immunization.html): Business identifier 3551* [List](list.html): Business identifier 3552* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 3553* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 3554* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 3555* [MedicationStatement](medicationstatement.html): Return statements with this external identifier 3556* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 3557* [Observation](observation.html): The unique id for a particular observation 3558* [Procedure](procedure.html): A unique identifier for a procedure 3559* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 3560* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 3561* [SupplyDelivery](supplydelivery.html): External identifier 3562* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 3563* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 3564</b><br> 3565 * Type: <b>token</b><br> 3566 * Path: <b>AllergyIntolerance.identifier | CarePlan.identifier | CareTeam.identifier | Composition.identifier | Condition.identifier | Consent.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DiagnosticReport.identifier | DocumentManifest.masterIdentifier | DocumentManifest.identifier | DocumentReference.masterIdentifier | DocumentReference.identifier | Encounter.identifier | EpisodeOfCare.identifier | FamilyMemberHistory.identifier | Goal.identifier | ImagingStudy.identifier | Immunization.identifier | List.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.identifier | NutritionOrder.identifier | Observation.identifier | Procedure.identifier | RiskAssessment.identifier | ServiceRequest.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | VisionPrescription.identifier</b><br> 3567 * </p> 3568 */ 3569 @SearchParamDefinition(name="identifier", path="AllergyIntolerance.identifier | CarePlan.identifier | CareTeam.identifier | Composition.identifier | Condition.identifier | Consent.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DiagnosticReport.identifier | DocumentManifest.masterIdentifier | DocumentManifest.identifier | DocumentReference.masterIdentifier | DocumentReference.identifier | Encounter.identifier | EpisodeOfCare.identifier | FamilyMemberHistory.identifier | Goal.identifier | ImagingStudy.identifier | Immunization.identifier | List.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.identifier | NutritionOrder.identifier | Observation.identifier | Procedure.identifier | RiskAssessment.identifier | ServiceRequest.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | VisionPrescription.identifier", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\r\n* [DocumentReference](documentreference.html): Master Version Specific Identifier\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", type="token" ) 3570 public static final String SP_IDENTIFIER = "identifier"; 3571 /** 3572 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 3573 * <p> 3574 * Description: <b>Multiple Resources: 3575 3576* [AllergyIntolerance](allergyintolerance.html): External ids for this item 3577* [CarePlan](careplan.html): External Ids for this plan 3578* [CareTeam](careteam.html): External Ids for this team 3579* [Composition](composition.html): Version-independent identifier for the Composition 3580* [Condition](condition.html): A unique identifier of the condition record 3581* [Consent](consent.html): Identifier for this record (external references) 3582* [DetectedIssue](detectedissue.html): Unique id for the detected issue 3583* [DeviceRequest](devicerequest.html): Business identifier for request/order 3584* [DiagnosticReport](diagnosticreport.html): An identifier for the report 3585* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents 3586* [DocumentReference](documentreference.html): Master Version Specific Identifier 3587* [Encounter](encounter.html): Identifier(s) by which this encounter is known 3588* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 3589* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 3590* [Goal](goal.html): External Ids for this goal 3591* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number 3592* [Immunization](immunization.html): Business identifier 3593* [List](list.html): Business identifier 3594* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 3595* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 3596* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 3597* [MedicationStatement](medicationstatement.html): Return statements with this external identifier 3598* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 3599* [Observation](observation.html): The unique id for a particular observation 3600* [Procedure](procedure.html): A unique identifier for a procedure 3601* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 3602* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 3603* [SupplyDelivery](supplydelivery.html): External identifier 3604* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 3605* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 3606</b><br> 3607 * Type: <b>token</b><br> 3608 * Path: <b>AllergyIntolerance.identifier | CarePlan.identifier | CareTeam.identifier | Composition.identifier | Condition.identifier | Consent.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DiagnosticReport.identifier | DocumentManifest.masterIdentifier | DocumentManifest.identifier | DocumentReference.masterIdentifier | DocumentReference.identifier | Encounter.identifier | EpisodeOfCare.identifier | FamilyMemberHistory.identifier | Goal.identifier | ImagingStudy.identifier | Immunization.identifier | List.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.identifier | NutritionOrder.identifier | Observation.identifier | Procedure.identifier | RiskAssessment.identifier | ServiceRequest.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | VisionPrescription.identifier</b><br> 3609 * </p> 3610 */ 3611 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 3612 3613 /** 3614 * Search parameter: <b>patient</b> 3615 * <p> 3616 * Description: <b>Multiple Resources: 3617 3618* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 3619* [CarePlan](careplan.html): Who the care plan is for 3620* [CareTeam](careteam.html): Who care team is for 3621* [ClinicalImpression](clinicalimpression.html): Patient or group assessed 3622* [Composition](composition.html): Who and/or what the composition is about 3623* [Condition](condition.html): Who has the condition? 3624* [Consent](consent.html): Who the consent applies to 3625* [DetectedIssue](detectedissue.html): Associated patient 3626* [DeviceRequest](devicerequest.html): Individual the service is ordered for 3627* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient 3628* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 3629* [DocumentManifest](documentmanifest.html): The subject of the set of documents 3630* [DocumentReference](documentreference.html): Who/what is the subject of the document 3631* [Encounter](encounter.html): The patient or group present at the encounter 3632* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 3633* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 3634* [Flag](flag.html): The identity of a subject to list flags for 3635* [Goal](goal.html): Who this goal is intended for 3636* [ImagingStudy](imagingstudy.html): Who the study is about 3637* [Immunization](immunization.html): The patient for the vaccination record 3638* [List](list.html): If all resources have the same subject 3639* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 3640* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 3641* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 3642* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient. 3643* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement 3644* [Observation](observation.html): The subject that the observation is about (if patient) 3645* [Procedure](procedure.html): Search by subject - a patient 3646* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 3647* [ServiceRequest](servicerequest.html): Search by subject - a patient 3648* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 3649* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 3650</b><br> 3651 * Type: <b>reference</b><br> 3652 * Path: <b>AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.patient | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUseStatement.subject.where(resolve() is Patient) | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationStatement.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient</b><br> 3653 * </p> 3654 */ 3655 @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.patient | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUseStatement.subject.where(resolve() is Patient) | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationStatement.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient or group assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient or group present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, CatalogEntry.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceMetric.class, DeviceRequest.class, DeviceUseStatement.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Media.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationStatement.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchDefinition.class, ResearchElementDefinition.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) 3656 public static final String SP_PATIENT = "patient"; 3657 /** 3658 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 3659 * <p> 3660 * Description: <b>Multiple Resources: 3661 3662* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 3663* [CarePlan](careplan.html): Who the care plan is for 3664* [CareTeam](careteam.html): Who care team is for 3665* [ClinicalImpression](clinicalimpression.html): Patient or group assessed 3666* [Composition](composition.html): Who and/or what the composition is about 3667* [Condition](condition.html): Who has the condition? 3668* [Consent](consent.html): Who the consent applies to 3669* [DetectedIssue](detectedissue.html): Associated patient 3670* [DeviceRequest](devicerequest.html): Individual the service is ordered for 3671* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient 3672* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 3673* [DocumentManifest](documentmanifest.html): The subject of the set of documents 3674* [DocumentReference](documentreference.html): Who/what is the subject of the document 3675* [Encounter](encounter.html): The patient or group present at the encounter 3676* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 3677* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 3678* [Flag](flag.html): The identity of a subject to list flags for 3679* [Goal](goal.html): Who this goal is intended for 3680* [ImagingStudy](imagingstudy.html): Who the study is about 3681* [Immunization](immunization.html): The patient for the vaccination record 3682* [List](list.html): If all resources have the same subject 3683* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 3684* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 3685* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 3686* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient. 3687* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement 3688* [Observation](observation.html): The subject that the observation is about (if patient) 3689* [Procedure](procedure.html): Search by subject - a patient 3690* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 3691* [ServiceRequest](servicerequest.html): Search by subject - a patient 3692* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 3693* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 3694</b><br> 3695 * Type: <b>reference</b><br> 3696 * Path: <b>AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.patient | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUseStatement.subject.where(resolve() is Patient) | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationStatement.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient</b><br> 3697 * </p> 3698 */ 3699 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 3700 3701/** 3702 * Constant for fluent queries to be used to add include statements. Specifies 3703 * the path value of "<b>ImagingStudy:patient</b>". 3704 */ 3705 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("ImagingStudy:patient").toLocked(); 3706 3707 3708} 3709