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