
001package org.hl7.fhir.dstu3.model; 002 003 004 005/* 006 Copyright (c) 2011+, HL7, Inc. 007 All rights reserved. 008 009 Redistribution and use in source and binary forms, with or without modification, 010 are permitted provided that the following conditions are met: 011 012 * Redistributions of source code must retain the above copyright notice, this 013 list of conditions and the following disclaimer. 014 * Redistributions in binary form must reproduce the above copyright notice, 015 this list of conditions and the following disclaimer in the documentation 016 and/or other materials provided with the distribution. 017 * Neither the name of HL7 nor the names of its contributors may be used to 018 endorse or promote products derived from this software without specific 019 prior written permission. 020 021 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 022 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 023 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 024 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 025 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 026 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 027 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 028 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 029 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 030 POSSIBILITY OF SUCH DAMAGE. 031 032*/ 033 034// Generated on Fri, Mar 16, 2018 15:21+1100 for FHIR v3.0.x 035import java.util.ArrayList; 036import java.util.Date; 037import java.util.List; 038 039import org.hl7.fhir.dstu3.model.Enumerations.DocumentReferenceStatus; 040import org.hl7.fhir.dstu3.model.Enumerations.DocumentReferenceStatusEnumFactory; 041import org.hl7.fhir.exceptions.FHIRException; 042import org.hl7.fhir.exceptions.FHIRFormatError; 043import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 044import org.hl7.fhir.utilities.Utilities; 045 046import ca.uhn.fhir.model.api.annotation.Block; 047import ca.uhn.fhir.model.api.annotation.Child; 048import ca.uhn.fhir.model.api.annotation.Description; 049import ca.uhn.fhir.model.api.annotation.ResourceDef; 050import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 051/** 052 * A collection of documents compiled for a purpose together with metadata that applies to the collection. 053 */ 054@ResourceDef(name="DocumentManifest", profile="http://hl7.org/fhir/Profile/DocumentManifest") 055public class DocumentManifest extends DomainResource { 056 057 @Block() 058 public static class DocumentManifestContentComponent extends BackboneElement implements IBaseBackboneElement { 059 /** 060 * The list of references to document content, or Attachment that consist of the parts of this document manifest. Usually, these would be document references, but direct references to Media or Attachments are also allowed. 061 */ 062 @Child(name = "p", type = {Attachment.class, Reference.class}, order=1, min=1, max=1, modifier=false, summary=true) 063 @Description(shortDefinition="Contents of this set of documents", formalDefinition="The list of references to document content, or Attachment that consist of the parts of this document manifest. Usually, these would be document references, but direct references to Media or Attachments are also allowed." ) 064 protected Type p; 065 066 private static final long serialVersionUID = -347538500L; 067 068 /** 069 * Constructor 070 */ 071 public DocumentManifestContentComponent() { 072 super(); 073 } 074 075 /** 076 * Constructor 077 */ 078 public DocumentManifestContentComponent(Type p) { 079 super(); 080 this.p = p; 081 } 082 083 /** 084 * @return {@link #p} (The list of references to document content, or Attachment that consist of the parts of this document manifest. Usually, these would be document references, but direct references to Media or Attachments are also allowed.) 085 */ 086 public Type getP() { 087 return this.p; 088 } 089 090 /** 091 * @return {@link #p} (The list of references to document content, or Attachment that consist of the parts of this document manifest. Usually, these would be document references, but direct references to Media or Attachments are also allowed.) 092 */ 093 public Attachment getPAttachment() throws FHIRException { 094 if (this.p == null) 095 return null; 096 if (!(this.p instanceof Attachment)) 097 throw new FHIRException("Type mismatch: the type Attachment was expected, but "+this.p.getClass().getName()+" was encountered"); 098 return (Attachment) this.p; 099 } 100 101 public boolean hasPAttachment() { 102 return this.p instanceof Attachment; 103 } 104 105 /** 106 * @return {@link #p} (The list of references to document content, or Attachment that consist of the parts of this document manifest. Usually, these would be document references, but direct references to Media or Attachments are also allowed.) 107 */ 108 public Reference getPReference() throws FHIRException { 109 if (this.p == null) 110 return null; 111 if (!(this.p instanceof Reference)) 112 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.p.getClass().getName()+" was encountered"); 113 return (Reference) this.p; 114 } 115 116 public boolean hasPReference() { 117 return this.p instanceof Reference; 118 } 119 120 public boolean hasP() { 121 return this.p != null && !this.p.isEmpty(); 122 } 123 124 /** 125 * @param value {@link #p} (The list of references to document content, or Attachment that consist of the parts of this document manifest. Usually, these would be document references, but direct references to Media or Attachments are also allowed.) 126 */ 127 public DocumentManifestContentComponent setP(Type value) throws FHIRFormatError { 128 if (value != null && !(value instanceof Attachment || value instanceof Reference)) 129 throw new FHIRFormatError("Not the right type for DocumentManifest.content.p[x]: "+value.fhirType()); 130 this.p = value; 131 return this; 132 } 133 134 protected void listChildren(List<Property> children) { 135 super.listChildren(children); 136 children.add(new Property("p[x]", "Attachment|Reference(Any)", "The list of references to document content, or Attachment that consist of the parts of this document manifest. Usually, these would be document references, but direct references to Media or Attachments are also allowed.", 0, 1, p)); 137 } 138 139 @Override 140 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 141 switch (_hash) { 142 case 3427856: /*p[x]*/ return new Property("p[x]", "Attachment|Reference(Any)", "The list of references to document content, or Attachment that consist of the parts of this document manifest. Usually, these would be document references, but direct references to Media or Attachments are also allowed.", 0, 1, p); 143 case 112: /*p*/ return new Property("p[x]", "Attachment|Reference(Any)", "The list of references to document content, or Attachment that consist of the parts of this document manifest. Usually, these would be document references, but direct references to Media or Attachments are also allowed.", 0, 1, p); 144 case 634874291: /*pAttachment*/ return new Property("p[x]", "Attachment|Reference(Any)", "The list of references to document content, or Attachment that consist of the parts of this document manifest. Usually, these would be document references, but direct references to Media or Attachments are also allowed.", 0, 1, p); 145 case 544136379: /*pReference*/ return new Property("p[x]", "Attachment|Reference(Any)", "The list of references to document content, or Attachment that consist of the parts of this document manifest. Usually, these would be document references, but direct references to Media or Attachments are also allowed.", 0, 1, p); 146 default: return super.getNamedProperty(_hash, _name, _checkValid); 147 } 148 149 } 150 151 @Override 152 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 153 switch (hash) { 154 case 112: /*p*/ return this.p == null ? new Base[0] : new Base[] {this.p}; // Type 155 default: return super.getProperty(hash, name, checkValid); 156 } 157 158 } 159 160 @Override 161 public Base setProperty(int hash, String name, Base value) throws FHIRException { 162 switch (hash) { 163 case 112: // p 164 this.p = castToType(value); // Type 165 return value; 166 default: return super.setProperty(hash, name, value); 167 } 168 169 } 170 171 @Override 172 public Base setProperty(String name, Base value) throws FHIRException { 173 if (name.equals("p[x]")) { 174 this.p = castToType(value); // Type 175 } else 176 return super.setProperty(name, value); 177 return value; 178 } 179 180 @Override 181 public Base makeProperty(int hash, String name) throws FHIRException { 182 switch (hash) { 183 case 3427856: return getP(); 184 case 112: return getP(); 185 default: return super.makeProperty(hash, name); 186 } 187 188 } 189 190 @Override 191 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 192 switch (hash) { 193 case 112: /*p*/ return new String[] {"Attachment", "Reference"}; 194 default: return super.getTypesForProperty(hash, name); 195 } 196 197 } 198 199 @Override 200 public Base addChild(String name) throws FHIRException { 201 if (name.equals("pAttachment")) { 202 this.p = new Attachment(); 203 return this.p; 204 } 205 else if (name.equals("pReference")) { 206 this.p = new Reference(); 207 return this.p; 208 } 209 else 210 return super.addChild(name); 211 } 212 213 public DocumentManifestContentComponent copy() { 214 DocumentManifestContentComponent dst = new DocumentManifestContentComponent(); 215 copyValues(dst); 216 dst.p = p == null ? null : p.copy(); 217 return dst; 218 } 219 220 @Override 221 public boolean equalsDeep(Base other_) { 222 if (!super.equalsDeep(other_)) 223 return false; 224 if (!(other_ instanceof DocumentManifestContentComponent)) 225 return false; 226 DocumentManifestContentComponent o = (DocumentManifestContentComponent) other_; 227 return compareDeep(p, o.p, true); 228 } 229 230 @Override 231 public boolean equalsShallow(Base other_) { 232 if (!super.equalsShallow(other_)) 233 return false; 234 if (!(other_ instanceof DocumentManifestContentComponent)) 235 return false; 236 DocumentManifestContentComponent o = (DocumentManifestContentComponent) other_; 237 return true; 238 } 239 240 public boolean isEmpty() { 241 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(p); 242 } 243 244 public String fhirType() { 245 return "DocumentManifest.content"; 246 247 } 248 249 } 250 251 @Block() 252 public static class DocumentManifestRelatedComponent extends BackboneElement implements IBaseBackboneElement { 253 /** 254 * Related identifier to this DocumentManifest. For example, Order numbers, accession numbers, XDW workflow numbers. 255 */ 256 @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=1, modifier=false, summary=true) 257 @Description(shortDefinition="Identifiers of things that are related", formalDefinition="Related identifier to this DocumentManifest. For example, Order numbers, accession numbers, XDW workflow numbers." ) 258 protected Identifier identifier; 259 260 /** 261 * Related Resource to this DocumentManifest. For example, Order, ProcedureRequest, Procedure, EligibilityRequest, etc. 262 */ 263 @Child(name = "ref", type = {Reference.class}, order=2, min=0, max=1, modifier=false, summary=true) 264 @Description(shortDefinition="Related Resource", formalDefinition="Related Resource to this DocumentManifest. For example, Order, ProcedureRequest, Procedure, EligibilityRequest, etc." ) 265 protected Reference ref; 266 267 /** 268 * The actual object that is the target of the reference (Related Resource to this DocumentManifest. For example, Order, ProcedureRequest, Procedure, EligibilityRequest, etc.) 269 */ 270 protected Resource refTarget; 271 272 private static final long serialVersionUID = -1670123330L; 273 274 /** 275 * Constructor 276 */ 277 public DocumentManifestRelatedComponent() { 278 super(); 279 } 280 281 /** 282 * @return {@link #identifier} (Related identifier to this DocumentManifest. For example, Order numbers, accession numbers, XDW workflow numbers.) 283 */ 284 public Identifier getIdentifier() { 285 if (this.identifier == null) 286 if (Configuration.errorOnAutoCreate()) 287 throw new Error("Attempt to auto-create DocumentManifestRelatedComponent.identifier"); 288 else if (Configuration.doAutoCreate()) 289 this.identifier = new Identifier(); // cc 290 return this.identifier; 291 } 292 293 public boolean hasIdentifier() { 294 return this.identifier != null && !this.identifier.isEmpty(); 295 } 296 297 /** 298 * @param value {@link #identifier} (Related identifier to this DocumentManifest. For example, Order numbers, accession numbers, XDW workflow numbers.) 299 */ 300 public DocumentManifestRelatedComponent setIdentifier(Identifier value) { 301 this.identifier = value; 302 return this; 303 } 304 305 /** 306 * @return {@link #ref} (Related Resource to this DocumentManifest. For example, Order, ProcedureRequest, Procedure, EligibilityRequest, etc.) 307 */ 308 public Reference getRef() { 309 if (this.ref == null) 310 if (Configuration.errorOnAutoCreate()) 311 throw new Error("Attempt to auto-create DocumentManifestRelatedComponent.ref"); 312 else if (Configuration.doAutoCreate()) 313 this.ref = new Reference(); // cc 314 return this.ref; 315 } 316 317 public boolean hasRef() { 318 return this.ref != null && !this.ref.isEmpty(); 319 } 320 321 /** 322 * @param value {@link #ref} (Related Resource to this DocumentManifest. For example, Order, ProcedureRequest, Procedure, EligibilityRequest, etc.) 323 */ 324 public DocumentManifestRelatedComponent setRef(Reference value) { 325 this.ref = value; 326 return this; 327 } 328 329 /** 330 * @return {@link #ref} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Related Resource to this DocumentManifest. For example, Order, ProcedureRequest, Procedure, EligibilityRequest, etc.) 331 */ 332 public Resource getRefTarget() { 333 return this.refTarget; 334 } 335 336 /** 337 * @param value {@link #ref} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Related Resource to this DocumentManifest. For example, Order, ProcedureRequest, Procedure, EligibilityRequest, etc.) 338 */ 339 public DocumentManifestRelatedComponent setRefTarget(Resource value) { 340 this.refTarget = value; 341 return this; 342 } 343 344 protected void listChildren(List<Property> children) { 345 super.listChildren(children); 346 children.add(new Property("identifier", "Identifier", "Related identifier to this DocumentManifest. For example, Order numbers, accession numbers, XDW workflow numbers.", 0, 1, identifier)); 347 children.add(new Property("ref", "Reference(Any)", "Related Resource to this DocumentManifest. For example, Order, ProcedureRequest, Procedure, EligibilityRequest, etc.", 0, 1, ref)); 348 } 349 350 @Override 351 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 352 switch (_hash) { 353 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Related identifier to this DocumentManifest. For example, Order numbers, accession numbers, XDW workflow numbers.", 0, 1, identifier); 354 case 112787: /*ref*/ return new Property("ref", "Reference(Any)", "Related Resource to this DocumentManifest. For example, Order, ProcedureRequest, Procedure, EligibilityRequest, etc.", 0, 1, ref); 355 default: return super.getNamedProperty(_hash, _name, _checkValid); 356 } 357 358 } 359 360 @Override 361 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 362 switch (hash) { 363 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : new Base[] {this.identifier}; // Identifier 364 case 112787: /*ref*/ return this.ref == null ? new Base[0] : new Base[] {this.ref}; // Reference 365 default: return super.getProperty(hash, name, checkValid); 366 } 367 368 } 369 370 @Override 371 public Base setProperty(int hash, String name, Base value) throws FHIRException { 372 switch (hash) { 373 case -1618432855: // identifier 374 this.identifier = castToIdentifier(value); // Identifier 375 return value; 376 case 112787: // ref 377 this.ref = castToReference(value); // Reference 378 return value; 379 default: return super.setProperty(hash, name, value); 380 } 381 382 } 383 384 @Override 385 public Base setProperty(String name, Base value) throws FHIRException { 386 if (name.equals("identifier")) { 387 this.identifier = castToIdentifier(value); // Identifier 388 } else if (name.equals("ref")) { 389 this.ref = castToReference(value); // Reference 390 } else 391 return super.setProperty(name, value); 392 return value; 393 } 394 395 @Override 396 public Base makeProperty(int hash, String name) throws FHIRException { 397 switch (hash) { 398 case -1618432855: return getIdentifier(); 399 case 112787: return getRef(); 400 default: return super.makeProperty(hash, name); 401 } 402 403 } 404 405 @Override 406 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 407 switch (hash) { 408 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 409 case 112787: /*ref*/ return new String[] {"Reference"}; 410 default: return super.getTypesForProperty(hash, name); 411 } 412 413 } 414 415 @Override 416 public Base addChild(String name) throws FHIRException { 417 if (name.equals("identifier")) { 418 this.identifier = new Identifier(); 419 return this.identifier; 420 } 421 else if (name.equals("ref")) { 422 this.ref = new Reference(); 423 return this.ref; 424 } 425 else 426 return super.addChild(name); 427 } 428 429 public DocumentManifestRelatedComponent copy() { 430 DocumentManifestRelatedComponent dst = new DocumentManifestRelatedComponent(); 431 copyValues(dst); 432 dst.identifier = identifier == null ? null : identifier.copy(); 433 dst.ref = ref == null ? null : ref.copy(); 434 return dst; 435 } 436 437 @Override 438 public boolean equalsDeep(Base other_) { 439 if (!super.equalsDeep(other_)) 440 return false; 441 if (!(other_ instanceof DocumentManifestRelatedComponent)) 442 return false; 443 DocumentManifestRelatedComponent o = (DocumentManifestRelatedComponent) other_; 444 return compareDeep(identifier, o.identifier, true) && compareDeep(ref, o.ref, true); 445 } 446 447 @Override 448 public boolean equalsShallow(Base other_) { 449 if (!super.equalsShallow(other_)) 450 return false; 451 if (!(other_ instanceof DocumentManifestRelatedComponent)) 452 return false; 453 DocumentManifestRelatedComponent o = (DocumentManifestRelatedComponent) other_; 454 return true; 455 } 456 457 public boolean isEmpty() { 458 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, ref); 459 } 460 461 public String fhirType() { 462 return "DocumentManifest.related"; 463 464 } 465 466 } 467 468 /** 469 * A single identifier that uniquely identifies this manifest. Principally used to refer to the manifest in non-FHIR contexts. 470 */ 471 @Child(name = "masterIdentifier", type = {Identifier.class}, order=0, min=0, max=1, modifier=false, summary=true) 472 @Description(shortDefinition="Unique Identifier for the set of documents", formalDefinition="A single identifier that uniquely identifies this manifest. Principally used to refer to the manifest in non-FHIR contexts." ) 473 protected Identifier masterIdentifier; 474 475 /** 476 * Other identifiers associated with the document manifest, including version independent identifiers. 477 */ 478 @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 479 @Description(shortDefinition="Other identifiers for the manifest", formalDefinition="Other identifiers associated with the document manifest, including version independent identifiers." ) 480 protected List<Identifier> identifier; 481 482 /** 483 * The status of this document manifest. 484 */ 485 @Child(name = "status", type = {CodeType.class}, order=2, min=1, max=1, modifier=true, summary=true) 486 @Description(shortDefinition="current | superseded | entered-in-error", formalDefinition="The status of this document manifest." ) 487 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/document-reference-status") 488 protected Enumeration<DocumentReferenceStatus> status; 489 490 /** 491 * Specifies the kind of this set of documents (e.g. Patient Summary, Discharge Summary, Prescription, etc.). The type of a set of documents may be the same as one of the documents in it - especially if there is only one - but it may be wider. 492 */ 493 @Child(name = "type", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=true) 494 @Description(shortDefinition="Kind of document set", formalDefinition="Specifies the kind of this set of documents (e.g. Patient Summary, Discharge Summary, Prescription, etc.). The type of a set of documents may be the same as one of the documents in it - especially if there is only one - but it may be wider." ) 495 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/c80-doc-typecodes") 496 protected CodeableConcept type; 497 498 /** 499 * Who or what the set of documents is about. The documents can be about a person, (patient or healthcare practitioner), a device (i.e. 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). If the documents cross more than one subject, then more than one subject is allowed here (unusual use case). 500 */ 501 @Child(name = "subject", type = {Patient.class, Practitioner.class, Group.class, Device.class}, order=4, min=0, max=1, modifier=false, summary=true) 502 @Description(shortDefinition="The subject of the set of documents", formalDefinition="Who or what the set of documents is about. The documents can be about a person, (patient or healthcare practitioner), a device (i.e. 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). If the documents cross more than one subject, then more than one subject is allowed here (unusual use case)." ) 503 protected Reference subject; 504 505 /** 506 * The actual object that is the target of the reference (Who or what the set of documents is about. The documents can be about a person, (patient or healthcare practitioner), a device (i.e. 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). If the documents cross more than one subject, then more than one subject is allowed here (unusual use case).) 507 */ 508 protected Resource subjectTarget; 509 510 /** 511 * When the document manifest was created for submission to the server (not necessarily the same thing as the actual resource last modified time, since it may be modified, replicated, etc.). 512 */ 513 @Child(name = "created", type = {DateTimeType.class}, order=5, min=0, max=1, modifier=false, summary=true) 514 @Description(shortDefinition="When this document manifest created", formalDefinition="When the document manifest was created for submission to the server (not necessarily the same thing as the actual resource last modified time, since it may be modified, replicated, etc.)." ) 515 protected DateTimeType created; 516 517 /** 518 * Identifies who is responsible for creating the manifest, and adding documents to it. 519 */ 520 @Child(name = "author", type = {Practitioner.class, Organization.class, Device.class, Patient.class, RelatedPerson.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 521 @Description(shortDefinition="Who and/or what authored the manifest", formalDefinition="Identifies who is responsible for creating the manifest, and adding documents to it." ) 522 protected List<Reference> author; 523 /** 524 * The actual objects that are the target of the reference (Identifies who is responsible for creating the manifest, and adding documents to it.) 525 */ 526 protected List<Resource> authorTarget; 527 528 529 /** 530 * A patient, practitioner, or organization for which this set of documents is intended. 531 */ 532 @Child(name = "recipient", type = {Patient.class, Practitioner.class, RelatedPerson.class, Organization.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 533 @Description(shortDefinition="Intended to get notified about this set of documents", formalDefinition="A patient, practitioner, or organization for which this set of documents is intended." ) 534 protected List<Reference> recipient; 535 /** 536 * The actual objects that are the target of the reference (A patient, practitioner, or organization for which this set of documents is intended.) 537 */ 538 protected List<Resource> recipientTarget; 539 540 541 /** 542 * Identifies the source system, application, or software that produced the document manifest. 543 */ 544 @Child(name = "source", type = {UriType.class}, order=8, min=0, max=1, modifier=false, summary=true) 545 @Description(shortDefinition="The source system/application/software", formalDefinition="Identifies the source system, application, or software that produced the document manifest." ) 546 protected UriType source; 547 548 /** 549 * Human-readable description of the source document. This is sometimes known as the "title". 550 */ 551 @Child(name = "description", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=true) 552 @Description(shortDefinition="Human-readable description (title)", formalDefinition="Human-readable description of the source document. This is sometimes known as the \"title\"." ) 553 protected StringType description; 554 555 /** 556 * The list of Documents included in the manifest. 557 */ 558 @Child(name = "content", type = {}, order=10, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 559 @Description(shortDefinition="The items included", formalDefinition="The list of Documents included in the manifest." ) 560 protected List<DocumentManifestContentComponent> content; 561 562 /** 563 * Related identifiers or resources associated with the DocumentManifest. 564 */ 565 @Child(name = "related", type = {}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 566 @Description(shortDefinition="Related things", formalDefinition="Related identifiers or resources associated with the DocumentManifest." ) 567 protected List<DocumentManifestRelatedComponent> related; 568 569 private static final long serialVersionUID = -2081196115L; 570 571 /** 572 * Constructor 573 */ 574 public DocumentManifest() { 575 super(); 576 } 577 578 /** 579 * Constructor 580 */ 581 public DocumentManifest(Enumeration<DocumentReferenceStatus> status) { 582 super(); 583 this.status = status; 584 } 585 586 /** 587 * @return {@link #masterIdentifier} (A single identifier that uniquely identifies this manifest. Principally used to refer to the manifest in non-FHIR contexts.) 588 */ 589 public Identifier getMasterIdentifier() { 590 if (this.masterIdentifier == null) 591 if (Configuration.errorOnAutoCreate()) 592 throw new Error("Attempt to auto-create DocumentManifest.masterIdentifier"); 593 else if (Configuration.doAutoCreate()) 594 this.masterIdentifier = new Identifier(); // cc 595 return this.masterIdentifier; 596 } 597 598 public boolean hasMasterIdentifier() { 599 return this.masterIdentifier != null && !this.masterIdentifier.isEmpty(); 600 } 601 602 /** 603 * @param value {@link #masterIdentifier} (A single identifier that uniquely identifies this manifest. Principally used to refer to the manifest in non-FHIR contexts.) 604 */ 605 public DocumentManifest setMasterIdentifier(Identifier value) { 606 this.masterIdentifier = value; 607 return this; 608 } 609 610 /** 611 * @return {@link #identifier} (Other identifiers associated with the document manifest, including version independent identifiers.) 612 */ 613 public List<Identifier> getIdentifier() { 614 if (this.identifier == null) 615 this.identifier = new ArrayList<Identifier>(); 616 return this.identifier; 617 } 618 619 /** 620 * @return Returns a reference to <code>this</code> for easy method chaining 621 */ 622 public DocumentManifest setIdentifier(List<Identifier> theIdentifier) { 623 this.identifier = theIdentifier; 624 return this; 625 } 626 627 public boolean hasIdentifier() { 628 if (this.identifier == null) 629 return false; 630 for (Identifier item : this.identifier) 631 if (!item.isEmpty()) 632 return true; 633 return false; 634 } 635 636 public Identifier addIdentifier() { //3 637 Identifier t = new Identifier(); 638 if (this.identifier == null) 639 this.identifier = new ArrayList<Identifier>(); 640 this.identifier.add(t); 641 return t; 642 } 643 644 public DocumentManifest addIdentifier(Identifier t) { //3 645 if (t == null) 646 return this; 647 if (this.identifier == null) 648 this.identifier = new ArrayList<Identifier>(); 649 this.identifier.add(t); 650 return this; 651 } 652 653 /** 654 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist 655 */ 656 public Identifier getIdentifierFirstRep() { 657 if (getIdentifier().isEmpty()) { 658 addIdentifier(); 659 } 660 return getIdentifier().get(0); 661 } 662 663 /** 664 * @return {@link #status} (The status of this document manifest.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 665 */ 666 public Enumeration<DocumentReferenceStatus> getStatusElement() { 667 if (this.status == null) 668 if (Configuration.errorOnAutoCreate()) 669 throw new Error("Attempt to auto-create DocumentManifest.status"); 670 else if (Configuration.doAutoCreate()) 671 this.status = new Enumeration<DocumentReferenceStatus>(new DocumentReferenceStatusEnumFactory()); // bb 672 return this.status; 673 } 674 675 public boolean hasStatusElement() { 676 return this.status != null && !this.status.isEmpty(); 677 } 678 679 public boolean hasStatus() { 680 return this.status != null && !this.status.isEmpty(); 681 } 682 683 /** 684 * @param value {@link #status} (The status of this document manifest.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 685 */ 686 public DocumentManifest setStatusElement(Enumeration<DocumentReferenceStatus> value) { 687 this.status = value; 688 return this; 689 } 690 691 /** 692 * @return The status of this document manifest. 693 */ 694 public DocumentReferenceStatus getStatus() { 695 return this.status == null ? null : this.status.getValue(); 696 } 697 698 /** 699 * @param value The status of this document manifest. 700 */ 701 public DocumentManifest setStatus(DocumentReferenceStatus value) { 702 if (this.status == null) 703 this.status = new Enumeration<DocumentReferenceStatus>(new DocumentReferenceStatusEnumFactory()); 704 this.status.setValue(value); 705 return this; 706 } 707 708 /** 709 * @return {@link #type} (Specifies the kind of this set of documents (e.g. Patient Summary, Discharge Summary, Prescription, etc.). The type of a set of documents may be the same as one of the documents in it - especially if there is only one - but it may be wider.) 710 */ 711 public CodeableConcept getType() { 712 if (this.type == null) 713 if (Configuration.errorOnAutoCreate()) 714 throw new Error("Attempt to auto-create DocumentManifest.type"); 715 else if (Configuration.doAutoCreate()) 716 this.type = new CodeableConcept(); // cc 717 return this.type; 718 } 719 720 public boolean hasType() { 721 return this.type != null && !this.type.isEmpty(); 722 } 723 724 /** 725 * @param value {@link #type} (Specifies the kind of this set of documents (e.g. Patient Summary, Discharge Summary, Prescription, etc.). The type of a set of documents may be the same as one of the documents in it - especially if there is only one - but it may be wider.) 726 */ 727 public DocumentManifest setType(CodeableConcept value) { 728 this.type = value; 729 return this; 730 } 731 732 /** 733 * @return {@link #subject} (Who or what the set of documents is about. The documents can be about a person, (patient or healthcare practitioner), a device (i.e. 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). If the documents cross more than one subject, then more than one subject is allowed here (unusual use case).) 734 */ 735 public Reference getSubject() { 736 if (this.subject == null) 737 if (Configuration.errorOnAutoCreate()) 738 throw new Error("Attempt to auto-create DocumentManifest.subject"); 739 else if (Configuration.doAutoCreate()) 740 this.subject = new Reference(); // cc 741 return this.subject; 742 } 743 744 public boolean hasSubject() { 745 return this.subject != null && !this.subject.isEmpty(); 746 } 747 748 /** 749 * @param value {@link #subject} (Who or what the set of documents is about. The documents can be about a person, (patient or healthcare practitioner), a device (i.e. 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). If the documents cross more than one subject, then more than one subject is allowed here (unusual use case).) 750 */ 751 public DocumentManifest setSubject(Reference value) { 752 this.subject = value; 753 return this; 754 } 755 756 /** 757 * @return {@link #subject} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Who or what the set of documents is about. The documents can be about a person, (patient or healthcare practitioner), a device (i.e. 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). If the documents cross more than one subject, then more than one subject is allowed here (unusual use case).) 758 */ 759 public Resource getSubjectTarget() { 760 return this.subjectTarget; 761 } 762 763 /** 764 * @param value {@link #subject} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Who or what the set of documents is about. The documents can be about a person, (patient or healthcare practitioner), a device (i.e. 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). If the documents cross more than one subject, then more than one subject is allowed here (unusual use case).) 765 */ 766 public DocumentManifest setSubjectTarget(Resource value) { 767 this.subjectTarget = value; 768 return this; 769 } 770 771 /** 772 * @return {@link #created} (When the document manifest was created for submission to the server (not necessarily the same thing as the actual resource last modified time, since it may be modified, replicated, etc.).). This is the underlying object with id, value and extensions. The accessor "getCreated" gives direct access to the value 773 */ 774 public DateTimeType getCreatedElement() { 775 if (this.created == null) 776 if (Configuration.errorOnAutoCreate()) 777 throw new Error("Attempt to auto-create DocumentManifest.created"); 778 else if (Configuration.doAutoCreate()) 779 this.created = new DateTimeType(); // bb 780 return this.created; 781 } 782 783 public boolean hasCreatedElement() { 784 return this.created != null && !this.created.isEmpty(); 785 } 786 787 public boolean hasCreated() { 788 return this.created != null && !this.created.isEmpty(); 789 } 790 791 /** 792 * @param value {@link #created} (When the document manifest was created for submission to the server (not necessarily the same thing as the actual resource last modified time, since it may be modified, replicated, etc.).). This is the underlying object with id, value and extensions. The accessor "getCreated" gives direct access to the value 793 */ 794 public DocumentManifest setCreatedElement(DateTimeType value) { 795 this.created = value; 796 return this; 797 } 798 799 /** 800 * @return When the document manifest was created for submission to the server (not necessarily the same thing as the actual resource last modified time, since it may be modified, replicated, etc.). 801 */ 802 public Date getCreated() { 803 return this.created == null ? null : this.created.getValue(); 804 } 805 806 /** 807 * @param value When the document manifest was created for submission to the server (not necessarily the same thing as the actual resource last modified time, since it may be modified, replicated, etc.). 808 */ 809 public DocumentManifest setCreated(Date value) { 810 if (value == null) 811 this.created = null; 812 else { 813 if (this.created == null) 814 this.created = new DateTimeType(); 815 this.created.setValue(value); 816 } 817 return this; 818 } 819 820 /** 821 * @return {@link #author} (Identifies who is responsible for creating the manifest, and adding documents to it.) 822 */ 823 public List<Reference> getAuthor() { 824 if (this.author == null) 825 this.author = new ArrayList<Reference>(); 826 return this.author; 827 } 828 829 /** 830 * @return Returns a reference to <code>this</code> for easy method chaining 831 */ 832 public DocumentManifest setAuthor(List<Reference> theAuthor) { 833 this.author = theAuthor; 834 return this; 835 } 836 837 public boolean hasAuthor() { 838 if (this.author == null) 839 return false; 840 for (Reference item : this.author) 841 if (!item.isEmpty()) 842 return true; 843 return false; 844 } 845 846 public Reference addAuthor() { //3 847 Reference t = new Reference(); 848 if (this.author == null) 849 this.author = new ArrayList<Reference>(); 850 this.author.add(t); 851 return t; 852 } 853 854 public DocumentManifest addAuthor(Reference t) { //3 855 if (t == null) 856 return this; 857 if (this.author == null) 858 this.author = new ArrayList<Reference>(); 859 this.author.add(t); 860 return this; 861 } 862 863 /** 864 * @return The first repetition of repeating field {@link #author}, creating it if it does not already exist 865 */ 866 public Reference getAuthorFirstRep() { 867 if (getAuthor().isEmpty()) { 868 addAuthor(); 869 } 870 return getAuthor().get(0); 871 } 872 873 /** 874 * @return {@link #recipient} (A patient, practitioner, or organization for which this set of documents is intended.) 875 */ 876 public List<Reference> getRecipient() { 877 if (this.recipient == null) 878 this.recipient = new ArrayList<Reference>(); 879 return this.recipient; 880 } 881 882 /** 883 * @return Returns a reference to <code>this</code> for easy method chaining 884 */ 885 public DocumentManifest setRecipient(List<Reference> theRecipient) { 886 this.recipient = theRecipient; 887 return this; 888 } 889 890 public boolean hasRecipient() { 891 if (this.recipient == null) 892 return false; 893 for (Reference item : this.recipient) 894 if (!item.isEmpty()) 895 return true; 896 return false; 897 } 898 899 public Reference addRecipient() { //3 900 Reference t = new Reference(); 901 if (this.recipient == null) 902 this.recipient = new ArrayList<Reference>(); 903 this.recipient.add(t); 904 return t; 905 } 906 907 public DocumentManifest addRecipient(Reference t) { //3 908 if (t == null) 909 return this; 910 if (this.recipient == null) 911 this.recipient = new ArrayList<Reference>(); 912 this.recipient.add(t); 913 return this; 914 } 915 916 /** 917 * @return The first repetition of repeating field {@link #recipient}, creating it if it does not already exist 918 */ 919 public Reference getRecipientFirstRep() { 920 if (getRecipient().isEmpty()) { 921 addRecipient(); 922 } 923 return getRecipient().get(0); 924 } 925 926 /** 927 * @return {@link #source} (Identifies the source system, application, or software that produced the document manifest.). This is the underlying object with id, value and extensions. The accessor "getSource" gives direct access to the value 928 */ 929 public UriType getSourceElement() { 930 if (this.source == null) 931 if (Configuration.errorOnAutoCreate()) 932 throw new Error("Attempt to auto-create DocumentManifest.source"); 933 else if (Configuration.doAutoCreate()) 934 this.source = new UriType(); // bb 935 return this.source; 936 } 937 938 public boolean hasSourceElement() { 939 return this.source != null && !this.source.isEmpty(); 940 } 941 942 public boolean hasSource() { 943 return this.source != null && !this.source.isEmpty(); 944 } 945 946 /** 947 * @param value {@link #source} (Identifies the source system, application, or software that produced the document manifest.). This is the underlying object with id, value and extensions. The accessor "getSource" gives direct access to the value 948 */ 949 public DocumentManifest setSourceElement(UriType value) { 950 this.source = value; 951 return this; 952 } 953 954 /** 955 * @return Identifies the source system, application, or software that produced the document manifest. 956 */ 957 public String getSource() { 958 return this.source == null ? null : this.source.getValue(); 959 } 960 961 /** 962 * @param value Identifies the source system, application, or software that produced the document manifest. 963 */ 964 public DocumentManifest setSource(String value) { 965 if (Utilities.noString(value)) 966 this.source = null; 967 else { 968 if (this.source == null) 969 this.source = new UriType(); 970 this.source.setValue(value); 971 } 972 return this; 973 } 974 975 /** 976 * @return {@link #description} (Human-readable description of the source document. This is sometimes known as the "title".). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 977 */ 978 public StringType getDescriptionElement() { 979 if (this.description == null) 980 if (Configuration.errorOnAutoCreate()) 981 throw new Error("Attempt to auto-create DocumentManifest.description"); 982 else if (Configuration.doAutoCreate()) 983 this.description = new StringType(); // bb 984 return this.description; 985 } 986 987 public boolean hasDescriptionElement() { 988 return this.description != null && !this.description.isEmpty(); 989 } 990 991 public boolean hasDescription() { 992 return this.description != null && !this.description.isEmpty(); 993 } 994 995 /** 996 * @param value {@link #description} (Human-readable description of the source document. This is sometimes known as the "title".). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 997 */ 998 public DocumentManifest setDescriptionElement(StringType value) { 999 this.description = value; 1000 return this; 1001 } 1002 1003 /** 1004 * @return Human-readable description of the source document. This is sometimes known as the "title". 1005 */ 1006 public String getDescription() { 1007 return this.description == null ? null : this.description.getValue(); 1008 } 1009 1010 /** 1011 * @param value Human-readable description of the source document. This is sometimes known as the "title". 1012 */ 1013 public DocumentManifest setDescription(String value) { 1014 if (Utilities.noString(value)) 1015 this.description = null; 1016 else { 1017 if (this.description == null) 1018 this.description = new StringType(); 1019 this.description.setValue(value); 1020 } 1021 return this; 1022 } 1023 1024 /** 1025 * @return {@link #content} (The list of Documents included in the manifest.) 1026 */ 1027 public List<DocumentManifestContentComponent> getContent() { 1028 if (this.content == null) 1029 this.content = new ArrayList<DocumentManifestContentComponent>(); 1030 return this.content; 1031 } 1032 1033 /** 1034 * @return Returns a reference to <code>this</code> for easy method chaining 1035 */ 1036 public DocumentManifest setContent(List<DocumentManifestContentComponent> theContent) { 1037 this.content = theContent; 1038 return this; 1039 } 1040 1041 public boolean hasContent() { 1042 if (this.content == null) 1043 return false; 1044 for (DocumentManifestContentComponent item : this.content) 1045 if (!item.isEmpty()) 1046 return true; 1047 return false; 1048 } 1049 1050 public DocumentManifestContentComponent addContent() { //3 1051 DocumentManifestContentComponent t = new DocumentManifestContentComponent(); 1052 if (this.content == null) 1053 this.content = new ArrayList<DocumentManifestContentComponent>(); 1054 this.content.add(t); 1055 return t; 1056 } 1057 1058 public DocumentManifest addContent(DocumentManifestContentComponent t) { //3 1059 if (t == null) 1060 return this; 1061 if (this.content == null) 1062 this.content = new ArrayList<DocumentManifestContentComponent>(); 1063 this.content.add(t); 1064 return this; 1065 } 1066 1067 /** 1068 * @return The first repetition of repeating field {@link #content}, creating it if it does not already exist 1069 */ 1070 public DocumentManifestContentComponent getContentFirstRep() { 1071 if (getContent().isEmpty()) { 1072 addContent(); 1073 } 1074 return getContent().get(0); 1075 } 1076 1077 /** 1078 * @return {@link #related} (Related identifiers or resources associated with the DocumentManifest.) 1079 */ 1080 public List<DocumentManifestRelatedComponent> getRelated() { 1081 if (this.related == null) 1082 this.related = new ArrayList<DocumentManifestRelatedComponent>(); 1083 return this.related; 1084 } 1085 1086 /** 1087 * @return Returns a reference to <code>this</code> for easy method chaining 1088 */ 1089 public DocumentManifest setRelated(List<DocumentManifestRelatedComponent> theRelated) { 1090 this.related = theRelated; 1091 return this; 1092 } 1093 1094 public boolean hasRelated() { 1095 if (this.related == null) 1096 return false; 1097 for (DocumentManifestRelatedComponent item : this.related) 1098 if (!item.isEmpty()) 1099 return true; 1100 return false; 1101 } 1102 1103 public DocumentManifestRelatedComponent addRelated() { //3 1104 DocumentManifestRelatedComponent t = new DocumentManifestRelatedComponent(); 1105 if (this.related == null) 1106 this.related = new ArrayList<DocumentManifestRelatedComponent>(); 1107 this.related.add(t); 1108 return t; 1109 } 1110 1111 public DocumentManifest addRelated(DocumentManifestRelatedComponent t) { //3 1112 if (t == null) 1113 return this; 1114 if (this.related == null) 1115 this.related = new ArrayList<DocumentManifestRelatedComponent>(); 1116 this.related.add(t); 1117 return this; 1118 } 1119 1120 /** 1121 * @return The first repetition of repeating field {@link #related}, creating it if it does not already exist 1122 */ 1123 public DocumentManifestRelatedComponent getRelatedFirstRep() { 1124 if (getRelated().isEmpty()) { 1125 addRelated(); 1126 } 1127 return getRelated().get(0); 1128 } 1129 1130 protected void listChildren(List<Property> children) { 1131 super.listChildren(children); 1132 children.add(new Property("masterIdentifier", "Identifier", "A single identifier that uniquely identifies this manifest. Principally used to refer to the manifest in non-FHIR contexts.", 0, 1, masterIdentifier)); 1133 children.add(new Property("identifier", "Identifier", "Other identifiers associated with the document manifest, including version independent identifiers.", 0, java.lang.Integer.MAX_VALUE, identifier)); 1134 children.add(new Property("status", "code", "The status of this document manifest.", 0, 1, status)); 1135 children.add(new Property("type", "CodeableConcept", "Specifies the kind of this set of documents (e.g. Patient Summary, Discharge Summary, Prescription, etc.). The type of a set of documents may be the same as one of the documents in it - especially if there is only one - but it may be wider.", 0, 1, type)); 1136 children.add(new Property("subject", "Reference(Patient|Practitioner|Group|Device)", "Who or what the set of documents is about. The documents can be about a person, (patient or healthcare practitioner), a device (i.e. 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). If the documents cross more than one subject, then more than one subject is allowed here (unusual use case).", 0, 1, subject)); 1137 children.add(new Property("created", "dateTime", "When the document manifest was created for submission to the server (not necessarily the same thing as the actual resource last modified time, since it may be modified, replicated, etc.).", 0, 1, created)); 1138 children.add(new Property("author", "Reference(Practitioner|Organization|Device|Patient|RelatedPerson)", "Identifies who is responsible for creating the manifest, and adding documents to it.", 0, java.lang.Integer.MAX_VALUE, author)); 1139 children.add(new Property("recipient", "Reference(Patient|Practitioner|RelatedPerson|Organization)", "A patient, practitioner, or organization for which this set of documents is intended.", 0, java.lang.Integer.MAX_VALUE, recipient)); 1140 children.add(new Property("source", "uri", "Identifies the source system, application, or software that produced the document manifest.", 0, 1, source)); 1141 children.add(new Property("description", "string", "Human-readable description of the source document. This is sometimes known as the \"title\".", 0, 1, description)); 1142 children.add(new Property("content", "", "The list of Documents included in the manifest.", 0, java.lang.Integer.MAX_VALUE, content)); 1143 children.add(new Property("related", "", "Related identifiers or resources associated with the DocumentManifest.", 0, java.lang.Integer.MAX_VALUE, related)); 1144 } 1145 1146 @Override 1147 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1148 switch (_hash) { 1149 case 243769515: /*masterIdentifier*/ return new Property("masterIdentifier", "Identifier", "A single identifier that uniquely identifies this manifest. Principally used to refer to the manifest in non-FHIR contexts.", 0, 1, masterIdentifier); 1150 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Other identifiers associated with the document manifest, including version independent identifiers.", 0, java.lang.Integer.MAX_VALUE, identifier); 1151 case -892481550: /*status*/ return new Property("status", "code", "The status of this document manifest.", 0, 1, status); 1152 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Specifies the kind of this set of documents (e.g. Patient Summary, Discharge Summary, Prescription, etc.). The type of a set of documents may be the same as one of the documents in it - especially if there is only one - but it may be wider.", 0, 1, type); 1153 case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Practitioner|Group|Device)", "Who or what the set of documents is about. The documents can be about a person, (patient or healthcare practitioner), a device (i.e. 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). If the documents cross more than one subject, then more than one subject is allowed here (unusual use case).", 0, 1, subject); 1154 case 1028554472: /*created*/ return new Property("created", "dateTime", "When the document manifest was created for submission to the server (not necessarily the same thing as the actual resource last modified time, since it may be modified, replicated, etc.).", 0, 1, created); 1155 case -1406328437: /*author*/ return new Property("author", "Reference(Practitioner|Organization|Device|Patient|RelatedPerson)", "Identifies who is responsible for creating the manifest, and adding documents to it.", 0, java.lang.Integer.MAX_VALUE, author); 1156 case 820081177: /*recipient*/ return new Property("recipient", "Reference(Patient|Practitioner|RelatedPerson|Organization)", "A patient, practitioner, or organization for which this set of documents is intended.", 0, java.lang.Integer.MAX_VALUE, recipient); 1157 case -896505829: /*source*/ return new Property("source", "uri", "Identifies the source system, application, or software that produced the document manifest.", 0, 1, source); 1158 case -1724546052: /*description*/ return new Property("description", "string", "Human-readable description of the source document. This is sometimes known as the \"title\".", 0, 1, description); 1159 case 951530617: /*content*/ return new Property("content", "", "The list of Documents included in the manifest.", 0, java.lang.Integer.MAX_VALUE, content); 1160 case 1090493483: /*related*/ return new Property("related", "", "Related identifiers or resources associated with the DocumentManifest.", 0, java.lang.Integer.MAX_VALUE, related); 1161 default: return super.getNamedProperty(_hash, _name, _checkValid); 1162 } 1163 1164 } 1165 1166 @Override 1167 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1168 switch (hash) { 1169 case 243769515: /*masterIdentifier*/ return this.masterIdentifier == null ? new Base[0] : new Base[] {this.masterIdentifier}; // Identifier 1170 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1171 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<DocumentReferenceStatus> 1172 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 1173 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 1174 case 1028554472: /*created*/ return this.created == null ? new Base[0] : new Base[] {this.created}; // DateTimeType 1175 case -1406328437: /*author*/ return this.author == null ? new Base[0] : this.author.toArray(new Base[this.author.size()]); // Reference 1176 case 820081177: /*recipient*/ return this.recipient == null ? new Base[0] : this.recipient.toArray(new Base[this.recipient.size()]); // Reference 1177 case -896505829: /*source*/ return this.source == null ? new Base[0] : new Base[] {this.source}; // UriType 1178 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 1179 case 951530617: /*content*/ return this.content == null ? new Base[0] : this.content.toArray(new Base[this.content.size()]); // DocumentManifestContentComponent 1180 case 1090493483: /*related*/ return this.related == null ? new Base[0] : this.related.toArray(new Base[this.related.size()]); // DocumentManifestRelatedComponent 1181 default: return super.getProperty(hash, name, checkValid); 1182 } 1183 1184 } 1185 1186 @Override 1187 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1188 switch (hash) { 1189 case 243769515: // masterIdentifier 1190 this.masterIdentifier = castToIdentifier(value); // Identifier 1191 return value; 1192 case -1618432855: // identifier 1193 this.getIdentifier().add(castToIdentifier(value)); // Identifier 1194 return value; 1195 case -892481550: // status 1196 value = new DocumentReferenceStatusEnumFactory().fromType(castToCode(value)); 1197 this.status = (Enumeration) value; // Enumeration<DocumentReferenceStatus> 1198 return value; 1199 case 3575610: // type 1200 this.type = castToCodeableConcept(value); // CodeableConcept 1201 return value; 1202 case -1867885268: // subject 1203 this.subject = castToReference(value); // Reference 1204 return value; 1205 case 1028554472: // created 1206 this.created = castToDateTime(value); // DateTimeType 1207 return value; 1208 case -1406328437: // author 1209 this.getAuthor().add(castToReference(value)); // Reference 1210 return value; 1211 case 820081177: // recipient 1212 this.getRecipient().add(castToReference(value)); // Reference 1213 return value; 1214 case -896505829: // source 1215 this.source = castToUri(value); // UriType 1216 return value; 1217 case -1724546052: // description 1218 this.description = castToString(value); // StringType 1219 return value; 1220 case 951530617: // content 1221 this.getContent().add((DocumentManifestContentComponent) value); // DocumentManifestContentComponent 1222 return value; 1223 case 1090493483: // related 1224 this.getRelated().add((DocumentManifestRelatedComponent) value); // DocumentManifestRelatedComponent 1225 return value; 1226 default: return super.setProperty(hash, name, value); 1227 } 1228 1229 } 1230 1231 @Override 1232 public Base setProperty(String name, Base value) throws FHIRException { 1233 if (name.equals("masterIdentifier")) { 1234 this.masterIdentifier = castToIdentifier(value); // Identifier 1235 } else if (name.equals("identifier")) { 1236 this.getIdentifier().add(castToIdentifier(value)); 1237 } else if (name.equals("status")) { 1238 value = new DocumentReferenceStatusEnumFactory().fromType(castToCode(value)); 1239 this.status = (Enumeration) value; // Enumeration<DocumentReferenceStatus> 1240 } else if (name.equals("type")) { 1241 this.type = castToCodeableConcept(value); // CodeableConcept 1242 } else if (name.equals("subject")) { 1243 this.subject = castToReference(value); // Reference 1244 } else if (name.equals("created")) { 1245 this.created = castToDateTime(value); // DateTimeType 1246 } else if (name.equals("author")) { 1247 this.getAuthor().add(castToReference(value)); 1248 } else if (name.equals("recipient")) { 1249 this.getRecipient().add(castToReference(value)); 1250 } else if (name.equals("source")) { 1251 this.source = castToUri(value); // UriType 1252 } else if (name.equals("description")) { 1253 this.description = castToString(value); // StringType 1254 } else if (name.equals("content")) { 1255 this.getContent().add((DocumentManifestContentComponent) value); 1256 } else if (name.equals("related")) { 1257 this.getRelated().add((DocumentManifestRelatedComponent) value); 1258 } else 1259 return super.setProperty(name, value); 1260 return value; 1261 } 1262 1263 @Override 1264 public Base makeProperty(int hash, String name) throws FHIRException { 1265 switch (hash) { 1266 case 243769515: return getMasterIdentifier(); 1267 case -1618432855: return addIdentifier(); 1268 case -892481550: return getStatusElement(); 1269 case 3575610: return getType(); 1270 case -1867885268: return getSubject(); 1271 case 1028554472: return getCreatedElement(); 1272 case -1406328437: return addAuthor(); 1273 case 820081177: return addRecipient(); 1274 case -896505829: return getSourceElement(); 1275 case -1724546052: return getDescriptionElement(); 1276 case 951530617: return addContent(); 1277 case 1090493483: return addRelated(); 1278 default: return super.makeProperty(hash, name); 1279 } 1280 1281 } 1282 1283 @Override 1284 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1285 switch (hash) { 1286 case 243769515: /*masterIdentifier*/ return new String[] {"Identifier"}; 1287 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1288 case -892481550: /*status*/ return new String[] {"code"}; 1289 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 1290 case -1867885268: /*subject*/ return new String[] {"Reference"}; 1291 case 1028554472: /*created*/ return new String[] {"dateTime"}; 1292 case -1406328437: /*author*/ return new String[] {"Reference"}; 1293 case 820081177: /*recipient*/ return new String[] {"Reference"}; 1294 case -896505829: /*source*/ return new String[] {"uri"}; 1295 case -1724546052: /*description*/ return new String[] {"string"}; 1296 case 951530617: /*content*/ return new String[] {}; 1297 case 1090493483: /*related*/ return new String[] {}; 1298 default: return super.getTypesForProperty(hash, name); 1299 } 1300 1301 } 1302 1303 @Override 1304 public Base addChild(String name) throws FHIRException { 1305 if (name.equals("masterIdentifier")) { 1306 this.masterIdentifier = new Identifier(); 1307 return this.masterIdentifier; 1308 } 1309 else if (name.equals("identifier")) { 1310 return addIdentifier(); 1311 } 1312 else if (name.equals("status")) { 1313 throw new FHIRException("Cannot call addChild on a singleton property DocumentManifest.status"); 1314 } 1315 else if (name.equals("type")) { 1316 this.type = new CodeableConcept(); 1317 return this.type; 1318 } 1319 else if (name.equals("subject")) { 1320 this.subject = new Reference(); 1321 return this.subject; 1322 } 1323 else if (name.equals("created")) { 1324 throw new FHIRException("Cannot call addChild on a singleton property DocumentManifest.created"); 1325 } 1326 else if (name.equals("author")) { 1327 return addAuthor(); 1328 } 1329 else if (name.equals("recipient")) { 1330 return addRecipient(); 1331 } 1332 else if (name.equals("source")) { 1333 throw new FHIRException("Cannot call addChild on a singleton property DocumentManifest.source"); 1334 } 1335 else if (name.equals("description")) { 1336 throw new FHIRException("Cannot call addChild on a singleton property DocumentManifest.description"); 1337 } 1338 else if (name.equals("content")) { 1339 return addContent(); 1340 } 1341 else if (name.equals("related")) { 1342 return addRelated(); 1343 } 1344 else 1345 return super.addChild(name); 1346 } 1347 1348 public String fhirType() { 1349 return "DocumentManifest"; 1350 1351 } 1352 1353 public DocumentManifest copy() { 1354 DocumentManifest dst = new DocumentManifest(); 1355 copyValues(dst); 1356 dst.masterIdentifier = masterIdentifier == null ? null : masterIdentifier.copy(); 1357 if (identifier != null) { 1358 dst.identifier = new ArrayList<Identifier>(); 1359 for (Identifier i : identifier) 1360 dst.identifier.add(i.copy()); 1361 }; 1362 dst.status = status == null ? null : status.copy(); 1363 dst.type = type == null ? null : type.copy(); 1364 dst.subject = subject == null ? null : subject.copy(); 1365 dst.created = created == null ? null : created.copy(); 1366 if (author != null) { 1367 dst.author = new ArrayList<Reference>(); 1368 for (Reference i : author) 1369 dst.author.add(i.copy()); 1370 }; 1371 if (recipient != null) { 1372 dst.recipient = new ArrayList<Reference>(); 1373 for (Reference i : recipient) 1374 dst.recipient.add(i.copy()); 1375 }; 1376 dst.source = source == null ? null : source.copy(); 1377 dst.description = description == null ? null : description.copy(); 1378 if (content != null) { 1379 dst.content = new ArrayList<DocumentManifestContentComponent>(); 1380 for (DocumentManifestContentComponent i : content) 1381 dst.content.add(i.copy()); 1382 }; 1383 if (related != null) { 1384 dst.related = new ArrayList<DocumentManifestRelatedComponent>(); 1385 for (DocumentManifestRelatedComponent i : related) 1386 dst.related.add(i.copy()); 1387 }; 1388 return dst; 1389 } 1390 1391 protected DocumentManifest typedCopy() { 1392 return copy(); 1393 } 1394 1395 @Override 1396 public boolean equalsDeep(Base other_) { 1397 if (!super.equalsDeep(other_)) 1398 return false; 1399 if (!(other_ instanceof DocumentManifest)) 1400 return false; 1401 DocumentManifest o = (DocumentManifest) other_; 1402 return compareDeep(masterIdentifier, o.masterIdentifier, true) && compareDeep(identifier, o.identifier, true) 1403 && compareDeep(status, o.status, true) && compareDeep(type, o.type, true) && compareDeep(subject, o.subject, true) 1404 && compareDeep(created, o.created, true) && compareDeep(author, o.author, true) && compareDeep(recipient, o.recipient, true) 1405 && compareDeep(source, o.source, true) && compareDeep(description, o.description, true) && compareDeep(content, o.content, true) 1406 && compareDeep(related, o.related, true); 1407 } 1408 1409 @Override 1410 public boolean equalsShallow(Base other_) { 1411 if (!super.equalsShallow(other_)) 1412 return false; 1413 if (!(other_ instanceof DocumentManifest)) 1414 return false; 1415 DocumentManifest o = (DocumentManifest) other_; 1416 return compareValues(status, o.status, true) && compareValues(created, o.created, true) && compareValues(source, o.source, true) 1417 && compareValues(description, o.description, true); 1418 } 1419 1420 public boolean isEmpty() { 1421 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(masterIdentifier, identifier 1422 , status, type, subject, created, author, recipient, source, description, content 1423 , related); 1424 } 1425 1426 @Override 1427 public ResourceType getResourceType() { 1428 return ResourceType.DocumentManifest; 1429 } 1430 1431 /** 1432 * Search parameter: <b>identifier</b> 1433 * <p> 1434 * Description: <b>Unique Identifier for the set of documents</b><br> 1435 * Type: <b>token</b><br> 1436 * Path: <b>DocumentManifest.masterIdentifier, DocumentManifest.identifier</b><br> 1437 * </p> 1438 */ 1439 @SearchParamDefinition(name="identifier", path="DocumentManifest.masterIdentifier | DocumentManifest.identifier", description="Unique Identifier for the set of documents", type="token" ) 1440 public static final String SP_IDENTIFIER = "identifier"; 1441 /** 1442 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 1443 * <p> 1444 * Description: <b>Unique Identifier for the set of documents</b><br> 1445 * Type: <b>token</b><br> 1446 * Path: <b>DocumentManifest.masterIdentifier, DocumentManifest.identifier</b><br> 1447 * </p> 1448 */ 1449 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 1450 1451 /** 1452 * Search parameter: <b>related-id</b> 1453 * <p> 1454 * Description: <b>Identifiers of things that are related</b><br> 1455 * Type: <b>token</b><br> 1456 * Path: <b>DocumentManifest.related.identifier</b><br> 1457 * </p> 1458 */ 1459 @SearchParamDefinition(name="related-id", path="DocumentManifest.related.identifier", description="Identifiers of things that are related", type="token" ) 1460 public static final String SP_RELATED_ID = "related-id"; 1461 /** 1462 * <b>Fluent Client</b> search parameter constant for <b>related-id</b> 1463 * <p> 1464 * Description: <b>Identifiers of things that are related</b><br> 1465 * Type: <b>token</b><br> 1466 * Path: <b>DocumentManifest.related.identifier</b><br> 1467 * </p> 1468 */ 1469 public static final ca.uhn.fhir.rest.gclient.TokenClientParam RELATED_ID = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_RELATED_ID); 1470 1471 /** 1472 * Search parameter: <b>content-ref</b> 1473 * <p> 1474 * Description: <b>Contents of this set of documents</b><br> 1475 * Type: <b>reference</b><br> 1476 * Path: <b>DocumentManifest.content.pReference</b><br> 1477 * </p> 1478 */ 1479 @SearchParamDefinition(name="content-ref", path="DocumentManifest.content.p.as(Reference)", description="Contents of this set of documents", type="reference" ) 1480 public static final String SP_CONTENT_REF = "content-ref"; 1481 /** 1482 * <b>Fluent Client</b> search parameter constant for <b>content-ref</b> 1483 * <p> 1484 * Description: <b>Contents of this set of documents</b><br> 1485 * Type: <b>reference</b><br> 1486 * Path: <b>DocumentManifest.content.pReference</b><br> 1487 * </p> 1488 */ 1489 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam CONTENT_REF = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_CONTENT_REF); 1490 1491/** 1492 * Constant for fluent queries to be used to add include statements. Specifies 1493 * the path value of "<b>DocumentManifest:content-ref</b>". 1494 */ 1495 public static final ca.uhn.fhir.model.api.Include INCLUDE_CONTENT_REF = new ca.uhn.fhir.model.api.Include("DocumentManifest:content-ref").toLocked(); 1496 1497 /** 1498 * Search parameter: <b>subject</b> 1499 * <p> 1500 * Description: <b>The subject of the set of documents</b><br> 1501 * Type: <b>reference</b><br> 1502 * Path: <b>DocumentManifest.subject</b><br> 1503 * </p> 1504 */ 1505 @SearchParamDefinition(name="subject", path="DocumentManifest.subject", description="The subject of the set of documents", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Patient"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Practitioner") }, target={Device.class, Group.class, Patient.class, Practitioner.class } ) 1506 public static final String SP_SUBJECT = "subject"; 1507 /** 1508 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 1509 * <p> 1510 * Description: <b>The subject of the set of documents</b><br> 1511 * Type: <b>reference</b><br> 1512 * Path: <b>DocumentManifest.subject</b><br> 1513 * </p> 1514 */ 1515 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 1516 1517/** 1518 * Constant for fluent queries to be used to add include statements. Specifies 1519 * the path value of "<b>DocumentManifest:subject</b>". 1520 */ 1521 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("DocumentManifest:subject").toLocked(); 1522 1523 /** 1524 * Search parameter: <b>author</b> 1525 * <p> 1526 * Description: <b>Who and/or what authored the manifest</b><br> 1527 * Type: <b>reference</b><br> 1528 * Path: <b>DocumentManifest.author</b><br> 1529 * </p> 1530 */ 1531 @SearchParamDefinition(name="author", path="DocumentManifest.author", description="Who and/or what authored the manifest", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Patient"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Practitioner"), @ca.uhn.fhir.model.api.annotation.Compartment(name="RelatedPerson") }, target={Device.class, Organization.class, Patient.class, Practitioner.class, RelatedPerson.class } ) 1532 public static final String SP_AUTHOR = "author"; 1533 /** 1534 * <b>Fluent Client</b> search parameter constant for <b>author</b> 1535 * <p> 1536 * Description: <b>Who and/or what authored the manifest</b><br> 1537 * Type: <b>reference</b><br> 1538 * Path: <b>DocumentManifest.author</b><br> 1539 * </p> 1540 */ 1541 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam AUTHOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_AUTHOR); 1542 1543/** 1544 * Constant for fluent queries to be used to add include statements. Specifies 1545 * the path value of "<b>DocumentManifest:author</b>". 1546 */ 1547 public static final ca.uhn.fhir.model.api.Include INCLUDE_AUTHOR = new ca.uhn.fhir.model.api.Include("DocumentManifest:author").toLocked(); 1548 1549 /** 1550 * Search parameter: <b>created</b> 1551 * <p> 1552 * Description: <b>When this document manifest created</b><br> 1553 * Type: <b>date</b><br> 1554 * Path: <b>DocumentManifest.created</b><br> 1555 * </p> 1556 */ 1557 @SearchParamDefinition(name="created", path="DocumentManifest.created", description="When this document manifest created", type="date" ) 1558 public static final String SP_CREATED = "created"; 1559 /** 1560 * <b>Fluent Client</b> search parameter constant for <b>created</b> 1561 * <p> 1562 * Description: <b>When this document manifest created</b><br> 1563 * Type: <b>date</b><br> 1564 * Path: <b>DocumentManifest.created</b><br> 1565 * </p> 1566 */ 1567 public static final ca.uhn.fhir.rest.gclient.DateClientParam CREATED = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_CREATED); 1568 1569 /** 1570 * Search parameter: <b>description</b> 1571 * <p> 1572 * Description: <b>Human-readable description (title)</b><br> 1573 * Type: <b>string</b><br> 1574 * Path: <b>DocumentManifest.description</b><br> 1575 * </p> 1576 */ 1577 @SearchParamDefinition(name="description", path="DocumentManifest.description", description="Human-readable description (title)", type="string" ) 1578 public static final String SP_DESCRIPTION = "description"; 1579 /** 1580 * <b>Fluent Client</b> search parameter constant for <b>description</b> 1581 * <p> 1582 * Description: <b>Human-readable description (title)</b><br> 1583 * Type: <b>string</b><br> 1584 * Path: <b>DocumentManifest.description</b><br> 1585 * </p> 1586 */ 1587 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); 1588 1589 /** 1590 * Search parameter: <b>source</b> 1591 * <p> 1592 * Description: <b>The source system/application/software</b><br> 1593 * Type: <b>uri</b><br> 1594 * Path: <b>DocumentManifest.source</b><br> 1595 * </p> 1596 */ 1597 @SearchParamDefinition(name="source", path="DocumentManifest.source", description="The source system/application/software", type="uri" ) 1598 public static final String SP_SOURCE = "source"; 1599 /** 1600 * <b>Fluent Client</b> search parameter constant for <b>source</b> 1601 * <p> 1602 * Description: <b>The source system/application/software</b><br> 1603 * Type: <b>uri</b><br> 1604 * Path: <b>DocumentManifest.source</b><br> 1605 * </p> 1606 */ 1607 public static final ca.uhn.fhir.rest.gclient.UriClientParam SOURCE = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_SOURCE); 1608 1609 /** 1610 * Search parameter: <b>type</b> 1611 * <p> 1612 * Description: <b>Kind of document set</b><br> 1613 * Type: <b>token</b><br> 1614 * Path: <b>DocumentManifest.type</b><br> 1615 * </p> 1616 */ 1617 @SearchParamDefinition(name="type", path="DocumentManifest.type", description="Kind of document set", type="token" ) 1618 public static final String SP_TYPE = "type"; 1619 /** 1620 * <b>Fluent Client</b> search parameter constant for <b>type</b> 1621 * <p> 1622 * Description: <b>Kind of document set</b><br> 1623 * Type: <b>token</b><br> 1624 * Path: <b>DocumentManifest.type</b><br> 1625 * </p> 1626 */ 1627 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TYPE); 1628 1629 /** 1630 * Search parameter: <b>related-ref</b> 1631 * <p> 1632 * Description: <b>Related Resource</b><br> 1633 * Type: <b>reference</b><br> 1634 * Path: <b>DocumentManifest.related.ref</b><br> 1635 * </p> 1636 */ 1637 @SearchParamDefinition(name="related-ref", path="DocumentManifest.related.ref", description="Related Resource", type="reference" ) 1638 public static final String SP_RELATED_REF = "related-ref"; 1639 /** 1640 * <b>Fluent Client</b> search parameter constant for <b>related-ref</b> 1641 * <p> 1642 * Description: <b>Related Resource</b><br> 1643 * Type: <b>reference</b><br> 1644 * Path: <b>DocumentManifest.related.ref</b><br> 1645 * </p> 1646 */ 1647 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam RELATED_REF = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_RELATED_REF); 1648 1649/** 1650 * Constant for fluent queries to be used to add include statements. Specifies 1651 * the path value of "<b>DocumentManifest:related-ref</b>". 1652 */ 1653 public static final ca.uhn.fhir.model.api.Include INCLUDE_RELATED_REF = new ca.uhn.fhir.model.api.Include("DocumentManifest:related-ref").toLocked(); 1654 1655 /** 1656 * Search parameter: <b>patient</b> 1657 * <p> 1658 * Description: <b>The subject of the set of documents</b><br> 1659 * Type: <b>reference</b><br> 1660 * Path: <b>DocumentManifest.subject</b><br> 1661 * </p> 1662 */ 1663 @SearchParamDefinition(name="patient", path="DocumentManifest.subject", description="The subject of the set of documents", type="reference", target={Patient.class } ) 1664 public static final String SP_PATIENT = "patient"; 1665 /** 1666 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 1667 * <p> 1668 * Description: <b>The subject of the set of documents</b><br> 1669 * Type: <b>reference</b><br> 1670 * Path: <b>DocumentManifest.subject</b><br> 1671 * </p> 1672 */ 1673 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 1674 1675/** 1676 * Constant for fluent queries to be used to add include statements. Specifies 1677 * the path value of "<b>DocumentManifest:patient</b>". 1678 */ 1679 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("DocumentManifest:patient").toLocked(); 1680 1681 /** 1682 * Search parameter: <b>recipient</b> 1683 * <p> 1684 * Description: <b>Intended to get notified about this set of documents</b><br> 1685 * Type: <b>reference</b><br> 1686 * Path: <b>DocumentManifest.recipient</b><br> 1687 * </p> 1688 */ 1689 @SearchParamDefinition(name="recipient", path="DocumentManifest.recipient", description="Intended to get notified about this set of documents", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Patient"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Practitioner") }, target={Organization.class, Patient.class, Practitioner.class, RelatedPerson.class } ) 1690 public static final String SP_RECIPIENT = "recipient"; 1691 /** 1692 * <b>Fluent Client</b> search parameter constant for <b>recipient</b> 1693 * <p> 1694 * Description: <b>Intended to get notified about this set of documents</b><br> 1695 * Type: <b>reference</b><br> 1696 * Path: <b>DocumentManifest.recipient</b><br> 1697 * </p> 1698 */ 1699 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam RECIPIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_RECIPIENT); 1700 1701/** 1702 * Constant for fluent queries to be used to add include statements. Specifies 1703 * the path value of "<b>DocumentManifest:recipient</b>". 1704 */ 1705 public static final ca.uhn.fhir.model.api.Include INCLUDE_RECIPIENT = new ca.uhn.fhir.model.api.Include("DocumentManifest:recipient").toLocked(); 1706 1707 /** 1708 * Search parameter: <b>status</b> 1709 * <p> 1710 * Description: <b>current | superseded | entered-in-error</b><br> 1711 * Type: <b>token</b><br> 1712 * Path: <b>DocumentManifest.status</b><br> 1713 * </p> 1714 */ 1715 @SearchParamDefinition(name="status", path="DocumentManifest.status", description="current | superseded | entered-in-error", type="token" ) 1716 public static final String SP_STATUS = "status"; 1717 /** 1718 * <b>Fluent Client</b> search parameter constant for <b>status</b> 1719 * <p> 1720 * Description: <b>current | superseded | entered-in-error</b><br> 1721 * Type: <b>token</b><br> 1722 * Path: <b>DocumentManifest.status</b><br> 1723 * </p> 1724 */ 1725 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 1726 1727 1728}