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