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.valueset.AnimalSpeciesEnum; 042import ca.uhn.fhir.model.dstu2.composite.AnnotationDt; 043import ca.uhn.fhir.model.dstu2.valueset.AnswerFormatEnum; 044import ca.uhn.fhir.model.dstu2.resource.Appointment; 045import ca.uhn.fhir.model.dstu2.valueset.AppointmentStatusEnum; 046import ca.uhn.fhir.model.dstu2.valueset.AssertionDirectionTypeEnum; 047import ca.uhn.fhir.model.dstu2.valueset.AssertionOperatorTypeEnum; 048import ca.uhn.fhir.model.dstu2.valueset.AssertionResponseTypesEnum; 049import ca.uhn.fhir.model.dstu2.composite.AttachmentDt; 050import ca.uhn.fhir.model.dstu2.valueset.AuditEventActionEnum; 051import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectLifecycleEnum; 052import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectRoleEnum; 053import ca.uhn.fhir.model.dstu2.valueset.AuditEventObjectTypeEnum; 054import ca.uhn.fhir.model.dstu2.valueset.AuditEventOutcomeEnum; 055import ca.uhn.fhir.model.dstu2.valueset.AuditEventParticipantNetworkTypeEnum; 056import ca.uhn.fhir.model.dstu2.valueset.AuditEventSourceTypeEnum; 057import ca.uhn.fhir.model.dstu2.valueset.BindingStrengthEnum; 058import ca.uhn.fhir.model.dstu2.resource.BodySite; 059import ca.uhn.fhir.model.dstu2.valueset.BundleTypeEnum; 060import ca.uhn.fhir.model.dstu2.resource.CarePlan; 061import ca.uhn.fhir.model.dstu2.valueset.CarePlanActivityCategoryEnum; 062import ca.uhn.fhir.model.dstu2.valueset.CarePlanActivityStatusEnum; 063import ca.uhn.fhir.model.dstu2.valueset.CarePlanRelationshipEnum; 064import ca.uhn.fhir.model.dstu2.valueset.CarePlanStatusEnum; 065import ca.uhn.fhir.model.dstu2.resource.Claim; 066import ca.uhn.fhir.model.dstu2.resource.ClaimResponse; 067import ca.uhn.fhir.model.dstu2.valueset.ClaimTypeEnum; 068import ca.uhn.fhir.model.dstu2.resource.ClinicalImpression; 069import ca.uhn.fhir.model.dstu2.valueset.ClinicalImpressionStatusEnum; 070import ca.uhn.fhir.model.dstu2.composite.CodeableConceptDt; 071import ca.uhn.fhir.model.dstu2.composite.CodingDt; 072import ca.uhn.fhir.model.dstu2.resource.CommunicationRequest; 073import ca.uhn.fhir.model.dstu2.valueset.CommunicationRequestStatusEnum; 074import ca.uhn.fhir.model.dstu2.valueset.CommunicationStatusEnum; 075import ca.uhn.fhir.model.dstu2.resource.Composition; 076import ca.uhn.fhir.model.dstu2.valueset.CompositionAttestationModeEnum; 077import ca.uhn.fhir.model.dstu2.valueset.CompositionStatusEnum; 078import ca.uhn.fhir.model.dstu2.valueset.ConceptMapEquivalenceEnum; 079import ca.uhn.fhir.model.dstu2.resource.Condition; 080import ca.uhn.fhir.model.dstu2.valueset.ConditionCategoryCodesEnum; 081import ca.uhn.fhir.model.dstu2.valueset.ConditionClinicalStatusCodesEnum; 082import ca.uhn.fhir.model.dstu2.valueset.ConditionVerificationStatusEnum; 083import ca.uhn.fhir.model.dstu2.valueset.ConditionalDeleteStatusEnum; 084import ca.uhn.fhir.model.dstu2.valueset.ConditionsCodesEnum; 085import ca.uhn.fhir.model.dstu2.resource.Conformance; 086import ca.uhn.fhir.model.dstu2.valueset.ConformanceEventModeEnum; 087import ca.uhn.fhir.model.dstu2.valueset.ConformanceResourceStatusEnum; 088import ca.uhn.fhir.model.dstu2.valueset.ConformanceStatementKindEnum; 089import ca.uhn.fhir.model.dstu2.composite.ContactPointDt; 090import ca.uhn.fhir.model.dstu2.valueset.ContentTypeEnum; 091import ca.uhn.fhir.model.dstu2.resource.Contract; 092import ca.uhn.fhir.model.dstu2.valueset.ContractActionCodesEnum; 093import ca.uhn.fhir.model.dstu2.valueset.ContractActorRoleCodesEnum; 094import ca.uhn.fhir.model.dstu2.valueset.ContractSubtypeCodesEnum; 095import ca.uhn.fhir.model.dstu2.valueset.ContractTermTypeCodesEnum; 096import ca.uhn.fhir.model.dstu2.valueset.ContractTypeCodesEnum; 097import ca.uhn.fhir.model.dstu2.resource.Coverage; 098import ca.uhn.fhir.model.dstu2.valueset.DataElementStringencyEnum; 099import ca.uhn.fhir.model.dstu2.valueset.DaysOfWeekEnum; 100import ca.uhn.fhir.model.dstu2.valueset.DetectedIssueSeverityEnum; 101import ca.uhn.fhir.model.dstu2.resource.Device; 102import ca.uhn.fhir.model.dstu2.resource.DeviceComponent; 103import ca.uhn.fhir.model.dstu2.resource.DeviceMetric; 104import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationStateEnum; 105import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCalibrationTypeEnum; 106import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricCategoryEnum; 107import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricColorEnum; 108import ca.uhn.fhir.model.dstu2.valueset.DeviceMetricOperationalStatusEnum; 109import ca.uhn.fhir.model.dstu2.valueset.DeviceStatusEnum; 110import ca.uhn.fhir.model.dstu2.resource.DeviceUseRequest; 111import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestPriorityEnum; 112import ca.uhn.fhir.model.dstu2.valueset.DeviceUseRequestStatusEnum; 113import ca.uhn.fhir.model.dstu2.resource.DiagnosticOrder; 114import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderPriorityEnum; 115import ca.uhn.fhir.model.dstu2.valueset.DiagnosticOrderStatusEnum; 116import ca.uhn.fhir.model.dstu2.resource.DiagnosticReport; 117import ca.uhn.fhir.model.dstu2.valueset.DiagnosticReportStatusEnum; 118import ca.uhn.fhir.model.dstu2.valueset.DigitalMediaTypeEnum; 119import ca.uhn.fhir.model.dstu2.valueset.DocumentModeEnum; 120import ca.uhn.fhir.model.dstu2.resource.DocumentReference; 121import ca.uhn.fhir.model.dstu2.valueset.DocumentReferenceStatusEnum; 122import ca.uhn.fhir.model.dstu2.valueset.DocumentRelationshipTypeEnum; 123import ca.uhn.fhir.model.dstu2.composite.ElementDefinitionDt; 124import ca.uhn.fhir.model.dstu2.resource.EligibilityRequest; 125import ca.uhn.fhir.model.dstu2.resource.Encounter; 126import ca.uhn.fhir.model.dstu2.valueset.EncounterClassEnum; 127import ca.uhn.fhir.model.dstu2.valueset.EncounterLocationStatusEnum; 128import ca.uhn.fhir.model.dstu2.valueset.EncounterStateEnum; 129import ca.uhn.fhir.model.dstu2.valueset.EncounterTypeEnum; 130import ca.uhn.fhir.model.dstu2.resource.EnrollmentRequest; 131import ca.uhn.fhir.model.dstu2.valueset.EnteralFormulaTypeCodesEnum; 132import ca.uhn.fhir.model.dstu2.resource.EpisodeOfCare; 133import ca.uhn.fhir.model.dstu2.valueset.EpisodeOfCareStatusEnum; 134import ca.uhn.fhir.model.dstu2.valueset.ExceptionCodesEnum; 135import ca.uhn.fhir.model.dstu2.valueset.ExtensionContextEnum; 136import ca.uhn.fhir.model.dstu2.valueset.FamilyHistoryStatusEnum; 137import ca.uhn.fhir.model.dstu2.resource.FamilyMemberHistory; 138import ca.uhn.fhir.model.dstu2.valueset.FilterOperatorEnum; 139import ca.uhn.fhir.model.dstu2.valueset.FlagCategoryCodesEnum; 140import ca.uhn.fhir.model.dstu2.valueset.FlagStatusEnum; 141import ca.uhn.fhir.model.dstu2.valueset.FluidConsistencyTypeCodesEnum; 142import ca.uhn.fhir.model.dstu2.resource.Goal; 143import ca.uhn.fhir.model.dstu2.valueset.GoalCategoryEnum; 144import ca.uhn.fhir.model.dstu2.valueset.GoalPriorityEnum; 145import ca.uhn.fhir.model.dstu2.valueset.GoalStartEventEnum; 146import ca.uhn.fhir.model.dstu2.valueset.GoalStatusEnum; 147import ca.uhn.fhir.model.dstu2.valueset.GoalStatusReasonEnum; 148import ca.uhn.fhir.model.dstu2.resource.Group; 149import ca.uhn.fhir.model.dstu2.valueset.GroupTypeEnum; 150import ca.uhn.fhir.model.dstu2.valueset.GuideDependencyTypeEnum; 151import ca.uhn.fhir.model.dstu2.valueset.GuidePageKindEnum; 152import ca.uhn.fhir.model.dstu2.valueset.GuideResourcePurposeEnum; 153import ca.uhn.fhir.model.dstu2.valueset.HTTPVerbEnum; 154import ca.uhn.fhir.model.dstu2.resource.HealthcareService; 155import ca.uhn.fhir.model.dstu2.composite.HumanNameDt; 156import ca.uhn.fhir.model.dstu2.composite.IdentifierDt; 157import ca.uhn.fhir.model.dstu2.valueset.IdentifierTypeCodesEnum; 158import ca.uhn.fhir.model.dstu2.valueset.IdentityAssuranceLevelEnum; 159import ca.uhn.fhir.model.dstu2.resource.ImagingObjectSelection; 160import ca.uhn.fhir.model.dstu2.resource.ImagingStudy; 161import ca.uhn.fhir.model.dstu2.resource.Immunization; 162import ca.uhn.fhir.model.dstu2.valueset.ImmunizationReasonCodesEnum; 163import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRecommendationDateCriterionCodesEnum; 164import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRecommendationStatusCodesEnum; 165import ca.uhn.fhir.model.dstu2.valueset.ImmunizationRouteCodesEnum; 166import ca.uhn.fhir.model.dstu2.valueset.InstanceAvailabilityEnum; 167import ca.uhn.fhir.model.dstu2.valueset.InterventionCodesEnum; 168import ca.uhn.fhir.model.dstu2.valueset.IssueSeverityEnum; 169import ca.uhn.fhir.model.dstu2.valueset.IssueTypeEnum; 170import ca.uhn.fhir.model.dstu2.valueset.KOStitleEnum; 171import ca.uhn.fhir.model.dstu2.valueset.LateralityEnum; 172import ca.uhn.fhir.model.dstu2.valueset.LinkTypeEnum; 173import ca.uhn.fhir.model.dstu2.valueset.ListModeEnum; 174import ca.uhn.fhir.model.dstu2.valueset.ListOrderCodesEnum; 175import ca.uhn.fhir.model.dstu2.valueset.ListStatusEnum; 176import ca.uhn.fhir.model.dstu2.resource.Location; 177import ca.uhn.fhir.model.dstu2.valueset.LocationModeEnum; 178import ca.uhn.fhir.model.dstu2.valueset.LocationStatusEnum; 179import ca.uhn.fhir.model.dstu2.valueset.LocationTypeEnum; 180import ca.uhn.fhir.model.dstu2.valueset.MaritalStatusCodesEnum; 181import ca.uhn.fhir.model.dstu2.valueset.MeasmntPrincipleEnum; 182import ca.uhn.fhir.model.dstu2.resource.Media; 183import ca.uhn.fhir.model.dstu2.resource.Medication; 184import ca.uhn.fhir.model.dstu2.valueset.MedicationAdministrationStatusEnum; 185import ca.uhn.fhir.model.dstu2.valueset.MedicationDispenseStatusEnum; 186import ca.uhn.fhir.model.dstu2.resource.MedicationOrder; 187import ca.uhn.fhir.model.dstu2.valueset.MedicationOrderStatusEnum; 188import ca.uhn.fhir.model.dstu2.resource.MedicationStatement; 189import ca.uhn.fhir.model.dstu2.valueset.MedicationStatementStatusEnum; 190import ca.uhn.fhir.model.dstu2.valueset.MessageEventEnum; 191import ca.uhn.fhir.model.dstu2.valueset.MessageSignificanceCategoryEnum; 192import ca.uhn.fhir.model.dstu2.valueset.MessageTransportEnum; 193import ca.uhn.fhir.model.dstu2.resource.NamingSystem; 194import ca.uhn.fhir.model.dstu2.valueset.NamingSystemIdentifierTypeEnum; 195import ca.uhn.fhir.model.dstu2.valueset.NamingSystemTypeEnum; 196import ca.uhn.fhir.model.dstu2.valueset.NoteTypeEnum; 197import ca.uhn.fhir.model.dstu2.valueset.NutrientModifierCodesEnum; 198import ca.uhn.fhir.model.dstu2.resource.NutritionOrder; 199import ca.uhn.fhir.model.dstu2.valueset.NutritionOrderStatusEnum; 200import ca.uhn.fhir.model.dstu2.resource.Observation; 201import ca.uhn.fhir.model.dstu2.valueset.ObservationCategoryCodesEnum; 202import ca.uhn.fhir.model.dstu2.valueset.ObservationRelationshipTypeEnum; 203import ca.uhn.fhir.model.dstu2.valueset.ObservationStatusEnum; 204import ca.uhn.fhir.model.dstu2.resource.OperationDefinition; 205import ca.uhn.fhir.model.dstu2.valueset.OperationKindEnum; 206import ca.uhn.fhir.model.dstu2.resource.OperationOutcome; 207import ca.uhn.fhir.model.dstu2.valueset.OperationParameterUseEnum; 208import ca.uhn.fhir.model.dstu2.resource.Order; 209import ca.uhn.fhir.model.dstu2.valueset.OrderStatusEnum; 210import ca.uhn.fhir.model.dstu2.resource.Organization; 211import ca.uhn.fhir.model.dstu2.valueset.OrganizationTypeEnum; 212import ca.uhn.fhir.model.dstu2.valueset.ParticipantRequiredEnum; 213import ca.uhn.fhir.model.dstu2.valueset.ParticipantStatusEnum; 214import ca.uhn.fhir.model.dstu2.valueset.ParticipantTypeEnum; 215import ca.uhn.fhir.model.dstu2.valueset.ParticipationStatusEnum; 216import ca.uhn.fhir.model.dstu2.resource.Patient; 217import ca.uhn.fhir.model.dstu2.valueset.PayeeTypeCodesEnum; 218import ca.uhn.fhir.model.dstu2.valueset.PaymentStatusCodesEnum; 219import ca.uhn.fhir.model.dstu2.valueset.PaymentTypeCodesEnum; 220import ca.uhn.fhir.model.dstu2.composite.PeriodDt; 221import ca.uhn.fhir.model.dstu2.resource.Person; 222import ca.uhn.fhir.model.dstu2.resource.Practitioner; 223import ca.uhn.fhir.model.dstu2.valueset.PractitionerRoleEnum; 224import ca.uhn.fhir.model.dstu2.valueset.PractitionerSpecialtyEnum; 225import ca.uhn.fhir.model.dstu2.valueset.PriorityCodesEnum; 226import ca.uhn.fhir.model.dstu2.resource.Procedure; 227import ca.uhn.fhir.model.dstu2.resource.ProcedureRequest; 228import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestPriorityEnum; 229import ca.uhn.fhir.model.dstu2.valueset.ProcedureRequestStatusEnum; 230import ca.uhn.fhir.model.dstu2.valueset.ProcedureStatusEnum; 231import ca.uhn.fhir.model.dstu2.resource.ProcessRequest; 232import ca.uhn.fhir.model.dstu2.valueset.ProvenanceEntityRoleEnum; 233import ca.uhn.fhir.model.dstu2.composite.QuantityDt; 234import ca.uhn.fhir.model.dstu2.resource.Questionnaire; 235import ca.uhn.fhir.model.dstu2.resource.QuestionnaireResponse; 236import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireResponseStatusEnum; 237import ca.uhn.fhir.model.dstu2.valueset.QuestionnaireStatusEnum; 238import ca.uhn.fhir.model.dstu2.composite.RangeDt; 239import ca.uhn.fhir.model.dstu2.composite.RatioDt; 240import ca.uhn.fhir.model.dstu2.valueset.ReferralMethodEnum; 241import ca.uhn.fhir.model.dstu2.resource.ReferralRequest; 242import ca.uhn.fhir.model.dstu2.valueset.ReferralStatusEnum; 243import ca.uhn.fhir.model.dstu2.resource.RelatedPerson; 244import ca.uhn.fhir.model.dstu2.valueset.RemittanceOutcomeEnum; 245import ca.uhn.fhir.model.dstu2.valueset.ResourceTypeEnum; 246import ca.uhn.fhir.model.dstu2.valueset.ResourceVersionPolicyEnum; 247import ca.uhn.fhir.model.dstu2.valueset.ResponseTypeEnum; 248import ca.uhn.fhir.model.dstu2.valueset.RestfulConformanceModeEnum; 249import ca.uhn.fhir.model.dstu2.valueset.RestfulSecurityServiceEnum; 250import ca.uhn.fhir.model.dstu2.resource.RiskAssessment; 251import ca.uhn.fhir.model.dstu2.valueset.RulesetCodesEnum; 252import ca.uhn.fhir.model.dstu2.composite.SampledDataDt; 253import ca.uhn.fhir.model.dstu2.resource.Schedule; 254import ca.uhn.fhir.model.dstu2.valueset.SearchEntryModeEnum; 255import ca.uhn.fhir.model.dstu2.valueset.SearchModifierCodeEnum; 256import ca.uhn.fhir.model.dstu2.valueset.SearchParamTypeEnum; 257import ca.uhn.fhir.model.dstu2.valueset.ServiceProvisionConditionsEnum; 258import ca.uhn.fhir.model.dstu2.composite.SignatureDt; 259import ca.uhn.fhir.model.dstu2.resource.Slot; 260import ca.uhn.fhir.model.dstu2.valueset.SlotStatusEnum; 261import ca.uhn.fhir.model.dstu2.resource.Specimen; 262import ca.uhn.fhir.model.dstu2.valueset.SpecimenCollectionMethodEnum; 263import ca.uhn.fhir.model.dstu2.valueset.SpecimenStatusEnum; 264import ca.uhn.fhir.model.dstu2.resource.StructureDefinition; 265import ca.uhn.fhir.model.dstu2.valueset.StructureDefinitionKindEnum; 266import ca.uhn.fhir.model.dstu2.valueset.SubscriptionChannelTypeEnum; 267import ca.uhn.fhir.model.dstu2.valueset.SubscriptionStatusEnum; 268import ca.uhn.fhir.model.dstu2.valueset.SubscriptionTagEnum; 269import ca.uhn.fhir.model.dstu2.resource.Substance; 270import ca.uhn.fhir.model.dstu2.valueset.SubstanceCategoryCodesEnum; 271import ca.uhn.fhir.model.dstu2.valueset.SupplementTypeCodesEnum; 272import ca.uhn.fhir.model.dstu2.valueset.SupplyDeliveryStatusEnum; 273import ca.uhn.fhir.model.dstu2.resource.SupplyRequest; 274import ca.uhn.fhir.model.dstu2.valueset.SupplyRequestReasonEnum; 275import ca.uhn.fhir.model.dstu2.valueset.SupplyRequestStatusEnum; 276import ca.uhn.fhir.model.dstu2.valueset.SurfaceCodesEnum; 277import ca.uhn.fhir.model.dstu2.valueset.SystemRestfulInteractionEnum; 278import ca.uhn.fhir.model.api.TemporalPrecisionEnum; 279import ca.uhn.fhir.model.dstu2.valueset.TextureModifiedFoodTypeCodesEnum; 280import ca.uhn.fhir.model.dstu2.valueset.TextureModifierCodesEnum; 281import ca.uhn.fhir.model.dstu2.composite.TimingDt; 282import ca.uhn.fhir.model.dstu2.valueset.TransactionModeEnum; 283import ca.uhn.fhir.model.dstu2.valueset.TypeRestfulInteractionEnum; 284import ca.uhn.fhir.model.dstu2.valueset.UDICodesEnum; 285import ca.uhn.fhir.model.dstu2.valueset.UnknownContentCodeEnum; 286import ca.uhn.fhir.model.dstu2.valueset.UseEnum; 287import ca.uhn.fhir.model.dstu2.resource.ValueSet; 288import ca.uhn.fhir.model.dstu2.valueset.VisionBaseEnum; 289import ca.uhn.fhir.model.dstu2.valueset.VisionEyesEnum; 290import ca.uhn.fhir.model.dstu2.resource.VisionPrescription; 291import ca.uhn.fhir.model.dstu2.valueset.XPathUsageTypeEnum; 292import ca.uhn.fhir.model.api.IResource; 293import ca.uhn.fhir.model.dstu2.composite.AgeDt; 294import ca.uhn.fhir.model.dstu2.composite.BoundCodeableConceptDt; 295import ca.uhn.fhir.model.dstu2.composite.DurationDt; 296import ca.uhn.fhir.model.dstu2.composite.MoneyDt; 297import ca.uhn.fhir.model.dstu2.composite.NarrativeDt; 298import ca.uhn.fhir.model.dstu2.composite.ResourceReferenceDt; 299import ca.uhn.fhir.model.dstu2.composite.SimpleQuantityDt; 300import ca.uhn.fhir.model.primitive.Base64BinaryDt; 301import ca.uhn.fhir.model.primitive.BooleanDt; 302import ca.uhn.fhir.model.primitive.BoundCodeDt; 303import ca.uhn.fhir.model.primitive.CodeDt; 304import ca.uhn.fhir.model.primitive.DateDt; 305import ca.uhn.fhir.model.primitive.DateTimeDt; 306import ca.uhn.fhir.model.primitive.DecimalDt; 307import ca.uhn.fhir.model.primitive.IdDt; 308import ca.uhn.fhir.model.primitive.InstantDt; 309import ca.uhn.fhir.model.primitive.IntegerDt; 310import ca.uhn.fhir.model.primitive.OidDt; 311import ca.uhn.fhir.model.primitive.PositiveIntDt; 312import ca.uhn.fhir.model.primitive.StringDt; 313import ca.uhn.fhir.model.primitive.TimeDt; 314import ca.uhn.fhir.model.primitive.UnsignedIntDt; 315import ca.uhn.fhir.model.primitive.UriDt; 316 317 318/** 319 * HAPI/FHIR <b>DeviceMetric</b> Resource 320 * (Measurement, calculation or setting capability of a medical device) 321 * 322 * <p> 323 * <b>Definition:</b> 324 * Describes a measurement, calculation or setting capability of a medical device. 325 * </p> 326 * 327 * <p> 328 * <b>Requirements:</b> 329 * 330 * </p> 331 * 332 * <p> 333 * <b>Profile Definition:</b> 334 * <a href="http://hl7.org/fhir/profiles/DeviceMetric">http://hl7.org/fhir/profiles/DeviceMetric</a> 335 * </p> 336 * 337 */ 338@ResourceDef(name="DeviceMetric", profile="http://hl7.org/fhir/profiles/DeviceMetric", id="devicemetric") 339public class DeviceMetric extends ca.uhn.fhir.model.dstu2.resource.BaseResource 340 implements IResource { 341 342 /** 343 * Search parameter constant for <b>parent</b> 344 * <p> 345 * Description: <b>The parent DeviceMetric resource</b><br> 346 * Type: <b>reference</b><br> 347 * Path: <b>DeviceMetric.parent</b><br> 348 * </p> 349 */ 350 @SearchParamDefinition(name="parent", path="DeviceMetric.parent", description="The parent DeviceMetric resource", type="reference" ) 351 public static final String SP_PARENT = "parent"; 352 353 /** 354 * <b>Fluent Client</b> search parameter constant for <b>parent</b> 355 * <p> 356 * Description: <b>The parent DeviceMetric resource</b><br> 357 * Type: <b>reference</b><br> 358 * Path: <b>DeviceMetric.parent</b><br> 359 * </p> 360 */ 361 public static final ReferenceClientParam PARENT = new ReferenceClientParam(SP_PARENT); 362 363 /** 364 * Search parameter constant for <b>type</b> 365 * <p> 366 * Description: <b>The component type</b><br> 367 * Type: <b>token</b><br> 368 * Path: <b>DeviceMetric.type</b><br> 369 * </p> 370 */ 371 @SearchParamDefinition(name="type", path="DeviceMetric.type", description="The component type", type="token" ) 372 public static final String SP_TYPE = "type"; 373 374 /** 375 * <b>Fluent Client</b> search parameter constant for <b>type</b> 376 * <p> 377 * Description: <b>The component type</b><br> 378 * Type: <b>token</b><br> 379 * Path: <b>DeviceMetric.type</b><br> 380 * </p> 381 */ 382 public static final TokenClientParam TYPE = new TokenClientParam(SP_TYPE); 383 384 /** 385 * Search parameter constant for <b>source</b> 386 * <p> 387 * Description: <b>The device resource</b><br> 388 * Type: <b>reference</b><br> 389 * Path: <b>DeviceMetric.source</b><br> 390 * </p> 391 */ 392 @SearchParamDefinition(name="source", path="DeviceMetric.source", description="The device resource", type="reference" ) 393 public static final String SP_SOURCE = "source"; 394 395 /** 396 * <b>Fluent Client</b> search parameter constant for <b>source</b> 397 * <p> 398 * Description: <b>The device resource</b><br> 399 * Type: <b>reference</b><br> 400 * Path: <b>DeviceMetric.source</b><br> 401 * </p> 402 */ 403 public static final ReferenceClientParam SOURCE = new ReferenceClientParam(SP_SOURCE); 404 405 /** 406 * Search parameter constant for <b>category</b> 407 * <p> 408 * Description: <b>The category of the metric</b><br> 409 * Type: <b>token</b><br> 410 * Path: <b>DeviceMetric.category</b><br> 411 * </p> 412 */ 413 @SearchParamDefinition(name="category", path="DeviceMetric.category", description="The category of the metric", type="token" ) 414 public static final String SP_CATEGORY = "category"; 415 416 /** 417 * <b>Fluent Client</b> search parameter constant for <b>category</b> 418 * <p> 419 * Description: <b>The category of the metric</b><br> 420 * Type: <b>token</b><br> 421 * Path: <b>DeviceMetric.category</b><br> 422 * </p> 423 */ 424 public static final TokenClientParam CATEGORY = new TokenClientParam(SP_CATEGORY); 425 426 /** 427 * Search parameter constant for <b>identifier</b> 428 * <p> 429 * Description: <b>The identifier of the metric</b><br> 430 * Type: <b>token</b><br> 431 * Path: <b>DeviceMetric.identifier</b><br> 432 * </p> 433 */ 434 @SearchParamDefinition(name="identifier", path="DeviceMetric.identifier", description="The identifier of the metric", type="token" ) 435 public static final String SP_IDENTIFIER = "identifier"; 436 437 /** 438 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 439 * <p> 440 * Description: <b>The identifier of the metric</b><br> 441 * Type: <b>token</b><br> 442 * Path: <b>DeviceMetric.identifier</b><br> 443 * </p> 444 */ 445 public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER); 446 447 448 /** 449 * Constant for fluent queries to be used to add include statements. Specifies 450 * the path value of "<b>DeviceMetric:parent</b>". 451 */ 452 public static final Include INCLUDE_PARENT = new Include("DeviceMetric:parent"); 453 454 /** 455 * Constant for fluent queries to be used to add include statements. Specifies 456 * the path value of "<b>DeviceMetric:source</b>". 457 */ 458 public static final Include INCLUDE_SOURCE = new Include("DeviceMetric:source"); 459 460 461 @Child(name="type", type=CodeableConceptDt.class, order=0, min=1, max=1, summary=false, modifier=false) 462 @Description( 463 shortDefinition="Type of metric", 464 formalDefinition="Describes the type of the metric. For example: Heart Rate, PEEP Setting, etc." 465 ) 466 private CodeableConceptDt myType; 467 468 @Child(name="identifier", type=IdentifierDt.class, order=1, min=1, max=1, summary=false, modifier=false) 469 @Description( 470 shortDefinition="Unique identifier of this DeviceMetric", 471 formalDefinition="Describes the unique identification of this metric that has been assigned by the device or gateway software. For example: handle ID. It should be noted that in order to make the identifier unique, the system element of the identifier should be set to the unique identifier of the device." 472 ) 473 private IdentifierDt myIdentifier; 474 475 @Child(name="unit", type=CodeableConceptDt.class, order=2, min=0, max=1, summary=false, modifier=false) 476 @Description( 477 shortDefinition="Unit of metric", 478 formalDefinition="Describes the unit that an observed value determined for this metric will have. For example: Percent, Seconds, etc." 479 ) 480 private CodeableConceptDt myUnit; 481 482 @Child(name="source", order=3, min=0, max=1, summary=false, modifier=false, type={ 483 ca.uhn.fhir.model.dstu2.resource.Device.class }) 484 @Description( 485 shortDefinition="Describes the link to the source Device", 486 formalDefinition="Describes the link to the Device that this DeviceMetric belongs to and that contains administrative device information such as manufacture, serial number, etc." 487 ) 488 private ResourceReferenceDt mySource; 489 490 @Child(name="parent", order=4, min=0, max=1, summary=false, modifier=false, type={ 491 ca.uhn.fhir.model.dstu2.resource.DeviceComponent.class }) 492 @Description( 493 shortDefinition="Describes the link to the parent DeviceComponent", 494 formalDefinition="Describes the link to the DeviceComponent that this DeviceMetric belongs to and that provide information about the location of this DeviceMetric in the containment structure of the parent Device. An example would be a DeviceComponent that represents a Channel. This reference can be used by a client application to distinguish DeviceMetrics that have the same type, but should be interpreted based on their containment location." 495 ) 496 private ResourceReferenceDt myParent; 497 498 @Child(name="operationalStatus", type=CodeDt.class, order=5, min=0, max=1, summary=false, modifier=false) 499 @Description( 500 shortDefinition="on | off | standby", 501 formalDefinition="Indicates current operational state of the device. For example: On, Off, Standby, etc." 502 ) 503 private BoundCodeDt<DeviceMetricOperationalStatusEnum> myOperationalStatus; 504 505 @Child(name="color", type=CodeDt.class, order=6, min=0, max=1, summary=false, modifier=false) 506 @Description( 507 shortDefinition="black | red | green | yellow | blue | magenta | cyan | white", 508 formalDefinition="Describes the color representation for the metric. This is often used to aid clinicians to track and identify parameter types by color. In practice, consider a Patient Monitor that has ECG/HR and Pleth for example; the parameters are displayed in different characteristic colors, such as HR-blue, BP-green, and PR and SpO2- magenta." 509 ) 510 private BoundCodeDt<DeviceMetricColorEnum> myColor; 511 512 @Child(name="category", type=CodeDt.class, order=7, min=1, max=1, summary=false, modifier=false) 513 @Description( 514 shortDefinition="measurement | setting | calculation | unspecified", 515 formalDefinition="Indicates the category of the observation generation process. A DeviceMetric can be for example a setting, measurement, or calculation." 516 ) 517 private BoundCodeDt<DeviceMetricCategoryEnum> myCategory; 518 519 @Child(name="measurementPeriod", type=TimingDt.class, order=8, min=0, max=1, summary=false, modifier=false) 520 @Description( 521 shortDefinition="Describes the measurement repetition time", 522 formalDefinition="Describes the measurement repetition time. This is not necessarily the same as the update period. The measurement repetition time can range from milliseconds up to hours. An example for a measurement repetition time in the range of milliseconds is the sampling rate of an ECG. An example for a measurement repetition time in the range of hours is a NIBP that is triggered automatically every hour. The update period may be different than the measurement repetition time, if the device does not update the published observed value with the same frequency as it was measured." 523 ) 524 private TimingDt myMeasurementPeriod; 525 526 @Child(name="calibration", order=9, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 527 @Description( 528 shortDefinition="Describes the calibrations that have been performed or that are required to be performed", 529 formalDefinition="Describes the calibrations that have been performed or that are required to be performed" 530 ) 531 private java.util.List<Calibration> myCalibration; 532 533 534 @Override 535 public boolean isEmpty() { 536 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myType, myIdentifier, myUnit, mySource, myParent, myOperationalStatus, myColor, myCategory, myMeasurementPeriod, myCalibration); 537 } 538 539 @Override 540 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 541 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myType, myIdentifier, myUnit, mySource, myParent, myOperationalStatus, myColor, myCategory, myMeasurementPeriod, myCalibration); 542 } 543 544 /** 545 * Gets the value(s) for <b>type</b> (Type of metric). 546 * creating it if it does 547 * not exist. Will not return <code>null</code>. 548 * 549 * <p> 550 * <b>Definition:</b> 551 * Describes the type of the metric. For example: Heart Rate, PEEP Setting, etc. 552 * </p> 553 */ 554 public CodeableConceptDt getType() { 555 if (myType == null) { 556 myType = new CodeableConceptDt(); 557 } 558 return myType; 559 } 560 561 /** 562 * Sets the value(s) for <b>type</b> (Type of metric) 563 * 564 * <p> 565 * <b>Definition:</b> 566 * Describes the type of the metric. For example: Heart Rate, PEEP Setting, etc. 567 * </p> 568 */ 569 public DeviceMetric setType(CodeableConceptDt theValue) { 570 myType = theValue; 571 return this; 572 } 573 574 575 576 577 /** 578 * Gets the value(s) for <b>identifier</b> (Unique identifier of this DeviceMetric). 579 * creating it if it does 580 * not exist. Will not return <code>null</code>. 581 * 582 * <p> 583 * <b>Definition:</b> 584 * Describes the unique identification of this metric that has been assigned by the device or gateway software. For example: handle ID. It should be noted that in order to make the identifier unique, the system element of the identifier should be set to the unique identifier of the device. 585 * </p> 586 */ 587 public IdentifierDt getIdentifier() { 588 if (myIdentifier == null) { 589 myIdentifier = new IdentifierDt(); 590 } 591 return myIdentifier; 592 } 593 594 /** 595 * Sets the value(s) for <b>identifier</b> (Unique identifier of this DeviceMetric) 596 * 597 * <p> 598 * <b>Definition:</b> 599 * Describes the unique identification of this metric that has been assigned by the device or gateway software. For example: handle ID. It should be noted that in order to make the identifier unique, the system element of the identifier should be set to the unique identifier of the device. 600 * </p> 601 */ 602 public DeviceMetric setIdentifier(IdentifierDt theValue) { 603 myIdentifier = theValue; 604 return this; 605 } 606 607 608 609 610 /** 611 * Gets the value(s) for <b>unit</b> (Unit of metric). 612 * creating it if it does 613 * not exist. Will not return <code>null</code>. 614 * 615 * <p> 616 * <b>Definition:</b> 617 * Describes the unit that an observed value determined for this metric will have. For example: Percent, Seconds, etc. 618 * </p> 619 */ 620 public CodeableConceptDt getUnit() { 621 if (myUnit == null) { 622 myUnit = new CodeableConceptDt(); 623 } 624 return myUnit; 625 } 626 627 /** 628 * Sets the value(s) for <b>unit</b> (Unit of metric) 629 * 630 * <p> 631 * <b>Definition:</b> 632 * Describes the unit that an observed value determined for this metric will have. For example: Percent, Seconds, etc. 633 * </p> 634 */ 635 public DeviceMetric setUnit(CodeableConceptDt theValue) { 636 myUnit = theValue; 637 return this; 638 } 639 640 641 642 643 /** 644 * Gets the value(s) for <b>source</b> (Describes the link to the source Device). 645 * creating it if it does 646 * not exist. Will not return <code>null</code>. 647 * 648 * <p> 649 * <b>Definition:</b> 650 * Describes the link to the Device that this DeviceMetric belongs to and that contains administrative device information such as manufacture, serial number, etc. 651 * </p> 652 */ 653 public ResourceReferenceDt getSource() { 654 if (mySource == null) { 655 mySource = new ResourceReferenceDt(); 656 } 657 return mySource; 658 } 659 660 /** 661 * Sets the value(s) for <b>source</b> (Describes the link to the source Device) 662 * 663 * <p> 664 * <b>Definition:</b> 665 * Describes the link to the Device that this DeviceMetric belongs to and that contains administrative device information such as manufacture, serial number, etc. 666 * </p> 667 */ 668 public DeviceMetric setSource(ResourceReferenceDt theValue) { 669 mySource = theValue; 670 return this; 671 } 672 673 674 675 676 /** 677 * Gets the value(s) for <b>parent</b> (Describes the link to the parent DeviceComponent). 678 * creating it if it does 679 * not exist. Will not return <code>null</code>. 680 * 681 * <p> 682 * <b>Definition:</b> 683 * Describes the link to the DeviceComponent that this DeviceMetric belongs to and that provide information about the location of this DeviceMetric in the containment structure of the parent Device. An example would be a DeviceComponent that represents a Channel. This reference can be used by a client application to distinguish DeviceMetrics that have the same type, but should be interpreted based on their containment location. 684 * </p> 685 */ 686 public ResourceReferenceDt getParent() { 687 if (myParent == null) { 688 myParent = new ResourceReferenceDt(); 689 } 690 return myParent; 691 } 692 693 /** 694 * Sets the value(s) for <b>parent</b> (Describes the link to the parent DeviceComponent) 695 * 696 * <p> 697 * <b>Definition:</b> 698 * Describes the link to the DeviceComponent that this DeviceMetric belongs to and that provide information about the location of this DeviceMetric in the containment structure of the parent Device. An example would be a DeviceComponent that represents a Channel. This reference can be used by a client application to distinguish DeviceMetrics that have the same type, but should be interpreted based on their containment location. 699 * </p> 700 */ 701 public DeviceMetric setParent(ResourceReferenceDt theValue) { 702 myParent = theValue; 703 return this; 704 } 705 706 707 708 709 /** 710 * Gets the value(s) for <b>operationalStatus</b> (on | off | standby). 711 * creating it if it does 712 * not exist. Will not return <code>null</code>. 713 * 714 * <p> 715 * <b>Definition:</b> 716 * Indicates current operational state of the device. For example: On, Off, Standby, etc. 717 * </p> 718 */ 719 public BoundCodeDt<DeviceMetricOperationalStatusEnum> getOperationalStatusElement() { 720 if (myOperationalStatus == null) { 721 myOperationalStatus = new BoundCodeDt<DeviceMetricOperationalStatusEnum>(DeviceMetricOperationalStatusEnum.VALUESET_BINDER); 722 } 723 return myOperationalStatus; 724 } 725 726 727 /** 728 * Gets the value(s) for <b>operationalStatus</b> (on | off | standby). 729 * creating it if it does 730 * not exist. Will not return <code>null</code>. 731 * 732 * <p> 733 * <b>Definition:</b> 734 * Indicates current operational state of the device. For example: On, Off, Standby, etc. 735 * </p> 736 */ 737 public String getOperationalStatus() { 738 return getOperationalStatusElement().getValue(); 739 } 740 741 /** 742 * Sets the value(s) for <b>operationalStatus</b> (on | off | standby) 743 * 744 * <p> 745 * <b>Definition:</b> 746 * Indicates current operational state of the device. For example: On, Off, Standby, etc. 747 * </p> 748 */ 749 public DeviceMetric setOperationalStatus(BoundCodeDt<DeviceMetricOperationalStatusEnum> theValue) { 750 myOperationalStatus = theValue; 751 return this; 752 } 753 754 755 756 /** 757 * Sets the value(s) for <b>operationalStatus</b> (on | off | standby) 758 * 759 * <p> 760 * <b>Definition:</b> 761 * Indicates current operational state of the device. For example: On, Off, Standby, etc. 762 * </p> 763 */ 764 public DeviceMetric setOperationalStatus(DeviceMetricOperationalStatusEnum theValue) { 765 setOperationalStatus(new BoundCodeDt<DeviceMetricOperationalStatusEnum>(DeviceMetricOperationalStatusEnum.VALUESET_BINDER, theValue)); 766 767/* 768 getOperationalStatusElement().setValueAsEnum(theValue); 769*/ 770 return this; 771 } 772 773 774 /** 775 * Gets the value(s) for <b>color</b> (black | red | green | yellow | blue | magenta | cyan | white). 776 * creating it if it does 777 * not exist. Will not return <code>null</code>. 778 * 779 * <p> 780 * <b>Definition:</b> 781 * Describes the color representation for the metric. This is often used to aid clinicians to track and identify parameter types by color. In practice, consider a Patient Monitor that has ECG/HR and Pleth for example; the parameters are displayed in different characteristic colors, such as HR-blue, BP-green, and PR and SpO2- magenta. 782 * </p> 783 */ 784 public BoundCodeDt<DeviceMetricColorEnum> getColorElement() { 785 if (myColor == null) { 786 myColor = new BoundCodeDt<DeviceMetricColorEnum>(DeviceMetricColorEnum.VALUESET_BINDER); 787 } 788 return myColor; 789 } 790 791 792 /** 793 * Gets the value(s) for <b>color</b> (black | red | green | yellow | blue | magenta | cyan | white). 794 * creating it if it does 795 * not exist. Will not return <code>null</code>. 796 * 797 * <p> 798 * <b>Definition:</b> 799 * Describes the color representation for the metric. This is often used to aid clinicians to track and identify parameter types by color. In practice, consider a Patient Monitor that has ECG/HR and Pleth for example; the parameters are displayed in different characteristic colors, such as HR-blue, BP-green, and PR and SpO2- magenta. 800 * </p> 801 */ 802 public String getColor() { 803 return getColorElement().getValue(); 804 } 805 806 /** 807 * Sets the value(s) for <b>color</b> (black | red | green | yellow | blue | magenta | cyan | white) 808 * 809 * <p> 810 * <b>Definition:</b> 811 * Describes the color representation for the metric. This is often used to aid clinicians to track and identify parameter types by color. In practice, consider a Patient Monitor that has ECG/HR and Pleth for example; the parameters are displayed in different characteristic colors, such as HR-blue, BP-green, and PR and SpO2- magenta. 812 * </p> 813 */ 814 public DeviceMetric setColor(BoundCodeDt<DeviceMetricColorEnum> theValue) { 815 myColor = theValue; 816 return this; 817 } 818 819 820 821 /** 822 * Sets the value(s) for <b>color</b> (black | red | green | yellow | blue | magenta | cyan | white) 823 * 824 * <p> 825 * <b>Definition:</b> 826 * Describes the color representation for the metric. This is often used to aid clinicians to track and identify parameter types by color. In practice, consider a Patient Monitor that has ECG/HR and Pleth for example; the parameters are displayed in different characteristic colors, such as HR-blue, BP-green, and PR and SpO2- magenta. 827 * </p> 828 */ 829 public DeviceMetric setColor(DeviceMetricColorEnum theValue) { 830 setColor(new BoundCodeDt<DeviceMetricColorEnum>(DeviceMetricColorEnum.VALUESET_BINDER, theValue)); 831 832/* 833 getColorElement().setValueAsEnum(theValue); 834*/ 835 return this; 836 } 837 838 839 /** 840 * Gets the value(s) for <b>category</b> (measurement | setting | calculation | unspecified). 841 * creating it if it does 842 * not exist. Will not return <code>null</code>. 843 * 844 * <p> 845 * <b>Definition:</b> 846 * Indicates the category of the observation generation process. A DeviceMetric can be for example a setting, measurement, or calculation. 847 * </p> 848 */ 849 public BoundCodeDt<DeviceMetricCategoryEnum> getCategoryElement() { 850 if (myCategory == null) { 851 myCategory = new BoundCodeDt<DeviceMetricCategoryEnum>(DeviceMetricCategoryEnum.VALUESET_BINDER); 852 } 853 return myCategory; 854 } 855 856 857 /** 858 * Gets the value(s) for <b>category</b> (measurement | setting | calculation | unspecified). 859 * creating it if it does 860 * not exist. Will not return <code>null</code>. 861 * 862 * <p> 863 * <b>Definition:</b> 864 * Indicates the category of the observation generation process. A DeviceMetric can be for example a setting, measurement, or calculation. 865 * </p> 866 */ 867 public String getCategory() { 868 return getCategoryElement().getValue(); 869 } 870 871 /** 872 * Sets the value(s) for <b>category</b> (measurement | setting | calculation | unspecified) 873 * 874 * <p> 875 * <b>Definition:</b> 876 * Indicates the category of the observation generation process. A DeviceMetric can be for example a setting, measurement, or calculation. 877 * </p> 878 */ 879 public DeviceMetric setCategory(BoundCodeDt<DeviceMetricCategoryEnum> theValue) { 880 myCategory = theValue; 881 return this; 882 } 883 884 885 886 /** 887 * Sets the value(s) for <b>category</b> (measurement | setting | calculation | unspecified) 888 * 889 * <p> 890 * <b>Definition:</b> 891 * Indicates the category of the observation generation process. A DeviceMetric can be for example a setting, measurement, or calculation. 892 * </p> 893 */ 894 public DeviceMetric setCategory(DeviceMetricCategoryEnum theValue) { 895 setCategory(new BoundCodeDt<DeviceMetricCategoryEnum>(DeviceMetricCategoryEnum.VALUESET_BINDER, theValue)); 896 897/* 898 getCategoryElement().setValueAsEnum(theValue); 899*/ 900 return this; 901 } 902 903 904 /** 905 * Gets the value(s) for <b>measurementPeriod</b> (Describes the measurement repetition time). 906 * creating it if it does 907 * not exist. Will not return <code>null</code>. 908 * 909 * <p> 910 * <b>Definition:</b> 911 * Describes the measurement repetition time. This is not necessarily the same as the update period. The measurement repetition time can range from milliseconds up to hours. An example for a measurement repetition time in the range of milliseconds is the sampling rate of an ECG. An example for a measurement repetition time in the range of hours is a NIBP that is triggered automatically every hour. The update period may be different than the measurement repetition time, if the device does not update the published observed value with the same frequency as it was measured. 912 * </p> 913 */ 914 public TimingDt getMeasurementPeriod() { 915 if (myMeasurementPeriod == null) { 916 myMeasurementPeriod = new TimingDt(); 917 } 918 return myMeasurementPeriod; 919 } 920 921 /** 922 * Sets the value(s) for <b>measurementPeriod</b> (Describes the measurement repetition time) 923 * 924 * <p> 925 * <b>Definition:</b> 926 * Describes the measurement repetition time. This is not necessarily the same as the update period. The measurement repetition time can range from milliseconds up to hours. An example for a measurement repetition time in the range of milliseconds is the sampling rate of an ECG. An example for a measurement repetition time in the range of hours is a NIBP that is triggered automatically every hour. The update period may be different than the measurement repetition time, if the device does not update the published observed value with the same frequency as it was measured. 927 * </p> 928 */ 929 public DeviceMetric setMeasurementPeriod(TimingDt theValue) { 930 myMeasurementPeriod = theValue; 931 return this; 932 } 933 934 935 936 937 /** 938 * Gets the value(s) for <b>calibration</b> (Describes the calibrations that have been performed or that are required to be performed). 939 * creating it if it does 940 * not exist. Will not return <code>null</code>. 941 * 942 * <p> 943 * <b>Definition:</b> 944 * Describes the calibrations that have been performed or that are required to be performed 945 * </p> 946 */ 947 public java.util.List<Calibration> getCalibration() { 948 if (myCalibration == null) { 949 myCalibration = new java.util.ArrayList<Calibration>(); 950 } 951 return myCalibration; 952 } 953 954 /** 955 * Sets the value(s) for <b>calibration</b> (Describes the calibrations that have been performed or that are required to be performed) 956 * 957 * <p> 958 * <b>Definition:</b> 959 * Describes the calibrations that have been performed or that are required to be performed 960 * </p> 961 */ 962 public DeviceMetric setCalibration(java.util.List<Calibration> theValue) { 963 myCalibration = theValue; 964 return this; 965 } 966 967 968 969 /** 970 * Adds and returns a new value for <b>calibration</b> (Describes the calibrations that have been performed or that are required to be performed) 971 * 972 * <p> 973 * <b>Definition:</b> 974 * Describes the calibrations that have been performed or that are required to be performed 975 * </p> 976 */ 977 public Calibration addCalibration() { 978 Calibration newType = new Calibration(); 979 getCalibration().add(newType); 980 return newType; 981 } 982 983 /** 984 * Adds a given new value for <b>calibration</b> (Describes the calibrations that have been performed or that are required to be performed) 985 * 986 * <p> 987 * <b>Definition:</b> 988 * Describes the calibrations that have been performed or that are required to be performed 989 * </p> 990 * @param theValue The calibration to add (must not be <code>null</code>) 991 */ 992 public DeviceMetric addCalibration(Calibration theValue) { 993 if (theValue == null) { 994 throw new NullPointerException("theValue must not be null"); 995 } 996 getCalibration().add(theValue); 997 return this; 998 } 999 1000 /** 1001 * Gets the first repetition for <b>calibration</b> (Describes the calibrations that have been performed or that are required to be performed), 1002 * creating it if it does not already exist. 1003 * 1004 * <p> 1005 * <b>Definition:</b> 1006 * Describes the calibrations that have been performed or that are required to be performed 1007 * </p> 1008 */ 1009 public Calibration getCalibrationFirstRep() { 1010 if (getCalibration().isEmpty()) { 1011 return addCalibration(); 1012 } 1013 return getCalibration().get(0); 1014 } 1015 1016 /** 1017 * Block class for child element: <b>DeviceMetric.calibration</b> (Describes the calibrations that have been performed or that are required to be performed) 1018 * 1019 * <p> 1020 * <b>Definition:</b> 1021 * Describes the calibrations that have been performed or that are required to be performed 1022 * </p> 1023 */ 1024 @Block() 1025 public static class Calibration 1026 extends BaseIdentifiableElement implements IResourceBlock { 1027 1028 @Child(name="type", type=CodeDt.class, order=0, min=0, max=1, summary=false, modifier=false) 1029 @Description( 1030 shortDefinition="unspecified | offset | gain | two-point", 1031 formalDefinition="Describes the type of the calibration method." 1032 ) 1033 private BoundCodeDt<DeviceMetricCalibrationTypeEnum> myType; 1034 1035 @Child(name="state", type=CodeDt.class, order=1, min=0, max=1, summary=false, modifier=false) 1036 @Description( 1037 shortDefinition="not-calibrated | calibration-required | calibrated | unspecified", 1038 formalDefinition="Describes the state of the calibration." 1039 ) 1040 private BoundCodeDt<DeviceMetricCalibrationStateEnum> myState; 1041 1042 @Child(name="time", type=InstantDt.class, order=2, min=0, max=1, summary=false, modifier=false) 1043 @Description( 1044 shortDefinition="Describes the time last calibration has been performed", 1045 formalDefinition="Describes the time last calibration has been performed." 1046 ) 1047 private InstantDt myTime; 1048 1049 1050 @Override 1051 public boolean isEmpty() { 1052 return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty( myType, myState, myTime); 1053 } 1054 1055 @Override 1056 public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) { 1057 return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myType, myState, myTime); 1058 } 1059 1060 /** 1061 * Gets the value(s) for <b>type</b> (unspecified | offset | gain | two-point). 1062 * creating it if it does 1063 * not exist. Will not return <code>null</code>. 1064 * 1065 * <p> 1066 * <b>Definition:</b> 1067 * Describes the type of the calibration method. 1068 * </p> 1069 */ 1070 public BoundCodeDt<DeviceMetricCalibrationTypeEnum> getTypeElement() { 1071 if (myType == null) { 1072 myType = new BoundCodeDt<DeviceMetricCalibrationTypeEnum>(DeviceMetricCalibrationTypeEnum.VALUESET_BINDER); 1073 } 1074 return myType; 1075 } 1076 1077 1078 /** 1079 * Gets the value(s) for <b>type</b> (unspecified | offset | gain | two-point). 1080 * creating it if it does 1081 * not exist. Will not return <code>null</code>. 1082 * 1083 * <p> 1084 * <b>Definition:</b> 1085 * Describes the type of the calibration method. 1086 * </p> 1087 */ 1088 public String getType() { 1089 return getTypeElement().getValue(); 1090 } 1091 1092 /** 1093 * Sets the value(s) for <b>type</b> (unspecified | offset | gain | two-point) 1094 * 1095 * <p> 1096 * <b>Definition:</b> 1097 * Describes the type of the calibration method. 1098 * </p> 1099 */ 1100 public Calibration setType(BoundCodeDt<DeviceMetricCalibrationTypeEnum> theValue) { 1101 myType = theValue; 1102 return this; 1103 } 1104 1105 1106 1107 /** 1108 * Sets the value(s) for <b>type</b> (unspecified | offset | gain | two-point) 1109 * 1110 * <p> 1111 * <b>Definition:</b> 1112 * Describes the type of the calibration method. 1113 * </p> 1114 */ 1115 public Calibration setType(DeviceMetricCalibrationTypeEnum theValue) { 1116 setType(new BoundCodeDt<DeviceMetricCalibrationTypeEnum>(DeviceMetricCalibrationTypeEnum.VALUESET_BINDER, theValue)); 1117 1118/* 1119 getTypeElement().setValueAsEnum(theValue); 1120*/ 1121 return this; 1122 } 1123 1124 1125 /** 1126 * Gets the value(s) for <b>state</b> (not-calibrated | calibration-required | calibrated | unspecified). 1127 * creating it if it does 1128 * not exist. Will not return <code>null</code>. 1129 * 1130 * <p> 1131 * <b>Definition:</b> 1132 * Describes the state of the calibration. 1133 * </p> 1134 */ 1135 public BoundCodeDt<DeviceMetricCalibrationStateEnum> getStateElement() { 1136 if (myState == null) { 1137 myState = new BoundCodeDt<DeviceMetricCalibrationStateEnum>(DeviceMetricCalibrationStateEnum.VALUESET_BINDER); 1138 } 1139 return myState; 1140 } 1141 1142 1143 /** 1144 * Gets the value(s) for <b>state</b> (not-calibrated | calibration-required | calibrated | unspecified). 1145 * creating it if it does 1146 * not exist. Will not return <code>null</code>. 1147 * 1148 * <p> 1149 * <b>Definition:</b> 1150 * Describes the state of the calibration. 1151 * </p> 1152 */ 1153 public String getState() { 1154 return getStateElement().getValue(); 1155 } 1156 1157 /** 1158 * Sets the value(s) for <b>state</b> (not-calibrated | calibration-required | calibrated | unspecified) 1159 * 1160 * <p> 1161 * <b>Definition:</b> 1162 * Describes the state of the calibration. 1163 * </p> 1164 */ 1165 public Calibration setState(BoundCodeDt<DeviceMetricCalibrationStateEnum> theValue) { 1166 myState = theValue; 1167 return this; 1168 } 1169 1170 1171 1172 /** 1173 * Sets the value(s) for <b>state</b> (not-calibrated | calibration-required | calibrated | unspecified) 1174 * 1175 * <p> 1176 * <b>Definition:</b> 1177 * Describes the state of the calibration. 1178 * </p> 1179 */ 1180 public Calibration setState(DeviceMetricCalibrationStateEnum theValue) { 1181 setState(new BoundCodeDt<DeviceMetricCalibrationStateEnum>(DeviceMetricCalibrationStateEnum.VALUESET_BINDER, theValue)); 1182 1183/* 1184 getStateElement().setValueAsEnum(theValue); 1185*/ 1186 return this; 1187 } 1188 1189 1190 /** 1191 * Gets the value(s) for <b>time</b> (Describes the time last calibration has been performed). 1192 * creating it if it does 1193 * not exist. Will not return <code>null</code>. 1194 * 1195 * <p> 1196 * <b>Definition:</b> 1197 * Describes the time last calibration has been performed. 1198 * </p> 1199 */ 1200 public InstantDt getTimeElement() { 1201 if (myTime == null) { 1202 myTime = new InstantDt(); 1203 } 1204 return myTime; 1205 } 1206 1207 1208 /** 1209 * Gets the value(s) for <b>time</b> (Describes the time last calibration has been performed). 1210 * creating it if it does 1211 * not exist. Will not return <code>null</code>. 1212 * 1213 * <p> 1214 * <b>Definition:</b> 1215 * Describes the time last calibration has been performed. 1216 * </p> 1217 */ 1218 public Date getTime() { 1219 return getTimeElement().getValue(); 1220 } 1221 1222 /** 1223 * Sets the value(s) for <b>time</b> (Describes the time last calibration has been performed) 1224 * 1225 * <p> 1226 * <b>Definition:</b> 1227 * Describes the time last calibration has been performed. 1228 * </p> 1229 */ 1230 public Calibration setTime(InstantDt theValue) { 1231 myTime = theValue; 1232 return this; 1233 } 1234 1235 1236 1237 /** 1238 * Sets the value for <b>time</b> (Describes the time last calibration has been performed) 1239 * 1240 * <p> 1241 * <b>Definition:</b> 1242 * Describes the time last calibration has been performed. 1243 * </p> 1244 */ 1245 public Calibration setTimeWithMillisPrecision( Date theDate) { 1246 myTime = new InstantDt(theDate); 1247 return this; 1248 } 1249 1250 /** 1251 * Sets the value for <b>time</b> (Describes the time last calibration has been performed) 1252 * 1253 * <p> 1254 * <b>Definition:</b> 1255 * Describes the time last calibration has been performed. 1256 * </p> 1257 */ 1258 public Calibration setTime( Date theDate, TemporalPrecisionEnum thePrecision) { 1259 myTime = new InstantDt(theDate, thePrecision); 1260 return this; 1261 } 1262 1263 1264 1265 1266 } 1267 1268 1269 1270 1271 @Override 1272 public String getResourceName() { 1273 return "DeviceMetric"; 1274 } 1275 1276 public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() { 1277 return ca.uhn.fhir.context.FhirVersionEnum.DSTU2; 1278 } 1279 1280 1281}