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