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