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