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