001package org.hl7.fhir.dstu2016may.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 8, 2016 03:05+1000 for FHIR v1.4.0
033import java.util.ArrayList;
034import java.util.Date;
035import java.util.List;
036
037import org.hl7.fhir.exceptions.FHIRException;
038import org.hl7.fhir.utilities.Utilities;
039
040import ca.uhn.fhir.model.api.annotation.Child;
041import ca.uhn.fhir.model.api.annotation.Description;
042import ca.uhn.fhir.model.api.annotation.ResourceDef;
043import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
044/**
045 * This resource provides the insurance eligibility details from the insurer regarding a specified coverage and optionally some class of service.
046 */
047@ResourceDef(name="EligibilityRequest", profile="http://hl7.org/fhir/Profile/EligibilityRequest")
048public class EligibilityRequest extends DomainResource {
049
050    /**
051     * The Response business identifier.
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="The Response business identifier." )
055    protected List<Identifier> identifier;
056
057    /**
058     * The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources.
059     */
060    @Child(name = "ruleset", type = {Coding.class}, order=1, min=0, max=1, modifier=false, summary=true)
061    @Description(shortDefinition="Resource version", formalDefinition="The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources." )
062    protected Coding ruleset;
063
064    /**
065     * The style (standard) and version of the original material which was converted into this resource.
066     */
067    @Child(name = "originalRuleset", type = {Coding.class}, order=2, min=0, max=1, modifier=false, summary=true)
068    @Description(shortDefinition="Original version", formalDefinition="The style (standard) and version of the original material which was converted into this resource." )
069    protected Coding originalRuleset;
070
071    /**
072     * The date when this resource was created.
073     */
074    @Child(name = "created", type = {DateTimeType.class}, order=3, min=0, max=1, modifier=false, summary=true)
075    @Description(shortDefinition="Creation date", formalDefinition="The date when this resource was created." )
076    protected DateTimeType created;
077
078    /**
079     * The Insurer who is target  of the request.
080     */
081    @Child(name = "target", type = {Identifier.class, Organization.class}, order=4, min=0, max=1, modifier=false, summary=true)
082    @Description(shortDefinition="Insurer", formalDefinition="The Insurer who is target  of the request." )
083    protected Type target;
084
085    /**
086     * The practitioner who is responsible for the services rendered to the patient.
087     */
088    @Child(name = "provider", type = {Identifier.class, Practitioner.class}, order=5, min=0, max=1, modifier=false, summary=true)
089    @Description(shortDefinition="Responsible practitioner", formalDefinition="The practitioner who is responsible for the services rendered to the patient." )
090    protected Type provider;
091
092    /**
093     * The organization which is responsible for the services rendered to the patient.
094     */
095    @Child(name = "organization", type = {Identifier.class, Organization.class}, order=6, min=0, max=1, modifier=false, summary=true)
096    @Description(shortDefinition="Responsible organization", formalDefinition="The organization which is responsible for the services rendered to the patient." )
097    protected Type organization;
098
099    /**
100     * Immediate (STAT), best effort (NORMAL), deferred (DEFER).
101     */
102    @Child(name = "priority", type = {Coding.class}, order=7, min=0, max=1, modifier=false, summary=true)
103    @Description(shortDefinition="Desired processing priority", formalDefinition="Immediate (STAT), best effort (NORMAL), deferred (DEFER)." )
104    protected Coding priority;
105
106    /**
107     * Person who created the invoice/claim/pre-determination or pre-authorization.
108     */
109    @Child(name = "enterer", type = {Identifier.class, Practitioner.class}, order=8, min=0, max=1, modifier=false, summary=true)
110    @Description(shortDefinition="Author", formalDefinition="Person who created the invoice/claim/pre-determination or pre-authorization." )
111    protected Type enterer;
112
113    /**
114     * Facility where the services were provided.
115     */
116    @Child(name = "facility", type = {Identifier.class, Location.class}, order=9, min=0, max=1, modifier=false, summary=true)
117    @Description(shortDefinition="Servicing Facility", formalDefinition="Facility where the services were provided." )
118    protected Type facility;
119
120    /**
121     * Patient Resource.
122     */
123    @Child(name = "patient", type = {Identifier.class, Patient.class}, order=10, min=0, max=1, modifier=false, summary=true)
124    @Description(shortDefinition="The subject of the Products and Services", formalDefinition="Patient Resource." )
125    protected Type patient;
126
127    /**
128     * Financial instrument by which payment information for health care.
129     */
130    @Child(name = "coverage", type = {Identifier.class, Coverage.class}, order=11, min=0, max=1, modifier=false, summary=true)
131    @Description(shortDefinition="Insurance or medical plan", formalDefinition="Financial instrument by which payment information for health care." )
132    protected Type coverage;
133
134    /**
135     * The contract number of a business agreement which describes the terms and conditions.
136     */
137    @Child(name = "businessArrangement", type = {StringType.class}, order=12, min=0, max=1, modifier=false, summary=true)
138    @Description(shortDefinition="Business agreement", formalDefinition="The contract number of a business agreement which describes the terms and conditions." )
139    protected StringType businessArrangement;
140
141    /**
142     * The date or dates when the enclosed suite of services were performed or completed.
143     */
144    @Child(name = "serviced", type = {DateType.class, Period.class}, order=13, min=0, max=1, modifier=false, summary=true)
145    @Description(shortDefinition="Estimated date or dates of Service", formalDefinition="The date or dates when the enclosed suite of services were performed or completed." )
146    protected Type serviced;
147
148    /**
149     * Dental, Vision, Medical, Pharmacy, Rehab etc.
150     */
151    @Child(name = "benefitCategory", type = {Coding.class}, order=14, min=0, max=1, modifier=false, summary=true)
152    @Description(shortDefinition="Benefit Category", formalDefinition="Dental, Vision, Medical, Pharmacy, Rehab etc." )
153    protected Coding benefitCategory;
154
155    /**
156     * Dental: basic, major, ortho; Vision exam, glasses, contacts; etc.
157     */
158    @Child(name = "benefitSubCategory", type = {Coding.class}, order=15, min=0, max=1, modifier=false, summary=true)
159    @Description(shortDefinition="Benefit SubCategory", formalDefinition="Dental: basic, major, ortho; Vision exam, glasses, contacts; etc." )
160    protected Coding benefitSubCategory;
161
162    private static final long serialVersionUID = 313969968L;
163
164  /**
165   * Constructor
166   */
167    public EligibilityRequest() {
168      super();
169    }
170
171    /**
172     * @return {@link #identifier} (The Response business identifier.)
173     */
174    public List<Identifier> getIdentifier() { 
175      if (this.identifier == null)
176        this.identifier = new ArrayList<Identifier>();
177      return this.identifier;
178    }
179
180    public boolean hasIdentifier() { 
181      if (this.identifier == null)
182        return false;
183      for (Identifier item : this.identifier)
184        if (!item.isEmpty())
185          return true;
186      return false;
187    }
188
189    /**
190     * @return {@link #identifier} (The Response business identifier.)
191     */
192    // syntactic sugar
193    public Identifier addIdentifier() { //3
194      Identifier t = new Identifier();
195      if (this.identifier == null)
196        this.identifier = new ArrayList<Identifier>();
197      this.identifier.add(t);
198      return t;
199    }
200
201    // syntactic sugar
202    public EligibilityRequest addIdentifier(Identifier t) { //3
203      if (t == null)
204        return this;
205      if (this.identifier == null)
206        this.identifier = new ArrayList<Identifier>();
207      this.identifier.add(t);
208      return this;
209    }
210
211    /**
212     * @return {@link #ruleset} (The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources.)
213     */
214    public Coding getRuleset() { 
215      if (this.ruleset == null)
216        if (Configuration.errorOnAutoCreate())
217          throw new Error("Attempt to auto-create EligibilityRequest.ruleset");
218        else if (Configuration.doAutoCreate())
219          this.ruleset = new Coding(); // cc
220      return this.ruleset;
221    }
222
223    public boolean hasRuleset() { 
224      return this.ruleset != null && !this.ruleset.isEmpty();
225    }
226
227    /**
228     * @param value {@link #ruleset} (The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources.)
229     */
230    public EligibilityRequest setRuleset(Coding value) { 
231      this.ruleset = value;
232      return this;
233    }
234
235    /**
236     * @return {@link #originalRuleset} (The style (standard) and version of the original material which was converted into this resource.)
237     */
238    public Coding getOriginalRuleset() { 
239      if (this.originalRuleset == null)
240        if (Configuration.errorOnAutoCreate())
241          throw new Error("Attempt to auto-create EligibilityRequest.originalRuleset");
242        else if (Configuration.doAutoCreate())
243          this.originalRuleset = new Coding(); // cc
244      return this.originalRuleset;
245    }
246
247    public boolean hasOriginalRuleset() { 
248      return this.originalRuleset != null && !this.originalRuleset.isEmpty();
249    }
250
251    /**
252     * @param value {@link #originalRuleset} (The style (standard) and version of the original material which was converted into this resource.)
253     */
254    public EligibilityRequest setOriginalRuleset(Coding value) { 
255      this.originalRuleset = value;
256      return this;
257    }
258
259    /**
260     * @return {@link #created} (The date when this resource was created.). This is the underlying object with id, value and extensions. The accessor "getCreated" gives direct access to the value
261     */
262    public DateTimeType getCreatedElement() { 
263      if (this.created == null)
264        if (Configuration.errorOnAutoCreate())
265          throw new Error("Attempt to auto-create EligibilityRequest.created");
266        else if (Configuration.doAutoCreate())
267          this.created = new DateTimeType(); // bb
268      return this.created;
269    }
270
271    public boolean hasCreatedElement() { 
272      return this.created != null && !this.created.isEmpty();
273    }
274
275    public boolean hasCreated() { 
276      return this.created != null && !this.created.isEmpty();
277    }
278
279    /**
280     * @param value {@link #created} (The date when this resource was created.). This is the underlying object with id, value and extensions. The accessor "getCreated" gives direct access to the value
281     */
282    public EligibilityRequest setCreatedElement(DateTimeType value) { 
283      this.created = value;
284      return this;
285    }
286
287    /**
288     * @return The date when this resource was created.
289     */
290    public Date getCreated() { 
291      return this.created == null ? null : this.created.getValue();
292    }
293
294    /**
295     * @param value The date when this resource was created.
296     */
297    public EligibilityRequest setCreated(Date value) { 
298      if (value == null)
299        this.created = null;
300      else {
301        if (this.created == null)
302          this.created = new DateTimeType();
303        this.created.setValue(value);
304      }
305      return this;
306    }
307
308    /**
309     * @return {@link #target} (The Insurer who is target  of the request.)
310     */
311    public Type getTarget() { 
312      return this.target;
313    }
314
315    /**
316     * @return {@link #target} (The Insurer who is target  of the request.)
317     */
318    public Identifier getTargetIdentifier() throws FHIRException { 
319      if (!(this.target instanceof Identifier))
320        throw new FHIRException("Type mismatch: the type Identifier was expected, but "+this.target.getClass().getName()+" was encountered");
321      return (Identifier) this.target;
322    }
323
324    public boolean hasTargetIdentifier() { 
325      return this.target instanceof Identifier;
326    }
327
328    /**
329     * @return {@link #target} (The Insurer who is target  of the request.)
330     */
331    public Reference getTargetReference() throws FHIRException { 
332      if (!(this.target instanceof Reference))
333        throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.target.getClass().getName()+" was encountered");
334      return (Reference) this.target;
335    }
336
337    public boolean hasTargetReference() { 
338      return this.target instanceof Reference;
339    }
340
341    public boolean hasTarget() { 
342      return this.target != null && !this.target.isEmpty();
343    }
344
345    /**
346     * @param value {@link #target} (The Insurer who is target  of the request.)
347     */
348    public EligibilityRequest setTarget(Type value) { 
349      this.target = value;
350      return this;
351    }
352
353    /**
354     * @return {@link #provider} (The practitioner who is responsible for the services rendered to the patient.)
355     */
356    public Type getProvider() { 
357      return this.provider;
358    }
359
360    /**
361     * @return {@link #provider} (The practitioner who is responsible for the services rendered to the patient.)
362     */
363    public Identifier getProviderIdentifier() throws FHIRException { 
364      if (!(this.provider instanceof Identifier))
365        throw new FHIRException("Type mismatch: the type Identifier was expected, but "+this.provider.getClass().getName()+" was encountered");
366      return (Identifier) this.provider;
367    }
368
369    public boolean hasProviderIdentifier() { 
370      return this.provider instanceof Identifier;
371    }
372
373    /**
374     * @return {@link #provider} (The practitioner who is responsible for the services rendered to the patient.)
375     */
376    public Reference getProviderReference() throws FHIRException { 
377      if (!(this.provider instanceof Reference))
378        throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.provider.getClass().getName()+" was encountered");
379      return (Reference) this.provider;
380    }
381
382    public boolean hasProviderReference() { 
383      return this.provider instanceof Reference;
384    }
385
386    public boolean hasProvider() { 
387      return this.provider != null && !this.provider.isEmpty();
388    }
389
390    /**
391     * @param value {@link #provider} (The practitioner who is responsible for the services rendered to the patient.)
392     */
393    public EligibilityRequest setProvider(Type value) { 
394      this.provider = value;
395      return this;
396    }
397
398    /**
399     * @return {@link #organization} (The organization which is responsible for the services rendered to the patient.)
400     */
401    public Type getOrganization() { 
402      return this.organization;
403    }
404
405    /**
406     * @return {@link #organization} (The organization which is responsible for the services rendered to the patient.)
407     */
408    public Identifier getOrganizationIdentifier() throws FHIRException { 
409      if (!(this.organization instanceof Identifier))
410        throw new FHIRException("Type mismatch: the type Identifier was expected, but "+this.organization.getClass().getName()+" was encountered");
411      return (Identifier) this.organization;
412    }
413
414    public boolean hasOrganizationIdentifier() { 
415      return this.organization instanceof Identifier;
416    }
417
418    /**
419     * @return {@link #organization} (The organization which is responsible for the services rendered to the patient.)
420     */
421    public Reference getOrganizationReference() throws FHIRException { 
422      if (!(this.organization instanceof Reference))
423        throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.organization.getClass().getName()+" was encountered");
424      return (Reference) this.organization;
425    }
426
427    public boolean hasOrganizationReference() { 
428      return this.organization instanceof Reference;
429    }
430
431    public boolean hasOrganization() { 
432      return this.organization != null && !this.organization.isEmpty();
433    }
434
435    /**
436     * @param value {@link #organization} (The organization which is responsible for the services rendered to the patient.)
437     */
438    public EligibilityRequest setOrganization(Type value) { 
439      this.organization = value;
440      return this;
441    }
442
443    /**
444     * @return {@link #priority} (Immediate (STAT), best effort (NORMAL), deferred (DEFER).)
445     */
446    public Coding getPriority() { 
447      if (this.priority == null)
448        if (Configuration.errorOnAutoCreate())
449          throw new Error("Attempt to auto-create EligibilityRequest.priority");
450        else if (Configuration.doAutoCreate())
451          this.priority = new Coding(); // cc
452      return this.priority;
453    }
454
455    public boolean hasPriority() { 
456      return this.priority != null && !this.priority.isEmpty();
457    }
458
459    /**
460     * @param value {@link #priority} (Immediate (STAT), best effort (NORMAL), deferred (DEFER).)
461     */
462    public EligibilityRequest setPriority(Coding value) { 
463      this.priority = value;
464      return this;
465    }
466
467    /**
468     * @return {@link #enterer} (Person who created the invoice/claim/pre-determination or pre-authorization.)
469     */
470    public Type getEnterer() { 
471      return this.enterer;
472    }
473
474    /**
475     * @return {@link #enterer} (Person who created the invoice/claim/pre-determination or pre-authorization.)
476     */
477    public Identifier getEntererIdentifier() throws FHIRException { 
478      if (!(this.enterer instanceof Identifier))
479        throw new FHIRException("Type mismatch: the type Identifier was expected, but "+this.enterer.getClass().getName()+" was encountered");
480      return (Identifier) this.enterer;
481    }
482
483    public boolean hasEntererIdentifier() { 
484      return this.enterer instanceof Identifier;
485    }
486
487    /**
488     * @return {@link #enterer} (Person who created the invoice/claim/pre-determination or pre-authorization.)
489     */
490    public Reference getEntererReference() throws FHIRException { 
491      if (!(this.enterer instanceof Reference))
492        throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.enterer.getClass().getName()+" was encountered");
493      return (Reference) this.enterer;
494    }
495
496    public boolean hasEntererReference() { 
497      return this.enterer instanceof Reference;
498    }
499
500    public boolean hasEnterer() { 
501      return this.enterer != null && !this.enterer.isEmpty();
502    }
503
504    /**
505     * @param value {@link #enterer} (Person who created the invoice/claim/pre-determination or pre-authorization.)
506     */
507    public EligibilityRequest setEnterer(Type value) { 
508      this.enterer = value;
509      return this;
510    }
511
512    /**
513     * @return {@link #facility} (Facility where the services were provided.)
514     */
515    public Type getFacility() { 
516      return this.facility;
517    }
518
519    /**
520     * @return {@link #facility} (Facility where the services were provided.)
521     */
522    public Identifier getFacilityIdentifier() throws FHIRException { 
523      if (!(this.facility instanceof Identifier))
524        throw new FHIRException("Type mismatch: the type Identifier was expected, but "+this.facility.getClass().getName()+" was encountered");
525      return (Identifier) this.facility;
526    }
527
528    public boolean hasFacilityIdentifier() { 
529      return this.facility instanceof Identifier;
530    }
531
532    /**
533     * @return {@link #facility} (Facility where the services were provided.)
534     */
535    public Reference getFacilityReference() throws FHIRException { 
536      if (!(this.facility instanceof Reference))
537        throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.facility.getClass().getName()+" was encountered");
538      return (Reference) this.facility;
539    }
540
541    public boolean hasFacilityReference() { 
542      return this.facility instanceof Reference;
543    }
544
545    public boolean hasFacility() { 
546      return this.facility != null && !this.facility.isEmpty();
547    }
548
549    /**
550     * @param value {@link #facility} (Facility where the services were provided.)
551     */
552    public EligibilityRequest setFacility(Type value) { 
553      this.facility = value;
554      return this;
555    }
556
557    /**
558     * @return {@link #patient} (Patient Resource.)
559     */
560    public Type getPatient() { 
561      return this.patient;
562    }
563
564    /**
565     * @return {@link #patient} (Patient Resource.)
566     */
567    public Identifier getPatientIdentifier() throws FHIRException { 
568      if (!(this.patient instanceof Identifier))
569        throw new FHIRException("Type mismatch: the type Identifier was expected, but "+this.patient.getClass().getName()+" was encountered");
570      return (Identifier) this.patient;
571    }
572
573    public boolean hasPatientIdentifier() { 
574      return this.patient instanceof Identifier;
575    }
576
577    /**
578     * @return {@link #patient} (Patient Resource.)
579     */
580    public Reference getPatientReference() throws FHIRException { 
581      if (!(this.patient instanceof Reference))
582        throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.patient.getClass().getName()+" was encountered");
583      return (Reference) this.patient;
584    }
585
586    public boolean hasPatientReference() { 
587      return this.patient instanceof Reference;
588    }
589
590    public boolean hasPatient() { 
591      return this.patient != null && !this.patient.isEmpty();
592    }
593
594    /**
595     * @param value {@link #patient} (Patient Resource.)
596     */
597    public EligibilityRequest setPatient(Type value) { 
598      this.patient = value;
599      return this;
600    }
601
602    /**
603     * @return {@link #coverage} (Financial instrument by which payment information for health care.)
604     */
605    public Type getCoverage() { 
606      return this.coverage;
607    }
608
609    /**
610     * @return {@link #coverage} (Financial instrument by which payment information for health care.)
611     */
612    public Identifier getCoverageIdentifier() throws FHIRException { 
613      if (!(this.coverage instanceof Identifier))
614        throw new FHIRException("Type mismatch: the type Identifier was expected, but "+this.coverage.getClass().getName()+" was encountered");
615      return (Identifier) this.coverage;
616    }
617
618    public boolean hasCoverageIdentifier() { 
619      return this.coverage instanceof Identifier;
620    }
621
622    /**
623     * @return {@link #coverage} (Financial instrument by which payment information for health care.)
624     */
625    public Reference getCoverageReference() throws FHIRException { 
626      if (!(this.coverage instanceof Reference))
627        throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.coverage.getClass().getName()+" was encountered");
628      return (Reference) this.coverage;
629    }
630
631    public boolean hasCoverageReference() { 
632      return this.coverage instanceof Reference;
633    }
634
635    public boolean hasCoverage() { 
636      return this.coverage != null && !this.coverage.isEmpty();
637    }
638
639    /**
640     * @param value {@link #coverage} (Financial instrument by which payment information for health care.)
641     */
642    public EligibilityRequest setCoverage(Type value) { 
643      this.coverage = value;
644      return this;
645    }
646
647    /**
648     * @return {@link #businessArrangement} (The contract number of a business agreement which describes the terms and conditions.). This is the underlying object with id, value and extensions. The accessor "getBusinessArrangement" gives direct access to the value
649     */
650    public StringType getBusinessArrangementElement() { 
651      if (this.businessArrangement == null)
652        if (Configuration.errorOnAutoCreate())
653          throw new Error("Attempt to auto-create EligibilityRequest.businessArrangement");
654        else if (Configuration.doAutoCreate())
655          this.businessArrangement = new StringType(); // bb
656      return this.businessArrangement;
657    }
658
659    public boolean hasBusinessArrangementElement() { 
660      return this.businessArrangement != null && !this.businessArrangement.isEmpty();
661    }
662
663    public boolean hasBusinessArrangement() { 
664      return this.businessArrangement != null && !this.businessArrangement.isEmpty();
665    }
666
667    /**
668     * @param value {@link #businessArrangement} (The contract number of a business agreement which describes the terms and conditions.). This is the underlying object with id, value and extensions. The accessor "getBusinessArrangement" gives direct access to the value
669     */
670    public EligibilityRequest setBusinessArrangementElement(StringType value) { 
671      this.businessArrangement = value;
672      return this;
673    }
674
675    /**
676     * @return The contract number of a business agreement which describes the terms and conditions.
677     */
678    public String getBusinessArrangement() { 
679      return this.businessArrangement == null ? null : this.businessArrangement.getValue();
680    }
681
682    /**
683     * @param value The contract number of a business agreement which describes the terms and conditions.
684     */
685    public EligibilityRequest setBusinessArrangement(String value) { 
686      if (Utilities.noString(value))
687        this.businessArrangement = null;
688      else {
689        if (this.businessArrangement == null)
690          this.businessArrangement = new StringType();
691        this.businessArrangement.setValue(value);
692      }
693      return this;
694    }
695
696    /**
697     * @return {@link #serviced} (The date or dates when the enclosed suite of services were performed or completed.)
698     */
699    public Type getServiced() { 
700      return this.serviced;
701    }
702
703    /**
704     * @return {@link #serviced} (The date or dates when the enclosed suite of services were performed or completed.)
705     */
706    public DateType getServicedDateType() throws FHIRException { 
707      if (!(this.serviced instanceof DateType))
708        throw new FHIRException("Type mismatch: the type DateType was expected, but "+this.serviced.getClass().getName()+" was encountered");
709      return (DateType) this.serviced;
710    }
711
712    public boolean hasServicedDateType() { 
713      return this.serviced instanceof DateType;
714    }
715
716    /**
717     * @return {@link #serviced} (The date or dates when the enclosed suite of services were performed or completed.)
718     */
719    public Period getServicedPeriod() throws FHIRException { 
720      if (!(this.serviced instanceof Period))
721        throw new FHIRException("Type mismatch: the type Period was expected, but "+this.serviced.getClass().getName()+" was encountered");
722      return (Period) this.serviced;
723    }
724
725    public boolean hasServicedPeriod() { 
726      return this.serviced instanceof Period;
727    }
728
729    public boolean hasServiced() { 
730      return this.serviced != null && !this.serviced.isEmpty();
731    }
732
733    /**
734     * @param value {@link #serviced} (The date or dates when the enclosed suite of services were performed or completed.)
735     */
736    public EligibilityRequest setServiced(Type value) { 
737      this.serviced = value;
738      return this;
739    }
740
741    /**
742     * @return {@link #benefitCategory} (Dental, Vision, Medical, Pharmacy, Rehab etc.)
743     */
744    public Coding getBenefitCategory() { 
745      if (this.benefitCategory == null)
746        if (Configuration.errorOnAutoCreate())
747          throw new Error("Attempt to auto-create EligibilityRequest.benefitCategory");
748        else if (Configuration.doAutoCreate())
749          this.benefitCategory = new Coding(); // cc
750      return this.benefitCategory;
751    }
752
753    public boolean hasBenefitCategory() { 
754      return this.benefitCategory != null && !this.benefitCategory.isEmpty();
755    }
756
757    /**
758     * @param value {@link #benefitCategory} (Dental, Vision, Medical, Pharmacy, Rehab etc.)
759     */
760    public EligibilityRequest setBenefitCategory(Coding value) { 
761      this.benefitCategory = value;
762      return this;
763    }
764
765    /**
766     * @return {@link #benefitSubCategory} (Dental: basic, major, ortho; Vision exam, glasses, contacts; etc.)
767     */
768    public Coding getBenefitSubCategory() { 
769      if (this.benefitSubCategory == null)
770        if (Configuration.errorOnAutoCreate())
771          throw new Error("Attempt to auto-create EligibilityRequest.benefitSubCategory");
772        else if (Configuration.doAutoCreate())
773          this.benefitSubCategory = new Coding(); // cc
774      return this.benefitSubCategory;
775    }
776
777    public boolean hasBenefitSubCategory() { 
778      return this.benefitSubCategory != null && !this.benefitSubCategory.isEmpty();
779    }
780
781    /**
782     * @param value {@link #benefitSubCategory} (Dental: basic, major, ortho; Vision exam, glasses, contacts; etc.)
783     */
784    public EligibilityRequest setBenefitSubCategory(Coding value) { 
785      this.benefitSubCategory = value;
786      return this;
787    }
788
789      protected void listChildren(List<Property> childrenList) {
790        super.listChildren(childrenList);
791        childrenList.add(new Property("identifier", "Identifier", "The Response business identifier.", 0, java.lang.Integer.MAX_VALUE, identifier));
792        childrenList.add(new Property("ruleset", "Coding", "The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources.", 0, java.lang.Integer.MAX_VALUE, ruleset));
793        childrenList.add(new Property("originalRuleset", "Coding", "The style (standard) and version of the original material which was converted into this resource.", 0, java.lang.Integer.MAX_VALUE, originalRuleset));
794        childrenList.add(new Property("created", "dateTime", "The date when this resource was created.", 0, java.lang.Integer.MAX_VALUE, created));
795        childrenList.add(new Property("target[x]", "Identifier|Reference(Organization)", "The Insurer who is target  of the request.", 0, java.lang.Integer.MAX_VALUE, target));
796        childrenList.add(new Property("provider[x]", "Identifier|Reference(Practitioner)", "The practitioner who is responsible for the services rendered to the patient.", 0, java.lang.Integer.MAX_VALUE, provider));
797        childrenList.add(new Property("organization[x]", "Identifier|Reference(Organization)", "The organization which is responsible for the services rendered to the patient.", 0, java.lang.Integer.MAX_VALUE, organization));
798        childrenList.add(new Property("priority", "Coding", "Immediate (STAT), best effort (NORMAL), deferred (DEFER).", 0, java.lang.Integer.MAX_VALUE, priority));
799        childrenList.add(new Property("enterer[x]", "Identifier|Reference(Practitioner)", "Person who created the invoice/claim/pre-determination or pre-authorization.", 0, java.lang.Integer.MAX_VALUE, enterer));
800        childrenList.add(new Property("facility[x]", "Identifier|Reference(Location)", "Facility where the services were provided.", 0, java.lang.Integer.MAX_VALUE, facility));
801        childrenList.add(new Property("patient[x]", "Identifier|Reference(Patient)", "Patient Resource.", 0, java.lang.Integer.MAX_VALUE, patient));
802        childrenList.add(new Property("coverage[x]", "Identifier|Reference(Coverage)", "Financial instrument by which payment information for health care.", 0, java.lang.Integer.MAX_VALUE, coverage));
803        childrenList.add(new Property("businessArrangement", "string", "The contract number of a business agreement which describes the terms and conditions.", 0, java.lang.Integer.MAX_VALUE, businessArrangement));
804        childrenList.add(new Property("serviced[x]", "date|Period", "The date or dates when the enclosed suite of services were performed or completed.", 0, java.lang.Integer.MAX_VALUE, serviced));
805        childrenList.add(new Property("benefitCategory", "Coding", "Dental, Vision, Medical, Pharmacy, Rehab etc.", 0, java.lang.Integer.MAX_VALUE, benefitCategory));
806        childrenList.add(new Property("benefitSubCategory", "Coding", "Dental: basic, major, ortho; Vision exam, glasses, contacts; etc.", 0, java.lang.Integer.MAX_VALUE, benefitSubCategory));
807      }
808
809      @Override
810      public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
811        switch (hash) {
812        case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier
813        case 1548678118: /*ruleset*/ return this.ruleset == null ? new Base[0] : new Base[] {this.ruleset}; // Coding
814        case 1089373397: /*originalRuleset*/ return this.originalRuleset == null ? new Base[0] : new Base[] {this.originalRuleset}; // Coding
815        case 1028554472: /*created*/ return this.created == null ? new Base[0] : new Base[] {this.created}; // DateTimeType
816        case -880905839: /*target*/ return this.target == null ? new Base[0] : new Base[] {this.target}; // Type
817        case -987494927: /*provider*/ return this.provider == null ? new Base[0] : new Base[] {this.provider}; // Type
818        case 1178922291: /*organization*/ return this.organization == null ? new Base[0] : new Base[] {this.organization}; // Type
819        case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // Coding
820        case -1591951995: /*enterer*/ return this.enterer == null ? new Base[0] : new Base[] {this.enterer}; // Type
821        case 501116579: /*facility*/ return this.facility == null ? new Base[0] : new Base[] {this.facility}; // Type
822        case -791418107: /*patient*/ return this.patient == null ? new Base[0] : new Base[] {this.patient}; // Type
823        case -351767064: /*coverage*/ return this.coverage == null ? new Base[0] : new Base[] {this.coverage}; // Type
824        case 259920682: /*businessArrangement*/ return this.businessArrangement == null ? new Base[0] : new Base[] {this.businessArrangement}; // StringType
825        case 1379209295: /*serviced*/ return this.serviced == null ? new Base[0] : new Base[] {this.serviced}; // Type
826        case -1023390027: /*benefitCategory*/ return this.benefitCategory == null ? new Base[0] : new Base[] {this.benefitCategory}; // Coding
827        case 1987878471: /*benefitSubCategory*/ return this.benefitSubCategory == null ? new Base[0] : new Base[] {this.benefitSubCategory}; // Coding
828        default: return super.getProperty(hash, name, checkValid);
829        }
830
831      }
832
833      @Override
834      public void setProperty(int hash, String name, Base value) throws FHIRException {
835        switch (hash) {
836        case -1618432855: // identifier
837          this.getIdentifier().add(castToIdentifier(value)); // Identifier
838          break;
839        case 1548678118: // ruleset
840          this.ruleset = castToCoding(value); // Coding
841          break;
842        case 1089373397: // originalRuleset
843          this.originalRuleset = castToCoding(value); // Coding
844          break;
845        case 1028554472: // created
846          this.created = castToDateTime(value); // DateTimeType
847          break;
848        case -880905839: // target
849          this.target = (Type) value; // Type
850          break;
851        case -987494927: // provider
852          this.provider = (Type) value; // Type
853          break;
854        case 1178922291: // organization
855          this.organization = (Type) value; // Type
856          break;
857        case -1165461084: // priority
858          this.priority = castToCoding(value); // Coding
859          break;
860        case -1591951995: // enterer
861          this.enterer = (Type) value; // Type
862          break;
863        case 501116579: // facility
864          this.facility = (Type) value; // Type
865          break;
866        case -791418107: // patient
867          this.patient = (Type) value; // Type
868          break;
869        case -351767064: // coverage
870          this.coverage = (Type) value; // Type
871          break;
872        case 259920682: // businessArrangement
873          this.businessArrangement = castToString(value); // StringType
874          break;
875        case 1379209295: // serviced
876          this.serviced = (Type) value; // Type
877          break;
878        case -1023390027: // benefitCategory
879          this.benefitCategory = castToCoding(value); // Coding
880          break;
881        case 1987878471: // benefitSubCategory
882          this.benefitSubCategory = castToCoding(value); // Coding
883          break;
884        default: super.setProperty(hash, name, value);
885        }
886
887      }
888
889      @Override
890      public void setProperty(String name, Base value) throws FHIRException {
891        if (name.equals("identifier"))
892          this.getIdentifier().add(castToIdentifier(value));
893        else if (name.equals("ruleset"))
894          this.ruleset = castToCoding(value); // Coding
895        else if (name.equals("originalRuleset"))
896          this.originalRuleset = castToCoding(value); // Coding
897        else if (name.equals("created"))
898          this.created = castToDateTime(value); // DateTimeType
899        else if (name.equals("target[x]"))
900          this.target = (Type) value; // Type
901        else if (name.equals("provider[x]"))
902          this.provider = (Type) value; // Type
903        else if (name.equals("organization[x]"))
904          this.organization = (Type) value; // Type
905        else if (name.equals("priority"))
906          this.priority = castToCoding(value); // Coding
907        else if (name.equals("enterer[x]"))
908          this.enterer = (Type) value; // Type
909        else if (name.equals("facility[x]"))
910          this.facility = (Type) value; // Type
911        else if (name.equals("patient[x]"))
912          this.patient = (Type) value; // Type
913        else if (name.equals("coverage[x]"))
914          this.coverage = (Type) value; // Type
915        else if (name.equals("businessArrangement"))
916          this.businessArrangement = castToString(value); // StringType
917        else if (name.equals("serviced[x]"))
918          this.serviced = (Type) value; // Type
919        else if (name.equals("benefitCategory"))
920          this.benefitCategory = castToCoding(value); // Coding
921        else if (name.equals("benefitSubCategory"))
922          this.benefitSubCategory = castToCoding(value); // Coding
923        else
924          super.setProperty(name, value);
925      }
926
927      @Override
928      public Base makeProperty(int hash, String name) throws FHIRException {
929        switch (hash) {
930        case -1618432855:  return addIdentifier(); // Identifier
931        case 1548678118:  return getRuleset(); // Coding
932        case 1089373397:  return getOriginalRuleset(); // Coding
933        case 1028554472: throw new FHIRException("Cannot make property created as it is not a complex type"); // DateTimeType
934        case -815579825:  return getTarget(); // Type
935        case 2064698607:  return getProvider(); // Type
936        case 1326483053:  return getOrganization(); // Type
937        case -1165461084:  return getPriority(); // Coding
938        case -812909349:  return getEnterer(); // Type
939        case -542224643:  return getFacility(); // Type
940        case -2061246629:  return getPatient(); // Type
941        case 227689880:  return getCoverage(); // Type
942        case 259920682: throw new FHIRException("Cannot make property businessArrangement as it is not a complex type"); // StringType
943        case -1927922223:  return getServiced(); // Type
944        case -1023390027:  return getBenefitCategory(); // Coding
945        case 1987878471:  return getBenefitSubCategory(); // Coding
946        default: return super.makeProperty(hash, name);
947        }
948
949      }
950
951      @Override
952      public Base addChild(String name) throws FHIRException {
953        if (name.equals("identifier")) {
954          return addIdentifier();
955        }
956        else if (name.equals("ruleset")) {
957          this.ruleset = new Coding();
958          return this.ruleset;
959        }
960        else if (name.equals("originalRuleset")) {
961          this.originalRuleset = new Coding();
962          return this.originalRuleset;
963        }
964        else if (name.equals("created")) {
965          throw new FHIRException("Cannot call addChild on a primitive type EligibilityRequest.created");
966        }
967        else if (name.equals("targetIdentifier")) {
968          this.target = new Identifier();
969          return this.target;
970        }
971        else if (name.equals("targetReference")) {
972          this.target = new Reference();
973          return this.target;
974        }
975        else if (name.equals("providerIdentifier")) {
976          this.provider = new Identifier();
977          return this.provider;
978        }
979        else if (name.equals("providerReference")) {
980          this.provider = new Reference();
981          return this.provider;
982        }
983        else if (name.equals("organizationIdentifier")) {
984          this.organization = new Identifier();
985          return this.organization;
986        }
987        else if (name.equals("organizationReference")) {
988          this.organization = new Reference();
989          return this.organization;
990        }
991        else if (name.equals("priority")) {
992          this.priority = new Coding();
993          return this.priority;
994        }
995        else if (name.equals("entererIdentifier")) {
996          this.enterer = new Identifier();
997          return this.enterer;
998        }
999        else if (name.equals("entererReference")) {
1000          this.enterer = new Reference();
1001          return this.enterer;
1002        }
1003        else if (name.equals("facilityIdentifier")) {
1004          this.facility = new Identifier();
1005          return this.facility;
1006        }
1007        else if (name.equals("facilityReference")) {
1008          this.facility = new Reference();
1009          return this.facility;
1010        }
1011        else if (name.equals("patientIdentifier")) {
1012          this.patient = new Identifier();
1013          return this.patient;
1014        }
1015        else if (name.equals("patientReference")) {
1016          this.patient = new Reference();
1017          return this.patient;
1018        }
1019        else if (name.equals("coverageIdentifier")) {
1020          this.coverage = new Identifier();
1021          return this.coverage;
1022        }
1023        else if (name.equals("coverageReference")) {
1024          this.coverage = new Reference();
1025          return this.coverage;
1026        }
1027        else if (name.equals("businessArrangement")) {
1028          throw new FHIRException("Cannot call addChild on a primitive type EligibilityRequest.businessArrangement");
1029        }
1030        else if (name.equals("servicedDate")) {
1031          this.serviced = new DateType();
1032          return this.serviced;
1033        }
1034        else if (name.equals("servicedPeriod")) {
1035          this.serviced = new Period();
1036          return this.serviced;
1037        }
1038        else if (name.equals("benefitCategory")) {
1039          this.benefitCategory = new Coding();
1040          return this.benefitCategory;
1041        }
1042        else if (name.equals("benefitSubCategory")) {
1043          this.benefitSubCategory = new Coding();
1044          return this.benefitSubCategory;
1045        }
1046        else
1047          return super.addChild(name);
1048      }
1049
1050  public String fhirType() {
1051    return "EligibilityRequest";
1052
1053  }
1054
1055      public EligibilityRequest copy() {
1056        EligibilityRequest dst = new EligibilityRequest();
1057        copyValues(dst);
1058        if (identifier != null) {
1059          dst.identifier = new ArrayList<Identifier>();
1060          for (Identifier i : identifier)
1061            dst.identifier.add(i.copy());
1062        };
1063        dst.ruleset = ruleset == null ? null : ruleset.copy();
1064        dst.originalRuleset = originalRuleset == null ? null : originalRuleset.copy();
1065        dst.created = created == null ? null : created.copy();
1066        dst.target = target == null ? null : target.copy();
1067        dst.provider = provider == null ? null : provider.copy();
1068        dst.organization = organization == null ? null : organization.copy();
1069        dst.priority = priority == null ? null : priority.copy();
1070        dst.enterer = enterer == null ? null : enterer.copy();
1071        dst.facility = facility == null ? null : facility.copy();
1072        dst.patient = patient == null ? null : patient.copy();
1073        dst.coverage = coverage == null ? null : coverage.copy();
1074        dst.businessArrangement = businessArrangement == null ? null : businessArrangement.copy();
1075        dst.serviced = serviced == null ? null : serviced.copy();
1076        dst.benefitCategory = benefitCategory == null ? null : benefitCategory.copy();
1077        dst.benefitSubCategory = benefitSubCategory == null ? null : benefitSubCategory.copy();
1078        return dst;
1079      }
1080
1081      protected EligibilityRequest typedCopy() {
1082        return copy();
1083      }
1084
1085      @Override
1086      public boolean equalsDeep(Base other) {
1087        if (!super.equalsDeep(other))
1088          return false;
1089        if (!(other instanceof EligibilityRequest))
1090          return false;
1091        EligibilityRequest o = (EligibilityRequest) other;
1092        return compareDeep(identifier, o.identifier, true) && compareDeep(ruleset, o.ruleset, true) && compareDeep(originalRuleset, o.originalRuleset, true)
1093           && compareDeep(created, o.created, true) && compareDeep(target, o.target, true) && compareDeep(provider, o.provider, true)
1094           && compareDeep(organization, o.organization, true) && compareDeep(priority, o.priority, true) && compareDeep(enterer, o.enterer, true)
1095           && compareDeep(facility, o.facility, true) && compareDeep(patient, o.patient, true) && compareDeep(coverage, o.coverage, true)
1096           && compareDeep(businessArrangement, o.businessArrangement, true) && compareDeep(serviced, o.serviced, true)
1097           && compareDeep(benefitCategory, o.benefitCategory, true) && compareDeep(benefitSubCategory, o.benefitSubCategory, true)
1098          ;
1099      }
1100
1101      @Override
1102      public boolean equalsShallow(Base other) {
1103        if (!super.equalsShallow(other))
1104          return false;
1105        if (!(other instanceof EligibilityRequest))
1106          return false;
1107        EligibilityRequest o = (EligibilityRequest) other;
1108        return compareValues(created, o.created, true) && compareValues(businessArrangement, o.businessArrangement, true)
1109          ;
1110      }
1111
1112      public boolean isEmpty() {
1113        return super.isEmpty() && (identifier == null || identifier.isEmpty()) && (ruleset == null || ruleset.isEmpty())
1114           && (originalRuleset == null || originalRuleset.isEmpty()) && (created == null || created.isEmpty())
1115           && (target == null || target.isEmpty()) && (provider == null || provider.isEmpty()) && (organization == null || organization.isEmpty())
1116           && (priority == null || priority.isEmpty()) && (enterer == null || enterer.isEmpty()) && (facility == null || facility.isEmpty())
1117           && (patient == null || patient.isEmpty()) && (coverage == null || coverage.isEmpty()) && (businessArrangement == null || businessArrangement.isEmpty())
1118           && (serviced == null || serviced.isEmpty()) && (benefitCategory == null || benefitCategory.isEmpty())
1119           && (benefitSubCategory == null || benefitSubCategory.isEmpty());
1120      }
1121
1122  @Override
1123  public ResourceType getResourceType() {
1124    return ResourceType.EligibilityRequest;
1125   }
1126
1127 /**
1128   * Search parameter: <b>patientidentifier</b>
1129   * <p>
1130   * Description: <b>The reference to the patient</b><br>
1131   * Type: <b>token</b><br>
1132   * Path: <b>EligibilityRequest.patientIdentifier</b><br>
1133   * </p>
1134   */
1135  @SearchParamDefinition(name="patientidentifier", path="EligibilityRequest.patient.as(Identifier)", description="The reference to the patient", type="token" )
1136  public static final String SP_PATIENTIDENTIFIER = "patientidentifier";
1137 /**
1138   * <b>Fluent Client</b> search parameter constant for <b>patientidentifier</b>
1139   * <p>
1140   * Description: <b>The reference to the patient</b><br>
1141   * Type: <b>token</b><br>
1142   * Path: <b>EligibilityRequest.patientIdentifier</b><br>
1143   * </p>
1144   */
1145  public static final ca.uhn.fhir.rest.gclient.TokenClientParam PATIENTIDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_PATIENTIDENTIFIER);
1146
1147 /**
1148   * Search parameter: <b>created</b>
1149   * <p>
1150   * Description: <b>The creation date for the EOB</b><br>
1151   * Type: <b>date</b><br>
1152   * Path: <b>EligibilityRequest.created</b><br>
1153   * </p>
1154   */
1155  @SearchParamDefinition(name="created", path="EligibilityRequest.created", description="The creation date for the EOB", type="date" )
1156  public static final String SP_CREATED = "created";
1157 /**
1158   * <b>Fluent Client</b> search parameter constant for <b>created</b>
1159   * <p>
1160   * Description: <b>The creation date for the EOB</b><br>
1161   * Type: <b>date</b><br>
1162   * Path: <b>EligibilityRequest.created</b><br>
1163   * </p>
1164   */
1165  public static final ca.uhn.fhir.rest.gclient.DateClientParam CREATED = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_CREATED);
1166
1167 /**
1168   * Search parameter: <b>facilityidentifier</b>
1169   * <p>
1170   * Description: <b>Facility responsible for the goods and services</b><br>
1171   * Type: <b>token</b><br>
1172   * Path: <b>EligibilityRequest.facilityidentifier</b><br>
1173   * </p>
1174   */
1175  @SearchParamDefinition(name="facilityidentifier", path="EligibilityRequest.facility.as(identifier)", description="Facility responsible for the goods and services", type="token" )
1176  public static final String SP_FACILITYIDENTIFIER = "facilityidentifier";
1177 /**
1178   * <b>Fluent Client</b> search parameter constant for <b>facilityidentifier</b>
1179   * <p>
1180   * Description: <b>Facility responsible for the goods and services</b><br>
1181   * Type: <b>token</b><br>
1182   * Path: <b>EligibilityRequest.facilityidentifier</b><br>
1183   * </p>
1184   */
1185  public static final ca.uhn.fhir.rest.gclient.TokenClientParam FACILITYIDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_FACILITYIDENTIFIER);
1186
1187 /**
1188   * Search parameter: <b>facilityreference</b>
1189   * <p>
1190   * Description: <b>Facility responsible for the goods and services</b><br>
1191   * Type: <b>reference</b><br>
1192   * Path: <b>EligibilityRequest.facilityReference</b><br>
1193   * </p>
1194   */
1195  @SearchParamDefinition(name="facilityreference", path="EligibilityRequest.facility.as(Reference)", description="Facility responsible for the goods and services", type="reference" )
1196  public static final String SP_FACILITYREFERENCE = "facilityreference";
1197 /**
1198   * <b>Fluent Client</b> search parameter constant for <b>facilityreference</b>
1199   * <p>
1200   * Description: <b>Facility responsible for the goods and services</b><br>
1201   * Type: <b>reference</b><br>
1202   * Path: <b>EligibilityRequest.facilityReference</b><br>
1203   * </p>
1204   */
1205  public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam FACILITYREFERENCE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_FACILITYREFERENCE);
1206
1207/**
1208   * Constant for fluent queries to be used to add include statements. Specifies
1209   * the path value of "<b>EligibilityRequest:facilityreference</b>".
1210   */
1211  public static final ca.uhn.fhir.model.api.Include INCLUDE_FACILITYREFERENCE = new ca.uhn.fhir.model.api.Include("EligibilityRequest:facilityreference").toLocked();
1212
1213 /**
1214   * Search parameter: <b>providerreference</b>
1215   * <p>
1216   * Description: <b>The reference to the provider</b><br>
1217   * Type: <b>reference</b><br>
1218   * Path: <b>EligibilityRequest.providerReference</b><br>
1219   * </p>
1220   */
1221  @SearchParamDefinition(name="providerreference", path="EligibilityRequest.provider.as(Reference)", description="The reference to the provider", type="reference" )
1222  public static final String SP_PROVIDERREFERENCE = "providerreference";
1223 /**
1224   * <b>Fluent Client</b> search parameter constant for <b>providerreference</b>
1225   * <p>
1226   * Description: <b>The reference to the provider</b><br>
1227   * Type: <b>reference</b><br>
1228   * Path: <b>EligibilityRequest.providerReference</b><br>
1229   * </p>
1230   */
1231  public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PROVIDERREFERENCE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PROVIDERREFERENCE);
1232
1233/**
1234   * Constant for fluent queries to be used to add include statements. Specifies
1235   * the path value of "<b>EligibilityRequest:providerreference</b>".
1236   */
1237  public static final ca.uhn.fhir.model.api.Include INCLUDE_PROVIDERREFERENCE = new ca.uhn.fhir.model.api.Include("EligibilityRequest:providerreference").toLocked();
1238
1239 /**
1240   * Search parameter: <b>organizationidentifier</b>
1241   * <p>
1242   * Description: <b>The reference to the providing organization</b><br>
1243   * Type: <b>token</b><br>
1244   * Path: <b>EligibilityRequest.organizationidentifier</b><br>
1245   * </p>
1246   */
1247  @SearchParamDefinition(name="organizationidentifier", path="EligibilityRequest.organization.as(identifier)", description="The reference to the providing organization", type="token" )
1248  public static final String SP_ORGANIZATIONIDENTIFIER = "organizationidentifier";
1249 /**
1250   * <b>Fluent Client</b> search parameter constant for <b>organizationidentifier</b>
1251   * <p>
1252   * Description: <b>The reference to the providing organization</b><br>
1253   * Type: <b>token</b><br>
1254   * Path: <b>EligibilityRequest.organizationidentifier</b><br>
1255   * </p>
1256   */
1257  public static final ca.uhn.fhir.rest.gclient.TokenClientParam ORGANIZATIONIDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_ORGANIZATIONIDENTIFIER);
1258
1259 /**
1260   * Search parameter: <b>organizationreference</b>
1261   * <p>
1262   * Description: <b>The reference to the providing organization</b><br>
1263   * Type: <b>reference</b><br>
1264   * Path: <b>EligibilityRequest.organizationReference</b><br>
1265   * </p>
1266   */
1267  @SearchParamDefinition(name="organizationreference", path="EligibilityRequest.organization.as(Reference)", description="The reference to the providing organization", type="reference" )
1268  public static final String SP_ORGANIZATIONREFERENCE = "organizationreference";
1269 /**
1270   * <b>Fluent Client</b> search parameter constant for <b>organizationreference</b>
1271   * <p>
1272   * Description: <b>The reference to the providing organization</b><br>
1273   * Type: <b>reference</b><br>
1274   * Path: <b>EligibilityRequest.organizationReference</b><br>
1275   * </p>
1276   */
1277  public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ORGANIZATIONREFERENCE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ORGANIZATIONREFERENCE);
1278
1279/**
1280   * Constant for fluent queries to be used to add include statements. Specifies
1281   * the path value of "<b>EligibilityRequest:organizationreference</b>".
1282   */
1283  public static final ca.uhn.fhir.model.api.Include INCLUDE_ORGANIZATIONREFERENCE = new ca.uhn.fhir.model.api.Include("EligibilityRequest:organizationreference").toLocked();
1284
1285 /**
1286   * Search parameter: <b>patientreference</b>
1287   * <p>
1288   * Description: <b>The reference to the patient</b><br>
1289   * Type: <b>reference</b><br>
1290   * Path: <b>EligibilityRequest.patientReference</b><br>
1291   * </p>
1292   */
1293  @SearchParamDefinition(name="patientreference", path="EligibilityRequest.patient.as(Reference)", description="The reference to the patient", type="reference" )
1294  public static final String SP_PATIENTREFERENCE = "patientreference";
1295 /**
1296   * <b>Fluent Client</b> search parameter constant for <b>patientreference</b>
1297   * <p>
1298   * Description: <b>The reference to the patient</b><br>
1299   * Type: <b>reference</b><br>
1300   * Path: <b>EligibilityRequest.patientReference</b><br>
1301   * </p>
1302   */
1303  public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENTREFERENCE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENTREFERENCE);
1304
1305/**
1306   * Constant for fluent queries to be used to add include statements. Specifies
1307   * the path value of "<b>EligibilityRequest:patientreference</b>".
1308   */
1309  public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENTREFERENCE = new ca.uhn.fhir.model.api.Include("EligibilityRequest:patientreference").toLocked();
1310
1311 /**
1312   * Search parameter: <b>identifier</b>
1313   * <p>
1314   * Description: <b>The business identifier of the Eligibility</b><br>
1315   * Type: <b>token</b><br>
1316   * Path: <b>EligibilityRequest.identifier</b><br>
1317   * </p>
1318   */
1319  @SearchParamDefinition(name="identifier", path="EligibilityRequest.identifier", description="The business identifier of the Eligibility", type="token" )
1320  public static final String SP_IDENTIFIER = "identifier";
1321 /**
1322   * <b>Fluent Client</b> search parameter constant for <b>identifier</b>
1323   * <p>
1324   * Description: <b>The business identifier of the Eligibility</b><br>
1325   * Type: <b>token</b><br>
1326   * Path: <b>EligibilityRequest.identifier</b><br>
1327   * </p>
1328   */
1329  public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER);
1330
1331 /**
1332   * Search parameter: <b>provideridentifier</b>
1333   * <p>
1334   * Description: <b>The reference to the provider</b><br>
1335   * Type: <b>token</b><br>
1336   * Path: <b>EligibilityRequest.provideridentifier</b><br>
1337   * </p>
1338   */
1339  @SearchParamDefinition(name="provideridentifier", path="EligibilityRequest.provider.as(identifier)", description="The reference to the provider", type="token" )
1340  public static final String SP_PROVIDERIDENTIFIER = "provideridentifier";
1341 /**
1342   * <b>Fluent Client</b> search parameter constant for <b>provideridentifier</b>
1343   * <p>
1344   * Description: <b>The reference to the provider</b><br>
1345   * Type: <b>token</b><br>
1346   * Path: <b>EligibilityRequest.provideridentifier</b><br>
1347   * </p>
1348   */
1349  public static final ca.uhn.fhir.rest.gclient.TokenClientParam PROVIDERIDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_PROVIDERIDENTIFIER);
1350
1351
1352}
1353