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         * Search parameter constant for <b>identifier</b>
306         * <p>
307         * Description: <b>The business identifier of the ProcessRequest</b><br>
308         * Type: <b>token</b><br>
309         * Path: <b>ProcessRequest.identifier</b><br>
310         * </p>
311         */
312        @SearchParamDefinition(name="identifier", path="ProcessRequest.identifier", description="The business identifier of the ProcessRequest", type="token"  )
313        public static final String SP_IDENTIFIER = "identifier";
314
315        /**
316         * <b>Fluent Client</b> search parameter constant for <b>identifier</b>
317         * <p>
318         * Description: <b>The business identifier of the ProcessRequest</b><br>
319         * Type: <b>token</b><br>
320         * Path: <b>ProcessRequest.identifier</b><br>
321         * </p>
322         */
323        public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER);
324
325        /**
326         * Search parameter constant for <b>organization</b>
327         * <p>
328         * Description: <b>The organization who generated this request</b><br>
329         * Type: <b>reference</b><br>
330         * Path: <b>ProcessRequest.organization</b><br>
331         * </p>
332         */
333        @SearchParamDefinition(name="organization", path="ProcessRequest.organization", description="The organization who generated this request", type="reference"  )
334        public static final String SP_ORGANIZATION = "organization";
335
336        /**
337         * <b>Fluent Client</b> search parameter constant for <b>organization</b>
338         * <p>
339         * Description: <b>The organization who generated this request</b><br>
340         * Type: <b>reference</b><br>
341         * Path: <b>ProcessRequest.organization</b><br>
342         * </p>
343         */
344        public static final ReferenceClientParam ORGANIZATION = new ReferenceClientParam(SP_ORGANIZATION);
345
346        /**
347         * Search parameter constant for <b>provider</b>
348         * <p>
349         * Description: <b>The provider who regenerated this request</b><br>
350         * Type: <b>reference</b><br>
351         * Path: <b>ProcessRequest.provider</b><br>
352         * </p>
353         */
354        @SearchParamDefinition(name="provider", path="ProcessRequest.provider", description="The provider who regenerated this request", type="reference" , providesMembershipIn={
355 @Compartment(name="Patient")   }
356 )
357        public static final String SP_PROVIDER = "provider";
358
359        /**
360         * <b>Fluent Client</b> search parameter constant for <b>provider</b>
361         * <p>
362         * Description: <b>The provider who regenerated this request</b><br>
363         * Type: <b>reference</b><br>
364         * Path: <b>ProcessRequest.provider</b><br>
365         * </p>
366         */
367        public static final ReferenceClientParam PROVIDER = new ReferenceClientParam(SP_PROVIDER);
368
369        /**
370         * Search parameter constant for <b>action</b>
371         * <p>
372         * Description: <b>The action requested by this resource</b><br>
373         * Type: <b>token</b><br>
374         * Path: <b>ProcessRequest.action</b><br>
375         * </p>
376         */
377        @SearchParamDefinition(name="action", path="ProcessRequest.action", description="The action requested by this resource", type="token"  )
378        public static final String SP_ACTION = "action";
379
380        /**
381         * <b>Fluent Client</b> search parameter constant for <b>action</b>
382         * <p>
383         * Description: <b>The action requested by this resource</b><br>
384         * Type: <b>token</b><br>
385         * Path: <b>ProcessRequest.action</b><br>
386         * </p>
387         */
388        public static final TokenClientParam ACTION = new TokenClientParam(SP_ACTION);
389
390
391        /**
392         * Constant for fluent queries to be used to add include statements. Specifies
393         * the path value of "<b>ProcessRequest:organization</b>".
394         */
395        public static final Include INCLUDE_ORGANIZATION = new Include("ProcessRequest:organization");
396
397        /**
398         * Constant for fluent queries to be used to add include statements. Specifies
399         * the path value of "<b>ProcessRequest:provider</b>".
400         */
401        public static final Include INCLUDE_PROVIDER = new Include("ProcessRequest:provider");
402
403
404        @Child(name="action", type=CodeDt.class, order=0, min=1, max=1, summary=false, modifier=false)  
405        @Description(
406                shortDefinition="",
407                formalDefinition="The type of processing action being requested, for example Reversal, Readjudication, StatusRequest,PendedRequest"
408        )
409        @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/actionlist")
410        private BoundCodeDt<ActionListEnum> myAction;
411        
412        @Child(name="identifier", type=IdentifierDt.class, order=1, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false)      
413        @Description(
414                shortDefinition="",
415                formalDefinition="The ProcessRequest business identifier"
416        )
417        private java.util.List<IdentifierDt> myIdentifier;
418        
419        @Child(name="ruleset", type=CodingDt.class, order=2, min=0, max=1, summary=false, modifier=false)       
420        @Description(
421                shortDefinition="",
422                formalDefinition="The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources."
423        )
424        private CodingDt myRuleset;
425        
426        @Child(name="originalRuleset", type=CodingDt.class, order=3, min=0, max=1, summary=false, modifier=false)       
427        @Description(
428                shortDefinition="",
429                formalDefinition="The style (standard) and version of the original material which was converted into this resource."
430        )
431        private CodingDt myOriginalRuleset;
432        
433        @Child(name="created", type=DateTimeDt.class, order=4, min=0, max=1, summary=false, modifier=false)     
434        @Description(
435                shortDefinition="",
436                formalDefinition="The date when this resource was created."
437        )
438        private DateTimeDt myCreated;
439        
440        @Child(name="target", order=5, min=0, max=1, summary=false, modifier=false, type={
441                ca.uhn.fhir.model.dstu2.resource.Organization.class     })
442        @Description(
443                shortDefinition="",
444                formalDefinition="The organization which is the target of the request."
445        )
446        private ResourceReferenceDt myTarget;
447        
448        @Child(name="provider", order=6, min=0, max=1, summary=false, modifier=false, type={
449                ca.uhn.fhir.model.dstu2.resource.Practitioner.class     })
450        @Description(
451                shortDefinition="",
452                formalDefinition="The practitioner who is responsible for the action specified in thise request."
453        )
454        private ResourceReferenceDt myProvider;
455        
456        @Child(name="organization", order=7, min=0, max=1, summary=false, modifier=false, type={
457                ca.uhn.fhir.model.dstu2.resource.Organization.class     })
458        @Description(
459                shortDefinition="",
460                formalDefinition="The organization which is responsible for the action speccified in thise request."
461        )
462        private ResourceReferenceDt myOrganization;
463        
464        @Child(name="request", order=8, min=0, max=1, summary=false, modifier=false, type={
465                IResource.class })
466        @Description(
467                shortDefinition="",
468                formalDefinition="Reference of resource which is the target or subject of this action."
469        )
470        private ResourceReferenceDt myRequest;
471        
472        @Child(name="response", order=9, min=0, max=1, summary=false, modifier=false, type={
473                IResource.class })
474        @Description(
475                shortDefinition="",
476                formalDefinition="Reference of a prior response to resource which is the target or subject of this action."
477        )
478        private ResourceReferenceDt myResponse;
479        
480        @Child(name="nullify", type=BooleanDt.class, order=10, min=0, max=1, summary=false, modifier=false)     
481        @Description(
482                shortDefinition="",
483                formalDefinition="If true remove all history excluding audit."
484        )
485        private BooleanDt myNullify;
486        
487        @Child(name="reference", type=StringDt.class, order=11, min=0, max=1, summary=false, modifier=false)    
488        @Description(
489                shortDefinition="",
490                formalDefinition="A reference to supply which authenticates the process."
491        )
492        private StringDt myReference;
493        
494        @Child(name="item", order=12, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false)    
495        @Description(
496                shortDefinition="",
497                formalDefinition="List of top level items to be re-adjudicated, if none specified then the entire submission is re-adjudicated."
498        )
499        private java.util.List<Item> myItem;
500        
501        @Child(name="include", type=StringDt.class, order=13, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false)    
502        @Description(
503                shortDefinition="",
504                formalDefinition="Names of resource types to include"
505        )
506        private java.util.List<StringDt> myInclude;
507        
508        @Child(name="exclude", type=StringDt.class, order=14, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false)    
509        @Description(
510                shortDefinition="",
511                formalDefinition="Names of resource types to exclude"
512        )
513        private java.util.List<StringDt> myExclude;
514        
515        @Child(name="period", type=PeriodDt.class, order=15, min=0, max=1, summary=false, modifier=false)       
516        @Description(
517                shortDefinition="",
518                formalDefinition="A period of time during which the fulfilling resources would have been created."
519        )
520        private PeriodDt myPeriod;
521        
522
523        @Override
524        public boolean isEmpty() {
525                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);
526        }
527        
528        @Override
529        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
530                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myAction, myIdentifier, myRuleset, myOriginalRuleset, myCreated, myTarget, myProvider, myOrganization, myRequest, myResponse, myNullify, myReference, myItem, myInclude, myExclude, myPeriod);
531        }
532
533        /**
534         * Gets the value(s) for <b>action</b> ().
535         * creating it if it does
536         * not exist. Will not return <code>null</code>.
537         *
538     * <p>
539     * <b>Definition:</b>
540     * The type of processing action being requested, for example Reversal, Readjudication, StatusRequest,PendedRequest
541     * </p> 
542         */
543        public BoundCodeDt<ActionListEnum> getActionElement() {  
544                if (myAction == null) {
545                        myAction = new BoundCodeDt<ActionListEnum>(ActionListEnum.VALUESET_BINDER);
546                }
547                return myAction;
548        }
549
550        
551        /**
552         * Gets the value(s) for <b>action</b> ().
553         * creating it if it does
554         * not exist. This method may return <code>null</code>.
555         *
556     * <p>
557     * <b>Definition:</b>
558     * The type of processing action being requested, for example Reversal, Readjudication, StatusRequest,PendedRequest
559     * </p> 
560         */
561        public String getAction() {  
562                return getActionElement().getValue();
563        }
564
565        /**
566         * Sets the value(s) for <b>action</b> ()
567         *
568     * <p>
569     * <b>Definition:</b>
570     * The type of processing action being requested, for example Reversal, Readjudication, StatusRequest,PendedRequest
571     * </p> 
572         */
573        public ProcessRequest setAction(BoundCodeDt<ActionListEnum> theValue) {
574                myAction = theValue;
575                return this;
576        }
577        
578        
579
580        /**
581         * Sets the value(s) for <b>action</b> ()
582         *
583     * <p>
584     * <b>Definition:</b>
585     * The type of processing action being requested, for example Reversal, Readjudication, StatusRequest,PendedRequest
586     * </p> 
587         */
588        public ProcessRequest setAction(ActionListEnum theValue) {
589                setAction(new BoundCodeDt<ActionListEnum>(ActionListEnum.VALUESET_BINDER, theValue));
590                
591/*
592                getActionElement().setValueAsEnum(theValue);
593*/
594                return this;
595        }
596
597  
598        /**
599         * Gets the value(s) for <b>identifier</b> ().
600         * creating it if it does
601         * not exist. Will not return <code>null</code>.
602         *
603     * <p>
604     * <b>Definition:</b>
605     * The ProcessRequest business identifier
606     * </p> 
607         */
608        public java.util.List<IdentifierDt> getIdentifier() {  
609                if (myIdentifier == null) {
610                        myIdentifier = new java.util.ArrayList<IdentifierDt>();
611                }
612                return myIdentifier;
613        }
614
615        /**
616         * Sets the value(s) for <b>identifier</b> ()
617         *
618     * <p>
619     * <b>Definition:</b>
620     * The ProcessRequest business identifier
621     * </p> 
622         */
623        public ProcessRequest setIdentifier(java.util.List<IdentifierDt> theValue) {
624                myIdentifier = theValue;
625                return this;
626        }
627        
628        
629
630        /**
631         * Adds and returns a new value for <b>identifier</b> ()
632         *
633     * <p>
634     * <b>Definition:</b>
635     * The ProcessRequest business identifier
636     * </p> 
637         */
638        public IdentifierDt addIdentifier() {
639                IdentifierDt newType = new IdentifierDt();
640                getIdentifier().add(newType);
641                return newType; 
642        }
643
644        /**
645         * Adds a given new value for <b>identifier</b> ()
646         *
647         * <p>
648         * <b>Definition:</b>
649         * The ProcessRequest business identifier
650         * </p>
651         * @param theValue The identifier to add (must not be <code>null</code>)
652         */
653        public ProcessRequest addIdentifier(IdentifierDt theValue) {
654                if (theValue == null) {
655                        throw new NullPointerException("theValue must not be null");
656                }
657                getIdentifier().add(theValue);
658                return this;
659        }
660
661        /**
662         * Gets the first repetition for <b>identifier</b> (),
663         * creating it if it does not already exist.
664         *
665     * <p>
666     * <b>Definition:</b>
667     * The ProcessRequest business identifier
668     * </p> 
669         */
670        public IdentifierDt getIdentifierFirstRep() {
671                if (getIdentifier().isEmpty()) {
672                        return addIdentifier();
673                }
674                return getIdentifier().get(0); 
675        }
676  
677        /**
678         * Gets the value(s) for <b>ruleset</b> ().
679         * creating it if it does
680         * not exist. Will not return <code>null</code>.
681         *
682     * <p>
683     * <b>Definition:</b>
684     * The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources.
685     * </p> 
686         */
687        public CodingDt getRuleset() {  
688                if (myRuleset == null) {
689                        myRuleset = new CodingDt();
690                }
691                return myRuleset;
692        }
693
694        /**
695         * Sets the value(s) for <b>ruleset</b> ()
696         *
697     * <p>
698     * <b>Definition:</b>
699     * The version of the style of resource contents. This should be mapped to the allowable profiles for this and supporting resources.
700     * </p> 
701         */
702        public ProcessRequest setRuleset(CodingDt theValue) {
703                myRuleset = theValue;
704                return this;
705        }
706        
707        
708
709  
710        /**
711         * Gets the value(s) for <b>originalRuleset</b> ().
712         * creating it if it does
713         * not exist. Will not return <code>null</code>.
714         *
715     * <p>
716     * <b>Definition:</b>
717     * The style (standard) and version of the original material which was converted into this resource.
718     * </p> 
719         */
720        public CodingDt getOriginalRuleset() {  
721                if (myOriginalRuleset == null) {
722                        myOriginalRuleset = new CodingDt();
723                }
724                return myOriginalRuleset;
725        }
726
727        /**
728         * Sets the value(s) for <b>originalRuleset</b> ()
729         *
730     * <p>
731     * <b>Definition:</b>
732     * The style (standard) and version of the original material which was converted into this resource.
733     * </p> 
734         */
735        public ProcessRequest setOriginalRuleset(CodingDt theValue) {
736                myOriginalRuleset = theValue;
737                return this;
738        }
739        
740        
741
742  
743        /**
744         * Gets the value(s) for <b>created</b> ().
745         * creating it if it does
746         * not exist. Will not return <code>null</code>.
747         *
748     * <p>
749     * <b>Definition:</b>
750     * The date when this resource was created.
751     * </p> 
752         */
753        public DateTimeDt getCreatedElement() {  
754                if (myCreated == null) {
755                        myCreated = new DateTimeDt();
756                }
757                return myCreated;
758        }
759
760        
761        /**
762         * Gets the value(s) for <b>created</b> ().
763         * creating it if it does
764         * not exist. This method may return <code>null</code>.
765         *
766     * <p>
767     * <b>Definition:</b>
768     * The date when this resource was created.
769     * </p> 
770         */
771        public Date getCreated() {  
772                return getCreatedElement().getValue();
773        }
774
775        /**
776         * Sets the value(s) for <b>created</b> ()
777         *
778     * <p>
779     * <b>Definition:</b>
780     * The date when this resource was created.
781     * </p> 
782         */
783        public ProcessRequest setCreated(DateTimeDt theValue) {
784                myCreated = theValue;
785                return this;
786        }
787        
788        
789
790        /**
791         * Sets the value for <b>created</b> ()
792         *
793     * <p>
794     * <b>Definition:</b>
795     * The date when this resource was created.
796     * </p> 
797         */
798        public ProcessRequest setCreatedWithSecondsPrecision( Date theDate) {
799                myCreated = new DateTimeDt(theDate); 
800                return this; 
801        }
802
803        /**
804         * Sets the value for <b>created</b> ()
805         *
806     * <p>
807     * <b>Definition:</b>
808     * The date when this resource was created.
809     * </p> 
810         */
811        public ProcessRequest setCreated( Date theDate,  TemporalPrecisionEnum thePrecision) {
812                myCreated = new DateTimeDt(theDate, thePrecision); 
813                return this; 
814        }
815
816 
817        /**
818         * Gets the value(s) for <b>target</b> ().
819         * creating it if it does
820         * not exist. Will not return <code>null</code>.
821         *
822     * <p>
823     * <b>Definition:</b>
824     * The organization which is the target of the request.
825     * </p> 
826         */
827        public ResourceReferenceDt getTarget() {  
828                if (myTarget == null) {
829                        myTarget = new ResourceReferenceDt();
830                }
831                return myTarget;
832        }
833
834        /**
835         * Sets the value(s) for <b>target</b> ()
836         *
837     * <p>
838     * <b>Definition:</b>
839     * The organization which is the target of the request.
840     * </p> 
841         */
842        public ProcessRequest setTarget(ResourceReferenceDt theValue) {
843                myTarget = theValue;
844                return this;
845        }
846        
847        
848
849  
850        /**
851         * Gets the value(s) for <b>provider</b> ().
852         * creating it if it does
853         * not exist. Will not return <code>null</code>.
854         *
855     * <p>
856     * <b>Definition:</b>
857     * The practitioner who is responsible for the action specified in thise request.
858     * </p> 
859         */
860        public ResourceReferenceDt getProvider() {  
861                if (myProvider == null) {
862                        myProvider = new ResourceReferenceDt();
863                }
864                return myProvider;
865        }
866
867        /**
868         * Sets the value(s) for <b>provider</b> ()
869         *
870     * <p>
871     * <b>Definition:</b>
872     * The practitioner who is responsible for the action specified in thise request.
873     * </p> 
874         */
875        public ProcessRequest setProvider(ResourceReferenceDt theValue) {
876                myProvider = theValue;
877                return this;
878        }
879        
880        
881
882  
883        /**
884         * Gets the value(s) for <b>organization</b> ().
885         * creating it if it does
886         * not exist. Will not return <code>null</code>.
887         *
888     * <p>
889     * <b>Definition:</b>
890     * The organization which is responsible for the action speccified in thise request.
891     * </p> 
892         */
893        public ResourceReferenceDt getOrganization() {  
894                if (myOrganization == null) {
895                        myOrganization = new ResourceReferenceDt();
896                }
897                return myOrganization;
898        }
899
900        /**
901         * Sets the value(s) for <b>organization</b> ()
902         *
903     * <p>
904     * <b>Definition:</b>
905     * The organization which is responsible for the action speccified in thise request.
906     * </p> 
907         */
908        public ProcessRequest setOrganization(ResourceReferenceDt theValue) {
909                myOrganization = theValue;
910                return this;
911        }
912        
913        
914
915  
916        /**
917         * Gets the value(s) for <b>request</b> ().
918         * creating it if it does
919         * not exist. Will not return <code>null</code>.
920         *
921     * <p>
922     * <b>Definition:</b>
923     * Reference of resource which is the target or subject of this action.
924     * </p> 
925         */
926        public ResourceReferenceDt getRequest() {  
927                if (myRequest == null) {
928                        myRequest = new ResourceReferenceDt();
929                }
930                return myRequest;
931        }
932
933        /**
934         * Sets the value(s) for <b>request</b> ()
935         *
936     * <p>
937     * <b>Definition:</b>
938     * Reference of resource which is the target or subject of this action.
939     * </p> 
940         */
941        public ProcessRequest setRequest(ResourceReferenceDt theValue) {
942                myRequest = theValue;
943                return this;
944        }
945        
946        
947
948  
949        /**
950         * Gets the value(s) for <b>response</b> ().
951         * creating it if it does
952         * not exist. Will not return <code>null</code>.
953         *
954     * <p>
955     * <b>Definition:</b>
956     * Reference of a prior response to resource which is the target or subject of this action.
957     * </p> 
958         */
959        public ResourceReferenceDt getResponse() {  
960                if (myResponse == null) {
961                        myResponse = new ResourceReferenceDt();
962                }
963                return myResponse;
964        }
965
966        /**
967         * Sets the value(s) for <b>response</b> ()
968         *
969     * <p>
970     * <b>Definition:</b>
971     * Reference of a prior response to resource which is the target or subject of this action.
972     * </p> 
973         */
974        public ProcessRequest setResponse(ResourceReferenceDt theValue) {
975                myResponse = theValue;
976                return this;
977        }
978        
979        
980
981  
982        /**
983         * Gets the value(s) for <b>nullify</b> ().
984         * creating it if it does
985         * not exist. Will not return <code>null</code>.
986         *
987     * <p>
988     * <b>Definition:</b>
989     * If true remove all history excluding audit.
990     * </p> 
991         */
992        public BooleanDt getNullifyElement() {  
993                if (myNullify == null) {
994                        myNullify = new BooleanDt();
995                }
996                return myNullify;
997        }
998
999        
1000        /**
1001         * Gets the value(s) for <b>nullify</b> ().
1002         * creating it if it does
1003         * not exist. This method may return <code>null</code>.
1004         *
1005     * <p>
1006     * <b>Definition:</b>
1007     * If true remove all history excluding audit.
1008     * </p> 
1009         */
1010        public Boolean getNullify() {  
1011                return getNullifyElement().getValue();
1012        }
1013
1014        /**
1015         * Sets the value(s) for <b>nullify</b> ()
1016         *
1017     * <p>
1018     * <b>Definition:</b>
1019     * If true remove all history excluding audit.
1020     * </p> 
1021         */
1022        public ProcessRequest setNullify(BooleanDt theValue) {
1023                myNullify = theValue;
1024                return this;
1025        }
1026        
1027        
1028
1029        /**
1030         * Sets the value for <b>nullify</b> ()
1031         *
1032     * <p>
1033     * <b>Definition:</b>
1034     * If true remove all history excluding audit.
1035     * </p> 
1036         */
1037        public ProcessRequest setNullify( boolean theBoolean) {
1038                myNullify = new BooleanDt(theBoolean); 
1039                return this; 
1040        }
1041
1042 
1043        /**
1044         * Gets the value(s) for <b>reference</b> ().
1045         * creating it if it does
1046         * not exist. Will not return <code>null</code>.
1047         *
1048     * <p>
1049     * <b>Definition:</b>
1050     * A reference to supply which authenticates the process.
1051     * </p> 
1052         */
1053        public StringDt getReferenceElement() {  
1054                if (myReference == null) {
1055                        myReference = new StringDt();
1056                }
1057                return myReference;
1058        }
1059
1060        
1061        /**
1062         * Gets the value(s) for <b>reference</b> ().
1063         * creating it if it does
1064         * not exist. This method may return <code>null</code>.
1065         *
1066     * <p>
1067     * <b>Definition:</b>
1068     * A reference to supply which authenticates the process.
1069     * </p> 
1070         */
1071        public String getReference() {  
1072                return getReferenceElement().getValue();
1073        }
1074
1075        /**
1076         * Sets the value(s) for <b>reference</b> ()
1077         *
1078     * <p>
1079     * <b>Definition:</b>
1080     * A reference to supply which authenticates the process.
1081     * </p> 
1082         */
1083        public ProcessRequest setReference(StringDt theValue) {
1084                myReference = theValue;
1085                return this;
1086        }
1087        
1088        
1089
1090        /**
1091         * Sets the value for <b>reference</b> ()
1092         *
1093     * <p>
1094     * <b>Definition:</b>
1095     * A reference to supply which authenticates the process.
1096     * </p> 
1097         */
1098        public ProcessRequest setReference( String theString) {
1099                myReference = new StringDt(theString); 
1100                return this; 
1101        }
1102
1103 
1104        /**
1105         * Gets the value(s) for <b>item</b> ().
1106         * creating it if it does
1107         * not exist. Will not return <code>null</code>.
1108         *
1109     * <p>
1110     * <b>Definition:</b>
1111     * List of top level items to be re-adjudicated, if none specified then the entire submission is re-adjudicated.
1112     * </p> 
1113         */
1114        public java.util.List<Item> getItem() {  
1115                if (myItem == null) {
1116                        myItem = new java.util.ArrayList<Item>();
1117                }
1118                return myItem;
1119        }
1120
1121        /**
1122         * Sets the value(s) for <b>item</b> ()
1123         *
1124     * <p>
1125     * <b>Definition:</b>
1126     * List of top level items to be re-adjudicated, if none specified then the entire submission is re-adjudicated.
1127     * </p> 
1128         */
1129        public ProcessRequest setItem(java.util.List<Item> theValue) {
1130                myItem = theValue;
1131                return this;
1132        }
1133        
1134        
1135
1136        /**
1137         * Adds and returns a new value for <b>item</b> ()
1138         *
1139     * <p>
1140     * <b>Definition:</b>
1141     * List of top level items to be re-adjudicated, if none specified then the entire submission is re-adjudicated.
1142     * </p> 
1143         */
1144        public Item addItem() {
1145                Item newType = new Item();
1146                getItem().add(newType);
1147                return newType; 
1148        }
1149
1150        /**
1151         * Adds a given new value for <b>item</b> ()
1152         *
1153         * <p>
1154         * <b>Definition:</b>
1155         * List of top level items to be re-adjudicated, if none specified then the entire submission is re-adjudicated.
1156         * </p>
1157         * @param theValue The item to add (must not be <code>null</code>)
1158         */
1159        public ProcessRequest addItem(Item theValue) {
1160                if (theValue == null) {
1161                        throw new NullPointerException("theValue must not be null");
1162                }
1163                getItem().add(theValue);
1164                return this;
1165        }
1166
1167        /**
1168         * Gets the first repetition for <b>item</b> (),
1169         * creating it if it does not already exist.
1170         *
1171     * <p>
1172     * <b>Definition:</b>
1173     * List of top level items to be re-adjudicated, if none specified then the entire submission is re-adjudicated.
1174     * </p> 
1175         */
1176        public Item getItemFirstRep() {
1177                if (getItem().isEmpty()) {
1178                        return addItem();
1179                }
1180                return getItem().get(0); 
1181        }
1182  
1183        /**
1184         * Gets the value(s) for <b>include</b> ().
1185         * creating it if it does
1186         * not exist. Will not return <code>null</code>.
1187         *
1188     * <p>
1189     * <b>Definition:</b>
1190     * Names of resource types to include
1191     * </p> 
1192         */
1193        public java.util.List<StringDt> getInclude() {  
1194                if (myInclude == null) {
1195                        myInclude = new java.util.ArrayList<StringDt>();
1196                }
1197                return myInclude;
1198        }
1199
1200        /**
1201         * Sets the value(s) for <b>include</b> ()
1202         *
1203     * <p>
1204     * <b>Definition:</b>
1205     * Names of resource types to include
1206     * </p> 
1207         */
1208        public ProcessRequest setInclude(java.util.List<StringDt> theValue) {
1209                myInclude = theValue;
1210                return this;
1211        }
1212        
1213        
1214
1215        /**
1216         * Adds and returns a new value for <b>include</b> ()
1217         *
1218     * <p>
1219     * <b>Definition:</b>
1220     * Names of resource types to include
1221     * </p> 
1222         */
1223        public StringDt addInclude() {
1224                StringDt newType = new StringDt();
1225                getInclude().add(newType);
1226                return newType; 
1227        }
1228
1229        /**
1230         * Adds a given new value for <b>include</b> ()
1231         *
1232         * <p>
1233         * <b>Definition:</b>
1234         * Names of resource types to include
1235         * </p>
1236         * @param theValue The include to add (must not be <code>null</code>)
1237         */
1238        public ProcessRequest addInclude(StringDt theValue) {
1239                if (theValue == null) {
1240                        throw new NullPointerException("theValue must not be null");
1241                }
1242                getInclude().add(theValue);
1243                return this;
1244        }
1245
1246        /**
1247         * Gets the first repetition for <b>include</b> (),
1248         * creating it if it does not already exist.
1249         *
1250     * <p>
1251     * <b>Definition:</b>
1252     * Names of resource types to include
1253     * </p> 
1254         */
1255        public StringDt getIncludeFirstRep() {
1256                if (getInclude().isEmpty()) {
1257                        return addInclude();
1258                }
1259                return getInclude().get(0); 
1260        }
1261        /**
1262         * Adds a new value for <b>include</b> ()
1263         *
1264     * <p>
1265     * <b>Definition:</b>
1266     * Names of resource types to include
1267     * </p> 
1268     *
1269     * @return Returns a reference to this object, to allow for simple chaining.
1270         */
1271        public ProcessRequest addInclude( String theString) {
1272                if (myInclude == null) {
1273                        myInclude = new java.util.ArrayList<StringDt>();
1274                }
1275                myInclude.add(new StringDt(theString));
1276                return this; 
1277        }
1278
1279 
1280        /**
1281         * Gets the value(s) for <b>exclude</b> ().
1282         * creating it if it does
1283         * not exist. Will not return <code>null</code>.
1284         *
1285     * <p>
1286     * <b>Definition:</b>
1287     * Names of resource types to exclude
1288     * </p> 
1289         */
1290        public java.util.List<StringDt> getExclude() {  
1291                if (myExclude == null) {
1292                        myExclude = new java.util.ArrayList<StringDt>();
1293                }
1294                return myExclude;
1295        }
1296
1297        /**
1298         * Sets the value(s) for <b>exclude</b> ()
1299         *
1300     * <p>
1301     * <b>Definition:</b>
1302     * Names of resource types to exclude
1303     * </p> 
1304         */
1305        public ProcessRequest setExclude(java.util.List<StringDt> theValue) {
1306                myExclude = theValue;
1307                return this;
1308        }
1309        
1310        
1311
1312        /**
1313         * Adds and returns a new value for <b>exclude</b> ()
1314         *
1315     * <p>
1316     * <b>Definition:</b>
1317     * Names of resource types to exclude
1318     * </p> 
1319         */
1320        public StringDt addExclude() {
1321                StringDt newType = new StringDt();
1322                getExclude().add(newType);
1323                return newType; 
1324        }
1325
1326        /**
1327         * Adds a given new value for <b>exclude</b> ()
1328         *
1329         * <p>
1330         * <b>Definition:</b>
1331         * Names of resource types to exclude
1332         * </p>
1333         * @param theValue The exclude to add (must not be <code>null</code>)
1334         */
1335        public ProcessRequest addExclude(StringDt theValue) {
1336                if (theValue == null) {
1337                        throw new NullPointerException("theValue must not be null");
1338                }
1339                getExclude().add(theValue);
1340                return this;
1341        }
1342
1343        /**
1344         * Gets the first repetition for <b>exclude</b> (),
1345         * creating it if it does not already exist.
1346         *
1347     * <p>
1348     * <b>Definition:</b>
1349     * Names of resource types to exclude
1350     * </p> 
1351         */
1352        public StringDt getExcludeFirstRep() {
1353                if (getExclude().isEmpty()) {
1354                        return addExclude();
1355                }
1356                return getExclude().get(0); 
1357        }
1358        /**
1359         * Adds a new value for <b>exclude</b> ()
1360         *
1361     * <p>
1362     * <b>Definition:</b>
1363     * Names of resource types to exclude
1364     * </p> 
1365     *
1366     * @return Returns a reference to this object, to allow for simple chaining.
1367         */
1368        public ProcessRequest addExclude( String theString) {
1369                if (myExclude == null) {
1370                        myExclude = new java.util.ArrayList<StringDt>();
1371                }
1372                myExclude.add(new StringDt(theString));
1373                return this; 
1374        }
1375
1376 
1377        /**
1378         * Gets the value(s) for <b>period</b> ().
1379         * creating it if it does
1380         * not exist. Will not return <code>null</code>.
1381         *
1382     * <p>
1383     * <b>Definition:</b>
1384     * A period of time during which the fulfilling resources would have been created.
1385     * </p> 
1386         */
1387        public PeriodDt getPeriod() {  
1388                if (myPeriod == null) {
1389                        myPeriod = new PeriodDt();
1390                }
1391                return myPeriod;
1392        }
1393
1394        /**
1395         * Sets the value(s) for <b>period</b> ()
1396         *
1397     * <p>
1398     * <b>Definition:</b>
1399     * A period of time during which the fulfilling resources would have been created.
1400     * </p> 
1401         */
1402        public ProcessRequest setPeriod(PeriodDt theValue) {
1403                myPeriod = theValue;
1404                return this;
1405        }
1406        
1407        
1408
1409  
1410        /**
1411         * Block class for child element: <b>ProcessRequest.item</b> ()
1412         *
1413     * <p>
1414     * <b>Definition:</b>
1415     * List of top level items to be re-adjudicated, if none specified then the entire submission is re-adjudicated.
1416     * </p> 
1417         */
1418        @Block()        
1419        public static class Item 
1420            extends  BaseIdentifiableElement        implements IResourceBlock {
1421        
1422        @Child(name="sequenceLinkId", type=IntegerDt.class, order=0, min=1, max=1, summary=false, modifier=false)       
1423        @Description(
1424                shortDefinition="",
1425                formalDefinition="A service line number."
1426        )
1427        private IntegerDt mySequenceLinkId;
1428        
1429
1430        @Override
1431        public boolean isEmpty() {
1432                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  mySequenceLinkId);
1433        }
1434        
1435        @Override
1436        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
1437                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, mySequenceLinkId);
1438        }
1439
1440        /**
1441         * Gets the value(s) for <b>sequenceLinkId</b> ().
1442         * creating it if it does
1443         * not exist. Will not return <code>null</code>.
1444         *
1445     * <p>
1446     * <b>Definition:</b>
1447     * A service line number.
1448     * </p> 
1449         */
1450        public IntegerDt getSequenceLinkIdElement() {  
1451                if (mySequenceLinkId == null) {
1452                        mySequenceLinkId = new IntegerDt();
1453                }
1454                return mySequenceLinkId;
1455        }
1456
1457        
1458        /**
1459         * Gets the value(s) for <b>sequenceLinkId</b> ().
1460         * creating it if it does
1461         * not exist. This method may return <code>null</code>.
1462         *
1463     * <p>
1464     * <b>Definition:</b>
1465     * A service line number.
1466     * </p> 
1467         */
1468        public Integer getSequenceLinkId() {  
1469                return getSequenceLinkIdElement().getValue();
1470        }
1471
1472        /**
1473         * Sets the value(s) for <b>sequenceLinkId</b> ()
1474         *
1475     * <p>
1476     * <b>Definition:</b>
1477     * A service line number.
1478     * </p> 
1479         */
1480        public Item setSequenceLinkId(IntegerDt theValue) {
1481                mySequenceLinkId = theValue;
1482                return this;
1483        }
1484        
1485        
1486
1487        /**
1488         * Sets the value for <b>sequenceLinkId</b> ()
1489         *
1490     * <p>
1491     * <b>Definition:</b>
1492     * A service line number.
1493     * </p> 
1494         */
1495        public Item setSequenceLinkId( int theInteger) {
1496                mySequenceLinkId = new IntegerDt(theInteger); 
1497                return this; 
1498        }
1499
1500 
1501
1502
1503        }
1504
1505
1506
1507
1508    @Override
1509    public String getResourceName() {
1510        return "ProcessRequest";
1511    }
1512    
1513    public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() {
1514        return ca.uhn.fhir.context.FhirVersionEnum.DSTU2;
1515    }
1516
1517
1518}