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.valueset.AnimalSpeciesEnum;
042import ca.uhn.fhir.model.dstu2.composite.AnnotationDt;
043import ca.uhn.fhir.model.dstu2.valueset.AnswerFormatEnum;
044import ca.uhn.fhir.model.dstu2.resource.Appointment;
045import ca.uhn.fhir.model.dstu2.valueset.AppointmentStatusEnum;
046import ca.uhn.fhir.model.dstu2.valueset.AssertionDirectionTypeEnum;
047import ca.uhn.fhir.model.dstu2.valueset.AssertionOperatorTypeEnum;
048import ca.uhn.fhir.model.dstu2.valueset.AssertionResponseTypesEnum;
049import ca.uhn.fhir.model.dstu2.composite.AttachmentDt;
050import ca.uhn.fhir.model.dstu2.valueset.AuditEventActionEnum;
051import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectLifecycleEnum;
052import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectRoleEnum;
053import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectTypeEnum;
054import ca.uhn.fhir.model.dstu2.valueset.AuditEventOutcomeEnum;
055import ca.uhn.fhir.model.dstu2.valueset.AuditEventParticipantNetworkTypeEnum;
056import ca.uhn.fhir.model.dstu2.valueset.AuditEventSourceTypeEnum;
057import ca.uhn.fhir.model.dstu2.valueset.BindingStrengthEnum;
058import ca.uhn.fhir.model.dstu2.resource.BodySite;
059import ca.uhn.fhir.model.dstu2.valueset.BundleTypeEnum;
060import ca.uhn.fhir.model.dstu2.resource.CarePlan;
061import ca.uhn.fhir.model.dstu2.valueset.CarePlanActivityCategoryEnum;
062import ca.uhn.fhir.model.dstu2.valueset.CarePlanActivityStatusEnum;
063import ca.uhn.fhir.model.dstu2.valueset.CarePlanRelationshipEnum;
064import ca.uhn.fhir.model.dstu2.valueset.CarePlanStatusEnum;
065import ca.uhn.fhir.model.dstu2.resource.Claim;
066import ca.uhn.fhir.model.dstu2.resource.ClaimResponse;
067import ca.uhn.fhir.model.dstu2.valueset.ClaimTypeEnum;
068import ca.uhn.fhir.model.dstu2.resource.ClinicalImpression;
069import ca.uhn.fhir.model.dstu2.valueset.ClinicalImpressionStatusEnum;
070import ca.uhn.fhir.model.dstu2.composite.CodeableConceptDt;
071import ca.uhn.fhir.model.dstu2.composite.CodingDt;
072import ca.uhn.fhir.model.dstu2.resource.CommunicationRequest;
073import ca.uhn.fhir.model.dstu2.valueset.CommunicationRequestStatusEnum;
074import ca.uhn.fhir.model.dstu2.valueset.CommunicationStatusEnum;
075import ca.uhn.fhir.model.dstu2.resource.Composition;
076import ca.uhn.fhir.model.dstu2.valueset.CompositionAttestationModeEnum;
077import ca.uhn.fhir.model.dstu2.valueset.CompositionStatusEnum;
078import ca.uhn.fhir.model.dstu2.valueset.ConceptMapEquivalenceEnum;
079import ca.uhn.fhir.model.dstu2.resource.Condition;
080import ca.uhn.fhir.model.dstu2.valueset.ConditionCategoryCodesEnum;
081import ca.uhn.fhir.model.dstu2.valueset.ConditionClinicalStatusCodesEnum;
082import ca.uhn.fhir.model.dstu2.valueset.ConditionVerificationStatusEnum;
083import ca.uhn.fhir.model.dstu2.valueset.ConditionalDeleteStatusEnum;
084import ca.uhn.fhir.model.dstu2.valueset.ConditionsCodesEnum;
085import ca.uhn.fhir.model.dstu2.resource.Conformance;
086import ca.uhn.fhir.model.dstu2.valueset.ConformanceEventModeEnum;
087import ca.uhn.fhir.model.dstu2.valueset.ConformanceResourceStatusEnum;
088import ca.uhn.fhir.model.dstu2.valueset.ConformanceStatementKindEnum;
089import ca.uhn.fhir.model.dstu2.composite.ContactPointDt;
090import ca.uhn.fhir.model.dstu2.valueset.ContentTypeEnum;
091import ca.uhn.fhir.model.dstu2.resource.Contract;
092import ca.uhn.fhir.model.dstu2.valueset.ContractActionCodesEnum;
093import ca.uhn.fhir.model.dstu2.valueset.ContractActorRoleCodesEnum;
094import ca.uhn.fhir.model.dstu2.valueset.ContractSubtypeCodesEnum;
095import ca.uhn.fhir.model.dstu2.valueset.ContractTermTypeCodesEnum;
096import ca.uhn.fhir.model.dstu2.valueset.ContractTypeCodesEnum;
097import ca.uhn.fhir.model.dstu2.resource.Coverage;
098import ca.uhn.fhir.model.dstu2.valueset.DataElementStringencyEnum;
099import ca.uhn.fhir.model.dstu2.valueset.DaysOfWeekEnum;
100import ca.uhn.fhir.model.dstu2.valueset.DetectedIssueSeverityEnum;
101import ca.uhn.fhir.model.dstu2.resource.Device;
102import ca.uhn.fhir.model.dstu2.resource.DeviceComponent;
103import ca.uhn.fhir.model.dstu2.resource.DeviceMetric;
104import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationStateEnum;
105import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationTypeEnum;
106import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCategoryEnum;
107import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricColorEnum;
108import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricOperationalStatusEnum;
109import ca.uhn.fhir.model.dstu2.valueset.DeviceStatusEnum;
110import ca.uhn.fhir.model.dstu2.resource.DeviceUseRequest;
111import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestPriorityEnum;
112import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestStatusEnum;
113import ca.uhn.fhir.model.dstu2.resource.DiagnosticOrder;
114import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderPriorityEnum;
115import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderStatusEnum;
116import ca.uhn.fhir.model.dstu2.resource.DiagnosticReport;
117import ca.uhn.fhir.model.dstu2.valueset.DiagnosticReportStatusEnum;
118import ca.uhn.fhir.model.dstu2.valueset.DigitalMediaTypeEnum;
119import ca.uhn.fhir.model.dstu2.valueset.DocumentModeEnum;
120import ca.uhn.fhir.model.dstu2.resource.DocumentReference;
121import ca.uhn.fhir.model.dstu2.valueset.DocumentReferenceStatusEnum;
122import ca.uhn.fhir.model.dstu2.valueset.DocumentRelationshipTypeEnum;
123import ca.uhn.fhir.model.dstu2.composite.ElementDefinitionDt;
124import ca.uhn.fhir.model.dstu2.resource.EligibilityRequest;
125import ca.uhn.fhir.model.dstu2.resource.Encounter;
126import ca.uhn.fhir.model.dstu2.valueset.EncounterClassEnum;
127import ca.uhn.fhir.model.dstu2.valueset.EncounterLocationStatusEnum;
128import ca.uhn.fhir.model.dstu2.valueset.EncounterStateEnum;
129import ca.uhn.fhir.model.dstu2.valueset.EncounterTypeEnum;
130import ca.uhn.fhir.model.dstu2.resource.EnrollmentRequest;
131import ca.uhn.fhir.model.dstu2.valueset.EnteralFormulaTypeCodesEnum;
132import ca.uhn.fhir.model.dstu2.resource.EpisodeOfCare;
133import ca.uhn.fhir.model.dstu2.valueset.EpisodeOfCareStatusEnum;
134import ca.uhn.fhir.model.dstu2.valueset.ExceptionCodesEnum;
135import ca.uhn.fhir.model.dstu2.valueset.ExtensionContextEnum;
136import ca.uhn.fhir.model.dstu2.valueset.FamilyHistoryStatusEnum;
137import ca.uhn.fhir.model.dstu2.resource.FamilyMemberHistory;
138import ca.uhn.fhir.model.dstu2.valueset.FilterOperatorEnum;
139import ca.uhn.fhir.model.dstu2.valueset.FlagCategoryCodesEnum;
140import ca.uhn.fhir.model.dstu2.valueset.FlagStatusEnum;
141import ca.uhn.fhir.model.dstu2.valueset.FluidConsistencyTypeCodesEnum;
142import ca.uhn.fhir.model.dstu2.resource.Goal;
143import ca.uhn.fhir.model.dstu2.valueset.GoalCategoryEnum;
144import ca.uhn.fhir.model.dstu2.valueset.GoalPriorityEnum;
145import ca.uhn.fhir.model.dstu2.valueset.GoalStartEventEnum;
146import ca.uhn.fhir.model.dstu2.valueset.GoalStatusEnum;
147import ca.uhn.fhir.model.dstu2.valueset.GoalStatusReasonEnum;
148import ca.uhn.fhir.model.dstu2.resource.Group;
149import ca.uhn.fhir.model.dstu2.valueset.GroupTypeEnum;
150import ca.uhn.fhir.model.dstu2.valueset.GuideDependencyTypeEnum;
151import ca.uhn.fhir.model.dstu2.valueset.GuidePageKindEnum;
152import ca.uhn.fhir.model.dstu2.valueset.GuideResourcePurposeEnum;
153import ca.uhn.fhir.model.dstu2.valueset.HTTPVerbEnum;
154import ca.uhn.fhir.model.dstu2.resource.HealthcareService;
155import ca.uhn.fhir.model.dstu2.composite.HumanNameDt;
156import ca.uhn.fhir.model.dstu2.composite.IdentifierDt;
157import ca.uhn.fhir.model.dstu2.valueset.IdentifierTypeCodesEnum;
158import ca.uhn.fhir.model.dstu2.valueset.IdentityAssuranceLevelEnum;
159import ca.uhn.fhir.model.dstu2.resource.ImagingObjectSelection;
160import ca.uhn.fhir.model.dstu2.resource.ImagingStudy;
161import ca.uhn.fhir.model.dstu2.resource.Immunization;
162import ca.uhn.fhir.model.dstu2.valueset.ImmunizationReasonCodesEnum;
163import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRecommendationDateCriterionCodesEnum;
164import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRecommendationStatusCodesEnum;
165import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRouteCodesEnum;
166import ca.uhn.fhir.model.dstu2.valueset.InstanceAvailabilityEnum;
167import ca.uhn.fhir.model.dstu2.valueset.InterventionCodesEnum;
168import ca.uhn.fhir.model.dstu2.valueset.IssueSeverityEnum;
169import ca.uhn.fhir.model.dstu2.valueset.IssueTypeEnum;
170import ca.uhn.fhir.model.dstu2.valueset.KOStitleEnum;
171import ca.uhn.fhir.model.dstu2.valueset.LateralityEnum;
172import ca.uhn.fhir.model.dstu2.valueset.LinkTypeEnum;
173import ca.uhn.fhir.model.dstu2.valueset.ListModeEnum;
174import ca.uhn.fhir.model.dstu2.valueset.ListOrderCodesEnum;
175import ca.uhn.fhir.model.dstu2.valueset.ListStatusEnum;
176import ca.uhn.fhir.model.dstu2.resource.Location;
177import ca.uhn.fhir.model.dstu2.valueset.LocationModeEnum;
178import ca.uhn.fhir.model.dstu2.valueset.LocationStatusEnum;
179import ca.uhn.fhir.model.dstu2.valueset.LocationTypeEnum;
180import ca.uhn.fhir.model.dstu2.valueset.MaritalStatusCodesEnum;
181import ca.uhn.fhir.model.dstu2.valueset.MeasmntPrincipleEnum;
182import ca.uhn.fhir.model.dstu2.resource.Media;
183import ca.uhn.fhir.model.dstu2.resource.Medication;
184import ca.uhn.fhir.model.dstu2.valueset.MedicationAdministrationStatusEnum;
185import ca.uhn.fhir.model.dstu2.valueset.MedicationDispenseStatusEnum;
186import ca.uhn.fhir.model.dstu2.resource.MedicationOrder;
187import ca.uhn.fhir.model.dstu2.valueset.MedicationOrderStatusEnum;
188import ca.uhn.fhir.model.dstu2.resource.MedicationStatement;
189import ca.uhn.fhir.model.dstu2.valueset.MedicationStatementStatusEnum;
190import ca.uhn.fhir.model.dstu2.valueset.MessageEventEnum;
191import ca.uhn.fhir.model.dstu2.valueset.MessageSignificanceCategoryEnum;
192import ca.uhn.fhir.model.dstu2.valueset.MessageTransportEnum;
193import ca.uhn.fhir.model.dstu2.resource.NamingSystem;
194import ca.uhn.fhir.model.dstu2.valueset.NamingSystemIdentifierTypeEnum;
195import ca.uhn.fhir.model.dstu2.valueset.NamingSystemTypeEnum;
196import ca.uhn.fhir.model.dstu2.valueset.NoteTypeEnum;
197import ca.uhn.fhir.model.dstu2.valueset.NutrientModifierCodesEnum;
198import ca.uhn.fhir.model.dstu2.resource.NutritionOrder;
199import ca.uhn.fhir.model.dstu2.valueset.NutritionOrderStatusEnum;
200import ca.uhn.fhir.model.dstu2.resource.Observation;
201import ca.uhn.fhir.model.dstu2.valueset.ObservationCategoryCodesEnum;
202import ca.uhn.fhir.model.dstu2.valueset.ObservationRelationshipTypeEnum;
203import ca.uhn.fhir.model.dstu2.valueset.ObservationStatusEnum;
204import ca.uhn.fhir.model.dstu2.resource.OperationDefinition;
205import ca.uhn.fhir.model.dstu2.valueset.OperationKindEnum;
206import ca.uhn.fhir.model.dstu2.resource.OperationOutcome;
207import ca.uhn.fhir.model.dstu2.valueset.OperationParameterUseEnum;
208import ca.uhn.fhir.model.dstu2.resource.Order;
209import ca.uhn.fhir.model.dstu2.valueset.OrderStatusEnum;
210import ca.uhn.fhir.model.dstu2.resource.Organization;
211import ca.uhn.fhir.model.dstu2.valueset.OrganizationTypeEnum;
212import ca.uhn.fhir.model.dstu2.valueset.ParticipantRequiredEnum;
213import ca.uhn.fhir.model.dstu2.valueset.ParticipantStatusEnum;
214import ca.uhn.fhir.model.dstu2.valueset.ParticipantTypeEnum;
215import ca.uhn.fhir.model.dstu2.valueset.ParticipationStatusEnum;
216import ca.uhn.fhir.model.dstu2.resource.Patient;
217import ca.uhn.fhir.model.dstu2.valueset.PayeeTypeCodesEnum;
218import ca.uhn.fhir.model.dstu2.valueset.PaymentStatusCodesEnum;
219import ca.uhn.fhir.model.dstu2.valueset.PaymentTypeCodesEnum;
220import ca.uhn.fhir.model.dstu2.composite.PeriodDt;
221import ca.uhn.fhir.model.dstu2.resource.Person;
222import ca.uhn.fhir.model.dstu2.resource.Practitioner;
223import ca.uhn.fhir.model.dstu2.valueset.PractitionerRoleEnum;
224import ca.uhn.fhir.model.dstu2.valueset.PractitionerSpecialtyEnum;
225import ca.uhn.fhir.model.dstu2.valueset.PriorityCodesEnum;
226import ca.uhn.fhir.model.dstu2.resource.Procedure;
227import ca.uhn.fhir.model.dstu2.resource.ProcedureRequest;
228import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestPriorityEnum;
229import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestStatusEnum;
230import ca.uhn.fhir.model.dstu2.valueset.ProcedureStatusEnum;
231import ca.uhn.fhir.model.dstu2.resource.ProcessRequest;
232import ca.uhn.fhir.model.dstu2.valueset.ProvenanceEntityRoleEnum;
233import ca.uhn.fhir.model.dstu2.composite.QuantityDt;
234import ca.uhn.fhir.model.dstu2.resource.Questionnaire;
235import ca.uhn.fhir.model.dstu2.resource.QuestionnaireResponse;
236import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireResponseStatusEnum;
237import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireStatusEnum;
238import ca.uhn.fhir.model.dstu2.composite.RangeDt;
239import ca.uhn.fhir.model.dstu2.composite.RatioDt;
240import ca.uhn.fhir.model.dstu2.valueset.ReferralMethodEnum;
241import ca.uhn.fhir.model.dstu2.resource.ReferralRequest;
242import ca.uhn.fhir.model.dstu2.valueset.ReferralStatusEnum;
243import ca.uhn.fhir.model.dstu2.resource.RelatedPerson;
244import ca.uhn.fhir.model.dstu2.valueset.RemittanceOutcomeEnum;
245import ca.uhn.fhir.model.dstu2.valueset.ResourceTypeEnum;
246import ca.uhn.fhir.model.dstu2.valueset.ResourceVersionPolicyEnum;
247import ca.uhn.fhir.model.dstu2.valueset.ResponseTypeEnum;
248import ca.uhn.fhir.model.dstu2.valueset.RestfulConformanceModeEnum;
249import ca.uhn.fhir.model.dstu2.valueset.RestfulSecurityServiceEnum;
250import ca.uhn.fhir.model.dstu2.resource.RiskAssessment;
251import ca.uhn.fhir.model.dstu2.valueset.RulesetCodesEnum;
252import ca.uhn.fhir.model.dstu2.composite.SampledDataDt;
253import ca.uhn.fhir.model.dstu2.resource.Schedule;
254import ca.uhn.fhir.model.dstu2.valueset.SearchEntryModeEnum;
255import ca.uhn.fhir.model.dstu2.valueset.SearchModifierCodeEnum;
256import ca.uhn.fhir.model.dstu2.valueset.SearchParamTypeEnum;
257import ca.uhn.fhir.model.dstu2.valueset.ServiceProvisionConditionsEnum;
258import ca.uhn.fhir.model.dstu2.composite.SignatureDt;
259import ca.uhn.fhir.model.dstu2.resource.Slot;
260import ca.uhn.fhir.model.dstu2.valueset.SlotStatusEnum;
261import ca.uhn.fhir.model.dstu2.resource.Specimen;
262import ca.uhn.fhir.model.dstu2.valueset.SpecimenCollectionMethodEnum;
263import ca.uhn.fhir.model.dstu2.valueset.SpecimenStatusEnum;
264import ca.uhn.fhir.model.dstu2.resource.StructureDefinition;
265import ca.uhn.fhir.model.dstu2.valueset.StructureDefinitionKindEnum;
266import ca.uhn.fhir.model.dstu2.valueset.SubscriptionChannelTypeEnum;
267import ca.uhn.fhir.model.dstu2.valueset.SubscriptionStatusEnum;
268import ca.uhn.fhir.model.dstu2.valueset.SubscriptionTagEnum;
269import ca.uhn.fhir.model.dstu2.resource.Substance;
270import ca.uhn.fhir.model.dstu2.valueset.SubstanceCategoryCodesEnum;
271import ca.uhn.fhir.model.dstu2.valueset.SupplementTypeCodesEnum;
272import ca.uhn.fhir.model.dstu2.valueset.SupplyDeliveryStatusEnum;
273import ca.uhn.fhir.model.dstu2.resource.SupplyRequest;
274import ca.uhn.fhir.model.dstu2.valueset.SupplyRequestReasonEnum;
275import ca.uhn.fhir.model.dstu2.valueset.SupplyRequestStatusEnum;
276import ca.uhn.fhir.model.dstu2.valueset.SurfaceCodesEnum;
277import ca.uhn.fhir.model.dstu2.valueset.SystemRestfulInteractionEnum;
278import ca.uhn.fhir.model.api.TemporalPrecisionEnum;
279import ca.uhn.fhir.model.dstu2.valueset.TextureModifiedFoodTypeCodesEnum;
280import ca.uhn.fhir.model.dstu2.valueset.TextureModifierCodesEnum;
281import ca.uhn.fhir.model.dstu2.composite.TimingDt;
282import ca.uhn.fhir.model.dstu2.valueset.TransactionModeEnum;
283import ca.uhn.fhir.model.dstu2.valueset.TypeRestfulInteractionEnum;
284import ca.uhn.fhir.model.dstu2.valueset.UDICodesEnum;
285import ca.uhn.fhir.model.dstu2.valueset.UnknownContentCodeEnum;
286import ca.uhn.fhir.model.dstu2.valueset.UseEnum;
287import ca.uhn.fhir.model.dstu2.resource.ValueSet;
288import ca.uhn.fhir.model.dstu2.valueset.VisionBaseEnum;
289import ca.uhn.fhir.model.dstu2.valueset.VisionEyesEnum;
290import ca.uhn.fhir.model.dstu2.resource.VisionPrescription;
291import ca.uhn.fhir.model.dstu2.valueset.XPathUsageTypeEnum;
292import ca.uhn.fhir.model.api.IResource;
293import ca.uhn.fhir.model.dstu2.composite.AgeDt;
294import ca.uhn.fhir.model.dstu2.composite.BoundCodeableConceptDt;
295import ca.uhn.fhir.model.dstu2.composite.DurationDt;
296import ca.uhn.fhir.model.dstu2.composite.MoneyDt;
297import ca.uhn.fhir.model.dstu2.composite.NarrativeDt;
298import ca.uhn.fhir.model.dstu2.composite.ResourceReferenceDt;
299import ca.uhn.fhir.model.dstu2.composite.SimpleQuantityDt;
300import ca.uhn.fhir.model.primitive.Base64BinaryDt;
301import ca.uhn.fhir.model.primitive.BooleanDt;
302import ca.uhn.fhir.model.primitive.BoundCodeDt;
303import ca.uhn.fhir.model.primitive.CodeDt;
304import ca.uhn.fhir.model.primitive.DateDt;
305import ca.uhn.fhir.model.primitive.DateTimeDt;
306import ca.uhn.fhir.model.primitive.DecimalDt;
307import ca.uhn.fhir.model.primitive.IdDt;
308import ca.uhn.fhir.model.primitive.InstantDt;
309import ca.uhn.fhir.model.primitive.IntegerDt;
310import ca.uhn.fhir.model.primitive.OidDt;
311import ca.uhn.fhir.model.primitive.PositiveIntDt;
312import ca.uhn.fhir.model.primitive.StringDt;
313import ca.uhn.fhir.model.primitive.TimeDt;
314import ca.uhn.fhir.model.primitive.UnsignedIntDt;
315import ca.uhn.fhir.model.primitive.UriDt;
316
317
318/**
319 * HAPI/FHIR <b>Remittance</b> Resource
320 * ()
321 *
322 * <p>
323 * <b>Definition:</b>
324 * A remittance
325 * </p> 
326 *
327 * <p>
328 * <b>Requirements:</b>
329 * 
330 * </p> 
331 *
332 * <p>
333 * <b>Profile Definition:</b>
334 * <a href="http://hl7.org/fhir/profiles/Remittance">http://hl7.org/fhir/profiles/Remittance</a> 
335 * </p>
336 *
337 */
338@ResourceDef(name="Remittance", profile="http://hl7.org/fhir/profiles/Remittance", id="remittance")
339public class Remittance extends ca.uhn.fhir.model.dstu2.resource.BaseResource
340    implements  IResource     {
341
342        /**
343         * Search parameter constant for <b>identifier</b>
344         * <p>
345         * Description: <b></b><br>
346         * Type: <b>token</b><br>
347         * Path: <b>Remittance.identifier</b><br>
348         * </p>
349         */
350        @SearchParamDefinition(name="identifier", path="Remittance.identifier", description="", type="token"  )
351        public static final String SP_IDENTIFIER = "identifier";
352
353        /**
354         * <b>Fluent Client</b> search parameter constant for <b>identifier</b>
355         * <p>
356         * Description: <b></b><br>
357         * Type: <b>token</b><br>
358         * Path: <b>Remittance.identifier</b><br>
359         * </p>
360         */
361        public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER);
362
363        /**
364         * Search parameter constant for <b>service</b>
365         * <p>
366         * Description: <b></b><br>
367         * Type: <b>token</b><br>
368         * Path: <b>Remittance.service.code</b><br>
369         * </p>
370         */
371        @SearchParamDefinition(name="service", path="Remittance.service.code", description="", type="token"  )
372        public static final String SP_SERVICE = "service";
373
374        /**
375         * <b>Fluent Client</b> search parameter constant for <b>service</b>
376         * <p>
377         * Description: <b></b><br>
378         * Type: <b>token</b><br>
379         * Path: <b>Remittance.service.code</b><br>
380         * </p>
381         */
382        public static final TokenClientParam SERVICE = new TokenClientParam(SP_SERVICE);
383
384
385
386        @Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=1, summary=false, modifier=false)        
387        @Description(
388                shortDefinition="",
389                formalDefinition="The remittance identifier"
390        )
391        private IdentifierDt myIdentifier;
392        
393        @Child(name="service", order=1, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false)  
394        @Description(
395                shortDefinition="",
396                formalDefinition="A service paid as part of remittance"
397        )
398        private java.util.List<Service> myService;
399        
400
401        @Override
402        public boolean isEmpty() {
403                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  myIdentifier,  myService);
404        }
405        
406        @Override
407        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
408                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, myService);
409        }
410
411        /**
412         * Gets the value(s) for <b>identifier</b> ().
413         * creating it if it does
414         * not exist. Will not return <code>null</code>.
415         *
416     * <p>
417     * <b>Definition:</b>
418     * The remittance identifier
419     * </p> 
420         */
421        public IdentifierDt getIdentifier() {  
422                if (myIdentifier == null) {
423                        myIdentifier = new IdentifierDt();
424                }
425                return myIdentifier;
426        }
427
428        /**
429         * Sets the value(s) for <b>identifier</b> ()
430         *
431     * <p>
432     * <b>Definition:</b>
433     * The remittance identifier
434     * </p> 
435         */
436        public Remittance setIdentifier(IdentifierDt theValue) {
437                myIdentifier = theValue;
438                return this;
439        }
440        
441        
442
443  
444        /**
445         * Gets the value(s) for <b>service</b> ().
446         * creating it if it does
447         * not exist. Will not return <code>null</code>.
448         *
449     * <p>
450     * <b>Definition:</b>
451     * A service paid as part of remittance
452     * </p> 
453         */
454        public java.util.List<Service> getService() {  
455                if (myService == null) {
456                        myService = new java.util.ArrayList<Service>();
457                }
458                return myService;
459        }
460
461        /**
462         * Sets the value(s) for <b>service</b> ()
463         *
464     * <p>
465     * <b>Definition:</b>
466     * A service paid as part of remittance
467     * </p> 
468         */
469        public Remittance setService(java.util.List<Service> theValue) {
470                myService = theValue;
471                return this;
472        }
473        
474        
475
476        /**
477         * Adds and returns a new value for <b>service</b> ()
478         *
479     * <p>
480     * <b>Definition:</b>
481     * A service paid as part of remittance
482     * </p> 
483         */
484        public Service addService() {
485                Service newType = new Service();
486                getService().add(newType);
487                return newType; 
488        }
489
490        /**
491         * Adds a given new value for <b>service</b> ()
492         *
493         * <p>
494         * <b>Definition:</b>
495         * A service paid as part of remittance
496         * </p>
497         * @param theValue The service to add (must not be <code>null</code>)
498         */
499        public Remittance addService(Service theValue) {
500                if (theValue == null) {
501                        throw new NullPointerException("theValue must not be null");
502                }
503                getService().add(theValue);
504                return this;
505        }
506
507        /**
508         * Gets the first repetition for <b>service</b> (),
509         * creating it if it does not already exist.
510         *
511     * <p>
512     * <b>Definition:</b>
513     * A service paid as part of remittance
514     * </p> 
515         */
516        public Service getServiceFirstRep() {
517                if (getService().isEmpty()) {
518                        return addService();
519                }
520                return getService().get(0); 
521        }
522  
523        /**
524         * Block class for child element: <b>Remittance.service</b> ()
525         *
526     * <p>
527     * <b>Definition:</b>
528     * A service paid as part of remittance
529     * </p> 
530         */
531        @Block()        
532        public static class Service 
533            extends  BaseIdentifiableElement        implements IResourceBlock {
534        
535        @Child(name="instance", type=IntegerDt.class, order=0, min=1, max=1, summary=false, modifier=false)     
536        @Description(
537                shortDefinition="",
538                formalDefinition="The service instance number for the original transaction"
539        )
540        private IntegerDt myInstance;
541        
542        @Child(name="code", type=CodeableConceptDt.class, order=1, min=1, max=1, summary=false, modifier=false) 
543        @Description(
544                shortDefinition="",
545                formalDefinition="The code for the professional service"
546        )
547        private CodeableConceptDt myCode;
548        
549        @Child(name="rate", type=DecimalDt.class, order=2, min=0, max=1, summary=false, modifier=false) 
550        @Description(
551                shortDefinition="",
552                formalDefinition="The percent of the service fee which would be eligible for coverage"
553        )
554        private DecimalDt myRate;
555        
556        @Child(name="benefit", type=DecimalDt.class, order=3, min=0, max=1, summary=false, modifier=false)      
557        @Description(
558                shortDefinition="",
559                formalDefinition="The amount payable for a submitted service (includes both professional and lab fees.)"
560        )
561        private DecimalDt myBenefit;
562        
563
564        @Override
565        public boolean isEmpty() {
566                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  myInstance,  myCode,  myRate,  myBenefit);
567        }
568        
569        @Override
570        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
571                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myInstance, myCode, myRate, myBenefit);
572        }
573
574        /**
575         * Gets the value(s) for <b>instance</b> ().
576         * creating it if it does
577         * not exist. Will not return <code>null</code>.
578         *
579     * <p>
580     * <b>Definition:</b>
581     * The service instance number for the original transaction
582     * </p> 
583         */
584        public IntegerDt getInstanceElement() {  
585                if (myInstance == null) {
586                        myInstance = new IntegerDt();
587                }
588                return myInstance;
589        }
590
591        
592        /**
593         * Gets the value(s) for <b>instance</b> ().
594         * creating it if it does
595         * not exist. Will not return <code>null</code>.
596         *
597     * <p>
598     * <b>Definition:</b>
599     * The service instance number for the original transaction
600     * </p> 
601         */
602        public Integer getInstance() {  
603                return getInstanceElement().getValue();
604        }
605
606        /**
607         * Sets the value(s) for <b>instance</b> ()
608         *
609     * <p>
610     * <b>Definition:</b>
611     * The service instance number for the original transaction
612     * </p> 
613         */
614        public Service setInstance(IntegerDt theValue) {
615                myInstance = theValue;
616                return this;
617        }
618        
619        
620
621        /**
622         * Sets the value for <b>instance</b> ()
623         *
624     * <p>
625     * <b>Definition:</b>
626     * The service instance number for the original transaction
627     * </p> 
628         */
629        public Service setInstance( int theInteger) {
630                myInstance = new IntegerDt(theInteger); 
631                return this; 
632        }
633
634 
635        /**
636         * Gets the value(s) for <b>code</b> ().
637         * creating it if it does
638         * not exist. Will not return <code>null</code>.
639         *
640     * <p>
641     * <b>Definition:</b>
642     * The code for the professional service
643     * </p> 
644         */
645        public CodeableConceptDt getCode() {  
646                if (myCode == null) {
647                        myCode = new CodeableConceptDt();
648                }
649                return myCode;
650        }
651
652        /**
653         * Sets the value(s) for <b>code</b> ()
654         *
655     * <p>
656     * <b>Definition:</b>
657     * The code for the professional service
658     * </p> 
659         */
660        public Service setCode(CodeableConceptDt theValue) {
661                myCode = theValue;
662                return this;
663        }
664        
665        
666
667  
668        /**
669         * Gets the value(s) for <b>rate</b> ().
670         * creating it if it does
671         * not exist. Will not return <code>null</code>.
672         *
673     * <p>
674     * <b>Definition:</b>
675     * The percent of the service fee which would be eligible for coverage
676     * </p> 
677         */
678        public DecimalDt getRateElement() {  
679                if (myRate == null) {
680                        myRate = new DecimalDt();
681                }
682                return myRate;
683        }
684
685        
686        /**
687         * Gets the value(s) for <b>rate</b> ().
688         * creating it if it does
689         * not exist. Will not return <code>null</code>.
690         *
691     * <p>
692     * <b>Definition:</b>
693     * The percent of the service fee which would be eligible for coverage
694     * </p> 
695         */
696        public BigDecimal getRate() {  
697                return getRateElement().getValue();
698        }
699
700        /**
701         * Sets the value(s) for <b>rate</b> ()
702         *
703     * <p>
704     * <b>Definition:</b>
705     * The percent of the service fee which would be eligible for coverage
706     * </p> 
707         */
708        public Service setRate(DecimalDt theValue) {
709                myRate = theValue;
710                return this;
711        }
712        
713        
714
715        /**
716         * Sets the value for <b>rate</b> ()
717         *
718     * <p>
719     * <b>Definition:</b>
720     * The percent of the service fee which would be eligible for coverage
721     * </p> 
722         */
723        public Service setRate( long theValue) {
724                myRate = new DecimalDt(theValue); 
725                return this; 
726        }
727
728        /**
729         * Sets the value for <b>rate</b> ()
730         *
731     * <p>
732     * <b>Definition:</b>
733     * The percent of the service fee which would be eligible for coverage
734     * </p> 
735         */
736        public Service setRate( double theValue) {
737                myRate = new DecimalDt(theValue); 
738                return this; 
739        }
740
741        /**
742         * Sets the value for <b>rate</b> ()
743         *
744     * <p>
745     * <b>Definition:</b>
746     * The percent of the service fee which would be eligible for coverage
747     * </p> 
748         */
749        public Service setRate( java.math.BigDecimal theValue) {
750                myRate = new DecimalDt(theValue); 
751                return this; 
752        }
753
754 
755        /**
756         * Gets the value(s) for <b>benefit</b> ().
757         * creating it if it does
758         * not exist. Will not return <code>null</code>.
759         *
760     * <p>
761     * <b>Definition:</b>
762     * The amount payable for a submitted service (includes both professional and lab fees.)
763     * </p> 
764         */
765        public DecimalDt getBenefitElement() {  
766                if (myBenefit == null) {
767                        myBenefit = new DecimalDt();
768                }
769                return myBenefit;
770        }
771
772        
773        /**
774         * Gets the value(s) for <b>benefit</b> ().
775         * creating it if it does
776         * not exist. Will not return <code>null</code>.
777         *
778     * <p>
779     * <b>Definition:</b>
780     * The amount payable for a submitted service (includes both professional and lab fees.)
781     * </p> 
782         */
783        public BigDecimal getBenefit() {  
784                return getBenefitElement().getValue();
785        }
786
787        /**
788         * Sets the value(s) for <b>benefit</b> ()
789         *
790     * <p>
791     * <b>Definition:</b>
792     * The amount payable for a submitted service (includes both professional and lab fees.)
793     * </p> 
794         */
795        public Service setBenefit(DecimalDt theValue) {
796                myBenefit = theValue;
797                return this;
798        }
799        
800        
801
802        /**
803         * Sets the value for <b>benefit</b> ()
804         *
805     * <p>
806     * <b>Definition:</b>
807     * The amount payable for a submitted service (includes both professional and lab fees.)
808     * </p> 
809         */
810        public Service setBenefit( long theValue) {
811                myBenefit = new DecimalDt(theValue); 
812                return this; 
813        }
814
815        /**
816         * Sets the value for <b>benefit</b> ()
817         *
818     * <p>
819     * <b>Definition:</b>
820     * The amount payable for a submitted service (includes both professional and lab fees.)
821     * </p> 
822         */
823        public Service setBenefit( double theValue) {
824                myBenefit = new DecimalDt(theValue); 
825                return this; 
826        }
827
828        /**
829         * Sets the value for <b>benefit</b> ()
830         *
831     * <p>
832     * <b>Definition:</b>
833     * The amount payable for a submitted service (includes both professional and lab fees.)
834     * </p> 
835         */
836        public Service setBenefit( java.math.BigDecimal theValue) {
837                myBenefit = new DecimalDt(theValue); 
838                return this; 
839        }
840
841 
842
843
844        }
845
846
847
848
849    @Override
850    public String getResourceName() {
851        return "Remittance";
852    }
853    
854    public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() {
855        return ca.uhn.fhir.context.FhirVersionEnum.DSTU2;
856    }
857
858
859}