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>Condition</b> Resource
282 * ()
283 *
284 * <p>
285 * <b>Definition:</b>
286 * Use to record detailed information about conditions, problems or diagnoses recognized by a clinician. There are many uses including: recording a diagnosis during an encounter; populating a problem list or a summary statement, such as a discharge summary.
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/Condition">http://hl7.org/fhir/profiles/Condition</a> 
297 * </p>
298 *
299 */
300@ResourceDef(name="Condition", profile="http://hl7.org/fhir/profiles/Condition", id="condition")
301public class Condition extends ca.uhn.fhir.model.dstu2.resource.BaseResource
302    implements  IResource 
303    {
304
305        /**
306         * Search parameter constant for <b>code</b>
307         * <p>
308         * Description: <b>Code for the condition</b><br>
309         * Type: <b>token</b><br>
310         * Path: <b>Condition.code</b><br>
311         * </p>
312         */
313        @SearchParamDefinition(name="code", path="Condition.code", description="Code for the condition", type="token" 
314 )
315        public static final String SP_CODE = "code";
316
317        /**
318         * <b>Fluent Client</b> search parameter constant for <b>code</b>
319         * <p>
320         * Description: <b>Code for the condition</b><br>
321         * Type: <b>token</b><br>
322         * Path: <b>Condition.code</b><br>
323         * </p>
324         */
325        public static final TokenClientParam CODE = new TokenClientParam(SP_CODE);
326
327        /**
328         * Search parameter constant for <b>identifier</b>
329         * <p>
330         * Description: <b>A unique identifier of the condition record</b><br>
331         * Type: <b>token</b><br>
332         * Path: <b>Condition.identifier</b><br>
333         * </p>
334         */
335        @SearchParamDefinition(name="identifier", path="Condition.identifier", description="A unique identifier of the condition record", type="token" 
336 )
337        public static final String SP_IDENTIFIER = "identifier";
338
339        /**
340         * <b>Fluent Client</b> search parameter constant for <b>identifier</b>
341         * <p>
342         * Description: <b>A unique identifier of the condition record</b><br>
343         * Type: <b>token</b><br>
344         * Path: <b>Condition.identifier</b><br>
345         * </p>
346         */
347        public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER);
348
349        /**
350         * Search parameter constant for <b>clinicalstatus</b>
351         * <p>
352         * Description: <b>The clinical status of the condition</b><br>
353         * Type: <b>token</b><br>
354         * Path: <b>Condition.clinicalStatus</b><br>
355         * </p>
356         */
357        @SearchParamDefinition(name="clinicalstatus", path="Condition.clinicalStatus", description="The clinical status of the condition", type="token" 
358 )
359        public static final String SP_CLINICALSTATUS = "clinicalstatus";
360
361        /**
362         * <b>Fluent Client</b> search parameter constant for <b>clinicalstatus</b>
363         * <p>
364         * Description: <b>The clinical status of the condition</b><br>
365         * Type: <b>token</b><br>
366         * Path: <b>Condition.clinicalStatus</b><br>
367         * </p>
368         */
369        public static final TokenClientParam CLINICALSTATUS = new TokenClientParam(SP_CLINICALSTATUS);
370
371        /**
372         * Search parameter constant for <b>severity</b>
373         * <p>
374         * Description: <b>The severity of the condition</b><br>
375         * Type: <b>token</b><br>
376         * Path: <b>Condition.severity</b><br>
377         * </p>
378         */
379        @SearchParamDefinition(name="severity", path="Condition.severity", description="The severity of the condition", type="token" 
380 )
381        public static final String SP_SEVERITY = "severity";
382
383        /**
384         * <b>Fluent Client</b> search parameter constant for <b>severity</b>
385         * <p>
386         * Description: <b>The severity of the condition</b><br>
387         * Type: <b>token</b><br>
388         * Path: <b>Condition.severity</b><br>
389         * </p>
390         */
391        public static final TokenClientParam SEVERITY = new TokenClientParam(SP_SEVERITY);
392
393        /**
394         * Search parameter constant for <b>category</b>
395         * <p>
396         * Description: <b>The category of the condition</b><br>
397         * Type: <b>token</b><br>
398         * Path: <b>Condition.category</b><br>
399         * </p>
400         */
401        @SearchParamDefinition(name="category", path="Condition.category", description="The category of the condition", type="token" 
402 )
403        public static final String SP_CATEGORY = "category";
404
405        /**
406         * <b>Fluent Client</b> search parameter constant for <b>category</b>
407         * <p>
408         * Description: <b>The category of the condition</b><br>
409         * Type: <b>token</b><br>
410         * Path: <b>Condition.category</b><br>
411         * </p>
412         */
413        public static final TokenClientParam CATEGORY = new TokenClientParam(SP_CATEGORY);
414
415        /**
416         * Search parameter constant for <b>onset</b>
417         * <p>
418         * Description: <b>Date related onsets (dateTime and Period)</b><br>
419         * Type: <b>date</b><br>
420         * Path: <b>Condition.onset[x]</b><br>
421         * </p>
422         */
423        @SearchParamDefinition(name="onset", path="Condition.onset[x]", description="Date related onsets (dateTime and Period)", type="date" 
424 )
425        public static final String SP_ONSET = "onset";
426
427        /**
428         * <b>Fluent Client</b> search parameter constant for <b>onset</b>
429         * <p>
430         * Description: <b>Date related onsets (dateTime and Period)</b><br>
431         * Type: <b>date</b><br>
432         * Path: <b>Condition.onset[x]</b><br>
433         * </p>
434         */
435        public static final DateClientParam ONSET = new DateClientParam(SP_ONSET);
436
437        /**
438         * Search parameter constant for <b>onset-info</b>
439         * <p>
440         * Description: <b>Other onsets (boolean, age, range, string)</b><br>
441         * Type: <b>string</b><br>
442         * Path: <b>Condition.onset[x]</b><br>
443         * </p>
444         */
445        @SearchParamDefinition(name="onset-info", path="Condition.onset[x]", description="Other onsets (boolean, age, range, string)", type="string" 
446 )
447        public static final String SP_ONSET_INFO = "onset-info";
448
449        /**
450         * <b>Fluent Client</b> search parameter constant for <b>onset-info</b>
451         * <p>
452         * Description: <b>Other onsets (boolean, age, range, string)</b><br>
453         * Type: <b>string</b><br>
454         * Path: <b>Condition.onset[x]</b><br>
455         * </p>
456         */
457        public static final StringClientParam ONSET_INFO = new StringClientParam(SP_ONSET_INFO);
458
459        /**
460         * Search parameter constant for <b>encounter</b>
461         * <p>
462         * Description: <b></b><br>
463         * Type: <b>reference</b><br>
464         * Path: <b>Condition.encounter</b><br>
465         * </p>
466         */
467        @SearchParamDefinition(name="encounter", path="Condition.encounter", description="", type="reference" 
468, providesMembershipIn={
469 @Compartment(name="Encounter")         }
470 )
471        public static final String SP_ENCOUNTER = "encounter";
472
473        /**
474         * <b>Fluent Client</b> search parameter constant for <b>encounter</b>
475         * <p>
476         * Description: <b></b><br>
477         * Type: <b>reference</b><br>
478         * Path: <b>Condition.encounter</b><br>
479         * </p>
480         */
481        public static final ReferenceClientParam ENCOUNTER = new ReferenceClientParam(SP_ENCOUNTER);
482
483        /**
484         * Search parameter constant for <b>asserter</b>
485         * <p>
486         * Description: <b></b><br>
487         * Type: <b>reference</b><br>
488         * Path: <b>Condition.asserter</b><br>
489         * </p>
490         */
491        @SearchParamDefinition(name="asserter", path="Condition.asserter", description="", type="reference" 
492, providesMembershipIn={
493 @Compartment(name="RelatedPerson")     }
494 )
495        public static final String SP_ASSERTER = "asserter";
496
497        /**
498         * <b>Fluent Client</b> search parameter constant for <b>asserter</b>
499         * <p>
500         * Description: <b></b><br>
501         * Type: <b>reference</b><br>
502         * Path: <b>Condition.asserter</b><br>
503         * </p>
504         */
505        public static final ReferenceClientParam ASSERTER = new ReferenceClientParam(SP_ASSERTER);
506
507        /**
508         * Search parameter constant for <b>date-recorded</b>
509         * <p>
510         * Description: <b>A date, when the Condition statement was documented</b><br>
511         * Type: <b>date</b><br>
512         * Path: <b>Condition.dateRecorded</b><br>
513         * </p>
514         */
515        @SearchParamDefinition(name="date-recorded", path="Condition.dateRecorded", description="A date, when the Condition statement was documented", type="date" 
516 )
517        public static final String SP_DATE_RECORDED = "date-recorded";
518
519        /**
520         * <b>Fluent Client</b> search parameter constant for <b>date-recorded</b>
521         * <p>
522         * Description: <b>A date, when the Condition statement was documented</b><br>
523         * Type: <b>date</b><br>
524         * Path: <b>Condition.dateRecorded</b><br>
525         * </p>
526         */
527        public static final DateClientParam DATE_RECORDED = new DateClientParam(SP_DATE_RECORDED);
528
529        /**
530         * Search parameter constant for <b>evidence</b>
531         * <p>
532         * Description: <b></b><br>
533         * Type: <b>token</b><br>
534         * Path: <b>Condition.evidence.code</b><br>
535         * </p>
536         */
537        @SearchParamDefinition(name="evidence", path="Condition.evidence.code", description="", type="token" 
538 )
539        public static final String SP_EVIDENCE = "evidence";
540
541        /**
542         * <b>Fluent Client</b> search parameter constant for <b>evidence</b>
543         * <p>
544         * Description: <b></b><br>
545         * Type: <b>token</b><br>
546         * Path: <b>Condition.evidence.code</b><br>
547         * </p>
548         */
549        public static final TokenClientParam EVIDENCE = new TokenClientParam(SP_EVIDENCE);
550
551        /**
552         * Search parameter constant for <b>body-site</b>
553         * <p>
554         * Description: <b></b><br>
555         * Type: <b>token</b><br>
556         * Path: <b>Condition.bodySite</b><br>
557         * </p>
558         */
559        @SearchParamDefinition(name="body-site", path="Condition.bodySite", description="", type="token" 
560 )
561        public static final String SP_BODY_SITE = "body-site";
562
563        /**
564         * <b>Fluent Client</b> search parameter constant for <b>body-site</b>
565         * <p>
566         * Description: <b></b><br>
567         * Type: <b>token</b><br>
568         * Path: <b>Condition.bodySite</b><br>
569         * </p>
570         */
571        public static final TokenClientParam BODY_SITE = new TokenClientParam(SP_BODY_SITE);
572
573        /**
574         * Search parameter constant for <b>stage</b>
575         * <p>
576         * Description: <b></b><br>
577         * Type: <b>token</b><br>
578         * Path: <b>Condition.stage.summary</b><br>
579         * </p>
580         */
581        @SearchParamDefinition(name="stage", path="Condition.stage.summary", description="", type="token" 
582 )
583        public static final String SP_STAGE = "stage";
584
585        /**
586         * <b>Fluent Client</b> search parameter constant for <b>stage</b>
587         * <p>
588         * Description: <b></b><br>
589         * Type: <b>token</b><br>
590         * Path: <b>Condition.stage.summary</b><br>
591         * </p>
592         */
593        public static final TokenClientParam STAGE = new TokenClientParam(SP_STAGE);
594
595        /**
596         * Search parameter constant for <b>patient</b>
597         * <p>
598         * Description: <b></b><br>
599         * Type: <b>reference</b><br>
600         * Path: <b>Condition.patient</b><br>
601         * </p>
602         */
603        @SearchParamDefinition(name="patient", path="Condition.patient", description="", type="reference" 
604, providesMembershipIn={
605 @Compartment(name="Patient")   }
606, target={
607 ca.uhn.fhir.model.dstu2.resource.Patient.class         }
608 )
609        public static final String SP_PATIENT = "patient";
610
611        /**
612         * <b>Fluent Client</b> search parameter constant for <b>patient</b>
613         * <p>
614         * Description: <b></b><br>
615         * Type: <b>reference</b><br>
616         * Path: <b>Condition.patient</b><br>
617         * </p>
618         */
619        public static final ReferenceClientParam PATIENT = new ReferenceClientParam(SP_PATIENT);
620
621
622        /**
623         * Constant for fluent queries to be used to add include statements. Specifies
624         * the path value of "<b>Condition:asserter</b>".
625         */
626        public static final Include INCLUDE_ASSERTER = new Include("Condition:asserter");
627
628        /**
629         * Constant for fluent queries to be used to add include statements. Specifies
630         * the path value of "<b>Condition:encounter</b>".
631         */
632        public static final Include INCLUDE_ENCOUNTER = new Include("Condition:encounter");
633
634        /**
635         * Constant for fluent queries to be used to add include statements. Specifies
636         * the path value of "<b>Condition:patient</b>".
637         */
638        public static final Include INCLUDE_PATIENT = new Include("Condition:patient");
639
640
641        @Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false)      
642        @Description(
643                shortDefinition="",
644                formalDefinition="This records identifiers associated with this condition that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation)"
645        )
646        private java.util.List<IdentifierDt> myIdentifier;
647        
648        @Child(name="patient", order=1, min=1, max=1, summary=false, modifier=false, type={
649                ca.uhn.fhir.model.dstu2.resource.Patient.class
650        })
651        @Description(
652                shortDefinition="",
653                formalDefinition="Indicates the patient who the condition record is associated with"
654        )
655        private ResourceReferenceDt myPatient;
656        
657        @Child(name="encounter", order=2, min=0, max=1, summary=false, modifier=false, type={
658                ca.uhn.fhir.model.dstu2.resource.Encounter.class
659        })
660        @Description(
661                shortDefinition="",
662                formalDefinition="Encounter during which the condition was first asserted"
663        )
664        private ResourceReferenceDt myEncounter;
665        
666        @Child(name="asserter", order=3, min=0, max=1, summary=false, modifier=false, type={
667                ca.uhn.fhir.model.dstu2.resource.Practitioner.class, 
668                ca.uhn.fhir.model.dstu2.resource.Patient.class
669        })
670        @Description(
671                shortDefinition="",
672                formalDefinition="Individual who is making the condition statement"
673        )
674        private ResourceReferenceDt myAsserter;
675        
676        @Child(name="dateRecorded", type=DateDt.class, order=4, min=0, max=1, summary=false, modifier=false)    
677        @Description(
678                shortDefinition="",
679                formalDefinition="A date, when  the Condition statement was documented"
680        )
681        private DateDt myDateRecorded;
682        
683        @Child(name="code", type=CodeableConceptDt.class, order=5, min=1, max=1, summary=false, modifier=false) 
684        @Description(
685                shortDefinition="",
686                formalDefinition="Identification of the condition, problem or diagnosis."
687        )
688        private CodeableConceptDt myCode;
689        
690        @Child(name="category", type=CodeableConceptDt.class, order=6, min=0, max=1, summary=false, modifier=false)     
691        @Description(
692                shortDefinition="",
693                formalDefinition="A category assigned to the condition."
694        )
695        @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/valueset-condition-category")
696        private BoundCodeableConceptDt<ConditionCategoryCodesEnum> myCategory;
697        
698        @Child(name="clinicalStatus", type=CodeDt.class, order=7, min=0, max=1, summary=false, modifier=true)   
699        @Description(
700                shortDefinition="",
701                formalDefinition="The clinical status of the condition."
702        )
703        @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/valueset-condition-clinical")
704        private BoundCodeDt<ConditionClinicalStatusCodesEnum> myClinicalStatus;
705        
706        @Child(name="verificationStatus", type=CodeDt.class, order=8, min=1, max=1, summary=false, modifier=true)       
707        @Description(
708                shortDefinition="",
709                formalDefinition="The verification status to support the clinical status of the condition."
710        )
711        @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/condition-ver-status")
712        private BoundCodeDt<ConditionVerificationStatusEnum> myVerificationStatus;
713        
714        @Child(name="severity", type=CodeableConceptDt.class, order=9, min=0, max=1, summary=false, modifier=false)     
715        @Description(
716                shortDefinition="",
717                formalDefinition="A subjective assessment of the severity of the condition as evaluated by the clinician."
718        )
719        @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/valueset-condition-severity")
720        private CodeableConceptDt mySeverity;
721        
722        @Child(name="onset", order=10, min=0, max=1, summary=false, modifier=false, type={
723                DateTimeDt.class, 
724                AgeDt.class, 
725                PeriodDt.class, 
726                RangeDt.class, 
727                StringDt.class
728        })
729        @Description(
730                shortDefinition="",
731                formalDefinition="Estimated or actual date or date-time  the condition began, in the opinion of the clinician"
732        )
733        private IDatatype myOnset;
734        
735        @Child(name="abatement", order=11, min=0, max=1, summary=false, modifier=false, type={
736                DateTimeDt.class, 
737                AgeDt.class, 
738                BooleanDt.class, 
739                PeriodDt.class, 
740                RangeDt.class, 
741                StringDt.class
742        })
743        @Description(
744                shortDefinition="",
745                formalDefinition="The date or estimated date that the condition resolved or went into remission. This is called \"abatement\" because of the many overloaded connotations associated with \"remission\" or \"resolution\" - Conditions are never really resolved, but they can abate."
746        )
747        private IDatatype myAbatement;
748        
749        @Child(name="stage", order=12, min=0, max=1, summary=false, modifier=false)     
750        @Description(
751                shortDefinition="",
752                formalDefinition="Clinical stage or grade of a condition. May include formal severity assessments"
753        )
754        private Stage myStage;
755        
756        @Child(name="evidence", order=13, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false)        
757        @Description(
758                shortDefinition="",
759                formalDefinition="Supporting Evidence / manifestations that are the basis on which this condition is suspected or confirmed"
760        )
761        private java.util.List<Evidence> myEvidence;
762        
763        @Child(name="bodySite", type=CodeableConceptDt.class, order=14, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false)  
764        @Description(
765                shortDefinition="",
766                formalDefinition="The anatomical location where this condition manifests itself"
767        )
768        private java.util.List<CodeableConceptDt> myBodySite;
769        
770        @Child(name="notes", type=StringDt.class, order=15, min=0, max=1, summary=false, modifier=false)        
771        @Description(
772                shortDefinition="",
773                formalDefinition="Additional information about the Condition. This is a general notes/comments entry  for description of the Condition, its diagnosis and prognosis"
774        )
775        private StringDt myNotes;
776        
777
778        @Override
779        public boolean isEmpty() {
780                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  myIdentifier,  myPatient,  myEncounter,  myAsserter,  myDateRecorded,  myCode,  myCategory,  myClinicalStatus,  myVerificationStatus,  mySeverity,  myOnset,  myAbatement,  myStage,  myEvidence,  myBodySite,  myNotes);
781        }
782        
783        @Override
784        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
785                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, myPatient, myEncounter, myAsserter, myDateRecorded, myCode, myCategory, myClinicalStatus, myVerificationStatus, mySeverity, myOnset, myAbatement, myStage, myEvidence, myBodySite, myNotes);
786        }
787
788        /**
789         * Gets the value(s) for <b>identifier</b> ().
790         * creating it if it does
791         * not exist. Will not return <code>null</code>.
792         *
793     * <p>
794     * <b>Definition:</b>
795     * This records identifiers associated with this condition that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation)
796     * </p> 
797         */
798        public java.util.List<IdentifierDt> getIdentifier() {  
799                if (myIdentifier == null) {
800                        myIdentifier = new java.util.ArrayList<IdentifierDt>();
801                }
802                return myIdentifier;
803        }
804
805        /**
806         * Sets the value(s) for <b>identifier</b> ()
807         *
808     * <p>
809     * <b>Definition:</b>
810     * This records identifiers associated with this condition that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation)
811     * </p> 
812         */
813        public Condition setIdentifier(java.util.List<IdentifierDt> theValue) {
814                myIdentifier = theValue;
815                return this;
816        }
817        
818        
819
820        /**
821         * Adds and returns a new value for <b>identifier</b> ()
822         *
823     * <p>
824     * <b>Definition:</b>
825     * This records identifiers associated with this condition that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation)
826     * </p> 
827         */
828        public IdentifierDt addIdentifier() {
829                IdentifierDt newType = new IdentifierDt();
830                getIdentifier().add(newType);
831                return newType; 
832        }
833
834        /**
835         * Adds a given new value for <b>identifier</b> ()
836         *
837         * <p>
838         * <b>Definition:</b>
839         * This records identifiers associated with this condition that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation)
840         * </p>
841         * @param theValue The identifier to add (must not be <code>null</code>)
842         */
843        public Condition addIdentifier(IdentifierDt theValue) {
844                if (theValue == null) {
845                        throw new NullPointerException("theValue must not be null");
846                }
847                getIdentifier().add(theValue);
848                return this;
849        }
850
851        /**
852         * Gets the first repetition for <b>identifier</b> (),
853         * creating it if it does not already exist.
854         *
855     * <p>
856     * <b>Definition:</b>
857     * This records identifiers associated with this condition that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation)
858     * </p> 
859         */
860        public IdentifierDt getIdentifierFirstRep() {
861                if (getIdentifier().isEmpty()) {
862                        return addIdentifier();
863                }
864                return getIdentifier().get(0); 
865        }
866  
867        /**
868         * Gets the value(s) for <b>patient</b> ().
869         * creating it if it does
870         * not exist. Will not return <code>null</code>.
871         *
872     * <p>
873     * <b>Definition:</b>
874     * Indicates the patient who the condition record is associated with
875     * </p> 
876         */
877        public ResourceReferenceDt getPatient() {  
878                if (myPatient == null) {
879                        myPatient = new ResourceReferenceDt();
880                }
881                return myPatient;
882        }
883
884        /**
885         * Sets the value(s) for <b>patient</b> ()
886         *
887     * <p>
888     * <b>Definition:</b>
889     * Indicates the patient who the condition record is associated with
890     * </p> 
891         */
892        public Condition setPatient(ResourceReferenceDt theValue) {
893                myPatient = theValue;
894                return this;
895        }
896        
897        
898
899  
900        /**
901         * Gets the value(s) for <b>encounter</b> ().
902         * creating it if it does
903         * not exist. Will not return <code>null</code>.
904         *
905     * <p>
906     * <b>Definition:</b>
907     * Encounter during which the condition was first asserted
908     * </p> 
909         */
910        public ResourceReferenceDt getEncounter() {  
911                if (myEncounter == null) {
912                        myEncounter = new ResourceReferenceDt();
913                }
914                return myEncounter;
915        }
916
917        /**
918         * Sets the value(s) for <b>encounter</b> ()
919         *
920     * <p>
921     * <b>Definition:</b>
922     * Encounter during which the condition was first asserted
923     * </p> 
924         */
925        public Condition setEncounter(ResourceReferenceDt theValue) {
926                myEncounter = theValue;
927                return this;
928        }
929        
930        
931
932  
933        /**
934         * Gets the value(s) for <b>asserter</b> ().
935         * creating it if it does
936         * not exist. Will not return <code>null</code>.
937         *
938     * <p>
939     * <b>Definition:</b>
940     * Individual who is making the condition statement
941     * </p> 
942         */
943        public ResourceReferenceDt getAsserter() {  
944                if (myAsserter == null) {
945                        myAsserter = new ResourceReferenceDt();
946                }
947                return myAsserter;
948        }
949
950        /**
951         * Sets the value(s) for <b>asserter</b> ()
952         *
953     * <p>
954     * <b>Definition:</b>
955     * Individual who is making the condition statement
956     * </p> 
957         */
958        public Condition setAsserter(ResourceReferenceDt theValue) {
959                myAsserter = theValue;
960                return this;
961        }
962        
963        
964
965  
966        /**
967         * Gets the value(s) for <b>dateRecorded</b> ().
968         * creating it if it does
969         * not exist. Will not return <code>null</code>.
970         *
971     * <p>
972     * <b>Definition:</b>
973     * A date, when  the Condition statement was documented
974     * </p> 
975         */
976        public DateDt getDateRecordedElement() {  
977                if (myDateRecorded == null) {
978                        myDateRecorded = new DateDt();
979                }
980                return myDateRecorded;
981        }
982
983        
984        /**
985         * Gets the value(s) for <b>dateRecorded</b> ().
986         * creating it if it does
987         * not exist. This method may return <code>null</code>.
988         *
989     * <p>
990     * <b>Definition:</b>
991     * A date, when  the Condition statement was documented
992     * </p> 
993         */
994        public Date getDateRecorded() {  
995                return getDateRecordedElement().getValue();
996        }
997
998        /**
999         * Sets the value(s) for <b>dateRecorded</b> ()
1000         *
1001     * <p>
1002     * <b>Definition:</b>
1003     * A date, when  the Condition statement was documented
1004     * </p> 
1005         */
1006        public Condition setDateRecorded(DateDt theValue) {
1007                myDateRecorded = theValue;
1008                return this;
1009        }
1010        
1011        
1012
1013        /**
1014         * Sets the value for <b>dateRecorded</b> ()
1015         *
1016     * <p>
1017     * <b>Definition:</b>
1018     * A date, when  the Condition statement was documented
1019     * </p> 
1020         */
1021        public Condition setDateRecordedWithDayPrecision( Date theDate) {
1022                myDateRecorded = new DateDt(theDate); 
1023                return this; 
1024        }
1025
1026        /**
1027         * Sets the value for <b>dateRecorded</b> ()
1028         *
1029     * <p>
1030     * <b>Definition:</b>
1031     * A date, when  the Condition statement was documented
1032     * </p> 
1033         */
1034        public Condition setDateRecorded( Date theDate,  TemporalPrecisionEnum thePrecision) {
1035                myDateRecorded = new DateDt(theDate, thePrecision); 
1036                return this; 
1037        }
1038
1039 
1040        /**
1041         * Gets the value(s) for <b>code</b> ().
1042         * creating it if it does
1043         * not exist. Will not return <code>null</code>.
1044         *
1045     * <p>
1046     * <b>Definition:</b>
1047     * Identification of the condition, problem or diagnosis.
1048     * </p> 
1049         */
1050        public CodeableConceptDt getCode() {  
1051                if (myCode == null) {
1052                        myCode = new CodeableConceptDt();
1053                }
1054                return myCode;
1055        }
1056
1057        /**
1058         * Sets the value(s) for <b>code</b> ()
1059         *
1060     * <p>
1061     * <b>Definition:</b>
1062     * Identification of the condition, problem or diagnosis.
1063     * </p> 
1064         */
1065        public Condition setCode(CodeableConceptDt theValue) {
1066                myCode = theValue;
1067                return this;
1068        }
1069        
1070        
1071
1072  
1073        /**
1074         * Gets the value(s) for <b>category</b> ().
1075         * creating it if it does
1076         * not exist. Will not return <code>null</code>.
1077         *
1078     * <p>
1079     * <b>Definition:</b>
1080     * A category assigned to the condition.
1081     * </p> 
1082         */
1083        public BoundCodeableConceptDt<ConditionCategoryCodesEnum> getCategory() {  
1084                if (myCategory == null) {
1085                        myCategory = new BoundCodeableConceptDt<ConditionCategoryCodesEnum>(ConditionCategoryCodesEnum.VALUESET_BINDER);
1086                }
1087                return myCategory;
1088        }
1089
1090        /**
1091         * Sets the value(s) for <b>category</b> ()
1092         *
1093     * <p>
1094     * <b>Definition:</b>
1095     * A category assigned to the condition.
1096     * </p> 
1097         */
1098        public Condition setCategory(BoundCodeableConceptDt<ConditionCategoryCodesEnum> theValue) {
1099                myCategory = theValue;
1100                return this;
1101        }
1102        
1103        
1104
1105        /**
1106         * Sets the value(s) for <b>category</b> ()
1107         *
1108     * <p>
1109     * <b>Definition:</b>
1110     * A category assigned to the condition.
1111     * </p> 
1112         */
1113        public Condition setCategory(ConditionCategoryCodesEnum theValue) {
1114                setCategory(new BoundCodeableConceptDt<ConditionCategoryCodesEnum>(ConditionCategoryCodesEnum.VALUESET_BINDER, theValue));
1115                
1116/*
1117                getCategory().setValueAsEnum(theValue);
1118*/
1119                return this;
1120        }
1121
1122  
1123        /**
1124         * Gets the value(s) for <b>clinicalStatus</b> ().
1125         * creating it if it does
1126         * not exist. Will not return <code>null</code>.
1127         *
1128     * <p>
1129     * <b>Definition:</b>
1130     * The clinical status of the condition.
1131     * </p> 
1132         */
1133        public BoundCodeDt<ConditionClinicalStatusCodesEnum> getClinicalStatusElement() {  
1134                if (myClinicalStatus == null) {
1135                        myClinicalStatus = new BoundCodeDt<ConditionClinicalStatusCodesEnum>(ConditionClinicalStatusCodesEnum.VALUESET_BINDER);
1136                }
1137                return myClinicalStatus;
1138        }
1139
1140        
1141        /**
1142         * Gets the value(s) for <b>clinicalStatus</b> ().
1143         * creating it if it does
1144         * not exist. This method may return <code>null</code>.
1145         *
1146     * <p>
1147     * <b>Definition:</b>
1148     * The clinical status of the condition.
1149     * </p> 
1150         */
1151        public String getClinicalStatus() {  
1152                return getClinicalStatusElement().getValue();
1153        }
1154
1155        /**
1156         * Sets the value(s) for <b>clinicalStatus</b> ()
1157         *
1158     * <p>
1159     * <b>Definition:</b>
1160     * The clinical status of the condition.
1161     * </p> 
1162         */
1163        public Condition setClinicalStatus(BoundCodeDt<ConditionClinicalStatusCodesEnum> theValue) {
1164                myClinicalStatus = theValue;
1165                return this;
1166        }
1167        
1168        
1169
1170        /**
1171         * Sets the value(s) for <b>clinicalStatus</b> ()
1172         *
1173     * <p>
1174     * <b>Definition:</b>
1175     * The clinical status of the condition.
1176     * </p> 
1177         */
1178        public Condition setClinicalStatus(ConditionClinicalStatusCodesEnum theValue) {
1179                setClinicalStatus(new BoundCodeDt<ConditionClinicalStatusCodesEnum>(ConditionClinicalStatusCodesEnum.VALUESET_BINDER, theValue));
1180                
1181/*
1182                getClinicalStatusElement().setValueAsEnum(theValue);
1183*/
1184                return this;
1185        }
1186
1187  
1188        /**
1189         * Gets the value(s) for <b>verificationStatus</b> ().
1190         * creating it if it does
1191         * not exist. Will not return <code>null</code>.
1192         *
1193     * <p>
1194     * <b>Definition:</b>
1195     * The verification status to support the clinical status of the condition.
1196     * </p> 
1197         */
1198        public BoundCodeDt<ConditionVerificationStatusEnum> getVerificationStatusElement() {  
1199                if (myVerificationStatus == null) {
1200                        myVerificationStatus = new BoundCodeDt<ConditionVerificationStatusEnum>(ConditionVerificationStatusEnum.VALUESET_BINDER);
1201                }
1202                return myVerificationStatus;
1203        }
1204
1205        
1206        /**
1207         * Gets the value(s) for <b>verificationStatus</b> ().
1208         * creating it if it does
1209         * not exist. This method may return <code>null</code>.
1210         *
1211     * <p>
1212     * <b>Definition:</b>
1213     * The verification status to support the clinical status of the condition.
1214     * </p> 
1215         */
1216        public String getVerificationStatus() {  
1217                return getVerificationStatusElement().getValue();
1218        }
1219
1220        /**
1221         * Sets the value(s) for <b>verificationStatus</b> ()
1222         *
1223     * <p>
1224     * <b>Definition:</b>
1225     * The verification status to support the clinical status of the condition.
1226     * </p> 
1227         */
1228        public Condition setVerificationStatus(BoundCodeDt<ConditionVerificationStatusEnum> theValue) {
1229                myVerificationStatus = theValue;
1230                return this;
1231        }
1232        
1233        
1234
1235        /**
1236         * Sets the value(s) for <b>verificationStatus</b> ()
1237         *
1238     * <p>
1239     * <b>Definition:</b>
1240     * The verification status to support the clinical status of the condition.
1241     * </p> 
1242         */
1243        public Condition setVerificationStatus(ConditionVerificationStatusEnum theValue) {
1244                setVerificationStatus(new BoundCodeDt<ConditionVerificationStatusEnum>(ConditionVerificationStatusEnum.VALUESET_BINDER, theValue));
1245                
1246/*
1247                getVerificationStatusElement().setValueAsEnum(theValue);
1248*/
1249                return this;
1250        }
1251
1252  
1253        /**
1254         * Gets the value(s) for <b>severity</b> ().
1255         * creating it if it does
1256         * not exist. Will not return <code>null</code>.
1257         *
1258     * <p>
1259     * <b>Definition:</b>
1260     * A subjective assessment of the severity of the condition as evaluated by the clinician.
1261     * </p> 
1262         */
1263        public CodeableConceptDt getSeverity() {  
1264                if (mySeverity == null) {
1265                        mySeverity = new CodeableConceptDt();
1266                }
1267                return mySeverity;
1268        }
1269
1270        /**
1271         * Sets the value(s) for <b>severity</b> ()
1272         *
1273     * <p>
1274     * <b>Definition:</b>
1275     * A subjective assessment of the severity of the condition as evaluated by the clinician.
1276     * </p> 
1277         */
1278        public Condition setSeverity(CodeableConceptDt theValue) {
1279                mySeverity = theValue;
1280                return this;
1281        }
1282        
1283        
1284
1285  
1286        /**
1287         * Gets the value(s) for <b>onset[x]</b> ().
1288         * creating it if it does
1289         * not exist. Will not return <code>null</code>.
1290         *
1291     * <p>
1292     * <b>Definition:</b>
1293     * Estimated or actual date or date-time  the condition began, in the opinion of the clinician
1294     * </p> 
1295         */
1296        public IDatatype getOnset() {  
1297                return myOnset;
1298        }
1299
1300        /**
1301         * Sets the value(s) for <b>onset[x]</b> ()
1302         *
1303     * <p>
1304     * <b>Definition:</b>
1305     * Estimated or actual date or date-time  the condition began, in the opinion of the clinician
1306     * </p> 
1307         */
1308        public Condition setOnset(IDatatype theValue) {
1309                myOnset = theValue;
1310                return this;
1311        }
1312        
1313        
1314
1315  
1316        /**
1317         * Gets the value(s) for <b>abatement[x]</b> ().
1318         * creating it if it does
1319         * not exist. Will not return <code>null</code>.
1320         *
1321     * <p>
1322     * <b>Definition:</b>
1323     * The date or estimated date that the condition resolved or went into remission. This is called \&quot;abatement\&quot; because of the many overloaded connotations associated with \&quot;remission\&quot; or \&quot;resolution\&quot; - Conditions are never really resolved, but they can abate.
1324     * </p> 
1325         */
1326        public IDatatype getAbatement() {  
1327                return myAbatement;
1328        }
1329
1330        /**
1331         * Sets the value(s) for <b>abatement[x]</b> ()
1332         *
1333     * <p>
1334     * <b>Definition:</b>
1335     * The date or estimated date that the condition resolved or went into remission. This is called \&quot;abatement\&quot; because of the many overloaded connotations associated with \&quot;remission\&quot; or \&quot;resolution\&quot; - Conditions are never really resolved, but they can abate.
1336     * </p> 
1337         */
1338        public Condition setAbatement(IDatatype theValue) {
1339                myAbatement = theValue;
1340                return this;
1341        }
1342        
1343        
1344
1345  
1346        /**
1347         * Gets the value(s) for <b>stage</b> ().
1348         * creating it if it does
1349         * not exist. Will not return <code>null</code>.
1350         *
1351     * <p>
1352     * <b>Definition:</b>
1353     * Clinical stage or grade of a condition. May include formal severity assessments
1354     * </p> 
1355         */
1356        public Stage getStage() {  
1357                if (myStage == null) {
1358                        myStage = new Stage();
1359                }
1360                return myStage;
1361        }
1362
1363        /**
1364         * Sets the value(s) for <b>stage</b> ()
1365         *
1366     * <p>
1367     * <b>Definition:</b>
1368     * Clinical stage or grade of a condition. May include formal severity assessments
1369     * </p> 
1370         */
1371        public Condition setStage(Stage theValue) {
1372                myStage = theValue;
1373                return this;
1374        }
1375        
1376        
1377
1378  
1379        /**
1380         * Gets the value(s) for <b>evidence</b> ().
1381         * creating it if it does
1382         * not exist. Will not return <code>null</code>.
1383         *
1384     * <p>
1385     * <b>Definition:</b>
1386     * Supporting Evidence / manifestations that are the basis on which this condition is suspected or confirmed
1387     * </p> 
1388         */
1389        public java.util.List<Evidence> getEvidence() {  
1390                if (myEvidence == null) {
1391                        myEvidence = new java.util.ArrayList<Evidence>();
1392                }
1393                return myEvidence;
1394        }
1395
1396        /**
1397         * Sets the value(s) for <b>evidence</b> ()
1398         *
1399     * <p>
1400     * <b>Definition:</b>
1401     * Supporting Evidence / manifestations that are the basis on which this condition is suspected or confirmed
1402     * </p> 
1403         */
1404        public Condition setEvidence(java.util.List<Evidence> theValue) {
1405                myEvidence = theValue;
1406                return this;
1407        }
1408        
1409        
1410
1411        /**
1412         * Adds and returns a new value for <b>evidence</b> ()
1413         *
1414     * <p>
1415     * <b>Definition:</b>
1416     * Supporting Evidence / manifestations that are the basis on which this condition is suspected or confirmed
1417     * </p> 
1418         */
1419        public Evidence addEvidence() {
1420                Evidence newType = new Evidence();
1421                getEvidence().add(newType);
1422                return newType; 
1423        }
1424
1425        /**
1426         * Adds a given new value for <b>evidence</b> ()
1427         *
1428         * <p>
1429         * <b>Definition:</b>
1430         * Supporting Evidence / manifestations that are the basis on which this condition is suspected or confirmed
1431         * </p>
1432         * @param theValue The evidence to add (must not be <code>null</code>)
1433         */
1434        public Condition addEvidence(Evidence theValue) {
1435                if (theValue == null) {
1436                        throw new NullPointerException("theValue must not be null");
1437                }
1438                getEvidence().add(theValue);
1439                return this;
1440        }
1441
1442        /**
1443         * Gets the first repetition for <b>evidence</b> (),
1444         * creating it if it does not already exist.
1445         *
1446     * <p>
1447     * <b>Definition:</b>
1448     * Supporting Evidence / manifestations that are the basis on which this condition is suspected or confirmed
1449     * </p> 
1450         */
1451        public Evidence getEvidenceFirstRep() {
1452                if (getEvidence().isEmpty()) {
1453                        return addEvidence();
1454                }
1455                return getEvidence().get(0); 
1456        }
1457  
1458        /**
1459         * Gets the value(s) for <b>bodySite</b> ().
1460         * creating it if it does
1461         * not exist. Will not return <code>null</code>.
1462         *
1463     * <p>
1464     * <b>Definition:</b>
1465     * The anatomical location where this condition manifests itself
1466     * </p> 
1467         */
1468        public java.util.List<CodeableConceptDt> getBodySite() {  
1469                if (myBodySite == null) {
1470                        myBodySite = new java.util.ArrayList<CodeableConceptDt>();
1471                }
1472                return myBodySite;
1473        }
1474
1475        /**
1476         * Sets the value(s) for <b>bodySite</b> ()
1477         *
1478     * <p>
1479     * <b>Definition:</b>
1480     * The anatomical location where this condition manifests itself
1481     * </p> 
1482         */
1483        public Condition setBodySite(java.util.List<CodeableConceptDt> theValue) {
1484                myBodySite = theValue;
1485                return this;
1486        }
1487        
1488        
1489
1490        /**
1491         * Adds and returns a new value for <b>bodySite</b> ()
1492         *
1493     * <p>
1494     * <b>Definition:</b>
1495     * The anatomical location where this condition manifests itself
1496     * </p> 
1497         */
1498        public CodeableConceptDt addBodySite() {
1499                CodeableConceptDt newType = new CodeableConceptDt();
1500                getBodySite().add(newType);
1501                return newType; 
1502        }
1503
1504        /**
1505         * Adds a given new value for <b>bodySite</b> ()
1506         *
1507         * <p>
1508         * <b>Definition:</b>
1509         * The anatomical location where this condition manifests itself
1510         * </p>
1511         * @param theValue The bodySite to add (must not be <code>null</code>)
1512         */
1513        public Condition addBodySite(CodeableConceptDt theValue) {
1514                if (theValue == null) {
1515                        throw new NullPointerException("theValue must not be null");
1516                }
1517                getBodySite().add(theValue);
1518                return this;
1519        }
1520
1521        /**
1522         * Gets the first repetition for <b>bodySite</b> (),
1523         * creating it if it does not already exist.
1524         *
1525     * <p>
1526     * <b>Definition:</b>
1527     * The anatomical location where this condition manifests itself
1528     * </p> 
1529         */
1530        public CodeableConceptDt getBodySiteFirstRep() {
1531                if (getBodySite().isEmpty()) {
1532                        return addBodySite();
1533                }
1534                return getBodySite().get(0); 
1535        }
1536  
1537        /**
1538         * Gets the value(s) for <b>notes</b> ().
1539         * creating it if it does
1540         * not exist. Will not return <code>null</code>.
1541         *
1542     * <p>
1543     * <b>Definition:</b>
1544     * Additional information about the Condition. This is a general notes/comments entry  for description of the Condition, its diagnosis and prognosis
1545     * </p> 
1546         */
1547        public StringDt getNotesElement() {  
1548                if (myNotes == null) {
1549                        myNotes = new StringDt();
1550                }
1551                return myNotes;
1552        }
1553
1554        
1555        /**
1556         * Gets the value(s) for <b>notes</b> ().
1557         * creating it if it does
1558         * not exist. This method may return <code>null</code>.
1559         *
1560     * <p>
1561     * <b>Definition:</b>
1562     * Additional information about the Condition. This is a general notes/comments entry  for description of the Condition, its diagnosis and prognosis
1563     * </p> 
1564         */
1565        public String getNotes() {  
1566                return getNotesElement().getValue();
1567        }
1568
1569        /**
1570         * Sets the value(s) for <b>notes</b> ()
1571         *
1572     * <p>
1573     * <b>Definition:</b>
1574     * Additional information about the Condition. This is a general notes/comments entry  for description of the Condition, its diagnosis and prognosis
1575     * </p> 
1576         */
1577        public Condition setNotes(StringDt theValue) {
1578                myNotes = theValue;
1579                return this;
1580        }
1581        
1582        
1583
1584        /**
1585         * Sets the value for <b>notes</b> ()
1586         *
1587     * <p>
1588     * <b>Definition:</b>
1589     * Additional information about the Condition. This is a general notes/comments entry  for description of the Condition, its diagnosis and prognosis
1590     * </p> 
1591         */
1592        public Condition setNotes( String theString) {
1593                myNotes = new StringDt(theString); 
1594                return this; 
1595        }
1596
1597 
1598        /**
1599         * Block class for child element: <b>Condition.stage</b> ()
1600         *
1601     * <p>
1602     * <b>Definition:</b>
1603     * Clinical stage or grade of a condition. May include formal severity assessments
1604     * </p> 
1605         */
1606        @Block()        
1607        public static class Stage 
1608            extends  BaseIdentifiableElement  
1609            implements IResourceBlock {
1610        
1611        @Child(name="summary", type=CodeableConceptDt.class, order=0, min=0, max=1, summary=false, modifier=false)      
1612        @Description(
1613                shortDefinition="",
1614                formalDefinition="A simple summary of the stage such as \"Stage 3\". The determination of the stage is disease-specific"
1615        )
1616        private CodeableConceptDt mySummary;
1617        
1618        @Child(name="assessment", order=1, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={
1619                ca.uhn.fhir.model.dstu2.resource.ClinicalImpression.class, 
1620                ca.uhn.fhir.model.dstu2.resource.DiagnosticReport.class, 
1621                ca.uhn.fhir.model.dstu2.resource.Observation.class
1622        })
1623        @Description(
1624                shortDefinition="",
1625                formalDefinition="Reference to a formal record of the evidence on which the staging assessment is based"
1626        )
1627        private java.util.List<ResourceReferenceDt> myAssessment;
1628        
1629
1630        @Override
1631        public boolean isEmpty() {
1632                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  mySummary,  myAssessment);
1633        }
1634        
1635        @Override
1636        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
1637                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, mySummary, myAssessment);
1638        }
1639
1640        /**
1641         * Gets the value(s) for <b>summary</b> ().
1642         * creating it if it does
1643         * not exist. Will not return <code>null</code>.
1644         *
1645     * <p>
1646     * <b>Definition:</b>
1647     * A simple summary of the stage such as \&quot;Stage 3\&quot;. The determination of the stage is disease-specific
1648     * </p> 
1649         */
1650        public CodeableConceptDt getSummary() {  
1651                if (mySummary == null) {
1652                        mySummary = new CodeableConceptDt();
1653                }
1654                return mySummary;
1655        }
1656
1657        /**
1658         * Sets the value(s) for <b>summary</b> ()
1659         *
1660     * <p>
1661     * <b>Definition:</b>
1662     * A simple summary of the stage such as \&quot;Stage 3\&quot;. The determination of the stage is disease-specific
1663     * </p> 
1664         */
1665        public Stage setSummary(CodeableConceptDt theValue) {
1666                mySummary = theValue;
1667                return this;
1668        }
1669        
1670        
1671
1672  
1673        /**
1674         * Gets the value(s) for <b>assessment</b> ().
1675         * creating it if it does
1676         * not exist. Will not return <code>null</code>.
1677         *
1678     * <p>
1679     * <b>Definition:</b>
1680     * Reference to a formal record of the evidence on which the staging assessment is based
1681     * </p> 
1682         */
1683        public java.util.List<ResourceReferenceDt> getAssessment() {  
1684                if (myAssessment == null) {
1685                        myAssessment = new java.util.ArrayList<ResourceReferenceDt>();
1686                }
1687                return myAssessment;
1688        }
1689
1690        /**
1691         * Sets the value(s) for <b>assessment</b> ()
1692         *
1693     * <p>
1694     * <b>Definition:</b>
1695     * Reference to a formal record of the evidence on which the staging assessment is based
1696     * </p> 
1697         */
1698        public Stage setAssessment(java.util.List<ResourceReferenceDt> theValue) {
1699                myAssessment = theValue;
1700                return this;
1701        }
1702        
1703        
1704
1705        /**
1706         * Adds and returns a new value for <b>assessment</b> ()
1707         *
1708     * <p>
1709     * <b>Definition:</b>
1710     * Reference to a formal record of the evidence on which the staging assessment is based
1711     * </p> 
1712         */
1713        public ResourceReferenceDt addAssessment() {
1714                ResourceReferenceDt newType = new ResourceReferenceDt();
1715                getAssessment().add(newType);
1716                return newType; 
1717        }
1718  
1719
1720
1721        }
1722
1723
1724        /**
1725         * Block class for child element: <b>Condition.evidence</b> ()
1726         *
1727     * <p>
1728     * <b>Definition:</b>
1729     * Supporting Evidence / manifestations that are the basis on which this condition is suspected or confirmed
1730     * </p> 
1731         */
1732        @Block()        
1733        public static class Evidence 
1734            extends  BaseIdentifiableElement  
1735            implements IResourceBlock {
1736        
1737        @Child(name="code", type=CodeableConceptDt.class, order=0, min=0, max=1, summary=false, modifier=false) 
1738        @Description(
1739                shortDefinition="",
1740                formalDefinition="A manifestation or symptom that led to the recording of this condition"
1741        )
1742        private CodeableConceptDt myCode;
1743        
1744        @Child(name="detail", order=1, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={
1745                IResource.class
1746        })
1747        @Description(
1748                shortDefinition="",
1749                formalDefinition="Links to other relevant information, including pathology reports"
1750        )
1751        private java.util.List<ResourceReferenceDt> myDetail;
1752        
1753
1754        @Override
1755        public boolean isEmpty() {
1756                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  myCode,  myDetail);
1757        }
1758        
1759        @Override
1760        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
1761                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myCode, myDetail);
1762        }
1763
1764        /**
1765         * Gets the value(s) for <b>code</b> ().
1766         * creating it if it does
1767         * not exist. Will not return <code>null</code>.
1768         *
1769     * <p>
1770     * <b>Definition:</b>
1771     * A manifestation or symptom that led to the recording of this condition
1772     * </p> 
1773         */
1774        public CodeableConceptDt getCode() {  
1775                if (myCode == null) {
1776                        myCode = new CodeableConceptDt();
1777                }
1778                return myCode;
1779        }
1780
1781        /**
1782         * Sets the value(s) for <b>code</b> ()
1783         *
1784     * <p>
1785     * <b>Definition:</b>
1786     * A manifestation or symptom that led to the recording of this condition
1787     * </p> 
1788         */
1789        public Evidence setCode(CodeableConceptDt theValue) {
1790                myCode = theValue;
1791                return this;
1792        }
1793        
1794        
1795
1796  
1797        /**
1798         * Gets the value(s) for <b>detail</b> ().
1799         * creating it if it does
1800         * not exist. Will not return <code>null</code>.
1801         *
1802     * <p>
1803     * <b>Definition:</b>
1804     * Links to other relevant information, including pathology reports
1805     * </p> 
1806         */
1807        public java.util.List<ResourceReferenceDt> getDetail() {  
1808                if (myDetail == null) {
1809                        myDetail = new java.util.ArrayList<ResourceReferenceDt>();
1810                }
1811                return myDetail;
1812        }
1813
1814        /**
1815         * Sets the value(s) for <b>detail</b> ()
1816         *
1817     * <p>
1818     * <b>Definition:</b>
1819     * Links to other relevant information, including pathology reports
1820     * </p> 
1821         */
1822        public Evidence setDetail(java.util.List<ResourceReferenceDt> theValue) {
1823                myDetail = theValue;
1824                return this;
1825        }
1826        
1827        
1828
1829        /**
1830         * Adds and returns a new value for <b>detail</b> ()
1831         *
1832     * <p>
1833     * <b>Definition:</b>
1834     * Links to other relevant information, including pathology reports
1835     * </p> 
1836         */
1837        public ResourceReferenceDt addDetail() {
1838                ResourceReferenceDt newType = new ResourceReferenceDt();
1839                getDetail().add(newType);
1840                return newType; 
1841        }
1842  
1843
1844
1845        }
1846
1847
1848
1849
1850    @Override
1851    public String getResourceName() {
1852        return "Condition";
1853    }
1854    
1855    public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() {
1856        return ca.uhn.fhir.context.FhirVersionEnum.DSTU2;
1857    }
1858
1859
1860}