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