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 Thu, Mar 23, 2023 19:59+1100 for FHIR v5.0.0
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 * Describes a comparison of an immunization event against published recommendations to determine if the administration is "valid" in relation to those  recommendations.
052 */
053@ResourceDef(name="ImmunizationEvaluation", profile="http://hl7.org/fhir/StructureDefinition/ImmunizationEvaluation")
054public class ImmunizationEvaluation extends DomainResource {
055
056    public enum ImmunizationEvaluationStatusCodes {
057        /**
058         * All actions that are implied by the administration have occurred.
059         */
060        COMPLETED, 
061        /**
062         * The administration was entered in error and therefore nullified.
063         */
064        ENTEREDINERROR, 
065        /**
066         * added to help the parsers with the generic types
067         */
068        NULL;
069        public static ImmunizationEvaluationStatusCodes fromCode(String codeString) throws FHIRException {
070            if (codeString == null || "".equals(codeString))
071                return null;
072        if ("completed".equals(codeString))
073          return COMPLETED;
074        if ("entered-in-error".equals(codeString))
075          return ENTEREDINERROR;
076        if (Configuration.isAcceptInvalidEnums())
077          return null;
078        else
079          throw new FHIRException("Unknown ImmunizationEvaluationStatusCodes code '"+codeString+"'");
080        }
081        public String toCode() {
082          switch (this) {
083            case COMPLETED: return "completed";
084            case ENTEREDINERROR: return "entered-in-error";
085            case NULL: return null;
086            default: return "?";
087          }
088        }
089        public String getSystem() {
090          switch (this) {
091            case COMPLETED: return "http://hl7.org/fhir/CodeSystem/medication-admin-status";
092            case ENTEREDINERROR: return "http://hl7.org/fhir/CodeSystem/medication-admin-status";
093            case NULL: return null;
094            default: return "?";
095          }
096        }
097        public String getDefinition() {
098          switch (this) {
099            case COMPLETED: return "All actions that are implied by the administration have occurred.";
100            case ENTEREDINERROR: return "The administration was entered in error and therefore nullified.";
101            case NULL: return null;
102            default: return "?";
103          }
104        }
105        public String getDisplay() {
106          switch (this) {
107            case COMPLETED: return "Completed";
108            case ENTEREDINERROR: return "Entered in Error";
109            case NULL: return null;
110            default: return "?";
111          }
112        }
113    }
114
115  public static class ImmunizationEvaluationStatusCodesEnumFactory implements EnumFactory<ImmunizationEvaluationStatusCodes> {
116    public ImmunizationEvaluationStatusCodes fromCode(String codeString) throws IllegalArgumentException {
117      if (codeString == null || "".equals(codeString))
118            if (codeString == null || "".equals(codeString))
119                return null;
120        if ("completed".equals(codeString))
121          return ImmunizationEvaluationStatusCodes.COMPLETED;
122        if ("entered-in-error".equals(codeString))
123          return ImmunizationEvaluationStatusCodes.ENTEREDINERROR;
124        throw new IllegalArgumentException("Unknown ImmunizationEvaluationStatusCodes code '"+codeString+"'");
125        }
126        public Enumeration<ImmunizationEvaluationStatusCodes> fromType(PrimitiveType<?> code) throws FHIRException {
127          if (code == null)
128            return null;
129          if (code.isEmpty())
130            return new Enumeration<ImmunizationEvaluationStatusCodes>(this, ImmunizationEvaluationStatusCodes.NULL, code);
131          String codeString = ((PrimitiveType) code).asStringValue();
132          if (codeString == null || "".equals(codeString))
133            return new Enumeration<ImmunizationEvaluationStatusCodes>(this, ImmunizationEvaluationStatusCodes.NULL, code);
134        if ("completed".equals(codeString))
135          return new Enumeration<ImmunizationEvaluationStatusCodes>(this, ImmunizationEvaluationStatusCodes.COMPLETED, code);
136        if ("entered-in-error".equals(codeString))
137          return new Enumeration<ImmunizationEvaluationStatusCodes>(this, ImmunizationEvaluationStatusCodes.ENTEREDINERROR, code);
138        throw new FHIRException("Unknown ImmunizationEvaluationStatusCodes code '"+codeString+"'");
139        }
140    public String toCode(ImmunizationEvaluationStatusCodes code) {
141      if (code == ImmunizationEvaluationStatusCodes.COMPLETED)
142        return "completed";
143      if (code == ImmunizationEvaluationStatusCodes.ENTEREDINERROR)
144        return "entered-in-error";
145      return "?";
146      }
147    public String toSystem(ImmunizationEvaluationStatusCodes code) {
148      return code.getSystem();
149      }
150    }
151
152    /**
153     * A unique identifier assigned to this immunization evaluation record.
154     */
155    @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
156    @Description(shortDefinition="Business identifier", formalDefinition="A unique identifier assigned to this immunization evaluation record." )
157    protected List<Identifier> identifier;
158
159    /**
160     * Indicates the current status of the evaluation of the vaccination administration event.
161     */
162    @Child(name = "status", type = {CodeType.class}, order=1, min=1, max=1, modifier=true, summary=true)
163    @Description(shortDefinition="completed | entered-in-error", formalDefinition="Indicates the current status of the evaluation of the vaccination administration event." )
164    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/immunization-evaluation-status")
165    protected Enumeration<ImmunizationEvaluationStatusCodes> status;
166
167    /**
168     * The individual for whom the evaluation is being done.
169     */
170    @Child(name = "patient", type = {Patient.class}, order=2, min=1, max=1, modifier=false, summary=true)
171    @Description(shortDefinition="Who this evaluation is for", formalDefinition="The individual for whom the evaluation is being done." )
172    protected Reference patient;
173
174    /**
175     * The date the evaluation of the vaccine administration event was performed.
176     */
177    @Child(name = "date", type = {DateTimeType.class}, order=3, min=0, max=1, modifier=false, summary=false)
178    @Description(shortDefinition="Date evaluation was performed", formalDefinition="The date the evaluation of the vaccine administration event was performed." )
179    protected DateTimeType date;
180
181    /**
182     * Indicates the authority who published the protocol (e.g. ACIP).
183     */
184    @Child(name = "authority", type = {Organization.class}, order=4, min=0, max=1, modifier=false, summary=false)
185    @Description(shortDefinition="Who is responsible for publishing the recommendations", formalDefinition="Indicates the authority who published the protocol (e.g. ACIP)." )
186    protected Reference authority;
187
188    /**
189     * The vaccine preventable disease the dose is being evaluated against.
190     */
191    @Child(name = "targetDisease", type = {CodeableConcept.class}, order=5, min=1, max=1, modifier=false, summary=true)
192    @Description(shortDefinition="The vaccine preventable disease schedule being evaluated", formalDefinition="The vaccine preventable disease the dose is being evaluated against." )
193    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/immunization-target-disease")
194    protected CodeableConcept targetDisease;
195
196    /**
197     * The vaccine administration event being evaluated.
198     */
199    @Child(name = "immunizationEvent", type = {Immunization.class}, order=6, min=1, max=1, modifier=false, summary=true)
200    @Description(shortDefinition="Immunization being evaluated", formalDefinition="The vaccine administration event being evaluated." )
201    protected Reference immunizationEvent;
202
203    /**
204     * Indicates if the dose is valid or not valid with respect to the published recommendations.
205     */
206    @Child(name = "doseStatus", type = {CodeableConcept.class}, order=7, min=1, max=1, modifier=false, summary=true)
207    @Description(shortDefinition="Status of the dose relative to published recommendations", formalDefinition="Indicates if the dose is valid or not valid with respect to the published recommendations." )
208    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/immunization-evaluation-dose-status")
209    protected CodeableConcept doseStatus;
210
211    /**
212     * Provides an explanation as to why the vaccine administration event is valid or not relative to the published recommendations.
213     */
214    @Child(name = "doseStatusReason", type = {CodeableConcept.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
215    @Description(shortDefinition="Reason why the doese is considered valid, invalid or some other status", formalDefinition="Provides an explanation as to why the vaccine administration event is valid or not relative to the published recommendations." )
216    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/immunization-evaluation-dose-status-reason")
217    protected List<CodeableConcept> doseStatusReason;
218
219    /**
220     * Additional information about the evaluation.
221     */
222    @Child(name = "description", type = {MarkdownType.class}, order=9, min=0, max=1, modifier=false, summary=false)
223    @Description(shortDefinition="Evaluation notes", formalDefinition="Additional information about the evaluation." )
224    protected MarkdownType description;
225
226    /**
227     * One possible path to achieve presumed immunity against a disease - within the context of an authority.
228     */
229    @Child(name = "series", type = {StringType.class}, order=10, min=0, max=1, modifier=false, summary=false)
230    @Description(shortDefinition="Name of vaccine series", formalDefinition="One possible path to achieve presumed immunity against a disease - within the context of an authority." )
231    protected StringType series;
232
233    /**
234     * Nominal position in a series as determined by the outcome of the evaluation process.
235     */
236    @Child(name = "doseNumber", type = {StringType.class}, order=11, min=0, max=1, modifier=false, summary=false)
237    @Description(shortDefinition="Dose number within series", formalDefinition="Nominal position in a series as determined by the outcome of the evaluation process." )
238    protected StringType doseNumber;
239
240    /**
241     * The recommended number of doses to achieve immunity as determined by the outcome of the evaluation process.
242     */
243    @Child(name = "seriesDoses", type = {StringType.class}, order=12, min=0, max=1, modifier=false, summary=false)
244    @Description(shortDefinition="Recommended number of doses for immunity", formalDefinition="The recommended number of doses to achieve immunity as determined by the outcome of the evaluation process." )
245    protected StringType seriesDoses;
246
247    private static final long serialVersionUID = 1336970813L;
248
249  /**
250   * Constructor
251   */
252    public ImmunizationEvaluation() {
253      super();
254    }
255
256  /**
257   * Constructor
258   */
259    public ImmunizationEvaluation(ImmunizationEvaluationStatusCodes status, Reference patient, CodeableConcept targetDisease, Reference immunizationEvent, CodeableConcept doseStatus) {
260      super();
261      this.setStatus(status);
262      this.setPatient(patient);
263      this.setTargetDisease(targetDisease);
264      this.setImmunizationEvent(immunizationEvent);
265      this.setDoseStatus(doseStatus);
266    }
267
268    /**
269     * @return {@link #identifier} (A unique identifier assigned to this immunization evaluation record.)
270     */
271    public List<Identifier> getIdentifier() { 
272      if (this.identifier == null)
273        this.identifier = new ArrayList<Identifier>();
274      return this.identifier;
275    }
276
277    /**
278     * @return Returns a reference to <code>this</code> for easy method chaining
279     */
280    public ImmunizationEvaluation setIdentifier(List<Identifier> theIdentifier) { 
281      this.identifier = theIdentifier;
282      return this;
283    }
284
285    public boolean hasIdentifier() { 
286      if (this.identifier == null)
287        return false;
288      for (Identifier item : this.identifier)
289        if (!item.isEmpty())
290          return true;
291      return false;
292    }
293
294    public Identifier addIdentifier() { //3
295      Identifier t = new Identifier();
296      if (this.identifier == null)
297        this.identifier = new ArrayList<Identifier>();
298      this.identifier.add(t);
299      return t;
300    }
301
302    public ImmunizationEvaluation addIdentifier(Identifier t) { //3
303      if (t == null)
304        return this;
305      if (this.identifier == null)
306        this.identifier = new ArrayList<Identifier>();
307      this.identifier.add(t);
308      return this;
309    }
310
311    /**
312     * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3}
313     */
314    public Identifier getIdentifierFirstRep() { 
315      if (getIdentifier().isEmpty()) {
316        addIdentifier();
317      }
318      return getIdentifier().get(0);
319    }
320
321    /**
322     * @return {@link #status} (Indicates the current status of the evaluation of the vaccination administration event.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value
323     */
324    public Enumeration<ImmunizationEvaluationStatusCodes> getStatusElement() { 
325      if (this.status == null)
326        if (Configuration.errorOnAutoCreate())
327          throw new Error("Attempt to auto-create ImmunizationEvaluation.status");
328        else if (Configuration.doAutoCreate())
329          this.status = new Enumeration<ImmunizationEvaluationStatusCodes>(new ImmunizationEvaluationStatusCodesEnumFactory()); // bb
330      return this.status;
331    }
332
333    public boolean hasStatusElement() { 
334      return this.status != null && !this.status.isEmpty();
335    }
336
337    public boolean hasStatus() { 
338      return this.status != null && !this.status.isEmpty();
339    }
340
341    /**
342     * @param value {@link #status} (Indicates the current status of the evaluation of the vaccination administration event.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value
343     */
344    public ImmunizationEvaluation setStatusElement(Enumeration<ImmunizationEvaluationStatusCodes> value) { 
345      this.status = value;
346      return this;
347    }
348
349    /**
350     * @return Indicates the current status of the evaluation of the vaccination administration event.
351     */
352    public ImmunizationEvaluationStatusCodes getStatus() { 
353      return this.status == null ? null : this.status.getValue();
354    }
355
356    /**
357     * @param value Indicates the current status of the evaluation of the vaccination administration event.
358     */
359    public ImmunizationEvaluation setStatus(ImmunizationEvaluationStatusCodes value) { 
360        if (this.status == null)
361          this.status = new Enumeration<ImmunizationEvaluationStatusCodes>(new ImmunizationEvaluationStatusCodesEnumFactory());
362        this.status.setValue(value);
363      return this;
364    }
365
366    /**
367     * @return {@link #patient} (The individual for whom the evaluation is being done.)
368     */
369    public Reference getPatient() { 
370      if (this.patient == null)
371        if (Configuration.errorOnAutoCreate())
372          throw new Error("Attempt to auto-create ImmunizationEvaluation.patient");
373        else if (Configuration.doAutoCreate())
374          this.patient = new Reference(); // cc
375      return this.patient;
376    }
377
378    public boolean hasPatient() { 
379      return this.patient != null && !this.patient.isEmpty();
380    }
381
382    /**
383     * @param value {@link #patient} (The individual for whom the evaluation is being done.)
384     */
385    public ImmunizationEvaluation setPatient(Reference value) { 
386      this.patient = value;
387      return this;
388    }
389
390    /**
391     * @return {@link #date} (The date the evaluation of the vaccine administration event was performed.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value
392     */
393    public DateTimeType getDateElement() { 
394      if (this.date == null)
395        if (Configuration.errorOnAutoCreate())
396          throw new Error("Attempt to auto-create ImmunizationEvaluation.date");
397        else if (Configuration.doAutoCreate())
398          this.date = new DateTimeType(); // bb
399      return this.date;
400    }
401
402    public boolean hasDateElement() { 
403      return this.date != null && !this.date.isEmpty();
404    }
405
406    public boolean hasDate() { 
407      return this.date != null && !this.date.isEmpty();
408    }
409
410    /**
411     * @param value {@link #date} (The date the evaluation of the vaccine administration event was performed.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value
412     */
413    public ImmunizationEvaluation setDateElement(DateTimeType value) { 
414      this.date = value;
415      return this;
416    }
417
418    /**
419     * @return The date the evaluation of the vaccine administration event was performed.
420     */
421    public Date getDate() { 
422      return this.date == null ? null : this.date.getValue();
423    }
424
425    /**
426     * @param value The date the evaluation of the vaccine administration event was performed.
427     */
428    public ImmunizationEvaluation setDate(Date value) { 
429      if (value == null)
430        this.date = null;
431      else {
432        if (this.date == null)
433          this.date = new DateTimeType();
434        this.date.setValue(value);
435      }
436      return this;
437    }
438
439    /**
440     * @return {@link #authority} (Indicates the authority who published the protocol (e.g. ACIP).)
441     */
442    public Reference getAuthority() { 
443      if (this.authority == null)
444        if (Configuration.errorOnAutoCreate())
445          throw new Error("Attempt to auto-create ImmunizationEvaluation.authority");
446        else if (Configuration.doAutoCreate())
447          this.authority = new Reference(); // cc
448      return this.authority;
449    }
450
451    public boolean hasAuthority() { 
452      return this.authority != null && !this.authority.isEmpty();
453    }
454
455    /**
456     * @param value {@link #authority} (Indicates the authority who published the protocol (e.g. ACIP).)
457     */
458    public ImmunizationEvaluation setAuthority(Reference value) { 
459      this.authority = value;
460      return this;
461    }
462
463    /**
464     * @return {@link #targetDisease} (The vaccine preventable disease the dose is being evaluated against.)
465     */
466    public CodeableConcept getTargetDisease() { 
467      if (this.targetDisease == null)
468        if (Configuration.errorOnAutoCreate())
469          throw new Error("Attempt to auto-create ImmunizationEvaluation.targetDisease");
470        else if (Configuration.doAutoCreate())
471          this.targetDisease = new CodeableConcept(); // cc
472      return this.targetDisease;
473    }
474
475    public boolean hasTargetDisease() { 
476      return this.targetDisease != null && !this.targetDisease.isEmpty();
477    }
478
479    /**
480     * @param value {@link #targetDisease} (The vaccine preventable disease the dose is being evaluated against.)
481     */
482    public ImmunizationEvaluation setTargetDisease(CodeableConcept value) { 
483      this.targetDisease = value;
484      return this;
485    }
486
487    /**
488     * @return {@link #immunizationEvent} (The vaccine administration event being evaluated.)
489     */
490    public Reference getImmunizationEvent() { 
491      if (this.immunizationEvent == null)
492        if (Configuration.errorOnAutoCreate())
493          throw new Error("Attempt to auto-create ImmunizationEvaluation.immunizationEvent");
494        else if (Configuration.doAutoCreate())
495          this.immunizationEvent = new Reference(); // cc
496      return this.immunizationEvent;
497    }
498
499    public boolean hasImmunizationEvent() { 
500      return this.immunizationEvent != null && !this.immunizationEvent.isEmpty();
501    }
502
503    /**
504     * @param value {@link #immunizationEvent} (The vaccine administration event being evaluated.)
505     */
506    public ImmunizationEvaluation setImmunizationEvent(Reference value) { 
507      this.immunizationEvent = value;
508      return this;
509    }
510
511    /**
512     * @return {@link #doseStatus} (Indicates if the dose is valid or not valid with respect to the published recommendations.)
513     */
514    public CodeableConcept getDoseStatus() { 
515      if (this.doseStatus == null)
516        if (Configuration.errorOnAutoCreate())
517          throw new Error("Attempt to auto-create ImmunizationEvaluation.doseStatus");
518        else if (Configuration.doAutoCreate())
519          this.doseStatus = new CodeableConcept(); // cc
520      return this.doseStatus;
521    }
522
523    public boolean hasDoseStatus() { 
524      return this.doseStatus != null && !this.doseStatus.isEmpty();
525    }
526
527    /**
528     * @param value {@link #doseStatus} (Indicates if the dose is valid or not valid with respect to the published recommendations.)
529     */
530    public ImmunizationEvaluation setDoseStatus(CodeableConcept value) { 
531      this.doseStatus = value;
532      return this;
533    }
534
535    /**
536     * @return {@link #doseStatusReason} (Provides an explanation as to why the vaccine administration event is valid or not relative to the published recommendations.)
537     */
538    public List<CodeableConcept> getDoseStatusReason() { 
539      if (this.doseStatusReason == null)
540        this.doseStatusReason = new ArrayList<CodeableConcept>();
541      return this.doseStatusReason;
542    }
543
544    /**
545     * @return Returns a reference to <code>this</code> for easy method chaining
546     */
547    public ImmunizationEvaluation setDoseStatusReason(List<CodeableConcept> theDoseStatusReason) { 
548      this.doseStatusReason = theDoseStatusReason;
549      return this;
550    }
551
552    public boolean hasDoseStatusReason() { 
553      if (this.doseStatusReason == null)
554        return false;
555      for (CodeableConcept item : this.doseStatusReason)
556        if (!item.isEmpty())
557          return true;
558      return false;
559    }
560
561    public CodeableConcept addDoseStatusReason() { //3
562      CodeableConcept t = new CodeableConcept();
563      if (this.doseStatusReason == null)
564        this.doseStatusReason = new ArrayList<CodeableConcept>();
565      this.doseStatusReason.add(t);
566      return t;
567    }
568
569    public ImmunizationEvaluation addDoseStatusReason(CodeableConcept t) { //3
570      if (t == null)
571        return this;
572      if (this.doseStatusReason == null)
573        this.doseStatusReason = new ArrayList<CodeableConcept>();
574      this.doseStatusReason.add(t);
575      return this;
576    }
577
578    /**
579     * @return The first repetition of repeating field {@link #doseStatusReason}, creating it if it does not already exist {3}
580     */
581    public CodeableConcept getDoseStatusReasonFirstRep() { 
582      if (getDoseStatusReason().isEmpty()) {
583        addDoseStatusReason();
584      }
585      return getDoseStatusReason().get(0);
586    }
587
588    /**
589     * @return {@link #description} (Additional information about the evaluation.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value
590     */
591    public MarkdownType getDescriptionElement() { 
592      if (this.description == null)
593        if (Configuration.errorOnAutoCreate())
594          throw new Error("Attempt to auto-create ImmunizationEvaluation.description");
595        else if (Configuration.doAutoCreate())
596          this.description = new MarkdownType(); // bb
597      return this.description;
598    }
599
600    public boolean hasDescriptionElement() { 
601      return this.description != null && !this.description.isEmpty();
602    }
603
604    public boolean hasDescription() { 
605      return this.description != null && !this.description.isEmpty();
606    }
607
608    /**
609     * @param value {@link #description} (Additional information about the evaluation.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value
610     */
611    public ImmunizationEvaluation setDescriptionElement(MarkdownType value) { 
612      this.description = value;
613      return this;
614    }
615
616    /**
617     * @return Additional information about the evaluation.
618     */
619    public String getDescription() { 
620      return this.description == null ? null : this.description.getValue();
621    }
622
623    /**
624     * @param value Additional information about the evaluation.
625     */
626    public ImmunizationEvaluation setDescription(String value) { 
627      if (Utilities.noString(value))
628        this.description = null;
629      else {
630        if (this.description == null)
631          this.description = new MarkdownType();
632        this.description.setValue(value);
633      }
634      return this;
635    }
636
637    /**
638     * @return {@link #series} (One possible path to achieve presumed immunity against a disease - within the context of an authority.). This is the underlying object with id, value and extensions. The accessor "getSeries" gives direct access to the value
639     */
640    public StringType getSeriesElement() { 
641      if (this.series == null)
642        if (Configuration.errorOnAutoCreate())
643          throw new Error("Attempt to auto-create ImmunizationEvaluation.series");
644        else if (Configuration.doAutoCreate())
645          this.series = new StringType(); // bb
646      return this.series;
647    }
648
649    public boolean hasSeriesElement() { 
650      return this.series != null && !this.series.isEmpty();
651    }
652
653    public boolean hasSeries() { 
654      return this.series != null && !this.series.isEmpty();
655    }
656
657    /**
658     * @param value {@link #series} (One possible path to achieve presumed immunity against a disease - within the context of an authority.). This is the underlying object with id, value and extensions. The accessor "getSeries" gives direct access to the value
659     */
660    public ImmunizationEvaluation setSeriesElement(StringType value) { 
661      this.series = value;
662      return this;
663    }
664
665    /**
666     * @return One possible path to achieve presumed immunity against a disease - within the context of an authority.
667     */
668    public String getSeries() { 
669      return this.series == null ? null : this.series.getValue();
670    }
671
672    /**
673     * @param value One possible path to achieve presumed immunity against a disease - within the context of an authority.
674     */
675    public ImmunizationEvaluation setSeries(String value) { 
676      if (Utilities.noString(value))
677        this.series = null;
678      else {
679        if (this.series == null)
680          this.series = new StringType();
681        this.series.setValue(value);
682      }
683      return this;
684    }
685
686    /**
687     * @return {@link #doseNumber} (Nominal position in a series as determined by the outcome of the evaluation process.). This is the underlying object with id, value and extensions. The accessor "getDoseNumber" gives direct access to the value
688     */
689    public StringType getDoseNumberElement() { 
690      if (this.doseNumber == null)
691        if (Configuration.errorOnAutoCreate())
692          throw new Error("Attempt to auto-create ImmunizationEvaluation.doseNumber");
693        else if (Configuration.doAutoCreate())
694          this.doseNumber = new StringType(); // bb
695      return this.doseNumber;
696    }
697
698    public boolean hasDoseNumberElement() { 
699      return this.doseNumber != null && !this.doseNumber.isEmpty();
700    }
701
702    public boolean hasDoseNumber() { 
703      return this.doseNumber != null && !this.doseNumber.isEmpty();
704    }
705
706    /**
707     * @param value {@link #doseNumber} (Nominal position in a series as determined by the outcome of the evaluation process.). This is the underlying object with id, value and extensions. The accessor "getDoseNumber" gives direct access to the value
708     */
709    public ImmunizationEvaluation setDoseNumberElement(StringType value) { 
710      this.doseNumber = value;
711      return this;
712    }
713
714    /**
715     * @return Nominal position in a series as determined by the outcome of the evaluation process.
716     */
717    public String getDoseNumber() { 
718      return this.doseNumber == null ? null : this.doseNumber.getValue();
719    }
720
721    /**
722     * @param value Nominal position in a series as determined by the outcome of the evaluation process.
723     */
724    public ImmunizationEvaluation setDoseNumber(String value) { 
725      if (Utilities.noString(value))
726        this.doseNumber = null;
727      else {
728        if (this.doseNumber == null)
729          this.doseNumber = new StringType();
730        this.doseNumber.setValue(value);
731      }
732      return this;
733    }
734
735    /**
736     * @return {@link #seriesDoses} (The recommended number of doses to achieve immunity as determined by the outcome of the evaluation process.). This is the underlying object with id, value and extensions. The accessor "getSeriesDoses" gives direct access to the value
737     */
738    public StringType getSeriesDosesElement() { 
739      if (this.seriesDoses == null)
740        if (Configuration.errorOnAutoCreate())
741          throw new Error("Attempt to auto-create ImmunizationEvaluation.seriesDoses");
742        else if (Configuration.doAutoCreate())
743          this.seriesDoses = new StringType(); // bb
744      return this.seriesDoses;
745    }
746
747    public boolean hasSeriesDosesElement() { 
748      return this.seriesDoses != null && !this.seriesDoses.isEmpty();
749    }
750
751    public boolean hasSeriesDoses() { 
752      return this.seriesDoses != null && !this.seriesDoses.isEmpty();
753    }
754
755    /**
756     * @param value {@link #seriesDoses} (The recommended number of doses to achieve immunity as determined by the outcome of the evaluation process.). This is the underlying object with id, value and extensions. The accessor "getSeriesDoses" gives direct access to the value
757     */
758    public ImmunizationEvaluation setSeriesDosesElement(StringType value) { 
759      this.seriesDoses = value;
760      return this;
761    }
762
763    /**
764     * @return The recommended number of doses to achieve immunity as determined by the outcome of the evaluation process.
765     */
766    public String getSeriesDoses() { 
767      return this.seriesDoses == null ? null : this.seriesDoses.getValue();
768    }
769
770    /**
771     * @param value The recommended number of doses to achieve immunity as determined by the outcome of the evaluation process.
772     */
773    public ImmunizationEvaluation setSeriesDoses(String value) { 
774      if (Utilities.noString(value))
775        this.seriesDoses = null;
776      else {
777        if (this.seriesDoses == null)
778          this.seriesDoses = new StringType();
779        this.seriesDoses.setValue(value);
780      }
781      return this;
782    }
783
784      protected void listChildren(List<Property> children) {
785        super.listChildren(children);
786        children.add(new Property("identifier", "Identifier", "A unique identifier assigned to this immunization evaluation record.", 0, java.lang.Integer.MAX_VALUE, identifier));
787        children.add(new Property("status", "code", "Indicates the current status of the evaluation of the vaccination administration event.", 0, 1, status));
788        children.add(new Property("patient", "Reference(Patient)", "The individual for whom the evaluation is being done.", 0, 1, patient));
789        children.add(new Property("date", "dateTime", "The date the evaluation of the vaccine administration event was performed.", 0, 1, date));
790        children.add(new Property("authority", "Reference(Organization)", "Indicates the authority who published the protocol (e.g. ACIP).", 0, 1, authority));
791        children.add(new Property("targetDisease", "CodeableConcept", "The vaccine preventable disease the dose is being evaluated against.", 0, 1, targetDisease));
792        children.add(new Property("immunizationEvent", "Reference(Immunization)", "The vaccine administration event being evaluated.", 0, 1, immunizationEvent));
793        children.add(new Property("doseStatus", "CodeableConcept", "Indicates if the dose is valid or not valid with respect to the published recommendations.", 0, 1, doseStatus));
794        children.add(new Property("doseStatusReason", "CodeableConcept", "Provides an explanation as to why the vaccine administration event is valid or not relative to the published recommendations.", 0, java.lang.Integer.MAX_VALUE, doseStatusReason));
795        children.add(new Property("description", "markdown", "Additional information about the evaluation.", 0, 1, description));
796        children.add(new Property("series", "string", "One possible path to achieve presumed immunity against a disease - within the context of an authority.", 0, 1, series));
797        children.add(new Property("doseNumber", "string", "Nominal position in a series as determined by the outcome of the evaluation process.", 0, 1, doseNumber));
798        children.add(new Property("seriesDoses", "string", "The recommended number of doses to achieve immunity as determined by the outcome of the evaluation process.", 0, 1, seriesDoses));
799      }
800
801      @Override
802      public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
803        switch (_hash) {
804        case -1618432855: /*identifier*/  return new Property("identifier", "Identifier", "A unique identifier assigned to this immunization evaluation record.", 0, java.lang.Integer.MAX_VALUE, identifier);
805        case -892481550: /*status*/  return new Property("status", "code", "Indicates the current status of the evaluation of the vaccination administration event.", 0, 1, status);
806        case -791418107: /*patient*/  return new Property("patient", "Reference(Patient)", "The individual for whom the evaluation is being done.", 0, 1, patient);
807        case 3076014: /*date*/  return new Property("date", "dateTime", "The date the evaluation of the vaccine administration event was performed.", 0, 1, date);
808        case 1475610435: /*authority*/  return new Property("authority", "Reference(Organization)", "Indicates the authority who published the protocol (e.g. ACIP).", 0, 1, authority);
809        case -319593813: /*targetDisease*/  return new Property("targetDisease", "CodeableConcept", "The vaccine preventable disease the dose is being evaluated against.", 0, 1, targetDisease);
810        case 1081446840: /*immunizationEvent*/  return new Property("immunizationEvent", "Reference(Immunization)", "The vaccine administration event being evaluated.", 0, 1, immunizationEvent);
811        case -745826705: /*doseStatus*/  return new Property("doseStatus", "CodeableConcept", "Indicates if the dose is valid or not valid with respect to the published recommendations.", 0, 1, doseStatus);
812        case 662783379: /*doseStatusReason*/  return new Property("doseStatusReason", "CodeableConcept", "Provides an explanation as to why the vaccine administration event is valid or not relative to the published recommendations.", 0, java.lang.Integer.MAX_VALUE, doseStatusReason);
813        case -1724546052: /*description*/  return new Property("description", "markdown", "Additional information about the evaluation.", 0, 1, description);
814        case -905838985: /*series*/  return new Property("series", "string", "One possible path to achieve presumed immunity against a disease - within the context of an authority.", 0, 1, series);
815        case -887709242: /*doseNumber*/  return new Property("doseNumber", "string", "Nominal position in a series as determined by the outcome of the evaluation process.", 0, 1, doseNumber);
816        case -1936727105: /*seriesDoses*/  return new Property("seriesDoses", "string", "The recommended number of doses to achieve immunity as determined by the outcome of the evaluation process.", 0, 1, seriesDoses);
817        default: return super.getNamedProperty(_hash, _name, _checkValid);
818        }
819
820      }
821
822      @Override
823      public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
824        switch (hash) {
825        case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier
826        case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<ImmunizationEvaluationStatusCodes>
827        case -791418107: /*patient*/ return this.patient == null ? new Base[0] : new Base[] {this.patient}; // Reference
828        case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType
829        case 1475610435: /*authority*/ return this.authority == null ? new Base[0] : new Base[] {this.authority}; // Reference
830        case -319593813: /*targetDisease*/ return this.targetDisease == null ? new Base[0] : new Base[] {this.targetDisease}; // CodeableConcept
831        case 1081446840: /*immunizationEvent*/ return this.immunizationEvent == null ? new Base[0] : new Base[] {this.immunizationEvent}; // Reference
832        case -745826705: /*doseStatus*/ return this.doseStatus == null ? new Base[0] : new Base[] {this.doseStatus}; // CodeableConcept
833        case 662783379: /*doseStatusReason*/ return this.doseStatusReason == null ? new Base[0] : this.doseStatusReason.toArray(new Base[this.doseStatusReason.size()]); // CodeableConcept
834        case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType
835        case -905838985: /*series*/ return this.series == null ? new Base[0] : new Base[] {this.series}; // StringType
836        case -887709242: /*doseNumber*/ return this.doseNumber == null ? new Base[0] : new Base[] {this.doseNumber}; // StringType
837        case -1936727105: /*seriesDoses*/ return this.seriesDoses == null ? new Base[0] : new Base[] {this.seriesDoses}; // StringType
838        default: return super.getProperty(hash, name, checkValid);
839        }
840
841      }
842
843      @Override
844      public Base setProperty(int hash, String name, Base value) throws FHIRException {
845        switch (hash) {
846        case -1618432855: // identifier
847          this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier
848          return value;
849        case -892481550: // status
850          value = new ImmunizationEvaluationStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value));
851          this.status = (Enumeration) value; // Enumeration<ImmunizationEvaluationStatusCodes>
852          return value;
853        case -791418107: // patient
854          this.patient = TypeConvertor.castToReference(value); // Reference
855          return value;
856        case 3076014: // date
857          this.date = TypeConvertor.castToDateTime(value); // DateTimeType
858          return value;
859        case 1475610435: // authority
860          this.authority = TypeConvertor.castToReference(value); // Reference
861          return value;
862        case -319593813: // targetDisease
863          this.targetDisease = TypeConvertor.castToCodeableConcept(value); // CodeableConcept
864          return value;
865        case 1081446840: // immunizationEvent
866          this.immunizationEvent = TypeConvertor.castToReference(value); // Reference
867          return value;
868        case -745826705: // doseStatus
869          this.doseStatus = TypeConvertor.castToCodeableConcept(value); // CodeableConcept
870          return value;
871        case 662783379: // doseStatusReason
872          this.getDoseStatusReason().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept
873          return value;
874        case -1724546052: // description
875          this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
876          return value;
877        case -905838985: // series
878          this.series = TypeConvertor.castToString(value); // StringType
879          return value;
880        case -887709242: // doseNumber
881          this.doseNumber = TypeConvertor.castToString(value); // StringType
882          return value;
883        case -1936727105: // seriesDoses
884          this.seriesDoses = TypeConvertor.castToString(value); // StringType
885          return value;
886        default: return super.setProperty(hash, name, value);
887        }
888
889      }
890
891      @Override
892      public Base setProperty(String name, Base value) throws FHIRException {
893        if (name.equals("identifier")) {
894          this.getIdentifier().add(TypeConvertor.castToIdentifier(value));
895        } else if (name.equals("status")) {
896          value = new ImmunizationEvaluationStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value));
897          this.status = (Enumeration) value; // Enumeration<ImmunizationEvaluationStatusCodes>
898        } else if (name.equals("patient")) {
899          this.patient = TypeConvertor.castToReference(value); // Reference
900        } else if (name.equals("date")) {
901          this.date = TypeConvertor.castToDateTime(value); // DateTimeType
902        } else if (name.equals("authority")) {
903          this.authority = TypeConvertor.castToReference(value); // Reference
904        } else if (name.equals("targetDisease")) {
905          this.targetDisease = TypeConvertor.castToCodeableConcept(value); // CodeableConcept
906        } else if (name.equals("immunizationEvent")) {
907          this.immunizationEvent = TypeConvertor.castToReference(value); // Reference
908        } else if (name.equals("doseStatus")) {
909          this.doseStatus = TypeConvertor.castToCodeableConcept(value); // CodeableConcept
910        } else if (name.equals("doseStatusReason")) {
911          this.getDoseStatusReason().add(TypeConvertor.castToCodeableConcept(value));
912        } else if (name.equals("description")) {
913          this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
914        } else if (name.equals("series")) {
915          this.series = TypeConvertor.castToString(value); // StringType
916        } else if (name.equals("doseNumber")) {
917          this.doseNumber = TypeConvertor.castToString(value); // StringType
918        } else if (name.equals("seriesDoses")) {
919          this.seriesDoses = TypeConvertor.castToString(value); // StringType
920        } else
921          return super.setProperty(name, value);
922        return value;
923      }
924
925  @Override
926  public void removeChild(String name, Base value) throws FHIRException {
927        if (name.equals("identifier")) {
928          this.getIdentifier().remove(value);
929        } else if (name.equals("status")) {
930          value = new ImmunizationEvaluationStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value));
931          this.status = (Enumeration) value; // Enumeration<ImmunizationEvaluationStatusCodes>
932        } else if (name.equals("patient")) {
933          this.patient = null;
934        } else if (name.equals("date")) {
935          this.date = null;
936        } else if (name.equals("authority")) {
937          this.authority = null;
938        } else if (name.equals("targetDisease")) {
939          this.targetDisease = null;
940        } else if (name.equals("immunizationEvent")) {
941          this.immunizationEvent = null;
942        } else if (name.equals("doseStatus")) {
943          this.doseStatus = null;
944        } else if (name.equals("doseStatusReason")) {
945          this.getDoseStatusReason().remove(value);
946        } else if (name.equals("description")) {
947          this.description = null;
948        } else if (name.equals("series")) {
949          this.series = null;
950        } else if (name.equals("doseNumber")) {
951          this.doseNumber = null;
952        } else if (name.equals("seriesDoses")) {
953          this.seriesDoses = null;
954        } else
955          super.removeChild(name, value);
956        
957      }
958
959      @Override
960      public Base makeProperty(int hash, String name) throws FHIRException {
961        switch (hash) {
962        case -1618432855:  return addIdentifier(); 
963        case -892481550:  return getStatusElement();
964        case -791418107:  return getPatient();
965        case 3076014:  return getDateElement();
966        case 1475610435:  return getAuthority();
967        case -319593813:  return getTargetDisease();
968        case 1081446840:  return getImmunizationEvent();
969        case -745826705:  return getDoseStatus();
970        case 662783379:  return addDoseStatusReason(); 
971        case -1724546052:  return getDescriptionElement();
972        case -905838985:  return getSeriesElement();
973        case -887709242:  return getDoseNumberElement();
974        case -1936727105:  return getSeriesDosesElement();
975        default: return super.makeProperty(hash, name);
976        }
977
978      }
979
980      @Override
981      public String[] getTypesForProperty(int hash, String name) throws FHIRException {
982        switch (hash) {
983        case -1618432855: /*identifier*/ return new String[] {"Identifier"};
984        case -892481550: /*status*/ return new String[] {"code"};
985        case -791418107: /*patient*/ return new String[] {"Reference"};
986        case 3076014: /*date*/ return new String[] {"dateTime"};
987        case 1475610435: /*authority*/ return new String[] {"Reference"};
988        case -319593813: /*targetDisease*/ return new String[] {"CodeableConcept"};
989        case 1081446840: /*immunizationEvent*/ return new String[] {"Reference"};
990        case -745826705: /*doseStatus*/ return new String[] {"CodeableConcept"};
991        case 662783379: /*doseStatusReason*/ return new String[] {"CodeableConcept"};
992        case -1724546052: /*description*/ return new String[] {"markdown"};
993        case -905838985: /*series*/ return new String[] {"string"};
994        case -887709242: /*doseNumber*/ return new String[] {"string"};
995        case -1936727105: /*seriesDoses*/ return new String[] {"string"};
996        default: return super.getTypesForProperty(hash, name);
997        }
998
999      }
1000
1001      @Override
1002      public Base addChild(String name) throws FHIRException {
1003        if (name.equals("identifier")) {
1004          return addIdentifier();
1005        }
1006        else if (name.equals("status")) {
1007          throw new FHIRException("Cannot call addChild on a singleton property ImmunizationEvaluation.status");
1008        }
1009        else if (name.equals("patient")) {
1010          this.patient = new Reference();
1011          return this.patient;
1012        }
1013        else if (name.equals("date")) {
1014          throw new FHIRException("Cannot call addChild on a singleton property ImmunizationEvaluation.date");
1015        }
1016        else if (name.equals("authority")) {
1017          this.authority = new Reference();
1018          return this.authority;
1019        }
1020        else if (name.equals("targetDisease")) {
1021          this.targetDisease = new CodeableConcept();
1022          return this.targetDisease;
1023        }
1024        else if (name.equals("immunizationEvent")) {
1025          this.immunizationEvent = new Reference();
1026          return this.immunizationEvent;
1027        }
1028        else if (name.equals("doseStatus")) {
1029          this.doseStatus = new CodeableConcept();
1030          return this.doseStatus;
1031        }
1032        else if (name.equals("doseStatusReason")) {
1033          return addDoseStatusReason();
1034        }
1035        else if (name.equals("description")) {
1036          throw new FHIRException("Cannot call addChild on a singleton property ImmunizationEvaluation.description");
1037        }
1038        else if (name.equals("series")) {
1039          throw new FHIRException("Cannot call addChild on a singleton property ImmunizationEvaluation.series");
1040        }
1041        else if (name.equals("doseNumber")) {
1042          throw new FHIRException("Cannot call addChild on a singleton property ImmunizationEvaluation.doseNumber");
1043        }
1044        else if (name.equals("seriesDoses")) {
1045          throw new FHIRException("Cannot call addChild on a singleton property ImmunizationEvaluation.seriesDoses");
1046        }
1047        else
1048          return super.addChild(name);
1049      }
1050
1051  public String fhirType() {
1052    return "ImmunizationEvaluation";
1053
1054  }
1055
1056      public ImmunizationEvaluation copy() {
1057        ImmunizationEvaluation dst = new ImmunizationEvaluation();
1058        copyValues(dst);
1059        return dst;
1060      }
1061
1062      public void copyValues(ImmunizationEvaluation dst) {
1063        super.copyValues(dst);
1064        if (identifier != null) {
1065          dst.identifier = new ArrayList<Identifier>();
1066          for (Identifier i : identifier)
1067            dst.identifier.add(i.copy());
1068        };
1069        dst.status = status == null ? null : status.copy();
1070        dst.patient = patient == null ? null : patient.copy();
1071        dst.date = date == null ? null : date.copy();
1072        dst.authority = authority == null ? null : authority.copy();
1073        dst.targetDisease = targetDisease == null ? null : targetDisease.copy();
1074        dst.immunizationEvent = immunizationEvent == null ? null : immunizationEvent.copy();
1075        dst.doseStatus = doseStatus == null ? null : doseStatus.copy();
1076        if (doseStatusReason != null) {
1077          dst.doseStatusReason = new ArrayList<CodeableConcept>();
1078          for (CodeableConcept i : doseStatusReason)
1079            dst.doseStatusReason.add(i.copy());
1080        };
1081        dst.description = description == null ? null : description.copy();
1082        dst.series = series == null ? null : series.copy();
1083        dst.doseNumber = doseNumber == null ? null : doseNumber.copy();
1084        dst.seriesDoses = seriesDoses == null ? null : seriesDoses.copy();
1085      }
1086
1087      protected ImmunizationEvaluation typedCopy() {
1088        return copy();
1089      }
1090
1091      @Override
1092      public boolean equalsDeep(Base other_) {
1093        if (!super.equalsDeep(other_))
1094          return false;
1095        if (!(other_ instanceof ImmunizationEvaluation))
1096          return false;
1097        ImmunizationEvaluation o = (ImmunizationEvaluation) other_;
1098        return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(patient, o.patient, true)
1099           && compareDeep(date, o.date, true) && compareDeep(authority, o.authority, true) && compareDeep(targetDisease, o.targetDisease, true)
1100           && compareDeep(immunizationEvent, o.immunizationEvent, true) && compareDeep(doseStatus, o.doseStatus, true)
1101           && compareDeep(doseStatusReason, o.doseStatusReason, true) && compareDeep(description, o.description, true)
1102           && compareDeep(series, o.series, true) && compareDeep(doseNumber, o.doseNumber, true) && compareDeep(seriesDoses, o.seriesDoses, true)
1103          ;
1104      }
1105
1106      @Override
1107      public boolean equalsShallow(Base other_) {
1108        if (!super.equalsShallow(other_))
1109          return false;
1110        if (!(other_ instanceof ImmunizationEvaluation))
1111          return false;
1112        ImmunizationEvaluation o = (ImmunizationEvaluation) other_;
1113        return compareValues(status, o.status, true) && compareValues(date, o.date, true) && compareValues(description, o.description, true)
1114           && compareValues(series, o.series, true) && compareValues(doseNumber, o.doseNumber, true) && compareValues(seriesDoses, o.seriesDoses, true)
1115          ;
1116      }
1117
1118      public boolean isEmpty() {
1119        return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, patient
1120          , date, authority, targetDisease, immunizationEvent, doseStatus, doseStatusReason
1121          , description, series, doseNumber, seriesDoses);
1122      }
1123
1124  @Override
1125  public ResourceType getResourceType() {
1126    return ResourceType.ImmunizationEvaluation;
1127   }
1128
1129 /**
1130   * Search parameter: <b>dose-status</b>
1131   * <p>
1132   * Description: <b>The status of the dose relative to published recommendations</b><br>
1133   * Type: <b>token</b><br>
1134   * Path: <b>ImmunizationEvaluation.doseStatus</b><br>
1135   * </p>
1136   */
1137  @SearchParamDefinition(name="dose-status", path="ImmunizationEvaluation.doseStatus", description="The status of the dose relative to published recommendations", type="token" )
1138  public static final String SP_DOSE_STATUS = "dose-status";
1139 /**
1140   * <b>Fluent Client</b> search parameter constant for <b>dose-status</b>
1141   * <p>
1142   * Description: <b>The status of the dose relative to published recommendations</b><br>
1143   * Type: <b>token</b><br>
1144   * Path: <b>ImmunizationEvaluation.doseStatus</b><br>
1145   * </p>
1146   */
1147  public static final ca.uhn.fhir.rest.gclient.TokenClientParam DOSE_STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_DOSE_STATUS);
1148
1149 /**
1150   * Search parameter: <b>immunization-event</b>
1151   * <p>
1152   * Description: <b>The vaccine administration event being evaluated</b><br>
1153   * Type: <b>reference</b><br>
1154   * Path: <b>ImmunizationEvaluation.immunizationEvent</b><br>
1155   * </p>
1156   */
1157  @SearchParamDefinition(name="immunization-event", path="ImmunizationEvaluation.immunizationEvent", description="The vaccine administration event being evaluated", type="reference", target={Immunization.class } )
1158  public static final String SP_IMMUNIZATION_EVENT = "immunization-event";
1159 /**
1160   * <b>Fluent Client</b> search parameter constant for <b>immunization-event</b>
1161   * <p>
1162   * Description: <b>The vaccine administration event being evaluated</b><br>
1163   * Type: <b>reference</b><br>
1164   * Path: <b>ImmunizationEvaluation.immunizationEvent</b><br>
1165   * </p>
1166   */
1167  public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam IMMUNIZATION_EVENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_IMMUNIZATION_EVENT);
1168
1169/**
1170   * Constant for fluent queries to be used to add include statements. Specifies
1171   * the path value of "<b>ImmunizationEvaluation:immunization-event</b>".
1172   */
1173  public static final ca.uhn.fhir.model.api.Include INCLUDE_IMMUNIZATION_EVENT = new ca.uhn.fhir.model.api.Include("ImmunizationEvaluation:immunization-event").toLocked();
1174
1175 /**
1176   * Search parameter: <b>status</b>
1177   * <p>
1178   * Description: <b>Immunization evaluation status</b><br>
1179   * Type: <b>token</b><br>
1180   * Path: <b>ImmunizationEvaluation.status</b><br>
1181   * </p>
1182   */
1183  @SearchParamDefinition(name="status", path="ImmunizationEvaluation.status", description="Immunization evaluation status", type="token" )
1184  public static final String SP_STATUS = "status";
1185 /**
1186   * <b>Fluent Client</b> search parameter constant for <b>status</b>
1187   * <p>
1188   * Description: <b>Immunization evaluation status</b><br>
1189   * Type: <b>token</b><br>
1190   * Path: <b>ImmunizationEvaluation.status</b><br>
1191   * </p>
1192   */
1193  public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS);
1194
1195 /**
1196   * Search parameter: <b>target-disease</b>
1197   * <p>
1198   * Description: <b>The vaccine preventable disease being evaluated against</b><br>
1199   * Type: <b>token</b><br>
1200   * Path: <b>ImmunizationEvaluation.targetDisease</b><br>
1201   * </p>
1202   */
1203  @SearchParamDefinition(name="target-disease", path="ImmunizationEvaluation.targetDisease", description="The vaccine preventable disease being evaluated against", type="token" )
1204  public static final String SP_TARGET_DISEASE = "target-disease";
1205 /**
1206   * <b>Fluent Client</b> search parameter constant for <b>target-disease</b>
1207   * <p>
1208   * Description: <b>The vaccine preventable disease being evaluated against</b><br>
1209   * Type: <b>token</b><br>
1210   * Path: <b>ImmunizationEvaluation.targetDisease</b><br>
1211   * </p>
1212   */
1213  public static final ca.uhn.fhir.rest.gclient.TokenClientParam TARGET_DISEASE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TARGET_DISEASE);
1214
1215 /**
1216   * Search parameter: <b>date</b>
1217   * <p>
1218   * Description: <b>Multiple Resources: 
1219
1220* [AdverseEvent](adverseevent.html): When the event occurred
1221* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded
1222* [Appointment](appointment.html): Appointment date/time.
1223* [AuditEvent](auditevent.html): Time when the event was recorded
1224* [CarePlan](careplan.html): Time period plan covers
1225* [CareTeam](careteam.html): A date within the coverage time period.
1226* [ClinicalImpression](clinicalimpression.html): When the assessment was documented
1227* [Composition](composition.html): Composition editing time
1228* [Consent](consent.html): When consent was agreed to
1229* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report
1230* [DocumentReference](documentreference.html): When this document reference was created
1231* [Encounter](encounter.html): A date within the actualPeriod the Encounter lasted
1232* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period
1233* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated
1234* [Flag](flag.html): Time period when flag is active
1235* [Immunization](immunization.html): Vaccination  (non)-Administration Date
1236* [ImmunizationEvaluation](immunizationevaluation.html): Date the evaluation was generated
1237* [ImmunizationRecommendation](immunizationrecommendation.html): Date recommendation(s) created
1238* [Invoice](invoice.html): Invoice date / posting date
1239* [List](list.html): When the list was prepared
1240* [MeasureReport](measurereport.html): The date of the measure report
1241* [NutritionIntake](nutritionintake.html): Date when patient was taking (or not taking) the medication
1242* [Observation](observation.html): Clinically relevant time/time-period for observation
1243* [Procedure](procedure.html): When the procedure occurred or is occurring
1244* [ResearchSubject](researchsubject.html): Start and end of participation
1245* [RiskAssessment](riskassessment.html): When was assessment made?
1246* [SupplyRequest](supplyrequest.html): When the request was made
1247</b><br>
1248   * Type: <b>date</b><br>
1249   * Path: <b>AdverseEvent.occurrence.ofType(dateTime) | AdverseEvent.occurrence.ofType(Period) | AdverseEvent.occurrence.ofType(Timing) | AllergyIntolerance.recordedDate | (start | requestedPeriod.start).first() | AuditEvent.recorded | CarePlan.period | ClinicalImpression.date | Composition.date | Consent.date | DiagnosticReport.effective.ofType(dateTime) | DiagnosticReport.effective.ofType(Period) | DocumentReference.date | Encounter.actualPeriod | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | (Immunization.occurrence.ofType(dateTime)) | ImmunizationEvaluation.date | ImmunizationRecommendation.date | Invoice.date | List.date | MeasureReport.date | NutritionIntake.occurrence.ofType(dateTime) | NutritionIntake.occurrence.ofType(Period) | Observation.effective.ofType(dateTime) | Observation.effective.ofType(Period) | Observation.effective.ofType(Timing) | Observation.effective.ofType(instant) | Procedure.occurrence.ofType(dateTime) | Procedure.occurrence.ofType(Period) | Procedure.occurrence.ofType(Timing) | ResearchSubject.period | (RiskAssessment.occurrence.ofType(dateTime)) | SupplyRequest.authoredOn</b><br>
1250   * </p>
1251   */
1252  @SearchParamDefinition(name="date", path="AdverseEvent.occurrence.ofType(dateTime) | AdverseEvent.occurrence.ofType(Period) | AdverseEvent.occurrence.ofType(Timing) | AllergyIntolerance.recordedDate | (start | requestedPeriod.start).first() | AuditEvent.recorded | CarePlan.period | ClinicalImpression.date | Composition.date | Consent.date | DiagnosticReport.effective.ofType(dateTime) | DiagnosticReport.effective.ofType(Period) | DocumentReference.date | Encounter.actualPeriod | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | (Immunization.occurrence.ofType(dateTime)) | ImmunizationEvaluation.date | ImmunizationRecommendation.date | Invoice.date | List.date | MeasureReport.date | NutritionIntake.occurrence.ofType(dateTime) | NutritionIntake.occurrence.ofType(Period) | Observation.effective.ofType(dateTime) | Observation.effective.ofType(Period) | Observation.effective.ofType(Timing) | Observation.effective.ofType(instant) | Procedure.occurrence.ofType(dateTime) | Procedure.occurrence.ofType(Period) | Procedure.occurrence.ofType(Timing) | ResearchSubject.period | (RiskAssessment.occurrence.ofType(dateTime)) | SupplyRequest.authoredOn", description="Multiple Resources: \r\n\r\n* [AdverseEvent](adverseevent.html): When the event occurred\r\n* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded\r\n* [Appointment](appointment.html): Appointment date/time.\r\n* [AuditEvent](auditevent.html): Time when the event was recorded\r\n* [CarePlan](careplan.html): Time period plan covers\r\n* [CareTeam](careteam.html): A date within the coverage time period.\r\n* [ClinicalImpression](clinicalimpression.html): When the assessment was documented\r\n* [Composition](composition.html): Composition editing time\r\n* [Consent](consent.html): When consent was agreed to\r\n* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report\r\n* [DocumentReference](documentreference.html): When this document reference was created\r\n* [Encounter](encounter.html): A date within the actualPeriod the Encounter lasted\r\n* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period\r\n* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated\r\n* [Flag](flag.html): Time period when flag is active\r\n* [Immunization](immunization.html): Vaccination  (non)-Administration Date\r\n* [ImmunizationEvaluation](immunizationevaluation.html): Date the evaluation was generated\r\n* [ImmunizationRecommendation](immunizationrecommendation.html): Date recommendation(s) created\r\n* [Invoice](invoice.html): Invoice date / posting date\r\n* [List](list.html): When the list was prepared\r\n* [MeasureReport](measurereport.html): The date of the measure report\r\n* [NutritionIntake](nutritionintake.html): Date when patient was taking (or not taking) the medication\r\n* [Observation](observation.html): Clinically relevant time/time-period for observation\r\n* [Procedure](procedure.html): When the procedure occurred or is occurring\r\n* [ResearchSubject](researchsubject.html): Start and end of participation\r\n* [RiskAssessment](riskassessment.html): When was assessment made?\r\n* [SupplyRequest](supplyrequest.html): When the request was made\r\n", type="date" )
1253  public static final String SP_DATE = "date";
1254 /**
1255   * <b>Fluent Client</b> search parameter constant for <b>date</b>
1256   * <p>
1257   * Description: <b>Multiple Resources: 
1258
1259* [AdverseEvent](adverseevent.html): When the event occurred
1260* [AllergyIntolerance](allergyintolerance.html): Date first version of the resource instance was recorded
1261* [Appointment](appointment.html): Appointment date/time.
1262* [AuditEvent](auditevent.html): Time when the event was recorded
1263* [CarePlan](careplan.html): Time period plan covers
1264* [CareTeam](careteam.html): A date within the coverage time period.
1265* [ClinicalImpression](clinicalimpression.html): When the assessment was documented
1266* [Composition](composition.html): Composition editing time
1267* [Consent](consent.html): When consent was agreed to
1268* [DiagnosticReport](diagnosticreport.html): The clinically relevant time of the report
1269* [DocumentReference](documentreference.html): When this document reference was created
1270* [Encounter](encounter.html): A date within the actualPeriod the Encounter lasted
1271* [EpisodeOfCare](episodeofcare.html): The provided date search value falls within the episode of care's period
1272* [FamilyMemberHistory](familymemberhistory.html): When history was recorded or last updated
1273* [Flag](flag.html): Time period when flag is active
1274* [Immunization](immunization.html): Vaccination  (non)-Administration Date
1275* [ImmunizationEvaluation](immunizationevaluation.html): Date the evaluation was generated
1276* [ImmunizationRecommendation](immunizationrecommendation.html): Date recommendation(s) created
1277* [Invoice](invoice.html): Invoice date / posting date
1278* [List](list.html): When the list was prepared
1279* [MeasureReport](measurereport.html): The date of the measure report
1280* [NutritionIntake](nutritionintake.html): Date when patient was taking (or not taking) the medication
1281* [Observation](observation.html): Clinically relevant time/time-period for observation
1282* [Procedure](procedure.html): When the procedure occurred or is occurring
1283* [ResearchSubject](researchsubject.html): Start and end of participation
1284* [RiskAssessment](riskassessment.html): When was assessment made?
1285* [SupplyRequest](supplyrequest.html): When the request was made
1286</b><br>
1287   * Type: <b>date</b><br>
1288   * Path: <b>AdverseEvent.occurrence.ofType(dateTime) | AdverseEvent.occurrence.ofType(Period) | AdverseEvent.occurrence.ofType(Timing) | AllergyIntolerance.recordedDate | (start | requestedPeriod.start).first() | AuditEvent.recorded | CarePlan.period | ClinicalImpression.date | Composition.date | Consent.date | DiagnosticReport.effective.ofType(dateTime) | DiagnosticReport.effective.ofType(Period) | DocumentReference.date | Encounter.actualPeriod | EpisodeOfCare.period | FamilyMemberHistory.date | Flag.period | (Immunization.occurrence.ofType(dateTime)) | ImmunizationEvaluation.date | ImmunizationRecommendation.date | Invoice.date | List.date | MeasureReport.date | NutritionIntake.occurrence.ofType(dateTime) | NutritionIntake.occurrence.ofType(Period) | Observation.effective.ofType(dateTime) | Observation.effective.ofType(Period) | Observation.effective.ofType(Timing) | Observation.effective.ofType(instant) | Procedure.occurrence.ofType(dateTime) | Procedure.occurrence.ofType(Period) | Procedure.occurrence.ofType(Timing) | ResearchSubject.period | (RiskAssessment.occurrence.ofType(dateTime)) | SupplyRequest.authoredOn</b><br>
1289   * </p>
1290   */
1291  public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE);
1292
1293 /**
1294   * Search parameter: <b>identifier</b>
1295   * <p>
1296   * Description: <b>Multiple Resources: 
1297
1298* [Account](account.html): Account number
1299* [AdverseEvent](adverseevent.html): Business identifier for the event
1300* [AllergyIntolerance](allergyintolerance.html): External ids for this item
1301* [Appointment](appointment.html): An Identifier of the Appointment
1302* [AppointmentResponse](appointmentresponse.html): An Identifier in this appointment response
1303* [Basic](basic.html): Business identifier
1304* [BodyStructure](bodystructure.html): Bodystructure identifier
1305* [CarePlan](careplan.html): External Ids for this plan
1306* [CareTeam](careteam.html): External Ids for this team
1307* [ChargeItem](chargeitem.html): Business Identifier for item
1308* [Claim](claim.html): The primary identifier of the financial resource
1309* [ClaimResponse](claimresponse.html): The identity of the ClaimResponse
1310* [ClinicalImpression](clinicalimpression.html): Business identifier
1311* [Communication](communication.html): Unique identifier
1312* [CommunicationRequest](communicationrequest.html): Unique identifier
1313* [Composition](composition.html): Version-independent identifier for the Composition
1314* [Condition](condition.html): A unique identifier of the condition record
1315* [Consent](consent.html): Identifier for this record (external references)
1316* [Contract](contract.html): The identity of the contract
1317* [Coverage](coverage.html): The primary identifier of the insured and the coverage
1318* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The business identifier of the Eligibility
1319* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The business identifier
1320* [DetectedIssue](detectedissue.html): Unique id for the detected issue
1321* [DeviceRequest](devicerequest.html): Business identifier for request/order
1322* [DeviceUsage](deviceusage.html): Search by identifier
1323* [DiagnosticReport](diagnosticreport.html): An identifier for the report
1324* [DocumentReference](documentreference.html): Identifier of the attachment binary
1325* [Encounter](encounter.html): Identifier(s) by which this encounter is known
1326* [EnrollmentRequest](enrollmentrequest.html): The business identifier of the Enrollment
1327* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare
1328* [ExplanationOfBenefit](explanationofbenefit.html): The business identifier of the Explanation of Benefit
1329* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier
1330* [Flag](flag.html): Business identifier
1331* [Goal](goal.html): External Ids for this goal
1332* [GuidanceResponse](guidanceresponse.html): The identifier of the guidance response
1333* [ImagingSelection](imagingselection.html): Identifiers for the imaging selection
1334* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID
1335* [Immunization](immunization.html): Business identifier
1336* [ImmunizationEvaluation](immunizationevaluation.html): ID of the evaluation
1337* [ImmunizationRecommendation](immunizationrecommendation.html): Business identifier
1338* [Invoice](invoice.html): Business Identifier for item
1339* [List](list.html): Business identifier
1340* [MeasureReport](measurereport.html): External identifier of the measure report to be returned
1341* [Medication](medication.html): Returns medications with this external identifier
1342* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier
1343* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier
1344* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier
1345* [MedicationStatement](medicationstatement.html): Return statements with this external identifier
1346* [MolecularSequence](molecularsequence.html): The unique identity for a particular sequence
1347* [NutritionIntake](nutritionintake.html): Return statements with this external identifier
1348* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier
1349* [Observation](observation.html): The unique id for a particular observation
1350* [Person](person.html): A person Identifier
1351* [Procedure](procedure.html): A unique identifier for a procedure
1352* [QuestionnaireResponse](questionnaireresponse.html): The unique identifier for the questionnaire response
1353* [RelatedPerson](relatedperson.html): An Identifier of the RelatedPerson
1354* [RequestOrchestration](requestorchestration.html): External identifiers for the request orchestration
1355* [ResearchSubject](researchsubject.html): Business Identifier for research subject in a study
1356* [RiskAssessment](riskassessment.html): Unique identifier for the assessment
1357* [ServiceRequest](servicerequest.html): Identifiers assigned to this order
1358* [Specimen](specimen.html): The unique identifier associated with the specimen
1359* [SupplyDelivery](supplydelivery.html): External identifier
1360* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest
1361* [Task](task.html): Search for a task instance by its business identifier
1362* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier
1363</b><br>
1364   * Type: <b>token</b><br>
1365   * Path: <b>Account.identifier | AdverseEvent.identifier | AllergyIntolerance.identifier | Appointment.identifier | AppointmentResponse.identifier | Basic.identifier | BodyStructure.identifier | CarePlan.identifier | CareTeam.identifier | ChargeItem.identifier | Claim.identifier | ClaimResponse.identifier | ClinicalImpression.identifier | Communication.identifier | CommunicationRequest.identifier | Composition.identifier | Condition.identifier | Consent.identifier | Contract.identifier | Coverage.identifier | CoverageEligibilityRequest.identifier | CoverageEligibilityResponse.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DeviceUsage.identifier | DiagnosticReport.identifier | DocumentReference.identifier | Encounter.identifier | EnrollmentRequest.identifier | EpisodeOfCare.identifier | ExplanationOfBenefit.identifier | FamilyMemberHistory.identifier | Flag.identifier | Goal.identifier | GuidanceResponse.identifier | ImagingSelection.identifier | ImagingStudy.identifier | Immunization.identifier | ImmunizationEvaluation.identifier | ImmunizationRecommendation.identifier | Invoice.identifier | List.identifier | MeasureReport.identifier | Medication.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.identifier | MolecularSequence.identifier | NutritionIntake.identifier | NutritionOrder.identifier | Observation.identifier | Person.identifier | Procedure.identifier | QuestionnaireResponse.identifier | RelatedPerson.identifier | RequestOrchestration.identifier | ResearchSubject.identifier | RiskAssessment.identifier | ServiceRequest.identifier | Specimen.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | Task.identifier | VisionPrescription.identifier</b><br>
1366   * </p>
1367   */
1368  @SearchParamDefinition(name="identifier", path="Account.identifier | AdverseEvent.identifier | AllergyIntolerance.identifier | Appointment.identifier | AppointmentResponse.identifier | Basic.identifier | BodyStructure.identifier | CarePlan.identifier | CareTeam.identifier | ChargeItem.identifier | Claim.identifier | ClaimResponse.identifier | ClinicalImpression.identifier | Communication.identifier | CommunicationRequest.identifier | Composition.identifier | Condition.identifier | Consent.identifier | Contract.identifier | Coverage.identifier | CoverageEligibilityRequest.identifier | CoverageEligibilityResponse.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DeviceUsage.identifier | DiagnosticReport.identifier | DocumentReference.identifier | Encounter.identifier | EnrollmentRequest.identifier | EpisodeOfCare.identifier | ExplanationOfBenefit.identifier | FamilyMemberHistory.identifier | Flag.identifier | Goal.identifier | GuidanceResponse.identifier | ImagingSelection.identifier | ImagingStudy.identifier | Immunization.identifier | ImmunizationEvaluation.identifier | ImmunizationRecommendation.identifier | Invoice.identifier | List.identifier | MeasureReport.identifier | Medication.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.identifier | MolecularSequence.identifier | NutritionIntake.identifier | NutritionOrder.identifier | Observation.identifier | Person.identifier | Procedure.identifier | QuestionnaireResponse.identifier | RelatedPerson.identifier | RequestOrchestration.identifier | ResearchSubject.identifier | RiskAssessment.identifier | ServiceRequest.identifier | Specimen.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | Task.identifier | VisionPrescription.identifier", description="Multiple Resources: \r\n\r\n* [Account](account.html): Account number\r\n* [AdverseEvent](adverseevent.html): Business identifier for the event\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [Appointment](appointment.html): An Identifier of the Appointment\r\n* [AppointmentResponse](appointmentresponse.html): An Identifier in this appointment response\r\n* [Basic](basic.html): Business identifier\r\n* [BodyStructure](bodystructure.html): Bodystructure identifier\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [ChargeItem](chargeitem.html): Business Identifier for item\r\n* [Claim](claim.html): The primary identifier of the financial resource\r\n* [ClaimResponse](claimresponse.html): The identity of the ClaimResponse\r\n* [ClinicalImpression](clinicalimpression.html): Business identifier\r\n* [Communication](communication.html): Unique identifier\r\n* [CommunicationRequest](communicationrequest.html): Unique identifier\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* [Contract](contract.html): The identity of the contract\r\n* [Coverage](coverage.html): The primary identifier of the insured and the coverage\r\n* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The business identifier of the Eligibility\r\n* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The business identifier\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DeviceUsage](deviceusage.html): Search by identifier\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\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* [EnrollmentRequest](enrollmentrequest.html): The business identifier of the Enrollment\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [ExplanationOfBenefit](explanationofbenefit.html): The business identifier of the Explanation of Benefit\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Flag](flag.html): Business identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [GuidanceResponse](guidanceresponse.html): The identifier of the guidance response\r\n* [ImagingSelection](imagingselection.html): Identifiers for the imaging selection\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID\r\n* [Immunization](immunization.html): Business identifier\r\n* [ImmunizationEvaluation](immunizationevaluation.html): ID of the evaluation\r\n* [ImmunizationRecommendation](immunizationrecommendation.html): Business identifier\r\n* [Invoice](invoice.html): Business Identifier for item\r\n* [List](list.html): Business identifier\r\n* [MeasureReport](measurereport.html): External identifier of the measure report to be returned\r\n* [Medication](medication.html): Returns medications with this external identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [MolecularSequence](molecularsequence.html): The unique identity for a particular sequence\r\n* [NutritionIntake](nutritionintake.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* [Person](person.html): A person Identifier\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [QuestionnaireResponse](questionnaireresponse.html): The unique identifier for the questionnaire response\r\n* [RelatedPerson](relatedperson.html): An Identifier of the RelatedPerson\r\n* [RequestOrchestration](requestorchestration.html): External identifiers for the request orchestration\r\n* [ResearchSubject](researchsubject.html): Business Identifier for research subject in a study\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [Specimen](specimen.html): The unique identifier associated with the specimen\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [Task](task.html): Search for a task instance by its business identifier\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", type="token" )
1369  public static final String SP_IDENTIFIER = "identifier";
1370 /**
1371   * <b>Fluent Client</b> search parameter constant for <b>identifier</b>
1372   * <p>
1373   * Description: <b>Multiple Resources: 
1374
1375* [Account](account.html): Account number
1376* [AdverseEvent](adverseevent.html): Business identifier for the event
1377* [AllergyIntolerance](allergyintolerance.html): External ids for this item
1378* [Appointment](appointment.html): An Identifier of the Appointment
1379* [AppointmentResponse](appointmentresponse.html): An Identifier in this appointment response
1380* [Basic](basic.html): Business identifier
1381* [BodyStructure](bodystructure.html): Bodystructure identifier
1382* [CarePlan](careplan.html): External Ids for this plan
1383* [CareTeam](careteam.html): External Ids for this team
1384* [ChargeItem](chargeitem.html): Business Identifier for item
1385* [Claim](claim.html): The primary identifier of the financial resource
1386* [ClaimResponse](claimresponse.html): The identity of the ClaimResponse
1387* [ClinicalImpression](clinicalimpression.html): Business identifier
1388* [Communication](communication.html): Unique identifier
1389* [CommunicationRequest](communicationrequest.html): Unique identifier
1390* [Composition](composition.html): Version-independent identifier for the Composition
1391* [Condition](condition.html): A unique identifier of the condition record
1392* [Consent](consent.html): Identifier for this record (external references)
1393* [Contract](contract.html): The identity of the contract
1394* [Coverage](coverage.html): The primary identifier of the insured and the coverage
1395* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The business identifier of the Eligibility
1396* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The business identifier
1397* [DetectedIssue](detectedissue.html): Unique id for the detected issue
1398* [DeviceRequest](devicerequest.html): Business identifier for request/order
1399* [DeviceUsage](deviceusage.html): Search by identifier
1400* [DiagnosticReport](diagnosticreport.html): An identifier for the report
1401* [DocumentReference](documentreference.html): Identifier of the attachment binary
1402* [Encounter](encounter.html): Identifier(s) by which this encounter is known
1403* [EnrollmentRequest](enrollmentrequest.html): The business identifier of the Enrollment
1404* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare
1405* [ExplanationOfBenefit](explanationofbenefit.html): The business identifier of the Explanation of Benefit
1406* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier
1407* [Flag](flag.html): Business identifier
1408* [Goal](goal.html): External Ids for this goal
1409* [GuidanceResponse](guidanceresponse.html): The identifier of the guidance response
1410* [ImagingSelection](imagingselection.html): Identifiers for the imaging selection
1411* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID
1412* [Immunization](immunization.html): Business identifier
1413* [ImmunizationEvaluation](immunizationevaluation.html): ID of the evaluation
1414* [ImmunizationRecommendation](immunizationrecommendation.html): Business identifier
1415* [Invoice](invoice.html): Business Identifier for item
1416* [List](list.html): Business identifier
1417* [MeasureReport](measurereport.html): External identifier of the measure report to be returned
1418* [Medication](medication.html): Returns medications with this external identifier
1419* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier
1420* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier
1421* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier
1422* [MedicationStatement](medicationstatement.html): Return statements with this external identifier
1423* [MolecularSequence](molecularsequence.html): The unique identity for a particular sequence
1424* [NutritionIntake](nutritionintake.html): Return statements with this external identifier
1425* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier
1426* [Observation](observation.html): The unique id for a particular observation
1427* [Person](person.html): A person Identifier
1428* [Procedure](procedure.html): A unique identifier for a procedure
1429* [QuestionnaireResponse](questionnaireresponse.html): The unique identifier for the questionnaire response
1430* [RelatedPerson](relatedperson.html): An Identifier of the RelatedPerson
1431* [RequestOrchestration](requestorchestration.html): External identifiers for the request orchestration
1432* [ResearchSubject](researchsubject.html): Business Identifier for research subject in a study
1433* [RiskAssessment](riskassessment.html): Unique identifier for the assessment
1434* [ServiceRequest](servicerequest.html): Identifiers assigned to this order
1435* [Specimen](specimen.html): The unique identifier associated with the specimen
1436* [SupplyDelivery](supplydelivery.html): External identifier
1437* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest
1438* [Task](task.html): Search for a task instance by its business identifier
1439* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier
1440</b><br>
1441   * Type: <b>token</b><br>
1442   * Path: <b>Account.identifier | AdverseEvent.identifier | AllergyIntolerance.identifier | Appointment.identifier | AppointmentResponse.identifier | Basic.identifier | BodyStructure.identifier | CarePlan.identifier | CareTeam.identifier | ChargeItem.identifier | Claim.identifier | ClaimResponse.identifier | ClinicalImpression.identifier | Communication.identifier | CommunicationRequest.identifier | Composition.identifier | Condition.identifier | Consent.identifier | Contract.identifier | Coverage.identifier | CoverageEligibilityRequest.identifier | CoverageEligibilityResponse.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DeviceUsage.identifier | DiagnosticReport.identifier | DocumentReference.identifier | Encounter.identifier | EnrollmentRequest.identifier | EpisodeOfCare.identifier | ExplanationOfBenefit.identifier | FamilyMemberHistory.identifier | Flag.identifier | Goal.identifier | GuidanceResponse.identifier | ImagingSelection.identifier | ImagingStudy.identifier | Immunization.identifier | ImmunizationEvaluation.identifier | ImmunizationRecommendation.identifier | Invoice.identifier | List.identifier | MeasureReport.identifier | Medication.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.identifier | MolecularSequence.identifier | NutritionIntake.identifier | NutritionOrder.identifier | Observation.identifier | Person.identifier | Procedure.identifier | QuestionnaireResponse.identifier | RelatedPerson.identifier | RequestOrchestration.identifier | ResearchSubject.identifier | RiskAssessment.identifier | ServiceRequest.identifier | Specimen.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | Task.identifier | VisionPrescription.identifier</b><br>
1443   * </p>
1444   */
1445  public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER);
1446
1447 /**
1448   * Search parameter: <b>patient</b>
1449   * <p>
1450   * Description: <b>Multiple Resources: 
1451
1452* [Account](account.html): The entity that caused the expenses
1453* [AdverseEvent](adverseevent.html): Subject impacted by event
1454* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for
1455* [Appointment](appointment.html): One of the individuals of the appointment is this patient
1456* [AppointmentResponse](appointmentresponse.html): This Response is for this Patient
1457* [AuditEvent](auditevent.html): Where the activity involved patient data
1458* [Basic](basic.html): Identifies the focus of this resource
1459* [BodyStructure](bodystructure.html): Who this is about
1460* [CarePlan](careplan.html): Who the care plan is for
1461* [CareTeam](careteam.html): Who care team is for
1462* [ChargeItem](chargeitem.html): Individual service was done for/to
1463* [Claim](claim.html): Patient receiving the products or services
1464* [ClaimResponse](claimresponse.html): The subject of care
1465* [ClinicalImpression](clinicalimpression.html): Patient assessed
1466* [Communication](communication.html): Focus of message
1467* [CommunicationRequest](communicationrequest.html): Focus of message
1468* [Composition](composition.html): Who and/or what the composition is about
1469* [Condition](condition.html): Who has the condition?
1470* [Consent](consent.html): Who the consent applies to
1471* [Contract](contract.html): The identity of the subject of the contract (if a patient)
1472* [Coverage](coverage.html): Retrieve coverages for a patient
1473* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The reference to the patient
1474* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The reference to the patient
1475* [DetectedIssue](detectedissue.html): Associated patient
1476* [DeviceRequest](devicerequest.html): Individual the service is ordered for
1477* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device
1478* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient
1479* [DocumentReference](documentreference.html): Who/what is the subject of the document
1480* [Encounter](encounter.html): The patient present at the encounter
1481* [EnrollmentRequest](enrollmentrequest.html): The party to be enrolled
1482* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care
1483* [ExplanationOfBenefit](explanationofbenefit.html): The reference to the patient
1484* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for
1485* [Flag](flag.html): The identity of a subject to list flags for
1486* [Goal](goal.html): Who this goal is intended for
1487* [GuidanceResponse](guidanceresponse.html): The identity of a patient to search for guidance response results
1488* [ImagingSelection](imagingselection.html): Who the study is about
1489* [ImagingStudy](imagingstudy.html): Who the study is about
1490* [Immunization](immunization.html): The patient for the vaccination record
1491* [ImmunizationEvaluation](immunizationevaluation.html): The patient being evaluated
1492* [ImmunizationRecommendation](immunizationrecommendation.html): Who this profile is for
1493* [Invoice](invoice.html): Recipient(s) of goods and services
1494* [List](list.html): If all resources have the same subject
1495* [MeasureReport](measurereport.html): The identity of a patient to search for individual measure report results for
1496* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations  for
1497* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses  for
1498* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient
1499* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.
1500* [MolecularSequence](molecularsequence.html): The subject that the sequence is about
1501* [NutritionIntake](nutritionintake.html): Returns statements for a specific patient.
1502* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement
1503* [Observation](observation.html): The subject that the observation is about (if patient)
1504* [Person](person.html): The Person links to this Patient
1505* [Procedure](procedure.html): Search by subject - a patient
1506* [Provenance](provenance.html): Where the activity involved patient data
1507* [QuestionnaireResponse](questionnaireresponse.html): The patient that is the subject of the questionnaire response
1508* [RelatedPerson](relatedperson.html): The patient this related person is related to
1509* [RequestOrchestration](requestorchestration.html): The identity of a patient to search for request orchestrations
1510* [ResearchSubject](researchsubject.html): Who or what is part of study
1511* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?
1512* [ServiceRequest](servicerequest.html): Search by subject - a patient
1513* [Specimen](specimen.html): The patient the specimen comes from
1514* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied
1515* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined
1516* [Task](task.html): Search by patient
1517* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
1518</b><br>
1519   * Type: <b>reference</b><br>
1520   * Path: <b>Account.subject.where(resolve() is Patient) | AdverseEvent.subject.where(resolve() is Patient) | AllergyIntolerance.patient | Appointment.participant.actor.where(resolve() is Patient) | Appointment.subject.where(resolve() is Patient) | AppointmentResponse.actor.where(resolve() is Patient) | AuditEvent.patient | Basic.subject.where(resolve() is Patient) | BodyStructure.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ChargeItem.subject.where(resolve() is Patient) | Claim.patient | ClaimResponse.patient | ClinicalImpression.subject.where(resolve() is Patient) | Communication.subject.where(resolve() is Patient) | CommunicationRequest.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | Contract.subject.where(resolve() is Patient) | Coverage.beneficiary | CoverageEligibilityRequest.patient | CoverageEligibilityResponse.patient | DetectedIssue.subject.where(resolve() is Patient) | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EnrollmentRequest.candidate | EpisodeOfCare.patient | ExplanationOfBenefit.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | GuidanceResponse.subject.where(resolve() is Patient) | ImagingSelection.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | ImmunizationEvaluation.patient | ImmunizationRecommendation.patient | Invoice.subject.where(resolve() is Patient) | List.subject.where(resolve() is Patient) | MeasureReport.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationStatement.subject.where(resolve() is Patient) | MolecularSequence.subject.where(resolve() is Patient) | NutritionIntake.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Person.link.target.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | Provenance.patient | QuestionnaireResponse.subject.where(resolve() is Patient) | RelatedPerson.patient | RequestOrchestration.subject.where(resolve() is Patient) | ResearchSubject.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | Specimen.subject.where(resolve() is Patient) | SupplyDelivery.patient | SupplyRequest.deliverFor | Task.for.where(resolve() is Patient) | VisionPrescription.patient</b><br>
1521   * </p>
1522   */
1523  @SearchParamDefinition(name="patient", path="Account.subject.where(resolve() is Patient) | AdverseEvent.subject.where(resolve() is Patient) | AllergyIntolerance.patient | Appointment.participant.actor.where(resolve() is Patient) | Appointment.subject.where(resolve() is Patient) | AppointmentResponse.actor.where(resolve() is Patient) | AuditEvent.patient | Basic.subject.where(resolve() is Patient) | BodyStructure.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ChargeItem.subject.where(resolve() is Patient) | Claim.patient | ClaimResponse.patient | ClinicalImpression.subject.where(resolve() is Patient) | Communication.subject.where(resolve() is Patient) | CommunicationRequest.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | Contract.subject.where(resolve() is Patient) | Coverage.beneficiary | CoverageEligibilityRequest.patient | CoverageEligibilityResponse.patient | DetectedIssue.subject.where(resolve() is Patient) | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EnrollmentRequest.candidate | EpisodeOfCare.patient | ExplanationOfBenefit.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | GuidanceResponse.subject.where(resolve() is Patient) | ImagingSelection.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | ImmunizationEvaluation.patient | ImmunizationRecommendation.patient | Invoice.subject.where(resolve() is Patient) | List.subject.where(resolve() is Patient) | MeasureReport.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationStatement.subject.where(resolve() is Patient) | MolecularSequence.subject.where(resolve() is Patient) | NutritionIntake.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Person.link.target.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | Provenance.patient | QuestionnaireResponse.subject.where(resolve() is Patient) | RelatedPerson.patient | RequestOrchestration.subject.where(resolve() is Patient) | ResearchSubject.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | Specimen.subject.where(resolve() is Patient) | SupplyDelivery.patient | SupplyRequest.deliverFor | Task.for.where(resolve() is Patient) | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [Account](account.html): The entity that caused the expenses\r\n* [AdverseEvent](adverseevent.html): Subject impacted by event\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [Appointment](appointment.html): One of the individuals of the appointment is this patient\r\n* [AppointmentResponse](appointmentresponse.html): This Response is for this Patient\r\n* [AuditEvent](auditevent.html): Where the activity involved patient data\r\n* [Basic](basic.html): Identifies the focus of this resource\r\n* [BodyStructure](bodystructure.html): Who this is about\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ChargeItem](chargeitem.html): Individual service was done for/to\r\n* [Claim](claim.html): Patient receiving the products or services\r\n* [ClaimResponse](claimresponse.html): The subject of care\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Communication](communication.html): Focus of message\r\n* [CommunicationRequest](communicationrequest.html): Focus of message\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* [Contract](contract.html): The identity of the subject of the contract (if a patient)\r\n* [Coverage](coverage.html): Retrieve coverages for a patient\r\n* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The reference to the patient\r\n* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The reference to the patient\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* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EnrollmentRequest](enrollmentrequest.html): The party to be enrolled\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [ExplanationOfBenefit](explanationofbenefit.html): The reference to the patient\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* [GuidanceResponse](guidanceresponse.html): The identity of a patient to search for guidance response results\r\n* [ImagingSelection](imagingselection.html): Who the study is about\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [ImmunizationEvaluation](immunizationevaluation.html): The patient being evaluated\r\n* [ImmunizationRecommendation](immunizationrecommendation.html): Who this profile is for\r\n* [Invoice](invoice.html): Recipient(s) of goods and services\r\n* [List](list.html): If all resources have the same subject\r\n* [MeasureReport](measurereport.html): The identity of a patient to search for individual measure report results for\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations  for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses  for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [MolecularSequence](molecularsequence.html): The subject that the sequence is about\r\n* [NutritionIntake](nutritionintake.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Person](person.html): The Person links to this Patient\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [Provenance](provenance.html): Where the activity involved patient data\r\n* [QuestionnaireResponse](questionnaireresponse.html): The patient that is the subject of the questionnaire response\r\n* [RelatedPerson](relatedperson.html): The patient this related person is related to\r\n* [RequestOrchestration](requestorchestration.html): The identity of a patient to search for request orchestrations\r\n* [ResearchSubject](researchsubject.html): Who or what is part of study\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [Specimen](specimen.html): The patient the specimen comes from\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined\r\n* [Task](task.html): Search by patient\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } )
1524  public static final String SP_PATIENT = "patient";
1525 /**
1526   * <b>Fluent Client</b> search parameter constant for <b>patient</b>
1527   * <p>
1528   * Description: <b>Multiple Resources: 
1529
1530* [Account](account.html): The entity that caused the expenses
1531* [AdverseEvent](adverseevent.html): Subject impacted by event
1532* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for
1533* [Appointment](appointment.html): One of the individuals of the appointment is this patient
1534* [AppointmentResponse](appointmentresponse.html): This Response is for this Patient
1535* [AuditEvent](auditevent.html): Where the activity involved patient data
1536* [Basic](basic.html): Identifies the focus of this resource
1537* [BodyStructure](bodystructure.html): Who this is about
1538* [CarePlan](careplan.html): Who the care plan is for
1539* [CareTeam](careteam.html): Who care team is for
1540* [ChargeItem](chargeitem.html): Individual service was done for/to
1541* [Claim](claim.html): Patient receiving the products or services
1542* [ClaimResponse](claimresponse.html): The subject of care
1543* [ClinicalImpression](clinicalimpression.html): Patient assessed
1544* [Communication](communication.html): Focus of message
1545* [CommunicationRequest](communicationrequest.html): Focus of message
1546* [Composition](composition.html): Who and/or what the composition is about
1547* [Condition](condition.html): Who has the condition?
1548* [Consent](consent.html): Who the consent applies to
1549* [Contract](contract.html): The identity of the subject of the contract (if a patient)
1550* [Coverage](coverage.html): Retrieve coverages for a patient
1551* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The reference to the patient
1552* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The reference to the patient
1553* [DetectedIssue](detectedissue.html): Associated patient
1554* [DeviceRequest](devicerequest.html): Individual the service is ordered for
1555* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device
1556* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient
1557* [DocumentReference](documentreference.html): Who/what is the subject of the document
1558* [Encounter](encounter.html): The patient present at the encounter
1559* [EnrollmentRequest](enrollmentrequest.html): The party to be enrolled
1560* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care
1561* [ExplanationOfBenefit](explanationofbenefit.html): The reference to the patient
1562* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for
1563* [Flag](flag.html): The identity of a subject to list flags for
1564* [Goal](goal.html): Who this goal is intended for
1565* [GuidanceResponse](guidanceresponse.html): The identity of a patient to search for guidance response results
1566* [ImagingSelection](imagingselection.html): Who the study is about
1567* [ImagingStudy](imagingstudy.html): Who the study is about
1568* [Immunization](immunization.html): The patient for the vaccination record
1569* [ImmunizationEvaluation](immunizationevaluation.html): The patient being evaluated
1570* [ImmunizationRecommendation](immunizationrecommendation.html): Who this profile is for
1571* [Invoice](invoice.html): Recipient(s) of goods and services
1572* [List](list.html): If all resources have the same subject
1573* [MeasureReport](measurereport.html): The identity of a patient to search for individual measure report results for
1574* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations  for
1575* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses  for
1576* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient
1577* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.
1578* [MolecularSequence](molecularsequence.html): The subject that the sequence is about
1579* [NutritionIntake](nutritionintake.html): Returns statements for a specific patient.
1580* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement
1581* [Observation](observation.html): The subject that the observation is about (if patient)
1582* [Person](person.html): The Person links to this Patient
1583* [Procedure](procedure.html): Search by subject - a patient
1584* [Provenance](provenance.html): Where the activity involved patient data
1585* [QuestionnaireResponse](questionnaireresponse.html): The patient that is the subject of the questionnaire response
1586* [RelatedPerson](relatedperson.html): The patient this related person is related to
1587* [RequestOrchestration](requestorchestration.html): The identity of a patient to search for request orchestrations
1588* [ResearchSubject](researchsubject.html): Who or what is part of study
1589* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?
1590* [ServiceRequest](servicerequest.html): Search by subject - a patient
1591* [Specimen](specimen.html): The patient the specimen comes from
1592* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied
1593* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined
1594* [Task](task.html): Search by patient
1595* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
1596</b><br>
1597   * Type: <b>reference</b><br>
1598   * Path: <b>Account.subject.where(resolve() is Patient) | AdverseEvent.subject.where(resolve() is Patient) | AllergyIntolerance.patient | Appointment.participant.actor.where(resolve() is Patient) | Appointment.subject.where(resolve() is Patient) | AppointmentResponse.actor.where(resolve() is Patient) | AuditEvent.patient | Basic.subject.where(resolve() is Patient) | BodyStructure.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ChargeItem.subject.where(resolve() is Patient) | Claim.patient | ClaimResponse.patient | ClinicalImpression.subject.where(resolve() is Patient) | Communication.subject.where(resolve() is Patient) | CommunicationRequest.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | Contract.subject.where(resolve() is Patient) | Coverage.beneficiary | CoverageEligibilityRequest.patient | CoverageEligibilityResponse.patient | DetectedIssue.subject.where(resolve() is Patient) | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EnrollmentRequest.candidate | EpisodeOfCare.patient | ExplanationOfBenefit.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | GuidanceResponse.subject.where(resolve() is Patient) | ImagingSelection.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | ImmunizationEvaluation.patient | ImmunizationRecommendation.patient | Invoice.subject.where(resolve() is Patient) | List.subject.where(resolve() is Patient) | MeasureReport.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationStatement.subject.where(resolve() is Patient) | MolecularSequence.subject.where(resolve() is Patient) | NutritionIntake.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Person.link.target.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | Provenance.patient | QuestionnaireResponse.subject.where(resolve() is Patient) | RelatedPerson.patient | RequestOrchestration.subject.where(resolve() is Patient) | ResearchSubject.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | Specimen.subject.where(resolve() is Patient) | SupplyDelivery.patient | SupplyRequest.deliverFor | Task.for.where(resolve() is Patient) | VisionPrescription.patient</b><br>
1599   * </p>
1600   */
1601  public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT);
1602
1603/**
1604   * Constant for fluent queries to be used to add include statements. Specifies
1605   * the path value of "<b>ImmunizationEvaluation:patient</b>".
1606   */
1607  public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("ImmunizationEvaluation:patient").toLocked();
1608
1609
1610}
1611