001package org.hl7.fhir.dstu2016may.model; 002 003/* 004 Copyright (c) 2011+, HL7, Inc. 005 All rights reserved. 006 007 Redistribution and use in source and binary forms, with or without modification, 008 are permitted provided that the following conditions are met: 009 010 * Redistributions of source code must retain the above copyright notice, this 011 list of conditions and the following disclaimer. 012 * Redistributions in binary form must reproduce the above copyright notice, 013 this list of conditions and the following disclaimer in the documentation 014 and/or other materials provided with the distribution. 015 * Neither the name of HL7 nor the names of its contributors may be used to 016 endorse or promote products derived from this software without specific 017 prior written permission. 018 019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 020 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 021 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 022 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 023 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 024 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 025 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 026 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 027 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 028 POSSIBILITY OF SUCH DAMAGE. 029 030*/ 031 032// Generated on Sun, May 8, 2016 03:05+1000 for FHIR v1.4.0 033import java.util.ArrayList; 034import java.util.Date; 035import java.util.List; 036 037import org.hl7.fhir.exceptions.FHIRException; 038import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 039import org.hl7.fhir.utilities.Utilities; 040 041import ca.uhn.fhir.model.api.annotation.Block; 042import ca.uhn.fhir.model.api.annotation.Child; 043import ca.uhn.fhir.model.api.annotation.Description; 044import ca.uhn.fhir.model.api.annotation.ResourceDef; 045import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 046/** 047 * A manifest of a set of DICOM Service-Object Pair Instances (SOP Instances). The referenced SOP Instances (images or other content) are for a single patient, and may be from one or more studies. The referenced SOP Instances have been selected for a purpose, such as quality assurance, conference, or consult. Reflecting that range of purposes, typical ImagingObjectSelection resources may include all SOP Instances in a study (perhaps for sharing through a Health Information Exchange); key images from multiple studies (for reference by a referring or treating physician); a multi-frame ultrasound instance ("cine" video clip) and a set of measurements taken from that instance (for inclusion in a teaching file); and so on. 048 */ 049@ResourceDef(name="ImagingObjectSelection", profile="http://hl7.org/fhir/Profile/ImagingObjectSelection") 050public class ImagingObjectSelection extends DomainResource { 051 052 @Block() 053 public static class StudyComponent extends BackboneElement implements IBaseBackboneElement { 054 /** 055 * Study instance UID of the SOP instances in the selection. 056 */ 057 @Child(name = "uid", type = {OidType.class}, order=1, min=1, max=1, modifier=false, summary=true) 058 @Description(shortDefinition="Study instance UID", formalDefinition="Study instance UID of the SOP instances in the selection." ) 059 protected OidType uid; 060 061 /** 062 * WADO-RS URL to retrieve the study. Note that this URL retrieves all SOP instances of the study, not only those in the selection. 063 */ 064 @Child(name = "url", type = {UriType.class}, order=2, min=0, max=1, modifier=false, summary=true) 065 @Description(shortDefinition="Retrieve study URL", formalDefinition="WADO-RS URL to retrieve the study. Note that this URL retrieves all SOP instances of the study, not only those in the selection." ) 066 protected UriType url; 067 068 /** 069 * Reference to the Imaging Study in FHIR form. 070 */ 071 @Child(name = "imagingStudy", type = {ImagingStudy.class}, order=3, min=0, max=1, modifier=false, summary=true) 072 @Description(shortDefinition="Reference to ImagingStudy", formalDefinition="Reference to the Imaging Study in FHIR form." ) 073 protected Reference imagingStudy; 074 075 /** 076 * The actual object that is the target of the reference (Reference to the Imaging Study in FHIR form.) 077 */ 078 protected ImagingStudy imagingStudyTarget; 079 080 /** 081 * Series identity and locating information of the DICOM SOP instances in the selection. 082 */ 083 @Child(name = "series", type = {}, order=4, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 084 @Description(shortDefinition="Series identity of the selected instances", formalDefinition="Series identity and locating information of the DICOM SOP instances in the selection." ) 085 protected List<SeriesComponent> series; 086 087 private static final long serialVersionUID = 341246743L; 088 089 /** 090 * Constructor 091 */ 092 public StudyComponent() { 093 super(); 094 } 095 096 /** 097 * Constructor 098 */ 099 public StudyComponent(OidType uid) { 100 super(); 101 this.uid = uid; 102 } 103 104 /** 105 * @return {@link #uid} (Study instance UID of the SOP instances in the selection.). This is the underlying object with id, value and extensions. The accessor "getUid" gives direct access to the value 106 */ 107 public OidType getUidElement() { 108 if (this.uid == null) 109 if (Configuration.errorOnAutoCreate()) 110 throw new Error("Attempt to auto-create StudyComponent.uid"); 111 else if (Configuration.doAutoCreate()) 112 this.uid = new OidType(); // bb 113 return this.uid; 114 } 115 116 public boolean hasUidElement() { 117 return this.uid != null && !this.uid.isEmpty(); 118 } 119 120 public boolean hasUid() { 121 return this.uid != null && !this.uid.isEmpty(); 122 } 123 124 /** 125 * @param value {@link #uid} (Study instance UID of the SOP instances in the selection.). This is the underlying object with id, value and extensions. The accessor "getUid" gives direct access to the value 126 */ 127 public StudyComponent setUidElement(OidType value) { 128 this.uid = value; 129 return this; 130 } 131 132 /** 133 * @return Study instance UID of the SOP instances in the selection. 134 */ 135 public String getUid() { 136 return this.uid == null ? null : this.uid.getValue(); 137 } 138 139 /** 140 * @param value Study instance UID of the SOP instances in the selection. 141 */ 142 public StudyComponent setUid(String value) { 143 if (this.uid == null) 144 this.uid = new OidType(); 145 this.uid.setValue(value); 146 return this; 147 } 148 149 /** 150 * @return {@link #url} (WADO-RS URL to retrieve the study. Note that this URL retrieves all SOP instances of the study, not only those in the selection.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 151 */ 152 public UriType getUrlElement() { 153 if (this.url == null) 154 if (Configuration.errorOnAutoCreate()) 155 throw new Error("Attempt to auto-create StudyComponent.url"); 156 else if (Configuration.doAutoCreate()) 157 this.url = new UriType(); // bb 158 return this.url; 159 } 160 161 public boolean hasUrlElement() { 162 return this.url != null && !this.url.isEmpty(); 163 } 164 165 public boolean hasUrl() { 166 return this.url != null && !this.url.isEmpty(); 167 } 168 169 /** 170 * @param value {@link #url} (WADO-RS URL to retrieve the study. Note that this URL retrieves all SOP instances of the study, not only those in the selection.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 171 */ 172 public StudyComponent setUrlElement(UriType value) { 173 this.url = value; 174 return this; 175 } 176 177 /** 178 * @return WADO-RS URL to retrieve the study. Note that this URL retrieves all SOP instances of the study, not only those in the selection. 179 */ 180 public String getUrl() { 181 return this.url == null ? null : this.url.getValue(); 182 } 183 184 /** 185 * @param value WADO-RS URL to retrieve the study. Note that this URL retrieves all SOP instances of the study, not only those in the selection. 186 */ 187 public StudyComponent setUrl(String value) { 188 if (Utilities.noString(value)) 189 this.url = null; 190 else { 191 if (this.url == null) 192 this.url = new UriType(); 193 this.url.setValue(value); 194 } 195 return this; 196 } 197 198 /** 199 * @return {@link #imagingStudy} (Reference to the Imaging Study in FHIR form.) 200 */ 201 public Reference getImagingStudy() { 202 if (this.imagingStudy == null) 203 if (Configuration.errorOnAutoCreate()) 204 throw new Error("Attempt to auto-create StudyComponent.imagingStudy"); 205 else if (Configuration.doAutoCreate()) 206 this.imagingStudy = new Reference(); // cc 207 return this.imagingStudy; 208 } 209 210 public boolean hasImagingStudy() { 211 return this.imagingStudy != null && !this.imagingStudy.isEmpty(); 212 } 213 214 /** 215 * @param value {@link #imagingStudy} (Reference to the Imaging Study in FHIR form.) 216 */ 217 public StudyComponent setImagingStudy(Reference value) { 218 this.imagingStudy = value; 219 return this; 220 } 221 222 /** 223 * @return {@link #imagingStudy} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Reference to the Imaging Study in FHIR form.) 224 */ 225 public ImagingStudy getImagingStudyTarget() { 226 if (this.imagingStudyTarget == null) 227 if (Configuration.errorOnAutoCreate()) 228 throw new Error("Attempt to auto-create StudyComponent.imagingStudy"); 229 else if (Configuration.doAutoCreate()) 230 this.imagingStudyTarget = new ImagingStudy(); // aa 231 return this.imagingStudyTarget; 232 } 233 234 /** 235 * @param value {@link #imagingStudy} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Reference to the Imaging Study in FHIR form.) 236 */ 237 public StudyComponent setImagingStudyTarget(ImagingStudy value) { 238 this.imagingStudyTarget = value; 239 return this; 240 } 241 242 /** 243 * @return {@link #series} (Series identity and locating information of the DICOM SOP instances in the selection.) 244 */ 245 public List<SeriesComponent> getSeries() { 246 if (this.series == null) 247 this.series = new ArrayList<SeriesComponent>(); 248 return this.series; 249 } 250 251 public boolean hasSeries() { 252 if (this.series == null) 253 return false; 254 for (SeriesComponent item : this.series) 255 if (!item.isEmpty()) 256 return true; 257 return false; 258 } 259 260 /** 261 * @return {@link #series} (Series identity and locating information of the DICOM SOP instances in the selection.) 262 */ 263 // syntactic sugar 264 public SeriesComponent addSeries() { //3 265 SeriesComponent t = new SeriesComponent(); 266 if (this.series == null) 267 this.series = new ArrayList<SeriesComponent>(); 268 this.series.add(t); 269 return t; 270 } 271 272 // syntactic sugar 273 public StudyComponent addSeries(SeriesComponent t) { //3 274 if (t == null) 275 return this; 276 if (this.series == null) 277 this.series = new ArrayList<SeriesComponent>(); 278 this.series.add(t); 279 return this; 280 } 281 282 protected void listChildren(List<Property> childrenList) { 283 super.listChildren(childrenList); 284 childrenList.add(new Property("uid", "oid", "Study instance UID of the SOP instances in the selection.", 0, java.lang.Integer.MAX_VALUE, uid)); 285 childrenList.add(new Property("url", "uri", "WADO-RS URL to retrieve the study. Note that this URL retrieves all SOP instances of the study, not only those in the selection.", 0, java.lang.Integer.MAX_VALUE, url)); 286 childrenList.add(new Property("imagingStudy", "Reference(ImagingStudy)", "Reference to the Imaging Study in FHIR form.", 0, java.lang.Integer.MAX_VALUE, imagingStudy)); 287 childrenList.add(new Property("series", "", "Series identity and locating information of the DICOM SOP instances in the selection.", 0, java.lang.Integer.MAX_VALUE, series)); 288 } 289 290 @Override 291 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 292 switch (hash) { 293 case 115792: /*uid*/ return this.uid == null ? new Base[0] : new Base[] {this.uid}; // OidType 294 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 295 case -814900911: /*imagingStudy*/ return this.imagingStudy == null ? new Base[0] : new Base[] {this.imagingStudy}; // Reference 296 case -905838985: /*series*/ return this.series == null ? new Base[0] : this.series.toArray(new Base[this.series.size()]); // SeriesComponent 297 default: return super.getProperty(hash, name, checkValid); 298 } 299 300 } 301 302 @Override 303 public void setProperty(int hash, String name, Base value) throws FHIRException { 304 switch (hash) { 305 case 115792: // uid 306 this.uid = castToOid(value); // OidType 307 break; 308 case 116079: // url 309 this.url = castToUri(value); // UriType 310 break; 311 case -814900911: // imagingStudy 312 this.imagingStudy = castToReference(value); // Reference 313 break; 314 case -905838985: // series 315 this.getSeries().add((SeriesComponent) value); // SeriesComponent 316 break; 317 default: super.setProperty(hash, name, value); 318 } 319 320 } 321 322 @Override 323 public void setProperty(String name, Base value) throws FHIRException { 324 if (name.equals("uid")) 325 this.uid = castToOid(value); // OidType 326 else if (name.equals("url")) 327 this.url = castToUri(value); // UriType 328 else if (name.equals("imagingStudy")) 329 this.imagingStudy = castToReference(value); // Reference 330 else if (name.equals("series")) 331 this.getSeries().add((SeriesComponent) value); 332 else 333 super.setProperty(name, value); 334 } 335 336 @Override 337 public Base makeProperty(int hash, String name) throws FHIRException { 338 switch (hash) { 339 case 115792: throw new FHIRException("Cannot make property uid as it is not a complex type"); // OidType 340 case 116079: throw new FHIRException("Cannot make property url as it is not a complex type"); // UriType 341 case -814900911: return getImagingStudy(); // Reference 342 case -905838985: return addSeries(); // SeriesComponent 343 default: return super.makeProperty(hash, name); 344 } 345 346 } 347 348 @Override 349 public Base addChild(String name) throws FHIRException { 350 if (name.equals("uid")) { 351 throw new FHIRException("Cannot call addChild on a primitive type ImagingObjectSelection.uid"); 352 } 353 else if (name.equals("url")) { 354 throw new FHIRException("Cannot call addChild on a primitive type ImagingObjectSelection.url"); 355 } 356 else if (name.equals("imagingStudy")) { 357 this.imagingStudy = new Reference(); 358 return this.imagingStudy; 359 } 360 else if (name.equals("series")) { 361 return addSeries(); 362 } 363 else 364 return super.addChild(name); 365 } 366 367 public StudyComponent copy() { 368 StudyComponent dst = new StudyComponent(); 369 copyValues(dst); 370 dst.uid = uid == null ? null : uid.copy(); 371 dst.url = url == null ? null : url.copy(); 372 dst.imagingStudy = imagingStudy == null ? null : imagingStudy.copy(); 373 if (series != null) { 374 dst.series = new ArrayList<SeriesComponent>(); 375 for (SeriesComponent i : series) 376 dst.series.add(i.copy()); 377 }; 378 return dst; 379 } 380 381 @Override 382 public boolean equalsDeep(Base other) { 383 if (!super.equalsDeep(other)) 384 return false; 385 if (!(other instanceof StudyComponent)) 386 return false; 387 StudyComponent o = (StudyComponent) other; 388 return compareDeep(uid, o.uid, true) && compareDeep(url, o.url, true) && compareDeep(imagingStudy, o.imagingStudy, true) 389 && compareDeep(series, o.series, true); 390 } 391 392 @Override 393 public boolean equalsShallow(Base other) { 394 if (!super.equalsShallow(other)) 395 return false; 396 if (!(other instanceof StudyComponent)) 397 return false; 398 StudyComponent o = (StudyComponent) other; 399 return compareValues(uid, o.uid, true) && compareValues(url, o.url, true); 400 } 401 402 public boolean isEmpty() { 403 return super.isEmpty() && (uid == null || uid.isEmpty()) && (url == null || url.isEmpty()) && (imagingStudy == null || imagingStudy.isEmpty()) 404 && (series == null || series.isEmpty()); 405 } 406 407 public String fhirType() { 408 return "ImagingObjectSelection.study"; 409 410 } 411 412 } 413 414 @Block() 415 public static class SeriesComponent extends BackboneElement implements IBaseBackboneElement { 416 /** 417 * Series instance UID of the SOP instances in the selection. 418 */ 419 @Child(name = "uid", type = {OidType.class}, order=1, min=1, max=1, modifier=false, summary=true) 420 @Description(shortDefinition="Series instance UID", formalDefinition="Series instance UID of the SOP instances in the selection." ) 421 protected OidType uid; 422 423 /** 424 * WADO-RS URL to retrieve the series. Note that this URL retrieves all SOP instances of the series not only those in the selection. 425 */ 426 @Child(name = "url", type = {UriType.class}, order=2, min=0, max=1, modifier=false, summary=true) 427 @Description(shortDefinition="Retrieve series URL", formalDefinition="WADO-RS URL to retrieve the series. Note that this URL retrieves all SOP instances of the series not only those in the selection." ) 428 protected UriType url; 429 430 /** 431 * Identity and locating information of the selected DICOM SOP instances. 432 */ 433 @Child(name = "instance", type = {}, order=3, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 434 @Description(shortDefinition="The selected instance", formalDefinition="Identity and locating information of the selected DICOM SOP instances." ) 435 protected List<InstanceComponent> instance; 436 437 private static final long serialVersionUID = 229247770L; 438 439 /** 440 * Constructor 441 */ 442 public SeriesComponent() { 443 super(); 444 } 445 446 /** 447 * Constructor 448 */ 449 public SeriesComponent(OidType uid) { 450 super(); 451 this.uid = uid; 452 } 453 454 /** 455 * @return {@link #uid} (Series instance UID of the SOP instances in the selection.). This is the underlying object with id, value and extensions. The accessor "getUid" gives direct access to the value 456 */ 457 public OidType getUidElement() { 458 if (this.uid == null) 459 if (Configuration.errorOnAutoCreate()) 460 throw new Error("Attempt to auto-create SeriesComponent.uid"); 461 else if (Configuration.doAutoCreate()) 462 this.uid = new OidType(); // bb 463 return this.uid; 464 } 465 466 public boolean hasUidElement() { 467 return this.uid != null && !this.uid.isEmpty(); 468 } 469 470 public boolean hasUid() { 471 return this.uid != null && !this.uid.isEmpty(); 472 } 473 474 /** 475 * @param value {@link #uid} (Series instance UID of the SOP instances in the selection.). This is the underlying object with id, value and extensions. The accessor "getUid" gives direct access to the value 476 */ 477 public SeriesComponent setUidElement(OidType value) { 478 this.uid = value; 479 return this; 480 } 481 482 /** 483 * @return Series instance UID of the SOP instances in the selection. 484 */ 485 public String getUid() { 486 return this.uid == null ? null : this.uid.getValue(); 487 } 488 489 /** 490 * @param value Series instance UID of the SOP instances in the selection. 491 */ 492 public SeriesComponent setUid(String value) { 493 if (this.uid == null) 494 this.uid = new OidType(); 495 this.uid.setValue(value); 496 return this; 497 } 498 499 /** 500 * @return {@link #url} (WADO-RS URL to retrieve the series. Note that this URL retrieves all SOP instances of the series not only those in the selection.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 501 */ 502 public UriType getUrlElement() { 503 if (this.url == null) 504 if (Configuration.errorOnAutoCreate()) 505 throw new Error("Attempt to auto-create SeriesComponent.url"); 506 else if (Configuration.doAutoCreate()) 507 this.url = new UriType(); // bb 508 return this.url; 509 } 510 511 public boolean hasUrlElement() { 512 return this.url != null && !this.url.isEmpty(); 513 } 514 515 public boolean hasUrl() { 516 return this.url != null && !this.url.isEmpty(); 517 } 518 519 /** 520 * @param value {@link #url} (WADO-RS URL to retrieve the series. Note that this URL retrieves all SOP instances of the series not only those in the selection.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 521 */ 522 public SeriesComponent setUrlElement(UriType value) { 523 this.url = value; 524 return this; 525 } 526 527 /** 528 * @return WADO-RS URL to retrieve the series. Note that this URL retrieves all SOP instances of the series not only those in the selection. 529 */ 530 public String getUrl() { 531 return this.url == null ? null : this.url.getValue(); 532 } 533 534 /** 535 * @param value WADO-RS URL to retrieve the series. Note that this URL retrieves all SOP instances of the series not only those in the selection. 536 */ 537 public SeriesComponent setUrl(String value) { 538 if (Utilities.noString(value)) 539 this.url = null; 540 else { 541 if (this.url == null) 542 this.url = new UriType(); 543 this.url.setValue(value); 544 } 545 return this; 546 } 547 548 /** 549 * @return {@link #instance} (Identity and locating information of the selected DICOM SOP instances.) 550 */ 551 public List<InstanceComponent> getInstance() { 552 if (this.instance == null) 553 this.instance = new ArrayList<InstanceComponent>(); 554 return this.instance; 555 } 556 557 public boolean hasInstance() { 558 if (this.instance == null) 559 return false; 560 for (InstanceComponent item : this.instance) 561 if (!item.isEmpty()) 562 return true; 563 return false; 564 } 565 566 /** 567 * @return {@link #instance} (Identity and locating information of the selected DICOM SOP instances.) 568 */ 569 // syntactic sugar 570 public InstanceComponent addInstance() { //3 571 InstanceComponent t = new InstanceComponent(); 572 if (this.instance == null) 573 this.instance = new ArrayList<InstanceComponent>(); 574 this.instance.add(t); 575 return t; 576 } 577 578 // syntactic sugar 579 public SeriesComponent addInstance(InstanceComponent t) { //3 580 if (t == null) 581 return this; 582 if (this.instance == null) 583 this.instance = new ArrayList<InstanceComponent>(); 584 this.instance.add(t); 585 return this; 586 } 587 588 protected void listChildren(List<Property> childrenList) { 589 super.listChildren(childrenList); 590 childrenList.add(new Property("uid", "oid", "Series instance UID of the SOP instances in the selection.", 0, java.lang.Integer.MAX_VALUE, uid)); 591 childrenList.add(new Property("url", "uri", "WADO-RS URL to retrieve the series. Note that this URL retrieves all SOP instances of the series not only those in the selection.", 0, java.lang.Integer.MAX_VALUE, url)); 592 childrenList.add(new Property("instance", "", "Identity and locating information of the selected DICOM SOP instances.", 0, java.lang.Integer.MAX_VALUE, instance)); 593 } 594 595 @Override 596 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 597 switch (hash) { 598 case 115792: /*uid*/ return this.uid == null ? new Base[0] : new Base[] {this.uid}; // OidType 599 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 600 case 555127957: /*instance*/ return this.instance == null ? new Base[0] : this.instance.toArray(new Base[this.instance.size()]); // InstanceComponent 601 default: return super.getProperty(hash, name, checkValid); 602 } 603 604 } 605 606 @Override 607 public void setProperty(int hash, String name, Base value) throws FHIRException { 608 switch (hash) { 609 case 115792: // uid 610 this.uid = castToOid(value); // OidType 611 break; 612 case 116079: // url 613 this.url = castToUri(value); // UriType 614 break; 615 case 555127957: // instance 616 this.getInstance().add((InstanceComponent) value); // InstanceComponent 617 break; 618 default: super.setProperty(hash, name, value); 619 } 620 621 } 622 623 @Override 624 public void setProperty(String name, Base value) throws FHIRException { 625 if (name.equals("uid")) 626 this.uid = castToOid(value); // OidType 627 else if (name.equals("url")) 628 this.url = castToUri(value); // UriType 629 else if (name.equals("instance")) 630 this.getInstance().add((InstanceComponent) value); 631 else 632 super.setProperty(name, value); 633 } 634 635 @Override 636 public Base makeProperty(int hash, String name) throws FHIRException { 637 switch (hash) { 638 case 115792: throw new FHIRException("Cannot make property uid as it is not a complex type"); // OidType 639 case 116079: throw new FHIRException("Cannot make property url as it is not a complex type"); // UriType 640 case 555127957: return addInstance(); // InstanceComponent 641 default: return super.makeProperty(hash, name); 642 } 643 644 } 645 646 @Override 647 public Base addChild(String name) throws FHIRException { 648 if (name.equals("uid")) { 649 throw new FHIRException("Cannot call addChild on a primitive type ImagingObjectSelection.uid"); 650 } 651 else if (name.equals("url")) { 652 throw new FHIRException("Cannot call addChild on a primitive type ImagingObjectSelection.url"); 653 } 654 else if (name.equals("instance")) { 655 return addInstance(); 656 } 657 else 658 return super.addChild(name); 659 } 660 661 public SeriesComponent copy() { 662 SeriesComponent dst = new SeriesComponent(); 663 copyValues(dst); 664 dst.uid = uid == null ? null : uid.copy(); 665 dst.url = url == null ? null : url.copy(); 666 if (instance != null) { 667 dst.instance = new ArrayList<InstanceComponent>(); 668 for (InstanceComponent i : instance) 669 dst.instance.add(i.copy()); 670 }; 671 return dst; 672 } 673 674 @Override 675 public boolean equalsDeep(Base other) { 676 if (!super.equalsDeep(other)) 677 return false; 678 if (!(other instanceof SeriesComponent)) 679 return false; 680 SeriesComponent o = (SeriesComponent) other; 681 return compareDeep(uid, o.uid, true) && compareDeep(url, o.url, true) && compareDeep(instance, o.instance, true) 682 ; 683 } 684 685 @Override 686 public boolean equalsShallow(Base other) { 687 if (!super.equalsShallow(other)) 688 return false; 689 if (!(other instanceof SeriesComponent)) 690 return false; 691 SeriesComponent o = (SeriesComponent) other; 692 return compareValues(uid, o.uid, true) && compareValues(url, o.url, true); 693 } 694 695 public boolean isEmpty() { 696 return super.isEmpty() && (uid == null || uid.isEmpty()) && (url == null || url.isEmpty()) && (instance == null || instance.isEmpty()) 697 ; 698 } 699 700 public String fhirType() { 701 return "ImagingObjectSelection.study.series"; 702 703 } 704 705 } 706 707 @Block() 708 public static class InstanceComponent extends BackboneElement implements IBaseBackboneElement { 709 /** 710 * SOP class UID of the selected instance. 711 */ 712 @Child(name = "sopClass", type = {OidType.class}, order=1, min=1, max=1, modifier=false, summary=true) 713 @Description(shortDefinition="SOP class UID of instance", formalDefinition="SOP class UID of the selected instance." ) 714 protected OidType sopClass; 715 716 /** 717 * SOP Instance UID of the selected instance. 718 */ 719 @Child(name = "uid", type = {OidType.class}, order=2, min=1, max=1, modifier=false, summary=true) 720 @Description(shortDefinition="Selected instance UID", formalDefinition="SOP Instance UID of the selected instance." ) 721 protected OidType uid; 722 723 /** 724 * WADO-RS URL to retrieve the DICOM SOP Instance. 725 */ 726 @Child(name = "url", type = {UriType.class}, order=3, min=1, max=1, modifier=false, summary=true) 727 @Description(shortDefinition="Retrieve instance URL", formalDefinition="WADO-RS URL to retrieve the DICOM SOP Instance." ) 728 protected UriType url; 729 730 /** 731 * Identity and location information of the frames in the selected instance. 732 */ 733 @Child(name = "frame", type = {}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 734 @Description(shortDefinition="The frame set", formalDefinition="Identity and location information of the frames in the selected instance." ) 735 protected List<FramesComponent> frame; 736 737 private static final long serialVersionUID = -1609681911L; 738 739 /** 740 * Constructor 741 */ 742 public InstanceComponent() { 743 super(); 744 } 745 746 /** 747 * Constructor 748 */ 749 public InstanceComponent(OidType sopClass, OidType uid, UriType url) { 750 super(); 751 this.sopClass = sopClass; 752 this.uid = uid; 753 this.url = url; 754 } 755 756 /** 757 * @return {@link #sopClass} (SOP class UID of the selected instance.). This is the underlying object with id, value and extensions. The accessor "getSopClass" gives direct access to the value 758 */ 759 public OidType getSopClassElement() { 760 if (this.sopClass == null) 761 if (Configuration.errorOnAutoCreate()) 762 throw new Error("Attempt to auto-create InstanceComponent.sopClass"); 763 else if (Configuration.doAutoCreate()) 764 this.sopClass = new OidType(); // bb 765 return this.sopClass; 766 } 767 768 public boolean hasSopClassElement() { 769 return this.sopClass != null && !this.sopClass.isEmpty(); 770 } 771 772 public boolean hasSopClass() { 773 return this.sopClass != null && !this.sopClass.isEmpty(); 774 } 775 776 /** 777 * @param value {@link #sopClass} (SOP class UID of the selected instance.). This is the underlying object with id, value and extensions. The accessor "getSopClass" gives direct access to the value 778 */ 779 public InstanceComponent setSopClassElement(OidType value) { 780 this.sopClass = value; 781 return this; 782 } 783 784 /** 785 * @return SOP class UID of the selected instance. 786 */ 787 public String getSopClass() { 788 return this.sopClass == null ? null : this.sopClass.getValue(); 789 } 790 791 /** 792 * @param value SOP class UID of the selected instance. 793 */ 794 public InstanceComponent setSopClass(String value) { 795 if (this.sopClass == null) 796 this.sopClass = new OidType(); 797 this.sopClass.setValue(value); 798 return this; 799 } 800 801 /** 802 * @return {@link #uid} (SOP Instance UID of the selected instance.). This is the underlying object with id, value and extensions. The accessor "getUid" gives direct access to the value 803 */ 804 public OidType getUidElement() { 805 if (this.uid == null) 806 if (Configuration.errorOnAutoCreate()) 807 throw new Error("Attempt to auto-create InstanceComponent.uid"); 808 else if (Configuration.doAutoCreate()) 809 this.uid = new OidType(); // bb 810 return this.uid; 811 } 812 813 public boolean hasUidElement() { 814 return this.uid != null && !this.uid.isEmpty(); 815 } 816 817 public boolean hasUid() { 818 return this.uid != null && !this.uid.isEmpty(); 819 } 820 821 /** 822 * @param value {@link #uid} (SOP Instance UID of the selected instance.). This is the underlying object with id, value and extensions. The accessor "getUid" gives direct access to the value 823 */ 824 public InstanceComponent setUidElement(OidType value) { 825 this.uid = value; 826 return this; 827 } 828 829 /** 830 * @return SOP Instance UID of the selected instance. 831 */ 832 public String getUid() { 833 return this.uid == null ? null : this.uid.getValue(); 834 } 835 836 /** 837 * @param value SOP Instance UID of the selected instance. 838 */ 839 public InstanceComponent setUid(String value) { 840 if (this.uid == null) 841 this.uid = new OidType(); 842 this.uid.setValue(value); 843 return this; 844 } 845 846 /** 847 * @return {@link #url} (WADO-RS URL to retrieve the DICOM SOP Instance.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 848 */ 849 public UriType getUrlElement() { 850 if (this.url == null) 851 if (Configuration.errorOnAutoCreate()) 852 throw new Error("Attempt to auto-create InstanceComponent.url"); 853 else if (Configuration.doAutoCreate()) 854 this.url = new UriType(); // bb 855 return this.url; 856 } 857 858 public boolean hasUrlElement() { 859 return this.url != null && !this.url.isEmpty(); 860 } 861 862 public boolean hasUrl() { 863 return this.url != null && !this.url.isEmpty(); 864 } 865 866 /** 867 * @param value {@link #url} (WADO-RS URL to retrieve the DICOM SOP Instance.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 868 */ 869 public InstanceComponent setUrlElement(UriType value) { 870 this.url = value; 871 return this; 872 } 873 874 /** 875 * @return WADO-RS URL to retrieve the DICOM SOP Instance. 876 */ 877 public String getUrl() { 878 return this.url == null ? null : this.url.getValue(); 879 } 880 881 /** 882 * @param value WADO-RS URL to retrieve the DICOM SOP Instance. 883 */ 884 public InstanceComponent setUrl(String value) { 885 if (this.url == null) 886 this.url = new UriType(); 887 this.url.setValue(value); 888 return this; 889 } 890 891 /** 892 * @return {@link #frame} (Identity and location information of the frames in the selected instance.) 893 */ 894 public List<FramesComponent> getFrame() { 895 if (this.frame == null) 896 this.frame = new ArrayList<FramesComponent>(); 897 return this.frame; 898 } 899 900 public boolean hasFrame() { 901 if (this.frame == null) 902 return false; 903 for (FramesComponent item : this.frame) 904 if (!item.isEmpty()) 905 return true; 906 return false; 907 } 908 909 /** 910 * @return {@link #frame} (Identity and location information of the frames in the selected instance.) 911 */ 912 // syntactic sugar 913 public FramesComponent addFrame() { //3 914 FramesComponent t = new FramesComponent(); 915 if (this.frame == null) 916 this.frame = new ArrayList<FramesComponent>(); 917 this.frame.add(t); 918 return t; 919 } 920 921 // syntactic sugar 922 public InstanceComponent addFrame(FramesComponent t) { //3 923 if (t == null) 924 return this; 925 if (this.frame == null) 926 this.frame = new ArrayList<FramesComponent>(); 927 this.frame.add(t); 928 return this; 929 } 930 931 protected void listChildren(List<Property> childrenList) { 932 super.listChildren(childrenList); 933 childrenList.add(new Property("sopClass", "oid", "SOP class UID of the selected instance.", 0, java.lang.Integer.MAX_VALUE, sopClass)); 934 childrenList.add(new Property("uid", "oid", "SOP Instance UID of the selected instance.", 0, java.lang.Integer.MAX_VALUE, uid)); 935 childrenList.add(new Property("url", "uri", "WADO-RS URL to retrieve the DICOM SOP Instance.", 0, java.lang.Integer.MAX_VALUE, url)); 936 childrenList.add(new Property("frame", "", "Identity and location information of the frames in the selected instance.", 0, java.lang.Integer.MAX_VALUE, frame)); 937 } 938 939 @Override 940 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 941 switch (hash) { 942 case 1560041540: /*sopClass*/ return this.sopClass == null ? new Base[0] : new Base[] {this.sopClass}; // OidType 943 case 115792: /*uid*/ return this.uid == null ? new Base[0] : new Base[] {this.uid}; // OidType 944 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 945 case 97692013: /*frame*/ return this.frame == null ? new Base[0] : this.frame.toArray(new Base[this.frame.size()]); // FramesComponent 946 default: return super.getProperty(hash, name, checkValid); 947 } 948 949 } 950 951 @Override 952 public void setProperty(int hash, String name, Base value) throws FHIRException { 953 switch (hash) { 954 case 1560041540: // sopClass 955 this.sopClass = castToOid(value); // OidType 956 break; 957 case 115792: // uid 958 this.uid = castToOid(value); // OidType 959 break; 960 case 116079: // url 961 this.url = castToUri(value); // UriType 962 break; 963 case 97692013: // frame 964 this.getFrame().add((FramesComponent) value); // FramesComponent 965 break; 966 default: super.setProperty(hash, name, value); 967 } 968 969 } 970 971 @Override 972 public void setProperty(String name, Base value) throws FHIRException { 973 if (name.equals("sopClass")) 974 this.sopClass = castToOid(value); // OidType 975 else if (name.equals("uid")) 976 this.uid = castToOid(value); // OidType 977 else if (name.equals("url")) 978 this.url = castToUri(value); // UriType 979 else if (name.equals("frame")) 980 this.getFrame().add((FramesComponent) value); 981 else 982 super.setProperty(name, value); 983 } 984 985 @Override 986 public Base makeProperty(int hash, String name) throws FHIRException { 987 switch (hash) { 988 case 1560041540: throw new FHIRException("Cannot make property sopClass as it is not a complex type"); // OidType 989 case 115792: throw new FHIRException("Cannot make property uid as it is not a complex type"); // OidType 990 case 116079: throw new FHIRException("Cannot make property url as it is not a complex type"); // UriType 991 case 97692013: return addFrame(); // FramesComponent 992 default: return super.makeProperty(hash, name); 993 } 994 995 } 996 997 @Override 998 public Base addChild(String name) throws FHIRException { 999 if (name.equals("sopClass")) { 1000 throw new FHIRException("Cannot call addChild on a primitive type ImagingObjectSelection.sopClass"); 1001 } 1002 else if (name.equals("uid")) { 1003 throw new FHIRException("Cannot call addChild on a primitive type ImagingObjectSelection.uid"); 1004 } 1005 else if (name.equals("url")) { 1006 throw new FHIRException("Cannot call addChild on a primitive type ImagingObjectSelection.url"); 1007 } 1008 else if (name.equals("frame")) { 1009 return addFrame(); 1010 } 1011 else 1012 return super.addChild(name); 1013 } 1014 1015 public InstanceComponent copy() { 1016 InstanceComponent dst = new InstanceComponent(); 1017 copyValues(dst); 1018 dst.sopClass = sopClass == null ? null : sopClass.copy(); 1019 dst.uid = uid == null ? null : uid.copy(); 1020 dst.url = url == null ? null : url.copy(); 1021 if (frame != null) { 1022 dst.frame = new ArrayList<FramesComponent>(); 1023 for (FramesComponent i : frame) 1024 dst.frame.add(i.copy()); 1025 }; 1026 return dst; 1027 } 1028 1029 @Override 1030 public boolean equalsDeep(Base other) { 1031 if (!super.equalsDeep(other)) 1032 return false; 1033 if (!(other instanceof InstanceComponent)) 1034 return false; 1035 InstanceComponent o = (InstanceComponent) other; 1036 return compareDeep(sopClass, o.sopClass, true) && compareDeep(uid, o.uid, true) && compareDeep(url, o.url, true) 1037 && compareDeep(frame, o.frame, true); 1038 } 1039 1040 @Override 1041 public boolean equalsShallow(Base other) { 1042 if (!super.equalsShallow(other)) 1043 return false; 1044 if (!(other instanceof InstanceComponent)) 1045 return false; 1046 InstanceComponent o = (InstanceComponent) other; 1047 return compareValues(sopClass, o.sopClass, true) && compareValues(uid, o.uid, true) && compareValues(url, o.url, true) 1048 ; 1049 } 1050 1051 public boolean isEmpty() { 1052 return super.isEmpty() && (sopClass == null || sopClass.isEmpty()) && (uid == null || uid.isEmpty()) 1053 && (url == null || url.isEmpty()) && (frame == null || frame.isEmpty()); 1054 } 1055 1056 public String fhirType() { 1057 return "ImagingObjectSelection.study.series.instance"; 1058 1059 } 1060 1061 } 1062 1063 @Block() 1064 public static class FramesComponent extends BackboneElement implements IBaseBackboneElement { 1065 /** 1066 * The specific frame reference within a multi-frame object. 1067 */ 1068 @Child(name = "number", type = {UnsignedIntType.class}, order=1, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1069 @Description(shortDefinition="Frame reference number", formalDefinition="The specific frame reference within a multi-frame object." ) 1070 protected List<UnsignedIntType> number; 1071 1072 /** 1073 * WADO-RS URL to retrieve the DICOM frames. 1074 */ 1075 @Child(name = "url", type = {UriType.class}, order=2, min=1, max=1, modifier=false, summary=true) 1076 @Description(shortDefinition="Retrieve frame URL", formalDefinition="WADO-RS URL to retrieve the DICOM frames." ) 1077 protected UriType url; 1078 1079 private static final long serialVersionUID = 236505178L; 1080 1081 /** 1082 * Constructor 1083 */ 1084 public FramesComponent() { 1085 super(); 1086 } 1087 1088 /** 1089 * Constructor 1090 */ 1091 public FramesComponent(UriType url) { 1092 super(); 1093 this.url = url; 1094 } 1095 1096 /** 1097 * @return {@link #number} (The specific frame reference within a multi-frame object.) 1098 */ 1099 public List<UnsignedIntType> getNumber() { 1100 if (this.number == null) 1101 this.number = new ArrayList<UnsignedIntType>(); 1102 return this.number; 1103 } 1104 1105 public boolean hasNumber() { 1106 if (this.number == null) 1107 return false; 1108 for (UnsignedIntType item : this.number) 1109 if (!item.isEmpty()) 1110 return true; 1111 return false; 1112 } 1113 1114 /** 1115 * @return {@link #number} (The specific frame reference within a multi-frame object.) 1116 */ 1117 // syntactic sugar 1118 public UnsignedIntType addNumberElement() {//2 1119 UnsignedIntType t = new UnsignedIntType(); 1120 if (this.number == null) 1121 this.number = new ArrayList<UnsignedIntType>(); 1122 this.number.add(t); 1123 return t; 1124 } 1125 1126 /** 1127 * @param value {@link #number} (The specific frame reference within a multi-frame object.) 1128 */ 1129 public FramesComponent addNumber(int value) { //1 1130 UnsignedIntType t = new UnsignedIntType(); 1131 t.setValue(value); 1132 if (this.number == null) 1133 this.number = new ArrayList<UnsignedIntType>(); 1134 this.number.add(t); 1135 return this; 1136 } 1137 1138 /** 1139 * @param value {@link #number} (The specific frame reference within a multi-frame object.) 1140 */ 1141 public boolean hasNumber(int value) { 1142 if (this.number == null) 1143 return false; 1144 for (UnsignedIntType v : this.number) 1145 if (v.equals(value)) // unsignedInt 1146 return true; 1147 return false; 1148 } 1149 1150 /** 1151 * @return {@link #url} (WADO-RS URL to retrieve the DICOM frames.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 1152 */ 1153 public UriType getUrlElement() { 1154 if (this.url == null) 1155 if (Configuration.errorOnAutoCreate()) 1156 throw new Error("Attempt to auto-create FramesComponent.url"); 1157 else if (Configuration.doAutoCreate()) 1158 this.url = new UriType(); // bb 1159 return this.url; 1160 } 1161 1162 public boolean hasUrlElement() { 1163 return this.url != null && !this.url.isEmpty(); 1164 } 1165 1166 public boolean hasUrl() { 1167 return this.url != null && !this.url.isEmpty(); 1168 } 1169 1170 /** 1171 * @param value {@link #url} (WADO-RS URL to retrieve the DICOM frames.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 1172 */ 1173 public FramesComponent setUrlElement(UriType value) { 1174 this.url = value; 1175 return this; 1176 } 1177 1178 /** 1179 * @return WADO-RS URL to retrieve the DICOM frames. 1180 */ 1181 public String getUrl() { 1182 return this.url == null ? null : this.url.getValue(); 1183 } 1184 1185 /** 1186 * @param value WADO-RS URL to retrieve the DICOM frames. 1187 */ 1188 public FramesComponent setUrl(String value) { 1189 if (this.url == null) 1190 this.url = new UriType(); 1191 this.url.setValue(value); 1192 return this; 1193 } 1194 1195 protected void listChildren(List<Property> childrenList) { 1196 super.listChildren(childrenList); 1197 childrenList.add(new Property("number", "unsignedInt", "The specific frame reference within a multi-frame object.", 0, java.lang.Integer.MAX_VALUE, number)); 1198 childrenList.add(new Property("url", "uri", "WADO-RS URL to retrieve the DICOM frames.", 0, java.lang.Integer.MAX_VALUE, url)); 1199 } 1200 1201 @Override 1202 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1203 switch (hash) { 1204 case -1034364087: /*number*/ return this.number == null ? new Base[0] : this.number.toArray(new Base[this.number.size()]); // UnsignedIntType 1205 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 1206 default: return super.getProperty(hash, name, checkValid); 1207 } 1208 1209 } 1210 1211 @Override 1212 public void setProperty(int hash, String name, Base value) throws FHIRException { 1213 switch (hash) { 1214 case -1034364087: // number 1215 this.getNumber().add(castToUnsignedInt(value)); // UnsignedIntType 1216 break; 1217 case 116079: // url 1218 this.url = castToUri(value); // UriType 1219 break; 1220 default: super.setProperty(hash, name, value); 1221 } 1222 1223 } 1224 1225 @Override 1226 public void setProperty(String name, Base value) throws FHIRException { 1227 if (name.equals("number")) 1228 this.getNumber().add(castToUnsignedInt(value)); 1229 else if (name.equals("url")) 1230 this.url = castToUri(value); // UriType 1231 else 1232 super.setProperty(name, value); 1233 } 1234 1235 @Override 1236 public Base makeProperty(int hash, String name) throws FHIRException { 1237 switch (hash) { 1238 case -1034364087: throw new FHIRException("Cannot make property number as it is not a complex type"); // UnsignedIntType 1239 case 116079: throw new FHIRException("Cannot make property url as it is not a complex type"); // UriType 1240 default: return super.makeProperty(hash, name); 1241 } 1242 1243 } 1244 1245 @Override 1246 public Base addChild(String name) throws FHIRException { 1247 if (name.equals("number")) { 1248 throw new FHIRException("Cannot call addChild on a primitive type ImagingObjectSelection.number"); 1249 } 1250 else if (name.equals("url")) { 1251 throw new FHIRException("Cannot call addChild on a primitive type ImagingObjectSelection.url"); 1252 } 1253 else 1254 return super.addChild(name); 1255 } 1256 1257 public FramesComponent copy() { 1258 FramesComponent dst = new FramesComponent(); 1259 copyValues(dst); 1260 if (number != null) { 1261 dst.number = new ArrayList<UnsignedIntType>(); 1262 for (UnsignedIntType i : number) 1263 dst.number.add(i.copy()); 1264 }; 1265 dst.url = url == null ? null : url.copy(); 1266 return dst; 1267 } 1268 1269 @Override 1270 public boolean equalsDeep(Base other) { 1271 if (!super.equalsDeep(other)) 1272 return false; 1273 if (!(other instanceof FramesComponent)) 1274 return false; 1275 FramesComponent o = (FramesComponent) other; 1276 return compareDeep(number, o.number, true) && compareDeep(url, o.url, true); 1277 } 1278 1279 @Override 1280 public boolean equalsShallow(Base other) { 1281 if (!super.equalsShallow(other)) 1282 return false; 1283 if (!(other instanceof FramesComponent)) 1284 return false; 1285 FramesComponent o = (FramesComponent) other; 1286 return compareValues(number, o.number, true) && compareValues(url, o.url, true); 1287 } 1288 1289 public boolean isEmpty() { 1290 return super.isEmpty() && (number == null || number.isEmpty()) && (url == null || url.isEmpty()) 1291 ; 1292 } 1293 1294 public String fhirType() { 1295 return "ImagingObjectSelection.study.series.instance.frame"; 1296 1297 } 1298 1299 } 1300 1301 /** 1302 * Instance UID of the DICOM KOS SOP Instances represented in this resource. 1303 */ 1304 @Child(name = "uid", type = {OidType.class}, order=0, min=1, max=1, modifier=false, summary=true) 1305 @Description(shortDefinition="Instance UID", formalDefinition="Instance UID of the DICOM KOS SOP Instances represented in this resource." ) 1306 protected OidType uid; 1307 1308 /** 1309 * A patient resource reference which is the patient subject of all DICOM SOP Instances in this ImagingObjectSelection. 1310 */ 1311 @Child(name = "patient", type = {Patient.class}, order=1, min=1, max=1, modifier=false, summary=true) 1312 @Description(shortDefinition="Patient of the selected objects", formalDefinition="A patient resource reference which is the patient subject of all DICOM SOP Instances in this ImagingObjectSelection." ) 1313 protected Reference patient; 1314 1315 /** 1316 * The actual object that is the target of the reference (A patient resource reference which is the patient subject of all DICOM SOP Instances in this ImagingObjectSelection.) 1317 */ 1318 protected Patient patientTarget; 1319 1320 /** 1321 * Date and time when the selection of the referenced instances were made. It is (typically) different from the creation date of the selection resource, and from dates associated with the referenced instances (e.g. capture time of the referenced image). 1322 */ 1323 @Child(name = "authoringTime", type = {DateTimeType.class}, order=2, min=0, max=1, modifier=false, summary=true) 1324 @Description(shortDefinition="Time when the imaging object selection was created", formalDefinition="Date and time when the selection of the referenced instances were made. It is (typically) different from the creation date of the selection resource, and from dates associated with the referenced instances (e.g. capture time of the referenced image)." ) 1325 protected DateTimeType authoringTime; 1326 1327 /** 1328 * Author of ImagingObjectSelection. It can be a human author or a device which made the decision of the SOP instances selected. For example, a radiologist selected a set of imaging SOP instances to attach in a diagnostic report, and a CAD application may author a selection to describe SOP instances it used to generate a detection conclusion. 1329 */ 1330 @Child(name = "author", type = {Practitioner.class, Device.class, Organization.class, Patient.class, RelatedPerson.class}, order=3, min=0, max=1, modifier=false, summary=true) 1331 @Description(shortDefinition="Author (human or machine)", formalDefinition="Author of ImagingObjectSelection. It can be a human author or a device which made the decision of the SOP instances selected. For example, a radiologist selected a set of imaging SOP instances to attach in a diagnostic report, and a CAD application may author a selection to describe SOP instances it used to generate a detection conclusion." ) 1332 protected Reference author; 1333 1334 /** 1335 * The actual object that is the target of the reference (Author of ImagingObjectSelection. It can be a human author or a device which made the decision of the SOP instances selected. For example, a radiologist selected a set of imaging SOP instances to attach in a diagnostic report, and a CAD application may author a selection to describe SOP instances it used to generate a detection conclusion.) 1336 */ 1337 protected Resource authorTarget; 1338 1339 /** 1340 * The reason for, or significance of, the selection of objects referenced in the resource. 1341 */ 1342 @Child(name = "title", type = {CodeableConcept.class}, order=4, min=1, max=1, modifier=false, summary=true) 1343 @Description(shortDefinition="Reason for selection", formalDefinition="The reason for, or significance of, the selection of objects referenced in the resource." ) 1344 protected CodeableConcept title; 1345 1346 /** 1347 * Text description of the DICOM SOP instances selected in the ImagingObjectSelection. This should be aligned with the content of the title element, and can provide further explanation of the SOP instances in the selection. 1348 */ 1349 @Child(name = "description", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=true) 1350 @Description(shortDefinition="Description text", formalDefinition="Text description of the DICOM SOP instances selected in the ImagingObjectSelection. This should be aligned with the content of the title element, and can provide further explanation of the SOP instances in the selection." ) 1351 protected StringType description; 1352 1353 /** 1354 * Study identity and locating information of the DICOM SOP instances in the selection. 1355 */ 1356 @Child(name = "study", type = {}, order=6, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1357 @Description(shortDefinition="Study identity of the selected instances", formalDefinition="Study identity and locating information of the DICOM SOP instances in the selection." ) 1358 protected List<StudyComponent> study; 1359 1360 private static final long serialVersionUID = 1428713335L; 1361 1362 /** 1363 * Constructor 1364 */ 1365 public ImagingObjectSelection() { 1366 super(); 1367 } 1368 1369 /** 1370 * Constructor 1371 */ 1372 public ImagingObjectSelection(OidType uid, Reference patient, CodeableConcept title) { 1373 super(); 1374 this.uid = uid; 1375 this.patient = patient; 1376 this.title = title; 1377 } 1378 1379 /** 1380 * @return {@link #uid} (Instance UID of the DICOM KOS SOP Instances represented in this resource.). This is the underlying object with id, value and extensions. The accessor "getUid" gives direct access to the value 1381 */ 1382 public OidType getUidElement() { 1383 if (this.uid == null) 1384 if (Configuration.errorOnAutoCreate()) 1385 throw new Error("Attempt to auto-create ImagingObjectSelection.uid"); 1386 else if (Configuration.doAutoCreate()) 1387 this.uid = new OidType(); // bb 1388 return this.uid; 1389 } 1390 1391 public boolean hasUidElement() { 1392 return this.uid != null && !this.uid.isEmpty(); 1393 } 1394 1395 public boolean hasUid() { 1396 return this.uid != null && !this.uid.isEmpty(); 1397 } 1398 1399 /** 1400 * @param value {@link #uid} (Instance UID of the DICOM KOS SOP Instances represented in this resource.). This is the underlying object with id, value and extensions. The accessor "getUid" gives direct access to the value 1401 */ 1402 public ImagingObjectSelection setUidElement(OidType value) { 1403 this.uid = value; 1404 return this; 1405 } 1406 1407 /** 1408 * @return Instance UID of the DICOM KOS SOP Instances represented in this resource. 1409 */ 1410 public String getUid() { 1411 return this.uid == null ? null : this.uid.getValue(); 1412 } 1413 1414 /** 1415 * @param value Instance UID of the DICOM KOS SOP Instances represented in this resource. 1416 */ 1417 public ImagingObjectSelection setUid(String value) { 1418 if (this.uid == null) 1419 this.uid = new OidType(); 1420 this.uid.setValue(value); 1421 return this; 1422 } 1423 1424 /** 1425 * @return {@link #patient} (A patient resource reference which is the patient subject of all DICOM SOP Instances in this ImagingObjectSelection.) 1426 */ 1427 public Reference getPatient() { 1428 if (this.patient == null) 1429 if (Configuration.errorOnAutoCreate()) 1430 throw new Error("Attempt to auto-create ImagingObjectSelection.patient"); 1431 else if (Configuration.doAutoCreate()) 1432 this.patient = new Reference(); // cc 1433 return this.patient; 1434 } 1435 1436 public boolean hasPatient() { 1437 return this.patient != null && !this.patient.isEmpty(); 1438 } 1439 1440 /** 1441 * @param value {@link #patient} (A patient resource reference which is the patient subject of all DICOM SOP Instances in this ImagingObjectSelection.) 1442 */ 1443 public ImagingObjectSelection setPatient(Reference value) { 1444 this.patient = value; 1445 return this; 1446 } 1447 1448 /** 1449 * @return {@link #patient} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (A patient resource reference which is the patient subject of all DICOM SOP Instances in this ImagingObjectSelection.) 1450 */ 1451 public Patient getPatientTarget() { 1452 if (this.patientTarget == null) 1453 if (Configuration.errorOnAutoCreate()) 1454 throw new Error("Attempt to auto-create ImagingObjectSelection.patient"); 1455 else if (Configuration.doAutoCreate()) 1456 this.patientTarget = new Patient(); // aa 1457 return this.patientTarget; 1458 } 1459 1460 /** 1461 * @param value {@link #patient} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (A patient resource reference which is the patient subject of all DICOM SOP Instances in this ImagingObjectSelection.) 1462 */ 1463 public ImagingObjectSelection setPatientTarget(Patient value) { 1464 this.patientTarget = value; 1465 return this; 1466 } 1467 1468 /** 1469 * @return {@link #authoringTime} (Date and time when the selection of the referenced instances were made. It is (typically) different from the creation date of the selection resource, and from dates associated with the referenced instances (e.g. capture time of the referenced image).). This is the underlying object with id, value and extensions. The accessor "getAuthoringTime" gives direct access to the value 1470 */ 1471 public DateTimeType getAuthoringTimeElement() { 1472 if (this.authoringTime == null) 1473 if (Configuration.errorOnAutoCreate()) 1474 throw new Error("Attempt to auto-create ImagingObjectSelection.authoringTime"); 1475 else if (Configuration.doAutoCreate()) 1476 this.authoringTime = new DateTimeType(); // bb 1477 return this.authoringTime; 1478 } 1479 1480 public boolean hasAuthoringTimeElement() { 1481 return this.authoringTime != null && !this.authoringTime.isEmpty(); 1482 } 1483 1484 public boolean hasAuthoringTime() { 1485 return this.authoringTime != null && !this.authoringTime.isEmpty(); 1486 } 1487 1488 /** 1489 * @param value {@link #authoringTime} (Date and time when the selection of the referenced instances were made. It is (typically) different from the creation date of the selection resource, and from dates associated with the referenced instances (e.g. capture time of the referenced image).). This is the underlying object with id, value and extensions. The accessor "getAuthoringTime" gives direct access to the value 1490 */ 1491 public ImagingObjectSelection setAuthoringTimeElement(DateTimeType value) { 1492 this.authoringTime = value; 1493 return this; 1494 } 1495 1496 /** 1497 * @return Date and time when the selection of the referenced instances were made. It is (typically) different from the creation date of the selection resource, and from dates associated with the referenced instances (e.g. capture time of the referenced image). 1498 */ 1499 public Date getAuthoringTime() { 1500 return this.authoringTime == null ? null : this.authoringTime.getValue(); 1501 } 1502 1503 /** 1504 * @param value Date and time when the selection of the referenced instances were made. It is (typically) different from the creation date of the selection resource, and from dates associated with the referenced instances (e.g. capture time of the referenced image). 1505 */ 1506 public ImagingObjectSelection setAuthoringTime(Date value) { 1507 if (value == null) 1508 this.authoringTime = null; 1509 else { 1510 if (this.authoringTime == null) 1511 this.authoringTime = new DateTimeType(); 1512 this.authoringTime.setValue(value); 1513 } 1514 return this; 1515 } 1516 1517 /** 1518 * @return {@link #author} (Author of ImagingObjectSelection. It can be a human author or a device which made the decision of the SOP instances selected. For example, a radiologist selected a set of imaging SOP instances to attach in a diagnostic report, and a CAD application may author a selection to describe SOP instances it used to generate a detection conclusion.) 1519 */ 1520 public Reference getAuthor() { 1521 if (this.author == null) 1522 if (Configuration.errorOnAutoCreate()) 1523 throw new Error("Attempt to auto-create ImagingObjectSelection.author"); 1524 else if (Configuration.doAutoCreate()) 1525 this.author = new Reference(); // cc 1526 return this.author; 1527 } 1528 1529 public boolean hasAuthor() { 1530 return this.author != null && !this.author.isEmpty(); 1531 } 1532 1533 /** 1534 * @param value {@link #author} (Author of ImagingObjectSelection. It can be a human author or a device which made the decision of the SOP instances selected. For example, a radiologist selected a set of imaging SOP instances to attach in a diagnostic report, and a CAD application may author a selection to describe SOP instances it used to generate a detection conclusion.) 1535 */ 1536 public ImagingObjectSelection setAuthor(Reference value) { 1537 this.author = value; 1538 return this; 1539 } 1540 1541 /** 1542 * @return {@link #author} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Author of ImagingObjectSelection. It can be a human author or a device which made the decision of the SOP instances selected. For example, a radiologist selected a set of imaging SOP instances to attach in a diagnostic report, and a CAD application may author a selection to describe SOP instances it used to generate a detection conclusion.) 1543 */ 1544 public Resource getAuthorTarget() { 1545 return this.authorTarget; 1546 } 1547 1548 /** 1549 * @param value {@link #author} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Author of ImagingObjectSelection. It can be a human author or a device which made the decision of the SOP instances selected. For example, a radiologist selected a set of imaging SOP instances to attach in a diagnostic report, and a CAD application may author a selection to describe SOP instances it used to generate a detection conclusion.) 1550 */ 1551 public ImagingObjectSelection setAuthorTarget(Resource value) { 1552 this.authorTarget = value; 1553 return this; 1554 } 1555 1556 /** 1557 * @return {@link #title} (The reason for, or significance of, the selection of objects referenced in the resource.) 1558 */ 1559 public CodeableConcept getTitle() { 1560 if (this.title == null) 1561 if (Configuration.errorOnAutoCreate()) 1562 throw new Error("Attempt to auto-create ImagingObjectSelection.title"); 1563 else if (Configuration.doAutoCreate()) 1564 this.title = new CodeableConcept(); // cc 1565 return this.title; 1566 } 1567 1568 public boolean hasTitle() { 1569 return this.title != null && !this.title.isEmpty(); 1570 } 1571 1572 /** 1573 * @param value {@link #title} (The reason for, or significance of, the selection of objects referenced in the resource.) 1574 */ 1575 public ImagingObjectSelection setTitle(CodeableConcept value) { 1576 this.title = value; 1577 return this; 1578 } 1579 1580 /** 1581 * @return {@link #description} (Text description of the DICOM SOP instances selected in the ImagingObjectSelection. This should be aligned with the content of the title element, and can provide further explanation of the SOP instances in the selection.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1582 */ 1583 public StringType getDescriptionElement() { 1584 if (this.description == null) 1585 if (Configuration.errorOnAutoCreate()) 1586 throw new Error("Attempt to auto-create ImagingObjectSelection.description"); 1587 else if (Configuration.doAutoCreate()) 1588 this.description = new StringType(); // bb 1589 return this.description; 1590 } 1591 1592 public boolean hasDescriptionElement() { 1593 return this.description != null && !this.description.isEmpty(); 1594 } 1595 1596 public boolean hasDescription() { 1597 return this.description != null && !this.description.isEmpty(); 1598 } 1599 1600 /** 1601 * @param value {@link #description} (Text description of the DICOM SOP instances selected in the ImagingObjectSelection. This should be aligned with the content of the title element, and can provide further explanation of the SOP instances in the selection.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1602 */ 1603 public ImagingObjectSelection setDescriptionElement(StringType value) { 1604 this.description = value; 1605 return this; 1606 } 1607 1608 /** 1609 * @return Text description of the DICOM SOP instances selected in the ImagingObjectSelection. This should be aligned with the content of the title element, and can provide further explanation of the SOP instances in the selection. 1610 */ 1611 public String getDescription() { 1612 return this.description == null ? null : this.description.getValue(); 1613 } 1614 1615 /** 1616 * @param value Text description of the DICOM SOP instances selected in the ImagingObjectSelection. This should be aligned with the content of the title element, and can provide further explanation of the SOP instances in the selection. 1617 */ 1618 public ImagingObjectSelection setDescription(String value) { 1619 if (Utilities.noString(value)) 1620 this.description = null; 1621 else { 1622 if (this.description == null) 1623 this.description = new StringType(); 1624 this.description.setValue(value); 1625 } 1626 return this; 1627 } 1628 1629 /** 1630 * @return {@link #study} (Study identity and locating information of the DICOM SOP instances in the selection.) 1631 */ 1632 public List<StudyComponent> getStudy() { 1633 if (this.study == null) 1634 this.study = new ArrayList<StudyComponent>(); 1635 return this.study; 1636 } 1637 1638 public boolean hasStudy() { 1639 if (this.study == null) 1640 return false; 1641 for (StudyComponent item : this.study) 1642 if (!item.isEmpty()) 1643 return true; 1644 return false; 1645 } 1646 1647 /** 1648 * @return {@link #study} (Study identity and locating information of the DICOM SOP instances in the selection.) 1649 */ 1650 // syntactic sugar 1651 public StudyComponent addStudy() { //3 1652 StudyComponent t = new StudyComponent(); 1653 if (this.study == null) 1654 this.study = new ArrayList<StudyComponent>(); 1655 this.study.add(t); 1656 return t; 1657 } 1658 1659 // syntactic sugar 1660 public ImagingObjectSelection addStudy(StudyComponent t) { //3 1661 if (t == null) 1662 return this; 1663 if (this.study == null) 1664 this.study = new ArrayList<StudyComponent>(); 1665 this.study.add(t); 1666 return this; 1667 } 1668 1669 protected void listChildren(List<Property> childrenList) { 1670 super.listChildren(childrenList); 1671 childrenList.add(new Property("uid", "oid", "Instance UID of the DICOM KOS SOP Instances represented in this resource.", 0, java.lang.Integer.MAX_VALUE, uid)); 1672 childrenList.add(new Property("patient", "Reference(Patient)", "A patient resource reference which is the patient subject of all DICOM SOP Instances in this ImagingObjectSelection.", 0, java.lang.Integer.MAX_VALUE, patient)); 1673 childrenList.add(new Property("authoringTime", "dateTime", "Date and time when the selection of the referenced instances were made. It is (typically) different from the creation date of the selection resource, and from dates associated with the referenced instances (e.g. capture time of the referenced image).", 0, java.lang.Integer.MAX_VALUE, authoringTime)); 1674 childrenList.add(new Property("author", "Reference(Practitioner|Device|Organization|Patient|RelatedPerson)", "Author of ImagingObjectSelection. It can be a human author or a device which made the decision of the SOP instances selected. For example, a radiologist selected a set of imaging SOP instances to attach in a diagnostic report, and a CAD application may author a selection to describe SOP instances it used to generate a detection conclusion.", 0, java.lang.Integer.MAX_VALUE, author)); 1675 childrenList.add(new Property("title", "CodeableConcept", "The reason for, or significance of, the selection of objects referenced in the resource.", 0, java.lang.Integer.MAX_VALUE, title)); 1676 childrenList.add(new Property("description", "string", "Text description of the DICOM SOP instances selected in the ImagingObjectSelection. This should be aligned with the content of the title element, and can provide further explanation of the SOP instances in the selection.", 0, java.lang.Integer.MAX_VALUE, description)); 1677 childrenList.add(new Property("study", "", "Study identity and locating information of the DICOM SOP instances in the selection.", 0, java.lang.Integer.MAX_VALUE, study)); 1678 } 1679 1680 @Override 1681 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1682 switch (hash) { 1683 case 115792: /*uid*/ return this.uid == null ? new Base[0] : new Base[] {this.uid}; // OidType 1684 case -791418107: /*patient*/ return this.patient == null ? new Base[0] : new Base[] {this.patient}; // Reference 1685 case -1724532252: /*authoringTime*/ return this.authoringTime == null ? new Base[0] : new Base[] {this.authoringTime}; // DateTimeType 1686 case -1406328437: /*author*/ return this.author == null ? new Base[0] : new Base[] {this.author}; // Reference 1687 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // CodeableConcept 1688 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 1689 case 109776329: /*study*/ return this.study == null ? new Base[0] : this.study.toArray(new Base[this.study.size()]); // StudyComponent 1690 default: return super.getProperty(hash, name, checkValid); 1691 } 1692 1693 } 1694 1695 @Override 1696 public void setProperty(int hash, String name, Base value) throws FHIRException { 1697 switch (hash) { 1698 case 115792: // uid 1699 this.uid = castToOid(value); // OidType 1700 break; 1701 case -791418107: // patient 1702 this.patient = castToReference(value); // Reference 1703 break; 1704 case -1724532252: // authoringTime 1705 this.authoringTime = castToDateTime(value); // DateTimeType 1706 break; 1707 case -1406328437: // author 1708 this.author = castToReference(value); // Reference 1709 break; 1710 case 110371416: // title 1711 this.title = castToCodeableConcept(value); // CodeableConcept 1712 break; 1713 case -1724546052: // description 1714 this.description = castToString(value); // StringType 1715 break; 1716 case 109776329: // study 1717 this.getStudy().add((StudyComponent) value); // StudyComponent 1718 break; 1719 default: super.setProperty(hash, name, value); 1720 } 1721 1722 } 1723 1724 @Override 1725 public void setProperty(String name, Base value) throws FHIRException { 1726 if (name.equals("uid")) 1727 this.uid = castToOid(value); // OidType 1728 else if (name.equals("patient")) 1729 this.patient = castToReference(value); // Reference 1730 else if (name.equals("authoringTime")) 1731 this.authoringTime = castToDateTime(value); // DateTimeType 1732 else if (name.equals("author")) 1733 this.author = castToReference(value); // Reference 1734 else if (name.equals("title")) 1735 this.title = castToCodeableConcept(value); // CodeableConcept 1736 else if (name.equals("description")) 1737 this.description = castToString(value); // StringType 1738 else if (name.equals("study")) 1739 this.getStudy().add((StudyComponent) value); 1740 else 1741 super.setProperty(name, value); 1742 } 1743 1744 @Override 1745 public Base makeProperty(int hash, String name) throws FHIRException { 1746 switch (hash) { 1747 case 115792: throw new FHIRException("Cannot make property uid as it is not a complex type"); // OidType 1748 case -791418107: return getPatient(); // Reference 1749 case -1724532252: throw new FHIRException("Cannot make property authoringTime as it is not a complex type"); // DateTimeType 1750 case -1406328437: return getAuthor(); // Reference 1751 case 110371416: return getTitle(); // CodeableConcept 1752 case -1724546052: throw new FHIRException("Cannot make property description as it is not a complex type"); // StringType 1753 case 109776329: return addStudy(); // StudyComponent 1754 default: return super.makeProperty(hash, name); 1755 } 1756 1757 } 1758 1759 @Override 1760 public Base addChild(String name) throws FHIRException { 1761 if (name.equals("uid")) { 1762 throw new FHIRException("Cannot call addChild on a primitive type ImagingObjectSelection.uid"); 1763 } 1764 else if (name.equals("patient")) { 1765 this.patient = new Reference(); 1766 return this.patient; 1767 } 1768 else if (name.equals("authoringTime")) { 1769 throw new FHIRException("Cannot call addChild on a primitive type ImagingObjectSelection.authoringTime"); 1770 } 1771 else if (name.equals("author")) { 1772 this.author = new Reference(); 1773 return this.author; 1774 } 1775 else if (name.equals("title")) { 1776 this.title = new CodeableConcept(); 1777 return this.title; 1778 } 1779 else if (name.equals("description")) { 1780 throw new FHIRException("Cannot call addChild on a primitive type ImagingObjectSelection.description"); 1781 } 1782 else if (name.equals("study")) { 1783 return addStudy(); 1784 } 1785 else 1786 return super.addChild(name); 1787 } 1788 1789 public String fhirType() { 1790 return "ImagingObjectSelection"; 1791 1792 } 1793 1794 public ImagingObjectSelection copy() { 1795 ImagingObjectSelection dst = new ImagingObjectSelection(); 1796 copyValues(dst); 1797 dst.uid = uid == null ? null : uid.copy(); 1798 dst.patient = patient == null ? null : patient.copy(); 1799 dst.authoringTime = authoringTime == null ? null : authoringTime.copy(); 1800 dst.author = author == null ? null : author.copy(); 1801 dst.title = title == null ? null : title.copy(); 1802 dst.description = description == null ? null : description.copy(); 1803 if (study != null) { 1804 dst.study = new ArrayList<StudyComponent>(); 1805 for (StudyComponent i : study) 1806 dst.study.add(i.copy()); 1807 }; 1808 return dst; 1809 } 1810 1811 protected ImagingObjectSelection typedCopy() { 1812 return copy(); 1813 } 1814 1815 @Override 1816 public boolean equalsDeep(Base other) { 1817 if (!super.equalsDeep(other)) 1818 return false; 1819 if (!(other instanceof ImagingObjectSelection)) 1820 return false; 1821 ImagingObjectSelection o = (ImagingObjectSelection) other; 1822 return compareDeep(uid, o.uid, true) && compareDeep(patient, o.patient, true) && compareDeep(authoringTime, o.authoringTime, true) 1823 && compareDeep(author, o.author, true) && compareDeep(title, o.title, true) && compareDeep(description, o.description, true) 1824 && compareDeep(study, o.study, true); 1825 } 1826 1827 @Override 1828 public boolean equalsShallow(Base other) { 1829 if (!super.equalsShallow(other)) 1830 return false; 1831 if (!(other instanceof ImagingObjectSelection)) 1832 return false; 1833 ImagingObjectSelection o = (ImagingObjectSelection) other; 1834 return compareValues(uid, o.uid, true) && compareValues(authoringTime, o.authoringTime, true) && compareValues(description, o.description, true) 1835 ; 1836 } 1837 1838 public boolean isEmpty() { 1839 return super.isEmpty() && (uid == null || uid.isEmpty()) && (patient == null || patient.isEmpty()) 1840 && (authoringTime == null || authoringTime.isEmpty()) && (author == null || author.isEmpty()) 1841 && (title == null || title.isEmpty()) && (description == null || description.isEmpty()) && (study == null || study.isEmpty()) 1842 ; 1843 } 1844 1845 @Override 1846 public ResourceType getResourceType() { 1847 return ResourceType.ImagingObjectSelection; 1848 } 1849 1850 /** 1851 * Search parameter: <b>selected-study</b> 1852 * <p> 1853 * Description: <b>Study selected in key DICOM object selection</b><br> 1854 * Type: <b>uri</b><br> 1855 * Path: <b>ImagingObjectSelection.study.uid</b><br> 1856 * </p> 1857 */ 1858 @SearchParamDefinition(name="selected-study", path="ImagingObjectSelection.study.uid", description="Study selected in key DICOM object selection", type="uri" ) 1859 public static final String SP_SELECTED_STUDY = "selected-study"; 1860 /** 1861 * <b>Fluent Client</b> search parameter constant for <b>selected-study</b> 1862 * <p> 1863 * Description: <b>Study selected in key DICOM object selection</b><br> 1864 * Type: <b>uri</b><br> 1865 * Path: <b>ImagingObjectSelection.study.uid</b><br> 1866 * </p> 1867 */ 1868 public static final ca.uhn.fhir.rest.gclient.UriClientParam SELECTED_STUDY = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_SELECTED_STUDY); 1869 1870 /** 1871 * Search parameter: <b>author</b> 1872 * <p> 1873 * Description: <b>Author of key DICOM object selection</b><br> 1874 * Type: <b>reference</b><br> 1875 * Path: <b>ImagingObjectSelection.author</b><br> 1876 * </p> 1877 */ 1878 @SearchParamDefinition(name="author", path="ImagingObjectSelection.author", description="Author of key DICOM object selection", type="reference" ) 1879 public static final String SP_AUTHOR = "author"; 1880 /** 1881 * <b>Fluent Client</b> search parameter constant for <b>author</b> 1882 * <p> 1883 * Description: <b>Author of key DICOM object selection</b><br> 1884 * Type: <b>reference</b><br> 1885 * Path: <b>ImagingObjectSelection.author</b><br> 1886 * </p> 1887 */ 1888 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam AUTHOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_AUTHOR); 1889 1890/** 1891 * Constant for fluent queries to be used to add include statements. Specifies 1892 * the path value of "<b>ImagingObjectSelection:author</b>". 1893 */ 1894 public static final ca.uhn.fhir.model.api.Include INCLUDE_AUTHOR = new ca.uhn.fhir.model.api.Include("ImagingObjectSelection:author").toLocked(); 1895 1896 /** 1897 * Search parameter: <b>title</b> 1898 * <p> 1899 * Description: <b>Title of key DICOM object selection</b><br> 1900 * Type: <b>token</b><br> 1901 * Path: <b>ImagingObjectSelection.title</b><br> 1902 * </p> 1903 */ 1904 @SearchParamDefinition(name="title", path="ImagingObjectSelection.title", description="Title of key DICOM object selection", type="token" ) 1905 public static final String SP_TITLE = "title"; 1906 /** 1907 * <b>Fluent Client</b> search parameter constant for <b>title</b> 1908 * <p> 1909 * Description: <b>Title of key DICOM object selection</b><br> 1910 * Type: <b>token</b><br> 1911 * Path: <b>ImagingObjectSelection.title</b><br> 1912 * </p> 1913 */ 1914 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TITLE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TITLE); 1915 1916 /** 1917 * Search parameter: <b>patient</b> 1918 * <p> 1919 * Description: <b>Subject of key DICOM object selection</b><br> 1920 * Type: <b>reference</b><br> 1921 * Path: <b>ImagingObjectSelection.patient</b><br> 1922 * </p> 1923 */ 1924 @SearchParamDefinition(name="patient", path="ImagingObjectSelection.patient", description="Subject of key DICOM object selection", type="reference" ) 1925 public static final String SP_PATIENT = "patient"; 1926 /** 1927 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 1928 * <p> 1929 * Description: <b>Subject of key DICOM object selection</b><br> 1930 * Type: <b>reference</b><br> 1931 * Path: <b>ImagingObjectSelection.patient</b><br> 1932 * </p> 1933 */ 1934 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 1935 1936/** 1937 * Constant for fluent queries to be used to add include statements. Specifies 1938 * the path value of "<b>ImagingObjectSelection:patient</b>". 1939 */ 1940 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("ImagingObjectSelection:patient").toLocked(); 1941 1942 /** 1943 * Search parameter: <b>authoring-time</b> 1944 * <p> 1945 * Description: <b>Time of key DICOM object selection authoring</b><br> 1946 * Type: <b>date</b><br> 1947 * Path: <b>ImagingObjectSelection.authoringTime</b><br> 1948 * </p> 1949 */ 1950 @SearchParamDefinition(name="authoring-time", path="ImagingObjectSelection.authoringTime", description="Time of key DICOM object selection authoring", type="date" ) 1951 public static final String SP_AUTHORING_TIME = "authoring-time"; 1952 /** 1953 * <b>Fluent Client</b> search parameter constant for <b>authoring-time</b> 1954 * <p> 1955 * Description: <b>Time of key DICOM object selection authoring</b><br> 1956 * Type: <b>date</b><br> 1957 * Path: <b>ImagingObjectSelection.authoringTime</b><br> 1958 * </p> 1959 */ 1960 public static final ca.uhn.fhir.rest.gclient.DateClientParam AUTHORING_TIME = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_AUTHORING_TIME); 1961 1962 /** 1963 * Search parameter: <b>identifier</b> 1964 * <p> 1965 * Description: <b>UID of key DICOM object selection</b><br> 1966 * Type: <b>uri</b><br> 1967 * Path: <b>ImagingObjectSelection.uid</b><br> 1968 * </p> 1969 */ 1970 @SearchParamDefinition(name="identifier", path="ImagingObjectSelection.uid", description="UID of key DICOM object selection", type="uri" ) 1971 public static final String SP_IDENTIFIER = "identifier"; 1972 /** 1973 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 1974 * <p> 1975 * Description: <b>UID of key DICOM object selection</b><br> 1976 * Type: <b>uri</b><br> 1977 * Path: <b>ImagingObjectSelection.uid</b><br> 1978 * </p> 1979 */ 1980 public static final ca.uhn.fhir.rest.gclient.UriClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_IDENTIFIER); 1981 1982 1983} 1984