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