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>DetectedIssue</b> Resource
282 * ()
283 *
284 * <p>
285 * <b>Definition:</b>
286 * Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, etc.
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/DetectedIssue">http://hl7.org/fhir/profiles/DetectedIssue</a> 
297 * </p>
298 *
299 */
300@ResourceDef(name="DetectedIssue", profile="http://hl7.org/fhir/profiles/DetectedIssue", id="detectedissue")
301public class DetectedIssue extends ca.uhn.fhir.model.dstu2.resource.BaseResource
302    implements  IResource     {
303
304        /**
305         * Search parameter constant for <b>category</b>
306         * <p>
307         * Description: <b></b><br>
308         * Type: <b>token</b><br>
309         * Path: <b>DetectedIssue.category</b><br>
310         * </p>
311         */
312        @SearchParamDefinition(name="category", path="DetectedIssue.category", description="", type="token"  )
313        public static final String SP_CATEGORY = "category";
314
315        /**
316         * <b>Fluent Client</b> search parameter constant for <b>category</b>
317         * <p>
318         * Description: <b></b><br>
319         * Type: <b>token</b><br>
320         * Path: <b>DetectedIssue.category</b><br>
321         * </p>
322         */
323        public static final TokenClientParam CATEGORY = new TokenClientParam(SP_CATEGORY);
324
325        /**
326         * Search parameter constant for <b>date</b>
327         * <p>
328         * Description: <b></b><br>
329         * Type: <b>date</b><br>
330         * Path: <b>DetectedIssue.date</b><br>
331         * </p>
332         */
333        @SearchParamDefinition(name="date", path="DetectedIssue.date", description="", type="date"  )
334        public static final String SP_DATE = "date";
335
336        /**
337         * <b>Fluent Client</b> search parameter constant for <b>date</b>
338         * <p>
339         * Description: <b></b><br>
340         * Type: <b>date</b><br>
341         * Path: <b>DetectedIssue.date</b><br>
342         * </p>
343         */
344        public static final DateClientParam DATE = new DateClientParam(SP_DATE);
345
346        /**
347         * Search parameter constant for <b>identifier</b>
348         * <p>
349         * Description: <b></b><br>
350         * Type: <b>token</b><br>
351         * Path: <b>DetectedIssue.identifier</b><br>
352         * </p>
353         */
354        @SearchParamDefinition(name="identifier", path="DetectedIssue.identifier", description="", type="token"  )
355        public static final String SP_IDENTIFIER = "identifier";
356
357        /**
358         * <b>Fluent Client</b> search parameter constant for <b>identifier</b>
359         * <p>
360         * Description: <b></b><br>
361         * Type: <b>token</b><br>
362         * Path: <b>DetectedIssue.identifier</b><br>
363         * </p>
364         */
365        public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER);
366
367        /**
368         * Search parameter constant for <b>patient</b>
369         * <p>
370         * Description: <b></b><br>
371         * Type: <b>reference</b><br>
372         * Path: <b>DetectedIssue.patient</b><br>
373         * </p>
374         */
375        @SearchParamDefinition(name="patient", path="DetectedIssue.patient", description="", type="reference" , providesMembershipIn={
376 @Compartment(name="Patient")   }
377 )
378        public static final String SP_PATIENT = "patient";
379
380        /**
381         * <b>Fluent Client</b> search parameter constant for <b>patient</b>
382         * <p>
383         * Description: <b></b><br>
384         * Type: <b>reference</b><br>
385         * Path: <b>DetectedIssue.patient</b><br>
386         * </p>
387         */
388        public static final ReferenceClientParam PATIENT = new ReferenceClientParam(SP_PATIENT);
389
390        /**
391         * Search parameter constant for <b>implicated</b>
392         * <p>
393         * Description: <b></b><br>
394         * Type: <b>reference</b><br>
395         * Path: <b>DetectedIssue.implicated</b><br>
396         * </p>
397         */
398        @SearchParamDefinition(name="implicated", path="DetectedIssue.implicated", description="", type="reference"  )
399        public static final String SP_IMPLICATED = "implicated";
400
401        /**
402         * <b>Fluent Client</b> search parameter constant for <b>implicated</b>
403         * <p>
404         * Description: <b></b><br>
405         * Type: <b>reference</b><br>
406         * Path: <b>DetectedIssue.implicated</b><br>
407         * </p>
408         */
409        public static final ReferenceClientParam IMPLICATED = new ReferenceClientParam(SP_IMPLICATED);
410
411        /**
412         * Search parameter constant for <b>author</b>
413         * <p>
414         * Description: <b></b><br>
415         * Type: <b>reference</b><br>
416         * Path: <b>DetectedIssue.author</b><br>
417         * </p>
418         */
419        @SearchParamDefinition(name="author", path="DetectedIssue.author", description="", type="reference" , providesMembershipIn={
420 @Compartment(name="Encounter") ,  @Compartment(name="RelatedPerson")   }
421 )
422        public static final String SP_AUTHOR = "author";
423
424        /**
425         * <b>Fluent Client</b> search parameter constant for <b>author</b>
426         * <p>
427         * Description: <b></b><br>
428         * Type: <b>reference</b><br>
429         * Path: <b>DetectedIssue.author</b><br>
430         * </p>
431         */
432        public static final ReferenceClientParam AUTHOR = new ReferenceClientParam(SP_AUTHOR);
433
434
435        /**
436         * Constant for fluent queries to be used to add include statements. Specifies
437         * the path value of "<b>DetectedIssue:author</b>".
438         */
439        public static final Include INCLUDE_AUTHOR = new Include("DetectedIssue:author");
440
441        /**
442         * Constant for fluent queries to be used to add include statements. Specifies
443         * the path value of "<b>DetectedIssue:implicated</b>".
444         */
445        public static final Include INCLUDE_IMPLICATED = new Include("DetectedIssue:implicated");
446
447        /**
448         * Constant for fluent queries to be used to add include statements. Specifies
449         * the path value of "<b>DetectedIssue:patient</b>".
450         */
451        public static final Include INCLUDE_PATIENT = new Include("DetectedIssue:patient");
452
453
454        @Child(name="patient", order=0, min=0, max=1, summary=true, modifier=false, type={
455                ca.uhn.fhir.model.dstu2.resource.Patient.class  })
456        @Description(
457                shortDefinition="",
458                formalDefinition="Indicates the patient whose record the detected issue is associated with."
459        )
460        private ResourceReferenceDt myPatient;
461        
462        @Child(name="category", type=CodeableConceptDt.class, order=1, min=0, max=1, summary=true, modifier=false)      
463        @Description(
464                shortDefinition="",
465                formalDefinition="Identifies the general type of issue identified."
466        )
467        @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/valueset-detectedissue-category")
468        private CodeableConceptDt myCategory;
469        
470        @Child(name="severity", type=CodeDt.class, order=2, min=0, max=1, summary=true, modifier=false) 
471        @Description(
472                shortDefinition="",
473                formalDefinition="Indicates the degree of importance associated with the identified issue based on the potential impact on the patient"
474        )
475        @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/detectedissue-severity")
476        private BoundCodeDt<DetectedIssueSeverityEnum> mySeverity;
477        
478        @Child(name="implicated", order=3, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false, type={
479                IResource.class })
480        @Description(
481                shortDefinition="",
482                formalDefinition="Indicates the resource representing the current activity or proposed activity that is potentially problematic"
483        )
484        private java.util.List<ResourceReferenceDt> myImplicated;
485        
486        @Child(name="detail", type=StringDt.class, order=4, min=0, max=1, summary=false, modifier=false)        
487        @Description(
488                shortDefinition="",
489                formalDefinition="A textual explanation of the detected issue"
490        )
491        private StringDt myDetail;
492        
493        @Child(name="date", type=DateTimeDt.class, order=5, min=0, max=1, summary=true, modifier=false) 
494        @Description(
495                shortDefinition="",
496                formalDefinition="The date or date-time when the detected issue was initially identified."
497        )
498        private DateTimeDt myDate;
499        
500        @Child(name="author", order=6, min=0, max=1, summary=true, modifier=false, type={
501                ca.uhn.fhir.model.dstu2.resource.Practitioner.class,            ca.uhn.fhir.model.dstu2.resource.Device.class   })
502        @Description(
503                shortDefinition="",
504                formalDefinition="Individual or device responsible for the issue being raised.  For example, a decision support application or a pharmacist conducting a medication review"
505        )
506        private ResourceReferenceDt myAuthor;
507        
508        @Child(name="identifier", type=IdentifierDt.class, order=7, min=0, max=1, summary=true, modifier=false) 
509        @Description(
510                shortDefinition="",
511                formalDefinition="Business identifier associated with the detected issue record"
512        )
513        private IdentifierDt myIdentifier;
514        
515        @Child(name="reference", type=UriDt.class, order=8, min=0, max=1, summary=false, modifier=false)        
516        @Description(
517                shortDefinition="",
518                formalDefinition="The literature, knowledge-base or similar reference that describes the propensity for the detected issue identified"
519        )
520        private UriDt myReference;
521        
522        @Child(name="mitigation", order=9, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false)       
523        @Description(
524                shortDefinition="",
525                formalDefinition="Indicates an action that has been taken or is committed to to reduce or eliminate the likelihood of the risk identified by the detected issue from manifesting.  Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action."
526        )
527        private java.util.List<Mitigation> myMitigation;
528        
529
530        @Override
531        public boolean isEmpty() {
532                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  myPatient,  myCategory,  mySeverity,  myImplicated,  myDetail,  myDate,  myAuthor,  myIdentifier,  myReference,  myMitigation);
533        }
534        
535        @Override
536        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
537                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myPatient, myCategory, mySeverity, myImplicated, myDetail, myDate, myAuthor, myIdentifier, myReference, myMitigation);
538        }
539
540        /**
541         * Gets the value(s) for <b>patient</b> ().
542         * creating it if it does
543         * not exist. Will not return <code>null</code>.
544         *
545     * <p>
546     * <b>Definition:</b>
547     * Indicates the patient whose record the detected issue is associated with.
548     * </p> 
549         */
550        public ResourceReferenceDt getPatient() {  
551                if (myPatient == null) {
552                        myPatient = new ResourceReferenceDt();
553                }
554                return myPatient;
555        }
556
557        /**
558         * Sets the value(s) for <b>patient</b> ()
559         *
560     * <p>
561     * <b>Definition:</b>
562     * Indicates the patient whose record the detected issue is associated with.
563     * </p> 
564         */
565        public DetectedIssue setPatient(ResourceReferenceDt theValue) {
566                myPatient = theValue;
567                return this;
568        }
569        
570        
571
572  
573        /**
574         * Gets the value(s) for <b>category</b> ().
575         * creating it if it does
576         * not exist. Will not return <code>null</code>.
577         *
578     * <p>
579     * <b>Definition:</b>
580     * Identifies the general type of issue identified.
581     * </p> 
582         */
583        public CodeableConceptDt getCategory() {  
584                if (myCategory == null) {
585                        myCategory = new CodeableConceptDt();
586                }
587                return myCategory;
588        }
589
590        /**
591         * Sets the value(s) for <b>category</b> ()
592         *
593     * <p>
594     * <b>Definition:</b>
595     * Identifies the general type of issue identified.
596     * </p> 
597         */
598        public DetectedIssue setCategory(CodeableConceptDt theValue) {
599                myCategory = theValue;
600                return this;
601        }
602        
603        
604
605  
606        /**
607         * Gets the value(s) for <b>severity</b> ().
608         * creating it if it does
609         * not exist. Will not return <code>null</code>.
610         *
611     * <p>
612     * <b>Definition:</b>
613     * Indicates the degree of importance associated with the identified issue based on the potential impact on the patient
614     * </p> 
615         */
616        public BoundCodeDt<DetectedIssueSeverityEnum> getSeverityElement() {  
617                if (mySeverity == null) {
618                        mySeverity = new BoundCodeDt<DetectedIssueSeverityEnum>(DetectedIssueSeverityEnum.VALUESET_BINDER);
619                }
620                return mySeverity;
621        }
622
623        
624        /**
625         * Gets the value(s) for <b>severity</b> ().
626         * creating it if it does
627         * not exist. This method may return <code>null</code>.
628         *
629     * <p>
630     * <b>Definition:</b>
631     * Indicates the degree of importance associated with the identified issue based on the potential impact on the patient
632     * </p> 
633         */
634        public String getSeverity() {  
635                return getSeverityElement().getValue();
636        }
637
638        /**
639         * Sets the value(s) for <b>severity</b> ()
640         *
641     * <p>
642     * <b>Definition:</b>
643     * Indicates the degree of importance associated with the identified issue based on the potential impact on the patient
644     * </p> 
645         */
646        public DetectedIssue setSeverity(BoundCodeDt<DetectedIssueSeverityEnum> theValue) {
647                mySeverity = theValue;
648                return this;
649        }
650        
651        
652
653        /**
654         * Sets the value(s) for <b>severity</b> ()
655         *
656     * <p>
657     * <b>Definition:</b>
658     * Indicates the degree of importance associated with the identified issue based on the potential impact on the patient
659     * </p> 
660         */
661        public DetectedIssue setSeverity(DetectedIssueSeverityEnum theValue) {
662                setSeverity(new BoundCodeDt<DetectedIssueSeverityEnum>(DetectedIssueSeverityEnum.VALUESET_BINDER, theValue));
663                
664/*
665                getSeverityElement().setValueAsEnum(theValue);
666*/
667                return this;
668        }
669
670  
671        /**
672         * Gets the value(s) for <b>implicated</b> ().
673         * creating it if it does
674         * not exist. Will not return <code>null</code>.
675         *
676     * <p>
677     * <b>Definition:</b>
678     * Indicates the resource representing the current activity or proposed activity that is potentially problematic
679     * </p> 
680         */
681        public java.util.List<ResourceReferenceDt> getImplicated() {  
682                if (myImplicated == null) {
683                        myImplicated = new java.util.ArrayList<ResourceReferenceDt>();
684                }
685                return myImplicated;
686        }
687
688        /**
689         * Sets the value(s) for <b>implicated</b> ()
690         *
691     * <p>
692     * <b>Definition:</b>
693     * Indicates the resource representing the current activity or proposed activity that is potentially problematic
694     * </p> 
695         */
696        public DetectedIssue setImplicated(java.util.List<ResourceReferenceDt> theValue) {
697                myImplicated = theValue;
698                return this;
699        }
700        
701        
702
703        /**
704         * Adds and returns a new value for <b>implicated</b> ()
705         *
706     * <p>
707     * <b>Definition:</b>
708     * Indicates the resource representing the current activity or proposed activity that is potentially problematic
709     * </p> 
710         */
711        public ResourceReferenceDt addImplicated() {
712                ResourceReferenceDt newType = new ResourceReferenceDt();
713                getImplicated().add(newType);
714                return newType; 
715        }
716  
717        /**
718         * Gets the value(s) for <b>detail</b> ().
719         * creating it if it does
720         * not exist. Will not return <code>null</code>.
721         *
722     * <p>
723     * <b>Definition:</b>
724     * A textual explanation of the detected issue
725     * </p> 
726         */
727        public StringDt getDetailElement() {  
728                if (myDetail == null) {
729                        myDetail = new StringDt();
730                }
731                return myDetail;
732        }
733
734        
735        /**
736         * Gets the value(s) for <b>detail</b> ().
737         * creating it if it does
738         * not exist. This method may return <code>null</code>.
739         *
740     * <p>
741     * <b>Definition:</b>
742     * A textual explanation of the detected issue
743     * </p> 
744         */
745        public String getDetail() {  
746                return getDetailElement().getValue();
747        }
748
749        /**
750         * Sets the value(s) for <b>detail</b> ()
751         *
752     * <p>
753     * <b>Definition:</b>
754     * A textual explanation of the detected issue
755     * </p> 
756         */
757        public DetectedIssue setDetail(StringDt theValue) {
758                myDetail = theValue;
759                return this;
760        }
761        
762        
763
764        /**
765         * Sets the value for <b>detail</b> ()
766         *
767     * <p>
768     * <b>Definition:</b>
769     * A textual explanation of the detected issue
770     * </p> 
771         */
772        public DetectedIssue setDetail( String theString) {
773                myDetail = new StringDt(theString); 
774                return this; 
775        }
776
777 
778        /**
779         * Gets the value(s) for <b>date</b> ().
780         * creating it if it does
781         * not exist. Will not return <code>null</code>.
782         *
783     * <p>
784     * <b>Definition:</b>
785     * The date or date-time when the detected issue was initially identified.
786     * </p> 
787         */
788        public DateTimeDt getDateElement() {  
789                if (myDate == null) {
790                        myDate = new DateTimeDt();
791                }
792                return myDate;
793        }
794
795        
796        /**
797         * Gets the value(s) for <b>date</b> ().
798         * creating it if it does
799         * not exist. This method may return <code>null</code>.
800         *
801     * <p>
802     * <b>Definition:</b>
803     * The date or date-time when the detected issue was initially identified.
804     * </p> 
805         */
806        public Date getDate() {  
807                return getDateElement().getValue();
808        }
809
810        /**
811         * Sets the value(s) for <b>date</b> ()
812         *
813     * <p>
814     * <b>Definition:</b>
815     * The date or date-time when the detected issue was initially identified.
816     * </p> 
817         */
818        public DetectedIssue setDate(DateTimeDt theValue) {
819                myDate = theValue;
820                return this;
821        }
822        
823        
824
825        /**
826         * Sets the value for <b>date</b> ()
827         *
828     * <p>
829     * <b>Definition:</b>
830     * The date or date-time when the detected issue was initially identified.
831     * </p> 
832         */
833        public DetectedIssue setDate( Date theDate,  TemporalPrecisionEnum thePrecision) {
834                myDate = new DateTimeDt(theDate, thePrecision); 
835                return this; 
836        }
837
838        /**
839         * Sets the value for <b>date</b> ()
840         *
841     * <p>
842     * <b>Definition:</b>
843     * The date or date-time when the detected issue was initially identified.
844     * </p> 
845         */
846        public DetectedIssue setDateWithSecondsPrecision( Date theDate) {
847                myDate = new DateTimeDt(theDate); 
848                return this; 
849        }
850
851 
852        /**
853         * Gets the value(s) for <b>author</b> ().
854         * creating it if it does
855         * not exist. Will not return <code>null</code>.
856         *
857     * <p>
858     * <b>Definition:</b>
859     * Individual or device responsible for the issue being raised.  For example, a decision support application or a pharmacist conducting a medication review
860     * </p> 
861         */
862        public ResourceReferenceDt getAuthor() {  
863                if (myAuthor == null) {
864                        myAuthor = new ResourceReferenceDt();
865                }
866                return myAuthor;
867        }
868
869        /**
870         * Sets the value(s) for <b>author</b> ()
871         *
872     * <p>
873     * <b>Definition:</b>
874     * Individual or device responsible for the issue being raised.  For example, a decision support application or a pharmacist conducting a medication review
875     * </p> 
876         */
877        public DetectedIssue setAuthor(ResourceReferenceDt theValue) {
878                myAuthor = theValue;
879                return this;
880        }
881        
882        
883
884  
885        /**
886         * Gets the value(s) for <b>identifier</b> ().
887         * creating it if it does
888         * not exist. Will not return <code>null</code>.
889         *
890     * <p>
891     * <b>Definition:</b>
892     * Business identifier associated with the detected issue record
893     * </p> 
894         */
895        public IdentifierDt getIdentifier() {  
896                if (myIdentifier == null) {
897                        myIdentifier = new IdentifierDt();
898                }
899                return myIdentifier;
900        }
901
902        /**
903         * Sets the value(s) for <b>identifier</b> ()
904         *
905     * <p>
906     * <b>Definition:</b>
907     * Business identifier associated with the detected issue record
908     * </p> 
909         */
910        public DetectedIssue setIdentifier(IdentifierDt theValue) {
911                myIdentifier = theValue;
912                return this;
913        }
914        
915        
916
917  
918        /**
919         * Gets the value(s) for <b>reference</b> ().
920         * creating it if it does
921         * not exist. Will not return <code>null</code>.
922         *
923     * <p>
924     * <b>Definition:</b>
925     * The literature, knowledge-base or similar reference that describes the propensity for the detected issue identified
926     * </p> 
927         */
928        public UriDt getReferenceElement() {  
929                if (myReference == null) {
930                        myReference = new UriDt();
931                }
932                return myReference;
933        }
934
935        
936        /**
937         * Gets the value(s) for <b>reference</b> ().
938         * creating it if it does
939         * not exist. This method may return <code>null</code>.
940         *
941     * <p>
942     * <b>Definition:</b>
943     * The literature, knowledge-base or similar reference that describes the propensity for the detected issue identified
944     * </p> 
945         */
946        public String getReference() {  
947                return getReferenceElement().getValue();
948        }
949
950        /**
951         * Sets the value(s) for <b>reference</b> ()
952         *
953     * <p>
954     * <b>Definition:</b>
955     * The literature, knowledge-base or similar reference that describes the propensity for the detected issue identified
956     * </p> 
957         */
958        public DetectedIssue setReference(UriDt theValue) {
959                myReference = theValue;
960                return this;
961        }
962        
963        
964
965        /**
966         * Sets the value for <b>reference</b> ()
967         *
968     * <p>
969     * <b>Definition:</b>
970     * The literature, knowledge-base or similar reference that describes the propensity for the detected issue identified
971     * </p> 
972         */
973        public DetectedIssue setReference( String theUri) {
974                myReference = new UriDt(theUri); 
975                return this; 
976        }
977
978 
979        /**
980         * Gets the value(s) for <b>mitigation</b> ().
981         * creating it if it does
982         * not exist. Will not return <code>null</code>.
983         *
984     * <p>
985     * <b>Definition:</b>
986     * Indicates an action that has been taken or is committed to to reduce or eliminate the likelihood of the risk identified by the detected issue from manifesting.  Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action.
987     * </p> 
988         */
989        public java.util.List<Mitigation> getMitigation() {  
990                if (myMitigation == null) {
991                        myMitigation = new java.util.ArrayList<Mitigation>();
992                }
993                return myMitigation;
994        }
995
996        /**
997         * Sets the value(s) for <b>mitigation</b> ()
998         *
999     * <p>
1000     * <b>Definition:</b>
1001     * Indicates an action that has been taken or is committed to to reduce or eliminate the likelihood of the risk identified by the detected issue from manifesting.  Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action.
1002     * </p> 
1003         */
1004        public DetectedIssue setMitigation(java.util.List<Mitigation> theValue) {
1005                myMitigation = theValue;
1006                return this;
1007        }
1008        
1009        
1010
1011        /**
1012         * Adds and returns a new value for <b>mitigation</b> ()
1013         *
1014     * <p>
1015     * <b>Definition:</b>
1016     * Indicates an action that has been taken or is committed to to reduce or eliminate the likelihood of the risk identified by the detected issue from manifesting.  Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action.
1017     * </p> 
1018         */
1019        public Mitigation addMitigation() {
1020                Mitigation newType = new Mitigation();
1021                getMitigation().add(newType);
1022                return newType; 
1023        }
1024
1025        /**
1026         * Adds a given new value for <b>mitigation</b> ()
1027         *
1028         * <p>
1029         * <b>Definition:</b>
1030         * Indicates an action that has been taken or is committed to to reduce or eliminate the likelihood of the risk identified by the detected issue from manifesting.  Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action.
1031         * </p>
1032         * @param theValue The mitigation to add (must not be <code>null</code>)
1033         */
1034        public DetectedIssue addMitigation(Mitigation theValue) {
1035                if (theValue == null) {
1036                        throw new NullPointerException("theValue must not be null");
1037                }
1038                getMitigation().add(theValue);
1039                return this;
1040        }
1041
1042        /**
1043         * Gets the first repetition for <b>mitigation</b> (),
1044         * creating it if it does not already exist.
1045         *
1046     * <p>
1047     * <b>Definition:</b>
1048     * Indicates an action that has been taken or is committed to to reduce or eliminate the likelihood of the risk identified by the detected issue from manifesting.  Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action.
1049     * </p> 
1050         */
1051        public Mitigation getMitigationFirstRep() {
1052                if (getMitigation().isEmpty()) {
1053                        return addMitigation();
1054                }
1055                return getMitigation().get(0); 
1056        }
1057  
1058        /**
1059         * Block class for child element: <b>DetectedIssue.mitigation</b> ()
1060         *
1061     * <p>
1062     * <b>Definition:</b>
1063     * Indicates an action that has been taken or is committed to to reduce or eliminate the likelihood of the risk identified by the detected issue from manifesting.  Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action.
1064     * </p> 
1065         */
1066        @Block()        
1067        public static class Mitigation 
1068            extends  BaseIdentifiableElement        implements IResourceBlock {
1069        
1070        @Child(name="action", type=CodeableConceptDt.class, order=0, min=1, max=1, summary=false, modifier=false)       
1071        @Description(
1072                shortDefinition="",
1073                formalDefinition="Describes the action that was taken or the observation that was made that reduces/eliminates the risk associated with the identified issue"
1074        )
1075        @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/valueset-detectedissue-mitigation-action")
1076        private CodeableConceptDt myAction;
1077        
1078        @Child(name="date", type=DateTimeDt.class, order=1, min=0, max=1, summary=false, modifier=false)        
1079        @Description(
1080                shortDefinition="",
1081                formalDefinition="Indicates when the mitigating action was documented"
1082        )
1083        private DateTimeDt myDate;
1084        
1085        @Child(name="author", order=2, min=0, max=1, summary=false, modifier=false, type={
1086                ca.uhn.fhir.model.dstu2.resource.Practitioner.class     })
1087        @Description(
1088                shortDefinition="",
1089                formalDefinition="Identifies the practitioner who determined the mitigation and takes responsibility for the mitigation step occurring"
1090        )
1091        private ResourceReferenceDt myAuthor;
1092        
1093
1094        @Override
1095        public boolean isEmpty() {
1096                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  myAction,  myDate,  myAuthor);
1097        }
1098        
1099        @Override
1100        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
1101                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myAction, myDate, myAuthor);
1102        }
1103
1104        /**
1105         * Gets the value(s) for <b>action</b> ().
1106         * creating it if it does
1107         * not exist. Will not return <code>null</code>.
1108         *
1109     * <p>
1110     * <b>Definition:</b>
1111     * Describes the action that was taken or the observation that was made that reduces/eliminates the risk associated with the identified issue
1112     * </p> 
1113         */
1114        public CodeableConceptDt getAction() {  
1115                if (myAction == null) {
1116                        myAction = new CodeableConceptDt();
1117                }
1118                return myAction;
1119        }
1120
1121        /**
1122         * Sets the value(s) for <b>action</b> ()
1123         *
1124     * <p>
1125     * <b>Definition:</b>
1126     * Describes the action that was taken or the observation that was made that reduces/eliminates the risk associated with the identified issue
1127     * </p> 
1128         */
1129        public Mitigation setAction(CodeableConceptDt theValue) {
1130                myAction = theValue;
1131                return this;
1132        }
1133        
1134        
1135
1136  
1137        /**
1138         * Gets the value(s) for <b>date</b> ().
1139         * creating it if it does
1140         * not exist. Will not return <code>null</code>.
1141         *
1142     * <p>
1143     * <b>Definition:</b>
1144     * Indicates when the mitigating action was documented
1145     * </p> 
1146         */
1147        public DateTimeDt getDateElement() {  
1148                if (myDate == null) {
1149                        myDate = new DateTimeDt();
1150                }
1151                return myDate;
1152        }
1153
1154        
1155        /**
1156         * Gets the value(s) for <b>date</b> ().
1157         * creating it if it does
1158         * not exist. This method may return <code>null</code>.
1159         *
1160     * <p>
1161     * <b>Definition:</b>
1162     * Indicates when the mitigating action was documented
1163     * </p> 
1164         */
1165        public Date getDate() {  
1166                return getDateElement().getValue();
1167        }
1168
1169        /**
1170         * Sets the value(s) for <b>date</b> ()
1171         *
1172     * <p>
1173     * <b>Definition:</b>
1174     * Indicates when the mitigating action was documented
1175     * </p> 
1176         */
1177        public Mitigation setDate(DateTimeDt theValue) {
1178                myDate = theValue;
1179                return this;
1180        }
1181        
1182        
1183
1184        /**
1185         * Sets the value for <b>date</b> ()
1186         *
1187     * <p>
1188     * <b>Definition:</b>
1189     * Indicates when the mitigating action was documented
1190     * </p> 
1191         */
1192        public Mitigation setDate( Date theDate,  TemporalPrecisionEnum thePrecision) {
1193                myDate = new DateTimeDt(theDate, thePrecision); 
1194                return this; 
1195        }
1196
1197        /**
1198         * Sets the value for <b>date</b> ()
1199         *
1200     * <p>
1201     * <b>Definition:</b>
1202     * Indicates when the mitigating action was documented
1203     * </p> 
1204         */
1205        public Mitigation setDateWithSecondsPrecision( Date theDate) {
1206                myDate = new DateTimeDt(theDate); 
1207                return this; 
1208        }
1209
1210 
1211        /**
1212         * Gets the value(s) for <b>author</b> ().
1213         * creating it if it does
1214         * not exist. Will not return <code>null</code>.
1215         *
1216     * <p>
1217     * <b>Definition:</b>
1218     * Identifies the practitioner who determined the mitigation and takes responsibility for the mitigation step occurring
1219     * </p> 
1220         */
1221        public ResourceReferenceDt getAuthor() {  
1222                if (myAuthor == null) {
1223                        myAuthor = new ResourceReferenceDt();
1224                }
1225                return myAuthor;
1226        }
1227
1228        /**
1229         * Sets the value(s) for <b>author</b> ()
1230         *
1231     * <p>
1232     * <b>Definition:</b>
1233     * Identifies the practitioner who determined the mitigation and takes responsibility for the mitigation step occurring
1234     * </p> 
1235         */
1236        public Mitigation setAuthor(ResourceReferenceDt theValue) {
1237                myAuthor = theValue;
1238                return this;
1239        }
1240        
1241        
1242
1243  
1244
1245
1246        }
1247
1248
1249
1250
1251    @Override
1252    public String getResourceName() {
1253        return "DetectedIssue";
1254    }
1255    
1256    public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() {
1257        return ca.uhn.fhir.context.FhirVersionEnum.DSTU2;
1258    }
1259
1260
1261}