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>Procedure</b> Resource 282 * (clinical.general) 283 * 284 * <p> 285 * <b>Definition:</b> 286 * An action that is or was performed on a patient. This can be a physical intervention like an operation, or less invasive like counseling or hypnotherapy. 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/Procedure">http://hl7.org/fhir/profiles/Procedure</a> 297 * </p> 298 * 299 */ 300@ResourceDef(name="Procedure", profile="http://hl7.org/fhir/profiles/Procedure", id="procedure") 301public class Procedure 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>A code to identify a procedure</b><br> 309 * Type: <b>token</b><br> 310 * Path: <b>Procedure.code</b><br> 311 * </p> 312 */ 313 @SearchParamDefinition(name="code", path="Procedure.code", description="A code to identify a procedure", 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>A code to identify a procedure</b><br> 321 * Type: <b>token</b><br> 322 * Path: <b>Procedure.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 for a procedure</b><br> 331 * Type: <b>token</b><br> 332 * Path: <b>Procedure.identifier</b><br> 333 * </p> 334 */ 335 @SearchParamDefinition(name="identifier", path="Procedure.identifier", description="A unique identifier for a procedure", 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 for a procedure</b><br> 343 * Type: <b>token</b><br> 344 * Path: <b>Procedure.identifier</b><br> 345 * </p> 346 */ 347 public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER); 348 349 /** 350 * Search parameter constant for <b>date</b> 351 * <p> 352 * Description: <b></b><br> 353 * Type: <b>date</b><br> 354 * Path: <b>Procedure.performed[x]</b><br> 355 * </p> 356 */ 357 @SearchParamDefinition(name="date", path="Procedure.performed[x]", description="", type="date" 358 ) 359 public static final String SP_DATE = "date"; 360 361 /** 362 * <b>Fluent Client</b> search parameter constant for <b>date</b> 363 * <p> 364 * Description: <b></b><br> 365 * Type: <b>date</b><br> 366 * Path: <b>Procedure.performed[x]</b><br> 367 * </p> 368 */ 369 public static final DateClientParam DATE = new DateClientParam(SP_DATE); 370 371 /** 372 * Search parameter constant for <b>performer</b> 373 * <p> 374 * Description: <b></b><br> 375 * Type: <b>reference</b><br> 376 * Path: <b>Procedure.performer.actor</b><br> 377 * </p> 378 */ 379 @SearchParamDefinition(name="performer", path="Procedure.performer.actor", description="", type="reference" 380, providesMembershipIn={ 381 @Compartment(name="Patient") , @Compartment(name="RelatedPerson") , @Compartment(name="Practitioner") } 382 ) 383 public static final String SP_PERFORMER = "performer"; 384 385 /** 386 * <b>Fluent Client</b> search parameter constant for <b>performer</b> 387 * <p> 388 * Description: <b></b><br> 389 * Type: <b>reference</b><br> 390 * Path: <b>Procedure.performer.actor</b><br> 391 * </p> 392 */ 393 public static final ReferenceClientParam PERFORMER = new ReferenceClientParam(SP_PERFORMER); 394 395 /** 396 * Search parameter constant for <b>location</b> 397 * <p> 398 * Description: <b></b><br> 399 * Type: <b>reference</b><br> 400 * Path: <b>Procedure.location</b><br> 401 * </p> 402 */ 403 @SearchParamDefinition(name="location", path="Procedure.location", description="", type="reference" 404 ) 405 public static final String SP_LOCATION = "location"; 406 407 /** 408 * <b>Fluent Client</b> search parameter constant for <b>location</b> 409 * <p> 410 * Description: <b></b><br> 411 * Type: <b>reference</b><br> 412 * Path: <b>Procedure.location</b><br> 413 * </p> 414 */ 415 public static final ReferenceClientParam LOCATION = new ReferenceClientParam(SP_LOCATION); 416 417 /** 418 * Search parameter constant for <b>encounter</b> 419 * <p> 420 * Description: <b></b><br> 421 * Type: <b>reference</b><br> 422 * Path: <b>Procedure.encounter</b><br> 423 * </p> 424 */ 425 @SearchParamDefinition(name="encounter", path="Procedure.encounter", description="", type="reference" 426, providesMembershipIn={ 427 @Compartment(name="Encounter") } 428 ) 429 public static final String SP_ENCOUNTER = "encounter"; 430 431 /** 432 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 433 * <p> 434 * Description: <b></b><br> 435 * Type: <b>reference</b><br> 436 * Path: <b>Procedure.encounter</b><br> 437 * </p> 438 */ 439 public static final ReferenceClientParam ENCOUNTER = new ReferenceClientParam(SP_ENCOUNTER); 440 441 /** 442 * Search parameter constant for <b>subject</b> 443 * <p> 444 * Description: <b>Search by subject</b><br> 445 * Type: <b>reference</b><br> 446 * Path: <b>Procedure.subject</b><br> 447 * </p> 448 */ 449 @SearchParamDefinition(name="subject", path="Procedure.subject", description="Search by subject", type="reference" 450 ) 451 public static final String SP_SUBJECT = "subject"; 452 453 /** 454 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 455 * <p> 456 * Description: <b>Search by subject</b><br> 457 * Type: <b>reference</b><br> 458 * Path: <b>Procedure.subject</b><br> 459 * </p> 460 */ 461 public static final ReferenceClientParam SUBJECT = new ReferenceClientParam(SP_SUBJECT); 462 463 /** 464 * Search parameter constant for <b>patient</b> 465 * <p> 466 * Description: <b>Search by subject - a patient</b><br> 467 * Type: <b>reference</b><br> 468 * Path: <b>Procedure.subject</b><br> 469 * </p> 470 */ 471 @SearchParamDefinition(name="patient", path="Procedure.subject", description="Search by subject - a patient", type="reference" 472, providesMembershipIn={ 473 @Compartment(name="Patient") } 474, target={ 475 ca.uhn.fhir.model.dstu2.resource.Patient.class } 476 ) 477 public static final String SP_PATIENT = "patient"; 478 479 /** 480 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 481 * <p> 482 * Description: <b>Search by subject - a patient</b><br> 483 * Type: <b>reference</b><br> 484 * Path: <b>Procedure.subject</b><br> 485 * </p> 486 */ 487 public static final ReferenceClientParam PATIENT = new ReferenceClientParam(SP_PATIENT); 488 489 490 /** 491 * Constant for fluent queries to be used to add include statements. Specifies 492 * the path value of "<b>Procedure:encounter</b>". 493 */ 494 public static final Include INCLUDE_ENCOUNTER = new Include("Procedure:encounter"); 495 496 /** 497 * Constant for fluent queries to be used to add include statements. Specifies 498 * the path value of "<b>Procedure:location</b>". 499 */ 500 public static final Include INCLUDE_LOCATION = new Include("Procedure:location"); 501 502 /** 503 * Constant for fluent queries to be used to add include statements. Specifies 504 * the path value of "<b>Procedure:patient</b>". 505 */ 506 public static final Include INCLUDE_PATIENT = new Include("Procedure:patient"); 507 508 /** 509 * Constant for fluent queries to be used to add include statements. Specifies 510 * the path value of "<b>Procedure:performer</b>". 511 */ 512 public static final Include INCLUDE_PERFORMER = new Include("Procedure:performer"); 513 514 /** 515 * Constant for fluent queries to be used to add include statements. Specifies 516 * the path value of "<b>Procedure:subject</b>". 517 */ 518 public static final Include INCLUDE_SUBJECT = new Include("Procedure:subject"); 519 520 521 @Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 522 @Description( 523 shortDefinition="id", 524 formalDefinition="This records identifiers associated with this procedure 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)" 525 ) 526 private java.util.List<IdentifierDt> myIdentifier; 527 528 @Child(name="subject", order=1, min=1, max=1, summary=true, modifier=false, type={ 529 ca.uhn.fhir.model.dstu2.resource.Patient.class, 530 ca.uhn.fhir.model.dstu2.resource.Group.class 531 }) 532 @Description( 533 shortDefinition="who.focus", 534 formalDefinition="The person, animal or group on which the procedure was performed" 535 ) 536 private ResourceReferenceDt mySubject; 537 538 @Child(name="status", type=CodeDt.class, order=2, min=1, max=1, summary=true, modifier=true) 539 @Description( 540 shortDefinition="", 541 formalDefinition="A code specifying the state of the procedure. Generally this will be in-progress or completed state." 542 ) 543 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/procedure-status") 544 private BoundCodeDt<ProcedureStatusEnum> myStatus; 545 546 @Child(name="category", type=CodeableConceptDt.class, order=3, min=0, max=1, summary=true, modifier=false) 547 @Description( 548 shortDefinition="", 549 formalDefinition="A code that classifies the procedure for searching, sorting and display purposes (e.g. \"Surgical Procedure\")" 550 ) 551 private CodeableConceptDt myCategory; 552 553 @Child(name="code", type=CodeableConceptDt.class, order=4, min=1, max=1, summary=true, modifier=false) 554 @Description( 555 shortDefinition="class", 556 formalDefinition="The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. \"Laparoscopic Appendectomy\")" 557 ) 558 private CodeableConceptDt myCode; 559 560 @Child(name="notPerformed", type=BooleanDt.class, order=5, min=0, max=1, summary=false, modifier=true) 561 @Description( 562 shortDefinition="", 563 formalDefinition="Set this to true if the record is saying that the procedure was NOT performed" 564 ) 565 private BooleanDt myNotPerformed; 566 567 @Child(name="reasonNotPerformed", type=CodeableConceptDt.class, order=6, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 568 @Description( 569 shortDefinition="", 570 formalDefinition="A code indicating why the procedure was not performed." 571 ) 572 private java.util.List<CodeableConceptDt> myReasonNotPerformed; 573 574 @Child(name="bodySite", type=CodeableConceptDt.class, order=7, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 575 @Description( 576 shortDefinition="", 577 formalDefinition="Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion" 578 ) 579 private java.util.List<CodeableConceptDt> myBodySite; 580 581 @Child(name="reason", order=8, min=0, max=1, summary=true, modifier=false, type={ 582 CodeableConceptDt.class, 583 Condition.class 584 }) 585 @Description( 586 shortDefinition="", 587 formalDefinition="The reason why the procedure was performed. This may be due to a Condition, may be coded entity of some type, or may simply be present as text" 588 ) 589 private IDatatype myReason; 590 591 @Child(name="performer", order=9, min=0, max=Child.MAX_UNLIMITED, summary=true, modifier=false) 592 @Description( 593 shortDefinition="", 594 formalDefinition="Limited to 'real' people rather than equipment" 595 ) 596 private java.util.List<Performer> myPerformer; 597 598 @Child(name="performed", order=10, min=0, max=1, summary=true, modifier=false, type={ 599 DateTimeDt.class, 600 PeriodDt.class 601 }) 602 @Description( 603 shortDefinition="when.done", 604 formalDefinition="The date(time)/period over which the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured." 605 ) 606 private IDatatype myPerformed; 607 608 @Child(name="encounter", order=11, min=0, max=1, summary=true, modifier=false, type={ 609 ca.uhn.fhir.model.dstu2.resource.Encounter.class 610 }) 611 @Description( 612 shortDefinition="context", 613 formalDefinition="The encounter during which the procedure was performed" 614 ) 615 private ResourceReferenceDt myEncounter; 616 617 @Child(name="location", order=12, min=0, max=1, summary=true, modifier=false, type={ 618 ca.uhn.fhir.model.dstu2.resource.Location.class 619 }) 620 @Description( 621 shortDefinition="where", 622 formalDefinition="The location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at a restaurant" 623 ) 624 private ResourceReferenceDt myLocation; 625 626 @Child(name="outcome", type=CodeableConceptDt.class, order=13, min=0, max=1, summary=true, modifier=false) 627 @Description( 628 shortDefinition="", 629 formalDefinition="The outcome of the procedure - did it resolve reasons for the procedure being performed?" 630 ) 631 private CodeableConceptDt myOutcome; 632 633 @Child(name="report", order=14, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={ 634 ca.uhn.fhir.model.dstu2.resource.DiagnosticReport.class 635 }) 636 @Description( 637 shortDefinition="", 638 formalDefinition="This could be a histology result, pathology report, surgical report, etc.." 639 ) 640 private java.util.List<ResourceReferenceDt> myReport; 641 642 @Child(name="complication", type=CodeableConceptDt.class, order=15, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 643 @Description( 644 shortDefinition="", 645 formalDefinition="Any complications that occurred during the procedure, or in the immediate post-performance period. These are generally tracked separately from the notes, which will typically describe the procedure itself rather than any 'post procedure' issues" 646 ) 647 private java.util.List<CodeableConceptDt> myComplication; 648 649 @Child(name="followUp", type=CodeableConceptDt.class, order=16, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 650 @Description( 651 shortDefinition="", 652 formalDefinition="If the procedure required specific follow up - e.g. removal of sutures. The followup may be represented as a simple note, or could potentially be more complex in which case the CarePlan resource can be used" 653 ) 654 private java.util.List<CodeableConceptDt> myFollowUp; 655 656 @Child(name="request", order=17, min=0, max=1, summary=false, modifier=false, type={ 657 ca.uhn.fhir.model.dstu2.resource.CarePlan.class, 658 ca.uhn.fhir.model.dstu2.resource.DiagnosticOrder.class, 659 ca.uhn.fhir.model.dstu2.resource.ProcedureRequest.class, 660 ca.uhn.fhir.model.dstu2.resource.ReferralRequest.class 661 }) 662 @Description( 663 shortDefinition="", 664 formalDefinition="A reference to a resource that contains details of the request for this procedure." 665 ) 666 private ResourceReferenceDt myRequest; 667 668 @Child(name="notes", type=AnnotationDt.class, order=18, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 669 @Description( 670 shortDefinition="", 671 formalDefinition="Any other notes about the procedure. E.g. the operative notes" 672 ) 673 private java.util.List<AnnotationDt> myNotes; 674 675 @Child(name="focalDevice", order=19, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 676 @Description( 677 shortDefinition="", 678 formalDefinition="A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure." 679 ) 680 private java.util.List<FocalDevice> myFocalDevice; 681 682 @Child(name="used", order=20, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false, type={ 683 ca.uhn.fhir.model.dstu2.resource.Device.class, 684 ca.uhn.fhir.model.dstu2.resource.Medication.class, 685 ca.uhn.fhir.model.dstu2.resource.Substance.class 686 }) 687 @Description( 688 shortDefinition="", 689 formalDefinition="Identifies medications, devices and any other substance used as part of the procedure" 690 ) 691 private java.util.List<ResourceReferenceDt> myUsed; 692 693 694 @Override 695 public boolean isEmpty() { 696 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myIdentifier, mySubject, myStatus, myCategory, myCode, myNotPerformed, myReasonNotPerformed, myBodySite, myReason, myPerformer, myPerformed, myEncounter, myLocation, myOutcome, myReport, myComplication, myFollowUp, myRequest, myNotes, myFocalDevice, myUsed); 697 } 698 699 @Override 700 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 701 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, mySubject, myStatus, myCategory, myCode, myNotPerformed, myReasonNotPerformed, myBodySite, myReason, myPerformer, myPerformed, myEncounter, myLocation, myOutcome, myReport, myComplication, myFollowUp, myRequest, myNotes, myFocalDevice, myUsed); 702 } 703 704 /** 705 * Gets the value(s) for <b>identifier</b> (id). 706 * creating it if it does 707 * not exist. Will not return <code>null</code>. 708 * 709 * <p> 710 * <b>Definition:</b> 711 * This records identifiers associated with this procedure 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) 712 * </p> 713 */ 714 public java.util.List<IdentifierDt> getIdentifier() { 715 if (myIdentifier == null) { 716 myIdentifier = new java.util.ArrayList<IdentifierDt>(); 717 } 718 return myIdentifier; 719 } 720 721 /** 722 * Sets the value(s) for <b>identifier</b> (id) 723 * 724 * <p> 725 * <b>Definition:</b> 726 * This records identifiers associated with this procedure 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) 727 * </p> 728 */ 729 public Procedure setIdentifier(java.util.List<IdentifierDt> theValue) { 730 myIdentifier = theValue; 731 return this; 732 } 733 734 735 736 /** 737 * Adds and returns a new value for <b>identifier</b> (id) 738 * 739 * <p> 740 * <b>Definition:</b> 741 * This records identifiers associated with this procedure 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) 742 * </p> 743 */ 744 public IdentifierDt addIdentifier() { 745 IdentifierDt newType = new IdentifierDt(); 746 getIdentifier().add(newType); 747 return newType; 748 } 749 750 /** 751 * Adds a given new value for <b>identifier</b> (id) 752 * 753 * <p> 754 * <b>Definition:</b> 755 * This records identifiers associated with this procedure 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) 756 * </p> 757 * @param theValue The identifier to add (must not be <code>null</code>) 758 */ 759 public Procedure addIdentifier(IdentifierDt theValue) { 760 if (theValue == null) { 761 throw new NullPointerException("theValue must not be null"); 762 } 763 getIdentifier().add(theValue); 764 return this; 765 } 766 767 /** 768 * Gets the first repetition for <b>identifier</b> (id), 769 * creating it if it does not already exist. 770 * 771 * <p> 772 * <b>Definition:</b> 773 * This records identifiers associated with this procedure 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) 774 * </p> 775 */ 776 public IdentifierDt getIdentifierFirstRep() { 777 if (getIdentifier().isEmpty()) { 778 return addIdentifier(); 779 } 780 return getIdentifier().get(0); 781 } 782 783 /** 784 * Gets the value(s) for <b>subject</b> (who.focus). 785 * creating it if it does 786 * not exist. Will not return <code>null</code>. 787 * 788 * <p> 789 * <b>Definition:</b> 790 * The person, animal or group on which the procedure was performed 791 * </p> 792 */ 793 public ResourceReferenceDt getSubject() { 794 if (mySubject == null) { 795 mySubject = new ResourceReferenceDt(); 796 } 797 return mySubject; 798 } 799 800 /** 801 * Sets the value(s) for <b>subject</b> (who.focus) 802 * 803 * <p> 804 * <b>Definition:</b> 805 * The person, animal or group on which the procedure was performed 806 * </p> 807 */ 808 public Procedure setSubject(ResourceReferenceDt theValue) { 809 mySubject = theValue; 810 return this; 811 } 812 813 814 815 816 /** 817 * Gets the value(s) for <b>status</b> (). 818 * creating it if it does 819 * not exist. Will not return <code>null</code>. 820 * 821 * <p> 822 * <b>Definition:</b> 823 * A code specifying the state of the procedure. Generally this will be in-progress or completed state. 824 * </p> 825 */ 826 public BoundCodeDt<ProcedureStatusEnum> getStatusElement() { 827 if (myStatus == null) { 828 myStatus = new BoundCodeDt<ProcedureStatusEnum>(ProcedureStatusEnum.VALUESET_BINDER); 829 } 830 return myStatus; 831 } 832 833 834 /** 835 * Gets the value(s) for <b>status</b> (). 836 * creating it if it does 837 * not exist. This method may return <code>null</code>. 838 * 839 * <p> 840 * <b>Definition:</b> 841 * A code specifying the state of the procedure. Generally this will be in-progress or completed state. 842 * </p> 843 */ 844 public String getStatus() { 845 return getStatusElement().getValue(); 846 } 847 848 /** 849 * Sets the value(s) for <b>status</b> () 850 * 851 * <p> 852 * <b>Definition:</b> 853 * A code specifying the state of the procedure. Generally this will be in-progress or completed state. 854 * </p> 855 */ 856 public Procedure setStatus(BoundCodeDt<ProcedureStatusEnum> theValue) { 857 myStatus = theValue; 858 return this; 859 } 860 861 862 863 /** 864 * Sets the value(s) for <b>status</b> () 865 * 866 * <p> 867 * <b>Definition:</b> 868 * A code specifying the state of the procedure. Generally this will be in-progress or completed state. 869 * </p> 870 */ 871 public Procedure setStatus(ProcedureStatusEnum theValue) { 872 setStatus(new BoundCodeDt<ProcedureStatusEnum>(ProcedureStatusEnum.VALUESET_BINDER, theValue)); 873 874/* 875 getStatusElement().setValueAsEnum(theValue); 876*/ 877 return this; 878 } 879 880 881 /** 882 * Gets the value(s) for <b>category</b> (). 883 * creating it if it does 884 * not exist. Will not return <code>null</code>. 885 * 886 * <p> 887 * <b>Definition:</b> 888 * A code that classifies the procedure for searching, sorting and display purposes (e.g. \"Surgical Procedure\") 889 * </p> 890 */ 891 public CodeableConceptDt getCategory() { 892 if (myCategory == null) { 893 myCategory = new CodeableConceptDt(); 894 } 895 return myCategory; 896 } 897 898 /** 899 * Sets the value(s) for <b>category</b> () 900 * 901 * <p> 902 * <b>Definition:</b> 903 * A code that classifies the procedure for searching, sorting and display purposes (e.g. \"Surgical Procedure\") 904 * </p> 905 */ 906 public Procedure setCategory(CodeableConceptDt theValue) { 907 myCategory = theValue; 908 return this; 909 } 910 911 912 913 914 /** 915 * Gets the value(s) for <b>code</b> (class). 916 * creating it if it does 917 * not exist. Will not return <code>null</code>. 918 * 919 * <p> 920 * <b>Definition:</b> 921 * The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. \"Laparoscopic Appendectomy\") 922 * </p> 923 */ 924 public CodeableConceptDt getCode() { 925 if (myCode == null) { 926 myCode = new CodeableConceptDt(); 927 } 928 return myCode; 929 } 930 931 /** 932 * Sets the value(s) for <b>code</b> (class) 933 * 934 * <p> 935 * <b>Definition:</b> 936 * The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. \"Laparoscopic Appendectomy\") 937 * </p> 938 */ 939 public Procedure setCode(CodeableConceptDt theValue) { 940 myCode = theValue; 941 return this; 942 } 943 944 945 946 947 /** 948 * Gets the value(s) for <b>notPerformed</b> (). 949 * creating it if it does 950 * not exist. Will not return <code>null</code>. 951 * 952 * <p> 953 * <b>Definition:</b> 954 * Set this to true if the record is saying that the procedure was NOT performed 955 * </p> 956 */ 957 public BooleanDt getNotPerformedElement() { 958 if (myNotPerformed == null) { 959 myNotPerformed = new BooleanDt(); 960 } 961 return myNotPerformed; 962 } 963 964 965 /** 966 * Gets the value(s) for <b>notPerformed</b> (). 967 * creating it if it does 968 * not exist. This method may return <code>null</code>. 969 * 970 * <p> 971 * <b>Definition:</b> 972 * Set this to true if the record is saying that the procedure was NOT performed 973 * </p> 974 */ 975 public Boolean getNotPerformed() { 976 return getNotPerformedElement().getValue(); 977 } 978 979 /** 980 * Sets the value(s) for <b>notPerformed</b> () 981 * 982 * <p> 983 * <b>Definition:</b> 984 * Set this to true if the record is saying that the procedure was NOT performed 985 * </p> 986 */ 987 public Procedure setNotPerformed(BooleanDt theValue) { 988 myNotPerformed = theValue; 989 return this; 990 } 991 992 993 994 /** 995 * Sets the value for <b>notPerformed</b> () 996 * 997 * <p> 998 * <b>Definition:</b> 999 * Set this to true if the record is saying that the procedure was NOT performed 1000 * </p> 1001 */ 1002 public Procedure setNotPerformed( boolean theBoolean) { 1003 myNotPerformed = new BooleanDt(theBoolean); 1004 return this; 1005 } 1006 1007 1008 /** 1009 * Gets the value(s) for <b>reasonNotPerformed</b> (). 1010 * creating it if it does 1011 * not exist. Will not return <code>null</code>. 1012 * 1013 * <p> 1014 * <b>Definition:</b> 1015 * A code indicating why the procedure was not performed. 1016 * </p> 1017 */ 1018 public java.util.List<CodeableConceptDt> getReasonNotPerformed() { 1019 if (myReasonNotPerformed == null) { 1020 myReasonNotPerformed = new java.util.ArrayList<CodeableConceptDt>(); 1021 } 1022 return myReasonNotPerformed; 1023 } 1024 1025 /** 1026 * Sets the value(s) for <b>reasonNotPerformed</b> () 1027 * 1028 * <p> 1029 * <b>Definition:</b> 1030 * A code indicating why the procedure was not performed. 1031 * </p> 1032 */ 1033 public Procedure setReasonNotPerformed(java.util.List<CodeableConceptDt> theValue) { 1034 myReasonNotPerformed = theValue; 1035 return this; 1036 } 1037 1038 1039 1040 /** 1041 * Adds and returns a new value for <b>reasonNotPerformed</b> () 1042 * 1043 * <p> 1044 * <b>Definition:</b> 1045 * A code indicating why the procedure was not performed. 1046 * </p> 1047 */ 1048 public CodeableConceptDt addReasonNotPerformed() { 1049 CodeableConceptDt newType = new CodeableConceptDt(); 1050 getReasonNotPerformed().add(newType); 1051 return newType; 1052 } 1053 1054 /** 1055 * Adds a given new value for <b>reasonNotPerformed</b> () 1056 * 1057 * <p> 1058 * <b>Definition:</b> 1059 * A code indicating why the procedure was not performed. 1060 * </p> 1061 * @param theValue The reasonNotPerformed to add (must not be <code>null</code>) 1062 */ 1063 public Procedure addReasonNotPerformed(CodeableConceptDt theValue) { 1064 if (theValue == null) { 1065 throw new NullPointerException("theValue must not be null"); 1066 } 1067 getReasonNotPerformed().add(theValue); 1068 return this; 1069 } 1070 1071 /** 1072 * Gets the first repetition for <b>reasonNotPerformed</b> (), 1073 * creating it if it does not already exist. 1074 * 1075 * <p> 1076 * <b>Definition:</b> 1077 * A code indicating why the procedure was not performed. 1078 * </p> 1079 */ 1080 public CodeableConceptDt getReasonNotPerformedFirstRep() { 1081 if (getReasonNotPerformed().isEmpty()) { 1082 return addReasonNotPerformed(); 1083 } 1084 return getReasonNotPerformed().get(0); 1085 } 1086 1087 /** 1088 * Gets the value(s) for <b>bodySite</b> (). 1089 * creating it if it does 1090 * not exist. Will not return <code>null</code>. 1091 * 1092 * <p> 1093 * <b>Definition:</b> 1094 * Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion 1095 * </p> 1096 */ 1097 public java.util.List<CodeableConceptDt> getBodySite() { 1098 if (myBodySite == null) { 1099 myBodySite = new java.util.ArrayList<CodeableConceptDt>(); 1100 } 1101 return myBodySite; 1102 } 1103 1104 /** 1105 * Sets the value(s) for <b>bodySite</b> () 1106 * 1107 * <p> 1108 * <b>Definition:</b> 1109 * Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion 1110 * </p> 1111 */ 1112 public Procedure setBodySite(java.util.List<CodeableConceptDt> theValue) { 1113 myBodySite = theValue; 1114 return this; 1115 } 1116 1117 1118 1119 /** 1120 * Adds and returns a new value for <b>bodySite</b> () 1121 * 1122 * <p> 1123 * <b>Definition:</b> 1124 * Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion 1125 * </p> 1126 */ 1127 public CodeableConceptDt addBodySite() { 1128 CodeableConceptDt newType = new CodeableConceptDt(); 1129 getBodySite().add(newType); 1130 return newType; 1131 } 1132 1133 /** 1134 * Adds a given new value for <b>bodySite</b> () 1135 * 1136 * <p> 1137 * <b>Definition:</b> 1138 * Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion 1139 * </p> 1140 * @param theValue The bodySite to add (must not be <code>null</code>) 1141 */ 1142 public Procedure addBodySite(CodeableConceptDt theValue) { 1143 if (theValue == null) { 1144 throw new NullPointerException("theValue must not be null"); 1145 } 1146 getBodySite().add(theValue); 1147 return this; 1148 } 1149 1150 /** 1151 * Gets the first repetition for <b>bodySite</b> (), 1152 * creating it if it does not already exist. 1153 * 1154 * <p> 1155 * <b>Definition:</b> 1156 * Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion 1157 * </p> 1158 */ 1159 public CodeableConceptDt getBodySiteFirstRep() { 1160 if (getBodySite().isEmpty()) { 1161 return addBodySite(); 1162 } 1163 return getBodySite().get(0); 1164 } 1165 1166 /** 1167 * Gets the value(s) for <b>reason[x]</b> (). 1168 * creating it if it does 1169 * not exist. Will not return <code>null</code>. 1170 * 1171 * <p> 1172 * <b>Definition:</b> 1173 * The reason why the procedure was performed. This may be due to a Condition, may be coded entity of some type, or may simply be present as text 1174 * </p> 1175 */ 1176 public IDatatype getReason() { 1177 return myReason; 1178 } 1179 1180 /** 1181 * Sets the value(s) for <b>reason[x]</b> () 1182 * 1183 * <p> 1184 * <b>Definition:</b> 1185 * The reason why the procedure was performed. This may be due to a Condition, may be coded entity of some type, or may simply be present as text 1186 * </p> 1187 */ 1188 public Procedure setReason(IDatatype theValue) { 1189 myReason = theValue; 1190 return this; 1191 } 1192 1193 1194 1195 1196 /** 1197 * Gets the value(s) for <b>performer</b> (). 1198 * creating it if it does 1199 * not exist. Will not return <code>null</code>. 1200 * 1201 * <p> 1202 * <b>Definition:</b> 1203 * Limited to 'real' people rather than equipment 1204 * </p> 1205 */ 1206 public java.util.List<Performer> getPerformer() { 1207 if (myPerformer == null) { 1208 myPerformer = new java.util.ArrayList<Performer>(); 1209 } 1210 return myPerformer; 1211 } 1212 1213 /** 1214 * Sets the value(s) for <b>performer</b> () 1215 * 1216 * <p> 1217 * <b>Definition:</b> 1218 * Limited to 'real' people rather than equipment 1219 * </p> 1220 */ 1221 public Procedure setPerformer(java.util.List<Performer> theValue) { 1222 myPerformer = theValue; 1223 return this; 1224 } 1225 1226 1227 1228 /** 1229 * Adds and returns a new value for <b>performer</b> () 1230 * 1231 * <p> 1232 * <b>Definition:</b> 1233 * Limited to 'real' people rather than equipment 1234 * </p> 1235 */ 1236 public Performer addPerformer() { 1237 Performer newType = new Performer(); 1238 getPerformer().add(newType); 1239 return newType; 1240 } 1241 1242 /** 1243 * Adds a given new value for <b>performer</b> () 1244 * 1245 * <p> 1246 * <b>Definition:</b> 1247 * Limited to 'real' people rather than equipment 1248 * </p> 1249 * @param theValue The performer to add (must not be <code>null</code>) 1250 */ 1251 public Procedure addPerformer(Performer theValue) { 1252 if (theValue == null) { 1253 throw new NullPointerException("theValue must not be null"); 1254 } 1255 getPerformer().add(theValue); 1256 return this; 1257 } 1258 1259 /** 1260 * Gets the first repetition for <b>performer</b> (), 1261 * creating it if it does not already exist. 1262 * 1263 * <p> 1264 * <b>Definition:</b> 1265 * Limited to 'real' people rather than equipment 1266 * </p> 1267 */ 1268 public Performer getPerformerFirstRep() { 1269 if (getPerformer().isEmpty()) { 1270 return addPerformer(); 1271 } 1272 return getPerformer().get(0); 1273 } 1274 1275 /** 1276 * Gets the value(s) for <b>performed[x]</b> (when.done). 1277 * creating it if it does 1278 * not exist. Will not return <code>null</code>. 1279 * 1280 * <p> 1281 * <b>Definition:</b> 1282 * The date(time)/period over which the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured. 1283 * </p> 1284 */ 1285 public IDatatype getPerformed() { 1286 return myPerformed; 1287 } 1288 1289 /** 1290 * Sets the value(s) for <b>performed[x]</b> (when.done) 1291 * 1292 * <p> 1293 * <b>Definition:</b> 1294 * The date(time)/period over which the procedure was performed. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured. 1295 * </p> 1296 */ 1297 public Procedure setPerformed(IDatatype theValue) { 1298 myPerformed = theValue; 1299 return this; 1300 } 1301 1302 1303 1304 1305 /** 1306 * Gets the value(s) for <b>encounter</b> (context). 1307 * creating it if it does 1308 * not exist. Will not return <code>null</code>. 1309 * 1310 * <p> 1311 * <b>Definition:</b> 1312 * The encounter during which the procedure was performed 1313 * </p> 1314 */ 1315 public ResourceReferenceDt getEncounter() { 1316 if (myEncounter == null) { 1317 myEncounter = new ResourceReferenceDt(); 1318 } 1319 return myEncounter; 1320 } 1321 1322 /** 1323 * Sets the value(s) for <b>encounter</b> (context) 1324 * 1325 * <p> 1326 * <b>Definition:</b> 1327 * The encounter during which the procedure was performed 1328 * </p> 1329 */ 1330 public Procedure setEncounter(ResourceReferenceDt theValue) { 1331 myEncounter = theValue; 1332 return this; 1333 } 1334 1335 1336 1337 1338 /** 1339 * Gets the value(s) for <b>location</b> (where). 1340 * creating it if it does 1341 * not exist. Will not return <code>null</code>. 1342 * 1343 * <p> 1344 * <b>Definition:</b> 1345 * The location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at a restaurant 1346 * </p> 1347 */ 1348 public ResourceReferenceDt getLocation() { 1349 if (myLocation == null) { 1350 myLocation = new ResourceReferenceDt(); 1351 } 1352 return myLocation; 1353 } 1354 1355 /** 1356 * Sets the value(s) for <b>location</b> (where) 1357 * 1358 * <p> 1359 * <b>Definition:</b> 1360 * The location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at a restaurant 1361 * </p> 1362 */ 1363 public Procedure setLocation(ResourceReferenceDt theValue) { 1364 myLocation = theValue; 1365 return this; 1366 } 1367 1368 1369 1370 1371 /** 1372 * Gets the value(s) for <b>outcome</b> (). 1373 * creating it if it does 1374 * not exist. Will not return <code>null</code>. 1375 * 1376 * <p> 1377 * <b>Definition:</b> 1378 * The outcome of the procedure - did it resolve reasons for the procedure being performed? 1379 * </p> 1380 */ 1381 public CodeableConceptDt getOutcome() { 1382 if (myOutcome == null) { 1383 myOutcome = new CodeableConceptDt(); 1384 } 1385 return myOutcome; 1386 } 1387 1388 /** 1389 * Sets the value(s) for <b>outcome</b> () 1390 * 1391 * <p> 1392 * <b>Definition:</b> 1393 * The outcome of the procedure - did it resolve reasons for the procedure being performed? 1394 * </p> 1395 */ 1396 public Procedure setOutcome(CodeableConceptDt theValue) { 1397 myOutcome = theValue; 1398 return this; 1399 } 1400 1401 1402 1403 1404 /** 1405 * Gets the value(s) for <b>report</b> (). 1406 * creating it if it does 1407 * not exist. Will not return <code>null</code>. 1408 * 1409 * <p> 1410 * <b>Definition:</b> 1411 * This could be a histology result, pathology report, surgical report, etc.. 1412 * </p> 1413 */ 1414 public java.util.List<ResourceReferenceDt> getReport() { 1415 if (myReport == null) { 1416 myReport = new java.util.ArrayList<ResourceReferenceDt>(); 1417 } 1418 return myReport; 1419 } 1420 1421 /** 1422 * Sets the value(s) for <b>report</b> () 1423 * 1424 * <p> 1425 * <b>Definition:</b> 1426 * This could be a histology result, pathology report, surgical report, etc.. 1427 * </p> 1428 */ 1429 public Procedure setReport(java.util.List<ResourceReferenceDt> theValue) { 1430 myReport = theValue; 1431 return this; 1432 } 1433 1434 1435 1436 /** 1437 * Adds and returns a new value for <b>report</b> () 1438 * 1439 * <p> 1440 * <b>Definition:</b> 1441 * This could be a histology result, pathology report, surgical report, etc.. 1442 * </p> 1443 */ 1444 public ResourceReferenceDt addReport() { 1445 ResourceReferenceDt newType = new ResourceReferenceDt(); 1446 getReport().add(newType); 1447 return newType; 1448 } 1449 1450 /** 1451 * Gets the value(s) for <b>complication</b> (). 1452 * creating it if it does 1453 * not exist. Will not return <code>null</code>. 1454 * 1455 * <p> 1456 * <b>Definition:</b> 1457 * Any complications that occurred during the procedure, or in the immediate post-performance period. These are generally tracked separately from the notes, which will typically describe the procedure itself rather than any 'post procedure' issues 1458 * </p> 1459 */ 1460 public java.util.List<CodeableConceptDt> getComplication() { 1461 if (myComplication == null) { 1462 myComplication = new java.util.ArrayList<CodeableConceptDt>(); 1463 } 1464 return myComplication; 1465 } 1466 1467 /** 1468 * Sets the value(s) for <b>complication</b> () 1469 * 1470 * <p> 1471 * <b>Definition:</b> 1472 * Any complications that occurred during the procedure, or in the immediate post-performance period. These are generally tracked separately from the notes, which will typically describe the procedure itself rather than any 'post procedure' issues 1473 * </p> 1474 */ 1475 public Procedure setComplication(java.util.List<CodeableConceptDt> theValue) { 1476 myComplication = theValue; 1477 return this; 1478 } 1479 1480 1481 1482 /** 1483 * Adds and returns a new value for <b>complication</b> () 1484 * 1485 * <p> 1486 * <b>Definition:</b> 1487 * Any complications that occurred during the procedure, or in the immediate post-performance period. These are generally tracked separately from the notes, which will typically describe the procedure itself rather than any 'post procedure' issues 1488 * </p> 1489 */ 1490 public CodeableConceptDt addComplication() { 1491 CodeableConceptDt newType = new CodeableConceptDt(); 1492 getComplication().add(newType); 1493 return newType; 1494 } 1495 1496 /** 1497 * Adds a given new value for <b>complication</b> () 1498 * 1499 * <p> 1500 * <b>Definition:</b> 1501 * Any complications that occurred during the procedure, or in the immediate post-performance period. These are generally tracked separately from the notes, which will typically describe the procedure itself rather than any 'post procedure' issues 1502 * </p> 1503 * @param theValue The complication to add (must not be <code>null</code>) 1504 */ 1505 public Procedure addComplication(CodeableConceptDt theValue) { 1506 if (theValue == null) { 1507 throw new NullPointerException("theValue must not be null"); 1508 } 1509 getComplication().add(theValue); 1510 return this; 1511 } 1512 1513 /** 1514 * Gets the first repetition for <b>complication</b> (), 1515 * creating it if it does not already exist. 1516 * 1517 * <p> 1518 * <b>Definition:</b> 1519 * Any complications that occurred during the procedure, or in the immediate post-performance period. These are generally tracked separately from the notes, which will typically describe the procedure itself rather than any 'post procedure' issues 1520 * </p> 1521 */ 1522 public CodeableConceptDt getComplicationFirstRep() { 1523 if (getComplication().isEmpty()) { 1524 return addComplication(); 1525 } 1526 return getComplication().get(0); 1527 } 1528 1529 /** 1530 * Gets the value(s) for <b>followUp</b> (). 1531 * creating it if it does 1532 * not exist. Will not return <code>null</code>. 1533 * 1534 * <p> 1535 * <b>Definition:</b> 1536 * If the procedure required specific follow up - e.g. removal of sutures. The followup may be represented as a simple note, or could potentially be more complex in which case the CarePlan resource can be used 1537 * </p> 1538 */ 1539 public java.util.List<CodeableConceptDt> getFollowUp() { 1540 if (myFollowUp == null) { 1541 myFollowUp = new java.util.ArrayList<CodeableConceptDt>(); 1542 } 1543 return myFollowUp; 1544 } 1545 1546 /** 1547 * Sets the value(s) for <b>followUp</b> () 1548 * 1549 * <p> 1550 * <b>Definition:</b> 1551 * If the procedure required specific follow up - e.g. removal of sutures. The followup may be represented as a simple note, or could potentially be more complex in which case the CarePlan resource can be used 1552 * </p> 1553 */ 1554 public Procedure setFollowUp(java.util.List<CodeableConceptDt> theValue) { 1555 myFollowUp = theValue; 1556 return this; 1557 } 1558 1559 1560 1561 /** 1562 * Adds and returns a new value for <b>followUp</b> () 1563 * 1564 * <p> 1565 * <b>Definition:</b> 1566 * If the procedure required specific follow up - e.g. removal of sutures. The followup may be represented as a simple note, or could potentially be more complex in which case the CarePlan resource can be used 1567 * </p> 1568 */ 1569 public CodeableConceptDt addFollowUp() { 1570 CodeableConceptDt newType = new CodeableConceptDt(); 1571 getFollowUp().add(newType); 1572 return newType; 1573 } 1574 1575 /** 1576 * Adds a given new value for <b>followUp</b> () 1577 * 1578 * <p> 1579 * <b>Definition:</b> 1580 * If the procedure required specific follow up - e.g. removal of sutures. The followup may be represented as a simple note, or could potentially be more complex in which case the CarePlan resource can be used 1581 * </p> 1582 * @param theValue The followUp to add (must not be <code>null</code>) 1583 */ 1584 public Procedure addFollowUp(CodeableConceptDt theValue) { 1585 if (theValue == null) { 1586 throw new NullPointerException("theValue must not be null"); 1587 } 1588 getFollowUp().add(theValue); 1589 return this; 1590 } 1591 1592 /** 1593 * Gets the first repetition for <b>followUp</b> (), 1594 * creating it if it does not already exist. 1595 * 1596 * <p> 1597 * <b>Definition:</b> 1598 * If the procedure required specific follow up - e.g. removal of sutures. The followup may be represented as a simple note, or could potentially be more complex in which case the CarePlan resource can be used 1599 * </p> 1600 */ 1601 public CodeableConceptDt getFollowUpFirstRep() { 1602 if (getFollowUp().isEmpty()) { 1603 return addFollowUp(); 1604 } 1605 return getFollowUp().get(0); 1606 } 1607 1608 /** 1609 * Gets the value(s) for <b>request</b> (). 1610 * creating it if it does 1611 * not exist. Will not return <code>null</code>. 1612 * 1613 * <p> 1614 * <b>Definition:</b> 1615 * A reference to a resource that contains details of the request for this procedure. 1616 * </p> 1617 */ 1618 public ResourceReferenceDt getRequest() { 1619 if (myRequest == null) { 1620 myRequest = new ResourceReferenceDt(); 1621 } 1622 return myRequest; 1623 } 1624 1625 /** 1626 * Sets the value(s) for <b>request</b> () 1627 * 1628 * <p> 1629 * <b>Definition:</b> 1630 * A reference to a resource that contains details of the request for this procedure. 1631 * </p> 1632 */ 1633 public Procedure setRequest(ResourceReferenceDt theValue) { 1634 myRequest = theValue; 1635 return this; 1636 } 1637 1638 1639 1640 1641 /** 1642 * Gets the value(s) for <b>notes</b> (). 1643 * creating it if it does 1644 * not exist. Will not return <code>null</code>. 1645 * 1646 * <p> 1647 * <b>Definition:</b> 1648 * Any other notes about the procedure. E.g. the operative notes 1649 * </p> 1650 */ 1651 public java.util.List<AnnotationDt> getNotes() { 1652 if (myNotes == null) { 1653 myNotes = new java.util.ArrayList<AnnotationDt>(); 1654 } 1655 return myNotes; 1656 } 1657 1658 /** 1659 * Sets the value(s) for <b>notes</b> () 1660 * 1661 * <p> 1662 * <b>Definition:</b> 1663 * Any other notes about the procedure. E.g. the operative notes 1664 * </p> 1665 */ 1666 public Procedure setNotes(java.util.List<AnnotationDt> theValue) { 1667 myNotes = theValue; 1668 return this; 1669 } 1670 1671 1672 1673 /** 1674 * Adds and returns a new value for <b>notes</b> () 1675 * 1676 * <p> 1677 * <b>Definition:</b> 1678 * Any other notes about the procedure. E.g. the operative notes 1679 * </p> 1680 */ 1681 public AnnotationDt addNotes() { 1682 AnnotationDt newType = new AnnotationDt(); 1683 getNotes().add(newType); 1684 return newType; 1685 } 1686 1687 /** 1688 * Adds a given new value for <b>notes</b> () 1689 * 1690 * <p> 1691 * <b>Definition:</b> 1692 * Any other notes about the procedure. E.g. the operative notes 1693 * </p> 1694 * @param theValue The notes to add (must not be <code>null</code>) 1695 */ 1696 public Procedure addNotes(AnnotationDt theValue) { 1697 if (theValue == null) { 1698 throw new NullPointerException("theValue must not be null"); 1699 } 1700 getNotes().add(theValue); 1701 return this; 1702 } 1703 1704 /** 1705 * Gets the first repetition for <b>notes</b> (), 1706 * creating it if it does not already exist. 1707 * 1708 * <p> 1709 * <b>Definition:</b> 1710 * Any other notes about the procedure. E.g. the operative notes 1711 * </p> 1712 */ 1713 public AnnotationDt getNotesFirstRep() { 1714 if (getNotes().isEmpty()) { 1715 return addNotes(); 1716 } 1717 return getNotes().get(0); 1718 } 1719 1720 /** 1721 * Gets the value(s) for <b>focalDevice</b> (). 1722 * creating it if it does 1723 * not exist. Will not return <code>null</code>. 1724 * 1725 * <p> 1726 * <b>Definition:</b> 1727 * A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure. 1728 * </p> 1729 */ 1730 public java.util.List<FocalDevice> getFocalDevice() { 1731 if (myFocalDevice == null) { 1732 myFocalDevice = new java.util.ArrayList<FocalDevice>(); 1733 } 1734 return myFocalDevice; 1735 } 1736 1737 /** 1738 * Sets the value(s) for <b>focalDevice</b> () 1739 * 1740 * <p> 1741 * <b>Definition:</b> 1742 * A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure. 1743 * </p> 1744 */ 1745 public Procedure setFocalDevice(java.util.List<FocalDevice> theValue) { 1746 myFocalDevice = theValue; 1747 return this; 1748 } 1749 1750 1751 1752 /** 1753 * Adds and returns a new value for <b>focalDevice</b> () 1754 * 1755 * <p> 1756 * <b>Definition:</b> 1757 * A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure. 1758 * </p> 1759 */ 1760 public FocalDevice addFocalDevice() { 1761 FocalDevice newType = new FocalDevice(); 1762 getFocalDevice().add(newType); 1763 return newType; 1764 } 1765 1766 /** 1767 * Adds a given new value for <b>focalDevice</b> () 1768 * 1769 * <p> 1770 * <b>Definition:</b> 1771 * A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure. 1772 * </p> 1773 * @param theValue The focalDevice to add (must not be <code>null</code>) 1774 */ 1775 public Procedure addFocalDevice(FocalDevice theValue) { 1776 if (theValue == null) { 1777 throw new NullPointerException("theValue must not be null"); 1778 } 1779 getFocalDevice().add(theValue); 1780 return this; 1781 } 1782 1783 /** 1784 * Gets the first repetition for <b>focalDevice</b> (), 1785 * creating it if it does not already exist. 1786 * 1787 * <p> 1788 * <b>Definition:</b> 1789 * A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure. 1790 * </p> 1791 */ 1792 public FocalDevice getFocalDeviceFirstRep() { 1793 if (getFocalDevice().isEmpty()) { 1794 return addFocalDevice(); 1795 } 1796 return getFocalDevice().get(0); 1797 } 1798 1799 /** 1800 * Gets the value(s) for <b>used</b> (). 1801 * creating it if it does 1802 * not exist. Will not return <code>null</code>. 1803 * 1804 * <p> 1805 * <b>Definition:</b> 1806 * Identifies medications, devices and any other substance used as part of the procedure 1807 * </p> 1808 */ 1809 public java.util.List<ResourceReferenceDt> getUsed() { 1810 if (myUsed == null) { 1811 myUsed = new java.util.ArrayList<ResourceReferenceDt>(); 1812 } 1813 return myUsed; 1814 } 1815 1816 /** 1817 * Sets the value(s) for <b>used</b> () 1818 * 1819 * <p> 1820 * <b>Definition:</b> 1821 * Identifies medications, devices and any other substance used as part of the procedure 1822 * </p> 1823 */ 1824 public Procedure setUsed(java.util.List<ResourceReferenceDt> theValue) { 1825 myUsed = theValue; 1826 return this; 1827 } 1828 1829 1830 1831 /** 1832 * Adds and returns a new value for <b>used</b> () 1833 * 1834 * <p> 1835 * <b>Definition:</b> 1836 * Identifies medications, devices and any other substance used as part of the procedure 1837 * </p> 1838 */ 1839 public ResourceReferenceDt addUsed() { 1840 ResourceReferenceDt newType = new ResourceReferenceDt(); 1841 getUsed().add(newType); 1842 return newType; 1843 } 1844 1845 /** 1846 * Block class for child element: <b>Procedure.performer</b> () 1847 * 1848 * <p> 1849 * <b>Definition:</b> 1850 * Limited to 'real' people rather than equipment 1851 * </p> 1852 */ 1853 @Block() 1854 public static class Performer 1855 extends BaseIdentifiableElement 1856 implements IResourceBlock { 1857 1858 @Child(name="actor", order=0, min=0, max=1, summary=true, modifier=false, type={ 1859 ca.uhn.fhir.model.dstu2.resource.Practitioner.class, 1860 ca.uhn.fhir.model.dstu2.resource.Organization.class, 1861 ca.uhn.fhir.model.dstu2.resource.Patient.class, 1862 ca.uhn.fhir.model.dstu2.resource.RelatedPerson.class 1863 }) 1864 @Description( 1865 shortDefinition="who.actor", 1866 formalDefinition="The practitioner who was involved in the procedure" 1867 ) 1868 private ResourceReferenceDt myActor; 1869 1870 @Child(name="role", type=CodeableConceptDt.class, order=1, min=0, max=1, summary=true, modifier=false) 1871 @Description( 1872 shortDefinition="", 1873 formalDefinition="For example: surgeon, anaethetist, endoscopist" 1874 ) 1875 private CodeableConceptDt myRole; 1876 1877 1878 @Override 1879 public boolean isEmpty() { 1880 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myActor, myRole); 1881 } 1882 1883 @Override 1884 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1885 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myActor, myRole); 1886 } 1887 1888 /** 1889 * Gets the value(s) for <b>actor</b> (who.actor). 1890 * creating it if it does 1891 * not exist. Will not return <code>null</code>. 1892 * 1893 * <p> 1894 * <b>Definition:</b> 1895 * The practitioner who was involved in the procedure 1896 * </p> 1897 */ 1898 public ResourceReferenceDt getActor() { 1899 if (myActor == null) { 1900 myActor = new ResourceReferenceDt(); 1901 } 1902 return myActor; 1903 } 1904 1905 /** 1906 * Sets the value(s) for <b>actor</b> (who.actor) 1907 * 1908 * <p> 1909 * <b>Definition:</b> 1910 * The practitioner who was involved in the procedure 1911 * </p> 1912 */ 1913 public Performer setActor(ResourceReferenceDt theValue) { 1914 myActor = theValue; 1915 return this; 1916 } 1917 1918 1919 1920 1921 /** 1922 * Gets the value(s) for <b>role</b> (). 1923 * creating it if it does 1924 * not exist. Will not return <code>null</code>. 1925 * 1926 * <p> 1927 * <b>Definition:</b> 1928 * For example: surgeon, anaethetist, endoscopist 1929 * </p> 1930 */ 1931 public CodeableConceptDt getRole() { 1932 if (myRole == null) { 1933 myRole = new CodeableConceptDt(); 1934 } 1935 return myRole; 1936 } 1937 1938 /** 1939 * Sets the value(s) for <b>role</b> () 1940 * 1941 * <p> 1942 * <b>Definition:</b> 1943 * For example: surgeon, anaethetist, endoscopist 1944 * </p> 1945 */ 1946 public Performer setRole(CodeableConceptDt theValue) { 1947 myRole = theValue; 1948 return this; 1949 } 1950 1951 1952 1953 1954 1955 1956 } 1957 1958 1959 /** 1960 * Block class for child element: <b>Procedure.focalDevice</b> () 1961 * 1962 * <p> 1963 * <b>Definition:</b> 1964 * A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure. 1965 * </p> 1966 */ 1967 @Block() 1968 public static class FocalDevice 1969 extends BaseIdentifiableElement 1970 implements IResourceBlock { 1971 1972 @Child(name="action", type=CodeableConceptDt.class, order=0, min=0, max=1, summary=false, modifier=false) 1973 @Description( 1974 shortDefinition="", 1975 formalDefinition="The kind of change that happened to the device during the procedure" 1976 ) 1977 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/valueset-device-action") 1978 private CodeableConceptDt myAction; 1979 1980 @Child(name="manipulated", order=1, min=1, max=1, summary=false, modifier=false, type={ 1981 ca.uhn.fhir.model.dstu2.resource.Device.class 1982 }) 1983 @Description( 1984 shortDefinition="", 1985 formalDefinition="The device that was manipulated (changed) during the procedure" 1986 ) 1987 private ResourceReferenceDt myManipulated; 1988 1989 1990 @Override 1991 public boolean isEmpty() { 1992 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myAction, myManipulated); 1993 } 1994 1995 @Override 1996 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1997 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myAction, myManipulated); 1998 } 1999 2000 /** 2001 * Gets the value(s) for <b>action</b> (). 2002 * creating it if it does 2003 * not exist. Will not return <code>null</code>. 2004 * 2005 * <p> 2006 * <b>Definition:</b> 2007 * The kind of change that happened to the device during the procedure 2008 * </p> 2009 */ 2010 public CodeableConceptDt getAction() { 2011 if (myAction == null) { 2012 myAction = new CodeableConceptDt(); 2013 } 2014 return myAction; 2015 } 2016 2017 /** 2018 * Sets the value(s) for <b>action</b> () 2019 * 2020 * <p> 2021 * <b>Definition:</b> 2022 * The kind of change that happened to the device during the procedure 2023 * </p> 2024 */ 2025 public FocalDevice setAction(CodeableConceptDt theValue) { 2026 myAction = theValue; 2027 return this; 2028 } 2029 2030 2031 2032 2033 /** 2034 * Gets the value(s) for <b>manipulated</b> (). 2035 * creating it if it does 2036 * not exist. Will not return <code>null</code>. 2037 * 2038 * <p> 2039 * <b>Definition:</b> 2040 * The device that was manipulated (changed) during the procedure 2041 * </p> 2042 */ 2043 public ResourceReferenceDt getManipulated() { 2044 if (myManipulated == null) { 2045 myManipulated = new ResourceReferenceDt(); 2046 } 2047 return myManipulated; 2048 } 2049 2050 /** 2051 * Sets the value(s) for <b>manipulated</b> () 2052 * 2053 * <p> 2054 * <b>Definition:</b> 2055 * The device that was manipulated (changed) during the procedure 2056 * </p> 2057 */ 2058 public FocalDevice setManipulated(ResourceReferenceDt theValue) { 2059 myManipulated = theValue; 2060 return this; 2061 } 2062 2063 2064 2065 2066 2067 2068 } 2069 2070 2071 2072 2073 @Override 2074 public String getResourceName() { 2075 return "Procedure"; 2076 } 2077 2078 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 2079 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 2080 } 2081 2082 2083}