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 * Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, gaps in care, etc.
052 */
053@ResourceDef(name="DetectedIssue", profile="http://hl7.org/fhir/StructureDefinition/DetectedIssue")
054public class DetectedIssue extends DomainResource {
055
056    public enum DetectedIssueSeverity {
057        /**
058         * Indicates the issue may be life-threatening or has the potential to cause permanent injury.
059         */
060        HIGH, 
061        /**
062         * Indicates the issue may result in noticeable adverse consequences but is unlikely to be life-threatening or cause permanent injury.
063         */
064        MODERATE, 
065        /**
066         * Indicates the issue may result in some adverse consequences but is unlikely to substantially affect the situation of the subject.
067         */
068        LOW, 
069        /**
070         * added to help the parsers with the generic types
071         */
072        NULL;
073        public static DetectedIssueSeverity fromCode(String codeString) throws FHIRException {
074            if (codeString == null || "".equals(codeString))
075                return null;
076        if ("high".equals(codeString))
077          return HIGH;
078        if ("moderate".equals(codeString))
079          return MODERATE;
080        if ("low".equals(codeString))
081          return LOW;
082        if (Configuration.isAcceptInvalidEnums())
083          return null;
084        else
085          throw new FHIRException("Unknown DetectedIssueSeverity code '"+codeString+"'");
086        }
087        public String toCode() {
088          switch (this) {
089            case HIGH: return "high";
090            case MODERATE: return "moderate";
091            case LOW: return "low";
092            case NULL: return null;
093            default: return "?";
094          }
095        }
096        public String getSystem() {
097          switch (this) {
098            case HIGH: return "http://hl7.org/fhir/detectedissue-severity";
099            case MODERATE: return "http://hl7.org/fhir/detectedissue-severity";
100            case LOW: return "http://hl7.org/fhir/detectedissue-severity";
101            case NULL: return null;
102            default: return "?";
103          }
104        }
105        public String getDefinition() {
106          switch (this) {
107            case HIGH: return "Indicates the issue may be life-threatening or has the potential to cause permanent injury.";
108            case MODERATE: return "Indicates the issue may result in noticeable adverse consequences but is unlikely to be life-threatening or cause permanent injury.";
109            case LOW: return "Indicates the issue may result in some adverse consequences but is unlikely to substantially affect the situation of the subject.";
110            case NULL: return null;
111            default: return "?";
112          }
113        }
114        public String getDisplay() {
115          switch (this) {
116            case HIGH: return "High";
117            case MODERATE: return "Moderate";
118            case LOW: return "Low";
119            case NULL: return null;
120            default: return "?";
121          }
122        }
123    }
124
125  public static class DetectedIssueSeverityEnumFactory implements EnumFactory<DetectedIssueSeverity> {
126    public DetectedIssueSeverity fromCode(String codeString) throws IllegalArgumentException {
127      if (codeString == null || "".equals(codeString))
128            if (codeString == null || "".equals(codeString))
129                return null;
130        if ("high".equals(codeString))
131          return DetectedIssueSeverity.HIGH;
132        if ("moderate".equals(codeString))
133          return DetectedIssueSeverity.MODERATE;
134        if ("low".equals(codeString))
135          return DetectedIssueSeverity.LOW;
136        throw new IllegalArgumentException("Unknown DetectedIssueSeverity code '"+codeString+"'");
137        }
138        public Enumeration<DetectedIssueSeverity> fromType(PrimitiveType<?> code) throws FHIRException {
139          if (code == null)
140            return null;
141          if (code.isEmpty())
142            return new Enumeration<DetectedIssueSeverity>(this, DetectedIssueSeverity.NULL, code);
143          String codeString = ((PrimitiveType) code).asStringValue();
144          if (codeString == null || "".equals(codeString))
145            return new Enumeration<DetectedIssueSeverity>(this, DetectedIssueSeverity.NULL, code);
146        if ("high".equals(codeString))
147          return new Enumeration<DetectedIssueSeverity>(this, DetectedIssueSeverity.HIGH, code);
148        if ("moderate".equals(codeString))
149          return new Enumeration<DetectedIssueSeverity>(this, DetectedIssueSeverity.MODERATE, code);
150        if ("low".equals(codeString))
151          return new Enumeration<DetectedIssueSeverity>(this, DetectedIssueSeverity.LOW, code);
152        throw new FHIRException("Unknown DetectedIssueSeverity code '"+codeString+"'");
153        }
154    public String toCode(DetectedIssueSeverity code) {
155      if (code == DetectedIssueSeverity.HIGH)
156        return "high";
157      if (code == DetectedIssueSeverity.MODERATE)
158        return "moderate";
159      if (code == DetectedIssueSeverity.LOW)
160        return "low";
161      return "?";
162      }
163    public String toSystem(DetectedIssueSeverity code) {
164      return code.getSystem();
165      }
166    }
167
168    public enum DetectedIssueStatus {
169        /**
170         * This is an initial or interim observation: data may be incomplete or unverified.
171         */
172        PRELIMINARY, 
173        /**
174         * The observation is complete and there are no further actions needed. Additional information such \"released\", \"signed\", etc. would be represented using [Provenance](provenance.html) which provides not only the act but also the actors and dates and other related data. These act states would be associated with an observation status of `preliminary` until they are all completed and then a status of `final` would be applied.
175         */
176        FINAL, 
177        /**
178         * The observation has been withdrawn following previous final release.  This electronic record should never have existed, though it is possible that real-world decisions were based on it. (If real-world activity has occurred, the status should be \"cancelled\" rather than \"entered-in-error\".).
179         */
180        ENTEREDINERROR, 
181        /**
182         * Indicates the detected issue has been mitigated
183         */
184        MITIGATED, 
185        /**
186         * added to help the parsers with the generic types
187         */
188        NULL;
189        public static DetectedIssueStatus fromCode(String codeString) throws FHIRException {
190            if (codeString == null || "".equals(codeString))
191                return null;
192        if ("preliminary".equals(codeString))
193          return PRELIMINARY;
194        if ("final".equals(codeString))
195          return FINAL;
196        if ("entered-in-error".equals(codeString))
197          return ENTEREDINERROR;
198        if ("mitigated".equals(codeString))
199          return MITIGATED;
200        if (Configuration.isAcceptInvalidEnums())
201          return null;
202        else
203          throw new FHIRException("Unknown DetectedIssueStatus code '"+codeString+"'");
204        }
205        public String toCode() {
206          switch (this) {
207            case PRELIMINARY: return "preliminary";
208            case FINAL: return "final";
209            case ENTEREDINERROR: return "entered-in-error";
210            case MITIGATED: return "mitigated";
211            case NULL: return null;
212            default: return "?";
213          }
214        }
215        public String getSystem() {
216          switch (this) {
217            case PRELIMINARY: return "http://hl7.org/fhir/observation-status";
218            case FINAL: return "http://hl7.org/fhir/observation-status";
219            case ENTEREDINERROR: return "http://hl7.org/fhir/observation-status";
220            case MITIGATED: return "http://hl7.org/fhir/detectedissue-status";
221            case NULL: return null;
222            default: return "?";
223          }
224        }
225        public String getDefinition() {
226          switch (this) {
227            case PRELIMINARY: return "This is an initial or interim observation: data may be incomplete or unverified.";
228            case FINAL: return "The observation is complete and there are no further actions needed. Additional information such \"released\", \"signed\", etc. would be represented using [Provenance](provenance.html) which provides not only the act but also the actors and dates and other related data. These act states would be associated with an observation status of `preliminary` until they are all completed and then a status of `final` would be applied.";
229            case ENTEREDINERROR: return "The observation has been withdrawn following previous final release.  This electronic record should never have existed, though it is possible that real-world decisions were based on it. (If real-world activity has occurred, the status should be \"cancelled\" rather than \"entered-in-error\".).";
230            case MITIGATED: return "Indicates the detected issue has been mitigated";
231            case NULL: return null;
232            default: return "?";
233          }
234        }
235        public String getDisplay() {
236          switch (this) {
237            case PRELIMINARY: return "Preliminary";
238            case FINAL: return "Final";
239            case ENTEREDINERROR: return "Entered in Error";
240            case MITIGATED: return "Mitigated";
241            case NULL: return null;
242            default: return "?";
243          }
244        }
245    }
246
247  public static class DetectedIssueStatusEnumFactory implements EnumFactory<DetectedIssueStatus> {
248    public DetectedIssueStatus fromCode(String codeString) throws IllegalArgumentException {
249      if (codeString == null || "".equals(codeString))
250            if (codeString == null || "".equals(codeString))
251                return null;
252        if ("preliminary".equals(codeString))
253          return DetectedIssueStatus.PRELIMINARY;
254        if ("final".equals(codeString))
255          return DetectedIssueStatus.FINAL;
256        if ("entered-in-error".equals(codeString))
257          return DetectedIssueStatus.ENTEREDINERROR;
258        if ("mitigated".equals(codeString))
259          return DetectedIssueStatus.MITIGATED;
260        throw new IllegalArgumentException("Unknown DetectedIssueStatus code '"+codeString+"'");
261        }
262        public Enumeration<DetectedIssueStatus> fromType(PrimitiveType<?> code) throws FHIRException {
263          if (code == null)
264            return null;
265          if (code.isEmpty())
266            return new Enumeration<DetectedIssueStatus>(this, DetectedIssueStatus.NULL, code);
267          String codeString = ((PrimitiveType) code).asStringValue();
268          if (codeString == null || "".equals(codeString))
269            return new Enumeration<DetectedIssueStatus>(this, DetectedIssueStatus.NULL, code);
270        if ("preliminary".equals(codeString))
271          return new Enumeration<DetectedIssueStatus>(this, DetectedIssueStatus.PRELIMINARY, code);
272        if ("final".equals(codeString))
273          return new Enumeration<DetectedIssueStatus>(this, DetectedIssueStatus.FINAL, code);
274        if ("entered-in-error".equals(codeString))
275          return new Enumeration<DetectedIssueStatus>(this, DetectedIssueStatus.ENTEREDINERROR, code);
276        if ("mitigated".equals(codeString))
277          return new Enumeration<DetectedIssueStatus>(this, DetectedIssueStatus.MITIGATED, code);
278        throw new FHIRException("Unknown DetectedIssueStatus code '"+codeString+"'");
279        }
280    public String toCode(DetectedIssueStatus code) {
281      if (code == DetectedIssueStatus.PRELIMINARY)
282        return "preliminary";
283      if (code == DetectedIssueStatus.FINAL)
284        return "final";
285      if (code == DetectedIssueStatus.ENTEREDINERROR)
286        return "entered-in-error";
287      if (code == DetectedIssueStatus.MITIGATED)
288        return "mitigated";
289      return "?";
290      }
291    public String toSystem(DetectedIssueStatus code) {
292      return code.getSystem();
293      }
294    }
295
296    @Block()
297    public static class DetectedIssueEvidenceComponent extends BackboneElement implements IBaseBackboneElement {
298        /**
299         * A manifestation that led to the recording of this detected issue.
300         */
301        @Child(name = "code", type = {CodeableConcept.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
302        @Description(shortDefinition="Manifestation", formalDefinition="A manifestation that led to the recording of this detected issue." )
303        @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/manifestation-or-symptom")
304        protected List<CodeableConcept> code;
305
306        /**
307         * Links to resources that constitute evidence for the detected issue such as a GuidanceResponse or MeasureReport.
308         */
309        @Child(name = "detail", type = {Reference.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
310        @Description(shortDefinition="Supporting information", formalDefinition="Links to resources that constitute evidence for the detected issue such as a GuidanceResponse or MeasureReport." )
311        protected List<Reference> detail;
312
313        private static final long serialVersionUID = -672691342L;
314
315    /**
316     * Constructor
317     */
318      public DetectedIssueEvidenceComponent() {
319        super();
320      }
321
322        /**
323         * @return {@link #code} (A manifestation that led to the recording of this detected issue.)
324         */
325        public List<CodeableConcept> getCode() { 
326          if (this.code == null)
327            this.code = new ArrayList<CodeableConcept>();
328          return this.code;
329        }
330
331        /**
332         * @return Returns a reference to <code>this</code> for easy method chaining
333         */
334        public DetectedIssueEvidenceComponent setCode(List<CodeableConcept> theCode) { 
335          this.code = theCode;
336          return this;
337        }
338
339        public boolean hasCode() { 
340          if (this.code == null)
341            return false;
342          for (CodeableConcept item : this.code)
343            if (!item.isEmpty())
344              return true;
345          return false;
346        }
347
348        public CodeableConcept addCode() { //3
349          CodeableConcept t = new CodeableConcept();
350          if (this.code == null)
351            this.code = new ArrayList<CodeableConcept>();
352          this.code.add(t);
353          return t;
354        }
355
356        public DetectedIssueEvidenceComponent addCode(CodeableConcept t) { //3
357          if (t == null)
358            return this;
359          if (this.code == null)
360            this.code = new ArrayList<CodeableConcept>();
361          this.code.add(t);
362          return this;
363        }
364
365        /**
366         * @return The first repetition of repeating field {@link #code}, creating it if it does not already exist {3}
367         */
368        public CodeableConcept getCodeFirstRep() { 
369          if (getCode().isEmpty()) {
370            addCode();
371          }
372          return getCode().get(0);
373        }
374
375        /**
376         * @return {@link #detail} (Links to resources that constitute evidence for the detected issue such as a GuidanceResponse or MeasureReport.)
377         */
378        public List<Reference> getDetail() { 
379          if (this.detail == null)
380            this.detail = new ArrayList<Reference>();
381          return this.detail;
382        }
383
384        /**
385         * @return Returns a reference to <code>this</code> for easy method chaining
386         */
387        public DetectedIssueEvidenceComponent setDetail(List<Reference> theDetail) { 
388          this.detail = theDetail;
389          return this;
390        }
391
392        public boolean hasDetail() { 
393          if (this.detail == null)
394            return false;
395          for (Reference item : this.detail)
396            if (!item.isEmpty())
397              return true;
398          return false;
399        }
400
401        public Reference addDetail() { //3
402          Reference t = new Reference();
403          if (this.detail == null)
404            this.detail = new ArrayList<Reference>();
405          this.detail.add(t);
406          return t;
407        }
408
409        public DetectedIssueEvidenceComponent addDetail(Reference t) { //3
410          if (t == null)
411            return this;
412          if (this.detail == null)
413            this.detail = new ArrayList<Reference>();
414          this.detail.add(t);
415          return this;
416        }
417
418        /**
419         * @return The first repetition of repeating field {@link #detail}, creating it if it does not already exist {3}
420         */
421        public Reference getDetailFirstRep() { 
422          if (getDetail().isEmpty()) {
423            addDetail();
424          }
425          return getDetail().get(0);
426        }
427
428        protected void listChildren(List<Property> children) {
429          super.listChildren(children);
430          children.add(new Property("code", "CodeableConcept", "A manifestation that led to the recording of this detected issue.", 0, java.lang.Integer.MAX_VALUE, code));
431          children.add(new Property("detail", "Reference(Any)", "Links to resources that constitute evidence for the detected issue such as a GuidanceResponse or MeasureReport.", 0, java.lang.Integer.MAX_VALUE, detail));
432        }
433
434        @Override
435        public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
436          switch (_hash) {
437          case 3059181: /*code*/  return new Property("code", "CodeableConcept", "A manifestation that led to the recording of this detected issue.", 0, java.lang.Integer.MAX_VALUE, code);
438          case -1335224239: /*detail*/  return new Property("detail", "Reference(Any)", "Links to resources that constitute evidence for the detected issue such as a GuidanceResponse or MeasureReport.", 0, java.lang.Integer.MAX_VALUE, detail);
439          default: return super.getNamedProperty(_hash, _name, _checkValid);
440          }
441
442        }
443
444      @Override
445      public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
446        switch (hash) {
447        case 3059181: /*code*/ return this.code == null ? new Base[0] : this.code.toArray(new Base[this.code.size()]); // CodeableConcept
448        case -1335224239: /*detail*/ return this.detail == null ? new Base[0] : this.detail.toArray(new Base[this.detail.size()]); // Reference
449        default: return super.getProperty(hash, name, checkValid);
450        }
451
452      }
453
454      @Override
455      public Base setProperty(int hash, String name, Base value) throws FHIRException {
456        switch (hash) {
457        case 3059181: // code
458          this.getCode().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept
459          return value;
460        case -1335224239: // detail
461          this.getDetail().add(TypeConvertor.castToReference(value)); // Reference
462          return value;
463        default: return super.setProperty(hash, name, value);
464        }
465
466      }
467
468      @Override
469      public Base setProperty(String name, Base value) throws FHIRException {
470        if (name.equals("code")) {
471          this.getCode().add(TypeConvertor.castToCodeableConcept(value));
472        } else if (name.equals("detail")) {
473          this.getDetail().add(TypeConvertor.castToReference(value));
474        } else
475          return super.setProperty(name, value);
476        return value;
477      }
478
479      @Override
480      public Base makeProperty(int hash, String name) throws FHIRException {
481        switch (hash) {
482        case 3059181:  return addCode(); 
483        case -1335224239:  return addDetail(); 
484        default: return super.makeProperty(hash, name);
485        }
486
487      }
488
489      @Override
490      public String[] getTypesForProperty(int hash, String name) throws FHIRException {
491        switch (hash) {
492        case 3059181: /*code*/ return new String[] {"CodeableConcept"};
493        case -1335224239: /*detail*/ return new String[] {"Reference"};
494        default: return super.getTypesForProperty(hash, name);
495        }
496
497      }
498
499      @Override
500      public Base addChild(String name) throws FHIRException {
501        if (name.equals("code")) {
502          return addCode();
503        }
504        else if (name.equals("detail")) {
505          return addDetail();
506        }
507        else
508          return super.addChild(name);
509      }
510
511      public DetectedIssueEvidenceComponent copy() {
512        DetectedIssueEvidenceComponent dst = new DetectedIssueEvidenceComponent();
513        copyValues(dst);
514        return dst;
515      }
516
517      public void copyValues(DetectedIssueEvidenceComponent dst) {
518        super.copyValues(dst);
519        if (code != null) {
520          dst.code = new ArrayList<CodeableConcept>();
521          for (CodeableConcept i : code)
522            dst.code.add(i.copy());
523        };
524        if (detail != null) {
525          dst.detail = new ArrayList<Reference>();
526          for (Reference i : detail)
527            dst.detail.add(i.copy());
528        };
529      }
530
531      @Override
532      public boolean equalsDeep(Base other_) {
533        if (!super.equalsDeep(other_))
534          return false;
535        if (!(other_ instanceof DetectedIssueEvidenceComponent))
536          return false;
537        DetectedIssueEvidenceComponent o = (DetectedIssueEvidenceComponent) other_;
538        return compareDeep(code, o.code, true) && compareDeep(detail, o.detail, true);
539      }
540
541      @Override
542      public boolean equalsShallow(Base other_) {
543        if (!super.equalsShallow(other_))
544          return false;
545        if (!(other_ instanceof DetectedIssueEvidenceComponent))
546          return false;
547        DetectedIssueEvidenceComponent o = (DetectedIssueEvidenceComponent) other_;
548        return true;
549      }
550
551      public boolean isEmpty() {
552        return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, detail);
553      }
554
555  public String fhirType() {
556    return "DetectedIssue.evidence";
557
558  }
559
560  }
561
562    @Block()
563    public static class DetectedIssueMitigationComponent extends BackboneElement implements IBaseBackboneElement {
564        /**
565         * Describes the action that was taken or the observation that was made that reduces/eliminates the risk associated with the identified issue.
566         */
567        @Child(name = "action", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false)
568        @Description(shortDefinition="What mitigation?", formalDefinition="Describes the action that was taken or the observation that was made that reduces/eliminates the risk associated with the identified issue." )
569        @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/detectedissue-mitigation-action")
570        protected CodeableConcept action;
571
572        /**
573         * Indicates when the mitigating action was documented.
574         */
575        @Child(name = "date", type = {DateTimeType.class}, order=2, min=0, max=1, modifier=false, summary=false)
576        @Description(shortDefinition="Date committed", formalDefinition="Indicates when the mitigating action was documented." )
577        protected DateTimeType date;
578
579        /**
580         * Identifies the practitioner who determined the mitigation and takes responsibility for the mitigation step occurring.
581         */
582        @Child(name = "author", type = {Practitioner.class, PractitionerRole.class}, order=3, min=0, max=1, modifier=false, summary=false)
583        @Description(shortDefinition="Who is committing?", formalDefinition="Identifies the practitioner who determined the mitigation and takes responsibility for the mitigation step occurring." )
584        protected Reference author;
585
586        /**
587         * Clinicians may add additional notes or justifications about the mitigation action. For example, patient can have this drug because they have had it before without any issues. Multiple justifications may be provided.
588         */
589        @Child(name = "note", type = {Annotation.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
590        @Description(shortDefinition="Additional notes about the mitigation", formalDefinition="Clinicians may add additional notes or justifications about the mitigation action. For example, patient can have this drug because they have had it before without any issues. Multiple justifications may be provided." )
591        protected List<Annotation> note;
592
593        private static final long serialVersionUID = 1504361133L;
594
595    /**
596     * Constructor
597     */
598      public DetectedIssueMitigationComponent() {
599        super();
600      }
601
602    /**
603     * Constructor
604     */
605      public DetectedIssueMitigationComponent(CodeableConcept action) {
606        super();
607        this.setAction(action);
608      }
609
610        /**
611         * @return {@link #action} (Describes the action that was taken or the observation that was made that reduces/eliminates the risk associated with the identified issue.)
612         */
613        public CodeableConcept getAction() { 
614          if (this.action == null)
615            if (Configuration.errorOnAutoCreate())
616              throw new Error("Attempt to auto-create DetectedIssueMitigationComponent.action");
617            else if (Configuration.doAutoCreate())
618              this.action = new CodeableConcept(); // cc
619          return this.action;
620        }
621
622        public boolean hasAction() { 
623          return this.action != null && !this.action.isEmpty();
624        }
625
626        /**
627         * @param value {@link #action} (Describes the action that was taken or the observation that was made that reduces/eliminates the risk associated with the identified issue.)
628         */
629        public DetectedIssueMitigationComponent setAction(CodeableConcept value) { 
630          this.action = value;
631          return this;
632        }
633
634        /**
635         * @return {@link #date} (Indicates when the mitigating action was documented.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value
636         */
637        public DateTimeType getDateElement() { 
638          if (this.date == null)
639            if (Configuration.errorOnAutoCreate())
640              throw new Error("Attempt to auto-create DetectedIssueMitigationComponent.date");
641            else if (Configuration.doAutoCreate())
642              this.date = new DateTimeType(); // bb
643          return this.date;
644        }
645
646        public boolean hasDateElement() { 
647          return this.date != null && !this.date.isEmpty();
648        }
649
650        public boolean hasDate() { 
651          return this.date != null && !this.date.isEmpty();
652        }
653
654        /**
655         * @param value {@link #date} (Indicates when the mitigating action was documented.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value
656         */
657        public DetectedIssueMitigationComponent setDateElement(DateTimeType value) { 
658          this.date = value;
659          return this;
660        }
661
662        /**
663         * @return Indicates when the mitigating action was documented.
664         */
665        public Date getDate() { 
666          return this.date == null ? null : this.date.getValue();
667        }
668
669        /**
670         * @param value Indicates when the mitigating action was documented.
671         */
672        public DetectedIssueMitigationComponent setDate(Date value) { 
673          if (value == null)
674            this.date = null;
675          else {
676            if (this.date == null)
677              this.date = new DateTimeType();
678            this.date.setValue(value);
679          }
680          return this;
681        }
682
683        /**
684         * @return {@link #author} (Identifies the practitioner who determined the mitigation and takes responsibility for the mitigation step occurring.)
685         */
686        public Reference getAuthor() { 
687          if (this.author == null)
688            if (Configuration.errorOnAutoCreate())
689              throw new Error("Attempt to auto-create DetectedIssueMitigationComponent.author");
690            else if (Configuration.doAutoCreate())
691              this.author = new Reference(); // cc
692          return this.author;
693        }
694
695        public boolean hasAuthor() { 
696          return this.author != null && !this.author.isEmpty();
697        }
698
699        /**
700         * @param value {@link #author} (Identifies the practitioner who determined the mitigation and takes responsibility for the mitigation step occurring.)
701         */
702        public DetectedIssueMitigationComponent setAuthor(Reference value) { 
703          this.author = value;
704          return this;
705        }
706
707        /**
708         * @return {@link #note} (Clinicians may add additional notes or justifications about the mitigation action. For example, patient can have this drug because they have had it before without any issues. Multiple justifications may be provided.)
709         */
710        public List<Annotation> getNote() { 
711          if (this.note == null)
712            this.note = new ArrayList<Annotation>();
713          return this.note;
714        }
715
716        /**
717         * @return Returns a reference to <code>this</code> for easy method chaining
718         */
719        public DetectedIssueMitigationComponent setNote(List<Annotation> theNote) { 
720          this.note = theNote;
721          return this;
722        }
723
724        public boolean hasNote() { 
725          if (this.note == null)
726            return false;
727          for (Annotation item : this.note)
728            if (!item.isEmpty())
729              return true;
730          return false;
731        }
732
733        public Annotation addNote() { //3
734          Annotation t = new Annotation();
735          if (this.note == null)
736            this.note = new ArrayList<Annotation>();
737          this.note.add(t);
738          return t;
739        }
740
741        public DetectedIssueMitigationComponent addNote(Annotation t) { //3
742          if (t == null)
743            return this;
744          if (this.note == null)
745            this.note = new ArrayList<Annotation>();
746          this.note.add(t);
747          return this;
748        }
749
750        /**
751         * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist {3}
752         */
753        public Annotation getNoteFirstRep() { 
754          if (getNote().isEmpty()) {
755            addNote();
756          }
757          return getNote().get(0);
758        }
759
760        protected void listChildren(List<Property> children) {
761          super.listChildren(children);
762          children.add(new Property("action", "CodeableConcept", "Describes the action that was taken or the observation that was made that reduces/eliminates the risk associated with the identified issue.", 0, 1, action));
763          children.add(new Property("date", "dateTime", "Indicates when the mitigating action was documented.", 0, 1, date));
764          children.add(new Property("author", "Reference(Practitioner|PractitionerRole)", "Identifies the practitioner who determined the mitigation and takes responsibility for the mitigation step occurring.", 0, 1, author));
765          children.add(new Property("note", "Annotation", "Clinicians may add additional notes or justifications about the mitigation action. For example, patient can have this drug because they have had it before without any issues. Multiple justifications may be provided.", 0, java.lang.Integer.MAX_VALUE, note));
766        }
767
768        @Override
769        public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
770          switch (_hash) {
771          case -1422950858: /*action*/  return new Property("action", "CodeableConcept", "Describes the action that was taken or the observation that was made that reduces/eliminates the risk associated with the identified issue.", 0, 1, action);
772          case 3076014: /*date*/  return new Property("date", "dateTime", "Indicates when the mitigating action was documented.", 0, 1, date);
773          case -1406328437: /*author*/  return new Property("author", "Reference(Practitioner|PractitionerRole)", "Identifies the practitioner who determined the mitigation and takes responsibility for the mitigation step occurring.", 0, 1, author);
774          case 3387378: /*note*/  return new Property("note", "Annotation", "Clinicians may add additional notes or justifications about the mitigation action. For example, patient can have this drug because they have had it before without any issues. Multiple justifications may be provided.", 0, java.lang.Integer.MAX_VALUE, note);
775          default: return super.getNamedProperty(_hash, _name, _checkValid);
776          }
777
778        }
779
780      @Override
781      public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
782        switch (hash) {
783        case -1422950858: /*action*/ return this.action == null ? new Base[0] : new Base[] {this.action}; // CodeableConcept
784        case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType
785        case -1406328437: /*author*/ return this.author == null ? new Base[0] : new Base[] {this.author}; // Reference
786        case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation
787        default: return super.getProperty(hash, name, checkValid);
788        }
789
790      }
791
792      @Override
793      public Base setProperty(int hash, String name, Base value) throws FHIRException {
794        switch (hash) {
795        case -1422950858: // action
796          this.action = TypeConvertor.castToCodeableConcept(value); // CodeableConcept
797          return value;
798        case 3076014: // date
799          this.date = TypeConvertor.castToDateTime(value); // DateTimeType
800          return value;
801        case -1406328437: // author
802          this.author = TypeConvertor.castToReference(value); // Reference
803          return value;
804        case 3387378: // note
805          this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation
806          return value;
807        default: return super.setProperty(hash, name, value);
808        }
809
810      }
811
812      @Override
813      public Base setProperty(String name, Base value) throws FHIRException {
814        if (name.equals("action")) {
815          this.action = TypeConvertor.castToCodeableConcept(value); // CodeableConcept
816        } else if (name.equals("date")) {
817          this.date = TypeConvertor.castToDateTime(value); // DateTimeType
818        } else if (name.equals("author")) {
819          this.author = TypeConvertor.castToReference(value); // Reference
820        } else if (name.equals("note")) {
821          this.getNote().add(TypeConvertor.castToAnnotation(value));
822        } else
823          return super.setProperty(name, value);
824        return value;
825      }
826
827      @Override
828      public Base makeProperty(int hash, String name) throws FHIRException {
829        switch (hash) {
830        case -1422950858:  return getAction();
831        case 3076014:  return getDateElement();
832        case -1406328437:  return getAuthor();
833        case 3387378:  return addNote(); 
834        default: return super.makeProperty(hash, name);
835        }
836
837      }
838
839      @Override
840      public String[] getTypesForProperty(int hash, String name) throws FHIRException {
841        switch (hash) {
842        case -1422950858: /*action*/ return new String[] {"CodeableConcept"};
843        case 3076014: /*date*/ return new String[] {"dateTime"};
844        case -1406328437: /*author*/ return new String[] {"Reference"};
845        case 3387378: /*note*/ return new String[] {"Annotation"};
846        default: return super.getTypesForProperty(hash, name);
847        }
848
849      }
850
851      @Override
852      public Base addChild(String name) throws FHIRException {
853        if (name.equals("action")) {
854          this.action = new CodeableConcept();
855          return this.action;
856        }
857        else if (name.equals("date")) {
858          throw new FHIRException("Cannot call addChild on a singleton property DetectedIssue.mitigation.date");
859        }
860        else if (name.equals("author")) {
861          this.author = new Reference();
862          return this.author;
863        }
864        else if (name.equals("note")) {
865          return addNote();
866        }
867        else
868          return super.addChild(name);
869      }
870
871      public DetectedIssueMitigationComponent copy() {
872        DetectedIssueMitigationComponent dst = new DetectedIssueMitigationComponent();
873        copyValues(dst);
874        return dst;
875      }
876
877      public void copyValues(DetectedIssueMitigationComponent dst) {
878        super.copyValues(dst);
879        dst.action = action == null ? null : action.copy();
880        dst.date = date == null ? null : date.copy();
881        dst.author = author == null ? null : author.copy();
882        if (note != null) {
883          dst.note = new ArrayList<Annotation>();
884          for (Annotation i : note)
885            dst.note.add(i.copy());
886        };
887      }
888
889      @Override
890      public boolean equalsDeep(Base other_) {
891        if (!super.equalsDeep(other_))
892          return false;
893        if (!(other_ instanceof DetectedIssueMitigationComponent))
894          return false;
895        DetectedIssueMitigationComponent o = (DetectedIssueMitigationComponent) other_;
896        return compareDeep(action, o.action, true) && compareDeep(date, o.date, true) && compareDeep(author, o.author, true)
897           && compareDeep(note, o.note, true);
898      }
899
900      @Override
901      public boolean equalsShallow(Base other_) {
902        if (!super.equalsShallow(other_))
903          return false;
904        if (!(other_ instanceof DetectedIssueMitigationComponent))
905          return false;
906        DetectedIssueMitigationComponent o = (DetectedIssueMitigationComponent) other_;
907        return compareValues(date, o.date, true);
908      }
909
910      public boolean isEmpty() {
911        return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(action, date, author, note
912          );
913      }
914
915  public String fhirType() {
916    return "DetectedIssue.mitigation";
917
918  }
919
920  }
921
922    /**
923     * Business identifier associated with the detected issue record.
924     */
925    @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
926    @Description(shortDefinition="Unique id for the detected issue", formalDefinition="Business identifier associated with the detected issue record." )
927    protected List<Identifier> identifier;
928
929    /**
930     * Indicates the status of the detected issue.
931     */
932    @Child(name = "status", type = {CodeType.class}, order=1, min=1, max=1, modifier=true, summary=true)
933    @Description(shortDefinition="preliminary | final | entered-in-error | mitigated", formalDefinition="Indicates the status of the detected issue." )
934    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/detectedissue-status")
935    protected Enumeration<DetectedIssueStatus> status;
936
937    /**
938     * A code that classifies the general type of detected issue.
939     */
940    @Child(name = "category", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
941    @Description(shortDefinition="Type of detected issue, e.g. drug-drug, duplicate therapy, etc", formalDefinition="A code that classifies the general type of detected issue." )
942    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/detectedissue-category")
943    protected List<CodeableConcept> category;
944
945    /**
946     * Identifies the specific type of issue identified.
947     */
948    @Child(name = "code", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=true)
949    @Description(shortDefinition="Specific type of detected issue, e.g. drug-drug, duplicate therapy, etc", formalDefinition="Identifies the specific type of issue identified." )
950    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/detectedissue-category")
951    protected CodeableConcept code;
952
953    /**
954     * Indicates the degree of importance associated with the identified issue based on the potential impact on the patient.
955     */
956    @Child(name = "severity", type = {CodeType.class}, order=4, min=0, max=1, modifier=false, summary=true)
957    @Description(shortDefinition="high | moderate | low", formalDefinition="Indicates the degree of importance associated with the identified issue based on the potential impact on the patient." )
958    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/detectedissue-severity")
959    protected Enumeration<DetectedIssueSeverity> severity;
960
961    /**
962     * Indicates the subject whose record the detected issue is associated with.
963     */
964    @Child(name = "subject", type = {Patient.class, Group.class, Device.class, Location.class, Organization.class, Procedure.class, Practitioner.class, Medication.class, Substance.class, BiologicallyDerivedProduct.class, NutritionProduct.class}, order=5, min=0, max=1, modifier=false, summary=true)
965    @Description(shortDefinition="Associated subject", formalDefinition="Indicates the subject whose record the detected issue is associated with." )
966    protected Reference subject;
967
968    /**
969     * The encounter during which this issue was detected.
970     */
971    @Child(name = "encounter", type = {Encounter.class}, order=6, min=0, max=1, modifier=false, summary=true)
972    @Description(shortDefinition="Encounter detected issue is part of", formalDefinition="The encounter during which this issue was detected." )
973    protected Reference encounter;
974
975    /**
976     * The date or period when the detected issue was initially identified.
977     */
978    @Child(name = "identified", type = {DateTimeType.class, Period.class}, order=7, min=0, max=1, modifier=false, summary=true)
979    @Description(shortDefinition="When identified", formalDefinition="The date or period when the detected issue was initially identified." )
980    protected DataType identified;
981
982    /**
983     * Individual or device responsible for the issue being raised.  For example, a decision support application or a pharmacist conducting a medication review.
984     */
985    @Child(name = "author", type = {Patient.class, RelatedPerson.class, Practitioner.class, PractitionerRole.class, Device.class}, order=8, min=0, max=1, modifier=false, summary=true)
986    @Description(shortDefinition="The provider or device that identified the issue", formalDefinition="Individual or device responsible for the issue being raised.  For example, a decision support application or a pharmacist conducting a medication review." )
987    protected Reference author;
988
989    /**
990     * Indicates the resource representing the current activity or proposed activity that is potentially problematic.
991     */
992    @Child(name = "implicated", type = {Reference.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
993    @Description(shortDefinition="Problem resource", formalDefinition="Indicates the resource representing the current activity or proposed activity that is potentially problematic." )
994    protected List<Reference> implicated;
995
996    /**
997     * Supporting evidence or manifestations that provide the basis for identifying the detected issue such as a GuidanceResponse or MeasureReport.
998     */
999    @Child(name = "evidence", type = {}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
1000    @Description(shortDefinition="Supporting evidence", formalDefinition="Supporting evidence or manifestations that provide the basis for identifying the detected issue such as a GuidanceResponse or MeasureReport." )
1001    protected List<DetectedIssueEvidenceComponent> evidence;
1002
1003    /**
1004     * A textual explanation of the detected issue.
1005     */
1006    @Child(name = "detail", type = {MarkdownType.class}, order=11, min=0, max=1, modifier=false, summary=false)
1007    @Description(shortDefinition="Description and context", formalDefinition="A textual explanation of the detected issue." )
1008    protected MarkdownType detail;
1009
1010    /**
1011     * The literature, knowledge-base or similar reference that describes the propensity for the detected issue identified.
1012     */
1013    @Child(name = "reference", type = {UriType.class}, order=12, min=0, max=1, modifier=false, summary=false)
1014    @Description(shortDefinition="Authority for issue", formalDefinition="The literature, knowledge-base or similar reference that describes the propensity for the detected issue identified." )
1015    protected UriType reference;
1016
1017    /**
1018     * Indicates an action that has been taken or is committed to reduce or eliminate the likelihood of the risk identified by the detected issue from manifesting.  Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action.
1019     */
1020    @Child(name = "mitigation", type = {}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
1021    @Description(shortDefinition="Step taken to address", formalDefinition="Indicates an action that has been taken or is committed to reduce or eliminate the likelihood of the risk identified by the detected issue from manifesting.  Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action." )
1022    protected List<DetectedIssueMitigationComponent> mitigation;
1023
1024    private static final long serialVersionUID = 1031242519L;
1025
1026  /**
1027   * Constructor
1028   */
1029    public DetectedIssue() {
1030      super();
1031    }
1032
1033  /**
1034   * Constructor
1035   */
1036    public DetectedIssue(DetectedIssueStatus status) {
1037      super();
1038      this.setStatus(status);
1039    }
1040
1041    /**
1042     * @return {@link #identifier} (Business identifier associated with the detected issue record.)
1043     */
1044    public List<Identifier> getIdentifier() { 
1045      if (this.identifier == null)
1046        this.identifier = new ArrayList<Identifier>();
1047      return this.identifier;
1048    }
1049
1050    /**
1051     * @return Returns a reference to <code>this</code> for easy method chaining
1052     */
1053    public DetectedIssue setIdentifier(List<Identifier> theIdentifier) { 
1054      this.identifier = theIdentifier;
1055      return this;
1056    }
1057
1058    public boolean hasIdentifier() { 
1059      if (this.identifier == null)
1060        return false;
1061      for (Identifier item : this.identifier)
1062        if (!item.isEmpty())
1063          return true;
1064      return false;
1065    }
1066
1067    public Identifier addIdentifier() { //3
1068      Identifier t = new Identifier();
1069      if (this.identifier == null)
1070        this.identifier = new ArrayList<Identifier>();
1071      this.identifier.add(t);
1072      return t;
1073    }
1074
1075    public DetectedIssue addIdentifier(Identifier t) { //3
1076      if (t == null)
1077        return this;
1078      if (this.identifier == null)
1079        this.identifier = new ArrayList<Identifier>();
1080      this.identifier.add(t);
1081      return this;
1082    }
1083
1084    /**
1085     * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3}
1086     */
1087    public Identifier getIdentifierFirstRep() { 
1088      if (getIdentifier().isEmpty()) {
1089        addIdentifier();
1090      }
1091      return getIdentifier().get(0);
1092    }
1093
1094    /**
1095     * @return {@link #status} (Indicates the status of the detected issue.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value
1096     */
1097    public Enumeration<DetectedIssueStatus> getStatusElement() { 
1098      if (this.status == null)
1099        if (Configuration.errorOnAutoCreate())
1100          throw new Error("Attempt to auto-create DetectedIssue.status");
1101        else if (Configuration.doAutoCreate())
1102          this.status = new Enumeration<DetectedIssueStatus>(new DetectedIssueStatusEnumFactory()); // bb
1103      return this.status;
1104    }
1105
1106    public boolean hasStatusElement() { 
1107      return this.status != null && !this.status.isEmpty();
1108    }
1109
1110    public boolean hasStatus() { 
1111      return this.status != null && !this.status.isEmpty();
1112    }
1113
1114    /**
1115     * @param value {@link #status} (Indicates the status of the detected issue.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value
1116     */
1117    public DetectedIssue setStatusElement(Enumeration<DetectedIssueStatus> value) { 
1118      this.status = value;
1119      return this;
1120    }
1121
1122    /**
1123     * @return Indicates the status of the detected issue.
1124     */
1125    public DetectedIssueStatus getStatus() { 
1126      return this.status == null ? null : this.status.getValue();
1127    }
1128
1129    /**
1130     * @param value Indicates the status of the detected issue.
1131     */
1132    public DetectedIssue setStatus(DetectedIssueStatus value) { 
1133        if (this.status == null)
1134          this.status = new Enumeration<DetectedIssueStatus>(new DetectedIssueStatusEnumFactory());
1135        this.status.setValue(value);
1136      return this;
1137    }
1138
1139    /**
1140     * @return {@link #category} (A code that classifies the general type of detected issue.)
1141     */
1142    public List<CodeableConcept> getCategory() { 
1143      if (this.category == null)
1144        this.category = new ArrayList<CodeableConcept>();
1145      return this.category;
1146    }
1147
1148    /**
1149     * @return Returns a reference to <code>this</code> for easy method chaining
1150     */
1151    public DetectedIssue setCategory(List<CodeableConcept> theCategory) { 
1152      this.category = theCategory;
1153      return this;
1154    }
1155
1156    public boolean hasCategory() { 
1157      if (this.category == null)
1158        return false;
1159      for (CodeableConcept item : this.category)
1160        if (!item.isEmpty())
1161          return true;
1162      return false;
1163    }
1164
1165    public CodeableConcept addCategory() { //3
1166      CodeableConcept t = new CodeableConcept();
1167      if (this.category == null)
1168        this.category = new ArrayList<CodeableConcept>();
1169      this.category.add(t);
1170      return t;
1171    }
1172
1173    public DetectedIssue addCategory(CodeableConcept t) { //3
1174      if (t == null)
1175        return this;
1176      if (this.category == null)
1177        this.category = new ArrayList<CodeableConcept>();
1178      this.category.add(t);
1179      return this;
1180    }
1181
1182    /**
1183     * @return The first repetition of repeating field {@link #category}, creating it if it does not already exist {3}
1184     */
1185    public CodeableConcept getCategoryFirstRep() { 
1186      if (getCategory().isEmpty()) {
1187        addCategory();
1188      }
1189      return getCategory().get(0);
1190    }
1191
1192    /**
1193     * @return {@link #code} (Identifies the specific type of issue identified.)
1194     */
1195    public CodeableConcept getCode() { 
1196      if (this.code == null)
1197        if (Configuration.errorOnAutoCreate())
1198          throw new Error("Attempt to auto-create DetectedIssue.code");
1199        else if (Configuration.doAutoCreate())
1200          this.code = new CodeableConcept(); // cc
1201      return this.code;
1202    }
1203
1204    public boolean hasCode() { 
1205      return this.code != null && !this.code.isEmpty();
1206    }
1207
1208    /**
1209     * @param value {@link #code} (Identifies the specific type of issue identified.)
1210     */
1211    public DetectedIssue setCode(CodeableConcept value) { 
1212      this.code = value;
1213      return this;
1214    }
1215
1216    /**
1217     * @return {@link #severity} (Indicates the degree of importance associated with the identified issue based on the potential impact on the patient.). This is the underlying object with id, value and extensions. The accessor "getSeverity" gives direct access to the value
1218     */
1219    public Enumeration<DetectedIssueSeverity> getSeverityElement() { 
1220      if (this.severity == null)
1221        if (Configuration.errorOnAutoCreate())
1222          throw new Error("Attempt to auto-create DetectedIssue.severity");
1223        else if (Configuration.doAutoCreate())
1224          this.severity = new Enumeration<DetectedIssueSeverity>(new DetectedIssueSeverityEnumFactory()); // bb
1225      return this.severity;
1226    }
1227
1228    public boolean hasSeverityElement() { 
1229      return this.severity != null && !this.severity.isEmpty();
1230    }
1231
1232    public boolean hasSeverity() { 
1233      return this.severity != null && !this.severity.isEmpty();
1234    }
1235
1236    /**
1237     * @param value {@link #severity} (Indicates the degree of importance associated with the identified issue based on the potential impact on the patient.). This is the underlying object with id, value and extensions. The accessor "getSeverity" gives direct access to the value
1238     */
1239    public DetectedIssue setSeverityElement(Enumeration<DetectedIssueSeverity> value) { 
1240      this.severity = value;
1241      return this;
1242    }
1243
1244    /**
1245     * @return Indicates the degree of importance associated with the identified issue based on the potential impact on the patient.
1246     */
1247    public DetectedIssueSeverity getSeverity() { 
1248      return this.severity == null ? null : this.severity.getValue();
1249    }
1250
1251    /**
1252     * @param value Indicates the degree of importance associated with the identified issue based on the potential impact on the patient.
1253     */
1254    public DetectedIssue setSeverity(DetectedIssueSeverity value) { 
1255      if (value == null)
1256        this.severity = null;
1257      else {
1258        if (this.severity == null)
1259          this.severity = new Enumeration<DetectedIssueSeverity>(new DetectedIssueSeverityEnumFactory());
1260        this.severity.setValue(value);
1261      }
1262      return this;
1263    }
1264
1265    /**
1266     * @return {@link #subject} (Indicates the subject whose record the detected issue is associated with.)
1267     */
1268    public Reference getSubject() { 
1269      if (this.subject == null)
1270        if (Configuration.errorOnAutoCreate())
1271          throw new Error("Attempt to auto-create DetectedIssue.subject");
1272        else if (Configuration.doAutoCreate())
1273          this.subject = new Reference(); // cc
1274      return this.subject;
1275    }
1276
1277    public boolean hasSubject() { 
1278      return this.subject != null && !this.subject.isEmpty();
1279    }
1280
1281    /**
1282     * @param value {@link #subject} (Indicates the subject whose record the detected issue is associated with.)
1283     */
1284    public DetectedIssue setSubject(Reference value) { 
1285      this.subject = value;
1286      return this;
1287    }
1288
1289    /**
1290     * @return {@link #encounter} (The encounter during which this issue was detected.)
1291     */
1292    public Reference getEncounter() { 
1293      if (this.encounter == null)
1294        if (Configuration.errorOnAutoCreate())
1295          throw new Error("Attempt to auto-create DetectedIssue.encounter");
1296        else if (Configuration.doAutoCreate())
1297          this.encounter = new Reference(); // cc
1298      return this.encounter;
1299    }
1300
1301    public boolean hasEncounter() { 
1302      return this.encounter != null && !this.encounter.isEmpty();
1303    }
1304
1305    /**
1306     * @param value {@link #encounter} (The encounter during which this issue was detected.)
1307     */
1308    public DetectedIssue setEncounter(Reference value) { 
1309      this.encounter = value;
1310      return this;
1311    }
1312
1313    /**
1314     * @return {@link #identified} (The date or period when the detected issue was initially identified.)
1315     */
1316    public DataType getIdentified() { 
1317      return this.identified;
1318    }
1319
1320    /**
1321     * @return {@link #identified} (The date or period when the detected issue was initially identified.)
1322     */
1323    public DateTimeType getIdentifiedDateTimeType() throws FHIRException { 
1324      if (this.identified == null)
1325        this.identified = new DateTimeType();
1326      if (!(this.identified instanceof DateTimeType))
1327        throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.identified.getClass().getName()+" was encountered");
1328      return (DateTimeType) this.identified;
1329    }
1330
1331    public boolean hasIdentifiedDateTimeType() { 
1332      return this != null && this.identified instanceof DateTimeType;
1333    }
1334
1335    /**
1336     * @return {@link #identified} (The date or period when the detected issue was initially identified.)
1337     */
1338    public Period getIdentifiedPeriod() throws FHIRException { 
1339      if (this.identified == null)
1340        this.identified = new Period();
1341      if (!(this.identified instanceof Period))
1342        throw new FHIRException("Type mismatch: the type Period was expected, but "+this.identified.getClass().getName()+" was encountered");
1343      return (Period) this.identified;
1344    }
1345
1346    public boolean hasIdentifiedPeriod() { 
1347      return this != null && this.identified instanceof Period;
1348    }
1349
1350    public boolean hasIdentified() { 
1351      return this.identified != null && !this.identified.isEmpty();
1352    }
1353
1354    /**
1355     * @param value {@link #identified} (The date or period when the detected issue was initially identified.)
1356     */
1357    public DetectedIssue setIdentified(DataType value) { 
1358      if (value != null && !(value instanceof DateTimeType || value instanceof Period))
1359        throw new FHIRException("Not the right type for DetectedIssue.identified[x]: "+value.fhirType());
1360      this.identified = value;
1361      return this;
1362    }
1363
1364    /**
1365     * @return {@link #author} (Individual or device responsible for the issue being raised.  For example, a decision support application or a pharmacist conducting a medication review.)
1366     */
1367    public Reference getAuthor() { 
1368      if (this.author == null)
1369        if (Configuration.errorOnAutoCreate())
1370          throw new Error("Attempt to auto-create DetectedIssue.author");
1371        else if (Configuration.doAutoCreate())
1372          this.author = new Reference(); // cc
1373      return this.author;
1374    }
1375
1376    public boolean hasAuthor() { 
1377      return this.author != null && !this.author.isEmpty();
1378    }
1379
1380    /**
1381     * @param value {@link #author} (Individual or device responsible for the issue being raised.  For example, a decision support application or a pharmacist conducting a medication review.)
1382     */
1383    public DetectedIssue setAuthor(Reference value) { 
1384      this.author = value;
1385      return this;
1386    }
1387
1388    /**
1389     * @return {@link #implicated} (Indicates the resource representing the current activity or proposed activity that is potentially problematic.)
1390     */
1391    public List<Reference> getImplicated() { 
1392      if (this.implicated == null)
1393        this.implicated = new ArrayList<Reference>();
1394      return this.implicated;
1395    }
1396
1397    /**
1398     * @return Returns a reference to <code>this</code> for easy method chaining
1399     */
1400    public DetectedIssue setImplicated(List<Reference> theImplicated) { 
1401      this.implicated = theImplicated;
1402      return this;
1403    }
1404
1405    public boolean hasImplicated() { 
1406      if (this.implicated == null)
1407        return false;
1408      for (Reference item : this.implicated)
1409        if (!item.isEmpty())
1410          return true;
1411      return false;
1412    }
1413
1414    public Reference addImplicated() { //3
1415      Reference t = new Reference();
1416      if (this.implicated == null)
1417        this.implicated = new ArrayList<Reference>();
1418      this.implicated.add(t);
1419      return t;
1420    }
1421
1422    public DetectedIssue addImplicated(Reference t) { //3
1423      if (t == null)
1424        return this;
1425      if (this.implicated == null)
1426        this.implicated = new ArrayList<Reference>();
1427      this.implicated.add(t);
1428      return this;
1429    }
1430
1431    /**
1432     * @return The first repetition of repeating field {@link #implicated}, creating it if it does not already exist {3}
1433     */
1434    public Reference getImplicatedFirstRep() { 
1435      if (getImplicated().isEmpty()) {
1436        addImplicated();
1437      }
1438      return getImplicated().get(0);
1439    }
1440
1441    /**
1442     * @return {@link #evidence} (Supporting evidence or manifestations that provide the basis for identifying the detected issue such as a GuidanceResponse or MeasureReport.)
1443     */
1444    public List<DetectedIssueEvidenceComponent> getEvidence() { 
1445      if (this.evidence == null)
1446        this.evidence = new ArrayList<DetectedIssueEvidenceComponent>();
1447      return this.evidence;
1448    }
1449
1450    /**
1451     * @return Returns a reference to <code>this</code> for easy method chaining
1452     */
1453    public DetectedIssue setEvidence(List<DetectedIssueEvidenceComponent> theEvidence) { 
1454      this.evidence = theEvidence;
1455      return this;
1456    }
1457
1458    public boolean hasEvidence() { 
1459      if (this.evidence == null)
1460        return false;
1461      for (DetectedIssueEvidenceComponent item : this.evidence)
1462        if (!item.isEmpty())
1463          return true;
1464      return false;
1465    }
1466
1467    public DetectedIssueEvidenceComponent addEvidence() { //3
1468      DetectedIssueEvidenceComponent t = new DetectedIssueEvidenceComponent();
1469      if (this.evidence == null)
1470        this.evidence = new ArrayList<DetectedIssueEvidenceComponent>();
1471      this.evidence.add(t);
1472      return t;
1473    }
1474
1475    public DetectedIssue addEvidence(DetectedIssueEvidenceComponent t) { //3
1476      if (t == null)
1477        return this;
1478      if (this.evidence == null)
1479        this.evidence = new ArrayList<DetectedIssueEvidenceComponent>();
1480      this.evidence.add(t);
1481      return this;
1482    }
1483
1484    /**
1485     * @return The first repetition of repeating field {@link #evidence}, creating it if it does not already exist {3}
1486     */
1487    public DetectedIssueEvidenceComponent getEvidenceFirstRep() { 
1488      if (getEvidence().isEmpty()) {
1489        addEvidence();
1490      }
1491      return getEvidence().get(0);
1492    }
1493
1494    /**
1495     * @return {@link #detail} (A textual explanation of the detected issue.). This is the underlying object with id, value and extensions. The accessor "getDetail" gives direct access to the value
1496     */
1497    public MarkdownType getDetailElement() { 
1498      if (this.detail == null)
1499        if (Configuration.errorOnAutoCreate())
1500          throw new Error("Attempt to auto-create DetectedIssue.detail");
1501        else if (Configuration.doAutoCreate())
1502          this.detail = new MarkdownType(); // bb
1503      return this.detail;
1504    }
1505
1506    public boolean hasDetailElement() { 
1507      return this.detail != null && !this.detail.isEmpty();
1508    }
1509
1510    public boolean hasDetail() { 
1511      return this.detail != null && !this.detail.isEmpty();
1512    }
1513
1514    /**
1515     * @param value {@link #detail} (A textual explanation of the detected issue.). This is the underlying object with id, value and extensions. The accessor "getDetail" gives direct access to the value
1516     */
1517    public DetectedIssue setDetailElement(MarkdownType value) { 
1518      this.detail = value;
1519      return this;
1520    }
1521
1522    /**
1523     * @return A textual explanation of the detected issue.
1524     */
1525    public String getDetail() { 
1526      return this.detail == null ? null : this.detail.getValue();
1527    }
1528
1529    /**
1530     * @param value A textual explanation of the detected issue.
1531     */
1532    public DetectedIssue setDetail(String value) { 
1533      if (Utilities.noString(value))
1534        this.detail = null;
1535      else {
1536        if (this.detail == null)
1537          this.detail = new MarkdownType();
1538        this.detail.setValue(value);
1539      }
1540      return this;
1541    }
1542
1543    /**
1544     * @return {@link #reference} (The literature, knowledge-base or similar reference that describes the propensity for the detected issue identified.). This is the underlying object with id, value and extensions. The accessor "getReference" gives direct access to the value
1545     */
1546    public UriType getReferenceElement() { 
1547      if (this.reference == null)
1548        if (Configuration.errorOnAutoCreate())
1549          throw new Error("Attempt to auto-create DetectedIssue.reference");
1550        else if (Configuration.doAutoCreate())
1551          this.reference = new UriType(); // bb
1552      return this.reference;
1553    }
1554
1555    public boolean hasReferenceElement() { 
1556      return this.reference != null && !this.reference.isEmpty();
1557    }
1558
1559    public boolean hasReference() { 
1560      return this.reference != null && !this.reference.isEmpty();
1561    }
1562
1563    /**
1564     * @param value {@link #reference} (The literature, knowledge-base or similar reference that describes the propensity for the detected issue identified.). This is the underlying object with id, value and extensions. The accessor "getReference" gives direct access to the value
1565     */
1566    public DetectedIssue setReferenceElement(UriType value) { 
1567      this.reference = value;
1568      return this;
1569    }
1570
1571    /**
1572     * @return The literature, knowledge-base or similar reference that describes the propensity for the detected issue identified.
1573     */
1574    public String getReference() { 
1575      return this.reference == null ? null : this.reference.getValue();
1576    }
1577
1578    /**
1579     * @param value The literature, knowledge-base or similar reference that describes the propensity for the detected issue identified.
1580     */
1581    public DetectedIssue setReference(String value) { 
1582      if (Utilities.noString(value))
1583        this.reference = null;
1584      else {
1585        if (this.reference == null)
1586          this.reference = new UriType();
1587        this.reference.setValue(value);
1588      }
1589      return this;
1590    }
1591
1592    /**
1593     * @return {@link #mitigation} (Indicates an action that has been taken or is committed to reduce or eliminate the likelihood of the risk identified by the detected issue from manifesting.  Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action.)
1594     */
1595    public List<DetectedIssueMitigationComponent> getMitigation() { 
1596      if (this.mitigation == null)
1597        this.mitigation = new ArrayList<DetectedIssueMitigationComponent>();
1598      return this.mitigation;
1599    }
1600
1601    /**
1602     * @return Returns a reference to <code>this</code> for easy method chaining
1603     */
1604    public DetectedIssue setMitigation(List<DetectedIssueMitigationComponent> theMitigation) { 
1605      this.mitigation = theMitigation;
1606      return this;
1607    }
1608
1609    public boolean hasMitigation() { 
1610      if (this.mitigation == null)
1611        return false;
1612      for (DetectedIssueMitigationComponent item : this.mitigation)
1613        if (!item.isEmpty())
1614          return true;
1615      return false;
1616    }
1617
1618    public DetectedIssueMitigationComponent addMitigation() { //3
1619      DetectedIssueMitigationComponent t = new DetectedIssueMitigationComponent();
1620      if (this.mitigation == null)
1621        this.mitigation = new ArrayList<DetectedIssueMitigationComponent>();
1622      this.mitigation.add(t);
1623      return t;
1624    }
1625
1626    public DetectedIssue addMitigation(DetectedIssueMitigationComponent t) { //3
1627      if (t == null)
1628        return this;
1629      if (this.mitigation == null)
1630        this.mitigation = new ArrayList<DetectedIssueMitigationComponent>();
1631      this.mitigation.add(t);
1632      return this;
1633    }
1634
1635    /**
1636     * @return The first repetition of repeating field {@link #mitigation}, creating it if it does not already exist {3}
1637     */
1638    public DetectedIssueMitigationComponent getMitigationFirstRep() { 
1639      if (getMitigation().isEmpty()) {
1640        addMitigation();
1641      }
1642      return getMitigation().get(0);
1643    }
1644
1645      protected void listChildren(List<Property> children) {
1646        super.listChildren(children);
1647        children.add(new Property("identifier", "Identifier", "Business identifier associated with the detected issue record.", 0, java.lang.Integer.MAX_VALUE, identifier));
1648        children.add(new Property("status", "code", "Indicates the status of the detected issue.", 0, 1, status));
1649        children.add(new Property("category", "CodeableConcept", "A code that classifies the general type of detected issue.", 0, java.lang.Integer.MAX_VALUE, category));
1650        children.add(new Property("code", "CodeableConcept", "Identifies the specific type of issue identified.", 0, 1, code));
1651        children.add(new Property("severity", "code", "Indicates the degree of importance associated with the identified issue based on the potential impact on the patient.", 0, 1, severity));
1652        children.add(new Property("subject", "Reference(Patient|Group|Device|Location|Organization|Procedure|Practitioner|Medication|Substance|BiologicallyDerivedProduct|NutritionProduct)", "Indicates the subject whose record the detected issue is associated with.", 0, 1, subject));
1653        children.add(new Property("encounter", "Reference(Encounter)", "The encounter during which this issue was detected.", 0, 1, encounter));
1654        children.add(new Property("identified[x]", "dateTime|Period", "The date or period when the detected issue was initially identified.", 0, 1, identified));
1655        children.add(new Property("author", "Reference(Patient|RelatedPerson|Practitioner|PractitionerRole|Device)", "Individual or device responsible for the issue being raised.  For example, a decision support application or a pharmacist conducting a medication review.", 0, 1, author));
1656        children.add(new Property("implicated", "Reference(Any)", "Indicates the resource representing the current activity or proposed activity that is potentially problematic.", 0, java.lang.Integer.MAX_VALUE, implicated));
1657        children.add(new Property("evidence", "", "Supporting evidence or manifestations that provide the basis for identifying the detected issue such as a GuidanceResponse or MeasureReport.", 0, java.lang.Integer.MAX_VALUE, evidence));
1658        children.add(new Property("detail", "markdown", "A textual explanation of the detected issue.", 0, 1, detail));
1659        children.add(new Property("reference", "uri", "The literature, knowledge-base or similar reference that describes the propensity for the detected issue identified.", 0, 1, reference));
1660        children.add(new Property("mitigation", "", "Indicates an action that has been taken or is committed to reduce or eliminate the likelihood of the risk identified by the detected issue from manifesting.  Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action.", 0, java.lang.Integer.MAX_VALUE, mitigation));
1661      }
1662
1663      @Override
1664      public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
1665        switch (_hash) {
1666        case -1618432855: /*identifier*/  return new Property("identifier", "Identifier", "Business identifier associated with the detected issue record.", 0, java.lang.Integer.MAX_VALUE, identifier);
1667        case -892481550: /*status*/  return new Property("status", "code", "Indicates the status of the detected issue.", 0, 1, status);
1668        case 50511102: /*category*/  return new Property("category", "CodeableConcept", "A code that classifies the general type of detected issue.", 0, java.lang.Integer.MAX_VALUE, category);
1669        case 3059181: /*code*/  return new Property("code", "CodeableConcept", "Identifies the specific type of issue identified.", 0, 1, code);
1670        case 1478300413: /*severity*/  return new Property("severity", "code", "Indicates the degree of importance associated with the identified issue based on the potential impact on the patient.", 0, 1, severity);
1671        case -1867885268: /*subject*/  return new Property("subject", "Reference(Patient|Group|Device|Location|Organization|Procedure|Practitioner|Medication|Substance|BiologicallyDerivedProduct|NutritionProduct)", "Indicates the subject whose record the detected issue is associated with.", 0, 1, subject);
1672        case 1524132147: /*encounter*/  return new Property("encounter", "Reference(Encounter)", "The encounter during which this issue was detected.", 0, 1, encounter);
1673        case 569355781: /*identified[x]*/  return new Property("identified[x]", "dateTime|Period", "The date or period when the detected issue was initially identified.", 0, 1, identified);
1674        case -1618432869: /*identified*/  return new Property("identified[x]", "dateTime|Period", "The date or period when the detected issue was initially identified.", 0, 1, identified);
1675        case -968788650: /*identifiedDateTime*/  return new Property("identified[x]", "dateTime", "The date or period when the detected issue was initially identified.", 0, 1, identified);
1676        case 520482364: /*identifiedPeriod*/  return new Property("identified[x]", "Period", "The date or period when the detected issue was initially identified.", 0, 1, identified);
1677        case -1406328437: /*author*/  return new Property("author", "Reference(Patient|RelatedPerson|Practitioner|PractitionerRole|Device)", "Individual or device responsible for the issue being raised.  For example, a decision support application or a pharmacist conducting a medication review.", 0, 1, author);
1678        case -810216884: /*implicated*/  return new Property("implicated", "Reference(Any)", "Indicates the resource representing the current activity or proposed activity that is potentially problematic.", 0, java.lang.Integer.MAX_VALUE, implicated);
1679        case 382967383: /*evidence*/  return new Property("evidence", "", "Supporting evidence or manifestations that provide the basis for identifying the detected issue such as a GuidanceResponse or MeasureReport.", 0, java.lang.Integer.MAX_VALUE, evidence);
1680        case -1335224239: /*detail*/  return new Property("detail", "markdown", "A textual explanation of the detected issue.", 0, 1, detail);
1681        case -925155509: /*reference*/  return new Property("reference", "uri", "The literature, knowledge-base or similar reference that describes the propensity for the detected issue identified.", 0, 1, reference);
1682        case 1293793087: /*mitigation*/  return new Property("mitigation", "", "Indicates an action that has been taken or is committed to reduce or eliminate the likelihood of the risk identified by the detected issue from manifesting.  Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action.", 0, java.lang.Integer.MAX_VALUE, mitigation);
1683        default: return super.getNamedProperty(_hash, _name, _checkValid);
1684        }
1685
1686      }
1687
1688      @Override
1689      public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
1690        switch (hash) {
1691        case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier
1692        case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<DetectedIssueStatus>
1693        case 50511102: /*category*/ return this.category == null ? new Base[0] : this.category.toArray(new Base[this.category.size()]); // CodeableConcept
1694        case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept
1695        case 1478300413: /*severity*/ return this.severity == null ? new Base[0] : new Base[] {this.severity}; // Enumeration<DetectedIssueSeverity>
1696        case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference
1697        case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference
1698        case -1618432869: /*identified*/ return this.identified == null ? new Base[0] : new Base[] {this.identified}; // DataType
1699        case -1406328437: /*author*/ return this.author == null ? new Base[0] : new Base[] {this.author}; // Reference
1700        case -810216884: /*implicated*/ return this.implicated == null ? new Base[0] : this.implicated.toArray(new Base[this.implicated.size()]); // Reference
1701        case 382967383: /*evidence*/ return this.evidence == null ? new Base[0] : this.evidence.toArray(new Base[this.evidence.size()]); // DetectedIssueEvidenceComponent
1702        case -1335224239: /*detail*/ return this.detail == null ? new Base[0] : new Base[] {this.detail}; // MarkdownType
1703        case -925155509: /*reference*/ return this.reference == null ? new Base[0] : new Base[] {this.reference}; // UriType
1704        case 1293793087: /*mitigation*/ return this.mitigation == null ? new Base[0] : this.mitigation.toArray(new Base[this.mitigation.size()]); // DetectedIssueMitigationComponent
1705        default: return super.getProperty(hash, name, checkValid);
1706        }
1707
1708      }
1709
1710      @Override
1711      public Base setProperty(int hash, String name, Base value) throws FHIRException {
1712        switch (hash) {
1713        case -1618432855: // identifier
1714          this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier
1715          return value;
1716        case -892481550: // status
1717          value = new DetectedIssueStatusEnumFactory().fromType(TypeConvertor.castToCode(value));
1718          this.status = (Enumeration) value; // Enumeration<DetectedIssueStatus>
1719          return value;
1720        case 50511102: // category
1721          this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept
1722          return value;
1723        case 3059181: // code
1724          this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept
1725          return value;
1726        case 1478300413: // severity
1727          value = new DetectedIssueSeverityEnumFactory().fromType(TypeConvertor.castToCode(value));
1728          this.severity = (Enumeration) value; // Enumeration<DetectedIssueSeverity>
1729          return value;
1730        case -1867885268: // subject
1731          this.subject = TypeConvertor.castToReference(value); // Reference
1732          return value;
1733        case 1524132147: // encounter
1734          this.encounter = TypeConvertor.castToReference(value); // Reference
1735          return value;
1736        case -1618432869: // identified
1737          this.identified = TypeConvertor.castToType(value); // DataType
1738          return value;
1739        case -1406328437: // author
1740          this.author = TypeConvertor.castToReference(value); // Reference
1741          return value;
1742        case -810216884: // implicated
1743          this.getImplicated().add(TypeConvertor.castToReference(value)); // Reference
1744          return value;
1745        case 382967383: // evidence
1746          this.getEvidence().add((DetectedIssueEvidenceComponent) value); // DetectedIssueEvidenceComponent
1747          return value;
1748        case -1335224239: // detail
1749          this.detail = TypeConvertor.castToMarkdown(value); // MarkdownType
1750          return value;
1751        case -925155509: // reference
1752          this.reference = TypeConvertor.castToUri(value); // UriType
1753          return value;
1754        case 1293793087: // mitigation
1755          this.getMitigation().add((DetectedIssueMitigationComponent) value); // DetectedIssueMitigationComponent
1756          return value;
1757        default: return super.setProperty(hash, name, value);
1758        }
1759
1760      }
1761
1762      @Override
1763      public Base setProperty(String name, Base value) throws FHIRException {
1764        if (name.equals("identifier")) {
1765          this.getIdentifier().add(TypeConvertor.castToIdentifier(value));
1766        } else if (name.equals("status")) {
1767          value = new DetectedIssueStatusEnumFactory().fromType(TypeConvertor.castToCode(value));
1768          this.status = (Enumeration) value; // Enumeration<DetectedIssueStatus>
1769        } else if (name.equals("category")) {
1770          this.getCategory().add(TypeConvertor.castToCodeableConcept(value));
1771        } else if (name.equals("code")) {
1772          this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept
1773        } else if (name.equals("severity")) {
1774          value = new DetectedIssueSeverityEnumFactory().fromType(TypeConvertor.castToCode(value));
1775          this.severity = (Enumeration) value; // Enumeration<DetectedIssueSeverity>
1776        } else if (name.equals("subject")) {
1777          this.subject = TypeConvertor.castToReference(value); // Reference
1778        } else if (name.equals("encounter")) {
1779          this.encounter = TypeConvertor.castToReference(value); // Reference
1780        } else if (name.equals("identified[x]")) {
1781          this.identified = TypeConvertor.castToType(value); // DataType
1782        } else if (name.equals("author")) {
1783          this.author = TypeConvertor.castToReference(value); // Reference
1784        } else if (name.equals("implicated")) {
1785          this.getImplicated().add(TypeConvertor.castToReference(value));
1786        } else if (name.equals("evidence")) {
1787          this.getEvidence().add((DetectedIssueEvidenceComponent) value);
1788        } else if (name.equals("detail")) {
1789          this.detail = TypeConvertor.castToMarkdown(value); // MarkdownType
1790        } else if (name.equals("reference")) {
1791          this.reference = TypeConvertor.castToUri(value); // UriType
1792        } else if (name.equals("mitigation")) {
1793          this.getMitigation().add((DetectedIssueMitigationComponent) value);
1794        } else
1795          return super.setProperty(name, value);
1796        return value;
1797      }
1798
1799      @Override
1800      public Base makeProperty(int hash, String name) throws FHIRException {
1801        switch (hash) {
1802        case -1618432855:  return addIdentifier(); 
1803        case -892481550:  return getStatusElement();
1804        case 50511102:  return addCategory(); 
1805        case 3059181:  return getCode();
1806        case 1478300413:  return getSeverityElement();
1807        case -1867885268:  return getSubject();
1808        case 1524132147:  return getEncounter();
1809        case 569355781:  return getIdentified();
1810        case -1618432869:  return getIdentified();
1811        case -1406328437:  return getAuthor();
1812        case -810216884:  return addImplicated(); 
1813        case 382967383:  return addEvidence(); 
1814        case -1335224239:  return getDetailElement();
1815        case -925155509:  return getReferenceElement();
1816        case 1293793087:  return addMitigation(); 
1817        default: return super.makeProperty(hash, name);
1818        }
1819
1820      }
1821
1822      @Override
1823      public String[] getTypesForProperty(int hash, String name) throws FHIRException {
1824        switch (hash) {
1825        case -1618432855: /*identifier*/ return new String[] {"Identifier"};
1826        case -892481550: /*status*/ return new String[] {"code"};
1827        case 50511102: /*category*/ return new String[] {"CodeableConcept"};
1828        case 3059181: /*code*/ return new String[] {"CodeableConcept"};
1829        case 1478300413: /*severity*/ return new String[] {"code"};
1830        case -1867885268: /*subject*/ return new String[] {"Reference"};
1831        case 1524132147: /*encounter*/ return new String[] {"Reference"};
1832        case -1618432869: /*identified*/ return new String[] {"dateTime", "Period"};
1833        case -1406328437: /*author*/ return new String[] {"Reference"};
1834        case -810216884: /*implicated*/ return new String[] {"Reference"};
1835        case 382967383: /*evidence*/ return new String[] {};
1836        case -1335224239: /*detail*/ return new String[] {"markdown"};
1837        case -925155509: /*reference*/ return new String[] {"uri"};
1838        case 1293793087: /*mitigation*/ return new String[] {};
1839        default: return super.getTypesForProperty(hash, name);
1840        }
1841
1842      }
1843
1844      @Override
1845      public Base addChild(String name) throws FHIRException {
1846        if (name.equals("identifier")) {
1847          return addIdentifier();
1848        }
1849        else if (name.equals("status")) {
1850          throw new FHIRException("Cannot call addChild on a singleton property DetectedIssue.status");
1851        }
1852        else if (name.equals("category")) {
1853          return addCategory();
1854        }
1855        else if (name.equals("code")) {
1856          this.code = new CodeableConcept();
1857          return this.code;
1858        }
1859        else if (name.equals("severity")) {
1860          throw new FHIRException("Cannot call addChild on a singleton property DetectedIssue.severity");
1861        }
1862        else if (name.equals("subject")) {
1863          this.subject = new Reference();
1864          return this.subject;
1865        }
1866        else if (name.equals("encounter")) {
1867          this.encounter = new Reference();
1868          return this.encounter;
1869        }
1870        else if (name.equals("identifiedDateTime")) {
1871          this.identified = new DateTimeType();
1872          return this.identified;
1873        }
1874        else if (name.equals("identifiedPeriod")) {
1875          this.identified = new Period();
1876          return this.identified;
1877        }
1878        else if (name.equals("author")) {
1879          this.author = new Reference();
1880          return this.author;
1881        }
1882        else if (name.equals("implicated")) {
1883          return addImplicated();
1884        }
1885        else if (name.equals("evidence")) {
1886          return addEvidence();
1887        }
1888        else if (name.equals("detail")) {
1889          throw new FHIRException("Cannot call addChild on a singleton property DetectedIssue.detail");
1890        }
1891        else if (name.equals("reference")) {
1892          throw new FHIRException("Cannot call addChild on a singleton property DetectedIssue.reference");
1893        }
1894        else if (name.equals("mitigation")) {
1895          return addMitigation();
1896        }
1897        else
1898          return super.addChild(name);
1899      }
1900
1901  public String fhirType() {
1902    return "DetectedIssue";
1903
1904  }
1905
1906      public DetectedIssue copy() {
1907        DetectedIssue dst = new DetectedIssue();
1908        copyValues(dst);
1909        return dst;
1910      }
1911
1912      public void copyValues(DetectedIssue dst) {
1913        super.copyValues(dst);
1914        if (identifier != null) {
1915          dst.identifier = new ArrayList<Identifier>();
1916          for (Identifier i : identifier)
1917            dst.identifier.add(i.copy());
1918        };
1919        dst.status = status == null ? null : status.copy();
1920        if (category != null) {
1921          dst.category = new ArrayList<CodeableConcept>();
1922          for (CodeableConcept i : category)
1923            dst.category.add(i.copy());
1924        };
1925        dst.code = code == null ? null : code.copy();
1926        dst.severity = severity == null ? null : severity.copy();
1927        dst.subject = subject == null ? null : subject.copy();
1928        dst.encounter = encounter == null ? null : encounter.copy();
1929        dst.identified = identified == null ? null : identified.copy();
1930        dst.author = author == null ? null : author.copy();
1931        if (implicated != null) {
1932          dst.implicated = new ArrayList<Reference>();
1933          for (Reference i : implicated)
1934            dst.implicated.add(i.copy());
1935        };
1936        if (evidence != null) {
1937          dst.evidence = new ArrayList<DetectedIssueEvidenceComponent>();
1938          for (DetectedIssueEvidenceComponent i : evidence)
1939            dst.evidence.add(i.copy());
1940        };
1941        dst.detail = detail == null ? null : detail.copy();
1942        dst.reference = reference == null ? null : reference.copy();
1943        if (mitigation != null) {
1944          dst.mitigation = new ArrayList<DetectedIssueMitigationComponent>();
1945          for (DetectedIssueMitigationComponent i : mitigation)
1946            dst.mitigation.add(i.copy());
1947        };
1948      }
1949
1950      protected DetectedIssue typedCopy() {
1951        return copy();
1952      }
1953
1954      @Override
1955      public boolean equalsDeep(Base other_) {
1956        if (!super.equalsDeep(other_))
1957          return false;
1958        if (!(other_ instanceof DetectedIssue))
1959          return false;
1960        DetectedIssue o = (DetectedIssue) other_;
1961        return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(category, o.category, true)
1962           && compareDeep(code, o.code, true) && compareDeep(severity, o.severity, true) && compareDeep(subject, o.subject, true)
1963           && compareDeep(encounter, o.encounter, true) && compareDeep(identified, o.identified, true) && compareDeep(author, o.author, true)
1964           && compareDeep(implicated, o.implicated, true) && compareDeep(evidence, o.evidence, true) && compareDeep(detail, o.detail, true)
1965           && compareDeep(reference, o.reference, true) && compareDeep(mitigation, o.mitigation, true);
1966      }
1967
1968      @Override
1969      public boolean equalsShallow(Base other_) {
1970        if (!super.equalsShallow(other_))
1971          return false;
1972        if (!(other_ instanceof DetectedIssue))
1973          return false;
1974        DetectedIssue o = (DetectedIssue) other_;
1975        return compareValues(status, o.status, true) && compareValues(severity, o.severity, true) && compareValues(detail, o.detail, true)
1976           && compareValues(reference, o.reference, true);
1977      }
1978
1979      public boolean isEmpty() {
1980        return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, category
1981          , code, severity, subject, encounter, identified, author, implicated, evidence
1982          , detail, reference, mitigation);
1983      }
1984
1985  @Override
1986  public ResourceType getResourceType() {
1987    return ResourceType.DetectedIssue;
1988   }
1989
1990 /**
1991   * Search parameter: <b>author</b>
1992   * <p>
1993   * Description: <b>The provider or device that identified the issue</b><br>
1994   * Type: <b>reference</b><br>
1995   * Path: <b>DetectedIssue.author</b><br>
1996   * </p>
1997   */
1998  @SearchParamDefinition(name="author", path="DetectedIssue.author", description="The provider or device that identified the issue", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Device.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } )
1999  public static final String SP_AUTHOR = "author";
2000 /**
2001   * <b>Fluent Client</b> search parameter constant for <b>author</b>
2002   * <p>
2003   * Description: <b>The provider or device that identified the issue</b><br>
2004   * Type: <b>reference</b><br>
2005   * Path: <b>DetectedIssue.author</b><br>
2006   * </p>
2007   */
2008  public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam AUTHOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_AUTHOR);
2009
2010/**
2011   * Constant for fluent queries to be used to add include statements. Specifies
2012   * the path value of "<b>DetectedIssue:author</b>".
2013   */
2014  public static final ca.uhn.fhir.model.api.Include INCLUDE_AUTHOR = new ca.uhn.fhir.model.api.Include("DetectedIssue:author").toLocked();
2015
2016 /**
2017   * Search parameter: <b>category</b>
2018   * <p>
2019   * Description: <b>Issue Category, e.g. drug-drug, duplicate therapy, etc.</b><br>
2020   * Type: <b>token</b><br>
2021   * Path: <b>DetectedIssue.category</b><br>
2022   * </p>
2023   */
2024  @SearchParamDefinition(name="category", path="DetectedIssue.category", description="Issue Category, e.g. drug-drug, duplicate therapy, etc.", type="token" )
2025  public static final String SP_CATEGORY = "category";
2026 /**
2027   * <b>Fluent Client</b> search parameter constant for <b>category</b>
2028   * <p>
2029   * Description: <b>Issue Category, e.g. drug-drug, duplicate therapy, etc.</b><br>
2030   * Type: <b>token</b><br>
2031   * Path: <b>DetectedIssue.category</b><br>
2032   * </p>
2033   */
2034  public static final ca.uhn.fhir.rest.gclient.TokenClientParam CATEGORY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CATEGORY);
2035
2036 /**
2037   * Search parameter: <b>identified</b>
2038   * <p>
2039   * Description: <b>When identified</b><br>
2040   * Type: <b>date</b><br>
2041   * Path: <b>DetectedIssue.identified.ofType(dateTime) | DetectedIssue.identified.ofType(Period)</b><br>
2042   * </p>
2043   */
2044  @SearchParamDefinition(name="identified", path="DetectedIssue.identified.ofType(dateTime) | DetectedIssue.identified.ofType(Period)", description="When identified", type="date" )
2045  public static final String SP_IDENTIFIED = "identified";
2046 /**
2047   * <b>Fluent Client</b> search parameter constant for <b>identified</b>
2048   * <p>
2049   * Description: <b>When identified</b><br>
2050   * Type: <b>date</b><br>
2051   * Path: <b>DetectedIssue.identified.ofType(dateTime) | DetectedIssue.identified.ofType(Period)</b><br>
2052   * </p>
2053   */
2054  public static final ca.uhn.fhir.rest.gclient.DateClientParam IDENTIFIED = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_IDENTIFIED);
2055
2056 /**
2057   * Search parameter: <b>implicated</b>
2058   * <p>
2059   * Description: <b>Problem resource</b><br>
2060   * Type: <b>reference</b><br>
2061   * Path: <b>DetectedIssue.implicated</b><br>
2062   * </p>
2063   */
2064  @SearchParamDefinition(name="implicated", path="DetectedIssue.implicated", description="Problem resource", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BiologicallyDerivedProductDispense.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceAssociation.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentReference.class, Encounter.class, EncounterHistory.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryItem.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationStatement.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Parameters.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestPlan.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } )
2065  public static final String SP_IMPLICATED = "implicated";
2066 /**
2067   * <b>Fluent Client</b> search parameter constant for <b>implicated</b>
2068   * <p>
2069   * Description: <b>Problem resource</b><br>
2070   * Type: <b>reference</b><br>
2071   * Path: <b>DetectedIssue.implicated</b><br>
2072   * </p>
2073   */
2074  public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam IMPLICATED = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_IMPLICATED);
2075
2076/**
2077   * Constant for fluent queries to be used to add include statements. Specifies
2078   * the path value of "<b>DetectedIssue:implicated</b>".
2079   */
2080  public static final ca.uhn.fhir.model.api.Include INCLUDE_IMPLICATED = new ca.uhn.fhir.model.api.Include("DetectedIssue:implicated").toLocked();
2081
2082 /**
2083   * Search parameter: <b>status</b>
2084   * <p>
2085   * Description: <b>The status of the issue</b><br>
2086   * Type: <b>token</b><br>
2087   * Path: <b>DetectedIssue.status</b><br>
2088   * </p>
2089   */
2090  @SearchParamDefinition(name="status", path="DetectedIssue.status", description="The status of the issue", type="token" )
2091  public static final String SP_STATUS = "status";
2092 /**
2093   * <b>Fluent Client</b> search parameter constant for <b>status</b>
2094   * <p>
2095   * Description: <b>The status of the issue</b><br>
2096   * Type: <b>token</b><br>
2097   * Path: <b>DetectedIssue.status</b><br>
2098   * </p>
2099   */
2100  public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS);
2101
2102 /**
2103   * Search parameter: <b>subject</b>
2104   * <p>
2105   * Description: <b>Associated subject</b><br>
2106   * Type: <b>reference</b><br>
2107   * Path: <b>DetectedIssue.subject</b><br>
2108   * </p>
2109   */
2110  @SearchParamDefinition(name="subject", path="DetectedIssue.subject", description="Associated subject", type="reference", target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } )
2111  public static final String SP_SUBJECT = "subject";
2112 /**
2113   * <b>Fluent Client</b> search parameter constant for <b>subject</b>
2114   * <p>
2115   * Description: <b>Associated subject</b><br>
2116   * Type: <b>reference</b><br>
2117   * Path: <b>DetectedIssue.subject</b><br>
2118   * </p>
2119   */
2120  public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT);
2121
2122/**
2123   * Constant for fluent queries to be used to add include statements. Specifies
2124   * the path value of "<b>DetectedIssue:subject</b>".
2125   */
2126  public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("DetectedIssue:subject").toLocked();
2127
2128 /**
2129   * Search parameter: <b>code</b>
2130   * <p>
2131   * Description: <b>Multiple Resources: 
2132
2133* [AdverseEvent](adverseevent.html): Event or incident that occurred or was averted
2134* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance
2135* [AuditEvent](auditevent.html): More specific code for the event
2136* [Basic](basic.html): Kind of Resource
2137* [ChargeItem](chargeitem.html): A code that identifies the charge, like a billing code
2138* [Condition](condition.html): Code for the condition
2139* [DetectedIssue](detectedissue.html): Issue Type, e.g. drug-drug, duplicate therapy, etc.
2140* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered
2141* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result
2142* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code
2143* [ImagingSelection](imagingselection.html): The imaging selection status
2144* [List](list.html): What the purpose of this list is
2145* [Medication](medication.html): Returns medications for a specific code
2146* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code
2147* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code
2148* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code
2149* [MedicationStatement](medicationstatement.html): Return statements of this medication code
2150* [NutritionIntake](nutritionintake.html): Returns statements of this code of NutritionIntake
2151* [Observation](observation.html): The code of the observation type
2152* [Procedure](procedure.html): A code to identify a  procedure
2153* [RequestOrchestration](requestorchestration.html): The code of the request orchestration
2154* [Task](task.html): Search by task code
2155</b><br>
2156   * Type: <b>token</b><br>
2157   * Path: <b>AdverseEvent.code | AllergyIntolerance.code | AllergyIntolerance.reaction.substance | AuditEvent.code | Basic.code | ChargeItem.code | Condition.code | DetectedIssue.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | ImagingSelection.status | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationStatement.medication.concept | NutritionIntake.code | Observation.code | Procedure.code | RequestOrchestration.code | Task.code</b><br>
2158   * </p>
2159   */
2160  @SearchParamDefinition(name="code", path="AdverseEvent.code | AllergyIntolerance.code | AllergyIntolerance.reaction.substance | AuditEvent.code | Basic.code | ChargeItem.code | Condition.code | DetectedIssue.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | ImagingSelection.status | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationStatement.medication.concept | NutritionIntake.code | Observation.code | Procedure.code | RequestOrchestration.code | Task.code", description="Multiple Resources: \r\n\r\n* [AdverseEvent](adverseevent.html): Event or incident that occurred or was averted\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [AuditEvent](auditevent.html): More specific code for the event\r\n* [Basic](basic.html): Kind of Resource\r\n* [ChargeItem](chargeitem.html): A code that identifies the charge, like a billing code\r\n* [Condition](condition.html): Code for the condition\r\n* [DetectedIssue](detectedissue.html): Issue Type, e.g. drug-drug, duplicate therapy, etc.\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [ImagingSelection](imagingselection.html): The imaging selection status\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [NutritionIntake](nutritionintake.html): Returns statements of this code of NutritionIntake\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a  procedure\r\n* [RequestOrchestration](requestorchestration.html): The code of the request orchestration\r\n* [Task](task.html): Search by task code\r\n", type="token" )
2161  public static final String SP_CODE = "code";
2162 /**
2163   * <b>Fluent Client</b> search parameter constant for <b>code</b>
2164   * <p>
2165   * Description: <b>Multiple Resources: 
2166
2167* [AdverseEvent](adverseevent.html): Event or incident that occurred or was averted
2168* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance
2169* [AuditEvent](auditevent.html): More specific code for the event
2170* [Basic](basic.html): Kind of Resource
2171* [ChargeItem](chargeitem.html): A code that identifies the charge, like a billing code
2172* [Condition](condition.html): Code for the condition
2173* [DetectedIssue](detectedissue.html): Issue Type, e.g. drug-drug, duplicate therapy, etc.
2174* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered
2175* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result
2176* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code
2177* [ImagingSelection](imagingselection.html): The imaging selection status
2178* [List](list.html): What the purpose of this list is
2179* [Medication](medication.html): Returns medications for a specific code
2180* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code
2181* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code
2182* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code
2183* [MedicationStatement](medicationstatement.html): Return statements of this medication code
2184* [NutritionIntake](nutritionintake.html): Returns statements of this code of NutritionIntake
2185* [Observation](observation.html): The code of the observation type
2186* [Procedure](procedure.html): A code to identify a  procedure
2187* [RequestOrchestration](requestorchestration.html): The code of the request orchestration
2188* [Task](task.html): Search by task code
2189</b><br>
2190   * Type: <b>token</b><br>
2191   * Path: <b>AdverseEvent.code | AllergyIntolerance.code | AllergyIntolerance.reaction.substance | AuditEvent.code | Basic.code | ChargeItem.code | Condition.code | DetectedIssue.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | ImagingSelection.status | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationStatement.medication.concept | NutritionIntake.code | Observation.code | Procedure.code | RequestOrchestration.code | Task.code</b><br>
2192   * </p>
2193   */
2194  public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE);
2195
2196 /**
2197   * Search parameter: <b>identifier</b>
2198   * <p>
2199   * Description: <b>Multiple Resources: 
2200
2201* [Account](account.html): Account number
2202* [AdverseEvent](adverseevent.html): Business identifier for the event
2203* [AllergyIntolerance](allergyintolerance.html): External ids for this item
2204* [Appointment](appointment.html): An Identifier of the Appointment
2205* [AppointmentResponse](appointmentresponse.html): An Identifier in this appointment response
2206* [Basic](basic.html): Business identifier
2207* [BodyStructure](bodystructure.html): Bodystructure identifier
2208* [CarePlan](careplan.html): External Ids for this plan
2209* [CareTeam](careteam.html): External Ids for this team
2210* [ChargeItem](chargeitem.html): Business Identifier for item
2211* [Claim](claim.html): The primary identifier of the financial resource
2212* [ClaimResponse](claimresponse.html): The identity of the ClaimResponse
2213* [ClinicalImpression](clinicalimpression.html): Business identifier
2214* [Communication](communication.html): Unique identifier
2215* [CommunicationRequest](communicationrequest.html): Unique identifier
2216* [Composition](composition.html): Version-independent identifier for the Composition
2217* [Condition](condition.html): A unique identifier of the condition record
2218* [Consent](consent.html): Identifier for this record (external references)
2219* [Contract](contract.html): The identity of the contract
2220* [Coverage](coverage.html): The primary identifier of the insured and the coverage
2221* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The business identifier of the Eligibility
2222* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The business identifier
2223* [DetectedIssue](detectedissue.html): Unique id for the detected issue
2224* [DeviceRequest](devicerequest.html): Business identifier for request/order
2225* [DeviceUsage](deviceusage.html): Search by identifier
2226* [DiagnosticReport](diagnosticreport.html): An identifier for the report
2227* [DocumentReference](documentreference.html): Identifier of the attachment binary
2228* [Encounter](encounter.html): Identifier(s) by which this encounter is known
2229* [EnrollmentRequest](enrollmentrequest.html): The business identifier of the Enrollment
2230* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare
2231* [ExplanationOfBenefit](explanationofbenefit.html): The business identifier of the Explanation of Benefit
2232* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier
2233* [Flag](flag.html): Business identifier
2234* [Goal](goal.html): External Ids for this goal
2235* [GuidanceResponse](guidanceresponse.html): The identifier of the guidance response
2236* [ImagingSelection](imagingselection.html): Identifiers for the imaging selection
2237* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID
2238* [Immunization](immunization.html): Business identifier
2239* [ImmunizationEvaluation](immunizationevaluation.html): ID of the evaluation
2240* [ImmunizationRecommendation](immunizationrecommendation.html): Business identifier
2241* [Invoice](invoice.html): Business Identifier for item
2242* [List](list.html): Business identifier
2243* [MeasureReport](measurereport.html): External identifier of the measure report to be returned
2244* [Medication](medication.html): Returns medications with this external identifier
2245* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier
2246* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier
2247* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier
2248* [MedicationStatement](medicationstatement.html): Return statements with this external identifier
2249* [MolecularSequence](molecularsequence.html): The unique identity for a particular sequence
2250* [NutritionIntake](nutritionintake.html): Return statements with this external identifier
2251* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier
2252* [Observation](observation.html): The unique id for a particular observation
2253* [Person](person.html): A person Identifier
2254* [Procedure](procedure.html): A unique identifier for a procedure
2255* [QuestionnaireResponse](questionnaireresponse.html): The unique identifier for the questionnaire response
2256* [RelatedPerson](relatedperson.html): An Identifier of the RelatedPerson
2257* [RequestOrchestration](requestorchestration.html): External identifiers for the request orchestration
2258* [ResearchSubject](researchsubject.html): Business Identifier for research subject in a study
2259* [RiskAssessment](riskassessment.html): Unique identifier for the assessment
2260* [ServiceRequest](servicerequest.html): Identifiers assigned to this order
2261* [Specimen](specimen.html): The unique identifier associated with the specimen
2262* [SupplyDelivery](supplydelivery.html): External identifier
2263* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest
2264* [Task](task.html): Search for a task instance by its business identifier
2265* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier
2266</b><br>
2267   * Type: <b>token</b><br>
2268   * 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>
2269   * </p>
2270   */
2271  @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" )
2272  public static final String SP_IDENTIFIER = "identifier";
2273 /**
2274   * <b>Fluent Client</b> search parameter constant for <b>identifier</b>
2275   * <p>
2276   * Description: <b>Multiple Resources: 
2277
2278* [Account](account.html): Account number
2279* [AdverseEvent](adverseevent.html): Business identifier for the event
2280* [AllergyIntolerance](allergyintolerance.html): External ids for this item
2281* [Appointment](appointment.html): An Identifier of the Appointment
2282* [AppointmentResponse](appointmentresponse.html): An Identifier in this appointment response
2283* [Basic](basic.html): Business identifier
2284* [BodyStructure](bodystructure.html): Bodystructure identifier
2285* [CarePlan](careplan.html): External Ids for this plan
2286* [CareTeam](careteam.html): External Ids for this team
2287* [ChargeItem](chargeitem.html): Business Identifier for item
2288* [Claim](claim.html): The primary identifier of the financial resource
2289* [ClaimResponse](claimresponse.html): The identity of the ClaimResponse
2290* [ClinicalImpression](clinicalimpression.html): Business identifier
2291* [Communication](communication.html): Unique identifier
2292* [CommunicationRequest](communicationrequest.html): Unique identifier
2293* [Composition](composition.html): Version-independent identifier for the Composition
2294* [Condition](condition.html): A unique identifier of the condition record
2295* [Consent](consent.html): Identifier for this record (external references)
2296* [Contract](contract.html): The identity of the contract
2297* [Coverage](coverage.html): The primary identifier of the insured and the coverage
2298* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The business identifier of the Eligibility
2299* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The business identifier
2300* [DetectedIssue](detectedissue.html): Unique id for the detected issue
2301* [DeviceRequest](devicerequest.html): Business identifier for request/order
2302* [DeviceUsage](deviceusage.html): Search by identifier
2303* [DiagnosticReport](diagnosticreport.html): An identifier for the report
2304* [DocumentReference](documentreference.html): Identifier of the attachment binary
2305* [Encounter](encounter.html): Identifier(s) by which this encounter is known
2306* [EnrollmentRequest](enrollmentrequest.html): The business identifier of the Enrollment
2307* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare
2308* [ExplanationOfBenefit](explanationofbenefit.html): The business identifier of the Explanation of Benefit
2309* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier
2310* [Flag](flag.html): Business identifier
2311* [Goal](goal.html): External Ids for this goal
2312* [GuidanceResponse](guidanceresponse.html): The identifier of the guidance response
2313* [ImagingSelection](imagingselection.html): Identifiers for the imaging selection
2314* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID
2315* [Immunization](immunization.html): Business identifier
2316* [ImmunizationEvaluation](immunizationevaluation.html): ID of the evaluation
2317* [ImmunizationRecommendation](immunizationrecommendation.html): Business identifier
2318* [Invoice](invoice.html): Business Identifier for item
2319* [List](list.html): Business identifier
2320* [MeasureReport](measurereport.html): External identifier of the measure report to be returned
2321* [Medication](medication.html): Returns medications with this external identifier
2322* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier
2323* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier
2324* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier
2325* [MedicationStatement](medicationstatement.html): Return statements with this external identifier
2326* [MolecularSequence](molecularsequence.html): The unique identity for a particular sequence
2327* [NutritionIntake](nutritionintake.html): Return statements with this external identifier
2328* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier
2329* [Observation](observation.html): The unique id for a particular observation
2330* [Person](person.html): A person Identifier
2331* [Procedure](procedure.html): A unique identifier for a procedure
2332* [QuestionnaireResponse](questionnaireresponse.html): The unique identifier for the questionnaire response
2333* [RelatedPerson](relatedperson.html): An Identifier of the RelatedPerson
2334* [RequestOrchestration](requestorchestration.html): External identifiers for the request orchestration
2335* [ResearchSubject](researchsubject.html): Business Identifier for research subject in a study
2336* [RiskAssessment](riskassessment.html): Unique identifier for the assessment
2337* [ServiceRequest](servicerequest.html): Identifiers assigned to this order
2338* [Specimen](specimen.html): The unique identifier associated with the specimen
2339* [SupplyDelivery](supplydelivery.html): External identifier
2340* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest
2341* [Task](task.html): Search for a task instance by its business identifier
2342* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier
2343</b><br>
2344   * Type: <b>token</b><br>
2345   * 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>
2346   * </p>
2347   */
2348  public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER);
2349
2350 /**
2351   * Search parameter: <b>patient</b>
2352   * <p>
2353   * Description: <b>Multiple Resources: 
2354
2355* [Account](account.html): The entity that caused the expenses
2356* [AdverseEvent](adverseevent.html): Subject impacted by event
2357* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for
2358* [Appointment](appointment.html): One of the individuals of the appointment is this patient
2359* [AppointmentResponse](appointmentresponse.html): This Response is for this Patient
2360* [AuditEvent](auditevent.html): Where the activity involved patient data
2361* [Basic](basic.html): Identifies the focus of this resource
2362* [BodyStructure](bodystructure.html): Who this is about
2363* [CarePlan](careplan.html): Who the care plan is for
2364* [CareTeam](careteam.html): Who care team is for
2365* [ChargeItem](chargeitem.html): Individual service was done for/to
2366* [Claim](claim.html): Patient receiving the products or services
2367* [ClaimResponse](claimresponse.html): The subject of care
2368* [ClinicalImpression](clinicalimpression.html): Patient assessed
2369* [Communication](communication.html): Focus of message
2370* [CommunicationRequest](communicationrequest.html): Focus of message
2371* [Composition](composition.html): Who and/or what the composition is about
2372* [Condition](condition.html): Who has the condition?
2373* [Consent](consent.html): Who the consent applies to
2374* [Contract](contract.html): The identity of the subject of the contract (if a patient)
2375* [Coverage](coverage.html): Retrieve coverages for a patient
2376* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The reference to the patient
2377* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The reference to the patient
2378* [DetectedIssue](detectedissue.html): Associated patient
2379* [DeviceRequest](devicerequest.html): Individual the service is ordered for
2380* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device
2381* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient
2382* [DocumentReference](documentreference.html): Who/what is the subject of the document
2383* [Encounter](encounter.html): The patient present at the encounter
2384* [EnrollmentRequest](enrollmentrequest.html): The party to be enrolled
2385* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care
2386* [ExplanationOfBenefit](explanationofbenefit.html): The reference to the patient
2387* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for
2388* [Flag](flag.html): The identity of a subject to list flags for
2389* [Goal](goal.html): Who this goal is intended for
2390* [GuidanceResponse](guidanceresponse.html): The identity of a patient to search for guidance response results
2391* [ImagingSelection](imagingselection.html): Who the study is about
2392* [ImagingStudy](imagingstudy.html): Who the study is about
2393* [Immunization](immunization.html): The patient for the vaccination record
2394* [ImmunizationEvaluation](immunizationevaluation.html): The patient being evaluated
2395* [ImmunizationRecommendation](immunizationrecommendation.html): Who this profile is for
2396* [Invoice](invoice.html): Recipient(s) of goods and services
2397* [List](list.html): If all resources have the same subject
2398* [MeasureReport](measurereport.html): The identity of a patient to search for individual measure report results for
2399* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations  for
2400* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses  for
2401* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient
2402* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.
2403* [MolecularSequence](molecularsequence.html): The subject that the sequence is about
2404* [NutritionIntake](nutritionintake.html): Returns statements for a specific patient.
2405* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement
2406* [Observation](observation.html): The subject that the observation is about (if patient)
2407* [Person](person.html): The Person links to this Patient
2408* [Procedure](procedure.html): Search by subject - a patient
2409* [Provenance](provenance.html): Where the activity involved patient data
2410* [QuestionnaireResponse](questionnaireresponse.html): The patient that is the subject of the questionnaire response
2411* [RelatedPerson](relatedperson.html): The patient this related person is related to
2412* [RequestOrchestration](requestorchestration.html): The identity of a patient to search for request orchestrations
2413* [ResearchSubject](researchsubject.html): Who or what is part of study
2414* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?
2415* [ServiceRequest](servicerequest.html): Search by subject - a patient
2416* [Specimen](specimen.html): The patient the specimen comes from
2417* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied
2418* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined
2419* [Task](task.html): Search by patient
2420* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
2421</b><br>
2422   * Type: <b>reference</b><br>
2423   * 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>
2424   * </p>
2425   */
2426  @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 } )
2427  public static final String SP_PATIENT = "patient";
2428 /**
2429   * <b>Fluent Client</b> search parameter constant for <b>patient</b>
2430   * <p>
2431   * Description: <b>Multiple Resources: 
2432
2433* [Account](account.html): The entity that caused the expenses
2434* [AdverseEvent](adverseevent.html): Subject impacted by event
2435* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for
2436* [Appointment](appointment.html): One of the individuals of the appointment is this patient
2437* [AppointmentResponse](appointmentresponse.html): This Response is for this Patient
2438* [AuditEvent](auditevent.html): Where the activity involved patient data
2439* [Basic](basic.html): Identifies the focus of this resource
2440* [BodyStructure](bodystructure.html): Who this is about
2441* [CarePlan](careplan.html): Who the care plan is for
2442* [CareTeam](careteam.html): Who care team is for
2443* [ChargeItem](chargeitem.html): Individual service was done for/to
2444* [Claim](claim.html): Patient receiving the products or services
2445* [ClaimResponse](claimresponse.html): The subject of care
2446* [ClinicalImpression](clinicalimpression.html): Patient assessed
2447* [Communication](communication.html): Focus of message
2448* [CommunicationRequest](communicationrequest.html): Focus of message
2449* [Composition](composition.html): Who and/or what the composition is about
2450* [Condition](condition.html): Who has the condition?
2451* [Consent](consent.html): Who the consent applies to
2452* [Contract](contract.html): The identity of the subject of the contract (if a patient)
2453* [Coverage](coverage.html): Retrieve coverages for a patient
2454* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The reference to the patient
2455* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The reference to the patient
2456* [DetectedIssue](detectedissue.html): Associated patient
2457* [DeviceRequest](devicerequest.html): Individual the service is ordered for
2458* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device
2459* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient
2460* [DocumentReference](documentreference.html): Who/what is the subject of the document
2461* [Encounter](encounter.html): The patient present at the encounter
2462* [EnrollmentRequest](enrollmentrequest.html): The party to be enrolled
2463* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care
2464* [ExplanationOfBenefit](explanationofbenefit.html): The reference to the patient
2465* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for
2466* [Flag](flag.html): The identity of a subject to list flags for
2467* [Goal](goal.html): Who this goal is intended for
2468* [GuidanceResponse](guidanceresponse.html): The identity of a patient to search for guidance response results
2469* [ImagingSelection](imagingselection.html): Who the study is about
2470* [ImagingStudy](imagingstudy.html): Who the study is about
2471* [Immunization](immunization.html): The patient for the vaccination record
2472* [ImmunizationEvaluation](immunizationevaluation.html): The patient being evaluated
2473* [ImmunizationRecommendation](immunizationrecommendation.html): Who this profile is for
2474* [Invoice](invoice.html): Recipient(s) of goods and services
2475* [List](list.html): If all resources have the same subject
2476* [MeasureReport](measurereport.html): The identity of a patient to search for individual measure report results for
2477* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations  for
2478* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses  for
2479* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient
2480* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.
2481* [MolecularSequence](molecularsequence.html): The subject that the sequence is about
2482* [NutritionIntake](nutritionintake.html): Returns statements for a specific patient.
2483* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement
2484* [Observation](observation.html): The subject that the observation is about (if patient)
2485* [Person](person.html): The Person links to this Patient
2486* [Procedure](procedure.html): Search by subject - a patient
2487* [Provenance](provenance.html): Where the activity involved patient data
2488* [QuestionnaireResponse](questionnaireresponse.html): The patient that is the subject of the questionnaire response
2489* [RelatedPerson](relatedperson.html): The patient this related person is related to
2490* [RequestOrchestration](requestorchestration.html): The identity of a patient to search for request orchestrations
2491* [ResearchSubject](researchsubject.html): Who or what is part of study
2492* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?
2493* [ServiceRequest](servicerequest.html): Search by subject - a patient
2494* [Specimen](specimen.html): The patient the specimen comes from
2495* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied
2496* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined
2497* [Task](task.html): Search by patient
2498* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
2499</b><br>
2500   * Type: <b>reference</b><br>
2501   * 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>
2502   * </p>
2503   */
2504  public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT);
2505
2506/**
2507   * Constant for fluent queries to be used to add include statements. Specifies
2508   * the path value of "<b>DetectedIssue:patient</b>".
2509   */
2510  public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("DetectedIssue:patient").toLocked();
2511
2512
2513}
2514