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