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