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 Tue, Dec 28, 2021 07:16+1100 for FHIR v5.0.0-snapshot1 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 * The findings and interpretation of diagnostic tests performed on patients, groups of patients, products, substances, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports. The report also includes non-clinical context such as batch analysis and stability reporting of products and substances. 052 */ 053@ResourceDef(name="DiagnosticReport", profile="http://hl7.org/fhir/StructureDefinition/DiagnosticReport") 054public class DiagnosticReport extends DomainResource { 055 056 public enum DiagnosticReportStatus { 057 /** 058 * The existence of the report is registered, but there is nothing yet available. 059 */ 060 REGISTERED, 061 /** 062 * This is a partial (e.g. initial, interim or preliminary) report: data in the report may be incomplete or unverified. 063 */ 064 PARTIAL, 065 /** 066 * Verified early results are available, but not all results are final. 067 */ 068 PRELIMINARY, 069 /** 070 * The report is complete and verified by an authorized person. 071 */ 072 FINAL, 073 /** 074 * Subsequent to being final, the report has been modified. This includes any change in the results, diagnosis, narrative text, or other content of a report that has been issued. 075 */ 076 AMENDED, 077 /** 078 * Subsequent to being final, the report has been modified to correct an error in the report or referenced results. 079 */ 080 CORRECTED, 081 /** 082 * Subsequent to being final, the report has been modified by adding new content. The existing content is unchanged. 083 */ 084 APPENDED, 085 /** 086 * The report is unavailable because the measurement was not started or not completed (also sometimes called \"aborted\"). 087 */ 088 CANCELLED, 089 /** 090 * The report 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\".). 091 */ 092 ENTEREDINERROR, 093 /** 094 * The authoring/source system does not know which of the status values currently applies for this observation. Note: This concept is not to be used for \"other\" - one of the listed statuses is presumed to apply, but the authoring/source system does not know which. 095 */ 096 UNKNOWN, 097 /** 098 * added to help the parsers with the generic types 099 */ 100 NULL; 101 public static DiagnosticReportStatus fromCode(String codeString) throws FHIRException { 102 if (codeString == null || "".equals(codeString)) 103 return null; 104 if ("registered".equals(codeString)) 105 return REGISTERED; 106 if ("partial".equals(codeString)) 107 return PARTIAL; 108 if ("preliminary".equals(codeString)) 109 return PRELIMINARY; 110 if ("final".equals(codeString)) 111 return FINAL; 112 if ("amended".equals(codeString)) 113 return AMENDED; 114 if ("corrected".equals(codeString)) 115 return CORRECTED; 116 if ("appended".equals(codeString)) 117 return APPENDED; 118 if ("cancelled".equals(codeString)) 119 return CANCELLED; 120 if ("entered-in-error".equals(codeString)) 121 return ENTEREDINERROR; 122 if ("unknown".equals(codeString)) 123 return UNKNOWN; 124 if (Configuration.isAcceptInvalidEnums()) 125 return null; 126 else 127 throw new FHIRException("Unknown DiagnosticReportStatus code '"+codeString+"'"); 128 } 129 public String toCode() { 130 switch (this) { 131 case REGISTERED: return "registered"; 132 case PARTIAL: return "partial"; 133 case PRELIMINARY: return "preliminary"; 134 case FINAL: return "final"; 135 case AMENDED: return "amended"; 136 case CORRECTED: return "corrected"; 137 case APPENDED: return "appended"; 138 case CANCELLED: return "cancelled"; 139 case ENTEREDINERROR: return "entered-in-error"; 140 case UNKNOWN: return "unknown"; 141 default: return "?"; 142 } 143 } 144 public String getSystem() { 145 switch (this) { 146 case REGISTERED: return "http://hl7.org/fhir/diagnostic-report-status"; 147 case PARTIAL: return "http://hl7.org/fhir/diagnostic-report-status"; 148 case PRELIMINARY: return "http://hl7.org/fhir/diagnostic-report-status"; 149 case FINAL: return "http://hl7.org/fhir/diagnostic-report-status"; 150 case AMENDED: return "http://hl7.org/fhir/diagnostic-report-status"; 151 case CORRECTED: return "http://hl7.org/fhir/diagnostic-report-status"; 152 case APPENDED: return "http://hl7.org/fhir/diagnostic-report-status"; 153 case CANCELLED: return "http://hl7.org/fhir/diagnostic-report-status"; 154 case ENTEREDINERROR: return "http://hl7.org/fhir/diagnostic-report-status"; 155 case UNKNOWN: return "http://hl7.org/fhir/diagnostic-report-status"; 156 default: return "?"; 157 } 158 } 159 public String getDefinition() { 160 switch (this) { 161 case REGISTERED: return "The existence of the report is registered, but there is nothing yet available."; 162 case PARTIAL: return "This is a partial (e.g. initial, interim or preliminary) report: data in the report may be incomplete or unverified."; 163 case PRELIMINARY: return "Verified early results are available, but not all results are final."; 164 case FINAL: return "The report is complete and verified by an authorized person."; 165 case AMENDED: return "Subsequent to being final, the report has been modified. This includes any change in the results, diagnosis, narrative text, or other content of a report that has been issued."; 166 case CORRECTED: return "Subsequent to being final, the report has been modified to correct an error in the report or referenced results."; 167 case APPENDED: return "Subsequent to being final, the report has been modified by adding new content. The existing content is unchanged."; 168 case CANCELLED: return "The report is unavailable because the measurement was not started or not completed (also sometimes called \"aborted\")."; 169 case ENTEREDINERROR: return "The report 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\".)."; 170 case UNKNOWN: return "The authoring/source system does not know which of the status values currently applies for this observation. Note: This concept is not to be used for \"other\" - one of the listed statuses is presumed to apply, but the authoring/source system does not know which."; 171 default: return "?"; 172 } 173 } 174 public String getDisplay() { 175 switch (this) { 176 case REGISTERED: return "Registered"; 177 case PARTIAL: return "Partial"; 178 case PRELIMINARY: return "Preliminary"; 179 case FINAL: return "Final"; 180 case AMENDED: return "Amended"; 181 case CORRECTED: return "Corrected"; 182 case APPENDED: return "Appended"; 183 case CANCELLED: return "Cancelled"; 184 case ENTEREDINERROR: return "Entered in Error"; 185 case UNKNOWN: return "Unknown"; 186 default: return "?"; 187 } 188 } 189 } 190 191 public static class DiagnosticReportStatusEnumFactory implements EnumFactory<DiagnosticReportStatus> { 192 public DiagnosticReportStatus fromCode(String codeString) throws IllegalArgumentException { 193 if (codeString == null || "".equals(codeString)) 194 if (codeString == null || "".equals(codeString)) 195 return null; 196 if ("registered".equals(codeString)) 197 return DiagnosticReportStatus.REGISTERED; 198 if ("partial".equals(codeString)) 199 return DiagnosticReportStatus.PARTIAL; 200 if ("preliminary".equals(codeString)) 201 return DiagnosticReportStatus.PRELIMINARY; 202 if ("final".equals(codeString)) 203 return DiagnosticReportStatus.FINAL; 204 if ("amended".equals(codeString)) 205 return DiagnosticReportStatus.AMENDED; 206 if ("corrected".equals(codeString)) 207 return DiagnosticReportStatus.CORRECTED; 208 if ("appended".equals(codeString)) 209 return DiagnosticReportStatus.APPENDED; 210 if ("cancelled".equals(codeString)) 211 return DiagnosticReportStatus.CANCELLED; 212 if ("entered-in-error".equals(codeString)) 213 return DiagnosticReportStatus.ENTEREDINERROR; 214 if ("unknown".equals(codeString)) 215 return DiagnosticReportStatus.UNKNOWN; 216 throw new IllegalArgumentException("Unknown DiagnosticReportStatus code '"+codeString+"'"); 217 } 218 public Enumeration<DiagnosticReportStatus> fromType(Base code) throws FHIRException { 219 if (code == null) 220 return null; 221 if (code.isEmpty()) 222 return new Enumeration<DiagnosticReportStatus>(this); 223 String codeString = ((PrimitiveType) code).asStringValue(); 224 if (codeString == null || "".equals(codeString)) 225 return null; 226 if ("registered".equals(codeString)) 227 return new Enumeration<DiagnosticReportStatus>(this, DiagnosticReportStatus.REGISTERED); 228 if ("partial".equals(codeString)) 229 return new Enumeration<DiagnosticReportStatus>(this, DiagnosticReportStatus.PARTIAL); 230 if ("preliminary".equals(codeString)) 231 return new Enumeration<DiagnosticReportStatus>(this, DiagnosticReportStatus.PRELIMINARY); 232 if ("final".equals(codeString)) 233 return new Enumeration<DiagnosticReportStatus>(this, DiagnosticReportStatus.FINAL); 234 if ("amended".equals(codeString)) 235 return new Enumeration<DiagnosticReportStatus>(this, DiagnosticReportStatus.AMENDED); 236 if ("corrected".equals(codeString)) 237 return new Enumeration<DiagnosticReportStatus>(this, DiagnosticReportStatus.CORRECTED); 238 if ("appended".equals(codeString)) 239 return new Enumeration<DiagnosticReportStatus>(this, DiagnosticReportStatus.APPENDED); 240 if ("cancelled".equals(codeString)) 241 return new Enumeration<DiagnosticReportStatus>(this, DiagnosticReportStatus.CANCELLED); 242 if ("entered-in-error".equals(codeString)) 243 return new Enumeration<DiagnosticReportStatus>(this, DiagnosticReportStatus.ENTEREDINERROR); 244 if ("unknown".equals(codeString)) 245 return new Enumeration<DiagnosticReportStatus>(this, DiagnosticReportStatus.UNKNOWN); 246 throw new FHIRException("Unknown DiagnosticReportStatus code '"+codeString+"'"); 247 } 248 public String toCode(DiagnosticReportStatus code) { 249 if (code == DiagnosticReportStatus.REGISTERED) 250 return "registered"; 251 if (code == DiagnosticReportStatus.PARTIAL) 252 return "partial"; 253 if (code == DiagnosticReportStatus.PRELIMINARY) 254 return "preliminary"; 255 if (code == DiagnosticReportStatus.FINAL) 256 return "final"; 257 if (code == DiagnosticReportStatus.AMENDED) 258 return "amended"; 259 if (code == DiagnosticReportStatus.CORRECTED) 260 return "corrected"; 261 if (code == DiagnosticReportStatus.APPENDED) 262 return "appended"; 263 if (code == DiagnosticReportStatus.CANCELLED) 264 return "cancelled"; 265 if (code == DiagnosticReportStatus.ENTEREDINERROR) 266 return "entered-in-error"; 267 if (code == DiagnosticReportStatus.UNKNOWN) 268 return "unknown"; 269 return "?"; 270 } 271 public String toSystem(DiagnosticReportStatus code) { 272 return code.getSystem(); 273 } 274 } 275 276 @Block() 277 public static class DiagnosticReportMediaComponent extends BackboneElement implements IBaseBackboneElement { 278 /** 279 * A comment about the image or data. Typically, this is used to provide an explanation for why the image or data is included, or to draw the viewer's attention to important features. 280 */ 281 @Child(name = "comment", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=false) 282 @Description(shortDefinition="Comment about the image or data (e.g. explanation)", formalDefinition="A comment about the image or data. Typically, this is used to provide an explanation for why the image or data is included, or to draw the viewer's attention to important features." ) 283 protected StringType comment; 284 285 /** 286 * Reference to the image or data source. 287 */ 288 @Child(name = "link", type = {DocumentReference.class}, order=2, min=1, max=1, modifier=false, summary=true) 289 @Description(shortDefinition="Reference to the image or data source", formalDefinition="Reference to the image or data source." ) 290 protected Reference link; 291 292 private static final long serialVersionUID = 1827561947L; 293 294 /** 295 * Constructor 296 */ 297 public DiagnosticReportMediaComponent() { 298 super(); 299 } 300 301 /** 302 * Constructor 303 */ 304 public DiagnosticReportMediaComponent(Reference link) { 305 super(); 306 this.setLink(link); 307 } 308 309 /** 310 * @return {@link #comment} (A comment about the image or data. Typically, this is used to provide an explanation for why the image or data is included, or to draw the viewer's attention to important features.). This is the underlying object with id, value and extensions. The accessor "getComment" gives direct access to the value 311 */ 312 public StringType getCommentElement() { 313 if (this.comment == null) 314 if (Configuration.errorOnAutoCreate()) 315 throw new Error("Attempt to auto-create DiagnosticReportMediaComponent.comment"); 316 else if (Configuration.doAutoCreate()) 317 this.comment = new StringType(); // bb 318 return this.comment; 319 } 320 321 public boolean hasCommentElement() { 322 return this.comment != null && !this.comment.isEmpty(); 323 } 324 325 public boolean hasComment() { 326 return this.comment != null && !this.comment.isEmpty(); 327 } 328 329 /** 330 * @param value {@link #comment} (A comment about the image or data. Typically, this is used to provide an explanation for why the image or data is included, or to draw the viewer's attention to important features.). This is the underlying object with id, value and extensions. The accessor "getComment" gives direct access to the value 331 */ 332 public DiagnosticReportMediaComponent setCommentElement(StringType value) { 333 this.comment = value; 334 return this; 335 } 336 337 /** 338 * @return A comment about the image or data. Typically, this is used to provide an explanation for why the image or data is included, or to draw the viewer's attention to important features. 339 */ 340 public String getComment() { 341 return this.comment == null ? null : this.comment.getValue(); 342 } 343 344 /** 345 * @param value A comment about the image or data. Typically, this is used to provide an explanation for why the image or data is included, or to draw the viewer's attention to important features. 346 */ 347 public DiagnosticReportMediaComponent setComment(String value) { 348 if (Utilities.noString(value)) 349 this.comment = null; 350 else { 351 if (this.comment == null) 352 this.comment = new StringType(); 353 this.comment.setValue(value); 354 } 355 return this; 356 } 357 358 /** 359 * @return {@link #link} (Reference to the image or data source.) 360 */ 361 public Reference getLink() { 362 if (this.link == null) 363 if (Configuration.errorOnAutoCreate()) 364 throw new Error("Attempt to auto-create DiagnosticReportMediaComponent.link"); 365 else if (Configuration.doAutoCreate()) 366 this.link = new Reference(); // cc 367 return this.link; 368 } 369 370 public boolean hasLink() { 371 return this.link != null && !this.link.isEmpty(); 372 } 373 374 /** 375 * @param value {@link #link} (Reference to the image or data source.) 376 */ 377 public DiagnosticReportMediaComponent setLink(Reference value) { 378 this.link = value; 379 return this; 380 } 381 382 protected void listChildren(List<Property> children) { 383 super.listChildren(children); 384 children.add(new Property("comment", "string", "A comment about the image or data. Typically, this is used to provide an explanation for why the image or data is included, or to draw the viewer's attention to important features.", 0, 1, comment)); 385 children.add(new Property("link", "Reference(DocumentReference)", "Reference to the image or data source.", 0, 1, link)); 386 } 387 388 @Override 389 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 390 switch (_hash) { 391 case 950398559: /*comment*/ return new Property("comment", "string", "A comment about the image or data. Typically, this is used to provide an explanation for why the image or data is included, or to draw the viewer's attention to important features.", 0, 1, comment); 392 case 3321850: /*link*/ return new Property("link", "Reference(DocumentReference)", "Reference to the image or data source.", 0, 1, link); 393 default: return super.getNamedProperty(_hash, _name, _checkValid); 394 } 395 396 } 397 398 @Override 399 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 400 switch (hash) { 401 case 950398559: /*comment*/ return this.comment == null ? new Base[0] : new Base[] {this.comment}; // StringType 402 case 3321850: /*link*/ return this.link == null ? new Base[0] : new Base[] {this.link}; // Reference 403 default: return super.getProperty(hash, name, checkValid); 404 } 405 406 } 407 408 @Override 409 public Base setProperty(int hash, String name, Base value) throws FHIRException { 410 switch (hash) { 411 case 950398559: // comment 412 this.comment = TypeConvertor.castToString(value); // StringType 413 return value; 414 case 3321850: // link 415 this.link = TypeConvertor.castToReference(value); // Reference 416 return value; 417 default: return super.setProperty(hash, name, value); 418 } 419 420 } 421 422 @Override 423 public Base setProperty(String name, Base value) throws FHIRException { 424 if (name.equals("comment")) { 425 this.comment = TypeConvertor.castToString(value); // StringType 426 } else if (name.equals("link")) { 427 this.link = TypeConvertor.castToReference(value); // Reference 428 } else 429 return super.setProperty(name, value); 430 return value; 431 } 432 433 @Override 434 public Base makeProperty(int hash, String name) throws FHIRException { 435 switch (hash) { 436 case 950398559: return getCommentElement(); 437 case 3321850: return getLink(); 438 default: return super.makeProperty(hash, name); 439 } 440 441 } 442 443 @Override 444 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 445 switch (hash) { 446 case 950398559: /*comment*/ return new String[] {"string"}; 447 case 3321850: /*link*/ return new String[] {"Reference"}; 448 default: return super.getTypesForProperty(hash, name); 449 } 450 451 } 452 453 @Override 454 public Base addChild(String name) throws FHIRException { 455 if (name.equals("comment")) { 456 throw new FHIRException("Cannot call addChild on a primitive type DiagnosticReport.media.comment"); 457 } 458 else if (name.equals("link")) { 459 this.link = new Reference(); 460 return this.link; 461 } 462 else 463 return super.addChild(name); 464 } 465 466 public DiagnosticReportMediaComponent copy() { 467 DiagnosticReportMediaComponent dst = new DiagnosticReportMediaComponent(); 468 copyValues(dst); 469 return dst; 470 } 471 472 public void copyValues(DiagnosticReportMediaComponent dst) { 473 super.copyValues(dst); 474 dst.comment = comment == null ? null : comment.copy(); 475 dst.link = link == null ? null : link.copy(); 476 } 477 478 @Override 479 public boolean equalsDeep(Base other_) { 480 if (!super.equalsDeep(other_)) 481 return false; 482 if (!(other_ instanceof DiagnosticReportMediaComponent)) 483 return false; 484 DiagnosticReportMediaComponent o = (DiagnosticReportMediaComponent) other_; 485 return compareDeep(comment, o.comment, true) && compareDeep(link, o.link, true); 486 } 487 488 @Override 489 public boolean equalsShallow(Base other_) { 490 if (!super.equalsShallow(other_)) 491 return false; 492 if (!(other_ instanceof DiagnosticReportMediaComponent)) 493 return false; 494 DiagnosticReportMediaComponent o = (DiagnosticReportMediaComponent) other_; 495 return compareValues(comment, o.comment, true); 496 } 497 498 public boolean isEmpty() { 499 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(comment, link); 500 } 501 502 public String fhirType() { 503 return "DiagnosticReport.media"; 504 505 } 506 507 } 508 509 /** 510 * Identifiers assigned to this report by the performer or other systems. 511 */ 512 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 513 @Description(shortDefinition="Business identifier for report", formalDefinition="Identifiers assigned to this report by the performer or other systems." ) 514 protected List<Identifier> identifier; 515 516 /** 517 * Details concerning a service requested. 518 */ 519 @Child(name = "basedOn", type = {CarePlan.class, ImmunizationRecommendation.class, MedicationRequest.class, NutritionOrder.class, ServiceRequest.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 520 @Description(shortDefinition="What was requested", formalDefinition="Details concerning a service requested." ) 521 protected List<Reference> basedOn; 522 523 /** 524 * The status of the diagnostic report. 525 */ 526 @Child(name = "status", type = {CodeType.class}, order=2, min=1, max=1, modifier=true, summary=true) 527 @Description(shortDefinition="registered | partial | preliminary | final +", formalDefinition="The status of the diagnostic report." ) 528 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/diagnostic-report-status") 529 protected Enumeration<DiagnosticReportStatus> status; 530 531 /** 532 * A code that classifies the clinical discipline, department or diagnostic service that created the report (e.g. cardiology, biochemistry, hematology, MRI). This is used for searching, sorting and display purposes. 533 */ 534 @Child(name = "category", type = {CodeableConcept.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 535 @Description(shortDefinition="Service category", formalDefinition="A code that classifies the clinical discipline, department or diagnostic service that created the report (e.g. cardiology, biochemistry, hematology, MRI). This is used for searching, sorting and display purposes." ) 536 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/diagnostic-service-sections") 537 protected List<CodeableConcept> category; 538 539 /** 540 * A code or name that describes this diagnostic report. 541 */ 542 @Child(name = "code", type = {CodeableConcept.class}, order=4, min=1, max=1, modifier=false, summary=true) 543 @Description(shortDefinition="Name/Code for this diagnostic report", formalDefinition="A code or name that describes this diagnostic report." ) 544 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/report-codes") 545 protected CodeableConcept code; 546 547 /** 548 * The subject of the report. Usually, but not always, this is a patient. However, diagnostic services also perform analyses on specimens collected from a variety of other sources. 549 */ 550 @Child(name = "subject", type = {Patient.class, Group.class, Device.class, Location.class, Organization.class, Procedure.class, Practitioner.class, Medication.class, Substance.class, BiologicallyDerivedProduct.class}, order=5, min=0, max=1, modifier=false, summary=true) 551 @Description(shortDefinition="The subject of the report - usually, but not always, the patient", formalDefinition="The subject of the report. Usually, but not always, this is a patient. However, diagnostic services also perform analyses on specimens collected from a variety of other sources." ) 552 protected Reference subject; 553 554 /** 555 * The healthcare event (e.g. a patient and healthcare provider interaction) which this DiagnosticReport is about. 556 */ 557 @Child(name = "encounter", type = {Encounter.class}, order=6, min=0, max=1, modifier=false, summary=true) 558 @Description(shortDefinition="Health care event when test ordered", formalDefinition="The healthcare event (e.g. a patient and healthcare provider interaction) which this DiagnosticReport is about." ) 559 protected Reference encounter; 560 561 /** 562 * The time or time-period the observed values are related to. When the subject of the report is a patient, this is usually either the time of the procedure or of specimen collection(s), but very often the source of the date/time is not known, only the date/time itself. 563 */ 564 @Child(name = "effective", type = {DateTimeType.class, Period.class}, order=7, min=0, max=1, modifier=false, summary=true) 565 @Description(shortDefinition="Clinically relevant time/time-period for report", formalDefinition="The time or time-period the observed values are related to. When the subject of the report is a patient, this is usually either the time of the procedure or of specimen collection(s), but very often the source of the date/time is not known, only the date/time itself." ) 566 protected DataType effective; 567 568 /** 569 * The date and time that this version of the report was made available to providers, typically after the report was reviewed and verified. 570 */ 571 @Child(name = "issued", type = {InstantType.class}, order=8, min=0, max=1, modifier=false, summary=true) 572 @Description(shortDefinition="DateTime this version was made", formalDefinition="The date and time that this version of the report was made available to providers, typically after the report was reviewed and verified." ) 573 protected InstantType issued; 574 575 /** 576 * The diagnostic service that is responsible for issuing the report. 577 */ 578 @Child(name = "performer", type = {Practitioner.class, PractitionerRole.class, Organization.class, CareTeam.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 579 @Description(shortDefinition="Responsible Diagnostic Service", formalDefinition="The diagnostic service that is responsible for issuing the report." ) 580 protected List<Reference> performer; 581 582 /** 583 * The practitioner or organization that is responsible for the report's conclusions and interpretations. 584 */ 585 @Child(name = "resultsInterpreter", type = {Practitioner.class, PractitionerRole.class, Organization.class, CareTeam.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 586 @Description(shortDefinition="Primary result interpreter", formalDefinition="The practitioner or organization that is responsible for the report's conclusions and interpretations." ) 587 protected List<Reference> resultsInterpreter; 588 589 /** 590 * Details about the specimens on which this diagnostic report is based. 591 */ 592 @Child(name = "specimen", type = {Specimen.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 593 @Description(shortDefinition="Specimens this report is based on", formalDefinition="Details about the specimens on which this diagnostic report is based." ) 594 protected List<Reference> specimen; 595 596 /** 597 * [Observations](observation.html) that are part of this diagnostic report. 598 */ 599 @Child(name = "result", type = {Observation.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 600 @Description(shortDefinition="Observations", formalDefinition="[Observations](observation.html) that are part of this diagnostic report." ) 601 protected List<Reference> result; 602 603 /** 604 * Comments about the diagnostic report. 605 */ 606 @Child(name = "note", type = {Annotation.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 607 @Description(shortDefinition="Comments about the diagnostic report", formalDefinition="Comments about the diagnostic report." ) 608 protected List<Annotation> note; 609 610 /** 611 * One or more links to full details of any imaging performed during the diagnostic investigation. Typically, this is imaging performed by DICOM enabled modalities, but this is not required. A fully enabled PACS viewer can use this information to provide views of the source images. 612 */ 613 @Child(name = "imagingStudy", type = {ImagingStudy.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 614 @Description(shortDefinition="Reference to full details of imaging associated with the diagnostic report", formalDefinition="One or more links to full details of any imaging performed during the diagnostic investigation. Typically, this is imaging performed by DICOM enabled modalities, but this is not required. A fully enabled PACS viewer can use this information to provide views of the source images." ) 615 protected List<Reference> imagingStudy; 616 617 /** 618 * A list of key images or data associated with this report. The images or data are generally created during the diagnostic process, and may be directly of the patient, or of treated specimens (i.e. slides of interest). 619 */ 620 @Child(name = "media", type = {}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 621 @Description(shortDefinition="Key images or data associated with this report", formalDefinition="A list of key images or data associated with this report. The images or data are generally created during the diagnostic process, and may be directly of the patient, or of treated specimens (i.e. slides of interest)." ) 622 protected List<DiagnosticReportMediaComponent> media; 623 624 /** 625 * Reference to a Composition resource instance that provides structure for organizing the contents of the DiagnosticReport. 626 */ 627 @Child(name = "composition", type = {Composition.class}, order=16, min=0, max=1, modifier=false, summary=false) 628 @Description(shortDefinition="Reference to a Composition resource for the DiagnosticReport structure", formalDefinition="Reference to a Composition resource instance that provides structure for organizing the contents of the DiagnosticReport." ) 629 protected Reference composition; 630 631 /** 632 * Concise and clinically contextualized summary conclusion (interpretation/impression) of the diagnostic report. 633 */ 634 @Child(name = "conclusion", type = {StringType.class}, order=17, min=0, max=1, modifier=false, summary=false) 635 @Description(shortDefinition="Clinical conclusion (interpretation) of test results", formalDefinition="Concise and clinically contextualized summary conclusion (interpretation/impression) of the diagnostic report." ) 636 protected StringType conclusion; 637 638 /** 639 * One or more codes that represent the summary conclusion (interpretation/impression) of the diagnostic report. 640 */ 641 @Child(name = "conclusionCode", type = {CodeableConcept.class}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 642 @Description(shortDefinition="Codes for the clinical conclusion of test results", formalDefinition="One or more codes that represent the summary conclusion (interpretation/impression) of the diagnostic report." ) 643 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/clinical-findings") 644 protected List<CodeableConcept> conclusionCode; 645 646 /** 647 * Rich text representation of the entire result as issued by the diagnostic service. Multiple formats are allowed but they SHALL be semantically equivalent. 648 */ 649 @Child(name = "presentedForm", type = {Attachment.class}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 650 @Description(shortDefinition="Entire report as issued", formalDefinition="Rich text representation of the entire result as issued by the diagnostic service. Multiple formats are allowed but they SHALL be semantically equivalent." ) 651 protected List<Attachment> presentedForm; 652 653 private static final long serialVersionUID = -491814069L; 654 655 /** 656 * Constructor 657 */ 658 public DiagnosticReport() { 659 super(); 660 } 661 662 /** 663 * Constructor 664 */ 665 public DiagnosticReport(DiagnosticReportStatus status, CodeableConcept code) { 666 super(); 667 this.setStatus(status); 668 this.setCode(code); 669 } 670 671 /** 672 * @return {@link #identifier} (Identifiers assigned to this report by the performer or other systems.) 673 */ 674 public List<Identifier> getIdentifier() { 675 if (this.identifier == null) 676 this.identifier = new ArrayList<Identifier>(); 677 return this.identifier; 678 } 679 680 /** 681 * @return Returns a reference to <code>this</code> for easy method chaining 682 */ 683 public DiagnosticReport setIdentifier(List<Identifier> theIdentifier) { 684 this.identifier = theIdentifier; 685 return this; 686 } 687 688 public boolean hasIdentifier() { 689 if (this.identifier == null) 690 return false; 691 for (Identifier item : this.identifier) 692 if (!item.isEmpty()) 693 return true; 694 return false; 695 } 696 697 public Identifier addIdentifier() { //3 698 Identifier t = new Identifier(); 699 if (this.identifier == null) 700 this.identifier = new ArrayList<Identifier>(); 701 this.identifier.add(t); 702 return t; 703 } 704 705 public DiagnosticReport addIdentifier(Identifier t) { //3 706 if (t == null) 707 return this; 708 if (this.identifier == null) 709 this.identifier = new ArrayList<Identifier>(); 710 this.identifier.add(t); 711 return this; 712 } 713 714 /** 715 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 716 */ 717 public Identifier getIdentifierFirstRep() { 718 if (getIdentifier().isEmpty()) { 719 addIdentifier(); 720 } 721 return getIdentifier().get(0); 722 } 723 724 /** 725 * @return {@link #basedOn} (Details concerning a service requested.) 726 */ 727 public List<Reference> getBasedOn() { 728 if (this.basedOn == null) 729 this.basedOn = new ArrayList<Reference>(); 730 return this.basedOn; 731 } 732 733 /** 734 * @return Returns a reference to <code>this</code> for easy method chaining 735 */ 736 public DiagnosticReport setBasedOn(List<Reference> theBasedOn) { 737 this.basedOn = theBasedOn; 738 return this; 739 } 740 741 public boolean hasBasedOn() { 742 if (this.basedOn == null) 743 return false; 744 for (Reference item : this.basedOn) 745 if (!item.isEmpty()) 746 return true; 747 return false; 748 } 749 750 public Reference addBasedOn() { //3 751 Reference t = new Reference(); 752 if (this.basedOn == null) 753 this.basedOn = new ArrayList<Reference>(); 754 this.basedOn.add(t); 755 return t; 756 } 757 758 public DiagnosticReport addBasedOn(Reference t) { //3 759 if (t == null) 760 return this; 761 if (this.basedOn == null) 762 this.basedOn = new ArrayList<Reference>(); 763 this.basedOn.add(t); 764 return this; 765 } 766 767 /** 768 * @return The first repetition of repeating field {@link #basedOn}, creating it if it does not already exist {3} 769 */ 770 public Reference getBasedOnFirstRep() { 771 if (getBasedOn().isEmpty()) { 772 addBasedOn(); 773 } 774 return getBasedOn().get(0); 775 } 776 777 /** 778 * @return {@link #status} (The status of the diagnostic report.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 779 */ 780 public Enumeration<DiagnosticReportStatus> getStatusElement() { 781 if (this.status == null) 782 if (Configuration.errorOnAutoCreate()) 783 throw new Error("Attempt to auto-create DiagnosticReport.status"); 784 else if (Configuration.doAutoCreate()) 785 this.status = new Enumeration<DiagnosticReportStatus>(new DiagnosticReportStatusEnumFactory()); // bb 786 return this.status; 787 } 788 789 public boolean hasStatusElement() { 790 return this.status != null && !this.status.isEmpty(); 791 } 792 793 public boolean hasStatus() { 794 return this.status != null && !this.status.isEmpty(); 795 } 796 797 /** 798 * @param value {@link #status} (The status of the diagnostic report.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 799 */ 800 public DiagnosticReport setStatusElement(Enumeration<DiagnosticReportStatus> value) { 801 this.status = value; 802 return this; 803 } 804 805 /** 806 * @return The status of the diagnostic report. 807 */ 808 public DiagnosticReportStatus getStatus() { 809 return this.status == null ? null : this.status.getValue(); 810 } 811 812 /** 813 * @param value The status of the diagnostic report. 814 */ 815 public DiagnosticReport setStatus(DiagnosticReportStatus value) { 816 if (this.status == null) 817 this.status = new Enumeration<DiagnosticReportStatus>(new DiagnosticReportStatusEnumFactory()); 818 this.status.setValue(value); 819 return this; 820 } 821 822 /** 823 * @return {@link #category} (A code that classifies the clinical discipline, department or diagnostic service that created the report (e.g. cardiology, biochemistry, hematology, MRI). This is used for searching, sorting and display purposes.) 824 */ 825 public List<CodeableConcept> getCategory() { 826 if (this.category == null) 827 this.category = new ArrayList<CodeableConcept>(); 828 return this.category; 829 } 830 831 /** 832 * @return Returns a reference to <code>this</code> for easy method chaining 833 */ 834 public DiagnosticReport setCategory(List<CodeableConcept> theCategory) { 835 this.category = theCategory; 836 return this; 837 } 838 839 public boolean hasCategory() { 840 if (this.category == null) 841 return false; 842 for (CodeableConcept item : this.category) 843 if (!item.isEmpty()) 844 return true; 845 return false; 846 } 847 848 public CodeableConcept addCategory() { //3 849 CodeableConcept t = new CodeableConcept(); 850 if (this.category == null) 851 this.category = new ArrayList<CodeableConcept>(); 852 this.category.add(t); 853 return t; 854 } 855 856 public DiagnosticReport addCategory(CodeableConcept t) { //3 857 if (t == null) 858 return this; 859 if (this.category == null) 860 this.category = new ArrayList<CodeableConcept>(); 861 this.category.add(t); 862 return this; 863 } 864 865 /** 866 * @return The first repetition of repeating field {@link #category}, creating it if it does not already exist {3} 867 */ 868 public CodeableConcept getCategoryFirstRep() { 869 if (getCategory().isEmpty()) { 870 addCategory(); 871 } 872 return getCategory().get(0); 873 } 874 875 /** 876 * @return {@link #code} (A code or name that describes this diagnostic report.) 877 */ 878 public CodeableConcept getCode() { 879 if (this.code == null) 880 if (Configuration.errorOnAutoCreate()) 881 throw new Error("Attempt to auto-create DiagnosticReport.code"); 882 else if (Configuration.doAutoCreate()) 883 this.code = new CodeableConcept(); // cc 884 return this.code; 885 } 886 887 public boolean hasCode() { 888 return this.code != null && !this.code.isEmpty(); 889 } 890 891 /** 892 * @param value {@link #code} (A code or name that describes this diagnostic report.) 893 */ 894 public DiagnosticReport setCode(CodeableConcept value) { 895 this.code = value; 896 return this; 897 } 898 899 /** 900 * @return {@link #subject} (The subject of the report. Usually, but not always, this is a patient. However, diagnostic services also perform analyses on specimens collected from a variety of other sources.) 901 */ 902 public Reference getSubject() { 903 if (this.subject == null) 904 if (Configuration.errorOnAutoCreate()) 905 throw new Error("Attempt to auto-create DiagnosticReport.subject"); 906 else if (Configuration.doAutoCreate()) 907 this.subject = new Reference(); // cc 908 return this.subject; 909 } 910 911 public boolean hasSubject() { 912 return this.subject != null && !this.subject.isEmpty(); 913 } 914 915 /** 916 * @param value {@link #subject} (The subject of the report. Usually, but not always, this is a patient. However, diagnostic services also perform analyses on specimens collected from a variety of other sources.) 917 */ 918 public DiagnosticReport setSubject(Reference value) { 919 this.subject = value; 920 return this; 921 } 922 923 /** 924 * @return {@link #encounter} (The healthcare event (e.g. a patient and healthcare provider interaction) which this DiagnosticReport is about.) 925 */ 926 public Reference getEncounter() { 927 if (this.encounter == null) 928 if (Configuration.errorOnAutoCreate()) 929 throw new Error("Attempt to auto-create DiagnosticReport.encounter"); 930 else if (Configuration.doAutoCreate()) 931 this.encounter = new Reference(); // cc 932 return this.encounter; 933 } 934 935 public boolean hasEncounter() { 936 return this.encounter != null && !this.encounter.isEmpty(); 937 } 938 939 /** 940 * @param value {@link #encounter} (The healthcare event (e.g. a patient and healthcare provider interaction) which this DiagnosticReport is about.) 941 */ 942 public DiagnosticReport setEncounter(Reference value) { 943 this.encounter = value; 944 return this; 945 } 946 947 /** 948 * @return {@link #effective} (The time or time-period the observed values are related to. When the subject of the report is a patient, this is usually either the time of the procedure or of specimen collection(s), but very often the source of the date/time is not known, only the date/time itself.) 949 */ 950 public DataType getEffective() { 951 return this.effective; 952 } 953 954 /** 955 * @return {@link #effective} (The time or time-period the observed values are related to. When the subject of the report is a patient, this is usually either the time of the procedure or of specimen collection(s), but very often the source of the date/time is not known, only the date/time itself.) 956 */ 957 public DateTimeType getEffectiveDateTimeType() throws FHIRException { 958 if (this.effective == null) 959 this.effective = new DateTimeType(); 960 if (!(this.effective instanceof DateTimeType)) 961 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.effective.getClass().getName()+" was encountered"); 962 return (DateTimeType) this.effective; 963 } 964 965 public boolean hasEffectiveDateTimeType() { 966 return this != null && this.effective instanceof DateTimeType; 967 } 968 969 /** 970 * @return {@link #effective} (The time or time-period the observed values are related to. When the subject of the report is a patient, this is usually either the time of the procedure or of specimen collection(s), but very often the source of the date/time is not known, only the date/time itself.) 971 */ 972 public Period getEffectivePeriod() throws FHIRException { 973 if (this.effective == null) 974 this.effective = new Period(); 975 if (!(this.effective instanceof Period)) 976 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.effective.getClass().getName()+" was encountered"); 977 return (Period) this.effective; 978 } 979 980 public boolean hasEffectivePeriod() { 981 return this != null && this.effective instanceof Period; 982 } 983 984 public boolean hasEffective() { 985 return this.effective != null && !this.effective.isEmpty(); 986 } 987 988 /** 989 * @param value {@link #effective} (The time or time-period the observed values are related to. When the subject of the report is a patient, this is usually either the time of the procedure or of specimen collection(s), but very often the source of the date/time is not known, only the date/time itself.) 990 */ 991 public DiagnosticReport setEffective(DataType value) { 992 if (value != null && !(value instanceof DateTimeType || value instanceof Period)) 993 throw new Error("Not the right type for DiagnosticReport.effective[x]: "+value.fhirType()); 994 this.effective = value; 995 return this; 996 } 997 998 /** 999 * @return {@link #issued} (The date and time that this version of the report was made available to providers, typically after the report was reviewed and verified.). This is the underlying object with id, value and extensions. The accessor "getIssued" gives direct access to the value 1000 */ 1001 public InstantType getIssuedElement() { 1002 if (this.issued == null) 1003 if (Configuration.errorOnAutoCreate()) 1004 throw new Error("Attempt to auto-create DiagnosticReport.issued"); 1005 else if (Configuration.doAutoCreate()) 1006 this.issued = new InstantType(); // bb 1007 return this.issued; 1008 } 1009 1010 public boolean hasIssuedElement() { 1011 return this.issued != null && !this.issued.isEmpty(); 1012 } 1013 1014 public boolean hasIssued() { 1015 return this.issued != null && !this.issued.isEmpty(); 1016 } 1017 1018 /** 1019 * @param value {@link #issued} (The date and time that this version of the report was made available to providers, typically after the report was reviewed and verified.). This is the underlying object with id, value and extensions. The accessor "getIssued" gives direct access to the value 1020 */ 1021 public DiagnosticReport setIssuedElement(InstantType value) { 1022 this.issued = value; 1023 return this; 1024 } 1025 1026 /** 1027 * @return The date and time that this version of the report was made available to providers, typically after the report was reviewed and verified. 1028 */ 1029 public Date getIssued() { 1030 return this.issued == null ? null : this.issued.getValue(); 1031 } 1032 1033 /** 1034 * @param value The date and time that this version of the report was made available to providers, typically after the report was reviewed and verified. 1035 */ 1036 public DiagnosticReport setIssued(Date value) { 1037 if (value == null) 1038 this.issued = null; 1039 else { 1040 if (this.issued == null) 1041 this.issued = new InstantType(); 1042 this.issued.setValue(value); 1043 } 1044 return this; 1045 } 1046 1047 /** 1048 * @return {@link #performer} (The diagnostic service that is responsible for issuing the report.) 1049 */ 1050 public List<Reference> getPerformer() { 1051 if (this.performer == null) 1052 this.performer = new ArrayList<Reference>(); 1053 return this.performer; 1054 } 1055 1056 /** 1057 * @return Returns a reference to <code>this</code> for easy method chaining 1058 */ 1059 public DiagnosticReport setPerformer(List<Reference> thePerformer) { 1060 this.performer = thePerformer; 1061 return this; 1062 } 1063 1064 public boolean hasPerformer() { 1065 if (this.performer == null) 1066 return false; 1067 for (Reference item : this.performer) 1068 if (!item.isEmpty()) 1069 return true; 1070 return false; 1071 } 1072 1073 public Reference addPerformer() { //3 1074 Reference t = new Reference(); 1075 if (this.performer == null) 1076 this.performer = new ArrayList<Reference>(); 1077 this.performer.add(t); 1078 return t; 1079 } 1080 1081 public DiagnosticReport addPerformer(Reference t) { //3 1082 if (t == null) 1083 return this; 1084 if (this.performer == null) 1085 this.performer = new ArrayList<Reference>(); 1086 this.performer.add(t); 1087 return this; 1088 } 1089 1090 /** 1091 * @return The first repetition of repeating field {@link #performer}, creating it if it does not already exist {3} 1092 */ 1093 public Reference getPerformerFirstRep() { 1094 if (getPerformer().isEmpty()) { 1095 addPerformer(); 1096 } 1097 return getPerformer().get(0); 1098 } 1099 1100 /** 1101 * @return {@link #resultsInterpreter} (The practitioner or organization that is responsible for the report's conclusions and interpretations.) 1102 */ 1103 public List<Reference> getResultsInterpreter() { 1104 if (this.resultsInterpreter == null) 1105 this.resultsInterpreter = new ArrayList<Reference>(); 1106 return this.resultsInterpreter; 1107 } 1108 1109 /** 1110 * @return Returns a reference to <code>this</code> for easy method chaining 1111 */ 1112 public DiagnosticReport setResultsInterpreter(List<Reference> theResultsInterpreter) { 1113 this.resultsInterpreter = theResultsInterpreter; 1114 return this; 1115 } 1116 1117 public boolean hasResultsInterpreter() { 1118 if (this.resultsInterpreter == null) 1119 return false; 1120 for (Reference item : this.resultsInterpreter) 1121 if (!item.isEmpty()) 1122 return true; 1123 return false; 1124 } 1125 1126 public Reference addResultsInterpreter() { //3 1127 Reference t = new Reference(); 1128 if (this.resultsInterpreter == null) 1129 this.resultsInterpreter = new ArrayList<Reference>(); 1130 this.resultsInterpreter.add(t); 1131 return t; 1132 } 1133 1134 public DiagnosticReport addResultsInterpreter(Reference t) { //3 1135 if (t == null) 1136 return this; 1137 if (this.resultsInterpreter == null) 1138 this.resultsInterpreter = new ArrayList<Reference>(); 1139 this.resultsInterpreter.add(t); 1140 return this; 1141 } 1142 1143 /** 1144 * @return The first repetition of repeating field {@link #resultsInterpreter}, creating it if it does not already exist {3} 1145 */ 1146 public Reference getResultsInterpreterFirstRep() { 1147 if (getResultsInterpreter().isEmpty()) { 1148 addResultsInterpreter(); 1149 } 1150 return getResultsInterpreter().get(0); 1151 } 1152 1153 /** 1154 * @return {@link #specimen} (Details about the specimens on which this diagnostic report is based.) 1155 */ 1156 public List<Reference> getSpecimen() { 1157 if (this.specimen == null) 1158 this.specimen = new ArrayList<Reference>(); 1159 return this.specimen; 1160 } 1161 1162 /** 1163 * @return Returns a reference to <code>this</code> for easy method chaining 1164 */ 1165 public DiagnosticReport setSpecimen(List<Reference> theSpecimen) { 1166 this.specimen = theSpecimen; 1167 return this; 1168 } 1169 1170 public boolean hasSpecimen() { 1171 if (this.specimen == null) 1172 return false; 1173 for (Reference item : this.specimen) 1174 if (!item.isEmpty()) 1175 return true; 1176 return false; 1177 } 1178 1179 public Reference addSpecimen() { //3 1180 Reference t = new Reference(); 1181 if (this.specimen == null) 1182 this.specimen = new ArrayList<Reference>(); 1183 this.specimen.add(t); 1184 return t; 1185 } 1186 1187 public DiagnosticReport addSpecimen(Reference t) { //3 1188 if (t == null) 1189 return this; 1190 if (this.specimen == null) 1191 this.specimen = new ArrayList<Reference>(); 1192 this.specimen.add(t); 1193 return this; 1194 } 1195 1196 /** 1197 * @return The first repetition of repeating field {@link #specimen}, creating it if it does not already exist {3} 1198 */ 1199 public Reference getSpecimenFirstRep() { 1200 if (getSpecimen().isEmpty()) { 1201 addSpecimen(); 1202 } 1203 return getSpecimen().get(0); 1204 } 1205 1206 /** 1207 * @return {@link #result} ([Observations](observation.html) that are part of this diagnostic report.) 1208 */ 1209 public List<Reference> getResult() { 1210 if (this.result == null) 1211 this.result = new ArrayList<Reference>(); 1212 return this.result; 1213 } 1214 1215 /** 1216 * @return Returns a reference to <code>this</code> for easy method chaining 1217 */ 1218 public DiagnosticReport setResult(List<Reference> theResult) { 1219 this.result = theResult; 1220 return this; 1221 } 1222 1223 public boolean hasResult() { 1224 if (this.result == null) 1225 return false; 1226 for (Reference item : this.result) 1227 if (!item.isEmpty()) 1228 return true; 1229 return false; 1230 } 1231 1232 public Reference addResult() { //3 1233 Reference t = new Reference(); 1234 if (this.result == null) 1235 this.result = new ArrayList<Reference>(); 1236 this.result.add(t); 1237 return t; 1238 } 1239 1240 public DiagnosticReport addResult(Reference t) { //3 1241 if (t == null) 1242 return this; 1243 if (this.result == null) 1244 this.result = new ArrayList<Reference>(); 1245 this.result.add(t); 1246 return this; 1247 } 1248 1249 /** 1250 * @return The first repetition of repeating field {@link #result}, creating it if it does not already exist {3} 1251 */ 1252 public Reference getResultFirstRep() { 1253 if (getResult().isEmpty()) { 1254 addResult(); 1255 } 1256 return getResult().get(0); 1257 } 1258 1259 /** 1260 * @return {@link #note} (Comments about the diagnostic report.) 1261 */ 1262 public List<Annotation> getNote() { 1263 if (this.note == null) 1264 this.note = new ArrayList<Annotation>(); 1265 return this.note; 1266 } 1267 1268 /** 1269 * @return Returns a reference to <code>this</code> for easy method chaining 1270 */ 1271 public DiagnosticReport setNote(List<Annotation> theNote) { 1272 this.note = theNote; 1273 return this; 1274 } 1275 1276 public boolean hasNote() { 1277 if (this.note == null) 1278 return false; 1279 for (Annotation item : this.note) 1280 if (!item.isEmpty()) 1281 return true; 1282 return false; 1283 } 1284 1285 public Annotation addNote() { //3 1286 Annotation t = new Annotation(); 1287 if (this.note == null) 1288 this.note = new ArrayList<Annotation>(); 1289 this.note.add(t); 1290 return t; 1291 } 1292 1293 public DiagnosticReport addNote(Annotation t) { //3 1294 if (t == null) 1295 return this; 1296 if (this.note == null) 1297 this.note = new ArrayList<Annotation>(); 1298 this.note.add(t); 1299 return this; 1300 } 1301 1302 /** 1303 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist {3} 1304 */ 1305 public Annotation getNoteFirstRep() { 1306 if (getNote().isEmpty()) { 1307 addNote(); 1308 } 1309 return getNote().get(0); 1310 } 1311 1312 /** 1313 * @return {@link #imagingStudy} (One or more links to full details of any imaging performed during the diagnostic investigation. Typically, this is imaging performed by DICOM enabled modalities, but this is not required. A fully enabled PACS viewer can use this information to provide views of the source images.) 1314 */ 1315 public List<Reference> getImagingStudy() { 1316 if (this.imagingStudy == null) 1317 this.imagingStudy = new ArrayList<Reference>(); 1318 return this.imagingStudy; 1319 } 1320 1321 /** 1322 * @return Returns a reference to <code>this</code> for easy method chaining 1323 */ 1324 public DiagnosticReport setImagingStudy(List<Reference> theImagingStudy) { 1325 this.imagingStudy = theImagingStudy; 1326 return this; 1327 } 1328 1329 public boolean hasImagingStudy() { 1330 if (this.imagingStudy == null) 1331 return false; 1332 for (Reference item : this.imagingStudy) 1333 if (!item.isEmpty()) 1334 return true; 1335 return false; 1336 } 1337 1338 public Reference addImagingStudy() { //3 1339 Reference t = new Reference(); 1340 if (this.imagingStudy == null) 1341 this.imagingStudy = new ArrayList<Reference>(); 1342 this.imagingStudy.add(t); 1343 return t; 1344 } 1345 1346 public DiagnosticReport addImagingStudy(Reference t) { //3 1347 if (t == null) 1348 return this; 1349 if (this.imagingStudy == null) 1350 this.imagingStudy = new ArrayList<Reference>(); 1351 this.imagingStudy.add(t); 1352 return this; 1353 } 1354 1355 /** 1356 * @return The first repetition of repeating field {@link #imagingStudy}, creating it if it does not already exist {3} 1357 */ 1358 public Reference getImagingStudyFirstRep() { 1359 if (getImagingStudy().isEmpty()) { 1360 addImagingStudy(); 1361 } 1362 return getImagingStudy().get(0); 1363 } 1364 1365 /** 1366 * @return {@link #media} (A list of key images or data associated with this report. The images or data are generally created during the diagnostic process, and may be directly of the patient, or of treated specimens (i.e. slides of interest).) 1367 */ 1368 public List<DiagnosticReportMediaComponent> getMedia() { 1369 if (this.media == null) 1370 this.media = new ArrayList<DiagnosticReportMediaComponent>(); 1371 return this.media; 1372 } 1373 1374 /** 1375 * @return Returns a reference to <code>this</code> for easy method chaining 1376 */ 1377 public DiagnosticReport setMedia(List<DiagnosticReportMediaComponent> theMedia) { 1378 this.media = theMedia; 1379 return this; 1380 } 1381 1382 public boolean hasMedia() { 1383 if (this.media == null) 1384 return false; 1385 for (DiagnosticReportMediaComponent item : this.media) 1386 if (!item.isEmpty()) 1387 return true; 1388 return false; 1389 } 1390 1391 public DiagnosticReportMediaComponent addMedia() { //3 1392 DiagnosticReportMediaComponent t = new DiagnosticReportMediaComponent(); 1393 if (this.media == null) 1394 this.media = new ArrayList<DiagnosticReportMediaComponent>(); 1395 this.media.add(t); 1396 return t; 1397 } 1398 1399 public DiagnosticReport addMedia(DiagnosticReportMediaComponent t) { //3 1400 if (t == null) 1401 return this; 1402 if (this.media == null) 1403 this.media = new ArrayList<DiagnosticReportMediaComponent>(); 1404 this.media.add(t); 1405 return this; 1406 } 1407 1408 /** 1409 * @return The first repetition of repeating field {@link #media}, creating it if it does not already exist {3} 1410 */ 1411 public DiagnosticReportMediaComponent getMediaFirstRep() { 1412 if (getMedia().isEmpty()) { 1413 addMedia(); 1414 } 1415 return getMedia().get(0); 1416 } 1417 1418 /** 1419 * @return {@link #composition} (Reference to a Composition resource instance that provides structure for organizing the contents of the DiagnosticReport.) 1420 */ 1421 public Reference getComposition() { 1422 if (this.composition == null) 1423 if (Configuration.errorOnAutoCreate()) 1424 throw new Error("Attempt to auto-create DiagnosticReport.composition"); 1425 else if (Configuration.doAutoCreate()) 1426 this.composition = new Reference(); // cc 1427 return this.composition; 1428 } 1429 1430 public boolean hasComposition() { 1431 return this.composition != null && !this.composition.isEmpty(); 1432 } 1433 1434 /** 1435 * @param value {@link #composition} (Reference to a Composition resource instance that provides structure for organizing the contents of the DiagnosticReport.) 1436 */ 1437 public DiagnosticReport setComposition(Reference value) { 1438 this.composition = value; 1439 return this; 1440 } 1441 1442 /** 1443 * @return {@link #conclusion} (Concise and clinically contextualized summary conclusion (interpretation/impression) of the diagnostic report.). This is the underlying object with id, value and extensions. The accessor "getConclusion" gives direct access to the value 1444 */ 1445 public StringType getConclusionElement() { 1446 if (this.conclusion == null) 1447 if (Configuration.errorOnAutoCreate()) 1448 throw new Error("Attempt to auto-create DiagnosticReport.conclusion"); 1449 else if (Configuration.doAutoCreate()) 1450 this.conclusion = new StringType(); // bb 1451 return this.conclusion; 1452 } 1453 1454 public boolean hasConclusionElement() { 1455 return this.conclusion != null && !this.conclusion.isEmpty(); 1456 } 1457 1458 public boolean hasConclusion() { 1459 return this.conclusion != null && !this.conclusion.isEmpty(); 1460 } 1461 1462 /** 1463 * @param value {@link #conclusion} (Concise and clinically contextualized summary conclusion (interpretation/impression) of the diagnostic report.). This is the underlying object with id, value and extensions. The accessor "getConclusion" gives direct access to the value 1464 */ 1465 public DiagnosticReport setConclusionElement(StringType value) { 1466 this.conclusion = value; 1467 return this; 1468 } 1469 1470 /** 1471 * @return Concise and clinically contextualized summary conclusion (interpretation/impression) of the diagnostic report. 1472 */ 1473 public String getConclusion() { 1474 return this.conclusion == null ? null : this.conclusion.getValue(); 1475 } 1476 1477 /** 1478 * @param value Concise and clinically contextualized summary conclusion (interpretation/impression) of the diagnostic report. 1479 */ 1480 public DiagnosticReport setConclusion(String value) { 1481 if (Utilities.noString(value)) 1482 this.conclusion = null; 1483 else { 1484 if (this.conclusion == null) 1485 this.conclusion = new StringType(); 1486 this.conclusion.setValue(value); 1487 } 1488 return this; 1489 } 1490 1491 /** 1492 * @return {@link #conclusionCode} (One or more codes that represent the summary conclusion (interpretation/impression) of the diagnostic report.) 1493 */ 1494 public List<CodeableConcept> getConclusionCode() { 1495 if (this.conclusionCode == null) 1496 this.conclusionCode = new ArrayList<CodeableConcept>(); 1497 return this.conclusionCode; 1498 } 1499 1500 /** 1501 * @return Returns a reference to <code>this</code> for easy method chaining 1502 */ 1503 public DiagnosticReport setConclusionCode(List<CodeableConcept> theConclusionCode) { 1504 this.conclusionCode = theConclusionCode; 1505 return this; 1506 } 1507 1508 public boolean hasConclusionCode() { 1509 if (this.conclusionCode == null) 1510 return false; 1511 for (CodeableConcept item : this.conclusionCode) 1512 if (!item.isEmpty()) 1513 return true; 1514 return false; 1515 } 1516 1517 public CodeableConcept addConclusionCode() { //3 1518 CodeableConcept t = new CodeableConcept(); 1519 if (this.conclusionCode == null) 1520 this.conclusionCode = new ArrayList<CodeableConcept>(); 1521 this.conclusionCode.add(t); 1522 return t; 1523 } 1524 1525 public DiagnosticReport addConclusionCode(CodeableConcept t) { //3 1526 if (t == null) 1527 return this; 1528 if (this.conclusionCode == null) 1529 this.conclusionCode = new ArrayList<CodeableConcept>(); 1530 this.conclusionCode.add(t); 1531 return this; 1532 } 1533 1534 /** 1535 * @return The first repetition of repeating field {@link #conclusionCode}, creating it if it does not already exist {3} 1536 */ 1537 public CodeableConcept getConclusionCodeFirstRep() { 1538 if (getConclusionCode().isEmpty()) { 1539 addConclusionCode(); 1540 } 1541 return getConclusionCode().get(0); 1542 } 1543 1544 /** 1545 * @return {@link #presentedForm} (Rich text representation of the entire result as issued by the diagnostic service. Multiple formats are allowed but they SHALL be semantically equivalent.) 1546 */ 1547 public List<Attachment> getPresentedForm() { 1548 if (this.presentedForm == null) 1549 this.presentedForm = new ArrayList<Attachment>(); 1550 return this.presentedForm; 1551 } 1552 1553 /** 1554 * @return Returns a reference to <code>this</code> for easy method chaining 1555 */ 1556 public DiagnosticReport setPresentedForm(List<Attachment> thePresentedForm) { 1557 this.presentedForm = thePresentedForm; 1558 return this; 1559 } 1560 1561 public boolean hasPresentedForm() { 1562 if (this.presentedForm == null) 1563 return false; 1564 for (Attachment item : this.presentedForm) 1565 if (!item.isEmpty()) 1566 return true; 1567 return false; 1568 } 1569 1570 public Attachment addPresentedForm() { //3 1571 Attachment t = new Attachment(); 1572 if (this.presentedForm == null) 1573 this.presentedForm = new ArrayList<Attachment>(); 1574 this.presentedForm.add(t); 1575 return t; 1576 } 1577 1578 public DiagnosticReport addPresentedForm(Attachment t) { //3 1579 if (t == null) 1580 return this; 1581 if (this.presentedForm == null) 1582 this.presentedForm = new ArrayList<Attachment>(); 1583 this.presentedForm.add(t); 1584 return this; 1585 } 1586 1587 /** 1588 * @return The first repetition of repeating field {@link #presentedForm}, creating it if it does not already exist {3} 1589 */ 1590 public Attachment getPresentedFormFirstRep() { 1591 if (getPresentedForm().isEmpty()) { 1592 addPresentedForm(); 1593 } 1594 return getPresentedForm().get(0); 1595 } 1596 1597 protected void listChildren(List<Property> children) { 1598 super.listChildren(children); 1599 children.add(new Property("identifier", "Identifier", "Identifiers assigned to this report by the performer or other systems.", 0, java.lang.Integer.MAX_VALUE, identifier)); 1600 children.add(new Property("basedOn", "Reference(CarePlan|ImmunizationRecommendation|MedicationRequest|NutritionOrder|ServiceRequest)", "Details concerning a service requested.", 0, java.lang.Integer.MAX_VALUE, basedOn)); 1601 children.add(new Property("status", "code", "The status of the diagnostic report.", 0, 1, status)); 1602 children.add(new Property("category", "CodeableConcept", "A code that classifies the clinical discipline, department or diagnostic service that created the report (e.g. cardiology, biochemistry, hematology, MRI). This is used for searching, sorting and display purposes.", 0, java.lang.Integer.MAX_VALUE, category)); 1603 children.add(new Property("code", "CodeableConcept", "A code or name that describes this diagnostic report.", 0, 1, code)); 1604 children.add(new Property("subject", "Reference(Patient|Group|Device|Location|Organization|Procedure|Practitioner|Medication|Substance|BiologicallyDerivedProduct)", "The subject of the report. Usually, but not always, this is a patient. However, diagnostic services also perform analyses on specimens collected from a variety of other sources.", 0, 1, subject)); 1605 children.add(new Property("encounter", "Reference(Encounter)", "The healthcare event (e.g. a patient and healthcare provider interaction) which this DiagnosticReport is about.", 0, 1, encounter)); 1606 children.add(new Property("effective[x]", "dateTime|Period", "The time or time-period the observed values are related to. When the subject of the report is a patient, this is usually either the time of the procedure or of specimen collection(s), but very often the source of the date/time is not known, only the date/time itself.", 0, 1, effective)); 1607 children.add(new Property("issued", "instant", "The date and time that this version of the report was made available to providers, typically after the report was reviewed and verified.", 0, 1, issued)); 1608 children.add(new Property("performer", "Reference(Practitioner|PractitionerRole|Organization|CareTeam)", "The diagnostic service that is responsible for issuing the report.", 0, java.lang.Integer.MAX_VALUE, performer)); 1609 children.add(new Property("resultsInterpreter", "Reference(Practitioner|PractitionerRole|Organization|CareTeam)", "The practitioner or organization that is responsible for the report's conclusions and interpretations.", 0, java.lang.Integer.MAX_VALUE, resultsInterpreter)); 1610 children.add(new Property("specimen", "Reference(Specimen)", "Details about the specimens on which this diagnostic report is based.", 0, java.lang.Integer.MAX_VALUE, specimen)); 1611 children.add(new Property("result", "Reference(Observation)", "[Observations](observation.html) that are part of this diagnostic report.", 0, java.lang.Integer.MAX_VALUE, result)); 1612 children.add(new Property("note", "Annotation", "Comments about the diagnostic report.", 0, java.lang.Integer.MAX_VALUE, note)); 1613 children.add(new Property("imagingStudy", "Reference(ImagingStudy)", "One or more links to full details of any imaging performed during the diagnostic investigation. Typically, this is imaging performed by DICOM enabled modalities, but this is not required. A fully enabled PACS viewer can use this information to provide views of the source images.", 0, java.lang.Integer.MAX_VALUE, imagingStudy)); 1614 children.add(new Property("media", "", "A list of key images or data associated with this report. The images or data are generally created during the diagnostic process, and may be directly of the patient, or of treated specimens (i.e. slides of interest).", 0, java.lang.Integer.MAX_VALUE, media)); 1615 children.add(new Property("composition", "Reference(Composition)", "Reference to a Composition resource instance that provides structure for organizing the contents of the DiagnosticReport.", 0, 1, composition)); 1616 children.add(new Property("conclusion", "string", "Concise and clinically contextualized summary conclusion (interpretation/impression) of the diagnostic report.", 0, 1, conclusion)); 1617 children.add(new Property("conclusionCode", "CodeableConcept", "One or more codes that represent the summary conclusion (interpretation/impression) of the diagnostic report.", 0, java.lang.Integer.MAX_VALUE, conclusionCode)); 1618 children.add(new Property("presentedForm", "Attachment", "Rich text representation of the entire result as issued by the diagnostic service. Multiple formats are allowed but they SHALL be semantically equivalent.", 0, java.lang.Integer.MAX_VALUE, presentedForm)); 1619 } 1620 1621 @Override 1622 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1623 switch (_hash) { 1624 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Identifiers assigned to this report by the performer or other systems.", 0, java.lang.Integer.MAX_VALUE, identifier); 1625 case -332612366: /*basedOn*/ return new Property("basedOn", "Reference(CarePlan|ImmunizationRecommendation|MedicationRequest|NutritionOrder|ServiceRequest)", "Details concerning a service requested.", 0, java.lang.Integer.MAX_VALUE, basedOn); 1626 case -892481550: /*status*/ return new Property("status", "code", "The status of the diagnostic report.", 0, 1, status); 1627 case 50511102: /*category*/ return new Property("category", "CodeableConcept", "A code that classifies the clinical discipline, department or diagnostic service that created the report (e.g. cardiology, biochemistry, hematology, MRI). This is used for searching, sorting and display purposes.", 0, java.lang.Integer.MAX_VALUE, category); 1628 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "A code or name that describes this diagnostic report.", 0, 1, code); 1629 case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group|Device|Location|Organization|Procedure|Practitioner|Medication|Substance|BiologicallyDerivedProduct)", "The subject of the report. Usually, but not always, this is a patient. However, diagnostic services also perform analyses on specimens collected from a variety of other sources.", 0, 1, subject); 1630 case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "The healthcare event (e.g. a patient and healthcare provider interaction) which this DiagnosticReport is about.", 0, 1, encounter); 1631 case 247104889: /*effective[x]*/ return new Property("effective[x]", "dateTime|Period", "The time or time-period the observed values are related to. When the subject of the report is a patient, this is usually either the time of the procedure or of specimen collection(s), but very often the source of the date/time is not known, only the date/time itself.", 0, 1, effective); 1632 case -1468651097: /*effective*/ return new Property("effective[x]", "dateTime|Period", "The time or time-period the observed values are related to. When the subject of the report is a patient, this is usually either the time of the procedure or of specimen collection(s), but very often the source of the date/time is not known, only the date/time itself.", 0, 1, effective); 1633 case -275306910: /*effectiveDateTime*/ return new Property("effective[x]", "dateTime", "The time or time-period the observed values are related to. When the subject of the report is a patient, this is usually either the time of the procedure or of specimen collection(s), but very often the source of the date/time is not known, only the date/time itself.", 0, 1, effective); 1634 case -403934648: /*effectivePeriod*/ return new Property("effective[x]", "Period", "The time or time-period the observed values are related to. When the subject of the report is a patient, this is usually either the time of the procedure or of specimen collection(s), but very often the source of the date/time is not known, only the date/time itself.", 0, 1, effective); 1635 case -1179159893: /*issued*/ return new Property("issued", "instant", "The date and time that this version of the report was made available to providers, typically after the report was reviewed and verified.", 0, 1, issued); 1636 case 481140686: /*performer*/ return new Property("performer", "Reference(Practitioner|PractitionerRole|Organization|CareTeam)", "The diagnostic service that is responsible for issuing the report.", 0, java.lang.Integer.MAX_VALUE, performer); 1637 case 2134944932: /*resultsInterpreter*/ return new Property("resultsInterpreter", "Reference(Practitioner|PractitionerRole|Organization|CareTeam)", "The practitioner or organization that is responsible for the report's conclusions and interpretations.", 0, java.lang.Integer.MAX_VALUE, resultsInterpreter); 1638 case -2132868344: /*specimen*/ return new Property("specimen", "Reference(Specimen)", "Details about the specimens on which this diagnostic report is based.", 0, java.lang.Integer.MAX_VALUE, specimen); 1639 case -934426595: /*result*/ return new Property("result", "Reference(Observation)", "[Observations](observation.html) that are part of this diagnostic report.", 0, java.lang.Integer.MAX_VALUE, result); 1640 case 3387378: /*note*/ return new Property("note", "Annotation", "Comments about the diagnostic report.", 0, java.lang.Integer.MAX_VALUE, note); 1641 case -814900911: /*imagingStudy*/ return new Property("imagingStudy", "Reference(ImagingStudy)", "One or more links to full details of any imaging performed during the diagnostic investigation. Typically, this is imaging performed by DICOM enabled modalities, but this is not required. A fully enabled PACS viewer can use this information to provide views of the source images.", 0, java.lang.Integer.MAX_VALUE, imagingStudy); 1642 case 103772132: /*media*/ return new Property("media", "", "A list of key images or data associated with this report. The images or data are generally created during the diagnostic process, and may be directly of the patient, or of treated specimens (i.e. slides of interest).", 0, java.lang.Integer.MAX_VALUE, media); 1643 case -838923862: /*composition*/ return new Property("composition", "Reference(Composition)", "Reference to a Composition resource instance that provides structure for organizing the contents of the DiagnosticReport.", 0, 1, composition); 1644 case -1731259873: /*conclusion*/ return new Property("conclusion", "string", "Concise and clinically contextualized summary conclusion (interpretation/impression) of the diagnostic report.", 0, 1, conclusion); 1645 case -1731523412: /*conclusionCode*/ return new Property("conclusionCode", "CodeableConcept", "One or more codes that represent the summary conclusion (interpretation/impression) of the diagnostic report.", 0, java.lang.Integer.MAX_VALUE, conclusionCode); 1646 case 230090366: /*presentedForm*/ return new Property("presentedForm", "Attachment", "Rich text representation of the entire result as issued by the diagnostic service. Multiple formats are allowed but they SHALL be semantically equivalent.", 0, java.lang.Integer.MAX_VALUE, presentedForm); 1647 default: return super.getNamedProperty(_hash, _name, _checkValid); 1648 } 1649 1650 } 1651 1652 @Override 1653 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1654 switch (hash) { 1655 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1656 case -332612366: /*basedOn*/ return this.basedOn == null ? new Base[0] : this.basedOn.toArray(new Base[this.basedOn.size()]); // Reference 1657 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<DiagnosticReportStatus> 1658 case 50511102: /*category*/ return this.category == null ? new Base[0] : this.category.toArray(new Base[this.category.size()]); // CodeableConcept 1659 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 1660 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 1661 case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference 1662 case -1468651097: /*effective*/ return this.effective == null ? new Base[0] : new Base[] {this.effective}; // DataType 1663 case -1179159893: /*issued*/ return this.issued == null ? new Base[0] : new Base[] {this.issued}; // InstantType 1664 case 481140686: /*performer*/ return this.performer == null ? new Base[0] : this.performer.toArray(new Base[this.performer.size()]); // Reference 1665 case 2134944932: /*resultsInterpreter*/ return this.resultsInterpreter == null ? new Base[0] : this.resultsInterpreter.toArray(new Base[this.resultsInterpreter.size()]); // Reference 1666 case -2132868344: /*specimen*/ return this.specimen == null ? new Base[0] : this.specimen.toArray(new Base[this.specimen.size()]); // Reference 1667 case -934426595: /*result*/ return this.result == null ? new Base[0] : this.result.toArray(new Base[this.result.size()]); // Reference 1668 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 1669 case -814900911: /*imagingStudy*/ return this.imagingStudy == null ? new Base[0] : this.imagingStudy.toArray(new Base[this.imagingStudy.size()]); // Reference 1670 case 103772132: /*media*/ return this.media == null ? new Base[0] : this.media.toArray(new Base[this.media.size()]); // DiagnosticReportMediaComponent 1671 case -838923862: /*composition*/ return this.composition == null ? new Base[0] : new Base[] {this.composition}; // Reference 1672 case -1731259873: /*conclusion*/ return this.conclusion == null ? new Base[0] : new Base[] {this.conclusion}; // StringType 1673 case -1731523412: /*conclusionCode*/ return this.conclusionCode == null ? new Base[0] : this.conclusionCode.toArray(new Base[this.conclusionCode.size()]); // CodeableConcept 1674 case 230090366: /*presentedForm*/ return this.presentedForm == null ? new Base[0] : this.presentedForm.toArray(new Base[this.presentedForm.size()]); // Attachment 1675 default: return super.getProperty(hash, name, checkValid); 1676 } 1677 1678 } 1679 1680 @Override 1681 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1682 switch (hash) { 1683 case -1618432855: // identifier 1684 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 1685 return value; 1686 case -332612366: // basedOn 1687 this.getBasedOn().add(TypeConvertor.castToReference(value)); // Reference 1688 return value; 1689 case -892481550: // status 1690 value = new DiagnosticReportStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 1691 this.status = (Enumeration) value; // Enumeration<DiagnosticReportStatus> 1692 return value; 1693 case 50511102: // category 1694 this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1695 return value; 1696 case 3059181: // code 1697 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1698 return value; 1699 case -1867885268: // subject 1700 this.subject = TypeConvertor.castToReference(value); // Reference 1701 return value; 1702 case 1524132147: // encounter 1703 this.encounter = TypeConvertor.castToReference(value); // Reference 1704 return value; 1705 case -1468651097: // effective 1706 this.effective = TypeConvertor.castToType(value); // DataType 1707 return value; 1708 case -1179159893: // issued 1709 this.issued = TypeConvertor.castToInstant(value); // InstantType 1710 return value; 1711 case 481140686: // performer 1712 this.getPerformer().add(TypeConvertor.castToReference(value)); // Reference 1713 return value; 1714 case 2134944932: // resultsInterpreter 1715 this.getResultsInterpreter().add(TypeConvertor.castToReference(value)); // Reference 1716 return value; 1717 case -2132868344: // specimen 1718 this.getSpecimen().add(TypeConvertor.castToReference(value)); // Reference 1719 return value; 1720 case -934426595: // result 1721 this.getResult().add(TypeConvertor.castToReference(value)); // Reference 1722 return value; 1723 case 3387378: // note 1724 this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation 1725 return value; 1726 case -814900911: // imagingStudy 1727 this.getImagingStudy().add(TypeConvertor.castToReference(value)); // Reference 1728 return value; 1729 case 103772132: // media 1730 this.getMedia().add((DiagnosticReportMediaComponent) value); // DiagnosticReportMediaComponent 1731 return value; 1732 case -838923862: // composition 1733 this.composition = TypeConvertor.castToReference(value); // Reference 1734 return value; 1735 case -1731259873: // conclusion 1736 this.conclusion = TypeConvertor.castToString(value); // StringType 1737 return value; 1738 case -1731523412: // conclusionCode 1739 this.getConclusionCode().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1740 return value; 1741 case 230090366: // presentedForm 1742 this.getPresentedForm().add(TypeConvertor.castToAttachment(value)); // Attachment 1743 return value; 1744 default: return super.setProperty(hash, name, value); 1745 } 1746 1747 } 1748 1749 @Override 1750 public Base setProperty(String name, Base value) throws FHIRException { 1751 if (name.equals("identifier")) { 1752 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 1753 } else if (name.equals("basedOn")) { 1754 this.getBasedOn().add(TypeConvertor.castToReference(value)); 1755 } else if (name.equals("status")) { 1756 value = new DiagnosticReportStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 1757 this.status = (Enumeration) value; // Enumeration<DiagnosticReportStatus> 1758 } else if (name.equals("category")) { 1759 this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); 1760 } else if (name.equals("code")) { 1761 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1762 } else if (name.equals("subject")) { 1763 this.subject = TypeConvertor.castToReference(value); // Reference 1764 } else if (name.equals("encounter")) { 1765 this.encounter = TypeConvertor.castToReference(value); // Reference 1766 } else if (name.equals("effective[x]")) { 1767 this.effective = TypeConvertor.castToType(value); // DataType 1768 } else if (name.equals("issued")) { 1769 this.issued = TypeConvertor.castToInstant(value); // InstantType 1770 } else if (name.equals("performer")) { 1771 this.getPerformer().add(TypeConvertor.castToReference(value)); 1772 } else if (name.equals("resultsInterpreter")) { 1773 this.getResultsInterpreter().add(TypeConvertor.castToReference(value)); 1774 } else if (name.equals("specimen")) { 1775 this.getSpecimen().add(TypeConvertor.castToReference(value)); 1776 } else if (name.equals("result")) { 1777 this.getResult().add(TypeConvertor.castToReference(value)); 1778 } else if (name.equals("note")) { 1779 this.getNote().add(TypeConvertor.castToAnnotation(value)); 1780 } else if (name.equals("imagingStudy")) { 1781 this.getImagingStudy().add(TypeConvertor.castToReference(value)); 1782 } else if (name.equals("media")) { 1783 this.getMedia().add((DiagnosticReportMediaComponent) value); 1784 } else if (name.equals("composition")) { 1785 this.composition = TypeConvertor.castToReference(value); // Reference 1786 } else if (name.equals("conclusion")) { 1787 this.conclusion = TypeConvertor.castToString(value); // StringType 1788 } else if (name.equals("conclusionCode")) { 1789 this.getConclusionCode().add(TypeConvertor.castToCodeableConcept(value)); 1790 } else if (name.equals("presentedForm")) { 1791 this.getPresentedForm().add(TypeConvertor.castToAttachment(value)); 1792 } else 1793 return super.setProperty(name, value); 1794 return value; 1795 } 1796 1797 @Override 1798 public Base makeProperty(int hash, String name) throws FHIRException { 1799 switch (hash) { 1800 case -1618432855: return addIdentifier(); 1801 case -332612366: return addBasedOn(); 1802 case -892481550: return getStatusElement(); 1803 case 50511102: return addCategory(); 1804 case 3059181: return getCode(); 1805 case -1867885268: return getSubject(); 1806 case 1524132147: return getEncounter(); 1807 case 247104889: return getEffective(); 1808 case -1468651097: return getEffective(); 1809 case -1179159893: return getIssuedElement(); 1810 case 481140686: return addPerformer(); 1811 case 2134944932: return addResultsInterpreter(); 1812 case -2132868344: return addSpecimen(); 1813 case -934426595: return addResult(); 1814 case 3387378: return addNote(); 1815 case -814900911: return addImagingStudy(); 1816 case 103772132: return addMedia(); 1817 case -838923862: return getComposition(); 1818 case -1731259873: return getConclusionElement(); 1819 case -1731523412: return addConclusionCode(); 1820 case 230090366: return addPresentedForm(); 1821 default: return super.makeProperty(hash, name); 1822 } 1823 1824 } 1825 1826 @Override 1827 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1828 switch (hash) { 1829 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1830 case -332612366: /*basedOn*/ return new String[] {"Reference"}; 1831 case -892481550: /*status*/ return new String[] {"code"}; 1832 case 50511102: /*category*/ return new String[] {"CodeableConcept"}; 1833 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 1834 case -1867885268: /*subject*/ return new String[] {"Reference"}; 1835 case 1524132147: /*encounter*/ return new String[] {"Reference"}; 1836 case -1468651097: /*effective*/ return new String[] {"dateTime", "Period"}; 1837 case -1179159893: /*issued*/ return new String[] {"instant"}; 1838 case 481140686: /*performer*/ return new String[] {"Reference"}; 1839 case 2134944932: /*resultsInterpreter*/ return new String[] {"Reference"}; 1840 case -2132868344: /*specimen*/ return new String[] {"Reference"}; 1841 case -934426595: /*result*/ return new String[] {"Reference"}; 1842 case 3387378: /*note*/ return new String[] {"Annotation"}; 1843 case -814900911: /*imagingStudy*/ return new String[] {"Reference"}; 1844 case 103772132: /*media*/ return new String[] {}; 1845 case -838923862: /*composition*/ return new String[] {"Reference"}; 1846 case -1731259873: /*conclusion*/ return new String[] {"string"}; 1847 case -1731523412: /*conclusionCode*/ return new String[] {"CodeableConcept"}; 1848 case 230090366: /*presentedForm*/ return new String[] {"Attachment"}; 1849 default: return super.getTypesForProperty(hash, name); 1850 } 1851 1852 } 1853 1854 @Override 1855 public Base addChild(String name) throws FHIRException { 1856 if (name.equals("identifier")) { 1857 return addIdentifier(); 1858 } 1859 else if (name.equals("basedOn")) { 1860 return addBasedOn(); 1861 } 1862 else if (name.equals("status")) { 1863 throw new FHIRException("Cannot call addChild on a primitive type DiagnosticReport.status"); 1864 } 1865 else if (name.equals("category")) { 1866 return addCategory(); 1867 } 1868 else if (name.equals("code")) { 1869 this.code = new CodeableConcept(); 1870 return this.code; 1871 } 1872 else if (name.equals("subject")) { 1873 this.subject = new Reference(); 1874 return this.subject; 1875 } 1876 else if (name.equals("encounter")) { 1877 this.encounter = new Reference(); 1878 return this.encounter; 1879 } 1880 else if (name.equals("effectiveDateTime")) { 1881 this.effective = new DateTimeType(); 1882 return this.effective; 1883 } 1884 else if (name.equals("effectivePeriod")) { 1885 this.effective = new Period(); 1886 return this.effective; 1887 } 1888 else if (name.equals("issued")) { 1889 throw new FHIRException("Cannot call addChild on a primitive type DiagnosticReport.issued"); 1890 } 1891 else if (name.equals("performer")) { 1892 return addPerformer(); 1893 } 1894 else if (name.equals("resultsInterpreter")) { 1895 return addResultsInterpreter(); 1896 } 1897 else if (name.equals("specimen")) { 1898 return addSpecimen(); 1899 } 1900 else if (name.equals("result")) { 1901 return addResult(); 1902 } 1903 else if (name.equals("note")) { 1904 return addNote(); 1905 } 1906 else if (name.equals("imagingStudy")) { 1907 return addImagingStudy(); 1908 } 1909 else if (name.equals("media")) { 1910 return addMedia(); 1911 } 1912 else if (name.equals("composition")) { 1913 this.composition = new Reference(); 1914 return this.composition; 1915 } 1916 else if (name.equals("conclusion")) { 1917 throw new FHIRException("Cannot call addChild on a primitive type DiagnosticReport.conclusion"); 1918 } 1919 else if (name.equals("conclusionCode")) { 1920 return addConclusionCode(); 1921 } 1922 else if (name.equals("presentedForm")) { 1923 return addPresentedForm(); 1924 } 1925 else 1926 return super.addChild(name); 1927 } 1928 1929 public String fhirType() { 1930 return "DiagnosticReport"; 1931 1932 } 1933 1934 public DiagnosticReport copy() { 1935 DiagnosticReport dst = new DiagnosticReport(); 1936 copyValues(dst); 1937 return dst; 1938 } 1939 1940 public void copyValues(DiagnosticReport dst) { 1941 super.copyValues(dst); 1942 if (identifier != null) { 1943 dst.identifier = new ArrayList<Identifier>(); 1944 for (Identifier i : identifier) 1945 dst.identifier.add(i.copy()); 1946 }; 1947 if (basedOn != null) { 1948 dst.basedOn = new ArrayList<Reference>(); 1949 for (Reference i : basedOn) 1950 dst.basedOn.add(i.copy()); 1951 }; 1952 dst.status = status == null ? null : status.copy(); 1953 if (category != null) { 1954 dst.category = new ArrayList<CodeableConcept>(); 1955 for (CodeableConcept i : category) 1956 dst.category.add(i.copy()); 1957 }; 1958 dst.code = code == null ? null : code.copy(); 1959 dst.subject = subject == null ? null : subject.copy(); 1960 dst.encounter = encounter == null ? null : encounter.copy(); 1961 dst.effective = effective == null ? null : effective.copy(); 1962 dst.issued = issued == null ? null : issued.copy(); 1963 if (performer != null) { 1964 dst.performer = new ArrayList<Reference>(); 1965 for (Reference i : performer) 1966 dst.performer.add(i.copy()); 1967 }; 1968 if (resultsInterpreter != null) { 1969 dst.resultsInterpreter = new ArrayList<Reference>(); 1970 for (Reference i : resultsInterpreter) 1971 dst.resultsInterpreter.add(i.copy()); 1972 }; 1973 if (specimen != null) { 1974 dst.specimen = new ArrayList<Reference>(); 1975 for (Reference i : specimen) 1976 dst.specimen.add(i.copy()); 1977 }; 1978 if (result != null) { 1979 dst.result = new ArrayList<Reference>(); 1980 for (Reference i : result) 1981 dst.result.add(i.copy()); 1982 }; 1983 if (note != null) { 1984 dst.note = new ArrayList<Annotation>(); 1985 for (Annotation i : note) 1986 dst.note.add(i.copy()); 1987 }; 1988 if (imagingStudy != null) { 1989 dst.imagingStudy = new ArrayList<Reference>(); 1990 for (Reference i : imagingStudy) 1991 dst.imagingStudy.add(i.copy()); 1992 }; 1993 if (media != null) { 1994 dst.media = new ArrayList<DiagnosticReportMediaComponent>(); 1995 for (DiagnosticReportMediaComponent i : media) 1996 dst.media.add(i.copy()); 1997 }; 1998 dst.composition = composition == null ? null : composition.copy(); 1999 dst.conclusion = conclusion == null ? null : conclusion.copy(); 2000 if (conclusionCode != null) { 2001 dst.conclusionCode = new ArrayList<CodeableConcept>(); 2002 for (CodeableConcept i : conclusionCode) 2003 dst.conclusionCode.add(i.copy()); 2004 }; 2005 if (presentedForm != null) { 2006 dst.presentedForm = new ArrayList<Attachment>(); 2007 for (Attachment i : presentedForm) 2008 dst.presentedForm.add(i.copy()); 2009 }; 2010 } 2011 2012 protected DiagnosticReport typedCopy() { 2013 return copy(); 2014 } 2015 2016 @Override 2017 public boolean equalsDeep(Base other_) { 2018 if (!super.equalsDeep(other_)) 2019 return false; 2020 if (!(other_ instanceof DiagnosticReport)) 2021 return false; 2022 DiagnosticReport o = (DiagnosticReport) other_; 2023 return compareDeep(identifier, o.identifier, true) && compareDeep(basedOn, o.basedOn, true) && compareDeep(status, o.status, true) 2024 && compareDeep(category, o.category, true) && compareDeep(code, o.code, true) && compareDeep(subject, o.subject, true) 2025 && compareDeep(encounter, o.encounter, true) && compareDeep(effective, o.effective, true) && compareDeep(issued, o.issued, true) 2026 && compareDeep(performer, o.performer, true) && compareDeep(resultsInterpreter, o.resultsInterpreter, true) 2027 && compareDeep(specimen, o.specimen, true) && compareDeep(result, o.result, true) && compareDeep(note, o.note, true) 2028 && compareDeep(imagingStudy, o.imagingStudy, true) && compareDeep(media, o.media, true) && compareDeep(composition, o.composition, true) 2029 && compareDeep(conclusion, o.conclusion, true) && compareDeep(conclusionCode, o.conclusionCode, true) 2030 && compareDeep(presentedForm, o.presentedForm, true); 2031 } 2032 2033 @Override 2034 public boolean equalsShallow(Base other_) { 2035 if (!super.equalsShallow(other_)) 2036 return false; 2037 if (!(other_ instanceof DiagnosticReport)) 2038 return false; 2039 DiagnosticReport o = (DiagnosticReport) other_; 2040 return compareValues(status, o.status, true) && compareValues(issued, o.issued, true) && compareValues(conclusion, o.conclusion, true) 2041 ; 2042 } 2043 2044 public boolean isEmpty() { 2045 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, basedOn, status 2046 , category, code, subject, encounter, effective, issued, performer, resultsInterpreter 2047 , specimen, result, note, imagingStudy, media, composition, conclusion, conclusionCode 2048 , presentedForm); 2049 } 2050 2051 @Override 2052 public ResourceType getResourceType() { 2053 return ResourceType.DiagnosticReport; 2054 } 2055 2056 /** 2057 * Search parameter: <b>based-on</b> 2058 * <p> 2059 * Description: <b>Reference to the service request.</b><br> 2060 * Type: <b>reference</b><br> 2061 * Path: <b>DiagnosticReport.basedOn</b><br> 2062 * </p> 2063 */ 2064 @SearchParamDefinition(name="based-on", path="DiagnosticReport.basedOn", description="Reference to the service request.", type="reference", target={CarePlan.class, ImmunizationRecommendation.class, MedicationRequest.class, NutritionOrder.class, ServiceRequest.class } ) 2065 public static final String SP_BASED_ON = "based-on"; 2066 /** 2067 * <b>Fluent Client</b> search parameter constant for <b>based-on</b> 2068 * <p> 2069 * Description: <b>Reference to the service request.</b><br> 2070 * Type: <b>reference</b><br> 2071 * Path: <b>DiagnosticReport.basedOn</b><br> 2072 * </p> 2073 */ 2074 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam BASED_ON = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_BASED_ON); 2075 2076/** 2077 * Constant for fluent queries to be used to add include statements. Specifies 2078 * the path value of "<b>DiagnosticReport:based-on</b>". 2079 */ 2080 public static final ca.uhn.fhir.model.api.Include INCLUDE_BASED_ON = new ca.uhn.fhir.model.api.Include("DiagnosticReport:based-on").toLocked(); 2081 2082 /** 2083 * Search parameter: <b>category</b> 2084 * <p> 2085 * Description: <b>Which diagnostic discipline/department created the report</b><br> 2086 * Type: <b>token</b><br> 2087 * Path: <b>DiagnosticReport.category</b><br> 2088 * </p> 2089 */ 2090 @SearchParamDefinition(name="category", path="DiagnosticReport.category", description="Which diagnostic discipline/department created the report", type="token" ) 2091 public static final String SP_CATEGORY = "category"; 2092 /** 2093 * <b>Fluent Client</b> search parameter constant for <b>category</b> 2094 * <p> 2095 * Description: <b>Which diagnostic discipline/department created the report</b><br> 2096 * Type: <b>token</b><br> 2097 * Path: <b>DiagnosticReport.category</b><br> 2098 * </p> 2099 */ 2100 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CATEGORY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CATEGORY); 2101 2102 /** 2103 * Search parameter: <b>conclusion</b> 2104 * <p> 2105 * Description: <b>A coded conclusion (interpretation/impression) on the report</b><br> 2106 * Type: <b>token</b><br> 2107 * Path: <b>DiagnosticReport.conclusionCode</b><br> 2108 * </p> 2109 */ 2110 @SearchParamDefinition(name="conclusion", path="DiagnosticReport.conclusionCode", description="A coded conclusion (interpretation/impression) on the report", type="token" ) 2111 public static final String SP_CONCLUSION = "conclusion"; 2112 /** 2113 * <b>Fluent Client</b> search parameter constant for <b>conclusion</b> 2114 * <p> 2115 * Description: <b>A coded conclusion (interpretation/impression) on the report</b><br> 2116 * Type: <b>token</b><br> 2117 * Path: <b>DiagnosticReport.conclusionCode</b><br> 2118 * </p> 2119 */ 2120 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONCLUSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONCLUSION); 2121 2122 /** 2123 * Search parameter: <b>issued</b> 2124 * <p> 2125 * Description: <b>When the report was issued</b><br> 2126 * Type: <b>date</b><br> 2127 * Path: <b>DiagnosticReport.issued</b><br> 2128 * </p> 2129 */ 2130 @SearchParamDefinition(name="issued", path="DiagnosticReport.issued", description="When the report was issued", type="date" ) 2131 public static final String SP_ISSUED = "issued"; 2132 /** 2133 * <b>Fluent Client</b> search parameter constant for <b>issued</b> 2134 * <p> 2135 * Description: <b>When the report was issued</b><br> 2136 * Type: <b>date</b><br> 2137 * Path: <b>DiagnosticReport.issued</b><br> 2138 * </p> 2139 */ 2140 public static final ca.uhn.fhir.rest.gclient.DateClientParam ISSUED = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_ISSUED); 2141 2142 /** 2143 * Search parameter: <b>media</b> 2144 * <p> 2145 * Description: <b>A reference to the image source.</b><br> 2146 * Type: <b>reference</b><br> 2147 * Path: <b>DiagnosticReport.media.link</b><br> 2148 * </p> 2149 */ 2150 @SearchParamDefinition(name="media", path="DiagnosticReport.media.link", description="A reference to the image source.", type="reference", target={DocumentReference.class } ) 2151 public static final String SP_MEDIA = "media"; 2152 /** 2153 * <b>Fluent Client</b> search parameter constant for <b>media</b> 2154 * <p> 2155 * Description: <b>A reference to the image source.</b><br> 2156 * Type: <b>reference</b><br> 2157 * Path: <b>DiagnosticReport.media.link</b><br> 2158 * </p> 2159 */ 2160 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam MEDIA = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_MEDIA); 2161 2162/** 2163 * Constant for fluent queries to be used to add include statements. Specifies 2164 * the path value of "<b>DiagnosticReport:media</b>". 2165 */ 2166 public static final ca.uhn.fhir.model.api.Include INCLUDE_MEDIA = new ca.uhn.fhir.model.api.Include("DiagnosticReport:media").toLocked(); 2167 2168 /** 2169 * Search parameter: <b>performer</b> 2170 * <p> 2171 * Description: <b>Who is responsible for the report</b><br> 2172 * Type: <b>reference</b><br> 2173 * Path: <b>DiagnosticReport.performer</b><br> 2174 * </p> 2175 */ 2176 @SearchParamDefinition(name="performer", path="DiagnosticReport.performer", description="Who is responsible for the report", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={CareTeam.class, Organization.class, Practitioner.class, PractitionerRole.class } ) 2177 public static final String SP_PERFORMER = "performer"; 2178 /** 2179 * <b>Fluent Client</b> search parameter constant for <b>performer</b> 2180 * <p> 2181 * Description: <b>Who is responsible for the report</b><br> 2182 * Type: <b>reference</b><br> 2183 * Path: <b>DiagnosticReport.performer</b><br> 2184 * </p> 2185 */ 2186 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PERFORMER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PERFORMER); 2187 2188/** 2189 * Constant for fluent queries to be used to add include statements. Specifies 2190 * the path value of "<b>DiagnosticReport:performer</b>". 2191 */ 2192 public static final ca.uhn.fhir.model.api.Include INCLUDE_PERFORMER = new ca.uhn.fhir.model.api.Include("DiagnosticReport:performer").toLocked(); 2193 2194 /** 2195 * Search parameter: <b>result</b> 2196 * <p> 2197 * Description: <b>Link to an atomic result (observation resource)</b><br> 2198 * Type: <b>reference</b><br> 2199 * Path: <b>DiagnosticReport.result</b><br> 2200 * </p> 2201 */ 2202 @SearchParamDefinition(name="result", path="DiagnosticReport.result", description="Link to an atomic result (observation resource)", type="reference", target={Observation.class } ) 2203 public static final String SP_RESULT = "result"; 2204 /** 2205 * <b>Fluent Client</b> search parameter constant for <b>result</b> 2206 * <p> 2207 * Description: <b>Link to an atomic result (observation resource)</b><br> 2208 * Type: <b>reference</b><br> 2209 * Path: <b>DiagnosticReport.result</b><br> 2210 * </p> 2211 */ 2212 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam RESULT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_RESULT); 2213 2214/** 2215 * Constant for fluent queries to be used to add include statements. Specifies 2216 * the path value of "<b>DiagnosticReport:result</b>". 2217 */ 2218 public static final ca.uhn.fhir.model.api.Include INCLUDE_RESULT = new ca.uhn.fhir.model.api.Include("DiagnosticReport:result").toLocked(); 2219 2220 /** 2221 * Search parameter: <b>results-interpreter</b> 2222 * <p> 2223 * Description: <b>Who was the source of the report</b><br> 2224 * Type: <b>reference</b><br> 2225 * Path: <b>DiagnosticReport.resultsInterpreter</b><br> 2226 * </p> 2227 */ 2228 @SearchParamDefinition(name="results-interpreter", path="DiagnosticReport.resultsInterpreter", description="Who was the source of the report", type="reference", target={CareTeam.class, Organization.class, Practitioner.class, PractitionerRole.class } ) 2229 public static final String SP_RESULTS_INTERPRETER = "results-interpreter"; 2230 /** 2231 * <b>Fluent Client</b> search parameter constant for <b>results-interpreter</b> 2232 * <p> 2233 * Description: <b>Who was the source of the report</b><br> 2234 * Type: <b>reference</b><br> 2235 * Path: <b>DiagnosticReport.resultsInterpreter</b><br> 2236 * </p> 2237 */ 2238 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam RESULTS_INTERPRETER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_RESULTS_INTERPRETER); 2239 2240/** 2241 * Constant for fluent queries to be used to add include statements. Specifies 2242 * the path value of "<b>DiagnosticReport:results-interpreter</b>". 2243 */ 2244 public static final ca.uhn.fhir.model.api.Include INCLUDE_RESULTS_INTERPRETER = new ca.uhn.fhir.model.api.Include("DiagnosticReport:results-interpreter").toLocked(); 2245 2246 /** 2247 * Search parameter: <b>specimen</b> 2248 * <p> 2249 * Description: <b>The specimen details</b><br> 2250 * Type: <b>reference</b><br> 2251 * Path: <b>DiagnosticReport.specimen</b><br> 2252 * </p> 2253 */ 2254 @SearchParamDefinition(name="specimen", path="DiagnosticReport.specimen", description="The specimen details", type="reference", target={Specimen.class } ) 2255 public static final String SP_SPECIMEN = "specimen"; 2256 /** 2257 * <b>Fluent Client</b> search parameter constant for <b>specimen</b> 2258 * <p> 2259 * Description: <b>The specimen details</b><br> 2260 * Type: <b>reference</b><br> 2261 * Path: <b>DiagnosticReport.specimen</b><br> 2262 * </p> 2263 */ 2264 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SPECIMEN = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SPECIMEN); 2265 2266/** 2267 * Constant for fluent queries to be used to add include statements. Specifies 2268 * the path value of "<b>DiagnosticReport:specimen</b>". 2269 */ 2270 public static final ca.uhn.fhir.model.api.Include INCLUDE_SPECIMEN = new ca.uhn.fhir.model.api.Include("DiagnosticReport:specimen").toLocked(); 2271 2272 /** 2273 * Search parameter: <b>status</b> 2274 * <p> 2275 * Description: <b>The status of the report</b><br> 2276 * Type: <b>token</b><br> 2277 * Path: <b>DiagnosticReport.status</b><br> 2278 * </p> 2279 */ 2280 @SearchParamDefinition(name="status", path="DiagnosticReport.status", description="The status of the report", type="token" ) 2281 public static final String SP_STATUS = "status"; 2282 /** 2283 * <b>Fluent Client</b> search parameter constant for <b>status</b> 2284 * <p> 2285 * Description: <b>The status of the report</b><br> 2286 * Type: <b>token</b><br> 2287 * Path: <b>DiagnosticReport.status</b><br> 2288 * </p> 2289 */ 2290 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 2291 2292 /** 2293 * Search parameter: <b>subject</b> 2294 * <p> 2295 * Description: <b>The subject of the report</b><br> 2296 * Type: <b>reference</b><br> 2297 * Path: <b>DiagnosticReport.subject</b><br> 2298 * </p> 2299 */ 2300 @SearchParamDefinition(name="subject", path="DiagnosticReport.subject", description="The subject of the report", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) 2301 public static final String SP_SUBJECT = "subject"; 2302 /** 2303 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 2304 * <p> 2305 * Description: <b>The subject of the report</b><br> 2306 * Type: <b>reference</b><br> 2307 * Path: <b>DiagnosticReport.subject</b><br> 2308 * </p> 2309 */ 2310 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 2311 2312/** 2313 * Constant for fluent queries to be used to add include statements. Specifies 2314 * the path value of "<b>DiagnosticReport:subject</b>". 2315 */ 2316 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("DiagnosticReport:subject").toLocked(); 2317 2318 /** 2319 * Search parameter: <b>code</b> 2320 * <p> 2321 * Description: <b>Multiple Resources: 2322 2323* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance 2324* [Condition](condition.html): Code for the condition 2325* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered 2326* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result 2327* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code 2328* [List](list.html): What the purpose of this list is 2329* [Medication](medication.html): Returns medications for a specific code 2330* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code 2331* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code 2332* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code 2333* [MedicationUsage](medicationusage.html): Return statements of this medication code 2334* [Observation](observation.html): The code of the observation type 2335* [Procedure](procedure.html): A code to identify a procedure 2336* [ServiceRequest](servicerequest.html): What is being requested/ordered 2337</b><br> 2338 * Type: <b>token</b><br> 2339 * Path: <b>AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code</b><br> 2340 * </p> 2341 */ 2342 @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", type="token" ) 2343 public static final String SP_CODE = "code"; 2344 /** 2345 * <b>Fluent Client</b> search parameter constant for <b>code</b> 2346 * <p> 2347 * Description: <b>Multiple Resources: 2348 2349* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance 2350* [Condition](condition.html): Code for the condition 2351* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered 2352* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result 2353* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code 2354* [List](list.html): What the purpose of this list is 2355* [Medication](medication.html): Returns medications for a specific code 2356* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code 2357* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code 2358* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code 2359* [MedicationUsage](medicationusage.html): Return statements of this medication code 2360* [Observation](observation.html): The code of the observation type 2361* [Procedure](procedure.html): A code to identify a procedure 2362* [ServiceRequest](servicerequest.html): What is being requested/ordered 2363</b><br> 2364 * Type: <b>token</b><br> 2365 * Path: <b>AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code</b><br> 2366 * </p> 2367 */ 2368 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); 2369 2370 /** 2371 * Search parameter: <b>date</b> 2372 * <p> 2373 * Description: <b>Multiple Resources: 2374 2375* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded 2376* [CarePlan](careplan.html): Time period plan covers 2377* [CareTeam](careteam.html): A date within the coverage time period. 2378* [ClinicalImpression](clinicalimpression.html): When the assessment was documented 2379* [Composition](composition.html): Composition editing time 2380* [Consent](consent.html): When consent was agreed to 2381* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report 2382* [Encounter](encounter.html): A date within the actualPeriod the Encounter lasted 2383* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period 2384* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated 2385* [Flag](flag.html): Time period when flag is active 2386* [Immunization](immunization.html): Vaccination (non)-Administration Date 2387* [List](list.html): When the list was prepared 2388* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period 2389* [Procedure](procedure.html): When the procedure occurred or is occurring 2390* [RiskAssessment](riskassessment.html): When was assessment made? 2391* [SupplyRequest](supplyrequest.html): When the request was made 2392</b><br> 2393 * Type: <b>date</b><br> 2394 * Path: <b>AllergyIntolerance.recordedDate | CarePlan.period | ClinicalImpression.date | Composition.date | Consent.dateTime | DiagnosticReport.effective | Encounter.actualPeriod | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | (Immunization.occurrence as dateTime) | List.date | Observation.effective | Procedure.occurrence | (RiskAssessment.occurrence as dateTime) | SupplyRequest.authoredOn</b><br> 2395 * </p> 2396 */ 2397 @SearchParamDefinition(name="date", path="AllergyIntolerance.recordedDate | CarePlan.period | ClinicalImpression.date | Composition.date | Consent.dateTime | DiagnosticReport.effective | Encounter.actualPeriod | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | (Immunization.occurrence as dateTime) | List.date | Observation.effective | Procedure.occurrence | (RiskAssessment.occurrence as dateTime) | SupplyRequest.authoredOn", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded\r\n* [CarePlan](careplan.html): Time period plan covers\r\n* [CareTeam](careteam.html): A date within the coverage time period.\r\n* [ClinicalImpression](clinicalimpression.html): When the assessment was documented\r\n* [Composition](composition.html): Composition editing time\r\n* [Consent](consent.html): When consent was agreed to\r\n* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report\r\n* [Encounter](encounter.html): A date within the actualPeriod the Encounter lasted\r\n* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period\r\n* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated\r\n* [Flag](flag.html): Time period when flag is active\r\n* [Immunization](immunization.html): Vaccination (non)-Administration Date\r\n* [List](list.html): When the list was prepared\r\n* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period\r\n* [Procedure](procedure.html): When the procedure occurred or is occurring\r\n* [RiskAssessment](riskassessment.html): When was assessment made?\r\n* [SupplyRequest](supplyrequest.html): When the request was made\r\n", type="date" ) 2398 public static final String SP_DATE = "date"; 2399 /** 2400 * <b>Fluent Client</b> search parameter constant for <b>date</b> 2401 * <p> 2402 * Description: <b>Multiple Resources: 2403 2404* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded 2405* [CarePlan](careplan.html): Time period plan covers 2406* [CareTeam](careteam.html): A date within the coverage time period. 2407* [ClinicalImpression](clinicalimpression.html): When the assessment was documented 2408* [Composition](composition.html): Composition editing time 2409* [Consent](consent.html): When consent was agreed to 2410* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report 2411* [Encounter](encounter.html): A date within the actualPeriod the Encounter lasted 2412* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period 2413* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated 2414* [Flag](flag.html): Time period when flag is active 2415* [Immunization](immunization.html): Vaccination (non)-Administration Date 2416* [List](list.html): When the list was prepared 2417* [Observation](observation.html): Obtained date/time. If the obtained element is a period, a date that falls in the period 2418* [Procedure](procedure.html): When the procedure occurred or is occurring 2419* [RiskAssessment](riskassessment.html): When was assessment made? 2420* [SupplyRequest](supplyrequest.html): When the request was made 2421</b><br> 2422 * Type: <b>date</b><br> 2423 * Path: <b>AllergyIntolerance.recordedDate | CarePlan.period | ClinicalImpression.date | Composition.date | Consent.dateTime | DiagnosticReport.effective | Encounter.actualPeriod | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | (Immunization.occurrence as dateTime) | List.date | Observation.effective | Procedure.occurrence | (RiskAssessment.occurrence as dateTime) | SupplyRequest.authoredOn</b><br> 2424 * </p> 2425 */ 2426 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 2427 2428 /** 2429 * Search parameter: <b>encounter</b> 2430 * <p> 2431 * Description: <b>Multiple Resources: 2432 2433* [Composition](composition.html): Context of the Composition 2434* [DeviceRequest](devicerequest.html): Encounter during which request was created 2435* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made 2436* [DocumentReference](documentreference.html): Context of the document content 2437* [Flag](flag.html): Alert relevant during encounter 2438* [List](list.html): Context in which list created 2439* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier 2440* [Observation](observation.html): Encounter related to the observation 2441* [Procedure](procedure.html): The Encounter during which this Procedure was created 2442* [RiskAssessment](riskassessment.html): Where was assessment performed? 2443* [ServiceRequest](servicerequest.html): An encounter in which this request is made 2444* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier 2445</b><br> 2446 * Type: <b>reference</b><br> 2447 * Path: <b>Composition.encounter | DeviceRequest.encounter | DiagnosticReport.encounter | DocumentReference.encounter | Flag.encounter | List.encounter | NutritionOrder.encounter | Observation.encounter | Procedure.encounter | RiskAssessment.encounter | ServiceRequest.encounter | VisionPrescription.encounter</b><br> 2448 * </p> 2449 */ 2450 @SearchParamDefinition(name="encounter", path="Composition.encounter | DeviceRequest.encounter | DiagnosticReport.encounter | DocumentReference.encounter | Flag.encounter | List.encounter | NutritionOrder.encounter | Observation.encounter | Procedure.encounter | RiskAssessment.encounter | ServiceRequest.encounter | VisionPrescription.encounter", description="Multiple Resources: \r\n\r\n* [Composition](composition.html): Context of the Composition\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* [DocumentReference](documentreference.html): Context of the document content\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [List](list.html): Context in which list created\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* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Encounter") }, target={Encounter.class } ) 2451 public static final String SP_ENCOUNTER = "encounter"; 2452 /** 2453 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 2454 * <p> 2455 * Description: <b>Multiple Resources: 2456 2457* [Composition](composition.html): Context of the Composition 2458* [DeviceRequest](devicerequest.html): Encounter during which request was created 2459* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made 2460* [DocumentReference](documentreference.html): Context of the document content 2461* [Flag](flag.html): Alert relevant during encounter 2462* [List](list.html): Context in which list created 2463* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier 2464* [Observation](observation.html): Encounter related to the observation 2465* [Procedure](procedure.html): The Encounter during which this Procedure was created 2466* [RiskAssessment](riskassessment.html): Where was assessment performed? 2467* [ServiceRequest](servicerequest.html): An encounter in which this request is made 2468* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier 2469</b><br> 2470 * Type: <b>reference</b><br> 2471 * Path: <b>Composition.encounter | DeviceRequest.encounter | DiagnosticReport.encounter | DocumentReference.encounter | Flag.encounter | List.encounter | NutritionOrder.encounter | Observation.encounter | Procedure.encounter | RiskAssessment.encounter | ServiceRequest.encounter | VisionPrescription.encounter</b><br> 2472 * </p> 2473 */ 2474 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENCOUNTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENCOUNTER); 2475 2476/** 2477 * Constant for fluent queries to be used to add include statements. Specifies 2478 * the path value of "<b>DiagnosticReport:encounter</b>". 2479 */ 2480 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENCOUNTER = new ca.uhn.fhir.model.api.Include("DiagnosticReport:encounter").toLocked(); 2481 2482 /** 2483 * Search parameter: <b>identifier</b> 2484 * <p> 2485 * Description: <b>Multiple Resources: 2486 2487* [AllergyIntolerance](allergyintolerance.html): External ids for this item 2488* [CarePlan](careplan.html): External Ids for this plan 2489* [CareTeam](careteam.html): External Ids for this team 2490* [Composition](composition.html): Version-independent identifier for the Composition 2491* [Condition](condition.html): A unique identifier of the condition record 2492* [Consent](consent.html): Identifier for this record (external references) 2493* [DetectedIssue](detectedissue.html): Unique id for the detected issue 2494* [DeviceRequest](devicerequest.html): Business identifier for request/order 2495* [DiagnosticReport](diagnosticreport.html): An identifier for the report 2496* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents 2497* [DocumentReference](documentreference.html): Identifier of the attachment binary 2498* [Encounter](encounter.html): Identifier(s) by which this encounter is known 2499* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 2500* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 2501* [Goal](goal.html): External Ids for this goal 2502* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID 2503* [Immunization](immunization.html): Business identifier 2504* [List](list.html): Business identifier 2505* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 2506* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 2507* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 2508* [MedicationUsage](medicationusage.html): Return statements with this external identifier 2509* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 2510* [Observation](observation.html): The unique id for a particular observation 2511* [Procedure](procedure.html): A unique identifier for a procedure 2512* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 2513* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 2514* [SupplyDelivery](supplydelivery.html): External identifier 2515* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 2516* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 2517</b><br> 2518 * Type: <b>token</b><br> 2519 * Path: <b>AllergyIntolerance.identifier | CarePlan.identifier | CareTeam.identifier | Composition.identifier | Condition.identifier | Consent.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DiagnosticReport.identifier | DocumentManifest.masterIdentifier | DocumentManifest.identifier | DocumentReference.content.identifier | DocumentReference.identifier | Encounter.identifier | EpisodeOfCare.identifier | FamilyMemberHistory.identifier | Goal.identifier | ImagingStudy.identifier | Immunization.identifier | List.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationUsage.identifier | NutritionOrder.identifier | Observation.identifier | Procedure.identifier | RiskAssessment.identifier | ServiceRequest.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | VisionPrescription.identifier</b><br> 2520 * </p> 2521 */ 2522 @SearchParamDefinition(name="identifier", path="AllergyIntolerance.identifier | CarePlan.identifier | CareTeam.identifier | Composition.identifier | Condition.identifier | Consent.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DiagnosticReport.identifier | DocumentManifest.masterIdentifier | DocumentManifest.identifier | DocumentReference.content.identifier | DocumentReference.identifier | Encounter.identifier | EpisodeOfCare.identifier | FamilyMemberHistory.identifier | Goal.identifier | ImagingStudy.identifier | Immunization.identifier | List.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationUsage.identifier | NutritionOrder.identifier | Observation.identifier | Procedure.identifier | RiskAssessment.identifier | ServiceRequest.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | VisionPrescription.identifier", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\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* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents\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* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID\r\n* [Immunization](immunization.html): Business identifier\r\n* [List](list.html): Business 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* [MedicationUsage](medicationusage.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* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", type="token" ) 2523 public static final String SP_IDENTIFIER = "identifier"; 2524 /** 2525 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 2526 * <p> 2527 * Description: <b>Multiple Resources: 2528 2529* [AllergyIntolerance](allergyintolerance.html): External ids for this item 2530* [CarePlan](careplan.html): External Ids for this plan 2531* [CareTeam](careteam.html): External Ids for this team 2532* [Composition](composition.html): Version-independent identifier for the Composition 2533* [Condition](condition.html): A unique identifier of the condition record 2534* [Consent](consent.html): Identifier for this record (external references) 2535* [DetectedIssue](detectedissue.html): Unique id for the detected issue 2536* [DeviceRequest](devicerequest.html): Business identifier for request/order 2537* [DiagnosticReport](diagnosticreport.html): An identifier for the report 2538* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents 2539* [DocumentReference](documentreference.html): Identifier of the attachment binary 2540* [Encounter](encounter.html): Identifier(s) by which this encounter is known 2541* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 2542* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 2543* [Goal](goal.html): External Ids for this goal 2544* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID 2545* [Immunization](immunization.html): Business identifier 2546* [List](list.html): Business identifier 2547* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 2548* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 2549* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 2550* [MedicationUsage](medicationusage.html): Return statements with this external identifier 2551* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 2552* [Observation](observation.html): The unique id for a particular observation 2553* [Procedure](procedure.html): A unique identifier for a procedure 2554* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 2555* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 2556* [SupplyDelivery](supplydelivery.html): External identifier 2557* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 2558* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 2559</b><br> 2560 * Type: <b>token</b><br> 2561 * Path: <b>AllergyIntolerance.identifier | CarePlan.identifier | CareTeam.identifier | Composition.identifier | Condition.identifier | Consent.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DiagnosticReport.identifier | DocumentManifest.masterIdentifier | DocumentManifest.identifier | DocumentReference.content.identifier | DocumentReference.identifier | Encounter.identifier | EpisodeOfCare.identifier | FamilyMemberHistory.identifier | Goal.identifier | ImagingStudy.identifier | Immunization.identifier | List.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationUsage.identifier | NutritionOrder.identifier | Observation.identifier | Procedure.identifier | RiskAssessment.identifier | ServiceRequest.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | VisionPrescription.identifier</b><br> 2562 * </p> 2563 */ 2564 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 2565 2566 /** 2567 * Search parameter: <b>patient</b> 2568 * <p> 2569 * Description: <b>Multiple Resources: 2570 2571* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 2572* [CarePlan](careplan.html): Who the care plan is for 2573* [CareTeam](careteam.html): Who care team is for 2574* [ClinicalImpression](clinicalimpression.html): Patient assessed 2575* [Composition](composition.html): Who and/or what the composition is about 2576* [Condition](condition.html): Who has the condition? 2577* [Consent](consent.html): Who the consent applies to 2578* [DetectedIssue](detectedissue.html): Associated patient 2579* [DeviceRequest](devicerequest.html): Individual the service is ordered for 2580* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 2581* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 2582* [DocumentManifest](documentmanifest.html): The subject of the set of documents 2583* [DocumentReference](documentreference.html): Who/what is the subject of the document 2584* [Encounter](encounter.html): The patient present at the encounter 2585* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 2586* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 2587* [Flag](flag.html): The identity of a subject to list flags for 2588* [Goal](goal.html): Who this goal is intended for 2589* [ImagingStudy](imagingstudy.html): Who the study is about 2590* [Immunization](immunization.html): The patient for the vaccination record 2591* [List](list.html): If all resources have the same subject 2592* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 2593* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 2594* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 2595* [MedicationUsage](medicationusage.html): Returns statements for a specific patient. 2596* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement 2597* [Observation](observation.html): The subject that the observation is about (if patient) 2598* [Procedure](procedure.html): Search by subject - a patient 2599* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 2600* [ServiceRequest](servicerequest.html): Search by subject - a patient 2601* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 2602* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 2603</b><br> 2604 * Type: <b>reference</b><br> 2605 * Path: <b>AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient</b><br> 2606 * </p> 2607 */ 2608 @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\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* [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* [DocumentManifest](documentmanifest.html): The subject of the set of documents\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* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\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* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\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* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, ClinicalUseIssue.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, ConceptMap2.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) 2609 public static final String SP_PATIENT = "patient"; 2610 /** 2611 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 2612 * <p> 2613 * Description: <b>Multiple Resources: 2614 2615* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 2616* [CarePlan](careplan.html): Who the care plan is for 2617* [CareTeam](careteam.html): Who care team is for 2618* [ClinicalImpression](clinicalimpression.html): Patient assessed 2619* [Composition](composition.html): Who and/or what the composition is about 2620* [Condition](condition.html): Who has the condition? 2621* [Consent](consent.html): Who the consent applies to 2622* [DetectedIssue](detectedissue.html): Associated patient 2623* [DeviceRequest](devicerequest.html): Individual the service is ordered for 2624* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 2625* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 2626* [DocumentManifest](documentmanifest.html): The subject of the set of documents 2627* [DocumentReference](documentreference.html): Who/what is the subject of the document 2628* [Encounter](encounter.html): The patient present at the encounter 2629* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 2630* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 2631* [Flag](flag.html): The identity of a subject to list flags for 2632* [Goal](goal.html): Who this goal is intended for 2633* [ImagingStudy](imagingstudy.html): Who the study is about 2634* [Immunization](immunization.html): The patient for the vaccination record 2635* [List](list.html): If all resources have the same subject 2636* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 2637* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 2638* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 2639* [MedicationUsage](medicationusage.html): Returns statements for a specific patient. 2640* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement 2641* [Observation](observation.html): The subject that the observation is about (if patient) 2642* [Procedure](procedure.html): Search by subject - a patient 2643* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 2644* [ServiceRequest](servicerequest.html): Search by subject - a patient 2645* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 2646* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 2647</b><br> 2648 * Type: <b>reference</b><br> 2649 * Path: <b>AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient</b><br> 2650 * </p> 2651 */ 2652 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 2653 2654/** 2655 * Constant for fluent queries to be used to add include statements. Specifies 2656 * the path value of "<b>DiagnosticReport:patient</b>". 2657 */ 2658 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("DiagnosticReport:patient").toLocked(); 2659 2660 2661} 2662