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>OperationOutcome</b> Resource
320 * (infrastructure)
321 *
322 * <p>
323 * <b>Definition:</b>
324 * A collection of error, warning or information messages that result from a system action.
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/OperationOutcome">http://hl7.org/fhir/profiles/OperationOutcome</a> 
335 * </p>
336 *
337 */
338@ResourceDef(name="OperationOutcome", profile="http://hl7.org/fhir/profiles/OperationOutcome", id="operationoutcome")
339public class OperationOutcome extends ca.uhn.fhir.model.dstu2.resource.BaseResource
340    implements  ca.uhn.fhir.model.base.resource.BaseOperationOutcome     {
341
342
343
344        @Child(name="issue", order=0, min=1, max=Child.MAX_UNLIMITED, summary=false, modifier=false)    
345        @Description(
346                shortDefinition="",
347                formalDefinition="An error, warning or information message that results from a system action"
348        )
349        private java.util.List<Issue> myIssue;
350        
351
352        @Override
353        public boolean isEmpty() {
354                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  myIssue);
355        }
356        
357        @Override
358        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
359                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIssue);
360        }
361
362        /**
363         * Gets the value(s) for <b>issue</b> ().
364         * creating it if it does
365         * not exist. Will not return <code>null</code>.
366         *
367     * <p>
368     * <b>Definition:</b>
369     * An error, warning or information message that results from a system action
370     * </p> 
371         */
372        public java.util.List<Issue> getIssue() {  
373                if (myIssue == null) {
374                        myIssue = new java.util.ArrayList<Issue>();
375                }
376                return myIssue;
377        }
378
379        /**
380         * Sets the value(s) for <b>issue</b> ()
381         *
382     * <p>
383     * <b>Definition:</b>
384     * An error, warning or information message that results from a system action
385     * </p> 
386         */
387        public OperationOutcome setIssue(java.util.List<Issue> theValue) {
388                myIssue = theValue;
389                return this;
390        }
391        
392        
393
394        /**
395         * Adds and returns a new value for <b>issue</b> ()
396         *
397     * <p>
398     * <b>Definition:</b>
399     * An error, warning or information message that results from a system action
400     * </p> 
401         */
402        public Issue addIssue() {
403                Issue newType = new Issue();
404                getIssue().add(newType);
405                return newType; 
406        }
407
408        /**
409         * Adds a given new value for <b>issue</b> ()
410         *
411         * <p>
412         * <b>Definition:</b>
413         * An error, warning or information message that results from a system action
414         * </p>
415         * @param theValue The issue to add (must not be <code>null</code>)
416         */
417        public OperationOutcome addIssue(Issue theValue) {
418                if (theValue == null) {
419                        throw new NullPointerException("theValue must not be null");
420                }
421                getIssue().add(theValue);
422                return this;
423        }
424
425        /**
426         * Gets the first repetition for <b>issue</b> (),
427         * creating it if it does not already exist.
428         *
429     * <p>
430     * <b>Definition:</b>
431     * An error, warning or information message that results from a system action
432     * </p> 
433         */
434        public Issue getIssueFirstRep() {
435                if (getIssue().isEmpty()) {
436                        return addIssue();
437                }
438                return getIssue().get(0); 
439        }
440  
441        /**
442         * Block class for child element: <b>OperationOutcome.issue</b> ()
443         *
444     * <p>
445     * <b>Definition:</b>
446     * An error, warning or information message that results from a system action
447     * </p> 
448         */
449        @Block()        
450        public static class Issue 
451            extends  BaseIssue      implements IResourceBlock {
452        
453        @Child(name="severity", type=CodeDt.class, order=0, min=1, max=1, summary=false, modifier=true) 
454        @Description(
455                shortDefinition="",
456                formalDefinition="Indicates whether the issue indicates a variation from successful processing"
457        )
458        private BoundCodeDt<IssueSeverityEnum> mySeverity;
459        
460        @Child(name="code", type=CodeDt.class, order=1, min=1, max=1, summary=false, modifier=false)    
461        @Description(
462                shortDefinition="",
463                formalDefinition="Describes the type of the issue. The system that creates an OperationOutcome SHALL choose the most applicable code from the IssueType value set, and may additional provide its own code for the error in the details element"
464        )
465        private BoundCodeDt<IssueTypeEnum> myCode;
466        
467        @Child(name="details", type=CodeableConceptDt.class, order=2, min=0, max=1, summary=false, modifier=false)      
468        @Description(
469                shortDefinition="",
470                formalDefinition="Additional details about the error. This may be a text description of the error, or a system code that identifies the error"
471        )
472        private CodeableConceptDt myDetails;
473        
474        @Child(name="diagnostics", type=StringDt.class, order=3, min=0, max=1, summary=false, modifier=false)   
475        @Description(
476                shortDefinition="",
477                formalDefinition="Additional diagnostic information about the issue.  Typically, this may be a description of how a value is erroneous, or a stack dump to help trace the issue."
478        )
479        private StringDt myDiagnostics;
480        
481        @Child(name="location", type=StringDt.class, order=4, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false)    
482        @Description(
483                shortDefinition="",
484                formalDefinition="A simple XPath limited to element names, repetition indicators and the default child access that identifies one of the elements in the resource that caused this issue to be raised."
485        )
486        private java.util.List<StringDt> myLocation;
487        
488
489        @Override
490        public boolean isEmpty() {
491                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  mySeverity,  myCode,  myDetails,  myDiagnostics,  myLocation);
492        }
493        
494        @Override
495        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
496                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, mySeverity, myCode, myDetails, myDiagnostics, myLocation);
497        }
498
499        /**
500         * Gets the value(s) for <b>severity</b> ().
501         * creating it if it does
502         * not exist. Will not return <code>null</code>.
503         *
504     * <p>
505     * <b>Definition:</b>
506     * Indicates whether the issue indicates a variation from successful processing
507     * </p> 
508         */
509        public BoundCodeDt<IssueSeverityEnum> getSeverityElement() {  
510                if (mySeverity == null) {
511                        mySeverity = new BoundCodeDt<IssueSeverityEnum>(IssueSeverityEnum.VALUESET_BINDER);
512                }
513                return mySeverity;
514        }
515
516        
517        /**
518         * Gets the value(s) for <b>severity</b> ().
519         * creating it if it does
520         * not exist. Will not return <code>null</code>.
521         *
522     * <p>
523     * <b>Definition:</b>
524     * Indicates whether the issue indicates a variation from successful processing
525     * </p> 
526         */
527        public String getSeverity() {  
528                return getSeverityElement().getValue();
529        }
530
531        /**
532         * Sets the value(s) for <b>severity</b> ()
533         *
534     * <p>
535     * <b>Definition:</b>
536     * Indicates whether the issue indicates a variation from successful processing
537     * </p> 
538         */
539        public Issue setSeverity(BoundCodeDt<IssueSeverityEnum> theValue) {
540                mySeverity = theValue;
541                return this;
542        }
543        
544        
545
546        /**
547         * Sets the value(s) for <b>severity</b> ()
548         *
549     * <p>
550     * <b>Definition:</b>
551     * Indicates whether the issue indicates a variation from successful processing
552     * </p> 
553         */
554        public Issue setSeverity(IssueSeverityEnum theValue) {
555                setSeverity(new BoundCodeDt<IssueSeverityEnum>(IssueSeverityEnum.VALUESET_BINDER, theValue));
556                
557/*
558                getSeverityElement().setValueAsEnum(theValue);
559*/
560                return this;
561        }
562
563  
564        /**
565         * Gets the value(s) for <b>code</b> ().
566         * creating it if it does
567         * not exist. Will not return <code>null</code>.
568         *
569     * <p>
570     * <b>Definition:</b>
571     * Describes the type of the issue. The system that creates an OperationOutcome SHALL choose the most applicable code from the IssueType value set, and may additional provide its own code for the error in the details element
572     * </p> 
573         */
574        public BoundCodeDt<IssueTypeEnum> getCodeElement() {  
575                if (myCode == null) {
576                        myCode = new BoundCodeDt<IssueTypeEnum>(IssueTypeEnum.VALUESET_BINDER);
577                }
578                return myCode;
579        }
580
581        
582        /**
583         * Gets the value(s) for <b>code</b> ().
584         * creating it if it does
585         * not exist. Will not return <code>null</code>.
586         *
587     * <p>
588     * <b>Definition:</b>
589     * Describes the type of the issue. The system that creates an OperationOutcome SHALL choose the most applicable code from the IssueType value set, and may additional provide its own code for the error in the details element
590     * </p> 
591         */
592        public String getCode() {  
593                return getCodeElement().getValue();
594        }
595
596        /**
597         * Sets the value(s) for <b>code</b> ()
598         *
599     * <p>
600     * <b>Definition:</b>
601     * Describes the type of the issue. The system that creates an OperationOutcome SHALL choose the most applicable code from the IssueType value set, and may additional provide its own code for the error in the details element
602     * </p> 
603         */
604        public Issue setCode(BoundCodeDt<IssueTypeEnum> theValue) {
605                myCode = theValue;
606                return this;
607        }
608        
609        
610
611        /**
612         * Sets the value(s) for <b>code</b> ()
613         *
614     * <p>
615     * <b>Definition:</b>
616     * Describes the type of the issue. The system that creates an OperationOutcome SHALL choose the most applicable code from the IssueType value set, and may additional provide its own code for the error in the details element
617     * </p> 
618         */
619        public Issue setCode(IssueTypeEnum theValue) {
620                setCode(new BoundCodeDt<IssueTypeEnum>(IssueTypeEnum.VALUESET_BINDER, theValue));
621                
622/*
623                getCodeElement().setValueAsEnum(theValue);
624*/
625                return this;
626        }
627
628  
629        /**
630         * Gets the value(s) for <b>details</b> ().
631         * creating it if it does
632         * not exist. Will not return <code>null</code>.
633         *
634     * <p>
635     * <b>Definition:</b>
636     * Additional details about the error. This may be a text description of the error, or a system code that identifies the error
637     * </p> 
638         */
639        public CodeableConceptDt getDetails() {  
640                if (myDetails == null) {
641                        myDetails = new CodeableConceptDt();
642                }
643                return myDetails;
644        }
645
646        /**
647         * Sets the value(s) for <b>details</b> ()
648         *
649     * <p>
650     * <b>Definition:</b>
651     * Additional details about the error. This may be a text description of the error, or a system code that identifies the error
652     * </p> 
653         */
654        public Issue setDetails(CodeableConceptDt theValue) {
655                myDetails = theValue;
656                return this;
657        }
658        
659        
660
661  
662        /**
663         * Gets the value(s) for <b>diagnostics</b> ().
664         * creating it if it does
665         * not exist. Will not return <code>null</code>.
666         *
667     * <p>
668     * <b>Definition:</b>
669     * Additional diagnostic information about the issue.  Typically, this may be a description of how a value is erroneous, or a stack dump to help trace the issue.
670     * </p> 
671         */
672        public StringDt getDiagnosticsElement() {  
673                if (myDiagnostics == null) {
674                        myDiagnostics = new StringDt();
675                }
676                return myDiagnostics;
677        }
678
679        
680        /**
681         * Gets the value(s) for <b>diagnostics</b> ().
682         * creating it if it does
683         * not exist. Will not return <code>null</code>.
684         *
685     * <p>
686     * <b>Definition:</b>
687     * Additional diagnostic information about the issue.  Typically, this may be a description of how a value is erroneous, or a stack dump to help trace the issue.
688     * </p> 
689         */
690        public String getDiagnostics() {  
691                return getDiagnosticsElement().getValue();
692        }
693
694        /**
695         * Sets the value(s) for <b>diagnostics</b> ()
696         *
697     * <p>
698     * <b>Definition:</b>
699     * Additional diagnostic information about the issue.  Typically, this may be a description of how a value is erroneous, or a stack dump to help trace the issue.
700     * </p> 
701         */
702        public Issue setDiagnostics(StringDt theValue) {
703                myDiagnostics = theValue;
704                return this;
705        }
706        
707        
708
709        /**
710         * Sets the value for <b>diagnostics</b> ()
711         *
712     * <p>
713     * <b>Definition:</b>
714     * Additional diagnostic information about the issue.  Typically, this may be a description of how a value is erroneous, or a stack dump to help trace the issue.
715     * </p> 
716         */
717        public Issue setDiagnostics( String theString) {
718                myDiagnostics = new StringDt(theString); 
719                return this; 
720        }
721
722 
723        /**
724         * Gets the value(s) for <b>location</b> ().
725         * creating it if it does
726         * not exist. Will not return <code>null</code>.
727         *
728     * <p>
729     * <b>Definition:</b>
730     * A simple XPath limited to element names, repetition indicators and the default child access that identifies one of the elements in the resource that caused this issue to be raised.
731     * </p> 
732         */
733        public java.util.List<StringDt> getLocation() {  
734                if (myLocation == null) {
735                        myLocation = new java.util.ArrayList<StringDt>();
736                }
737                return myLocation;
738        }
739
740        /**
741         * Sets the value(s) for <b>location</b> ()
742         *
743     * <p>
744     * <b>Definition:</b>
745     * A simple XPath limited to element names, repetition indicators and the default child access that identifies one of the elements in the resource that caused this issue to be raised.
746     * </p> 
747         */
748        public Issue setLocation(java.util.List<StringDt> theValue) {
749                myLocation = theValue;
750                return this;
751        }
752        
753        
754
755        /**
756         * Adds and returns a new value for <b>location</b> ()
757         *
758     * <p>
759     * <b>Definition:</b>
760     * A simple XPath limited to element names, repetition indicators and the default child access that identifies one of the elements in the resource that caused this issue to be raised.
761     * </p> 
762         */
763        public StringDt addLocation() {
764                StringDt newType = new StringDt();
765                getLocation().add(newType);
766                return newType; 
767        }
768
769        /**
770         * Adds a given new value for <b>location</b> ()
771         *
772         * <p>
773         * <b>Definition:</b>
774         * A simple XPath limited to element names, repetition indicators and the default child access that identifies one of the elements in the resource that caused this issue to be raised.
775         * </p>
776         * @param theValue The location to add (must not be <code>null</code>)
777         */
778        public Issue addLocation(StringDt theValue) {
779                if (theValue == null) {
780                        throw new NullPointerException("theValue must not be null");
781                }
782                getLocation().add(theValue);
783                return this;
784        }
785
786        /**
787         * Gets the first repetition for <b>location</b> (),
788         * creating it if it does not already exist.
789         *
790     * <p>
791     * <b>Definition:</b>
792     * A simple XPath limited to element names, repetition indicators and the default child access that identifies one of the elements in the resource that caused this issue to be raised.
793     * </p> 
794         */
795        public StringDt getLocationFirstRep() {
796                if (getLocation().isEmpty()) {
797                        return addLocation();
798                }
799                return getLocation().get(0); 
800        }
801        /**
802         * Adds a new value for <b>location</b> ()
803         *
804     * <p>
805     * <b>Definition:</b>
806     * A simple XPath limited to element names, repetition indicators and the default child access that identifies one of the elements in the resource that caused this issue to be raised.
807     * </p> 
808     *
809     * @return Returns a reference to this object, to allow for simple chaining.
810         */
811        public Issue addLocation( String theString) {
812                if (myLocation == null) {
813                        myLocation = new java.util.ArrayList<StringDt>();
814                }
815                myLocation.add(new StringDt(theString));
816                return this; 
817        }
818
819 
820
821        /**
822         * @deprecated Use {@link #getDiagnosticsElement()} instead - OperationOutcome.details was renamed to OperationOutcome.diagnostics in DSTU2 and a new OperationOutcome.details codeableconcept element was introduced
823         */
824        @Deprecated
825        @Override
826        public StringDt getDetailsElement() {
827                return getDiagnosticsElement();
828        }
829
830        /**
831         * @deprecated Use {@link #setDetails(String)} instead - OperationOutcome.details was renamed to OperationOutcome.diagnostics in DSTU2 and a new OperationOutcome.details codeableconcept element was introduced
832         */
833        @Deprecated
834        @Override
835        public BaseIssue setDetails(String theString) {
836                setDiagnostics(theString);
837                return this;
838        }
839
840        }
841
842
843
844
845    @Override
846    public String getResourceName() {
847        return "OperationOutcome";
848    }
849    
850    public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() {
851        return ca.uhn.fhir.context.FhirVersionEnum.DSTU2;
852    }
853
854
855}