001package org.hl7.fhir.r4.model;
002
003
004
005/*
006  Copyright (c) 2011+, HL7, Inc.
007  All rights reserved.
008  
009  Redistribution and use in source and binary forms, with or without modification, 
010  are permitted provided that the following conditions are met:
011  
012   * Redistributions of source code must retain the above copyright notice, this 
013     list of conditions and the following disclaimer.
014   * Redistributions in binary form must reproduce the above copyright notice, 
015     this list of conditions and the following disclaimer in the documentation 
016     and/or other materials provided with the distribution.
017   * Neither the name of HL7 nor the names of its contributors may be used to 
018     endorse or promote products derived from this software without specific 
019     prior written permission.
020  
021  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
022  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
023  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
024  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
025  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
026  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
027  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
028  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
029  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
030  POSSIBILITY OF SUCH DAMAGE.
031  
032*/
033
034
035// Generated on Tue, May 12, 2020 07:26+1000 for FHIR v4.0.1
036
037import java.util.*;
038
039import ca.uhn.fhir.model.api.annotation.ResourceDef;
040import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
041import ca.uhn.fhir.model.api.annotation.Child;
042import ca.uhn.fhir.model.api.annotation.ChildOrder;
043import ca.uhn.fhir.model.api.annotation.Description;
044import ca.uhn.fhir.model.api.annotation.Block;
045import org.hl7.fhir.instance.model.api.*;
046import org.hl7.fhir.exceptions.FHIRException;
047/**
048 * Basic is used for handling concepts not yet defined in FHIR, narrative-only resources that don't map to an existing resource, and custom resources not appropriate for inclusion in the FHIR specification.
049 */
050@ResourceDef(name="Basic", profile="http://hl7.org/fhir/StructureDefinition/Basic")
051public class Basic extends DomainResource {
052
053    /**
054     * Identifier assigned to the resource for business purposes, outside the context of FHIR.
055     */
056    @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
057    @Description(shortDefinition="Business identifier", formalDefinition="Identifier assigned to the resource for business purposes, outside the context of FHIR." )
058    protected List<Identifier> identifier;
059
060    /**
061     * Identifies the 'type' of resource - equivalent to the resource name for other resources.
062     */
063    @Child(name = "code", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=true, summary=true)
064    @Description(shortDefinition="Kind of Resource", formalDefinition="Identifies the 'type' of resource - equivalent to the resource name for other resources." )
065    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/basic-resource-type")
066    protected CodeableConcept code;
067
068    /**
069     * Identifies the patient, practitioner, device or any other resource that is the "focus" of this resource.
070     */
071    @Child(name = "subject", type = {Reference.class}, order=2, min=0, max=1, modifier=false, summary=true)
072    @Description(shortDefinition="Identifies the focus of this resource", formalDefinition="Identifies the patient, practitioner, device or any other resource that is the \"focus\" of this resource." )
073    protected Reference subject;
074
075    /**
076     * The actual object that is the target of the reference (Identifies the patient, practitioner, device or any other resource that is the "focus" of this resource.)
077     */
078    protected Resource subjectTarget;
079
080    /**
081     * Identifies when the resource was first created.
082     */
083    @Child(name = "created", type = {DateType.class}, order=3, min=0, max=1, modifier=false, summary=true)
084    @Description(shortDefinition="When created", formalDefinition="Identifies when the resource was first created." )
085    protected DateType created;
086
087    /**
088     * Indicates who was responsible for creating the resource instance.
089     */
090    @Child(name = "author", type = {Practitioner.class, PractitionerRole.class, Patient.class, RelatedPerson.class, Organization.class}, order=4, min=0, max=1, modifier=false, summary=true)
091    @Description(shortDefinition="Who created", formalDefinition="Indicates who was responsible for creating the resource instance." )
092    protected Reference author;
093
094    /**
095     * The actual object that is the target of the reference (Indicates who was responsible for creating the resource instance.)
096     */
097    protected Resource authorTarget;
098
099    private static final long serialVersionUID = 650756402L;
100
101  /**
102   * Constructor
103   */
104    public Basic() {
105      super();
106    }
107
108  /**
109   * Constructor
110   */
111    public Basic(CodeableConcept code) {
112      super();
113      this.code = code;
114    }
115
116    /**
117     * @return {@link #identifier} (Identifier assigned to the resource for business purposes, outside the context of FHIR.)
118     */
119    public List<Identifier> getIdentifier() { 
120      if (this.identifier == null)
121        this.identifier = new ArrayList<Identifier>();
122      return this.identifier;
123    }
124
125    /**
126     * @return Returns a reference to <code>this</code> for easy method chaining
127     */
128    public Basic setIdentifier(List<Identifier> theIdentifier) { 
129      this.identifier = theIdentifier;
130      return this;
131    }
132
133    public boolean hasIdentifier() { 
134      if (this.identifier == null)
135        return false;
136      for (Identifier item : this.identifier)
137        if (!item.isEmpty())
138          return true;
139      return false;
140    }
141
142    public Identifier addIdentifier() { //3
143      Identifier t = new Identifier();
144      if (this.identifier == null)
145        this.identifier = new ArrayList<Identifier>();
146      this.identifier.add(t);
147      return t;
148    }
149
150    public Basic addIdentifier(Identifier t) { //3
151      if (t == null)
152        return this;
153      if (this.identifier == null)
154        this.identifier = new ArrayList<Identifier>();
155      this.identifier.add(t);
156      return this;
157    }
158
159    /**
160     * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist
161     */
162    public Identifier getIdentifierFirstRep() { 
163      if (getIdentifier().isEmpty()) {
164        addIdentifier();
165      }
166      return getIdentifier().get(0);
167    }
168
169    /**
170     * @return {@link #code} (Identifies the 'type' of resource - equivalent to the resource name for other resources.)
171     */
172    public CodeableConcept getCode() { 
173      if (this.code == null)
174        if (Configuration.errorOnAutoCreate())
175          throw new Error("Attempt to auto-create Basic.code");
176        else if (Configuration.doAutoCreate())
177          this.code = new CodeableConcept(); // cc
178      return this.code;
179    }
180
181    public boolean hasCode() { 
182      return this.code != null && !this.code.isEmpty();
183    }
184
185    /**
186     * @param value {@link #code} (Identifies the 'type' of resource - equivalent to the resource name for other resources.)
187     */
188    public Basic setCode(CodeableConcept value) { 
189      this.code = value;
190      return this;
191    }
192
193    /**
194     * @return {@link #subject} (Identifies the patient, practitioner, device or any other resource that is the "focus" of this resource.)
195     */
196    public Reference getSubject() { 
197      if (this.subject == null)
198        if (Configuration.errorOnAutoCreate())
199          throw new Error("Attempt to auto-create Basic.subject");
200        else if (Configuration.doAutoCreate())
201          this.subject = new Reference(); // cc
202      return this.subject;
203    }
204
205    public boolean hasSubject() { 
206      return this.subject != null && !this.subject.isEmpty();
207    }
208
209    /**
210     * @param value {@link #subject} (Identifies the patient, practitioner, device or any other resource that is the "focus" of this resource.)
211     */
212    public Basic setSubject(Reference value) { 
213      this.subject = value;
214      return this;
215    }
216
217    /**
218     * @return {@link #subject} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Identifies the patient, practitioner, device or any other resource that is the "focus" of this resource.)
219     */
220    public Resource getSubjectTarget() { 
221      return this.subjectTarget;
222    }
223
224    /**
225     * @param value {@link #subject} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Identifies the patient, practitioner, device or any other resource that is the "focus" of this resource.)
226     */
227    public Basic setSubjectTarget(Resource value) { 
228      this.subjectTarget = value;
229      return this;
230    }
231
232    /**
233     * @return {@link #created} (Identifies when the resource was first created.). This is the underlying object with id, value and extensions. The accessor "getCreated" gives direct access to the value
234     */
235    public DateType getCreatedElement() { 
236      if (this.created == null)
237        if (Configuration.errorOnAutoCreate())
238          throw new Error("Attempt to auto-create Basic.created");
239        else if (Configuration.doAutoCreate())
240          this.created = new DateType(); // bb
241      return this.created;
242    }
243
244    public boolean hasCreatedElement() { 
245      return this.created != null && !this.created.isEmpty();
246    }
247
248    public boolean hasCreated() { 
249      return this.created != null && !this.created.isEmpty();
250    }
251
252    /**
253     * @param value {@link #created} (Identifies when the resource was first created.). This is the underlying object with id, value and extensions. The accessor "getCreated" gives direct access to the value
254     */
255    public Basic setCreatedElement(DateType value) { 
256      this.created = value;
257      return this;
258    }
259
260    /**
261     * @return Identifies when the resource was first created.
262     */
263    public Date getCreated() { 
264      return this.created == null ? null : this.created.getValue();
265    }
266
267    /**
268     * @param value Identifies when the resource was first created.
269     */
270    public Basic setCreated(Date value) { 
271      if (value == null)
272        this.created = null;
273      else {
274        if (this.created == null)
275          this.created = new DateType();
276        this.created.setValue(value);
277      }
278      return this;
279    }
280
281    /**
282     * @return {@link #author} (Indicates who was responsible for creating the resource instance.)
283     */
284    public Reference getAuthor() { 
285      if (this.author == null)
286        if (Configuration.errorOnAutoCreate())
287          throw new Error("Attempt to auto-create Basic.author");
288        else if (Configuration.doAutoCreate())
289          this.author = new Reference(); // cc
290      return this.author;
291    }
292
293    public boolean hasAuthor() { 
294      return this.author != null && !this.author.isEmpty();
295    }
296
297    /**
298     * @param value {@link #author} (Indicates who was responsible for creating the resource instance.)
299     */
300    public Basic setAuthor(Reference value) { 
301      this.author = value;
302      return this;
303    }
304
305    /**
306     * @return {@link #author} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Indicates who was responsible for creating the resource instance.)
307     */
308    public Resource getAuthorTarget() { 
309      return this.authorTarget;
310    }
311
312    /**
313     * @param value {@link #author} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Indicates who was responsible for creating the resource instance.)
314     */
315    public Basic setAuthorTarget(Resource value) { 
316      this.authorTarget = value;
317      return this;
318    }
319
320      protected void listChildren(List<Property> children) {
321        super.listChildren(children);
322        children.add(new Property("identifier", "Identifier", "Identifier assigned to the resource for business purposes, outside the context of FHIR.", 0, java.lang.Integer.MAX_VALUE, identifier));
323        children.add(new Property("code", "CodeableConcept", "Identifies the 'type' of resource - equivalent to the resource name for other resources.", 0, 1, code));
324        children.add(new Property("subject", "Reference(Any)", "Identifies the patient, practitioner, device or any other resource that is the \"focus\" of this resource.", 0, 1, subject));
325        children.add(new Property("created", "date", "Identifies when the resource was first created.", 0, 1, created));
326        children.add(new Property("author", "Reference(Practitioner|PractitionerRole|Patient|RelatedPerson|Organization)", "Indicates who was responsible for creating the resource instance.", 0, 1, author));
327      }
328
329      @Override
330      public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
331        switch (_hash) {
332        case -1618432855: /*identifier*/  return new Property("identifier", "Identifier", "Identifier assigned to the resource for business purposes, outside the context of FHIR.", 0, java.lang.Integer.MAX_VALUE, identifier);
333        case 3059181: /*code*/  return new Property("code", "CodeableConcept", "Identifies the 'type' of resource - equivalent to the resource name for other resources.", 0, 1, code);
334        case -1867885268: /*subject*/  return new Property("subject", "Reference(Any)", "Identifies the patient, practitioner, device or any other resource that is the \"focus\" of this resource.", 0, 1, subject);
335        case 1028554472: /*created*/  return new Property("created", "date", "Identifies when the resource was first created.", 0, 1, created);
336        case -1406328437: /*author*/  return new Property("author", "Reference(Practitioner|PractitionerRole|Patient|RelatedPerson|Organization)", "Indicates who was responsible for creating the resource instance.", 0, 1, author);
337        default: return super.getNamedProperty(_hash, _name, _checkValid);
338        }
339
340      }
341
342      @Override
343      public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
344        switch (hash) {
345        case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier
346        case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept
347        case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference
348        case 1028554472: /*created*/ return this.created == null ? new Base[0] : new Base[] {this.created}; // DateType
349        case -1406328437: /*author*/ return this.author == null ? new Base[0] : new Base[] {this.author}; // Reference
350        default: return super.getProperty(hash, name, checkValid);
351        }
352
353      }
354
355      @Override
356      public Base setProperty(int hash, String name, Base value) throws FHIRException {
357        switch (hash) {
358        case -1618432855: // identifier
359          this.getIdentifier().add(castToIdentifier(value)); // Identifier
360          return value;
361        case 3059181: // code
362          this.code = castToCodeableConcept(value); // CodeableConcept
363          return value;
364        case -1867885268: // subject
365          this.subject = castToReference(value); // Reference
366          return value;
367        case 1028554472: // created
368          this.created = castToDate(value); // DateType
369          return value;
370        case -1406328437: // author
371          this.author = castToReference(value); // Reference
372          return value;
373        default: return super.setProperty(hash, name, value);
374        }
375
376      }
377
378      @Override
379      public Base setProperty(String name, Base value) throws FHIRException {
380        if (name.equals("identifier")) {
381          this.getIdentifier().add(castToIdentifier(value));
382        } else if (name.equals("code")) {
383          this.code = castToCodeableConcept(value); // CodeableConcept
384        } else if (name.equals("subject")) {
385          this.subject = castToReference(value); // Reference
386        } else if (name.equals("created")) {
387          this.created = castToDate(value); // DateType
388        } else if (name.equals("author")) {
389          this.author = castToReference(value); // Reference
390        } else
391          return super.setProperty(name, value);
392        return value;
393      }
394
395      @Override
396      public Base makeProperty(int hash, String name) throws FHIRException {
397        switch (hash) {
398        case -1618432855:  return addIdentifier(); 
399        case 3059181:  return getCode(); 
400        case -1867885268:  return getSubject(); 
401        case 1028554472:  return getCreatedElement();
402        case -1406328437:  return getAuthor(); 
403        default: return super.makeProperty(hash, name);
404        }
405
406      }
407
408      @Override
409      public String[] getTypesForProperty(int hash, String name) throws FHIRException {
410        switch (hash) {
411        case -1618432855: /*identifier*/ return new String[] {"Identifier"};
412        case 3059181: /*code*/ return new String[] {"CodeableConcept"};
413        case -1867885268: /*subject*/ return new String[] {"Reference"};
414        case 1028554472: /*created*/ return new String[] {"date"};
415        case -1406328437: /*author*/ return new String[] {"Reference"};
416        default: return super.getTypesForProperty(hash, name);
417        }
418
419      }
420
421      @Override
422      public Base addChild(String name) throws FHIRException {
423        if (name.equals("identifier")) {
424          return addIdentifier();
425        }
426        else if (name.equals("code")) {
427          this.code = new CodeableConcept();
428          return this.code;
429        }
430        else if (name.equals("subject")) {
431          this.subject = new Reference();
432          return this.subject;
433        }
434        else if (name.equals("created")) {
435          throw new FHIRException("Cannot call addChild on a primitive type Basic.created");
436        }
437        else if (name.equals("author")) {
438          this.author = new Reference();
439          return this.author;
440        }
441        else
442          return super.addChild(name);
443      }
444
445  public String fhirType() {
446    return "Basic";
447
448  }
449
450      public Basic copy() {
451        Basic dst = new Basic();
452        copyValues(dst);
453        return dst;
454      }
455
456      public void copyValues(Basic dst) {
457        super.copyValues(dst);
458        if (identifier != null) {
459          dst.identifier = new ArrayList<Identifier>();
460          for (Identifier i : identifier)
461            dst.identifier.add(i.copy());
462        };
463        dst.code = code == null ? null : code.copy();
464        dst.subject = subject == null ? null : subject.copy();
465        dst.created = created == null ? null : created.copy();
466        dst.author = author == null ? null : author.copy();
467      }
468
469      protected Basic typedCopy() {
470        return copy();
471      }
472
473      @Override
474      public boolean equalsDeep(Base other_) {
475        if (!super.equalsDeep(other_))
476          return false;
477        if (!(other_ instanceof Basic))
478          return false;
479        Basic o = (Basic) other_;
480        return compareDeep(identifier, o.identifier, true) && compareDeep(code, o.code, true) && compareDeep(subject, o.subject, true)
481           && compareDeep(created, o.created, true) && compareDeep(author, o.author, true);
482      }
483
484      @Override
485      public boolean equalsShallow(Base other_) {
486        if (!super.equalsShallow(other_))
487          return false;
488        if (!(other_ instanceof Basic))
489          return false;
490        Basic o = (Basic) other_;
491        return compareValues(created, o.created, true);
492      }
493
494      public boolean isEmpty() {
495        return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, code, subject
496          , created, author);
497      }
498
499  @Override
500  public ResourceType getResourceType() {
501    return ResourceType.Basic;
502   }
503
504 /**
505   * Search parameter: <b>identifier</b>
506   * <p>
507   * Description: <b>Business identifier</b><br>
508   * Type: <b>token</b><br>
509   * Path: <b>Basic.identifier</b><br>
510   * </p>
511   */
512  @SearchParamDefinition(name="identifier", path="Basic.identifier", description="Business identifier", type="token" )
513  public static final String SP_IDENTIFIER = "identifier";
514 /**
515   * <b>Fluent Client</b> search parameter constant for <b>identifier</b>
516   * <p>
517   * Description: <b>Business identifier</b><br>
518   * Type: <b>token</b><br>
519   * Path: <b>Basic.identifier</b><br>
520   * </p>
521   */
522  public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER);
523
524 /**
525   * Search parameter: <b>code</b>
526   * <p>
527   * Description: <b>Kind of Resource</b><br>
528   * Type: <b>token</b><br>
529   * Path: <b>Basic.code</b><br>
530   * </p>
531   */
532  @SearchParamDefinition(name="code", path="Basic.code", description="Kind of Resource", type="token" )
533  public static final String SP_CODE = "code";
534 /**
535   * <b>Fluent Client</b> search parameter constant for <b>code</b>
536   * <p>
537   * Description: <b>Kind of Resource</b><br>
538   * Type: <b>token</b><br>
539   * Path: <b>Basic.code</b><br>
540   * </p>
541   */
542  public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE);
543
544 /**
545   * Search parameter: <b>subject</b>
546   * <p>
547   * Description: <b>Identifies the focus of this resource</b><br>
548   * Type: <b>reference</b><br>
549   * Path: <b>Basic.subject</b><br>
550   * </p>
551   */
552  @SearchParamDefinition(name="subject", path="Basic.subject", description="Identifies the focus of this resource", type="reference" )
553  public static final String SP_SUBJECT = "subject";
554 /**
555   * <b>Fluent Client</b> search parameter constant for <b>subject</b>
556   * <p>
557   * Description: <b>Identifies the focus of this resource</b><br>
558   * Type: <b>reference</b><br>
559   * Path: <b>Basic.subject</b><br>
560   * </p>
561   */
562  public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT);
563
564/**
565   * Constant for fluent queries to be used to add include statements. Specifies
566   * the path value of "<b>Basic:subject</b>".
567   */
568  public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("Basic:subject").toLocked();
569
570 /**
571   * Search parameter: <b>created</b>
572   * <p>
573   * Description: <b>When created</b><br>
574   * Type: <b>date</b><br>
575   * Path: <b>Basic.created</b><br>
576   * </p>
577   */
578  @SearchParamDefinition(name="created", path="Basic.created", description="When created", type="date" )
579  public static final String SP_CREATED = "created";
580 /**
581   * <b>Fluent Client</b> search parameter constant for <b>created</b>
582   * <p>
583   * Description: <b>When created</b><br>
584   * Type: <b>date</b><br>
585   * Path: <b>Basic.created</b><br>
586   * </p>
587   */
588  public static final ca.uhn.fhir.rest.gclient.DateClientParam CREATED = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_CREATED);
589
590 /**
591   * Search parameter: <b>patient</b>
592   * <p>
593   * Description: <b>Identifies the focus of this resource</b><br>
594   * Type: <b>reference</b><br>
595   * Path: <b>Basic.subject</b><br>
596   * </p>
597   */
598  @SearchParamDefinition(name="patient", path="Basic.subject.where(resolve() is Patient)", description="Identifies the focus of this resource", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Patient") }, target={Patient.class } )
599  public static final String SP_PATIENT = "patient";
600 /**
601   * <b>Fluent Client</b> search parameter constant for <b>patient</b>
602   * <p>
603   * Description: <b>Identifies the focus of this resource</b><br>
604   * Type: <b>reference</b><br>
605   * Path: <b>Basic.subject</b><br>
606   * </p>
607   */
608  public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT);
609
610/**
611   * Constant for fluent queries to be used to add include statements. Specifies
612   * the path value of "<b>Basic:patient</b>".
613   */
614  public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("Basic:patient").toLocked();
615
616 /**
617   * Search parameter: <b>author</b>
618   * <p>
619   * Description: <b>Who created</b><br>
620   * Type: <b>reference</b><br>
621   * Path: <b>Basic.author</b><br>
622   * </p>
623   */
624  @SearchParamDefinition(name="author", path="Basic.author", description="Who created", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Patient"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Practitioner"), @ca.uhn.fhir.model.api.annotation.Compartment(name="RelatedPerson") }, target={Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } )
625  public static final String SP_AUTHOR = "author";
626 /**
627   * <b>Fluent Client</b> search parameter constant for <b>author</b>
628   * <p>
629   * Description: <b>Who created</b><br>
630   * Type: <b>reference</b><br>
631   * Path: <b>Basic.author</b><br>
632   * </p>
633   */
634  public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam AUTHOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_AUTHOR);
635
636/**
637   * Constant for fluent queries to be used to add include statements. Specifies
638   * the path value of "<b>Basic:author</b>".
639   */
640  public static final ca.uhn.fhir.model.api.Include INCLUDE_AUTHOR = new ca.uhn.fhir.model.api.Include("Basic:author").toLocked();
641
642
643}