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 * A reference to a document of any kind for any purpose. Provides metadata about the document so that the document can be discovered and managed. The scope of a document is any seralized object with a mime-type, so includes formal patient centric documents (CDA), cliical notes, scanned paper, and non-patient specific documents like policy text. 052 */ 053@ResourceDef(name="DocumentReference", profile="http://hl7.org/fhir/StructureDefinition/DocumentReference") 054public class DocumentReference extends DomainResource { 055 056 @Block() 057 public static class DocumentReferenceRelatesToComponent extends BackboneElement implements IBaseBackboneElement { 058 /** 059 * The type of relationship that this document has with anther document. 060 */ 061 @Child(name = "code", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=true) 062 @Description(shortDefinition="replaces | transforms | signs | appends", formalDefinition="The type of relationship that this document has with anther document." ) 063 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/document-relationship-type") 064 protected Enumeration<DocumentRelationshipType> code; 065 066 /** 067 * The target document of this relationship. 068 */ 069 @Child(name = "target", type = {DocumentReference.class}, order=2, min=1, max=1, modifier=false, summary=true) 070 @Description(shortDefinition="Target of the relationship", formalDefinition="The target document of this relationship." ) 071 protected Reference target; 072 073 private static final long serialVersionUID = 1212070475L; 074 075 /** 076 * Constructor 077 */ 078 public DocumentReferenceRelatesToComponent() { 079 super(); 080 } 081 082 /** 083 * Constructor 084 */ 085 public DocumentReferenceRelatesToComponent(DocumentRelationshipType code, Reference target) { 086 super(); 087 this.setCode(code); 088 this.setTarget(target); 089 } 090 091 /** 092 * @return {@link #code} (The type of relationship that this document has with anther document.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 093 */ 094 public Enumeration<DocumentRelationshipType> getCodeElement() { 095 if (this.code == null) 096 if (Configuration.errorOnAutoCreate()) 097 throw new Error("Attempt to auto-create DocumentReferenceRelatesToComponent.code"); 098 else if (Configuration.doAutoCreate()) 099 this.code = new Enumeration<DocumentRelationshipType>(new DocumentRelationshipTypeEnumFactory()); // bb 100 return this.code; 101 } 102 103 public boolean hasCodeElement() { 104 return this.code != null && !this.code.isEmpty(); 105 } 106 107 public boolean hasCode() { 108 return this.code != null && !this.code.isEmpty(); 109 } 110 111 /** 112 * @param value {@link #code} (The type of relationship that this document has with anther document.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 113 */ 114 public DocumentReferenceRelatesToComponent setCodeElement(Enumeration<DocumentRelationshipType> value) { 115 this.code = value; 116 return this; 117 } 118 119 /** 120 * @return The type of relationship that this document has with anther document. 121 */ 122 public DocumentRelationshipType getCode() { 123 return this.code == null ? null : this.code.getValue(); 124 } 125 126 /** 127 * @param value The type of relationship that this document has with anther document. 128 */ 129 public DocumentReferenceRelatesToComponent setCode(DocumentRelationshipType value) { 130 if (this.code == null) 131 this.code = new Enumeration<DocumentRelationshipType>(new DocumentRelationshipTypeEnumFactory()); 132 this.code.setValue(value); 133 return this; 134 } 135 136 /** 137 * @return {@link #target} (The target document of this relationship.) 138 */ 139 public Reference getTarget() { 140 if (this.target == null) 141 if (Configuration.errorOnAutoCreate()) 142 throw new Error("Attempt to auto-create DocumentReferenceRelatesToComponent.target"); 143 else if (Configuration.doAutoCreate()) 144 this.target = new Reference(); // cc 145 return this.target; 146 } 147 148 public boolean hasTarget() { 149 return this.target != null && !this.target.isEmpty(); 150 } 151 152 /** 153 * @param value {@link #target} (The target document of this relationship.) 154 */ 155 public DocumentReferenceRelatesToComponent setTarget(Reference value) { 156 this.target = value; 157 return this; 158 } 159 160 protected void listChildren(List<Property> children) { 161 super.listChildren(children); 162 children.add(new Property("code", "code", "The type of relationship that this document has with anther document.", 0, 1, code)); 163 children.add(new Property("target", "Reference(DocumentReference)", "The target document of this relationship.", 0, 1, target)); 164 } 165 166 @Override 167 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 168 switch (_hash) { 169 case 3059181: /*code*/ return new Property("code", "code", "The type of relationship that this document has with anther document.", 0, 1, code); 170 case -880905839: /*target*/ return new Property("target", "Reference(DocumentReference)", "The target document of this relationship.", 0, 1, target); 171 default: return super.getNamedProperty(_hash, _name, _checkValid); 172 } 173 174 } 175 176 @Override 177 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 178 switch (hash) { 179 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // Enumeration<DocumentRelationshipType> 180 case -880905839: /*target*/ return this.target == null ? new Base[0] : new Base[] {this.target}; // Reference 181 default: return super.getProperty(hash, name, checkValid); 182 } 183 184 } 185 186 @Override 187 public Base setProperty(int hash, String name, Base value) throws FHIRException { 188 switch (hash) { 189 case 3059181: // code 190 value = new DocumentRelationshipTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 191 this.code = (Enumeration) value; // Enumeration<DocumentRelationshipType> 192 return value; 193 case -880905839: // target 194 this.target = TypeConvertor.castToReference(value); // Reference 195 return value; 196 default: return super.setProperty(hash, name, value); 197 } 198 199 } 200 201 @Override 202 public Base setProperty(String name, Base value) throws FHIRException { 203 if (name.equals("code")) { 204 value = new DocumentRelationshipTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 205 this.code = (Enumeration) value; // Enumeration<DocumentRelationshipType> 206 } else if (name.equals("target")) { 207 this.target = TypeConvertor.castToReference(value); // Reference 208 } else 209 return super.setProperty(name, value); 210 return value; 211 } 212 213 @Override 214 public Base makeProperty(int hash, String name) throws FHIRException { 215 switch (hash) { 216 case 3059181: return getCodeElement(); 217 case -880905839: return getTarget(); 218 default: return super.makeProperty(hash, name); 219 } 220 221 } 222 223 @Override 224 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 225 switch (hash) { 226 case 3059181: /*code*/ return new String[] {"code"}; 227 case -880905839: /*target*/ return new String[] {"Reference"}; 228 default: return super.getTypesForProperty(hash, name); 229 } 230 231 } 232 233 @Override 234 public Base addChild(String name) throws FHIRException { 235 if (name.equals("code")) { 236 throw new FHIRException("Cannot call addChild on a primitive type DocumentReference.relatesTo.code"); 237 } 238 else if (name.equals("target")) { 239 this.target = new Reference(); 240 return this.target; 241 } 242 else 243 return super.addChild(name); 244 } 245 246 public DocumentReferenceRelatesToComponent copy() { 247 DocumentReferenceRelatesToComponent dst = new DocumentReferenceRelatesToComponent(); 248 copyValues(dst); 249 return dst; 250 } 251 252 public void copyValues(DocumentReferenceRelatesToComponent dst) { 253 super.copyValues(dst); 254 dst.code = code == null ? null : code.copy(); 255 dst.target = target == null ? null : target.copy(); 256 } 257 258 @Override 259 public boolean equalsDeep(Base other_) { 260 if (!super.equalsDeep(other_)) 261 return false; 262 if (!(other_ instanceof DocumentReferenceRelatesToComponent)) 263 return false; 264 DocumentReferenceRelatesToComponent o = (DocumentReferenceRelatesToComponent) other_; 265 return compareDeep(code, o.code, true) && compareDeep(target, o.target, true); 266 } 267 268 @Override 269 public boolean equalsShallow(Base other_) { 270 if (!super.equalsShallow(other_)) 271 return false; 272 if (!(other_ instanceof DocumentReferenceRelatesToComponent)) 273 return false; 274 DocumentReferenceRelatesToComponent o = (DocumentReferenceRelatesToComponent) other_; 275 return compareValues(code, o.code, true); 276 } 277 278 public boolean isEmpty() { 279 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, target); 280 } 281 282 public String fhirType() { 283 return "DocumentReference.relatesTo"; 284 285 } 286 287 } 288 289 @Block() 290 public static class DocumentReferenceContentComponent extends BackboneElement implements IBaseBackboneElement { 291 /** 292 * The document or URL of the document along with critical metadata to prove content has integrity. 293 */ 294 @Child(name = "attachment", type = {Attachment.class}, order=1, min=1, max=1, modifier=false, summary=true) 295 @Description(shortDefinition="Where to access the document", formalDefinition="The document or URL of the document along with critical metadata to prove content has integrity." ) 296 protected Attachment attachment; 297 298 /** 299 * An identifier of the document encoding, structure, and template that the document conforms to beyond the base format indicated in the mimeType. 300 */ 301 @Child(name = "format", type = {Coding.class}, order=2, min=0, max=1, modifier=false, summary=true) 302 @Description(shortDefinition="Format/content rules for the document", formalDefinition="An identifier of the document encoding, structure, and template that the document conforms to beyond the base format indicated in the mimeType." ) 303 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/formatcodes") 304 protected Coding format; 305 306 private static final long serialVersionUID = -1313860217L; 307 308 /** 309 * Constructor 310 */ 311 public DocumentReferenceContentComponent() { 312 super(); 313 } 314 315 /** 316 * Constructor 317 */ 318 public DocumentReferenceContentComponent(Attachment attachment) { 319 super(); 320 this.setAttachment(attachment); 321 } 322 323 /** 324 * @return {@link #attachment} (The document or URL of the document along with critical metadata to prove content has integrity.) 325 */ 326 public Attachment getAttachment() { 327 if (this.attachment == null) 328 if (Configuration.errorOnAutoCreate()) 329 throw new Error("Attempt to auto-create DocumentReferenceContentComponent.attachment"); 330 else if (Configuration.doAutoCreate()) 331 this.attachment = new Attachment(); // cc 332 return this.attachment; 333 } 334 335 public boolean hasAttachment() { 336 return this.attachment != null && !this.attachment.isEmpty(); 337 } 338 339 /** 340 * @param value {@link #attachment} (The document or URL of the document along with critical metadata to prove content has integrity.) 341 */ 342 public DocumentReferenceContentComponent setAttachment(Attachment value) { 343 this.attachment = value; 344 return this; 345 } 346 347 /** 348 * @return {@link #format} (An identifier of the document encoding, structure, and template that the document conforms to beyond the base format indicated in the mimeType.) 349 */ 350 public Coding getFormat() { 351 if (this.format == null) 352 if (Configuration.errorOnAutoCreate()) 353 throw new Error("Attempt to auto-create DocumentReferenceContentComponent.format"); 354 else if (Configuration.doAutoCreate()) 355 this.format = new Coding(); // cc 356 return this.format; 357 } 358 359 public boolean hasFormat() { 360 return this.format != null && !this.format.isEmpty(); 361 } 362 363 /** 364 * @param value {@link #format} (An identifier of the document encoding, structure, and template that the document conforms to beyond the base format indicated in the mimeType.) 365 */ 366 public DocumentReferenceContentComponent setFormat(Coding value) { 367 this.format = value; 368 return this; 369 } 370 371 protected void listChildren(List<Property> children) { 372 super.listChildren(children); 373 children.add(new Property("attachment", "Attachment", "The document or URL of the document along with critical metadata to prove content has integrity.", 0, 1, attachment)); 374 children.add(new Property("format", "Coding", "An identifier of the document encoding, structure, and template that the document conforms to beyond the base format indicated in the mimeType.", 0, 1, format)); 375 } 376 377 @Override 378 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 379 switch (_hash) { 380 case -1963501277: /*attachment*/ return new Property("attachment", "Attachment", "The document or URL of the document along with critical metadata to prove content has integrity.", 0, 1, attachment); 381 case -1268779017: /*format*/ return new Property("format", "Coding", "An identifier of the document encoding, structure, and template that the document conforms to beyond the base format indicated in the mimeType.", 0, 1, format); 382 default: return super.getNamedProperty(_hash, _name, _checkValid); 383 } 384 385 } 386 387 @Override 388 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 389 switch (hash) { 390 case -1963501277: /*attachment*/ return this.attachment == null ? new Base[0] : new Base[] {this.attachment}; // Attachment 391 case -1268779017: /*format*/ return this.format == null ? new Base[0] : new Base[] {this.format}; // Coding 392 default: return super.getProperty(hash, name, checkValid); 393 } 394 395 } 396 397 @Override 398 public Base setProperty(int hash, String name, Base value) throws FHIRException { 399 switch (hash) { 400 case -1963501277: // attachment 401 this.attachment = TypeConvertor.castToAttachment(value); // Attachment 402 return value; 403 case -1268779017: // format 404 this.format = TypeConvertor.castToCoding(value); // Coding 405 return value; 406 default: return super.setProperty(hash, name, value); 407 } 408 409 } 410 411 @Override 412 public Base setProperty(String name, Base value) throws FHIRException { 413 if (name.equals("attachment")) { 414 this.attachment = TypeConvertor.castToAttachment(value); // Attachment 415 } else if (name.equals("format")) { 416 this.format = TypeConvertor.castToCoding(value); // Coding 417 } else 418 return super.setProperty(name, value); 419 return value; 420 } 421 422 @Override 423 public Base makeProperty(int hash, String name) throws FHIRException { 424 switch (hash) { 425 case -1963501277: return getAttachment(); 426 case -1268779017: return getFormat(); 427 default: return super.makeProperty(hash, name); 428 } 429 430 } 431 432 @Override 433 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 434 switch (hash) { 435 case -1963501277: /*attachment*/ return new String[] {"Attachment"}; 436 case -1268779017: /*format*/ return new String[] {"Coding"}; 437 default: return super.getTypesForProperty(hash, name); 438 } 439 440 } 441 442 @Override 443 public Base addChild(String name) throws FHIRException { 444 if (name.equals("attachment")) { 445 this.attachment = new Attachment(); 446 return this.attachment; 447 } 448 else if (name.equals("format")) { 449 this.format = new Coding(); 450 return this.format; 451 } 452 else 453 return super.addChild(name); 454 } 455 456 public DocumentReferenceContentComponent copy() { 457 DocumentReferenceContentComponent dst = new DocumentReferenceContentComponent(); 458 copyValues(dst); 459 return dst; 460 } 461 462 public void copyValues(DocumentReferenceContentComponent dst) { 463 super.copyValues(dst); 464 dst.attachment = attachment == null ? null : attachment.copy(); 465 dst.format = format == null ? null : format.copy(); 466 } 467 468 @Override 469 public boolean equalsDeep(Base other_) { 470 if (!super.equalsDeep(other_)) 471 return false; 472 if (!(other_ instanceof DocumentReferenceContentComponent)) 473 return false; 474 DocumentReferenceContentComponent o = (DocumentReferenceContentComponent) other_; 475 return compareDeep(attachment, o.attachment, true) && compareDeep(format, o.format, true); 476 } 477 478 @Override 479 public boolean equalsShallow(Base other_) { 480 if (!super.equalsShallow(other_)) 481 return false; 482 if (!(other_ instanceof DocumentReferenceContentComponent)) 483 return false; 484 DocumentReferenceContentComponent o = (DocumentReferenceContentComponent) other_; 485 return true; 486 } 487 488 public boolean isEmpty() { 489 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(attachment, format); 490 } 491 492 public String fhirType() { 493 return "DocumentReference.content"; 494 495 } 496 497 } 498 499 @Block() 500 public static class DocumentReferenceContextComponent extends BackboneElement implements IBaseBackboneElement { 501 /** 502 * Describes the clinical encounter or type of care that the document content is associated with. 503 */ 504 @Child(name = "encounter", type = {Encounter.class, EpisodeOfCare.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 505 @Description(shortDefinition="Context of the document content", formalDefinition="Describes the clinical encounter or type of care that the document content is associated with." ) 506 protected List<Reference> encounter; 507 508 /** 509 * This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the type Code, such as a "History and Physical Report" in which the procedure being documented is necessarily a "History and Physical" act. 510 */ 511 @Child(name = "event", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 512 @Description(shortDefinition="Main clinical acts documented", formalDefinition="This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the type Code, such as a \"History and Physical Report\" in which the procedure being documented is necessarily a \"History and Physical\" act." ) 513 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/v3-ActCode") 514 protected List<CodeableConcept> event; 515 516 /** 517 * The time period over which the service that is described by the document was provided. 518 */ 519 @Child(name = "period", type = {Period.class}, order=3, min=0, max=1, modifier=false, summary=true) 520 @Description(shortDefinition="Time of service that is being documented", formalDefinition="The time period over which the service that is described by the document was provided." ) 521 protected Period period; 522 523 /** 524 * The kind of facility where the patient was seen. 525 */ 526 @Child(name = "facilityType", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=false) 527 @Description(shortDefinition="Kind of facility where patient was seen", formalDefinition="The kind of facility where the patient was seen." ) 528 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/c80-facilitycodes") 529 protected CodeableConcept facilityType; 530 531 /** 532 * This property may convey specifics about the practice setting where the content was created, often reflecting the clinical specialty. 533 */ 534 @Child(name = "practiceSetting", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) 535 @Description(shortDefinition="Additional details about where the content was created (e.g. clinical specialty)", formalDefinition="This property may convey specifics about the practice setting where the content was created, often reflecting the clinical specialty." ) 536 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/c80-practice-codes") 537 protected CodeableConcept practiceSetting; 538 539 /** 540 * The Patient Information as known when the document was published. May be a reference to a version specific, or contained. 541 */ 542 @Child(name = "sourcePatientInfo", type = {Patient.class}, order=6, min=0, max=1, modifier=false, summary=false) 543 @Description(shortDefinition="Patient demographics from source", formalDefinition="The Patient Information as known when the document was published. May be a reference to a version specific, or contained." ) 544 protected Reference sourcePatientInfo; 545 546 /** 547 * Related identifiers or resources associated with the DocumentReference. 548 */ 549 @Child(name = "related", type = {Reference.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 550 @Description(shortDefinition="Related identifiers or resources", formalDefinition="Related identifiers or resources associated with the DocumentReference." ) 551 protected List<Reference> related; 552 553 private static final long serialVersionUID = -1982672562L; 554 555 /** 556 * Constructor 557 */ 558 public DocumentReferenceContextComponent() { 559 super(); 560 } 561 562 /** 563 * @return {@link #encounter} (Describes the clinical encounter or type of care that the document content is associated with.) 564 */ 565 public List<Reference> getEncounter() { 566 if (this.encounter == null) 567 this.encounter = new ArrayList<Reference>(); 568 return this.encounter; 569 } 570 571 /** 572 * @return Returns a reference to <code>this</code> for easy method chaining 573 */ 574 public DocumentReferenceContextComponent setEncounter(List<Reference> theEncounter) { 575 this.encounter = theEncounter; 576 return this; 577 } 578 579 public boolean hasEncounter() { 580 if (this.encounter == null) 581 return false; 582 for (Reference item : this.encounter) 583 if (!item.isEmpty()) 584 return true; 585 return false; 586 } 587 588 public Reference addEncounter() { //3 589 Reference t = new Reference(); 590 if (this.encounter == null) 591 this.encounter = new ArrayList<Reference>(); 592 this.encounter.add(t); 593 return t; 594 } 595 596 public DocumentReferenceContextComponent addEncounter(Reference t) { //3 597 if (t == null) 598 return this; 599 if (this.encounter == null) 600 this.encounter = new ArrayList<Reference>(); 601 this.encounter.add(t); 602 return this; 603 } 604 605 /** 606 * @return The first repetition of repeating field {@link #encounter}, creating it if it does not already exist {3} 607 */ 608 public Reference getEncounterFirstRep() { 609 if (getEncounter().isEmpty()) { 610 addEncounter(); 611 } 612 return getEncounter().get(0); 613 } 614 615 /** 616 * @return {@link #event} (This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the type Code, such as a "History and Physical Report" in which the procedure being documented is necessarily a "History and Physical" act.) 617 */ 618 public List<CodeableConcept> getEvent() { 619 if (this.event == null) 620 this.event = new ArrayList<CodeableConcept>(); 621 return this.event; 622 } 623 624 /** 625 * @return Returns a reference to <code>this</code> for easy method chaining 626 */ 627 public DocumentReferenceContextComponent setEvent(List<CodeableConcept> theEvent) { 628 this.event = theEvent; 629 return this; 630 } 631 632 public boolean hasEvent() { 633 if (this.event == null) 634 return false; 635 for (CodeableConcept item : this.event) 636 if (!item.isEmpty()) 637 return true; 638 return false; 639 } 640 641 public CodeableConcept addEvent() { //3 642 CodeableConcept t = new CodeableConcept(); 643 if (this.event == null) 644 this.event = new ArrayList<CodeableConcept>(); 645 this.event.add(t); 646 return t; 647 } 648 649 public DocumentReferenceContextComponent addEvent(CodeableConcept t) { //3 650 if (t == null) 651 return this; 652 if (this.event == null) 653 this.event = new ArrayList<CodeableConcept>(); 654 this.event.add(t); 655 return this; 656 } 657 658 /** 659 * @return The first repetition of repeating field {@link #event}, creating it if it does not already exist {3} 660 */ 661 public CodeableConcept getEventFirstRep() { 662 if (getEvent().isEmpty()) { 663 addEvent(); 664 } 665 return getEvent().get(0); 666 } 667 668 /** 669 * @return {@link #period} (The time period over which the service that is described by the document was provided.) 670 */ 671 public Period getPeriod() { 672 if (this.period == null) 673 if (Configuration.errorOnAutoCreate()) 674 throw new Error("Attempt to auto-create DocumentReferenceContextComponent.period"); 675 else if (Configuration.doAutoCreate()) 676 this.period = new Period(); // cc 677 return this.period; 678 } 679 680 public boolean hasPeriod() { 681 return this.period != null && !this.period.isEmpty(); 682 } 683 684 /** 685 * @param value {@link #period} (The time period over which the service that is described by the document was provided.) 686 */ 687 public DocumentReferenceContextComponent setPeriod(Period value) { 688 this.period = value; 689 return this; 690 } 691 692 /** 693 * @return {@link #facilityType} (The kind of facility where the patient was seen.) 694 */ 695 public CodeableConcept getFacilityType() { 696 if (this.facilityType == null) 697 if (Configuration.errorOnAutoCreate()) 698 throw new Error("Attempt to auto-create DocumentReferenceContextComponent.facilityType"); 699 else if (Configuration.doAutoCreate()) 700 this.facilityType = new CodeableConcept(); // cc 701 return this.facilityType; 702 } 703 704 public boolean hasFacilityType() { 705 return this.facilityType != null && !this.facilityType.isEmpty(); 706 } 707 708 /** 709 * @param value {@link #facilityType} (The kind of facility where the patient was seen.) 710 */ 711 public DocumentReferenceContextComponent setFacilityType(CodeableConcept value) { 712 this.facilityType = value; 713 return this; 714 } 715 716 /** 717 * @return {@link #practiceSetting} (This property may convey specifics about the practice setting where the content was created, often reflecting the clinical specialty.) 718 */ 719 public CodeableConcept getPracticeSetting() { 720 if (this.practiceSetting == null) 721 if (Configuration.errorOnAutoCreate()) 722 throw new Error("Attempt to auto-create DocumentReferenceContextComponent.practiceSetting"); 723 else if (Configuration.doAutoCreate()) 724 this.practiceSetting = new CodeableConcept(); // cc 725 return this.practiceSetting; 726 } 727 728 public boolean hasPracticeSetting() { 729 return this.practiceSetting != null && !this.practiceSetting.isEmpty(); 730 } 731 732 /** 733 * @param value {@link #practiceSetting} (This property may convey specifics about the practice setting where the content was created, often reflecting the clinical specialty.) 734 */ 735 public DocumentReferenceContextComponent setPracticeSetting(CodeableConcept value) { 736 this.practiceSetting = value; 737 return this; 738 } 739 740 /** 741 * @return {@link #sourcePatientInfo} (The Patient Information as known when the document was published. May be a reference to a version specific, or contained.) 742 */ 743 public Reference getSourcePatientInfo() { 744 if (this.sourcePatientInfo == null) 745 if (Configuration.errorOnAutoCreate()) 746 throw new Error("Attempt to auto-create DocumentReferenceContextComponent.sourcePatientInfo"); 747 else if (Configuration.doAutoCreate()) 748 this.sourcePatientInfo = new Reference(); // cc 749 return this.sourcePatientInfo; 750 } 751 752 public boolean hasSourcePatientInfo() { 753 return this.sourcePatientInfo != null && !this.sourcePatientInfo.isEmpty(); 754 } 755 756 /** 757 * @param value {@link #sourcePatientInfo} (The Patient Information as known when the document was published. May be a reference to a version specific, or contained.) 758 */ 759 public DocumentReferenceContextComponent setSourcePatientInfo(Reference value) { 760 this.sourcePatientInfo = value; 761 return this; 762 } 763 764 /** 765 * @return {@link #related} (Related identifiers or resources associated with the DocumentReference.) 766 */ 767 public List<Reference> getRelated() { 768 if (this.related == null) 769 this.related = new ArrayList<Reference>(); 770 return this.related; 771 } 772 773 /** 774 * @return Returns a reference to <code>this</code> for easy method chaining 775 */ 776 public DocumentReferenceContextComponent setRelated(List<Reference> theRelated) { 777 this.related = theRelated; 778 return this; 779 } 780 781 public boolean hasRelated() { 782 if (this.related == null) 783 return false; 784 for (Reference item : this.related) 785 if (!item.isEmpty()) 786 return true; 787 return false; 788 } 789 790 public Reference addRelated() { //3 791 Reference t = new Reference(); 792 if (this.related == null) 793 this.related = new ArrayList<Reference>(); 794 this.related.add(t); 795 return t; 796 } 797 798 public DocumentReferenceContextComponent addRelated(Reference t) { //3 799 if (t == null) 800 return this; 801 if (this.related == null) 802 this.related = new ArrayList<Reference>(); 803 this.related.add(t); 804 return this; 805 } 806 807 /** 808 * @return The first repetition of repeating field {@link #related}, creating it if it does not already exist {3} 809 */ 810 public Reference getRelatedFirstRep() { 811 if (getRelated().isEmpty()) { 812 addRelated(); 813 } 814 return getRelated().get(0); 815 } 816 817 protected void listChildren(List<Property> children) { 818 super.listChildren(children); 819 children.add(new Property("encounter", "Reference(Encounter|EpisodeOfCare)", "Describes the clinical encounter or type of care that the document content is associated with.", 0, java.lang.Integer.MAX_VALUE, encounter)); 820 children.add(new Property("event", "CodeableConcept", "This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the type Code, such as a \"History and Physical Report\" in which the procedure being documented is necessarily a \"History and Physical\" act.", 0, java.lang.Integer.MAX_VALUE, event)); 821 children.add(new Property("period", "Period", "The time period over which the service that is described by the document was provided.", 0, 1, period)); 822 children.add(new Property("facilityType", "CodeableConcept", "The kind of facility where the patient was seen.", 0, 1, facilityType)); 823 children.add(new Property("practiceSetting", "CodeableConcept", "This property may convey specifics about the practice setting where the content was created, often reflecting the clinical specialty.", 0, 1, practiceSetting)); 824 children.add(new Property("sourcePatientInfo", "Reference(Patient)", "The Patient Information as known when the document was published. May be a reference to a version specific, or contained.", 0, 1, sourcePatientInfo)); 825 children.add(new Property("related", "Reference(Any)", "Related identifiers or resources associated with the DocumentReference.", 0, java.lang.Integer.MAX_VALUE, related)); 826 } 827 828 @Override 829 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 830 switch (_hash) { 831 case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter|EpisodeOfCare)", "Describes the clinical encounter or type of care that the document content is associated with.", 0, java.lang.Integer.MAX_VALUE, encounter); 832 case 96891546: /*event*/ return new Property("event", "CodeableConcept", "This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the type Code, such as a \"History and Physical Report\" in which the procedure being documented is necessarily a \"History and Physical\" act.", 0, java.lang.Integer.MAX_VALUE, event); 833 case -991726143: /*period*/ return new Property("period", "Period", "The time period over which the service that is described by the document was provided.", 0, 1, period); 834 case 370698365: /*facilityType*/ return new Property("facilityType", "CodeableConcept", "The kind of facility where the patient was seen.", 0, 1, facilityType); 835 case 331373717: /*practiceSetting*/ return new Property("practiceSetting", "CodeableConcept", "This property may convey specifics about the practice setting where the content was created, often reflecting the clinical specialty.", 0, 1, practiceSetting); 836 case 2031381048: /*sourcePatientInfo*/ return new Property("sourcePatientInfo", "Reference(Patient)", "The Patient Information as known when the document was published. May be a reference to a version specific, or contained.", 0, 1, sourcePatientInfo); 837 case 1090493483: /*related*/ return new Property("related", "Reference(Any)", "Related identifiers or resources associated with the DocumentReference.", 0, java.lang.Integer.MAX_VALUE, related); 838 default: return super.getNamedProperty(_hash, _name, _checkValid); 839 } 840 841 } 842 843 @Override 844 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 845 switch (hash) { 846 case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : this.encounter.toArray(new Base[this.encounter.size()]); // Reference 847 case 96891546: /*event*/ return this.event == null ? new Base[0] : this.event.toArray(new Base[this.event.size()]); // CodeableConcept 848 case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period 849 case 370698365: /*facilityType*/ return this.facilityType == null ? new Base[0] : new Base[] {this.facilityType}; // CodeableConcept 850 case 331373717: /*practiceSetting*/ return this.practiceSetting == null ? new Base[0] : new Base[] {this.practiceSetting}; // CodeableConcept 851 case 2031381048: /*sourcePatientInfo*/ return this.sourcePatientInfo == null ? new Base[0] : new Base[] {this.sourcePatientInfo}; // Reference 852 case 1090493483: /*related*/ return this.related == null ? new Base[0] : this.related.toArray(new Base[this.related.size()]); // Reference 853 default: return super.getProperty(hash, name, checkValid); 854 } 855 856 } 857 858 @Override 859 public Base setProperty(int hash, String name, Base value) throws FHIRException { 860 switch (hash) { 861 case 1524132147: // encounter 862 this.getEncounter().add(TypeConvertor.castToReference(value)); // Reference 863 return value; 864 case 96891546: // event 865 this.getEvent().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 866 return value; 867 case -991726143: // period 868 this.period = TypeConvertor.castToPeriod(value); // Period 869 return value; 870 case 370698365: // facilityType 871 this.facilityType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 872 return value; 873 case 331373717: // practiceSetting 874 this.practiceSetting = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 875 return value; 876 case 2031381048: // sourcePatientInfo 877 this.sourcePatientInfo = TypeConvertor.castToReference(value); // Reference 878 return value; 879 case 1090493483: // related 880 this.getRelated().add(TypeConvertor.castToReference(value)); // Reference 881 return value; 882 default: return super.setProperty(hash, name, value); 883 } 884 885 } 886 887 @Override 888 public Base setProperty(String name, Base value) throws FHIRException { 889 if (name.equals("encounter")) { 890 this.getEncounter().add(TypeConvertor.castToReference(value)); 891 } else if (name.equals("event")) { 892 this.getEvent().add(TypeConvertor.castToCodeableConcept(value)); 893 } else if (name.equals("period")) { 894 this.period = TypeConvertor.castToPeriod(value); // Period 895 } else if (name.equals("facilityType")) { 896 this.facilityType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 897 } else if (name.equals("practiceSetting")) { 898 this.practiceSetting = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 899 } else if (name.equals("sourcePatientInfo")) { 900 this.sourcePatientInfo = TypeConvertor.castToReference(value); // Reference 901 } else if (name.equals("related")) { 902 this.getRelated().add(TypeConvertor.castToReference(value)); 903 } else 904 return super.setProperty(name, value); 905 return value; 906 } 907 908 @Override 909 public Base makeProperty(int hash, String name) throws FHIRException { 910 switch (hash) { 911 case 1524132147: return addEncounter(); 912 case 96891546: return addEvent(); 913 case -991726143: return getPeriod(); 914 case 370698365: return getFacilityType(); 915 case 331373717: return getPracticeSetting(); 916 case 2031381048: return getSourcePatientInfo(); 917 case 1090493483: return addRelated(); 918 default: return super.makeProperty(hash, name); 919 } 920 921 } 922 923 @Override 924 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 925 switch (hash) { 926 case 1524132147: /*encounter*/ return new String[] {"Reference"}; 927 case 96891546: /*event*/ return new String[] {"CodeableConcept"}; 928 case -991726143: /*period*/ return new String[] {"Period"}; 929 case 370698365: /*facilityType*/ return new String[] {"CodeableConcept"}; 930 case 331373717: /*practiceSetting*/ return new String[] {"CodeableConcept"}; 931 case 2031381048: /*sourcePatientInfo*/ return new String[] {"Reference"}; 932 case 1090493483: /*related*/ return new String[] {"Reference"}; 933 default: return super.getTypesForProperty(hash, name); 934 } 935 936 } 937 938 @Override 939 public Base addChild(String name) throws FHIRException { 940 if (name.equals("encounter")) { 941 return addEncounter(); 942 } 943 else if (name.equals("event")) { 944 return addEvent(); 945 } 946 else if (name.equals("period")) { 947 this.period = new Period(); 948 return this.period; 949 } 950 else if (name.equals("facilityType")) { 951 this.facilityType = new CodeableConcept(); 952 return this.facilityType; 953 } 954 else if (name.equals("practiceSetting")) { 955 this.practiceSetting = new CodeableConcept(); 956 return this.practiceSetting; 957 } 958 else if (name.equals("sourcePatientInfo")) { 959 this.sourcePatientInfo = new Reference(); 960 return this.sourcePatientInfo; 961 } 962 else if (name.equals("related")) { 963 return addRelated(); 964 } 965 else 966 return super.addChild(name); 967 } 968 969 public DocumentReferenceContextComponent copy() { 970 DocumentReferenceContextComponent dst = new DocumentReferenceContextComponent(); 971 copyValues(dst); 972 return dst; 973 } 974 975 public void copyValues(DocumentReferenceContextComponent dst) { 976 super.copyValues(dst); 977 if (encounter != null) { 978 dst.encounter = new ArrayList<Reference>(); 979 for (Reference i : encounter) 980 dst.encounter.add(i.copy()); 981 }; 982 if (event != null) { 983 dst.event = new ArrayList<CodeableConcept>(); 984 for (CodeableConcept i : event) 985 dst.event.add(i.copy()); 986 }; 987 dst.period = period == null ? null : period.copy(); 988 dst.facilityType = facilityType == null ? null : facilityType.copy(); 989 dst.practiceSetting = practiceSetting == null ? null : practiceSetting.copy(); 990 dst.sourcePatientInfo = sourcePatientInfo == null ? null : sourcePatientInfo.copy(); 991 if (related != null) { 992 dst.related = new ArrayList<Reference>(); 993 for (Reference i : related) 994 dst.related.add(i.copy()); 995 }; 996 } 997 998 @Override 999 public boolean equalsDeep(Base other_) { 1000 if (!super.equalsDeep(other_)) 1001 return false; 1002 if (!(other_ instanceof DocumentReferenceContextComponent)) 1003 return false; 1004 DocumentReferenceContextComponent o = (DocumentReferenceContextComponent) other_; 1005 return compareDeep(encounter, o.encounter, true) && compareDeep(event, o.event, true) && compareDeep(period, o.period, true) 1006 && compareDeep(facilityType, o.facilityType, true) && compareDeep(practiceSetting, o.practiceSetting, true) 1007 && compareDeep(sourcePatientInfo, o.sourcePatientInfo, true) && compareDeep(related, o.related, true) 1008 ; 1009 } 1010 1011 @Override 1012 public boolean equalsShallow(Base other_) { 1013 if (!super.equalsShallow(other_)) 1014 return false; 1015 if (!(other_ instanceof DocumentReferenceContextComponent)) 1016 return false; 1017 DocumentReferenceContextComponent o = (DocumentReferenceContextComponent) other_; 1018 return true; 1019 } 1020 1021 public boolean isEmpty() { 1022 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(encounter, event, period 1023 , facilityType, practiceSetting, sourcePatientInfo, related); 1024 } 1025 1026 public String fhirType() { 1027 return "DocumentReference.context"; 1028 1029 } 1030 1031 } 1032 1033 /** 1034 * Document identifier as assigned by the source of the document. This identifier is specific to this version of the document. This unique identifier may be used elsewhere to identify this version of the document. 1035 */ 1036 @Child(name = "masterIdentifier", type = {Identifier.class}, order=0, min=0, max=1, modifier=false, summary=true) 1037 @Description(shortDefinition="Master Version Specific Identifier", formalDefinition="Document identifier as assigned by the source of the document. This identifier is specific to this version of the document. This unique identifier may be used elsewhere to identify this version of the document." ) 1038 protected Identifier masterIdentifier; 1039 1040 /** 1041 * Other identifiers associated with the document, including version independent identifiers. 1042 */ 1043 @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1044 @Description(shortDefinition="Other identifiers for the document", formalDefinition="Other identifiers associated with the document, including version independent identifiers." ) 1045 protected List<Identifier> identifier; 1046 1047 /** 1048 * The status of this document reference. 1049 */ 1050 @Child(name = "status", type = {CodeType.class}, order=2, min=1, max=1, modifier=true, summary=true) 1051 @Description(shortDefinition="current | superseded | entered-in-error", formalDefinition="The status of this document reference." ) 1052 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/document-reference-status") 1053 protected Enumeration<DocumentReferenceStatus> status; 1054 1055 /** 1056 * The status of the underlying document. 1057 */ 1058 @Child(name = "docStatus", type = {CodeType.class}, order=3, min=0, max=1, modifier=false, summary=true) 1059 @Description(shortDefinition="preliminary | final | amended | entered-in-error", formalDefinition="The status of the underlying document." ) 1060 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/composition-status") 1061 protected Enumeration<CompositionStatus> docStatus; 1062 1063 /** 1064 * Specifies the particular kind of document referenced (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the document referenced. 1065 */ 1066 @Child(name = "type", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=true) 1067 @Description(shortDefinition="Kind of document (LOINC if possible)", formalDefinition="Specifies the particular kind of document referenced (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the document referenced." ) 1068 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/doc-typecodes") 1069 protected CodeableConcept type; 1070 1071 /** 1072 * A categorization for the type of document referenced - helps for indexing and searching. This may be implied by or derived from the code specified in the DocumentReference.type. 1073 */ 1074 @Child(name = "category", type = {CodeableConcept.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1075 @Description(shortDefinition="Categorization of document", formalDefinition="A categorization for the type of document referenced - helps for indexing and searching. This may be implied by or derived from the code specified in the DocumentReference.type." ) 1076 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/doc-classcodes") 1077 protected List<CodeableConcept> category; 1078 1079 /** 1080 * Who or what the document is about. The document can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure). 1081 */ 1082 @Child(name = "subject", type = {Patient.class, Practitioner.class, Group.class, Device.class}, order=6, min=0, max=1, modifier=false, summary=true) 1083 @Description(shortDefinition="Who/what is the subject of the document", formalDefinition="Who or what the document is about. The document can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure)." ) 1084 protected Reference subject; 1085 1086 /** 1087 * When the document reference was created. 1088 */ 1089 @Child(name = "date", type = {InstantType.class}, order=7, min=0, max=1, modifier=false, summary=true) 1090 @Description(shortDefinition="When this document reference was created", formalDefinition="When the document reference was created." ) 1091 protected InstantType date; 1092 1093 /** 1094 * Identifies who is responsible for adding the information to the document. 1095 */ 1096 @Child(name = "author", type = {Practitioner.class, PractitionerRole.class, Organization.class, Device.class, Patient.class, RelatedPerson.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1097 @Description(shortDefinition="Who and/or what authored the document", formalDefinition="Identifies who is responsible for adding the information to the document." ) 1098 protected List<Reference> author; 1099 1100 /** 1101 * Which person or organization authenticates that this document is valid. 1102 */ 1103 @Child(name = "authenticator", type = {Practitioner.class, PractitionerRole.class, Organization.class}, order=9, min=0, max=1, modifier=false, summary=false) 1104 @Description(shortDefinition="Who/what authenticated the document", formalDefinition="Which person or organization authenticates that this document is valid." ) 1105 protected Reference authenticator; 1106 1107 /** 1108 * Identifies the organization or group who is responsible for ongoing maintenance of and access to the document. 1109 */ 1110 @Child(name = "custodian", type = {Organization.class}, order=10, min=0, max=1, modifier=false, summary=false) 1111 @Description(shortDefinition="Organization which maintains the document", formalDefinition="Identifies the organization or group who is responsible for ongoing maintenance of and access to the document." ) 1112 protected Reference custodian; 1113 1114 /** 1115 * Relationships that this document has with other document references that already exist. 1116 */ 1117 @Child(name = "relatesTo", type = {}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1118 @Description(shortDefinition="Relationships to other documents", formalDefinition="Relationships that this document has with other document references that already exist." ) 1119 protected List<DocumentReferenceRelatesToComponent> relatesTo; 1120 1121 /** 1122 * Human-readable description of the source document. 1123 */ 1124 @Child(name = "description", type = {StringType.class}, order=12, min=0, max=1, modifier=false, summary=true) 1125 @Description(shortDefinition="Human-readable description", formalDefinition="Human-readable description of the source document." ) 1126 protected StringType description; 1127 1128 /** 1129 * A set of Security-Tag codes specifying the level of privacy/security of the Document. Note that DocumentReference.meta.security contains the security labels of the "reference" to the document, while DocumentReference.securityLabel contains a snapshot of the security labels on the document the reference refers to. 1130 */ 1131 @Child(name = "securityLabel", type = {CodeableConcept.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1132 @Description(shortDefinition="Document security-tags", formalDefinition="A set of Security-Tag codes specifying the level of privacy/security of the Document. Note that DocumentReference.meta.security contains the security labels of the \"reference\" to the document, while DocumentReference.securityLabel contains a snapshot of the security labels on the document the reference refers to." ) 1133 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/security-labels") 1134 protected List<CodeableConcept> securityLabel; 1135 1136 /** 1137 * The document and format referenced. There may be multiple content element repetitions, each with a different format. 1138 */ 1139 @Child(name = "content", type = {}, order=14, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1140 @Description(shortDefinition="Document referenced", formalDefinition="The document and format referenced. There may be multiple content element repetitions, each with a different format." ) 1141 protected List<DocumentReferenceContentComponent> content; 1142 1143 /** 1144 * The clinical context in which the document was prepared. 1145 */ 1146 @Child(name = "context", type = {}, order=15, min=0, max=1, modifier=false, summary=true) 1147 @Description(shortDefinition="Clinical context of document", formalDefinition="The clinical context in which the document was prepared." ) 1148 protected DocumentReferenceContextComponent context; 1149 1150 private static final long serialVersionUID = -521547148L; 1151 1152 /** 1153 * Constructor 1154 */ 1155 public DocumentReference() { 1156 super(); 1157 } 1158 1159 /** 1160 * Constructor 1161 */ 1162 public DocumentReference(DocumentReferenceStatus status, DocumentReferenceContentComponent content) { 1163 super(); 1164 this.setStatus(status); 1165 this.addContent(content); 1166 } 1167 1168 /** 1169 * @return {@link #masterIdentifier} (Document identifier as assigned by the source of the document. This identifier is specific to this version of the document. This unique identifier may be used elsewhere to identify this version of the document.) 1170 */ 1171 public Identifier getMasterIdentifier() { 1172 if (this.masterIdentifier == null) 1173 if (Configuration.errorOnAutoCreate()) 1174 throw new Error("Attempt to auto-create DocumentReference.masterIdentifier"); 1175 else if (Configuration.doAutoCreate()) 1176 this.masterIdentifier = new Identifier(); // cc 1177 return this.masterIdentifier; 1178 } 1179 1180 public boolean hasMasterIdentifier() { 1181 return this.masterIdentifier != null && !this.masterIdentifier.isEmpty(); 1182 } 1183 1184 /** 1185 * @param value {@link #masterIdentifier} (Document identifier as assigned by the source of the document. This identifier is specific to this version of the document. This unique identifier may be used elsewhere to identify this version of the document.) 1186 */ 1187 public DocumentReference setMasterIdentifier(Identifier value) { 1188 this.masterIdentifier = value; 1189 return this; 1190 } 1191 1192 /** 1193 * @return {@link #identifier} (Other identifiers associated with the document, including version independent identifiers.) 1194 */ 1195 public List<Identifier> getIdentifier() { 1196 if (this.identifier == null) 1197 this.identifier = new ArrayList<Identifier>(); 1198 return this.identifier; 1199 } 1200 1201 /** 1202 * @return Returns a reference to <code>this</code> for easy method chaining 1203 */ 1204 public DocumentReference setIdentifier(List<Identifier> theIdentifier) { 1205 this.identifier = theIdentifier; 1206 return this; 1207 } 1208 1209 public boolean hasIdentifier() { 1210 if (this.identifier == null) 1211 return false; 1212 for (Identifier item : this.identifier) 1213 if (!item.isEmpty()) 1214 return true; 1215 return false; 1216 } 1217 1218 public Identifier addIdentifier() { //3 1219 Identifier t = new Identifier(); 1220 if (this.identifier == null) 1221 this.identifier = new ArrayList<Identifier>(); 1222 this.identifier.add(t); 1223 return t; 1224 } 1225 1226 public DocumentReference addIdentifier(Identifier t) { //3 1227 if (t == null) 1228 return this; 1229 if (this.identifier == null) 1230 this.identifier = new ArrayList<Identifier>(); 1231 this.identifier.add(t); 1232 return this; 1233 } 1234 1235 /** 1236 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 1237 */ 1238 public Identifier getIdentifierFirstRep() { 1239 if (getIdentifier().isEmpty()) { 1240 addIdentifier(); 1241 } 1242 return getIdentifier().get(0); 1243 } 1244 1245 /** 1246 * @return {@link #status} (The status of this document reference.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1247 */ 1248 public Enumeration<DocumentReferenceStatus> getStatusElement() { 1249 if (this.status == null) 1250 if (Configuration.errorOnAutoCreate()) 1251 throw new Error("Attempt to auto-create DocumentReference.status"); 1252 else if (Configuration.doAutoCreate()) 1253 this.status = new Enumeration<DocumentReferenceStatus>(new DocumentReferenceStatusEnumFactory()); // bb 1254 return this.status; 1255 } 1256 1257 public boolean hasStatusElement() { 1258 return this.status != null && !this.status.isEmpty(); 1259 } 1260 1261 public boolean hasStatus() { 1262 return this.status != null && !this.status.isEmpty(); 1263 } 1264 1265 /** 1266 * @param value {@link #status} (The status of this document reference.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1267 */ 1268 public DocumentReference setStatusElement(Enumeration<DocumentReferenceStatus> value) { 1269 this.status = value; 1270 return this; 1271 } 1272 1273 /** 1274 * @return The status of this document reference. 1275 */ 1276 public DocumentReferenceStatus getStatus() { 1277 return this.status == null ? null : this.status.getValue(); 1278 } 1279 1280 /** 1281 * @param value The status of this document reference. 1282 */ 1283 public DocumentReference setStatus(DocumentReferenceStatus value) { 1284 if (this.status == null) 1285 this.status = new Enumeration<DocumentReferenceStatus>(new DocumentReferenceStatusEnumFactory()); 1286 this.status.setValue(value); 1287 return this; 1288 } 1289 1290 /** 1291 * @return {@link #docStatus} (The status of the underlying document.). This is the underlying object with id, value and extensions. The accessor "getDocStatus" gives direct access to the value 1292 */ 1293 public Enumeration<CompositionStatus> getDocStatusElement() { 1294 if (this.docStatus == null) 1295 if (Configuration.errorOnAutoCreate()) 1296 throw new Error("Attempt to auto-create DocumentReference.docStatus"); 1297 else if (Configuration.doAutoCreate()) 1298 this.docStatus = new Enumeration<CompositionStatus>(new CompositionStatusEnumFactory()); // bb 1299 return this.docStatus; 1300 } 1301 1302 public boolean hasDocStatusElement() { 1303 return this.docStatus != null && !this.docStatus.isEmpty(); 1304 } 1305 1306 public boolean hasDocStatus() { 1307 return this.docStatus != null && !this.docStatus.isEmpty(); 1308 } 1309 1310 /** 1311 * @param value {@link #docStatus} (The status of the underlying document.). This is the underlying object with id, value and extensions. The accessor "getDocStatus" gives direct access to the value 1312 */ 1313 public DocumentReference setDocStatusElement(Enumeration<CompositionStatus> value) { 1314 this.docStatus = value; 1315 return this; 1316 } 1317 1318 /** 1319 * @return The status of the underlying document. 1320 */ 1321 public CompositionStatus getDocStatus() { 1322 return this.docStatus == null ? null : this.docStatus.getValue(); 1323 } 1324 1325 /** 1326 * @param value The status of the underlying document. 1327 */ 1328 public DocumentReference setDocStatus(CompositionStatus value) { 1329 if (value == null) 1330 this.docStatus = null; 1331 else { 1332 if (this.docStatus == null) 1333 this.docStatus = new Enumeration<CompositionStatus>(new CompositionStatusEnumFactory()); 1334 this.docStatus.setValue(value); 1335 } 1336 return this; 1337 } 1338 1339 /** 1340 * @return {@link #type} (Specifies the particular kind of document referenced (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the document referenced.) 1341 */ 1342 public CodeableConcept getType() { 1343 if (this.type == null) 1344 if (Configuration.errorOnAutoCreate()) 1345 throw new Error("Attempt to auto-create DocumentReference.type"); 1346 else if (Configuration.doAutoCreate()) 1347 this.type = new CodeableConcept(); // cc 1348 return this.type; 1349 } 1350 1351 public boolean hasType() { 1352 return this.type != null && !this.type.isEmpty(); 1353 } 1354 1355 /** 1356 * @param value {@link #type} (Specifies the particular kind of document referenced (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the document referenced.) 1357 */ 1358 public DocumentReference setType(CodeableConcept value) { 1359 this.type = value; 1360 return this; 1361 } 1362 1363 /** 1364 * @return {@link #category} (A categorization for the type of document referenced - helps for indexing and searching. This may be implied by or derived from the code specified in the DocumentReference.type.) 1365 */ 1366 public List<CodeableConcept> getCategory() { 1367 if (this.category == null) 1368 this.category = new ArrayList<CodeableConcept>(); 1369 return this.category; 1370 } 1371 1372 /** 1373 * @return Returns a reference to <code>this</code> for easy method chaining 1374 */ 1375 public DocumentReference setCategory(List<CodeableConcept> theCategory) { 1376 this.category = theCategory; 1377 return this; 1378 } 1379 1380 public boolean hasCategory() { 1381 if (this.category == null) 1382 return false; 1383 for (CodeableConcept item : this.category) 1384 if (!item.isEmpty()) 1385 return true; 1386 return false; 1387 } 1388 1389 public CodeableConcept addCategory() { //3 1390 CodeableConcept t = new CodeableConcept(); 1391 if (this.category == null) 1392 this.category = new ArrayList<CodeableConcept>(); 1393 this.category.add(t); 1394 return t; 1395 } 1396 1397 public DocumentReference addCategory(CodeableConcept t) { //3 1398 if (t == null) 1399 return this; 1400 if (this.category == null) 1401 this.category = new ArrayList<CodeableConcept>(); 1402 this.category.add(t); 1403 return this; 1404 } 1405 1406 /** 1407 * @return The first repetition of repeating field {@link #category}, creating it if it does not already exist {3} 1408 */ 1409 public CodeableConcept getCategoryFirstRep() { 1410 if (getCategory().isEmpty()) { 1411 addCategory(); 1412 } 1413 return getCategory().get(0); 1414 } 1415 1416 /** 1417 * @return {@link #subject} (Who or what the document is about. The document can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure).) 1418 */ 1419 public Reference getSubject() { 1420 if (this.subject == null) 1421 if (Configuration.errorOnAutoCreate()) 1422 throw new Error("Attempt to auto-create DocumentReference.subject"); 1423 else if (Configuration.doAutoCreate()) 1424 this.subject = new Reference(); // cc 1425 return this.subject; 1426 } 1427 1428 public boolean hasSubject() { 1429 return this.subject != null && !this.subject.isEmpty(); 1430 } 1431 1432 /** 1433 * @param value {@link #subject} (Who or what the document is about. The document can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure).) 1434 */ 1435 public DocumentReference setSubject(Reference value) { 1436 this.subject = value; 1437 return this; 1438 } 1439 1440 /** 1441 * @return {@link #date} (When the document reference was created.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 1442 */ 1443 public InstantType getDateElement() { 1444 if (this.date == null) 1445 if (Configuration.errorOnAutoCreate()) 1446 throw new Error("Attempt to auto-create DocumentReference.date"); 1447 else if (Configuration.doAutoCreate()) 1448 this.date = new InstantType(); // bb 1449 return this.date; 1450 } 1451 1452 public boolean hasDateElement() { 1453 return this.date != null && !this.date.isEmpty(); 1454 } 1455 1456 public boolean hasDate() { 1457 return this.date != null && !this.date.isEmpty(); 1458 } 1459 1460 /** 1461 * @param value {@link #date} (When the document reference was created.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 1462 */ 1463 public DocumentReference setDateElement(InstantType value) { 1464 this.date = value; 1465 return this; 1466 } 1467 1468 /** 1469 * @return When the document reference was created. 1470 */ 1471 public Date getDate() { 1472 return this.date == null ? null : this.date.getValue(); 1473 } 1474 1475 /** 1476 * @param value When the document reference was created. 1477 */ 1478 public DocumentReference setDate(Date value) { 1479 if (value == null) 1480 this.date = null; 1481 else { 1482 if (this.date == null) 1483 this.date = new InstantType(); 1484 this.date.setValue(value); 1485 } 1486 return this; 1487 } 1488 1489 /** 1490 * @return {@link #author} (Identifies who is responsible for adding the information to the document.) 1491 */ 1492 public List<Reference> getAuthor() { 1493 if (this.author == null) 1494 this.author = new ArrayList<Reference>(); 1495 return this.author; 1496 } 1497 1498 /** 1499 * @return Returns a reference to <code>this</code> for easy method chaining 1500 */ 1501 public DocumentReference setAuthor(List<Reference> theAuthor) { 1502 this.author = theAuthor; 1503 return this; 1504 } 1505 1506 public boolean hasAuthor() { 1507 if (this.author == null) 1508 return false; 1509 for (Reference item : this.author) 1510 if (!item.isEmpty()) 1511 return true; 1512 return false; 1513 } 1514 1515 public Reference addAuthor() { //3 1516 Reference t = new Reference(); 1517 if (this.author == null) 1518 this.author = new ArrayList<Reference>(); 1519 this.author.add(t); 1520 return t; 1521 } 1522 1523 public DocumentReference addAuthor(Reference t) { //3 1524 if (t == null) 1525 return this; 1526 if (this.author == null) 1527 this.author = new ArrayList<Reference>(); 1528 this.author.add(t); 1529 return this; 1530 } 1531 1532 /** 1533 * @return The first repetition of repeating field {@link #author}, creating it if it does not already exist {3} 1534 */ 1535 public Reference getAuthorFirstRep() { 1536 if (getAuthor().isEmpty()) { 1537 addAuthor(); 1538 } 1539 return getAuthor().get(0); 1540 } 1541 1542 /** 1543 * @return {@link #authenticator} (Which person or organization authenticates that this document is valid.) 1544 */ 1545 public Reference getAuthenticator() { 1546 if (this.authenticator == null) 1547 if (Configuration.errorOnAutoCreate()) 1548 throw new Error("Attempt to auto-create DocumentReference.authenticator"); 1549 else if (Configuration.doAutoCreate()) 1550 this.authenticator = new Reference(); // cc 1551 return this.authenticator; 1552 } 1553 1554 public boolean hasAuthenticator() { 1555 return this.authenticator != null && !this.authenticator.isEmpty(); 1556 } 1557 1558 /** 1559 * @param value {@link #authenticator} (Which person or organization authenticates that this document is valid.) 1560 */ 1561 public DocumentReference setAuthenticator(Reference value) { 1562 this.authenticator = value; 1563 return this; 1564 } 1565 1566 /** 1567 * @return {@link #custodian} (Identifies the organization or group who is responsible for ongoing maintenance of and access to the document.) 1568 */ 1569 public Reference getCustodian() { 1570 if (this.custodian == null) 1571 if (Configuration.errorOnAutoCreate()) 1572 throw new Error("Attempt to auto-create DocumentReference.custodian"); 1573 else if (Configuration.doAutoCreate()) 1574 this.custodian = new Reference(); // cc 1575 return this.custodian; 1576 } 1577 1578 public boolean hasCustodian() { 1579 return this.custodian != null && !this.custodian.isEmpty(); 1580 } 1581 1582 /** 1583 * @param value {@link #custodian} (Identifies the organization or group who is responsible for ongoing maintenance of and access to the document.) 1584 */ 1585 public DocumentReference setCustodian(Reference value) { 1586 this.custodian = value; 1587 return this; 1588 } 1589 1590 /** 1591 * @return {@link #relatesTo} (Relationships that this document has with other document references that already exist.) 1592 */ 1593 public List<DocumentReferenceRelatesToComponent> getRelatesTo() { 1594 if (this.relatesTo == null) 1595 this.relatesTo = new ArrayList<DocumentReferenceRelatesToComponent>(); 1596 return this.relatesTo; 1597 } 1598 1599 /** 1600 * @return Returns a reference to <code>this</code> for easy method chaining 1601 */ 1602 public DocumentReference setRelatesTo(List<DocumentReferenceRelatesToComponent> theRelatesTo) { 1603 this.relatesTo = theRelatesTo; 1604 return this; 1605 } 1606 1607 public boolean hasRelatesTo() { 1608 if (this.relatesTo == null) 1609 return false; 1610 for (DocumentReferenceRelatesToComponent item : this.relatesTo) 1611 if (!item.isEmpty()) 1612 return true; 1613 return false; 1614 } 1615 1616 public DocumentReferenceRelatesToComponent addRelatesTo() { //3 1617 DocumentReferenceRelatesToComponent t = new DocumentReferenceRelatesToComponent(); 1618 if (this.relatesTo == null) 1619 this.relatesTo = new ArrayList<DocumentReferenceRelatesToComponent>(); 1620 this.relatesTo.add(t); 1621 return t; 1622 } 1623 1624 public DocumentReference addRelatesTo(DocumentReferenceRelatesToComponent t) { //3 1625 if (t == null) 1626 return this; 1627 if (this.relatesTo == null) 1628 this.relatesTo = new ArrayList<DocumentReferenceRelatesToComponent>(); 1629 this.relatesTo.add(t); 1630 return this; 1631 } 1632 1633 /** 1634 * @return The first repetition of repeating field {@link #relatesTo}, creating it if it does not already exist {3} 1635 */ 1636 public DocumentReferenceRelatesToComponent getRelatesToFirstRep() { 1637 if (getRelatesTo().isEmpty()) { 1638 addRelatesTo(); 1639 } 1640 return getRelatesTo().get(0); 1641 } 1642 1643 /** 1644 * @return {@link #description} (Human-readable description of the source document.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1645 */ 1646 public StringType getDescriptionElement() { 1647 if (this.description == null) 1648 if (Configuration.errorOnAutoCreate()) 1649 throw new Error("Attempt to auto-create DocumentReference.description"); 1650 else if (Configuration.doAutoCreate()) 1651 this.description = new StringType(); // bb 1652 return this.description; 1653 } 1654 1655 public boolean hasDescriptionElement() { 1656 return this.description != null && !this.description.isEmpty(); 1657 } 1658 1659 public boolean hasDescription() { 1660 return this.description != null && !this.description.isEmpty(); 1661 } 1662 1663 /** 1664 * @param value {@link #description} (Human-readable description of the source document.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1665 */ 1666 public DocumentReference setDescriptionElement(StringType value) { 1667 this.description = value; 1668 return this; 1669 } 1670 1671 /** 1672 * @return Human-readable description of the source document. 1673 */ 1674 public String getDescription() { 1675 return this.description == null ? null : this.description.getValue(); 1676 } 1677 1678 /** 1679 * @param value Human-readable description of the source document. 1680 */ 1681 public DocumentReference setDescription(String value) { 1682 if (Utilities.noString(value)) 1683 this.description = null; 1684 else { 1685 if (this.description == null) 1686 this.description = new StringType(); 1687 this.description.setValue(value); 1688 } 1689 return this; 1690 } 1691 1692 /** 1693 * @return {@link #securityLabel} (A set of Security-Tag codes specifying the level of privacy/security of the Document. Note that DocumentReference.meta.security contains the security labels of the "reference" to the document, while DocumentReference.securityLabel contains a snapshot of the security labels on the document the reference refers to.) 1694 */ 1695 public List<CodeableConcept> getSecurityLabel() { 1696 if (this.securityLabel == null) 1697 this.securityLabel = new ArrayList<CodeableConcept>(); 1698 return this.securityLabel; 1699 } 1700 1701 /** 1702 * @return Returns a reference to <code>this</code> for easy method chaining 1703 */ 1704 public DocumentReference setSecurityLabel(List<CodeableConcept> theSecurityLabel) { 1705 this.securityLabel = theSecurityLabel; 1706 return this; 1707 } 1708 1709 public boolean hasSecurityLabel() { 1710 if (this.securityLabel == null) 1711 return false; 1712 for (CodeableConcept item : this.securityLabel) 1713 if (!item.isEmpty()) 1714 return true; 1715 return false; 1716 } 1717 1718 public CodeableConcept addSecurityLabel() { //3 1719 CodeableConcept t = new CodeableConcept(); 1720 if (this.securityLabel == null) 1721 this.securityLabel = new ArrayList<CodeableConcept>(); 1722 this.securityLabel.add(t); 1723 return t; 1724 } 1725 1726 public DocumentReference addSecurityLabel(CodeableConcept t) { //3 1727 if (t == null) 1728 return this; 1729 if (this.securityLabel == null) 1730 this.securityLabel = new ArrayList<CodeableConcept>(); 1731 this.securityLabel.add(t); 1732 return this; 1733 } 1734 1735 /** 1736 * @return The first repetition of repeating field {@link #securityLabel}, creating it if it does not already exist {3} 1737 */ 1738 public CodeableConcept getSecurityLabelFirstRep() { 1739 if (getSecurityLabel().isEmpty()) { 1740 addSecurityLabel(); 1741 } 1742 return getSecurityLabel().get(0); 1743 } 1744 1745 /** 1746 * @return {@link #content} (The document and format referenced. There may be multiple content element repetitions, each with a different format.) 1747 */ 1748 public List<DocumentReferenceContentComponent> getContent() { 1749 if (this.content == null) 1750 this.content = new ArrayList<DocumentReferenceContentComponent>(); 1751 return this.content; 1752 } 1753 1754 /** 1755 * @return Returns a reference to <code>this</code> for easy method chaining 1756 */ 1757 public DocumentReference setContent(List<DocumentReferenceContentComponent> theContent) { 1758 this.content = theContent; 1759 return this; 1760 } 1761 1762 public boolean hasContent() { 1763 if (this.content == null) 1764 return false; 1765 for (DocumentReferenceContentComponent item : this.content) 1766 if (!item.isEmpty()) 1767 return true; 1768 return false; 1769 } 1770 1771 public DocumentReferenceContentComponent addContent() { //3 1772 DocumentReferenceContentComponent t = new DocumentReferenceContentComponent(); 1773 if (this.content == null) 1774 this.content = new ArrayList<DocumentReferenceContentComponent>(); 1775 this.content.add(t); 1776 return t; 1777 } 1778 1779 public DocumentReference addContent(DocumentReferenceContentComponent t) { //3 1780 if (t == null) 1781 return this; 1782 if (this.content == null) 1783 this.content = new ArrayList<DocumentReferenceContentComponent>(); 1784 this.content.add(t); 1785 return this; 1786 } 1787 1788 /** 1789 * @return The first repetition of repeating field {@link #content}, creating it if it does not already exist {3} 1790 */ 1791 public DocumentReferenceContentComponent getContentFirstRep() { 1792 if (getContent().isEmpty()) { 1793 addContent(); 1794 } 1795 return getContent().get(0); 1796 } 1797 1798 /** 1799 * @return {@link #context} (The clinical context in which the document was prepared.) 1800 */ 1801 public DocumentReferenceContextComponent getContext() { 1802 if (this.context == null) 1803 if (Configuration.errorOnAutoCreate()) 1804 throw new Error("Attempt to auto-create DocumentReference.context"); 1805 else if (Configuration.doAutoCreate()) 1806 this.context = new DocumentReferenceContextComponent(); // cc 1807 return this.context; 1808 } 1809 1810 public boolean hasContext() { 1811 return this.context != null && !this.context.isEmpty(); 1812 } 1813 1814 /** 1815 * @param value {@link #context} (The clinical context in which the document was prepared.) 1816 */ 1817 public DocumentReference setContext(DocumentReferenceContextComponent value) { 1818 this.context = value; 1819 return this; 1820 } 1821 1822 protected void listChildren(List<Property> children) { 1823 super.listChildren(children); 1824 children.add(new Property("masterIdentifier", "Identifier", "Document identifier as assigned by the source of the document. This identifier is specific to this version of the document. This unique identifier may be used elsewhere to identify this version of the document.", 0, 1, masterIdentifier)); 1825 children.add(new Property("identifier", "Identifier", "Other identifiers associated with the document, including version independent identifiers.", 0, java.lang.Integer.MAX_VALUE, identifier)); 1826 children.add(new Property("status", "code", "The status of this document reference.", 0, 1, status)); 1827 children.add(new Property("docStatus", "code", "The status of the underlying document.", 0, 1, docStatus)); 1828 children.add(new Property("type", "CodeableConcept", "Specifies the particular kind of document referenced (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the document referenced.", 0, 1, type)); 1829 children.add(new Property("category", "CodeableConcept", "A categorization for the type of document referenced - helps for indexing and searching. This may be implied by or derived from the code specified in the DocumentReference.type.", 0, java.lang.Integer.MAX_VALUE, category)); 1830 children.add(new Property("subject", "Reference(Patient|Practitioner|Group|Device)", "Who or what the document is about. The document can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure).", 0, 1, subject)); 1831 children.add(new Property("date", "instant", "When the document reference was created.", 0, 1, date)); 1832 children.add(new Property("author", "Reference(Practitioner|PractitionerRole|Organization|Device|Patient|RelatedPerson)", "Identifies who is responsible for adding the information to the document.", 0, java.lang.Integer.MAX_VALUE, author)); 1833 children.add(new Property("authenticator", "Reference(Practitioner|PractitionerRole|Organization)", "Which person or organization authenticates that this document is valid.", 0, 1, authenticator)); 1834 children.add(new Property("custodian", "Reference(Organization)", "Identifies the organization or group who is responsible for ongoing maintenance of and access to the document.", 0, 1, custodian)); 1835 children.add(new Property("relatesTo", "", "Relationships that this document has with other document references that already exist.", 0, java.lang.Integer.MAX_VALUE, relatesTo)); 1836 children.add(new Property("description", "string", "Human-readable description of the source document.", 0, 1, description)); 1837 children.add(new Property("securityLabel", "CodeableConcept", "A set of Security-Tag codes specifying the level of privacy/security of the Document. Note that DocumentReference.meta.security contains the security labels of the \"reference\" to the document, while DocumentReference.securityLabel contains a snapshot of the security labels on the document the reference refers to.", 0, java.lang.Integer.MAX_VALUE, securityLabel)); 1838 children.add(new Property("content", "", "The document and format referenced. There may be multiple content element repetitions, each with a different format.", 0, java.lang.Integer.MAX_VALUE, content)); 1839 children.add(new Property("context", "", "The clinical context in which the document was prepared.", 0, 1, context)); 1840 } 1841 1842 @Override 1843 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1844 switch (_hash) { 1845 case 243769515: /*masterIdentifier*/ return new Property("masterIdentifier", "Identifier", "Document identifier as assigned by the source of the document. This identifier is specific to this version of the document. This unique identifier may be used elsewhere to identify this version of the document.", 0, 1, masterIdentifier); 1846 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Other identifiers associated with the document, including version independent identifiers.", 0, java.lang.Integer.MAX_VALUE, identifier); 1847 case -892481550: /*status*/ return new Property("status", "code", "The status of this document reference.", 0, 1, status); 1848 case -23496886: /*docStatus*/ return new Property("docStatus", "code", "The status of the underlying document.", 0, 1, docStatus); 1849 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Specifies the particular kind of document referenced (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the document referenced.", 0, 1, type); 1850 case 50511102: /*category*/ return new Property("category", "CodeableConcept", "A categorization for the type of document referenced - helps for indexing and searching. This may be implied by or derived from the code specified in the DocumentReference.type.", 0, java.lang.Integer.MAX_VALUE, category); 1851 case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Practitioner|Group|Device)", "Who or what the document is about. The document can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of farm animals, or a set of patients that share a common exposure).", 0, 1, subject); 1852 case 3076014: /*date*/ return new Property("date", "instant", "When the document reference was created.", 0, 1, date); 1853 case -1406328437: /*author*/ return new Property("author", "Reference(Practitioner|PractitionerRole|Organization|Device|Patient|RelatedPerson)", "Identifies who is responsible for adding the information to the document.", 0, java.lang.Integer.MAX_VALUE, author); 1854 case 1815000435: /*authenticator*/ return new Property("authenticator", "Reference(Practitioner|PractitionerRole|Organization)", "Which person or organization authenticates that this document is valid.", 0, 1, authenticator); 1855 case 1611297262: /*custodian*/ return new Property("custodian", "Reference(Organization)", "Identifies the organization or group who is responsible for ongoing maintenance of and access to the document.", 0, 1, custodian); 1856 case -7765931: /*relatesTo*/ return new Property("relatesTo", "", "Relationships that this document has with other document references that already exist.", 0, java.lang.Integer.MAX_VALUE, relatesTo); 1857 case -1724546052: /*description*/ return new Property("description", "string", "Human-readable description of the source document.", 0, 1, description); 1858 case -722296940: /*securityLabel*/ return new Property("securityLabel", "CodeableConcept", "A set of Security-Tag codes specifying the level of privacy/security of the Document. Note that DocumentReference.meta.security contains the security labels of the \"reference\" to the document, while DocumentReference.securityLabel contains a snapshot of the security labels on the document the reference refers to.", 0, java.lang.Integer.MAX_VALUE, securityLabel); 1859 case 951530617: /*content*/ return new Property("content", "", "The document and format referenced. There may be multiple content element repetitions, each with a different format.", 0, java.lang.Integer.MAX_VALUE, content); 1860 case 951530927: /*context*/ return new Property("context", "", "The clinical context in which the document was prepared.", 0, 1, context); 1861 default: return super.getNamedProperty(_hash, _name, _checkValid); 1862 } 1863 1864 } 1865 1866 @Override 1867 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1868 switch (hash) { 1869 case 243769515: /*masterIdentifier*/ return this.masterIdentifier == null ? new Base[0] : new Base[] {this.masterIdentifier}; // Identifier 1870 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1871 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<DocumentReferenceStatus> 1872 case -23496886: /*docStatus*/ return this.docStatus == null ? new Base[0] : new Base[] {this.docStatus}; // Enumeration<CompositionStatus> 1873 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 1874 case 50511102: /*category*/ return this.category == null ? new Base[0] : this.category.toArray(new Base[this.category.size()]); // CodeableConcept 1875 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 1876 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // InstantType 1877 case -1406328437: /*author*/ return this.author == null ? new Base[0] : this.author.toArray(new Base[this.author.size()]); // Reference 1878 case 1815000435: /*authenticator*/ return this.authenticator == null ? new Base[0] : new Base[] {this.authenticator}; // Reference 1879 case 1611297262: /*custodian*/ return this.custodian == null ? new Base[0] : new Base[] {this.custodian}; // Reference 1880 case -7765931: /*relatesTo*/ return this.relatesTo == null ? new Base[0] : this.relatesTo.toArray(new Base[this.relatesTo.size()]); // DocumentReferenceRelatesToComponent 1881 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 1882 case -722296940: /*securityLabel*/ return this.securityLabel == null ? new Base[0] : this.securityLabel.toArray(new Base[this.securityLabel.size()]); // CodeableConcept 1883 case 951530617: /*content*/ return this.content == null ? new Base[0] : this.content.toArray(new Base[this.content.size()]); // DocumentReferenceContentComponent 1884 case 951530927: /*context*/ return this.context == null ? new Base[0] : new Base[] {this.context}; // DocumentReferenceContextComponent 1885 default: return super.getProperty(hash, name, checkValid); 1886 } 1887 1888 } 1889 1890 @Override 1891 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1892 switch (hash) { 1893 case 243769515: // masterIdentifier 1894 this.masterIdentifier = TypeConvertor.castToIdentifier(value); // Identifier 1895 return value; 1896 case -1618432855: // identifier 1897 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 1898 return value; 1899 case -892481550: // status 1900 value = new DocumentReferenceStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 1901 this.status = (Enumeration) value; // Enumeration<DocumentReferenceStatus> 1902 return value; 1903 case -23496886: // docStatus 1904 value = new CompositionStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 1905 this.docStatus = (Enumeration) value; // Enumeration<CompositionStatus> 1906 return value; 1907 case 3575610: // type 1908 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1909 return value; 1910 case 50511102: // category 1911 this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1912 return value; 1913 case -1867885268: // subject 1914 this.subject = TypeConvertor.castToReference(value); // Reference 1915 return value; 1916 case 3076014: // date 1917 this.date = TypeConvertor.castToInstant(value); // InstantType 1918 return value; 1919 case -1406328437: // author 1920 this.getAuthor().add(TypeConvertor.castToReference(value)); // Reference 1921 return value; 1922 case 1815000435: // authenticator 1923 this.authenticator = TypeConvertor.castToReference(value); // Reference 1924 return value; 1925 case 1611297262: // custodian 1926 this.custodian = TypeConvertor.castToReference(value); // Reference 1927 return value; 1928 case -7765931: // relatesTo 1929 this.getRelatesTo().add((DocumentReferenceRelatesToComponent) value); // DocumentReferenceRelatesToComponent 1930 return value; 1931 case -1724546052: // description 1932 this.description = TypeConvertor.castToString(value); // StringType 1933 return value; 1934 case -722296940: // securityLabel 1935 this.getSecurityLabel().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1936 return value; 1937 case 951530617: // content 1938 this.getContent().add((DocumentReferenceContentComponent) value); // DocumentReferenceContentComponent 1939 return value; 1940 case 951530927: // context 1941 this.context = (DocumentReferenceContextComponent) value; // DocumentReferenceContextComponent 1942 return value; 1943 default: return super.setProperty(hash, name, value); 1944 } 1945 1946 } 1947 1948 @Override 1949 public Base setProperty(String name, Base value) throws FHIRException { 1950 if (name.equals("masterIdentifier")) { 1951 this.masterIdentifier = TypeConvertor.castToIdentifier(value); // Identifier 1952 } else if (name.equals("identifier")) { 1953 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 1954 } else if (name.equals("status")) { 1955 value = new DocumentReferenceStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 1956 this.status = (Enumeration) value; // Enumeration<DocumentReferenceStatus> 1957 } else if (name.equals("docStatus")) { 1958 value = new CompositionStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 1959 this.docStatus = (Enumeration) value; // Enumeration<CompositionStatus> 1960 } else if (name.equals("type")) { 1961 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1962 } else if (name.equals("category")) { 1963 this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); 1964 } else if (name.equals("subject")) { 1965 this.subject = TypeConvertor.castToReference(value); // Reference 1966 } else if (name.equals("date")) { 1967 this.date = TypeConvertor.castToInstant(value); // InstantType 1968 } else if (name.equals("author")) { 1969 this.getAuthor().add(TypeConvertor.castToReference(value)); 1970 } else if (name.equals("authenticator")) { 1971 this.authenticator = TypeConvertor.castToReference(value); // Reference 1972 } else if (name.equals("custodian")) { 1973 this.custodian = TypeConvertor.castToReference(value); // Reference 1974 } else if (name.equals("relatesTo")) { 1975 this.getRelatesTo().add((DocumentReferenceRelatesToComponent) value); 1976 } else if (name.equals("description")) { 1977 this.description = TypeConvertor.castToString(value); // StringType 1978 } else if (name.equals("securityLabel")) { 1979 this.getSecurityLabel().add(TypeConvertor.castToCodeableConcept(value)); 1980 } else if (name.equals("content")) { 1981 this.getContent().add((DocumentReferenceContentComponent) value); 1982 } else if (name.equals("context")) { 1983 this.context = (DocumentReferenceContextComponent) value; // DocumentReferenceContextComponent 1984 } else 1985 return super.setProperty(name, value); 1986 return value; 1987 } 1988 1989 @Override 1990 public Base makeProperty(int hash, String name) throws FHIRException { 1991 switch (hash) { 1992 case 243769515: return getMasterIdentifier(); 1993 case -1618432855: return addIdentifier(); 1994 case -892481550: return getStatusElement(); 1995 case -23496886: return getDocStatusElement(); 1996 case 3575610: return getType(); 1997 case 50511102: return addCategory(); 1998 case -1867885268: return getSubject(); 1999 case 3076014: return getDateElement(); 2000 case -1406328437: return addAuthor(); 2001 case 1815000435: return getAuthenticator(); 2002 case 1611297262: return getCustodian(); 2003 case -7765931: return addRelatesTo(); 2004 case -1724546052: return getDescriptionElement(); 2005 case -722296940: return addSecurityLabel(); 2006 case 951530617: return addContent(); 2007 case 951530927: return getContext(); 2008 default: return super.makeProperty(hash, name); 2009 } 2010 2011 } 2012 2013 @Override 2014 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2015 switch (hash) { 2016 case 243769515: /*masterIdentifier*/ return new String[] {"Identifier"}; 2017 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 2018 case -892481550: /*status*/ return new String[] {"code"}; 2019 case -23496886: /*docStatus*/ return new String[] {"code"}; 2020 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 2021 case 50511102: /*category*/ return new String[] {"CodeableConcept"}; 2022 case -1867885268: /*subject*/ return new String[] {"Reference"}; 2023 case 3076014: /*date*/ return new String[] {"instant"}; 2024 case -1406328437: /*author*/ return new String[] {"Reference"}; 2025 case 1815000435: /*authenticator*/ return new String[] {"Reference"}; 2026 case 1611297262: /*custodian*/ return new String[] {"Reference"}; 2027 case -7765931: /*relatesTo*/ return new String[] {}; 2028 case -1724546052: /*description*/ return new String[] {"string"}; 2029 case -722296940: /*securityLabel*/ return new String[] {"CodeableConcept"}; 2030 case 951530617: /*content*/ return new String[] {}; 2031 case 951530927: /*context*/ return new String[] {}; 2032 default: return super.getTypesForProperty(hash, name); 2033 } 2034 2035 } 2036 2037 @Override 2038 public Base addChild(String name) throws FHIRException { 2039 if (name.equals("masterIdentifier")) { 2040 this.masterIdentifier = new Identifier(); 2041 return this.masterIdentifier; 2042 } 2043 else if (name.equals("identifier")) { 2044 return addIdentifier(); 2045 } 2046 else if (name.equals("status")) { 2047 throw new FHIRException("Cannot call addChild on a primitive type DocumentReference.status"); 2048 } 2049 else if (name.equals("docStatus")) { 2050 throw new FHIRException("Cannot call addChild on a primitive type DocumentReference.docStatus"); 2051 } 2052 else if (name.equals("type")) { 2053 this.type = new CodeableConcept(); 2054 return this.type; 2055 } 2056 else if (name.equals("category")) { 2057 return addCategory(); 2058 } 2059 else if (name.equals("subject")) { 2060 this.subject = new Reference(); 2061 return this.subject; 2062 } 2063 else if (name.equals("date")) { 2064 throw new FHIRException("Cannot call addChild on a primitive type DocumentReference.date"); 2065 } 2066 else if (name.equals("author")) { 2067 return addAuthor(); 2068 } 2069 else if (name.equals("authenticator")) { 2070 this.authenticator = new Reference(); 2071 return this.authenticator; 2072 } 2073 else if (name.equals("custodian")) { 2074 this.custodian = new Reference(); 2075 return this.custodian; 2076 } 2077 else if (name.equals("relatesTo")) { 2078 return addRelatesTo(); 2079 } 2080 else if (name.equals("description")) { 2081 throw new FHIRException("Cannot call addChild on a primitive type DocumentReference.description"); 2082 } 2083 else if (name.equals("securityLabel")) { 2084 return addSecurityLabel(); 2085 } 2086 else if (name.equals("content")) { 2087 return addContent(); 2088 } 2089 else if (name.equals("context")) { 2090 this.context = new DocumentReferenceContextComponent(); 2091 return this.context; 2092 } 2093 else 2094 return super.addChild(name); 2095 } 2096 2097 public String fhirType() { 2098 return "DocumentReference"; 2099 2100 } 2101 2102 public DocumentReference copy() { 2103 DocumentReference dst = new DocumentReference(); 2104 copyValues(dst); 2105 return dst; 2106 } 2107 2108 public void copyValues(DocumentReference dst) { 2109 super.copyValues(dst); 2110 dst.masterIdentifier = masterIdentifier == null ? null : masterIdentifier.copy(); 2111 if (identifier != null) { 2112 dst.identifier = new ArrayList<Identifier>(); 2113 for (Identifier i : identifier) 2114 dst.identifier.add(i.copy()); 2115 }; 2116 dst.status = status == null ? null : status.copy(); 2117 dst.docStatus = docStatus == null ? null : docStatus.copy(); 2118 dst.type = type == null ? null : type.copy(); 2119 if (category != null) { 2120 dst.category = new ArrayList<CodeableConcept>(); 2121 for (CodeableConcept i : category) 2122 dst.category.add(i.copy()); 2123 }; 2124 dst.subject = subject == null ? null : subject.copy(); 2125 dst.date = date == null ? null : date.copy(); 2126 if (author != null) { 2127 dst.author = new ArrayList<Reference>(); 2128 for (Reference i : author) 2129 dst.author.add(i.copy()); 2130 }; 2131 dst.authenticator = authenticator == null ? null : authenticator.copy(); 2132 dst.custodian = custodian == null ? null : custodian.copy(); 2133 if (relatesTo != null) { 2134 dst.relatesTo = new ArrayList<DocumentReferenceRelatesToComponent>(); 2135 for (DocumentReferenceRelatesToComponent i : relatesTo) 2136 dst.relatesTo.add(i.copy()); 2137 }; 2138 dst.description = description == null ? null : description.copy(); 2139 if (securityLabel != null) { 2140 dst.securityLabel = new ArrayList<CodeableConcept>(); 2141 for (CodeableConcept i : securityLabel) 2142 dst.securityLabel.add(i.copy()); 2143 }; 2144 if (content != null) { 2145 dst.content = new ArrayList<DocumentReferenceContentComponent>(); 2146 for (DocumentReferenceContentComponent i : content) 2147 dst.content.add(i.copy()); 2148 }; 2149 dst.context = context == null ? null : context.copy(); 2150 } 2151 2152 protected DocumentReference typedCopy() { 2153 return copy(); 2154 } 2155 2156 @Override 2157 public boolean equalsDeep(Base other_) { 2158 if (!super.equalsDeep(other_)) 2159 return false; 2160 if (!(other_ instanceof DocumentReference)) 2161 return false; 2162 DocumentReference o = (DocumentReference) other_; 2163 return compareDeep(masterIdentifier, o.masterIdentifier, true) && compareDeep(identifier, o.identifier, true) 2164 && compareDeep(status, o.status, true) && compareDeep(docStatus, o.docStatus, true) && compareDeep(type, o.type, true) 2165 && compareDeep(category, o.category, true) && compareDeep(subject, o.subject, true) && compareDeep(date, o.date, true) 2166 && compareDeep(author, o.author, true) && compareDeep(authenticator, o.authenticator, true) && compareDeep(custodian, o.custodian, true) 2167 && compareDeep(relatesTo, o.relatesTo, true) && compareDeep(description, o.description, true) && compareDeep(securityLabel, o.securityLabel, true) 2168 && compareDeep(content, o.content, true) && compareDeep(context, o.context, true); 2169 } 2170 2171 @Override 2172 public boolean equalsShallow(Base other_) { 2173 if (!super.equalsShallow(other_)) 2174 return false; 2175 if (!(other_ instanceof DocumentReference)) 2176 return false; 2177 DocumentReference o = (DocumentReference) other_; 2178 return compareValues(status, o.status, true) && compareValues(docStatus, o.docStatus, true) && compareValues(date, o.date, true) 2179 && compareValues(description, o.description, true); 2180 } 2181 2182 public boolean isEmpty() { 2183 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(masterIdentifier, identifier 2184 , status, docStatus, type, category, subject, date, author, authenticator, custodian 2185 , relatesTo, description, securityLabel, content, context); 2186 } 2187 2188 @Override 2189 public ResourceType getResourceType() { 2190 return ResourceType.DocumentReference; 2191 } 2192 2193 /** 2194 * Search parameter: <b>authenticator</b> 2195 * <p> 2196 * Description: <b>Who/what authenticated the document</b><br> 2197 * Type: <b>reference</b><br> 2198 * Path: <b>DocumentReference.authenticator</b><br> 2199 * </p> 2200 */ 2201 @SearchParamDefinition(name="authenticator", path="DocumentReference.authenticator", description="Who/what authenticated the document", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Organization.class, Practitioner.class, PractitionerRole.class } ) 2202 public static final String SP_AUTHENTICATOR = "authenticator"; 2203 /** 2204 * <b>Fluent Client</b> search parameter constant for <b>authenticator</b> 2205 * <p> 2206 * Description: <b>Who/what authenticated the document</b><br> 2207 * Type: <b>reference</b><br> 2208 * Path: <b>DocumentReference.authenticator</b><br> 2209 * </p> 2210 */ 2211 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam AUTHENTICATOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_AUTHENTICATOR); 2212 2213/** 2214 * Constant for fluent queries to be used to add include statements. Specifies 2215 * the path value of "<b>DocumentReference:authenticator</b>". 2216 */ 2217 public static final ca.uhn.fhir.model.api.Include INCLUDE_AUTHENTICATOR = new ca.uhn.fhir.model.api.Include("DocumentReference:authenticator").toLocked(); 2218 2219 /** 2220 * Search parameter: <b>author</b> 2221 * <p> 2222 * Description: <b>Who and/or what authored the document</b><br> 2223 * Type: <b>reference</b><br> 2224 * Path: <b>DocumentReference.author</b><br> 2225 * </p> 2226 */ 2227 @SearchParamDefinition(name="author", path="DocumentReference.author", description="Who and/or what authored the document", 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"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for RelatedPerson") }, target={Device.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) 2228 public static final String SP_AUTHOR = "author"; 2229 /** 2230 * <b>Fluent Client</b> search parameter constant for <b>author</b> 2231 * <p> 2232 * Description: <b>Who and/or what authored the document</b><br> 2233 * Type: <b>reference</b><br> 2234 * Path: <b>DocumentReference.author</b><br> 2235 * </p> 2236 */ 2237 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam AUTHOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_AUTHOR); 2238 2239/** 2240 * Constant for fluent queries to be used to add include statements. Specifies 2241 * the path value of "<b>DocumentReference:author</b>". 2242 */ 2243 public static final ca.uhn.fhir.model.api.Include INCLUDE_AUTHOR = new ca.uhn.fhir.model.api.Include("DocumentReference:author").toLocked(); 2244 2245 /** 2246 * Search parameter: <b>category</b> 2247 * <p> 2248 * Description: <b>Categorization of document</b><br> 2249 * Type: <b>token</b><br> 2250 * Path: <b>DocumentReference.category</b><br> 2251 * </p> 2252 */ 2253 @SearchParamDefinition(name="category", path="DocumentReference.category", description="Categorization of document", type="token" ) 2254 public static final String SP_CATEGORY = "category"; 2255 /** 2256 * <b>Fluent Client</b> search parameter constant for <b>category</b> 2257 * <p> 2258 * Description: <b>Categorization of document</b><br> 2259 * Type: <b>token</b><br> 2260 * Path: <b>DocumentReference.category</b><br> 2261 * </p> 2262 */ 2263 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CATEGORY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CATEGORY); 2264 2265 /** 2266 * Search parameter: <b>contenttype</b> 2267 * <p> 2268 * Description: <b>Mime type of the content, with charset etc.</b><br> 2269 * Type: <b>token</b><br> 2270 * Path: <b>DocumentReference.content.attachment.contentType</b><br> 2271 * </p> 2272 */ 2273 @SearchParamDefinition(name="contenttype", path="DocumentReference.content.attachment.contentType", description="Mime type of the content, with charset etc.", type="token" ) 2274 public static final String SP_CONTENTTYPE = "contenttype"; 2275 /** 2276 * <b>Fluent Client</b> search parameter constant for <b>contenttype</b> 2277 * <p> 2278 * Description: <b>Mime type of the content, with charset etc.</b><br> 2279 * Type: <b>token</b><br> 2280 * Path: <b>DocumentReference.content.attachment.contentType</b><br> 2281 * </p> 2282 */ 2283 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTENTTYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTENTTYPE); 2284 2285 /** 2286 * Search parameter: <b>custodian</b> 2287 * <p> 2288 * Description: <b>Organization which maintains the document</b><br> 2289 * Type: <b>reference</b><br> 2290 * Path: <b>DocumentReference.custodian</b><br> 2291 * </p> 2292 */ 2293 @SearchParamDefinition(name="custodian", path="DocumentReference.custodian", description="Organization which maintains the document", type="reference", target={Organization.class } ) 2294 public static final String SP_CUSTODIAN = "custodian"; 2295 /** 2296 * <b>Fluent Client</b> search parameter constant for <b>custodian</b> 2297 * <p> 2298 * Description: <b>Organization which maintains the document</b><br> 2299 * Type: <b>reference</b><br> 2300 * Path: <b>DocumentReference.custodian</b><br> 2301 * </p> 2302 */ 2303 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam CUSTODIAN = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_CUSTODIAN); 2304 2305/** 2306 * Constant for fluent queries to be used to add include statements. Specifies 2307 * the path value of "<b>DocumentReference:custodian</b>". 2308 */ 2309 public static final ca.uhn.fhir.model.api.Include INCLUDE_CUSTODIAN = new ca.uhn.fhir.model.api.Include("DocumentReference:custodian").toLocked(); 2310 2311 /** 2312 * Search parameter: <b>date</b> 2313 * <p> 2314 * Description: <b>When this document reference was created</b><br> 2315 * Type: <b>date</b><br> 2316 * Path: <b>DocumentReference.date</b><br> 2317 * </p> 2318 */ 2319 @SearchParamDefinition(name="date", path="DocumentReference.date", description="When this document reference was created", type="date" ) 2320 public static final String SP_DATE = "date"; 2321 /** 2322 * <b>Fluent Client</b> search parameter constant for <b>date</b> 2323 * <p> 2324 * Description: <b>When this document reference was created</b><br> 2325 * Type: <b>date</b><br> 2326 * Path: <b>DocumentReference.date</b><br> 2327 * </p> 2328 */ 2329 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 2330 2331 /** 2332 * Search parameter: <b>description</b> 2333 * <p> 2334 * Description: <b>Human-readable description</b><br> 2335 * Type: <b>string</b><br> 2336 * Path: <b>DocumentReference.description</b><br> 2337 * </p> 2338 */ 2339 @SearchParamDefinition(name="description", path="DocumentReference.description", description="Human-readable description", type="string" ) 2340 public static final String SP_DESCRIPTION = "description"; 2341 /** 2342 * <b>Fluent Client</b> search parameter constant for <b>description</b> 2343 * <p> 2344 * Description: <b>Human-readable description</b><br> 2345 * Type: <b>string</b><br> 2346 * Path: <b>DocumentReference.description</b><br> 2347 * </p> 2348 */ 2349 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); 2350 2351 /** 2352 * Search parameter: <b>event</b> 2353 * <p> 2354 * Description: <b>Main clinical acts documented</b><br> 2355 * Type: <b>token</b><br> 2356 * Path: <b>DocumentReference.context.event</b><br> 2357 * </p> 2358 */ 2359 @SearchParamDefinition(name="event", path="DocumentReference.context.event", description="Main clinical acts documented", type="token" ) 2360 public static final String SP_EVENT = "event"; 2361 /** 2362 * <b>Fluent Client</b> search parameter constant for <b>event</b> 2363 * <p> 2364 * Description: <b>Main clinical acts documented</b><br> 2365 * Type: <b>token</b><br> 2366 * Path: <b>DocumentReference.context.event</b><br> 2367 * </p> 2368 */ 2369 public static final ca.uhn.fhir.rest.gclient.TokenClientParam EVENT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_EVENT); 2370 2371 /** 2372 * Search parameter: <b>facility</b> 2373 * <p> 2374 * Description: <b>Kind of facility where patient was seen</b><br> 2375 * Type: <b>token</b><br> 2376 * Path: <b>DocumentReference.context.facilityType</b><br> 2377 * </p> 2378 */ 2379 @SearchParamDefinition(name="facility", path="DocumentReference.context.facilityType", description="Kind of facility where patient was seen", type="token" ) 2380 public static final String SP_FACILITY = "facility"; 2381 /** 2382 * <b>Fluent Client</b> search parameter constant for <b>facility</b> 2383 * <p> 2384 * Description: <b>Kind of facility where patient was seen</b><br> 2385 * Type: <b>token</b><br> 2386 * Path: <b>DocumentReference.context.facilityType</b><br> 2387 * </p> 2388 */ 2389 public static final ca.uhn.fhir.rest.gclient.TokenClientParam FACILITY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_FACILITY); 2390 2391 /** 2392 * Search parameter: <b>format</b> 2393 * <p> 2394 * Description: <b>Format/content rules for the document</b><br> 2395 * Type: <b>token</b><br> 2396 * Path: <b>DocumentReference.content.format</b><br> 2397 * </p> 2398 */ 2399 @SearchParamDefinition(name="format", path="DocumentReference.content.format", description="Format/content rules for the document", type="token" ) 2400 public static final String SP_FORMAT = "format"; 2401 /** 2402 * <b>Fluent Client</b> search parameter constant for <b>format</b> 2403 * <p> 2404 * Description: <b>Format/content rules for the document</b><br> 2405 * Type: <b>token</b><br> 2406 * Path: <b>DocumentReference.content.format</b><br> 2407 * </p> 2408 */ 2409 public static final ca.uhn.fhir.rest.gclient.TokenClientParam FORMAT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_FORMAT); 2410 2411 /** 2412 * Search parameter: <b>language</b> 2413 * <p> 2414 * Description: <b>Human language of the content (BCP-47)</b><br> 2415 * Type: <b>token</b><br> 2416 * Path: <b>DocumentReference.content.attachment.language</b><br> 2417 * </p> 2418 */ 2419 @SearchParamDefinition(name="language", path="DocumentReference.content.attachment.language", description="Human language of the content (BCP-47)", type="token" ) 2420 public static final String SP_LANGUAGE = "language"; 2421 /** 2422 * <b>Fluent Client</b> search parameter constant for <b>language</b> 2423 * <p> 2424 * Description: <b>Human language of the content (BCP-47)</b><br> 2425 * Type: <b>token</b><br> 2426 * Path: <b>DocumentReference.content.attachment.language</b><br> 2427 * </p> 2428 */ 2429 public static final ca.uhn.fhir.rest.gclient.TokenClientParam LANGUAGE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_LANGUAGE); 2430 2431 /** 2432 * Search parameter: <b>location</b> 2433 * <p> 2434 * Description: <b>Uri where the data can be found</b><br> 2435 * Type: <b>uri</b><br> 2436 * Path: <b>DocumentReference.content.attachment.url</b><br> 2437 * </p> 2438 */ 2439 @SearchParamDefinition(name="location", path="DocumentReference.content.attachment.url", description="Uri where the data can be found", type="uri" ) 2440 public static final String SP_LOCATION = "location"; 2441 /** 2442 * <b>Fluent Client</b> search parameter constant for <b>location</b> 2443 * <p> 2444 * Description: <b>Uri where the data can be found</b><br> 2445 * Type: <b>uri</b><br> 2446 * Path: <b>DocumentReference.content.attachment.url</b><br> 2447 * </p> 2448 */ 2449 public static final ca.uhn.fhir.rest.gclient.UriClientParam LOCATION = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_LOCATION); 2450 2451 /** 2452 * Search parameter: <b>period</b> 2453 * <p> 2454 * Description: <b>Time of service that is being documented</b><br> 2455 * Type: <b>date</b><br> 2456 * Path: <b>DocumentReference.context.period</b><br> 2457 * </p> 2458 */ 2459 @SearchParamDefinition(name="period", path="DocumentReference.context.period", description="Time of service that is being documented", type="date" ) 2460 public static final String SP_PERIOD = "period"; 2461 /** 2462 * <b>Fluent Client</b> search parameter constant for <b>period</b> 2463 * <p> 2464 * Description: <b>Time of service that is being documented</b><br> 2465 * Type: <b>date</b><br> 2466 * Path: <b>DocumentReference.context.period</b><br> 2467 * </p> 2468 */ 2469 public static final ca.uhn.fhir.rest.gclient.DateClientParam PERIOD = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_PERIOD); 2470 2471 /** 2472 * Search parameter: <b>related</b> 2473 * <p> 2474 * Description: <b>Related identifiers or resources</b><br> 2475 * Type: <b>reference</b><br> 2476 * Path: <b>DocumentReference.context.related</b><br> 2477 * </p> 2478 */ 2479 @SearchParamDefinition(name="related", path="DocumentReference.context.related", description="Related identifiers or resources", 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 } ) 2480 public static final String SP_RELATED = "related"; 2481 /** 2482 * <b>Fluent Client</b> search parameter constant for <b>related</b> 2483 * <p> 2484 * Description: <b>Related identifiers or resources</b><br> 2485 * Type: <b>reference</b><br> 2486 * Path: <b>DocumentReference.context.related</b><br> 2487 * </p> 2488 */ 2489 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam RELATED = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_RELATED); 2490 2491/** 2492 * Constant for fluent queries to be used to add include statements. Specifies 2493 * the path value of "<b>DocumentReference:related</b>". 2494 */ 2495 public static final ca.uhn.fhir.model.api.Include INCLUDE_RELATED = new ca.uhn.fhir.model.api.Include("DocumentReference:related").toLocked(); 2496 2497 /** 2498 * Search parameter: <b>relatesto</b> 2499 * <p> 2500 * Description: <b>Target of the relationship</b><br> 2501 * Type: <b>reference</b><br> 2502 * Path: <b>DocumentReference.relatesTo.target</b><br> 2503 * </p> 2504 */ 2505 @SearchParamDefinition(name="relatesto", path="DocumentReference.relatesTo.target", description="Target of the relationship", type="reference", target={DocumentReference.class } ) 2506 public static final String SP_RELATESTO = "relatesto"; 2507 /** 2508 * <b>Fluent Client</b> search parameter constant for <b>relatesto</b> 2509 * <p> 2510 * Description: <b>Target of the relationship</b><br> 2511 * Type: <b>reference</b><br> 2512 * Path: <b>DocumentReference.relatesTo.target</b><br> 2513 * </p> 2514 */ 2515 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam RELATESTO = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_RELATESTO); 2516 2517/** 2518 * Constant for fluent queries to be used to add include statements. Specifies 2519 * the path value of "<b>DocumentReference:relatesto</b>". 2520 */ 2521 public static final ca.uhn.fhir.model.api.Include INCLUDE_RELATESTO = new ca.uhn.fhir.model.api.Include("DocumentReference:relatesto").toLocked(); 2522 2523 /** 2524 * Search parameter: <b>relation</b> 2525 * <p> 2526 * Description: <b>replaces | transforms | signs | appends</b><br> 2527 * Type: <b>token</b><br> 2528 * Path: <b>DocumentReference.relatesTo.code</b><br> 2529 * </p> 2530 */ 2531 @SearchParamDefinition(name="relation", path="DocumentReference.relatesTo.code", description="replaces | transforms | signs | appends", type="token" ) 2532 public static final String SP_RELATION = "relation"; 2533 /** 2534 * <b>Fluent Client</b> search parameter constant for <b>relation</b> 2535 * <p> 2536 * Description: <b>replaces | transforms | signs | appends</b><br> 2537 * Type: <b>token</b><br> 2538 * Path: <b>DocumentReference.relatesTo.code</b><br> 2539 * </p> 2540 */ 2541 public static final ca.uhn.fhir.rest.gclient.TokenClientParam RELATION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_RELATION); 2542 2543 /** 2544 * Search parameter: <b>relationship</b> 2545 * <p> 2546 * Description: <b>Combination of relation and relatesTo</b><br> 2547 * Type: <b>composite</b><br> 2548 * Path: <b>DocumentReference.relatesTo</b><br> 2549 * </p> 2550 */ 2551 @SearchParamDefinition(name="relationship", path="DocumentReference.relatesTo", description="Combination of relation and relatesTo", type="composite", compositeOf={"relatesto", "relation"} ) 2552 public static final String SP_RELATIONSHIP = "relationship"; 2553 /** 2554 * <b>Fluent Client</b> search parameter constant for <b>relationship</b> 2555 * <p> 2556 * Description: <b>Combination of relation and relatesTo</b><br> 2557 * Type: <b>composite</b><br> 2558 * Path: <b>DocumentReference.relatesTo</b><br> 2559 * </p> 2560 */ 2561 public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.ReferenceClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam> RELATIONSHIP = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.ReferenceClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam>(SP_RELATIONSHIP); 2562 2563 /** 2564 * Search parameter: <b>security-label</b> 2565 * <p> 2566 * Description: <b>Document security-tags</b><br> 2567 * Type: <b>token</b><br> 2568 * Path: <b>DocumentReference.securityLabel</b><br> 2569 * </p> 2570 */ 2571 @SearchParamDefinition(name="security-label", path="DocumentReference.securityLabel", description="Document security-tags", type="token" ) 2572 public static final String SP_SECURITY_LABEL = "security-label"; 2573 /** 2574 * <b>Fluent Client</b> search parameter constant for <b>security-label</b> 2575 * <p> 2576 * Description: <b>Document security-tags</b><br> 2577 * Type: <b>token</b><br> 2578 * Path: <b>DocumentReference.securityLabel</b><br> 2579 * </p> 2580 */ 2581 public static final ca.uhn.fhir.rest.gclient.TokenClientParam SECURITY_LABEL = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_SECURITY_LABEL); 2582 2583 /** 2584 * Search parameter: <b>setting</b> 2585 * <p> 2586 * Description: <b>Additional details about where the content was created (e.g. clinical specialty)</b><br> 2587 * Type: <b>token</b><br> 2588 * Path: <b>DocumentReference.context.practiceSetting</b><br> 2589 * </p> 2590 */ 2591 @SearchParamDefinition(name="setting", path="DocumentReference.context.practiceSetting", description="Additional details about where the content was created (e.g. clinical specialty)", type="token" ) 2592 public static final String SP_SETTING = "setting"; 2593 /** 2594 * <b>Fluent Client</b> search parameter constant for <b>setting</b> 2595 * <p> 2596 * Description: <b>Additional details about where the content was created (e.g. clinical specialty)</b><br> 2597 * Type: <b>token</b><br> 2598 * Path: <b>DocumentReference.context.practiceSetting</b><br> 2599 * </p> 2600 */ 2601 public static final ca.uhn.fhir.rest.gclient.TokenClientParam SETTING = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_SETTING); 2602 2603 /** 2604 * Search parameter: <b>status</b> 2605 * <p> 2606 * Description: <b>current | superseded | entered-in-error</b><br> 2607 * Type: <b>token</b><br> 2608 * Path: <b>DocumentReference.status</b><br> 2609 * </p> 2610 */ 2611 @SearchParamDefinition(name="status", path="DocumentReference.status", description="current | superseded | entered-in-error", type="token" ) 2612 public static final String SP_STATUS = "status"; 2613 /** 2614 * <b>Fluent Client</b> search parameter constant for <b>status</b> 2615 * <p> 2616 * Description: <b>current | superseded | entered-in-error</b><br> 2617 * Type: <b>token</b><br> 2618 * Path: <b>DocumentReference.status</b><br> 2619 * </p> 2620 */ 2621 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 2622 2623 /** 2624 * Search parameter: <b>subject</b> 2625 * <p> 2626 * Description: <b>Who/what is the subject of the document</b><br> 2627 * Type: <b>reference</b><br> 2628 * Path: <b>DocumentReference.subject</b><br> 2629 * </p> 2630 */ 2631 @SearchParamDefinition(name="subject", path="DocumentReference.subject", description="Who/what is the subject of the document", 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"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Device.class, Group.class, Patient.class, Practitioner.class } ) 2632 public static final String SP_SUBJECT = "subject"; 2633 /** 2634 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 2635 * <p> 2636 * Description: <b>Who/what is the subject of the document</b><br> 2637 * Type: <b>reference</b><br> 2638 * Path: <b>DocumentReference.subject</b><br> 2639 * </p> 2640 */ 2641 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 2642 2643/** 2644 * Constant for fluent queries to be used to add include statements. Specifies 2645 * the path value of "<b>DocumentReference:subject</b>". 2646 */ 2647 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("DocumentReference:subject").toLocked(); 2648 2649 /** 2650 * Search parameter: <b>encounter</b> 2651 * <p> 2652 * Description: <b>Multiple Resources: 2653 2654* [Composition](composition.html): Context of the Composition 2655* [DeviceRequest](devicerequest.html): Encounter during which request was created 2656* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made 2657* [DocumentReference](documentreference.html): Context of the document content 2658* [Flag](flag.html): Alert relevant during encounter 2659* [List](list.html): Context in which list created 2660* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier 2661* [Observation](observation.html): Encounter related to the observation 2662* [Procedure](procedure.html): Encounter created as part of 2663* [RiskAssessment](riskassessment.html): Where was assessment performed? 2664* [ServiceRequest](servicerequest.html): An encounter in which this request is made 2665* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier 2666</b><br> 2667 * Type: <b>reference</b><br> 2668 * 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> 2669 * </p> 2670 */ 2671 @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 } ) 2672 public static final String SP_ENCOUNTER = "encounter"; 2673 /** 2674 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 2675 * <p> 2676 * Description: <b>Multiple Resources: 2677 2678* [Composition](composition.html): Context of the Composition 2679* [DeviceRequest](devicerequest.html): Encounter during which request was created 2680* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made 2681* [DocumentReference](documentreference.html): Context of the document content 2682* [Flag](flag.html): Alert relevant during encounter 2683* [List](list.html): Context in which list created 2684* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier 2685* [Observation](observation.html): Encounter related to the observation 2686* [Procedure](procedure.html): Encounter created as part of 2687* [RiskAssessment](riskassessment.html): Where was assessment performed? 2688* [ServiceRequest](servicerequest.html): An encounter in which this request is made 2689* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier 2690</b><br> 2691 * Type: <b>reference</b><br> 2692 * 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> 2693 * </p> 2694 */ 2695 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENCOUNTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENCOUNTER); 2696 2697/** 2698 * Constant for fluent queries to be used to add include statements. Specifies 2699 * the path value of "<b>DocumentReference:encounter</b>". 2700 */ 2701 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENCOUNTER = new ca.uhn.fhir.model.api.Include("DocumentReference:encounter").toLocked(); 2702 2703 /** 2704 * Search parameter: <b>identifier</b> 2705 * <p> 2706 * Description: <b>Multiple Resources: 2707 2708* [AllergyIntolerance](allergyintolerance.html): External ids for this item 2709* [CarePlan](careplan.html): External Ids for this plan 2710* [CareTeam](careteam.html): External Ids for this team 2711* [Composition](composition.html): Version-independent identifier for the Composition 2712* [Condition](condition.html): A unique identifier of the condition record 2713* [Consent](consent.html): Identifier for this record (external references) 2714* [DetectedIssue](detectedissue.html): Unique id for the detected issue 2715* [DeviceRequest](devicerequest.html): Business identifier for request/order 2716* [DiagnosticReport](diagnosticreport.html): An identifier for the report 2717* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents 2718* [DocumentReference](documentreference.html): Master Version Specific Identifier 2719* [Encounter](encounter.html): Identifier(s) by which this encounter is known 2720* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 2721* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 2722* [Goal](goal.html): External Ids for this goal 2723* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number 2724* [Immunization](immunization.html): Business identifier 2725* [List](list.html): Business identifier 2726* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 2727* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 2728* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 2729* [MedicationStatement](medicationstatement.html): Return statements with this external identifier 2730* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 2731* [Observation](observation.html): The unique id for a particular observation 2732* [Procedure](procedure.html): A unique identifier for a procedure 2733* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 2734* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 2735* [SupplyDelivery](supplydelivery.html): External identifier 2736* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 2737* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 2738</b><br> 2739 * Type: <b>token</b><br> 2740 * 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> 2741 * </p> 2742 */ 2743 @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" ) 2744 public static final String SP_IDENTIFIER = "identifier"; 2745 /** 2746 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 2747 * <p> 2748 * Description: <b>Multiple Resources: 2749 2750* [AllergyIntolerance](allergyintolerance.html): External ids for this item 2751* [CarePlan](careplan.html): External Ids for this plan 2752* [CareTeam](careteam.html): External Ids for this team 2753* [Composition](composition.html): Version-independent identifier for the Composition 2754* [Condition](condition.html): A unique identifier of the condition record 2755* [Consent](consent.html): Identifier for this record (external references) 2756* [DetectedIssue](detectedissue.html): Unique id for the detected issue 2757* [DeviceRequest](devicerequest.html): Business identifier for request/order 2758* [DiagnosticReport](diagnosticreport.html): An identifier for the report 2759* [DocumentManifest](documentmanifest.html): Unique Identifier for the set of documents 2760* [DocumentReference](documentreference.html): Master Version Specific Identifier 2761* [Encounter](encounter.html): Identifier(s) by which this encounter is known 2762* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 2763* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 2764* [Goal](goal.html): External Ids for this goal 2765* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID and Accession number 2766* [Immunization](immunization.html): Business identifier 2767* [List](list.html): Business identifier 2768* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 2769* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 2770* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 2771* [MedicationStatement](medicationstatement.html): Return statements with this external identifier 2772* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 2773* [Observation](observation.html): The unique id for a particular observation 2774* [Procedure](procedure.html): A unique identifier for a procedure 2775* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 2776* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 2777* [SupplyDelivery](supplydelivery.html): External identifier 2778* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 2779* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 2780</b><br> 2781 * Type: <b>token</b><br> 2782 * 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> 2783 * </p> 2784 */ 2785 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 2786 2787 /** 2788 * Search parameter: <b>patient</b> 2789 * <p> 2790 * Description: <b>Multiple Resources: 2791 2792* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 2793* [CarePlan](careplan.html): Who the care plan is for 2794* [CareTeam](careteam.html): Who care team is for 2795* [ClinicalImpression](clinicalimpression.html): Patient or group assessed 2796* [Composition](composition.html): Who and/or what the composition is about 2797* [Condition](condition.html): Who has the condition? 2798* [Consent](consent.html): Who the consent applies to 2799* [DetectedIssue](detectedissue.html): Associated patient 2800* [DeviceRequest](devicerequest.html): Individual the service is ordered for 2801* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient 2802* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 2803* [DocumentManifest](documentmanifest.html): The subject of the set of documents 2804* [DocumentReference](documentreference.html): Who/what is the subject of the document 2805* [Encounter](encounter.html): The patient or group present at the encounter 2806* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 2807* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 2808* [Flag](flag.html): The identity of a subject to list flags for 2809* [Goal](goal.html): Who this goal is intended for 2810* [ImagingStudy](imagingstudy.html): Who the study is about 2811* [Immunization](immunization.html): The patient for the vaccination record 2812* [List](list.html): If all resources have the same subject 2813* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 2814* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 2815* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 2816* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient. 2817* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement 2818* [Observation](observation.html): The subject that the observation is about (if patient) 2819* [Procedure](procedure.html): Search by subject - a patient 2820* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 2821* [ServiceRequest](servicerequest.html): Search by subject - a patient 2822* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 2823* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 2824</b><br> 2825 * Type: <b>reference</b><br> 2826 * 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> 2827 * </p> 2828 */ 2829 @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 } ) 2830 public static final String SP_PATIENT = "patient"; 2831 /** 2832 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 2833 * <p> 2834 * Description: <b>Multiple Resources: 2835 2836* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 2837* [CarePlan](careplan.html): Who the care plan is for 2838* [CareTeam](careteam.html): Who care team is for 2839* [ClinicalImpression](clinicalimpression.html): Patient or group assessed 2840* [Composition](composition.html): Who and/or what the composition is about 2841* [Condition](condition.html): Who has the condition? 2842* [Consent](consent.html): Who the consent applies to 2843* [DetectedIssue](detectedissue.html): Associated patient 2844* [DeviceRequest](devicerequest.html): Individual the service is ordered for 2845* [DeviceUseStatement](deviceusestatement.html): Search by subject - a patient 2846* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 2847* [DocumentManifest](documentmanifest.html): The subject of the set of documents 2848* [DocumentReference](documentreference.html): Who/what is the subject of the document 2849* [Encounter](encounter.html): The patient or group present at the encounter 2850* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 2851* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 2852* [Flag](flag.html): The identity of a subject to list flags for 2853* [Goal](goal.html): Who this goal is intended for 2854* [ImagingStudy](imagingstudy.html): Who the study is about 2855* [Immunization](immunization.html): The patient for the vaccination record 2856* [List](list.html): If all resources have the same subject 2857* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 2858* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 2859* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 2860* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient. 2861* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement 2862* [Observation](observation.html): The subject that the observation is about (if patient) 2863* [Procedure](procedure.html): Search by subject - a patient 2864* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 2865* [ServiceRequest](servicerequest.html): Search by subject - a patient 2866* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 2867* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 2868</b><br> 2869 * Type: <b>reference</b><br> 2870 * 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> 2871 * </p> 2872 */ 2873 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 2874 2875/** 2876 * Constant for fluent queries to be used to add include statements. Specifies 2877 * the path value of "<b>DocumentReference:patient</b>". 2878 */ 2879 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("DocumentReference:patient").toLocked(); 2880 2881 /** 2882 * Search parameter: <b>type</b> 2883 * <p> 2884 * Description: <b>Multiple Resources: 2885 2886* [AllergyIntolerance](allergyintolerance.html): allergy | intolerance - Underlying mechanism (if known) 2887* [Composition](composition.html): Kind of composition (LOINC if possible) 2888* [DocumentManifest](documentmanifest.html): Kind of document set 2889* [DocumentReference](documentreference.html): Kind of document (LOINC if possible) 2890* [Encounter](encounter.html): Specific type of encounter 2891* [EpisodeOfCare](episodeofcare.html): Type/class - e.g. specialist referral, disease management 2892</b><br> 2893 * Type: <b>token</b><br> 2894 * Path: <b>AllergyIntolerance.type | Composition.type | DocumentManifest.type | DocumentReference.type | Encounter.type | EpisodeOfCare.type</b><br> 2895 * </p> 2896 */ 2897 @SearchParamDefinition(name="type", path="AllergyIntolerance.type | Composition.type | DocumentManifest.type | DocumentReference.type | Encounter.type | EpisodeOfCare.type", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): allergy | intolerance - Underlying mechanism (if known)\r\n* [Composition](composition.html): Kind of composition (LOINC if possible)\r\n* [DocumentManifest](documentmanifest.html): Kind of document set\r\n* [DocumentReference](documentreference.html): Kind of document (LOINC if possible)\r\n* [Encounter](encounter.html): Specific type of encounter\r\n* [EpisodeOfCare](episodeofcare.html): Type/class - e.g. specialist referral, disease management\r\n", type="token" ) 2898 public static final String SP_TYPE = "type"; 2899 /** 2900 * <b>Fluent Client</b> search parameter constant for <b>type</b> 2901 * <p> 2902 * Description: <b>Multiple Resources: 2903 2904* [AllergyIntolerance](allergyintolerance.html): allergy | intolerance - Underlying mechanism (if known) 2905* [Composition](composition.html): Kind of composition (LOINC if possible) 2906* [DocumentManifest](documentmanifest.html): Kind of document set 2907* [DocumentReference](documentreference.html): Kind of document (LOINC if possible) 2908* [Encounter](encounter.html): Specific type of encounter 2909* [EpisodeOfCare](episodeofcare.html): Type/class - e.g. specialist referral, disease management 2910</b><br> 2911 * Type: <b>token</b><br> 2912 * Path: <b>AllergyIntolerance.type | Composition.type | DocumentManifest.type | DocumentReference.type | Encounter.type | EpisodeOfCare.type</b><br> 2913 * </p> 2914 */ 2915 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TYPE); 2916 2917 2918} 2919