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