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