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