001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017package ca.uhn.fhir.model.dstu2.resource;
018
019import java.math.BigDecimal;
020import java.net.URI;
021import java.util.*;
022import ca.uhn.fhir.model.api.*;
023import ca.uhn.fhir.model.api.annotation.*;
024import ca.uhn.fhir.rest.gclient.*;
025
026import ca.uhn.fhir.model.dstu2.valueset.AccountStatusEnum;
027import ca.uhn.fhir.model.dstu2.valueset.ActionListEnum;
028import ca.uhn.fhir.model.dstu2.composite.AddressDt;
029import ca.uhn.fhir.model.dstu2.valueset.AdjudicationCodesEnum;
030import ca.uhn.fhir.model.dstu2.valueset.AdjudicationErrorCodesEnum;
031import ca.uhn.fhir.model.dstu2.valueset.AdjustmentReasonCodesEnum;
032import ca.uhn.fhir.model.dstu2.valueset.AdministrativeGenderEnum;
033import ca.uhn.fhir.model.dstu2.valueset.AdmitSourceEnum;
034import ca.uhn.fhir.model.dstu2.resource.AllergyIntolerance;
035import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCategoryEnum;
036import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCertaintyEnum;
037import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceCriticalityEnum;
038import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceSeverityEnum;
039import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceStatusEnum;
040import ca.uhn.fhir.model.dstu2.valueset.AllergyIntoleranceTypeEnum;
041import ca.uhn.fhir.model.dstu2.composite.AnnotationDt;
042import ca.uhn.fhir.model.dstu2.valueset.AnswerFormatEnum;
043import ca.uhn.fhir.model.dstu2.resource.Appointment;
044import ca.uhn.fhir.model.dstu2.valueset.AppointmentStatusEnum;
045import ca.uhn.fhir.model.dstu2.valueset.AssertionDirectionTypeEnum;
046import ca.uhn.fhir.model.dstu2.valueset.AssertionOperatorTypeEnum;
047import ca.uhn.fhir.model.dstu2.valueset.AssertionResponseTypesEnum;
048import ca.uhn.fhir.model.dstu2.composite.AttachmentDt;
049import ca.uhn.fhir.model.dstu2.valueset.AuditEventActionEnum;
050import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectLifecycleEnum;
051import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectRoleEnum;
052import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectTypeEnum;
053import ca.uhn.fhir.model.dstu2.valueset.AuditEventOutcomeEnum;
054import ca.uhn.fhir.model.dstu2.valueset.AuditEventParticipantNetworkTypeEnum;
055import ca.uhn.fhir.model.dstu2.valueset.AuditEventSourceTypeEnum;
056import ca.uhn.fhir.model.dstu2.valueset.BindingStrengthEnum;
057import ca.uhn.fhir.model.dstu2.resource.BodySite;
058import ca.uhn.fhir.model.dstu2.valueset.BundleTypeEnum;
059import ca.uhn.fhir.model.dstu2.resource.CarePlan;
060import ca.uhn.fhir.model.dstu2.valueset.CarePlanActivityStatusEnum;
061import ca.uhn.fhir.model.dstu2.valueset.CarePlanRelationshipEnum;
062import ca.uhn.fhir.model.dstu2.valueset.CarePlanStatusEnum;
063import ca.uhn.fhir.model.dstu2.resource.Claim;
064import ca.uhn.fhir.model.dstu2.resource.ClaimResponse;
065import ca.uhn.fhir.model.dstu2.valueset.ClaimTypeEnum;
066import ca.uhn.fhir.model.dstu2.resource.ClinicalImpression;
067import ca.uhn.fhir.model.dstu2.valueset.ClinicalImpressionStatusEnum;
068import ca.uhn.fhir.model.dstu2.composite.CodeableConceptDt;
069import ca.uhn.fhir.model.dstu2.composite.CodingDt;
070import ca.uhn.fhir.model.dstu2.resource.CommunicationRequest;
071import ca.uhn.fhir.model.dstu2.valueset.CommunicationRequestStatusEnum;
072import ca.uhn.fhir.model.dstu2.valueset.CommunicationStatusEnum;
073import ca.uhn.fhir.model.dstu2.resource.Composition;
074import ca.uhn.fhir.model.dstu2.valueset.CompositionAttestationModeEnum;
075import ca.uhn.fhir.model.dstu2.valueset.CompositionStatusEnum;
076import ca.uhn.fhir.model.dstu2.valueset.ConceptMapEquivalenceEnum;
077import ca.uhn.fhir.model.dstu2.resource.Condition;
078import ca.uhn.fhir.model.dstu2.valueset.ConditionCategoryCodesEnum;
079import ca.uhn.fhir.model.dstu2.valueset.ConditionClinicalStatusCodesEnum;
080import ca.uhn.fhir.model.dstu2.valueset.ConditionVerificationStatusEnum;
081import ca.uhn.fhir.model.dstu2.valueset.ConditionalDeleteStatusEnum;
082import ca.uhn.fhir.model.dstu2.resource.Conformance;
083import ca.uhn.fhir.model.dstu2.valueset.ConformanceEventModeEnum;
084import ca.uhn.fhir.model.dstu2.valueset.ConformanceResourceStatusEnum;
085import ca.uhn.fhir.model.dstu2.valueset.ConformanceStatementKindEnum;
086import ca.uhn.fhir.model.dstu2.composite.ContactPointDt;
087import ca.uhn.fhir.model.dstu2.valueset.ContentTypeEnum;
088import ca.uhn.fhir.model.dstu2.resource.Contract;
089import ca.uhn.fhir.model.dstu2.resource.Coverage;
090import ca.uhn.fhir.model.dstu2.valueset.DataElementStringencyEnum;
091import ca.uhn.fhir.model.dstu2.valueset.DaysOfWeekEnum;
092import ca.uhn.fhir.model.dstu2.valueset.DetectedIssueSeverityEnum;
093import ca.uhn.fhir.model.dstu2.resource.Device;
094import ca.uhn.fhir.model.dstu2.resource.DeviceComponent;
095import ca.uhn.fhir.model.dstu2.resource.DeviceMetric;
096import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationStateEnum;
097import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationTypeEnum;
098import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCategoryEnum;
099import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricColorEnum;
100import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricOperationalStatusEnum;
101import ca.uhn.fhir.model.dstu2.valueset.DeviceStatusEnum;
102import ca.uhn.fhir.model.dstu2.resource.DeviceUseRequest;
103import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestPriorityEnum;
104import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestStatusEnum;
105import ca.uhn.fhir.model.dstu2.resource.DiagnosticOrder;
106import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderPriorityEnum;
107import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderStatusEnum;
108import ca.uhn.fhir.model.dstu2.resource.DiagnosticReport;
109import ca.uhn.fhir.model.dstu2.valueset.DiagnosticReportStatusEnum;
110import ca.uhn.fhir.model.dstu2.valueset.DigitalMediaTypeEnum;
111import ca.uhn.fhir.model.dstu2.valueset.DocumentModeEnum;
112import ca.uhn.fhir.model.dstu2.resource.DocumentReference;
113import ca.uhn.fhir.model.dstu2.valueset.DocumentReferenceStatusEnum;
114import ca.uhn.fhir.model.dstu2.valueset.DocumentRelationshipTypeEnum;
115import ca.uhn.fhir.model.dstu2.composite.ElementDefinitionDt;
116import ca.uhn.fhir.model.dstu2.resource.EligibilityRequest;
117import ca.uhn.fhir.model.dstu2.resource.Encounter;
118import ca.uhn.fhir.model.dstu2.valueset.EncounterClassEnum;
119import ca.uhn.fhir.model.dstu2.valueset.EncounterLocationStatusEnum;
120import ca.uhn.fhir.model.dstu2.valueset.EncounterStateEnum;
121import ca.uhn.fhir.model.dstu2.resource.EnrollmentRequest;
122import ca.uhn.fhir.model.dstu2.resource.EpisodeOfCare;
123import ca.uhn.fhir.model.dstu2.valueset.EpisodeOfCareStatusEnum;
124import ca.uhn.fhir.model.dstu2.valueset.ExtensionContextEnum;
125import ca.uhn.fhir.model.dstu2.valueset.FamilyHistoryStatusEnum;
126import ca.uhn.fhir.model.dstu2.resource.FamilyMemberHistory;
127import ca.uhn.fhir.model.dstu2.valueset.FilterOperatorEnum;
128import ca.uhn.fhir.model.dstu2.valueset.FlagStatusEnum;
129import ca.uhn.fhir.model.dstu2.resource.Goal;
130import ca.uhn.fhir.model.dstu2.valueset.GoalPriorityEnum;
131import ca.uhn.fhir.model.dstu2.valueset.GoalStatusEnum;
132import ca.uhn.fhir.model.dstu2.resource.Group;
133import ca.uhn.fhir.model.dstu2.valueset.GroupTypeEnum;
134import ca.uhn.fhir.model.dstu2.valueset.GuideDependencyTypeEnum;
135import ca.uhn.fhir.model.dstu2.valueset.GuidePageKindEnum;
136import ca.uhn.fhir.model.dstu2.valueset.GuideResourcePurposeEnum;
137import ca.uhn.fhir.model.dstu2.valueset.HTTPVerbEnum;
138import ca.uhn.fhir.model.dstu2.resource.HealthcareService;
139import ca.uhn.fhir.model.dstu2.composite.HumanNameDt;
140import ca.uhn.fhir.model.dstu2.composite.IdentifierDt;
141import ca.uhn.fhir.model.dstu2.valueset.IdentifierTypeCodesEnum;
142import ca.uhn.fhir.model.dstu2.valueset.IdentityAssuranceLevelEnum;
143import ca.uhn.fhir.model.dstu2.resource.ImagingObjectSelection;
144import ca.uhn.fhir.model.dstu2.resource.ImagingStudy;
145import ca.uhn.fhir.model.dstu2.resource.Immunization;
146import ca.uhn.fhir.model.dstu2.valueset.InstanceAvailabilityEnum;
147import ca.uhn.fhir.model.dstu2.valueset.IssueSeverityEnum;
148import ca.uhn.fhir.model.dstu2.valueset.IssueTypeEnum;
149import ca.uhn.fhir.model.dstu2.valueset.KOStitleEnum;
150import ca.uhn.fhir.model.dstu2.valueset.LinkTypeEnum;
151import ca.uhn.fhir.model.dstu2.valueset.ListModeEnum;
152import ca.uhn.fhir.model.dstu2.valueset.ListOrderCodesEnum;
153import ca.uhn.fhir.model.dstu2.valueset.ListStatusEnum;
154import ca.uhn.fhir.model.dstu2.resource.Location;
155import ca.uhn.fhir.model.dstu2.valueset.LocationModeEnum;
156import ca.uhn.fhir.model.dstu2.valueset.LocationStatusEnum;
157import ca.uhn.fhir.model.dstu2.valueset.LocationTypeEnum;
158import ca.uhn.fhir.model.dstu2.valueset.MaritalStatusCodesEnum;
159import ca.uhn.fhir.model.dstu2.valueset.MeasmntPrincipleEnum;
160import ca.uhn.fhir.model.dstu2.resource.Media;
161import ca.uhn.fhir.model.dstu2.resource.Medication;
162import ca.uhn.fhir.model.dstu2.valueset.MedicationAdministrationStatusEnum;
163import ca.uhn.fhir.model.dstu2.valueset.MedicationDispenseStatusEnum;
164import ca.uhn.fhir.model.dstu2.resource.MedicationOrder;
165import ca.uhn.fhir.model.dstu2.valueset.MedicationOrderStatusEnum;
166import ca.uhn.fhir.model.dstu2.resource.MedicationStatement;
167import ca.uhn.fhir.model.dstu2.valueset.MedicationStatementStatusEnum;
168import ca.uhn.fhir.model.dstu2.valueset.MessageEventEnum;
169import ca.uhn.fhir.model.dstu2.valueset.MessageSignificanceCategoryEnum;
170import ca.uhn.fhir.model.dstu2.valueset.MessageTransportEnum;
171import ca.uhn.fhir.model.dstu2.resource.NamingSystem;
172import ca.uhn.fhir.model.dstu2.valueset.NamingSystemIdentifierTypeEnum;
173import ca.uhn.fhir.model.dstu2.valueset.NamingSystemTypeEnum;
174import ca.uhn.fhir.model.dstu2.valueset.NoteTypeEnum;
175import ca.uhn.fhir.model.dstu2.resource.NutritionOrder;
176import ca.uhn.fhir.model.dstu2.valueset.NutritionOrderStatusEnum;
177import ca.uhn.fhir.model.dstu2.resource.Observation;
178import ca.uhn.fhir.model.dstu2.valueset.ObservationRelationshipTypeEnum;
179import ca.uhn.fhir.model.dstu2.valueset.ObservationStatusEnum;
180import ca.uhn.fhir.model.dstu2.resource.OperationDefinition;
181import ca.uhn.fhir.model.dstu2.valueset.OperationKindEnum;
182import ca.uhn.fhir.model.dstu2.resource.OperationOutcome;
183import ca.uhn.fhir.model.dstu2.valueset.OperationParameterUseEnum;
184import ca.uhn.fhir.model.dstu2.resource.Order;
185import ca.uhn.fhir.model.dstu2.valueset.OrderStatusEnum;
186import ca.uhn.fhir.model.dstu2.resource.Organization;
187import ca.uhn.fhir.model.dstu2.valueset.ParticipantRequiredEnum;
188import ca.uhn.fhir.model.dstu2.valueset.ParticipantStatusEnum;
189import ca.uhn.fhir.model.dstu2.valueset.ParticipantTypeEnum;
190import ca.uhn.fhir.model.dstu2.valueset.ParticipationStatusEnum;
191import ca.uhn.fhir.model.dstu2.resource.Patient;
192import ca.uhn.fhir.model.dstu2.valueset.PayeeTypeCodesEnum;
193import ca.uhn.fhir.model.dstu2.composite.PeriodDt;
194import ca.uhn.fhir.model.dstu2.resource.Person;
195import ca.uhn.fhir.model.dstu2.resource.Practitioner;
196import ca.uhn.fhir.model.dstu2.resource.Procedure;
197import ca.uhn.fhir.model.dstu2.resource.ProcedureRequest;
198import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestPriorityEnum;
199import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestStatusEnum;
200import ca.uhn.fhir.model.dstu2.valueset.ProcedureStatusEnum;
201import ca.uhn.fhir.model.dstu2.resource.ProcessRequest;
202import ca.uhn.fhir.model.dstu2.valueset.ProvenanceEntityRoleEnum;
203import ca.uhn.fhir.model.dstu2.composite.QuantityDt;
204import ca.uhn.fhir.model.dstu2.resource.Questionnaire;
205import ca.uhn.fhir.model.dstu2.resource.QuestionnaireResponse;
206import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireResponseStatusEnum;
207import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireStatusEnum;
208import ca.uhn.fhir.model.dstu2.composite.RangeDt;
209import ca.uhn.fhir.model.dstu2.composite.RatioDt;
210import ca.uhn.fhir.model.dstu2.valueset.ReferralMethodEnum;
211import ca.uhn.fhir.model.dstu2.resource.ReferralRequest;
212import ca.uhn.fhir.model.dstu2.valueset.ReferralStatusEnum;
213import ca.uhn.fhir.model.dstu2.resource.RelatedPerson;
214import ca.uhn.fhir.model.dstu2.valueset.RemittanceOutcomeEnum;
215import ca.uhn.fhir.model.dstu2.valueset.ResourceTypeEnum;
216import ca.uhn.fhir.model.dstu2.valueset.ResourceVersionPolicyEnum;
217import ca.uhn.fhir.model.dstu2.valueset.ResponseTypeEnum;
218import ca.uhn.fhir.model.dstu2.valueset.RestfulConformanceModeEnum;
219import ca.uhn.fhir.model.dstu2.valueset.RestfulSecurityServiceEnum;
220import ca.uhn.fhir.model.dstu2.resource.RiskAssessment;
221import ca.uhn.fhir.model.dstu2.valueset.RulesetCodesEnum;
222import ca.uhn.fhir.model.dstu2.composite.SampledDataDt;
223import ca.uhn.fhir.model.dstu2.resource.Schedule;
224import ca.uhn.fhir.model.dstu2.valueset.SearchEntryModeEnum;
225import ca.uhn.fhir.model.dstu2.valueset.SearchModifierCodeEnum;
226import ca.uhn.fhir.model.dstu2.valueset.SearchParamTypeEnum;
227import ca.uhn.fhir.model.dstu2.valueset.ServiceProvisionConditionsEnum;
228import ca.uhn.fhir.model.dstu2.composite.SignatureDt;
229import ca.uhn.fhir.model.dstu2.resource.Slot;
230import ca.uhn.fhir.model.dstu2.valueset.SlotStatusEnum;
231import ca.uhn.fhir.model.dstu2.resource.Specimen;
232import ca.uhn.fhir.model.dstu2.valueset.SpecimenStatusEnum;
233import ca.uhn.fhir.model.dstu2.resource.StructureDefinition;
234import ca.uhn.fhir.model.dstu2.valueset.StructureDefinitionKindEnum;
235import ca.uhn.fhir.model.dstu2.valueset.SubscriptionChannelTypeEnum;
236import ca.uhn.fhir.model.dstu2.valueset.SubscriptionStatusEnum;
237import ca.uhn.fhir.model.dstu2.resource.Substance;
238import ca.uhn.fhir.model.dstu2.valueset.SubstanceCategoryCodesEnum;
239import ca.uhn.fhir.model.dstu2.valueset.SupplyDeliveryStatusEnum;
240import ca.uhn.fhir.model.dstu2.resource.SupplyRequest;
241import ca.uhn.fhir.model.dstu2.valueset.SupplyRequestStatusEnum;
242import ca.uhn.fhir.model.dstu2.valueset.SystemRestfulInteractionEnum;
243import ca.uhn.fhir.model.api.TemporalPrecisionEnum;
244import ca.uhn.fhir.model.dstu2.composite.TimingDt;
245import ca.uhn.fhir.model.dstu2.valueset.TransactionModeEnum;
246import ca.uhn.fhir.model.dstu2.valueset.TypeRestfulInteractionEnum;
247import ca.uhn.fhir.model.dstu2.valueset.UnknownContentCodeEnum;
248import ca.uhn.fhir.model.dstu2.valueset.UseEnum;
249import ca.uhn.fhir.model.dstu2.resource.ValueSet;
250import ca.uhn.fhir.model.dstu2.valueset.VisionBaseEnum;
251import ca.uhn.fhir.model.dstu2.valueset.VisionEyesEnum;
252import ca.uhn.fhir.model.dstu2.resource.VisionPrescription;
253import ca.uhn.fhir.model.dstu2.valueset.XPathUsageTypeEnum;
254import ca.uhn.fhir.model.api.IResource;
255import ca.uhn.fhir.model.dstu2.composite.AgeDt;
256import ca.uhn.fhir.model.dstu2.composite.BoundCodeableConceptDt;
257import ca.uhn.fhir.model.dstu2.composite.DurationDt;
258import ca.uhn.fhir.model.dstu2.composite.MoneyDt;
259import ca.uhn.fhir.model.dstu2.composite.NarrativeDt;
260import ca.uhn.fhir.model.dstu2.composite.ResourceReferenceDt;
261import ca.uhn.fhir.model.dstu2.composite.SimpleQuantityDt;
262import ca.uhn.fhir.model.primitive.Base64BinaryDt;
263import ca.uhn.fhir.model.primitive.BooleanDt;
264import ca.uhn.fhir.model.primitive.BoundCodeDt;
265import ca.uhn.fhir.model.primitive.CodeDt;
266import ca.uhn.fhir.model.primitive.DateDt;
267import ca.uhn.fhir.model.primitive.DateTimeDt;
268import ca.uhn.fhir.model.primitive.DecimalDt;
269import ca.uhn.fhir.model.primitive.IdDt;
270import ca.uhn.fhir.model.primitive.InstantDt;
271import ca.uhn.fhir.model.primitive.IntegerDt;
272import ca.uhn.fhir.model.primitive.OidDt;
273import ca.uhn.fhir.model.primitive.PositiveIntDt;
274import ca.uhn.fhir.model.primitive.StringDt;
275import ca.uhn.fhir.model.primitive.TimeDt;
276import ca.uhn.fhir.model.primitive.UnsignedIntDt;
277import ca.uhn.fhir.model.primitive.UriDt;
278
279
280/**
281 * HAPI/FHIR <b>ProcessRequest</b> Resource
282 * ()
283 *
284 * <p>
285 * <b>Definition:</b>
286 * This resource provides the target, request and response, and action details for an action to be performed by the target on or about existing resources.
287 * </p> 
288 *
289 * <p>
290 * <b>Requirements:</b>
291 * 
292 * </p> 
293 *
294 * <p>
295 * <b>Profile Definition:</b>
296 * <a href="http://hl7.org/fhir/profiles/ProcessRequest">http://hl7.org/fhir/profiles/ProcessRequest</a> 
297 * </p>
298 *
299 */
300@ResourceDef(name="ProcessRequest", profile="http://hl7.org/fhir/profiles/ProcessRequest", id="processrequest")
301public class ProcessRequest extends ca.uhn.fhir.model.dstu2.resource.BaseResource
302    implements  IResource 
303    {
304
305        /**
306         * Search parameter constant for <b>identifier</b>
307         * <p>
308         * Description: <b>The business identifier of the ProcessRequest</b><br>
309         * Type: <b>token</b><br>
310         * Path: <b>ProcessRequest.identifier</b><br>
311         * </p>
312         */
313        @SearchParamDefinition(name="identifier", path="ProcessRequest.identifier", description="The business identifier of the ProcessRequest", type="token" 
314 )
315        public static final String SP_IDENTIFIER = "identifier";
316
317        /**
318         * <b>Fluent Client</b> search parameter constant for <b>identifier</b>
319         * <p>
320         * Description: <b>The business identifier of the ProcessRequest</b><br>
321         * Type: <b>token</b><br>
322         * Path: <b>ProcessRequest.identifier</b><br>
323         * </p>
324         */
325        public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER);
326
327        /**
328         * Search parameter constant for <b>organization</b>
329         * <p>
330         * Description: <b>The organization who generated this request</b><br>
331         * Type: <b>reference</b><br>
332         * Path: <b>ProcessRequest.organization</b><br>
333         * </p>
334         */
335        @SearchParamDefinition(name="organization", path="ProcessRequest.organization", description="The organization who generated this request", type="reference" 
336 )
337        public static final String SP_ORGANIZATION = "organization";
338
339        /**
340         * <b>Fluent Client</b> search parameter constant for <b>organization</b>
341         * <p>
342         * Description: <b>The organization who generated this request</b><br>
343         * Type: <b>reference</b><br>
344         * Path: <b>ProcessRequest.organization</b><br>
345         * </p>
346         */
347        public static final ReferenceClientParam ORGANIZATION = new ReferenceClientParam(SP_ORGANIZATION);
348
349        /**
350         * Search parameter constant for <b>provider</b>
351         * <p>
352         * Description: <b>The provider who regenerated this request</b><br>
353         * Type: <b>reference</b><br>
354         * Path: <b>ProcessRequest.provider</b><br>
355         * </p>
356         */
357        @SearchParamDefinition(name="provider", path="ProcessRequest.provider", description="The provider who regenerated this request", type="reference" 
358, providesMembershipIn={
359 @Compartment(name="Patient")   }
360 )
361        public static final String SP_PROVIDER = "provider";
362
363        /**
364         * <b>Fluent Client</b> search parameter constant for <b>provider</b>
365         * <p>
366         * Description: <b>The provider who regenerated this request</b><br>
367         * Type: <b>reference</b><br>
368         * Path: <b>ProcessRequest.provider</b><br>
369         * </p>
370         */
371        public static final ReferenceClientParam PROVIDER = new ReferenceClientParam(SP_PROVIDER);
372
373        /**
374         * Search parameter constant for <b>action</b>
375         * <p>
376         * Description: <b>The action requested by this resource</b><br>
377         * Type: <b>token</b><br>
378         * Path: <b>ProcessRequest.action</b><br>
379         * </p>
380         */
381        @SearchParamDefinition(name="action", path="ProcessRequest.action", description="The action requested by this resource", type="token" 
382 )
383        public static final String SP_ACTION = "action";
384
385        /**
386         * <b>Fluent Client</b> search parameter constant for <b>action</b>
387         * <p>
388         * Description: <b>The action requested by this resource</b><br>
389         * Type: <b>token</b><br>
390         * Path: <b>ProcessRequest.action</b><br>
391         * </p>
392         */
393        public static final TokenClientParam ACTION = new TokenClientParam(SP_ACTION);
394
395
396        /**
397         * Constant for fluent queries to be used to add include statements. Specifies
398         * the path value of "<b>ProcessRequest:organization</b>".
399         */
400        public static final Include INCLUDE_ORGANIZATION = new Include("ProcessRequest:organization");
401
402        /**
403         * Constant for fluent queries to be used to add include statements. Specifies
404         * the path value of "<b>ProcessRequest:provider</b>".
405         */
406        public static final Include INCLUDE_PROVIDER = new Include("ProcessRequest:provider");
407
408
409        @Child(name="action", type=CodeDt.class, order=0, min=1, max=1, summary=false, modifier=false)  
410        @Description(
411                shortDefinition="",
412                formalDefinition="The type of processing action being requested, for example Reversal, Readjudication, StatusRequest,PendedRequest"
413        )
414        @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/actionlist")
415        private BoundCodeDt<ActionListEnum> myAction;
416        
417        @Child(name="identifier", type=IdentifierDt.class, order=1, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false)      
418        @Description(
419                shortDefinition="",
420                formalDefinition="The ProcessRequest business identifier"
421        )
422        private java.util.List<IdentifierDt> myIdentifier;
423        
424        @Child(name="ruleset", type=CodingDt.class, order=2, min=0, max=1, summary=false, modifier=false)       
425        @Description(
426                shortDefinition="",
427                formalDefinition="The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources."
428        )
429        private CodingDt myRuleset;
430        
431        @Child(name="originalRuleset", type=CodingDt.class, order=3, min=0, max=1, summary=false, modifier=false)       
432        @Description(
433                shortDefinition="",
434                formalDefinition="The style (standard) and version of the original material which was converted into this resource."
435        )
436        private CodingDt myOriginalRuleset;
437        
438        @Child(name="created", type=DateTimeDt.class, order=4, min=0, max=1, summary=false, modifier=false)     
439        @Description(
440                shortDefinition="",
441                formalDefinition="The date when this resource was created."
442        )
443        private DateTimeDt myCreated;
444        
445        @Child(name="target", order=5, min=0, max=1, summary=false, modifier=false, type={
446                ca.uhn.fhir.model.dstu2.resource.Organization.class
447        })
448        @Description(
449                shortDefinition="",
450                formalDefinition="The organization which is the target of the request."
451        )
452        private ResourceReferenceDt myTarget;
453        
454        @Child(name="provider", order=6, min=0, max=1, summary=false, modifier=false, type={
455                ca.uhn.fhir.model.dstu2.resource.Practitioner.class
456        })
457        @Description(
458                shortDefinition="",
459                formalDefinition="The practitioner who is responsible for the action specified in thise request."
460        )
461        private ResourceReferenceDt myProvider;
462        
463        @Child(name="organization", order=7, min=0, max=1, summary=false, modifier=false, type={
464                ca.uhn.fhir.model.dstu2.resource.Organization.class
465        })
466        @Description(
467                shortDefinition="",
468                formalDefinition="The organization which is responsible for the action speccified in thise request."
469        )
470        private ResourceReferenceDt myOrganization;
471        
472        @Child(name="request", order=8, min=0, max=1, summary=false, modifier=false, type={
473                IResource.class
474        })
475        @Description(
476                shortDefinition="",
477                formalDefinition="Reference of resource which is the target or subject of this action."
478        )
479        private ResourceReferenceDt myRequest;
480        
481        @Child(name="response", order=9, min=0, max=1, summary=false, modifier=false, type={
482                IResource.class
483        })
484        @Description(
485                shortDefinition="",
486                formalDefinition="Reference of a prior response to resource which is the target or subject of this action."
487        )
488        private ResourceReferenceDt myResponse;
489        
490        @Child(name="nullify", type=BooleanDt.class, order=10, min=0, max=1, summary=false, modifier=false)     
491        @Description(
492                shortDefinition="",
493                formalDefinition="If true remove all history excluding audit."
494        )
495        private BooleanDt myNullify;
496        
497        @Child(name="reference", type=StringDt.class, order=11, min=0, max=1, summary=false, modifier=false)    
498        @Description(
499                shortDefinition="",
500                formalDefinition="A reference to supply which authenticates the process."
501        )
502        private StringDt myReference;
503        
504        @Child(name="item", order=12, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false)    
505        @Description(
506                shortDefinition="",
507                formalDefinition="List of top level items to be re-adjudicated, if none specified then the entire submission is re-adjudicated."
508        )
509        private java.util.List<Item> myItem;
510        
511        @Child(name="include", type=StringDt.class, order=13, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false)    
512        @Description(
513                shortDefinition="",
514                formalDefinition="Names of resource types to include"
515        )
516        private java.util.List<StringDt> myInclude;
517        
518        @Child(name="exclude", type=StringDt.class, order=14, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false)    
519        @Description(
520                shortDefinition="",
521                formalDefinition="Names of resource types to exclude"
522        )
523        private java.util.List<StringDt> myExclude;
524        
525        @Child(name="period", type=PeriodDt.class, order=15, min=0, max=1, summary=false, modifier=false)       
526        @Description(
527                shortDefinition="",
528                formalDefinition="A period of time during which the fulfilling resources would have been created."
529        )
530        private PeriodDt myPeriod;
531        
532
533        @Override
534        public boolean isEmpty() {
535                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  myAction,  myIdentifier,  myRuleset,  myOriginalRuleset,  myCreated,  myTarget,  myProvider,  myOrganization,  myRequest,  myResponse,  myNullify,  myReference,  myItem,  myInclude,  myExclude,  myPeriod);
536        }
537        
538        @Override
539        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
540                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myAction, myIdentifier, myRuleset, myOriginalRuleset, myCreated, myTarget, myProvider, myOrganization, myRequest, myResponse, myNullify, myReference, myItem, myInclude, myExclude, myPeriod);
541        }
542
543        /**
544         * Gets the value(s) for <b>action</b> ().
545         * creating it if it does
546         * not exist. Will not return <code>null</code>.
547         *
548     * <p>
549     * <b>Definition:</b>
550     * The type of processing action being requested, for example Reversal, Readjudication, StatusRequest,PendedRequest
551     * </p> 
552         */
553        public BoundCodeDt<ActionListEnum> getActionElement() {  
554                if (myAction == null) {
555                        myAction = new BoundCodeDt<ActionListEnum>(ActionListEnum.VALUESET_BINDER);
556                }
557                return myAction;
558        }
559
560        
561        /**
562         * Gets the value(s) for <b>action</b> ().
563         * creating it if it does
564         * not exist. This method may return <code>null</code>.
565         *
566     * <p>
567     * <b>Definition:</b>
568     * The type of processing action being requested, for example Reversal, Readjudication, StatusRequest,PendedRequest
569     * </p> 
570         */
571        public String getAction() {  
572                return getActionElement().getValue();
573        }
574
575        /**
576         * Sets the value(s) for <b>action</b> ()
577         *
578     * <p>
579     * <b>Definition:</b>
580     * The type of processing action being requested, for example Reversal, Readjudication, StatusRequest,PendedRequest
581     * </p> 
582         */
583        public ProcessRequest setAction(BoundCodeDt<ActionListEnum> theValue) {
584                myAction = theValue;
585                return this;
586        }
587        
588        
589
590        /**
591         * Sets the value(s) for <b>action</b> ()
592         *
593     * <p>
594     * <b>Definition:</b>
595     * The type of processing action being requested, for example Reversal, Readjudication, StatusRequest,PendedRequest
596     * </p> 
597         */
598        public ProcessRequest setAction(ActionListEnum theValue) {
599                setAction(new BoundCodeDt<ActionListEnum>(ActionListEnum.VALUESET_BINDER, theValue));
600                
601/*
602                getActionElement().setValueAsEnum(theValue);
603*/
604                return this;
605        }
606
607  
608        /**
609         * Gets the value(s) for <b>identifier</b> ().
610         * creating it if it does
611         * not exist. Will not return <code>null</code>.
612         *
613     * <p>
614     * <b>Definition:</b>
615     * The ProcessRequest business identifier
616     * </p> 
617         */
618        public java.util.List<IdentifierDt> getIdentifier() {  
619                if (myIdentifier == null) {
620                        myIdentifier = new java.util.ArrayList<IdentifierDt>();
621                }
622                return myIdentifier;
623        }
624
625        /**
626         * Sets the value(s) for <b>identifier</b> ()
627         *
628     * <p>
629     * <b>Definition:</b>
630     * The ProcessRequest business identifier
631     * </p> 
632         */
633        public ProcessRequest setIdentifier(java.util.List<IdentifierDt> theValue) {
634                myIdentifier = theValue;
635                return this;
636        }
637        
638        
639
640        /**
641         * Adds and returns a new value for <b>identifier</b> ()
642         *
643     * <p>
644     * <b>Definition:</b>
645     * The ProcessRequest business identifier
646     * </p> 
647         */
648        public IdentifierDt addIdentifier() {
649                IdentifierDt newType = new IdentifierDt();
650                getIdentifier().add(newType);
651                return newType; 
652        }
653
654        /**
655         * Adds a given new value for <b>identifier</b> ()
656         *
657         * <p>
658         * <b>Definition:</b>
659         * The ProcessRequest business identifier
660         * </p>
661         * @param theValue The identifier to add (must not be <code>null</code>)
662         */
663        public ProcessRequest addIdentifier(IdentifierDt theValue) {
664                if (theValue == null) {
665                        throw new NullPointerException("theValue must not be null");
666                }
667                getIdentifier().add(theValue);
668                return this;
669        }
670
671        /**
672         * Gets the first repetition for <b>identifier</b> (),
673         * creating it if it does not already exist.
674         *
675     * <p>
676     * <b>Definition:</b>
677     * The ProcessRequest business identifier
678     * </p> 
679         */
680        public IdentifierDt getIdentifierFirstRep() {
681                if (getIdentifier().isEmpty()) {
682                        return addIdentifier();
683                }
684                return getIdentifier().get(0); 
685        }
686  
687        /**
688         * Gets the value(s) for <b>ruleset</b> ().
689         * creating it if it does
690         * not exist. Will not return <code>null</code>.
691         *
692     * <p>
693     * <b>Definition:</b>
694     * The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources.
695     * </p> 
696         */
697        public CodingDt getRuleset() {  
698                if (myRuleset == null) {
699                        myRuleset = new CodingDt();
700                }
701                return myRuleset;
702        }
703
704        /**
705         * Sets the value(s) for <b>ruleset</b> ()
706         *
707     * <p>
708     * <b>Definition:</b>
709     * The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources.
710     * </p> 
711         */
712        public ProcessRequest setRuleset(CodingDt theValue) {
713                myRuleset = theValue;
714                return this;
715        }
716        
717        
718
719  
720        /**
721         * Gets the value(s) for <b>originalRuleset</b> ().
722         * creating it if it does
723         * not exist. Will not return <code>null</code>.
724         *
725     * <p>
726     * <b>Definition:</b>
727     * The style (standard) and version of the original material which was converted into this resource.
728     * </p> 
729         */
730        public CodingDt getOriginalRuleset() {  
731                if (myOriginalRuleset == null) {
732                        myOriginalRuleset = new CodingDt();
733                }
734                return myOriginalRuleset;
735        }
736
737        /**
738         * Sets the value(s) for <b>originalRuleset</b> ()
739         *
740     * <p>
741     * <b>Definition:</b>
742     * The style (standard) and version of the original material which was converted into this resource.
743     * </p> 
744         */
745        public ProcessRequest setOriginalRuleset(CodingDt theValue) {
746                myOriginalRuleset = theValue;
747                return this;
748        }
749        
750        
751
752  
753        /**
754         * Gets the value(s) for <b>created</b> ().
755         * creating it if it does
756         * not exist. Will not return <code>null</code>.
757         *
758     * <p>
759     * <b>Definition:</b>
760     * The date when this resource was created.
761     * </p> 
762         */
763        public DateTimeDt getCreatedElement() {  
764                if (myCreated == null) {
765                        myCreated = new DateTimeDt();
766                }
767                return myCreated;
768        }
769
770        
771        /**
772         * Gets the value(s) for <b>created</b> ().
773         * creating it if it does
774         * not exist. This method may return <code>null</code>.
775         *
776     * <p>
777     * <b>Definition:</b>
778     * The date when this resource was created.
779     * </p> 
780         */
781        public Date getCreated() {  
782                return getCreatedElement().getValue();
783        }
784
785        /**
786         * Sets the value(s) for <b>created</b> ()
787         *
788     * <p>
789     * <b>Definition:</b>
790     * The date when this resource was created.
791     * </p> 
792         */
793        public ProcessRequest setCreated(DateTimeDt theValue) {
794                myCreated = theValue;
795                return this;
796        }
797        
798        
799
800        /**
801         * Sets the value for <b>created</b> ()
802         *
803     * <p>
804     * <b>Definition:</b>
805     * The date when this resource was created.
806     * </p> 
807         */
808        public ProcessRequest setCreatedWithSecondsPrecision( Date theDate) {
809                myCreated = new DateTimeDt(theDate); 
810                return this; 
811        }
812
813        /**
814         * Sets the value for <b>created</b> ()
815         *
816     * <p>
817     * <b>Definition:</b>
818     * The date when this resource was created.
819     * </p> 
820         */
821        public ProcessRequest setCreated( Date theDate,  TemporalPrecisionEnum thePrecision) {
822                myCreated = new DateTimeDt(theDate, thePrecision); 
823                return this; 
824        }
825
826 
827        /**
828         * Gets the value(s) for <b>target</b> ().
829         * creating it if it does
830         * not exist. Will not return <code>null</code>.
831         *
832     * <p>
833     * <b>Definition:</b>
834     * The organization which is the target of the request.
835     * </p> 
836         */
837        public ResourceReferenceDt getTarget() {  
838                if (myTarget == null) {
839                        myTarget = new ResourceReferenceDt();
840                }
841                return myTarget;
842        }
843
844        /**
845         * Sets the value(s) for <b>target</b> ()
846         *
847     * <p>
848     * <b>Definition:</b>
849     * The organization which is the target of the request.
850     * </p> 
851         */
852        public ProcessRequest setTarget(ResourceReferenceDt theValue) {
853                myTarget = theValue;
854                return this;
855        }
856        
857        
858
859  
860        /**
861         * Gets the value(s) for <b>provider</b> ().
862         * creating it if it does
863         * not exist. Will not return <code>null</code>.
864         *
865     * <p>
866     * <b>Definition:</b>
867     * The practitioner who is responsible for the action specified in thise request.
868     * </p> 
869         */
870        public ResourceReferenceDt getProvider() {  
871                if (myProvider == null) {
872                        myProvider = new ResourceReferenceDt();
873                }
874                return myProvider;
875        }
876
877        /**
878         * Sets the value(s) for <b>provider</b> ()
879         *
880     * <p>
881     * <b>Definition:</b>
882     * The practitioner who is responsible for the action specified in thise request.
883     * </p> 
884         */
885        public ProcessRequest setProvider(ResourceReferenceDt theValue) {
886                myProvider = theValue;
887                return this;
888        }
889        
890        
891
892  
893        /**
894         * Gets the value(s) for <b>organization</b> ().
895         * creating it if it does
896         * not exist. Will not return <code>null</code>.
897         *
898     * <p>
899     * <b>Definition:</b>
900     * The organization which is responsible for the action speccified in thise request.
901     * </p> 
902         */
903        public ResourceReferenceDt getOrganization() {  
904                if (myOrganization == null) {
905                        myOrganization = new ResourceReferenceDt();
906                }
907                return myOrganization;
908        }
909
910        /**
911         * Sets the value(s) for <b>organization</b> ()
912         *
913     * <p>
914     * <b>Definition:</b>
915     * The organization which is responsible for the action speccified in thise request.
916     * </p> 
917         */
918        public ProcessRequest setOrganization(ResourceReferenceDt theValue) {
919                myOrganization = theValue;
920                return this;
921        }
922        
923        
924
925  
926        /**
927         * Gets the value(s) for <b>request</b> ().
928         * creating it if it does
929         * not exist. Will not return <code>null</code>.
930         *
931     * <p>
932     * <b>Definition:</b>
933     * Reference of resource which is the target or subject of this action.
934     * </p> 
935         */
936        public ResourceReferenceDt getRequest() {  
937                if (myRequest == null) {
938                        myRequest = new ResourceReferenceDt();
939                }
940                return myRequest;
941        }
942
943        /**
944         * Sets the value(s) for <b>request</b> ()
945         *
946     * <p>
947     * <b>Definition:</b>
948     * Reference of resource which is the target or subject of this action.
949     * </p> 
950         */
951        public ProcessRequest setRequest(ResourceReferenceDt theValue) {
952                myRequest = theValue;
953                return this;
954        }
955        
956        
957
958  
959        /**
960         * Gets the value(s) for <b>response</b> ().
961         * creating it if it does
962         * not exist. Will not return <code>null</code>.
963         *
964     * <p>
965     * <b>Definition:</b>
966     * Reference of a prior response to resource which is the target or subject of this action.
967     * </p> 
968         */
969        public ResourceReferenceDt getResponse() {  
970                if (myResponse == null) {
971                        myResponse = new ResourceReferenceDt();
972                }
973                return myResponse;
974        }
975
976        /**
977         * Sets the value(s) for <b>response</b> ()
978         *
979     * <p>
980     * <b>Definition:</b>
981     * Reference of a prior response to resource which is the target or subject of this action.
982     * </p> 
983         */
984        public ProcessRequest setResponse(ResourceReferenceDt theValue) {
985                myResponse = theValue;
986                return this;
987        }
988        
989        
990
991  
992        /**
993         * Gets the value(s) for <b>nullify</b> ().
994         * creating it if it does
995         * not exist. Will not return <code>null</code>.
996         *
997     * <p>
998     * <b>Definition:</b>
999     * If true remove all history excluding audit.
1000     * </p> 
1001         */
1002        public BooleanDt getNullifyElement() {  
1003                if (myNullify == null) {
1004                        myNullify = new BooleanDt();
1005                }
1006                return myNullify;
1007        }
1008
1009        
1010        /**
1011         * Gets the value(s) for <b>nullify</b> ().
1012         * creating it if it does
1013         * not exist. This method may return <code>null</code>.
1014         *
1015     * <p>
1016     * <b>Definition:</b>
1017     * If true remove all history excluding audit.
1018     * </p> 
1019         */
1020        public Boolean getNullify() {  
1021                return getNullifyElement().getValue();
1022        }
1023
1024        /**
1025         * Sets the value(s) for <b>nullify</b> ()
1026         *
1027     * <p>
1028     * <b>Definition:</b>
1029     * If true remove all history excluding audit.
1030     * </p> 
1031         */
1032        public ProcessRequest setNullify(BooleanDt theValue) {
1033                myNullify = theValue;
1034                return this;
1035        }
1036        
1037        
1038
1039        /**
1040         * Sets the value for <b>nullify</b> ()
1041         *
1042     * <p>
1043     * <b>Definition:</b>
1044     * If true remove all history excluding audit.
1045     * </p> 
1046         */
1047        public ProcessRequest setNullify( boolean theBoolean) {
1048                myNullify = new BooleanDt(theBoolean); 
1049                return this; 
1050        }
1051
1052 
1053        /**
1054         * Gets the value(s) for <b>reference</b> ().
1055         * creating it if it does
1056         * not exist. Will not return <code>null</code>.
1057         *
1058     * <p>
1059     * <b>Definition:</b>
1060     * A reference to supply which authenticates the process.
1061     * </p> 
1062         */
1063        public StringDt getReferenceElement() {  
1064                if (myReference == null) {
1065                        myReference = new StringDt();
1066                }
1067                return myReference;
1068        }
1069
1070        
1071        /**
1072         * Gets the value(s) for <b>reference</b> ().
1073         * creating it if it does
1074         * not exist. This method may return <code>null</code>.
1075         *
1076     * <p>
1077     * <b>Definition:</b>
1078     * A reference to supply which authenticates the process.
1079     * </p> 
1080         */
1081        public String getReference() {  
1082                return getReferenceElement().getValue();
1083        }
1084
1085        /**
1086         * Sets the value(s) for <b>reference</b> ()
1087         *
1088     * <p>
1089     * <b>Definition:</b>
1090     * A reference to supply which authenticates the process.
1091     * </p> 
1092         */
1093        public ProcessRequest setReference(StringDt theValue) {
1094                myReference = theValue;
1095                return this;
1096        }
1097        
1098        
1099
1100        /**
1101         * Sets the value for <b>reference</b> ()
1102         *
1103     * <p>
1104     * <b>Definition:</b>
1105     * A reference to supply which authenticates the process.
1106     * </p> 
1107         */
1108        public ProcessRequest setReference( String theString) {
1109                myReference = new StringDt(theString); 
1110                return this; 
1111        }
1112
1113 
1114        /**
1115         * Gets the value(s) for <b>item</b> ().
1116         * creating it if it does
1117         * not exist. Will not return <code>null</code>.
1118         *
1119     * <p>
1120     * <b>Definition:</b>
1121     * List of top level items to be re-adjudicated, if none specified then the entire submission is re-adjudicated.
1122     * </p> 
1123         */
1124        public java.util.List<Item> getItem() {  
1125                if (myItem == null) {
1126                        myItem = new java.util.ArrayList<Item>();
1127                }
1128                return myItem;
1129        }
1130
1131        /**
1132         * Sets the value(s) for <b>item</b> ()
1133         *
1134     * <p>
1135     * <b>Definition:</b>
1136     * List of top level items to be re-adjudicated, if none specified then the entire submission is re-adjudicated.
1137     * </p> 
1138         */
1139        public ProcessRequest setItem(java.util.List<Item> theValue) {
1140                myItem = theValue;
1141                return this;
1142        }
1143        
1144        
1145
1146        /**
1147         * Adds and returns a new value for <b>item</b> ()
1148         *
1149     * <p>
1150     * <b>Definition:</b>
1151     * List of top level items to be re-adjudicated, if none specified then the entire submission is re-adjudicated.
1152     * </p> 
1153         */
1154        public Item addItem() {
1155                Item newType = new Item();
1156                getItem().add(newType);
1157                return newType; 
1158        }
1159
1160        /**
1161         * Adds a given new value for <b>item</b> ()
1162         *
1163         * <p>
1164         * <b>Definition:</b>
1165         * List of top level items to be re-adjudicated, if none specified then the entire submission is re-adjudicated.
1166         * </p>
1167         * @param theValue The item to add (must not be <code>null</code>)
1168         */
1169        public ProcessRequest addItem(Item theValue) {
1170                if (theValue == null) {
1171                        throw new NullPointerException("theValue must not be null");
1172                }
1173                getItem().add(theValue);
1174                return this;
1175        }
1176
1177        /**
1178         * Gets the first repetition for <b>item</b> (),
1179         * creating it if it does not already exist.
1180         *
1181     * <p>
1182     * <b>Definition:</b>
1183     * List of top level items to be re-adjudicated, if none specified then the entire submission is re-adjudicated.
1184     * </p> 
1185         */
1186        public Item getItemFirstRep() {
1187                if (getItem().isEmpty()) {
1188                        return addItem();
1189                }
1190                return getItem().get(0); 
1191        }
1192  
1193        /**
1194         * Gets the value(s) for <b>include</b> ().
1195         * creating it if it does
1196         * not exist. Will not return <code>null</code>.
1197         *
1198     * <p>
1199     * <b>Definition:</b>
1200     * Names of resource types to include
1201     * </p> 
1202         */
1203        public java.util.List<StringDt> getInclude() {  
1204                if (myInclude == null) {
1205                        myInclude = new java.util.ArrayList<StringDt>();
1206                }
1207                return myInclude;
1208        }
1209
1210        /**
1211         * Sets the value(s) for <b>include</b> ()
1212         *
1213     * <p>
1214     * <b>Definition:</b>
1215     * Names of resource types to include
1216     * </p> 
1217         */
1218        public ProcessRequest setInclude(java.util.List<StringDt> theValue) {
1219                myInclude = theValue;
1220                return this;
1221        }
1222        
1223        
1224
1225        /**
1226         * Adds and returns a new value for <b>include</b> ()
1227         *
1228     * <p>
1229     * <b>Definition:</b>
1230     * Names of resource types to include
1231     * </p> 
1232         */
1233        public StringDt addInclude() {
1234                StringDt newType = new StringDt();
1235                getInclude().add(newType);
1236                return newType; 
1237        }
1238
1239        /**
1240         * Adds a given new value for <b>include</b> ()
1241         *
1242         * <p>
1243         * <b>Definition:</b>
1244         * Names of resource types to include
1245         * </p>
1246         * @param theValue The include to add (must not be <code>null</code>)
1247         */
1248        public ProcessRequest addInclude(StringDt theValue) {
1249                if (theValue == null) {
1250                        throw new NullPointerException("theValue must not be null");
1251                }
1252                getInclude().add(theValue);
1253                return this;
1254        }
1255
1256        /**
1257         * Gets the first repetition for <b>include</b> (),
1258         * creating it if it does not already exist.
1259         *
1260     * <p>
1261     * <b>Definition:</b>
1262     * Names of resource types to include
1263     * </p> 
1264         */
1265        public StringDt getIncludeFirstRep() {
1266                if (getInclude().isEmpty()) {
1267                        return addInclude();
1268                }
1269                return getInclude().get(0); 
1270        }
1271        /**
1272         * Adds a new value for <b>include</b> ()
1273         *
1274     * <p>
1275     * <b>Definition:</b>
1276     * Names of resource types to include
1277     * </p> 
1278     *
1279     * @return Returns a reference to this object, to allow for simple chaining.
1280         */
1281        public ProcessRequest addInclude( String theString) {
1282                if (myInclude == null) {
1283                        myInclude = new java.util.ArrayList<StringDt>();
1284                }
1285                myInclude.add(new StringDt(theString));
1286                return this; 
1287        }
1288
1289 
1290        /**
1291         * Gets the value(s) for <b>exclude</b> ().
1292         * creating it if it does
1293         * not exist. Will not return <code>null</code>.
1294         *
1295     * <p>
1296     * <b>Definition:</b>
1297     * Names of resource types to exclude
1298     * </p> 
1299         */
1300        public java.util.List<StringDt> getExclude() {  
1301                if (myExclude == null) {
1302                        myExclude = new java.util.ArrayList<StringDt>();
1303                }
1304                return myExclude;
1305        }
1306
1307        /**
1308         * Sets the value(s) for <b>exclude</b> ()
1309         *
1310     * <p>
1311     * <b>Definition:</b>
1312     * Names of resource types to exclude
1313     * </p> 
1314         */
1315        public ProcessRequest setExclude(java.util.List<StringDt> theValue) {
1316                myExclude = theValue;
1317                return this;
1318        }
1319        
1320        
1321
1322        /**
1323         * Adds and returns a new value for <b>exclude</b> ()
1324         *
1325     * <p>
1326     * <b>Definition:</b>
1327     * Names of resource types to exclude
1328     * </p> 
1329         */
1330        public StringDt addExclude() {
1331                StringDt newType = new StringDt();
1332                getExclude().add(newType);
1333                return newType; 
1334        }
1335
1336        /**
1337         * Adds a given new value for <b>exclude</b> ()
1338         *
1339         * <p>
1340         * <b>Definition:</b>
1341         * Names of resource types to exclude
1342         * </p>
1343         * @param theValue The exclude to add (must not be <code>null</code>)
1344         */
1345        public ProcessRequest addExclude(StringDt theValue) {
1346                if (theValue == null) {
1347                        throw new NullPointerException("theValue must not be null");
1348                }
1349                getExclude().add(theValue);
1350                return this;
1351        }
1352
1353        /**
1354         * Gets the first repetition for <b>exclude</b> (),
1355         * creating it if it does not already exist.
1356         *
1357     * <p>
1358     * <b>Definition:</b>
1359     * Names of resource types to exclude
1360     * </p> 
1361         */
1362        public StringDt getExcludeFirstRep() {
1363                if (getExclude().isEmpty()) {
1364                        return addExclude();
1365                }
1366                return getExclude().get(0); 
1367        }
1368        /**
1369         * Adds a new value for <b>exclude</b> ()
1370         *
1371     * <p>
1372     * <b>Definition:</b>
1373     * Names of resource types to exclude
1374     * </p> 
1375     *
1376     * @return Returns a reference to this object, to allow for simple chaining.
1377         */
1378        public ProcessRequest addExclude( String theString) {
1379                if (myExclude == null) {
1380                        myExclude = new java.util.ArrayList<StringDt>();
1381                }
1382                myExclude.add(new StringDt(theString));
1383                return this; 
1384        }
1385
1386 
1387        /**
1388         * Gets the value(s) for <b>period</b> ().
1389         * creating it if it does
1390         * not exist. Will not return <code>null</code>.
1391         *
1392     * <p>
1393     * <b>Definition:</b>
1394     * A period of time during which the fulfilling resources would have been created.
1395     * </p> 
1396         */
1397        public PeriodDt getPeriod() {  
1398                if (myPeriod == null) {
1399                        myPeriod = new PeriodDt();
1400                }
1401                return myPeriod;
1402        }
1403
1404        /**
1405         * Sets the value(s) for <b>period</b> ()
1406         *
1407     * <p>
1408     * <b>Definition:</b>
1409     * A period of time during which the fulfilling resources would have been created.
1410     * </p> 
1411         */
1412        public ProcessRequest setPeriod(PeriodDt theValue) {
1413                myPeriod = theValue;
1414                return this;
1415        }
1416        
1417        
1418
1419  
1420        /**
1421         * Block class for child element: <b>ProcessRequest.item</b> ()
1422         *
1423     * <p>
1424     * <b>Definition:</b>
1425     * List of top level items to be re-adjudicated, if none specified then the entire submission is re-adjudicated.
1426     * </p> 
1427         */
1428        @Block()        
1429        public static class Item 
1430            extends  BaseIdentifiableElement  
1431            implements IResourceBlock {
1432        
1433        @Child(name="sequenceLinkId", type=IntegerDt.class, order=0, min=1, max=1, summary=false, modifier=false)       
1434        @Description(
1435                shortDefinition="",
1436                formalDefinition="A service line number."
1437        )
1438        private IntegerDt mySequenceLinkId;
1439        
1440
1441        @Override
1442        public boolean isEmpty() {
1443                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  mySequenceLinkId);
1444        }
1445        
1446        @Override
1447        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
1448                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, mySequenceLinkId);
1449        }
1450
1451        /**
1452         * Gets the value(s) for <b>sequenceLinkId</b> ().
1453         * creating it if it does
1454         * not exist. Will not return <code>null</code>.
1455         *
1456     * <p>
1457     * <b>Definition:</b>
1458     * A service line number.
1459     * </p> 
1460         */
1461        public IntegerDt getSequenceLinkIdElement() {  
1462                if (mySequenceLinkId == null) {
1463                        mySequenceLinkId = new IntegerDt();
1464                }
1465                return mySequenceLinkId;
1466        }
1467
1468        
1469        /**
1470         * Gets the value(s) for <b>sequenceLinkId</b> ().
1471         * creating it if it does
1472         * not exist. This method may return <code>null</code>.
1473         *
1474     * <p>
1475     * <b>Definition:</b>
1476     * A service line number.
1477     * </p> 
1478         */
1479        public Integer getSequenceLinkId() {  
1480                return getSequenceLinkIdElement().getValue();
1481        }
1482
1483        /**
1484         * Sets the value(s) for <b>sequenceLinkId</b> ()
1485         *
1486     * <p>
1487     * <b>Definition:</b>
1488     * A service line number.
1489     * </p> 
1490         */
1491        public Item setSequenceLinkId(IntegerDt theValue) {
1492                mySequenceLinkId = theValue;
1493                return this;
1494        }
1495        
1496        
1497
1498        /**
1499         * Sets the value for <b>sequenceLinkId</b> ()
1500         *
1501     * <p>
1502     * <b>Definition:</b>
1503     * A service line number.
1504     * </p> 
1505         */
1506        public Item setSequenceLinkId( int theInteger) {
1507                mySequenceLinkId = new IntegerDt(theInteger); 
1508                return this; 
1509        }
1510
1511 
1512
1513
1514        }
1515
1516
1517
1518
1519    @Override
1520    public String getResourceName() {
1521        return "ProcessRequest";
1522    }
1523    
1524    public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() {
1525        return ca.uhn.fhir.context.FhirVersionEnum.DSTU2;
1526    }
1527
1528
1529}