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>VisionPrescription</b> Resource
282 * ()
283 *
284 * <p>
285 * <b>Definition:</b>
286 * An authorization for the supply of glasses and/or contact lenses to a patient.
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/VisionPrescription">http://hl7.org/fhir/profiles/VisionPrescription</a> 
297 * </p>
298 *
299 */
300@ResourceDef(name="VisionPrescription", profile="http://hl7.org/fhir/profiles/VisionPrescription", id="visionprescription")
301public class VisionPrescription extends ca.uhn.fhir.model.dstu2.resource.BaseResource
302    implements  IResource 
303    {
304
305        /**
306         * Search parameter constant for <b>datewritten</b>
307         * <p>
308         * Description: <b>Return prescriptions written on this date</b><br>
309         * Type: <b>date</b><br>
310         * Path: <b>VisionPrescription.dateWritten</b><br>
311         * </p>
312         */
313        @SearchParamDefinition(name="datewritten", path="VisionPrescription.dateWritten", description="Return prescriptions written on this date", type="date" 
314 )
315        public static final String SP_DATEWRITTEN = "datewritten";
316
317        /**
318         * <b>Fluent Client</b> search parameter constant for <b>datewritten</b>
319         * <p>
320         * Description: <b>Return prescriptions written on this date</b><br>
321         * Type: <b>date</b><br>
322         * Path: <b>VisionPrescription.dateWritten</b><br>
323         * </p>
324         */
325        public static final DateClientParam DATEWRITTEN = new DateClientParam(SP_DATEWRITTEN);
326
327        /**
328         * Search parameter constant for <b>encounter</b>
329         * <p>
330         * Description: <b>Return prescriptions with this encounter identifier</b><br>
331         * Type: <b>reference</b><br>
332         * Path: <b>VisionPrescription.encounter</b><br>
333         * </p>
334         */
335        @SearchParamDefinition(name="encounter", path="VisionPrescription.encounter", description="Return prescriptions with this encounter identifier", type="reference" 
336, providesMembershipIn={
337 @Compartment(name="Encounter")         }
338 )
339        public static final String SP_ENCOUNTER = "encounter";
340
341        /**
342         * <b>Fluent Client</b> search parameter constant for <b>encounter</b>
343         * <p>
344         * Description: <b>Return prescriptions with this encounter identifier</b><br>
345         * Type: <b>reference</b><br>
346         * Path: <b>VisionPrescription.encounter</b><br>
347         * </p>
348         */
349        public static final ReferenceClientParam ENCOUNTER = new ReferenceClientParam(SP_ENCOUNTER);
350
351        /**
352         * Search parameter constant for <b>identifier</b>
353         * <p>
354         * Description: <b>Return prescriptions with this external identifier</b><br>
355         * Type: <b>token</b><br>
356         * Path: <b>VisionPrescription.identifier</b><br>
357         * </p>
358         */
359        @SearchParamDefinition(name="identifier", path="VisionPrescription.identifier", description="Return prescriptions with this external identifier", type="token" 
360 )
361        public static final String SP_IDENTIFIER = "identifier";
362
363        /**
364         * <b>Fluent Client</b> search parameter constant for <b>identifier</b>
365         * <p>
366         * Description: <b>Return prescriptions with this external identifier</b><br>
367         * Type: <b>token</b><br>
368         * Path: <b>VisionPrescription.identifier</b><br>
369         * </p>
370         */
371        public static final TokenClientParam IDENTIFIER = new TokenClientParam(SP_IDENTIFIER);
372
373        /**
374         * Search parameter constant for <b>patient</b>
375         * <p>
376         * Description: <b>The identity of a patient to list dispenses for</b><br>
377         * Type: <b>reference</b><br>
378         * Path: <b>VisionPrescription.patient</b><br>
379         * </p>
380         */
381        @SearchParamDefinition(name="patient", path="VisionPrescription.patient", description="The identity of a patient to list dispenses for", type="reference" 
382, providesMembershipIn={
383 @Compartment(name="Patient")   }
384 )
385        public static final String SP_PATIENT = "patient";
386
387        /**
388         * <b>Fluent Client</b> search parameter constant for <b>patient</b>
389         * <p>
390         * Description: <b>The identity of a patient to list dispenses for</b><br>
391         * Type: <b>reference</b><br>
392         * Path: <b>VisionPrescription.patient</b><br>
393         * </p>
394         */
395        public static final ReferenceClientParam PATIENT = new ReferenceClientParam(SP_PATIENT);
396
397        /**
398         * Search parameter constant for <b>prescriber</b>
399         * <p>
400         * Description: <b></b><br>
401         * Type: <b>reference</b><br>
402         * Path: <b>VisionPrescription.prescriber</b><br>
403         * </p>
404         */
405        @SearchParamDefinition(name="prescriber", path="VisionPrescription.prescriber", description="", type="reference" 
406, providesMembershipIn={
407 @Compartment(name="RelatedPerson")     }
408 )
409        public static final String SP_PRESCRIBER = "prescriber";
410
411        /**
412         * <b>Fluent Client</b> search parameter constant for <b>prescriber</b>
413         * <p>
414         * Description: <b></b><br>
415         * Type: <b>reference</b><br>
416         * Path: <b>VisionPrescription.prescriber</b><br>
417         * </p>
418         */
419        public static final ReferenceClientParam PRESCRIBER = new ReferenceClientParam(SP_PRESCRIBER);
420
421
422        /**
423         * Constant for fluent queries to be used to add include statements. Specifies
424         * the path value of "<b>VisionPrescription:encounter</b>".
425         */
426        public static final Include INCLUDE_ENCOUNTER = new Include("VisionPrescription:encounter");
427
428        /**
429         * Constant for fluent queries to be used to add include statements. Specifies
430         * the path value of "<b>VisionPrescription:patient</b>".
431         */
432        public static final Include INCLUDE_PATIENT = new Include("VisionPrescription:patient");
433
434        /**
435         * Constant for fluent queries to be used to add include statements. Specifies
436         * the path value of "<b>VisionPrescription:prescriber</b>".
437         */
438        public static final Include INCLUDE_PRESCRIBER = new Include("VisionPrescription:prescriber");
439
440
441        @Child(name="identifier", type=IdentifierDt.class, order=0, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false)      
442        @Description(
443                shortDefinition="",
444                formalDefinition="Business identifier which may be used by other parties to reference or identify the prescription."
445        )
446        private java.util.List<IdentifierDt> myIdentifier;
447        
448        @Child(name="dateWritten", type=DateTimeDt.class, order=1, min=0, max=1, summary=false, modifier=false) 
449        @Description(
450                shortDefinition="",
451                formalDefinition="The date (and perhaps time) when the prescription was written"
452        )
453        private DateTimeDt myDateWritten;
454        
455        @Child(name="patient", order=2, min=0, max=1, summary=false, modifier=false, type={
456                ca.uhn.fhir.model.dstu2.resource.Patient.class
457        })
458        @Description(
459                shortDefinition="",
460                formalDefinition="A link to a resource representing the person to whom the vision products will be supplied."
461        )
462        private ResourceReferenceDt myPatient;
463        
464        @Child(name="prescriber", order=3, min=0, max=1, summary=false, modifier=false, type={
465                ca.uhn.fhir.model.dstu2.resource.Practitioner.class
466        })
467        @Description(
468                shortDefinition="",
469                formalDefinition="The healthcare professional responsible for authorizing the prescription"
470        )
471        private ResourceReferenceDt myPrescriber;
472        
473        @Child(name="encounter", order=4, min=0, max=1, summary=false, modifier=false, type={
474                ca.uhn.fhir.model.dstu2.resource.Encounter.class
475        })
476        @Description(
477                shortDefinition="",
478                formalDefinition="A link to a resource that identifies the particular occurrence of contact between patient and health care provider."
479        )
480        private ResourceReferenceDt myEncounter;
481        
482        @Child(name="reason", order=5, min=0, max=1, summary=false, modifier=false, type={
483                CodeableConceptDt.class, 
484                Condition.class
485        })
486        @Description(
487                shortDefinition="",
488                formalDefinition="Can be the reason or the indication for writing the prescription."
489        )
490        private IDatatype myReason;
491        
492        @Child(name="dispense", order=6, min=0, max=Child.MAX_UNLIMITED, summary=false, modifier=false) 
493        @Description(
494                shortDefinition="",
495                formalDefinition="Deals with details of the dispense part of the supply specification."
496        )
497        private java.util.List<Dispense> myDispense;
498        
499
500        @Override
501        public boolean isEmpty() {
502                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  myIdentifier,  myDateWritten,  myPatient,  myPrescriber,  myEncounter,  myReason,  myDispense);
503        }
504        
505        @Override
506        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
507                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myIdentifier, myDateWritten, myPatient, myPrescriber, myEncounter, myReason, myDispense);
508        }
509
510        /**
511         * Gets the value(s) for <b>identifier</b> ().
512         * creating it if it does
513         * not exist. Will not return <code>null</code>.
514         *
515     * <p>
516     * <b>Definition:</b>
517     * Business identifier which may be used by other parties to reference or identify the prescription.
518     * </p> 
519         */
520        public java.util.List<IdentifierDt> getIdentifier() {  
521                if (myIdentifier == null) {
522                        myIdentifier = new java.util.ArrayList<IdentifierDt>();
523                }
524                return myIdentifier;
525        }
526
527        /**
528         * Sets the value(s) for <b>identifier</b> ()
529         *
530     * <p>
531     * <b>Definition:</b>
532     * Business identifier which may be used by other parties to reference or identify the prescription.
533     * </p> 
534         */
535        public VisionPrescription setIdentifier(java.util.List<IdentifierDt> theValue) {
536                myIdentifier = theValue;
537                return this;
538        }
539        
540        
541
542        /**
543         * Adds and returns a new value for <b>identifier</b> ()
544         *
545     * <p>
546     * <b>Definition:</b>
547     * Business identifier which may be used by other parties to reference or identify the prescription.
548     * </p> 
549         */
550        public IdentifierDt addIdentifier() {
551                IdentifierDt newType = new IdentifierDt();
552                getIdentifier().add(newType);
553                return newType; 
554        }
555
556        /**
557         * Adds a given new value for <b>identifier</b> ()
558         *
559         * <p>
560         * <b>Definition:</b>
561         * Business identifier which may be used by other parties to reference or identify the prescription.
562         * </p>
563         * @param theValue The identifier to add (must not be <code>null</code>)
564         */
565        public VisionPrescription addIdentifier(IdentifierDt theValue) {
566                if (theValue == null) {
567                        throw new NullPointerException("theValue must not be null");
568                }
569                getIdentifier().add(theValue);
570                return this;
571        }
572
573        /**
574         * Gets the first repetition for <b>identifier</b> (),
575         * creating it if it does not already exist.
576         *
577     * <p>
578     * <b>Definition:</b>
579     * Business identifier which may be used by other parties to reference or identify the prescription.
580     * </p> 
581         */
582        public IdentifierDt getIdentifierFirstRep() {
583                if (getIdentifier().isEmpty()) {
584                        return addIdentifier();
585                }
586                return getIdentifier().get(0); 
587        }
588  
589        /**
590         * Gets the value(s) for <b>dateWritten</b> ().
591         * creating it if it does
592         * not exist. Will not return <code>null</code>.
593         *
594     * <p>
595     * <b>Definition:</b>
596     * The date (and perhaps time) when the prescription was written
597     * </p> 
598         */
599        public DateTimeDt getDateWrittenElement() {  
600                if (myDateWritten == null) {
601                        myDateWritten = new DateTimeDt();
602                }
603                return myDateWritten;
604        }
605
606        
607        /**
608         * Gets the value(s) for <b>dateWritten</b> ().
609         * creating it if it does
610         * not exist. This method may return <code>null</code>.
611         *
612     * <p>
613     * <b>Definition:</b>
614     * The date (and perhaps time) when the prescription was written
615     * </p> 
616         */
617        public Date getDateWritten() {  
618                return getDateWrittenElement().getValue();
619        }
620
621        /**
622         * Sets the value(s) for <b>dateWritten</b> ()
623         *
624     * <p>
625     * <b>Definition:</b>
626     * The date (and perhaps time) when the prescription was written
627     * </p> 
628         */
629        public VisionPrescription setDateWritten(DateTimeDt theValue) {
630                myDateWritten = theValue;
631                return this;
632        }
633        
634        
635
636        /**
637         * Sets the value for <b>dateWritten</b> ()
638         *
639     * <p>
640     * <b>Definition:</b>
641     * The date (and perhaps time) when the prescription was written
642     * </p> 
643         */
644        public VisionPrescription setDateWrittenWithSecondsPrecision( Date theDate) {
645                myDateWritten = new DateTimeDt(theDate); 
646                return this; 
647        }
648
649        /**
650         * Sets the value for <b>dateWritten</b> ()
651         *
652     * <p>
653     * <b>Definition:</b>
654     * The date (and perhaps time) when the prescription was written
655     * </p> 
656         */
657        public VisionPrescription setDateWritten( Date theDate,  TemporalPrecisionEnum thePrecision) {
658                myDateWritten = new DateTimeDt(theDate, thePrecision); 
659                return this; 
660        }
661
662 
663        /**
664         * Gets the value(s) for <b>patient</b> ().
665         * creating it if it does
666         * not exist. Will not return <code>null</code>.
667         *
668     * <p>
669     * <b>Definition:</b>
670     * A link to a resource representing the person to whom the vision products will be supplied.
671     * </p> 
672         */
673        public ResourceReferenceDt getPatient() {  
674                if (myPatient == null) {
675                        myPatient = new ResourceReferenceDt();
676                }
677                return myPatient;
678        }
679
680        /**
681         * Sets the value(s) for <b>patient</b> ()
682         *
683     * <p>
684     * <b>Definition:</b>
685     * A link to a resource representing the person to whom the vision products will be supplied.
686     * </p> 
687         */
688        public VisionPrescription setPatient(ResourceReferenceDt theValue) {
689                myPatient = theValue;
690                return this;
691        }
692        
693        
694
695  
696        /**
697         * Gets the value(s) for <b>prescriber</b> ().
698         * creating it if it does
699         * not exist. Will not return <code>null</code>.
700         *
701     * <p>
702     * <b>Definition:</b>
703     * The healthcare professional responsible for authorizing the prescription
704     * </p> 
705         */
706        public ResourceReferenceDt getPrescriber() {  
707                if (myPrescriber == null) {
708                        myPrescriber = new ResourceReferenceDt();
709                }
710                return myPrescriber;
711        }
712
713        /**
714         * Sets the value(s) for <b>prescriber</b> ()
715         *
716     * <p>
717     * <b>Definition:</b>
718     * The healthcare professional responsible for authorizing the prescription
719     * </p> 
720         */
721        public VisionPrescription setPrescriber(ResourceReferenceDt theValue) {
722                myPrescriber = theValue;
723                return this;
724        }
725        
726        
727
728  
729        /**
730         * Gets the value(s) for <b>encounter</b> ().
731         * creating it if it does
732         * not exist. Will not return <code>null</code>.
733         *
734     * <p>
735     * <b>Definition:</b>
736     * A link to a resource that identifies the particular occurrence of contact between patient and health care provider.
737     * </p> 
738         */
739        public ResourceReferenceDt getEncounter() {  
740                if (myEncounter == null) {
741                        myEncounter = new ResourceReferenceDt();
742                }
743                return myEncounter;
744        }
745
746        /**
747         * Sets the value(s) for <b>encounter</b> ()
748         *
749     * <p>
750     * <b>Definition:</b>
751     * A link to a resource that identifies the particular occurrence of contact between patient and health care provider.
752     * </p> 
753         */
754        public VisionPrescription setEncounter(ResourceReferenceDt theValue) {
755                myEncounter = theValue;
756                return this;
757        }
758        
759        
760
761  
762        /**
763         * Gets the value(s) for <b>reason[x]</b> ().
764         * creating it if it does
765         * not exist. Will not return <code>null</code>.
766         *
767     * <p>
768     * <b>Definition:</b>
769     * Can be the reason or the indication for writing the prescription.
770     * </p> 
771         */
772        public IDatatype getReason() {  
773                return myReason;
774        }
775
776        /**
777         * Sets the value(s) for <b>reason[x]</b> ()
778         *
779     * <p>
780     * <b>Definition:</b>
781     * Can be the reason or the indication for writing the prescription.
782     * </p> 
783         */
784        public VisionPrescription setReason(IDatatype theValue) {
785                myReason = theValue;
786                return this;
787        }
788        
789        
790
791  
792        /**
793         * Gets the value(s) for <b>dispense</b> ().
794         * creating it if it does
795         * not exist. Will not return <code>null</code>.
796         *
797     * <p>
798     * <b>Definition:</b>
799     * Deals with details of the dispense part of the supply specification.
800     * </p> 
801         */
802        public java.util.List<Dispense> getDispense() {  
803                if (myDispense == null) {
804                        myDispense = new java.util.ArrayList<Dispense>();
805                }
806                return myDispense;
807        }
808
809        /**
810         * Sets the value(s) for <b>dispense</b> ()
811         *
812     * <p>
813     * <b>Definition:</b>
814     * Deals with details of the dispense part of the supply specification.
815     * </p> 
816         */
817        public VisionPrescription setDispense(java.util.List<Dispense> theValue) {
818                myDispense = theValue;
819                return this;
820        }
821        
822        
823
824        /**
825         * Adds and returns a new value for <b>dispense</b> ()
826         *
827     * <p>
828     * <b>Definition:</b>
829     * Deals with details of the dispense part of the supply specification.
830     * </p> 
831         */
832        public Dispense addDispense() {
833                Dispense newType = new Dispense();
834                getDispense().add(newType);
835                return newType; 
836        }
837
838        /**
839         * Adds a given new value for <b>dispense</b> ()
840         *
841         * <p>
842         * <b>Definition:</b>
843         * Deals with details of the dispense part of the supply specification.
844         * </p>
845         * @param theValue The dispense to add (must not be <code>null</code>)
846         */
847        public VisionPrescription addDispense(Dispense theValue) {
848                if (theValue == null) {
849                        throw new NullPointerException("theValue must not be null");
850                }
851                getDispense().add(theValue);
852                return this;
853        }
854
855        /**
856         * Gets the first repetition for <b>dispense</b> (),
857         * creating it if it does not already exist.
858         *
859     * <p>
860     * <b>Definition:</b>
861     * Deals with details of the dispense part of the supply specification.
862     * </p> 
863         */
864        public Dispense getDispenseFirstRep() {
865                if (getDispense().isEmpty()) {
866                        return addDispense();
867                }
868                return getDispense().get(0); 
869        }
870  
871        /**
872         * Block class for child element: <b>VisionPrescription.dispense</b> ()
873         *
874     * <p>
875     * <b>Definition:</b>
876     * Deals with details of the dispense part of the supply specification.
877     * </p> 
878         */
879        @Block()        
880        public static class Dispense 
881            extends  BaseIdentifiableElement  
882            implements IResourceBlock {
883        
884        @Child(name="product", type=CodingDt.class, order=0, min=1, max=1, summary=false, modifier=false)       
885        @Description(
886                shortDefinition="",
887                formalDefinition="Identifies the type of vision correction product which is required for the patient."
888        )
889        private CodingDt myProduct;
890        
891        @Child(name="eye", type=CodeDt.class, order=1, min=0, max=1, summary=false, modifier=false)     
892        @Description(
893                shortDefinition="",
894                formalDefinition="The eye for which the lens applies."
895        )
896        @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/vision-eye-codes")
897        private BoundCodeDt<VisionEyesEnum> myEye;
898        
899        @Child(name="sphere", type=DecimalDt.class, order=2, min=0, max=1, summary=false, modifier=false)       
900        @Description(
901                shortDefinition="",
902                formalDefinition="Lens power measured in diopters (0.25 units)."
903        )
904        private DecimalDt mySphere;
905        
906        @Child(name="cylinder", type=DecimalDt.class, order=3, min=0, max=1, summary=false, modifier=false)     
907        @Description(
908                shortDefinition="",
909                formalDefinition="Power adjustment for astigmatism measured in diopters (0.25 units)."
910        )
911        private DecimalDt myCylinder;
912        
913        @Child(name="axis", type=IntegerDt.class, order=4, min=0, max=1, summary=false, modifier=false) 
914        @Description(
915                shortDefinition="",
916                formalDefinition="Adjustment for astigmatism measured in integer degrees."
917        )
918        private IntegerDt myAxis;
919        
920        @Child(name="prism", type=DecimalDt.class, order=5, min=0, max=1, summary=false, modifier=false)        
921        @Description(
922                shortDefinition="",
923                formalDefinition="Amount of prism to compensate for eye alignment in fractional units."
924        )
925        private DecimalDt myPrism;
926        
927        @Child(name="base", type=CodeDt.class, order=6, min=0, max=1, summary=false, modifier=false)    
928        @Description(
929                shortDefinition="",
930                formalDefinition="The relative base, or reference lens edge, for the prism."
931        )
932        @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/vision-base-codes")
933        private BoundCodeDt<VisionBaseEnum> myBase;
934        
935        @Child(name="add", type=DecimalDt.class, order=7, min=0, max=1, summary=false, modifier=false)  
936        @Description(
937                shortDefinition="",
938                formalDefinition="Power adjustment for multifocal lenses measured in diopters (0.25 units)."
939        )
940        private DecimalDt myAdd;
941        
942        @Child(name="power", type=DecimalDt.class, order=8, min=0, max=1, summary=false, modifier=false)        
943        @Description(
944                shortDefinition="",
945                formalDefinition="Contact lens power measured in diopters (0.25 units)."
946        )
947        private DecimalDt myPower;
948        
949        @Child(name="backCurve", type=DecimalDt.class, order=9, min=0, max=1, summary=false, modifier=false)    
950        @Description(
951                shortDefinition="",
952                formalDefinition="Back curvature measured in millimeters."
953        )
954        private DecimalDt myBackCurve;
955        
956        @Child(name="diameter", type=DecimalDt.class, order=10, min=0, max=1, summary=false, modifier=false)    
957        @Description(
958                shortDefinition="",
959                formalDefinition="Contact lens diameter measured in millimeters."
960        )
961        private DecimalDt myDiameter;
962        
963        @Child(name="duration", type=SimpleQuantityDt.class, order=11, min=0, max=1, summary=false, modifier=false)     
964        @Description(
965                shortDefinition="",
966                formalDefinition="The recommended maximum wear period for the lens."
967        )
968        private SimpleQuantityDt myDuration;
969        
970        @Child(name="color", type=StringDt.class, order=12, min=0, max=1, summary=false, modifier=false)        
971        @Description(
972                shortDefinition="",
973                formalDefinition="Special color or pattern."
974        )
975        private StringDt myColor;
976        
977        @Child(name="brand", type=StringDt.class, order=13, min=0, max=1, summary=false, modifier=false)        
978        @Description(
979                shortDefinition="",
980                formalDefinition="Brand recommendations or restrictions."
981        )
982        private StringDt myBrand;
983        
984        @Child(name="notes", type=StringDt.class, order=14, min=0, max=1, summary=false, modifier=false)        
985        @Description(
986                shortDefinition="",
987                formalDefinition="Notes for special requirements such as coatings and lens materials."
988        )
989        private StringDt myNotes;
990        
991
992        @Override
993        public boolean isEmpty() {
994                return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(  myProduct,  myEye,  mySphere,  myCylinder,  myAxis,  myPrism,  myBase,  myAdd,  myPower,  myBackCurve,  myDiameter,  myDuration,  myColor,  myBrand,  myNotes);
995        }
996        
997        @Override
998        public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
999                return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myProduct, myEye, mySphere, myCylinder, myAxis, myPrism, myBase, myAdd, myPower, myBackCurve, myDiameter, myDuration, myColor, myBrand, myNotes);
1000        }
1001
1002        /**
1003         * Gets the value(s) for <b>product</b> ().
1004         * creating it if it does
1005         * not exist. Will not return <code>null</code>.
1006         *
1007     * <p>
1008     * <b>Definition:</b>
1009     * Identifies the type of vision correction product which is required for the patient.
1010     * </p> 
1011         */
1012        public CodingDt getProduct() {  
1013                if (myProduct == null) {
1014                        myProduct = new CodingDt();
1015                }
1016                return myProduct;
1017        }
1018
1019        /**
1020         * Sets the value(s) for <b>product</b> ()
1021         *
1022     * <p>
1023     * <b>Definition:</b>
1024     * Identifies the type of vision correction product which is required for the patient.
1025     * </p> 
1026         */
1027        public Dispense setProduct(CodingDt theValue) {
1028                myProduct = theValue;
1029                return this;
1030        }
1031        
1032        
1033
1034  
1035        /**
1036         * Gets the value(s) for <b>eye</b> ().
1037         * creating it if it does
1038         * not exist. Will not return <code>null</code>.
1039         *
1040     * <p>
1041     * <b>Definition:</b>
1042     * The eye for which the lens applies.
1043     * </p> 
1044         */
1045        public BoundCodeDt<VisionEyesEnum> getEyeElement() {  
1046                if (myEye == null) {
1047                        myEye = new BoundCodeDt<VisionEyesEnum>(VisionEyesEnum.VALUESET_BINDER);
1048                }
1049                return myEye;
1050        }
1051
1052        
1053        /**
1054         * Gets the value(s) for <b>eye</b> ().
1055         * creating it if it does
1056         * not exist. This method may return <code>null</code>.
1057         *
1058     * <p>
1059     * <b>Definition:</b>
1060     * The eye for which the lens applies.
1061     * </p> 
1062         */
1063        public String getEye() {  
1064                return getEyeElement().getValue();
1065        }
1066
1067        /**
1068         * Sets the value(s) for <b>eye</b> ()
1069         *
1070     * <p>
1071     * <b>Definition:</b>
1072     * The eye for which the lens applies.
1073     * </p> 
1074         */
1075        public Dispense setEye(BoundCodeDt<VisionEyesEnum> theValue) {
1076                myEye = theValue;
1077                return this;
1078        }
1079        
1080        
1081
1082        /**
1083         * Sets the value(s) for <b>eye</b> ()
1084         *
1085     * <p>
1086     * <b>Definition:</b>
1087     * The eye for which the lens applies.
1088     * </p> 
1089         */
1090        public Dispense setEye(VisionEyesEnum theValue) {
1091                setEye(new BoundCodeDt<VisionEyesEnum>(VisionEyesEnum.VALUESET_BINDER, theValue));
1092                
1093/*
1094                getEyeElement().setValueAsEnum(theValue);
1095*/
1096                return this;
1097        }
1098
1099  
1100        /**
1101         * Gets the value(s) for <b>sphere</b> ().
1102         * creating it if it does
1103         * not exist. Will not return <code>null</code>.
1104         *
1105     * <p>
1106     * <b>Definition:</b>
1107     * Lens power measured in diopters (0.25 units).
1108     * </p> 
1109         */
1110        public DecimalDt getSphereElement() {  
1111                if (mySphere == null) {
1112                        mySphere = new DecimalDt();
1113                }
1114                return mySphere;
1115        }
1116
1117        
1118        /**
1119         * Gets the value(s) for <b>sphere</b> ().
1120         * creating it if it does
1121         * not exist. This method may return <code>null</code>.
1122         *
1123     * <p>
1124     * <b>Definition:</b>
1125     * Lens power measured in diopters (0.25 units).
1126     * </p> 
1127         */
1128        public BigDecimal getSphere() {  
1129                return getSphereElement().getValue();
1130        }
1131
1132        /**
1133         * Sets the value(s) for <b>sphere</b> ()
1134         *
1135     * <p>
1136     * <b>Definition:</b>
1137     * Lens power measured in diopters (0.25 units).
1138     * </p> 
1139         */
1140        public Dispense setSphere(DecimalDt theValue) {
1141                mySphere = theValue;
1142                return this;
1143        }
1144        
1145        
1146
1147        /**
1148         * Sets the value for <b>sphere</b> ()
1149         *
1150     * <p>
1151     * <b>Definition:</b>
1152     * Lens power measured in diopters (0.25 units).
1153     * </p> 
1154         */
1155        public Dispense setSphere( long theValue) {
1156                mySphere = new DecimalDt(theValue); 
1157                return this; 
1158        }
1159
1160        /**
1161         * Sets the value for <b>sphere</b> ()
1162         *
1163     * <p>
1164     * <b>Definition:</b>
1165     * Lens power measured in diopters (0.25 units).
1166     * </p> 
1167         */
1168        public Dispense setSphere( double theValue) {
1169                mySphere = new DecimalDt(theValue); 
1170                return this; 
1171        }
1172
1173        /**
1174         * Sets the value for <b>sphere</b> ()
1175         *
1176     * <p>
1177     * <b>Definition:</b>
1178     * Lens power measured in diopters (0.25 units).
1179     * </p> 
1180         */
1181        public Dispense setSphere( java.math.BigDecimal theValue) {
1182                mySphere = new DecimalDt(theValue); 
1183                return this; 
1184        }
1185
1186 
1187        /**
1188         * Gets the value(s) for <b>cylinder</b> ().
1189         * creating it if it does
1190         * not exist. Will not return <code>null</code>.
1191         *
1192     * <p>
1193     * <b>Definition:</b>
1194     * Power adjustment for astigmatism measured in diopters (0.25 units).
1195     * </p> 
1196         */
1197        public DecimalDt getCylinderElement() {  
1198                if (myCylinder == null) {
1199                        myCylinder = new DecimalDt();
1200                }
1201                return myCylinder;
1202        }
1203
1204        
1205        /**
1206         * Gets the value(s) for <b>cylinder</b> ().
1207         * creating it if it does
1208         * not exist. This method may return <code>null</code>.
1209         *
1210     * <p>
1211     * <b>Definition:</b>
1212     * Power adjustment for astigmatism measured in diopters (0.25 units).
1213     * </p> 
1214         */
1215        public BigDecimal getCylinder() {  
1216                return getCylinderElement().getValue();
1217        }
1218
1219        /**
1220         * Sets the value(s) for <b>cylinder</b> ()
1221         *
1222     * <p>
1223     * <b>Definition:</b>
1224     * Power adjustment for astigmatism measured in diopters (0.25 units).
1225     * </p> 
1226         */
1227        public Dispense setCylinder(DecimalDt theValue) {
1228                myCylinder = theValue;
1229                return this;
1230        }
1231        
1232        
1233
1234        /**
1235         * Sets the value for <b>cylinder</b> ()
1236         *
1237     * <p>
1238     * <b>Definition:</b>
1239     * Power adjustment for astigmatism measured in diopters (0.25 units).
1240     * </p> 
1241         */
1242        public Dispense setCylinder( long theValue) {
1243                myCylinder = new DecimalDt(theValue); 
1244                return this; 
1245        }
1246
1247        /**
1248         * Sets the value for <b>cylinder</b> ()
1249         *
1250     * <p>
1251     * <b>Definition:</b>
1252     * Power adjustment for astigmatism measured in diopters (0.25 units).
1253     * </p> 
1254         */
1255        public Dispense setCylinder( double theValue) {
1256                myCylinder = new DecimalDt(theValue); 
1257                return this; 
1258        }
1259
1260        /**
1261         * Sets the value for <b>cylinder</b> ()
1262         *
1263     * <p>
1264     * <b>Definition:</b>
1265     * Power adjustment for astigmatism measured in diopters (0.25 units).
1266     * </p> 
1267         */
1268        public Dispense setCylinder( java.math.BigDecimal theValue) {
1269                myCylinder = new DecimalDt(theValue); 
1270                return this; 
1271        }
1272
1273 
1274        /**
1275         * Gets the value(s) for <b>axis</b> ().
1276         * creating it if it does
1277         * not exist. Will not return <code>null</code>.
1278         *
1279     * <p>
1280     * <b>Definition:</b>
1281     * Adjustment for astigmatism measured in integer degrees.
1282     * </p> 
1283         */
1284        public IntegerDt getAxisElement() {  
1285                if (myAxis == null) {
1286                        myAxis = new IntegerDt();
1287                }
1288                return myAxis;
1289        }
1290
1291        
1292        /**
1293         * Gets the value(s) for <b>axis</b> ().
1294         * creating it if it does
1295         * not exist. This method may return <code>null</code>.
1296         *
1297     * <p>
1298     * <b>Definition:</b>
1299     * Adjustment for astigmatism measured in integer degrees.
1300     * </p> 
1301         */
1302        public Integer getAxis() {  
1303                return getAxisElement().getValue();
1304        }
1305
1306        /**
1307         * Sets the value(s) for <b>axis</b> ()
1308         *
1309     * <p>
1310     * <b>Definition:</b>
1311     * Adjustment for astigmatism measured in integer degrees.
1312     * </p> 
1313         */
1314        public Dispense setAxis(IntegerDt theValue) {
1315                myAxis = theValue;
1316                return this;
1317        }
1318        
1319        
1320
1321        /**
1322         * Sets the value for <b>axis</b> ()
1323         *
1324     * <p>
1325     * <b>Definition:</b>
1326     * Adjustment for astigmatism measured in integer degrees.
1327     * </p> 
1328         */
1329        public Dispense setAxis( int theInteger) {
1330                myAxis = new IntegerDt(theInteger); 
1331                return this; 
1332        }
1333
1334 
1335        /**
1336         * Gets the value(s) for <b>prism</b> ().
1337         * creating it if it does
1338         * not exist. Will not return <code>null</code>.
1339         *
1340     * <p>
1341     * <b>Definition:</b>
1342     * Amount of prism to compensate for eye alignment in fractional units.
1343     * </p> 
1344         */
1345        public DecimalDt getPrismElement() {  
1346                if (myPrism == null) {
1347                        myPrism = new DecimalDt();
1348                }
1349                return myPrism;
1350        }
1351
1352        
1353        /**
1354         * Gets the value(s) for <b>prism</b> ().
1355         * creating it if it does
1356         * not exist. This method may return <code>null</code>.
1357         *
1358     * <p>
1359     * <b>Definition:</b>
1360     * Amount of prism to compensate for eye alignment in fractional units.
1361     * </p> 
1362         */
1363        public BigDecimal getPrism() {  
1364                return getPrismElement().getValue();
1365        }
1366
1367        /**
1368         * Sets the value(s) for <b>prism</b> ()
1369         *
1370     * <p>
1371     * <b>Definition:</b>
1372     * Amount of prism to compensate for eye alignment in fractional units.
1373     * </p> 
1374         */
1375        public Dispense setPrism(DecimalDt theValue) {
1376                myPrism = theValue;
1377                return this;
1378        }
1379        
1380        
1381
1382        /**
1383         * Sets the value for <b>prism</b> ()
1384         *
1385     * <p>
1386     * <b>Definition:</b>
1387     * Amount of prism to compensate for eye alignment in fractional units.
1388     * </p> 
1389         */
1390        public Dispense setPrism( long theValue) {
1391                myPrism = new DecimalDt(theValue); 
1392                return this; 
1393        }
1394
1395        /**
1396         * Sets the value for <b>prism</b> ()
1397         *
1398     * <p>
1399     * <b>Definition:</b>
1400     * Amount of prism to compensate for eye alignment in fractional units.
1401     * </p> 
1402         */
1403        public Dispense setPrism( double theValue) {
1404                myPrism = new DecimalDt(theValue); 
1405                return this; 
1406        }
1407
1408        /**
1409         * Sets the value for <b>prism</b> ()
1410         *
1411     * <p>
1412     * <b>Definition:</b>
1413     * Amount of prism to compensate for eye alignment in fractional units.
1414     * </p> 
1415         */
1416        public Dispense setPrism( java.math.BigDecimal theValue) {
1417                myPrism = new DecimalDt(theValue); 
1418                return this; 
1419        }
1420
1421 
1422        /**
1423         * Gets the value(s) for <b>base</b> ().
1424         * creating it if it does
1425         * not exist. Will not return <code>null</code>.
1426         *
1427     * <p>
1428     * <b>Definition:</b>
1429     * The relative base, or reference lens edge, for the prism.
1430     * </p> 
1431         */
1432        public BoundCodeDt<VisionBaseEnum> getBaseElement() {  
1433                if (myBase == null) {
1434                        myBase = new BoundCodeDt<VisionBaseEnum>(VisionBaseEnum.VALUESET_BINDER);
1435                }
1436                return myBase;
1437        }
1438
1439        
1440        /**
1441         * Gets the value(s) for <b>base</b> ().
1442         * creating it if it does
1443         * not exist. This method may return <code>null</code>.
1444         *
1445     * <p>
1446     * <b>Definition:</b>
1447     * The relative base, or reference lens edge, for the prism.
1448     * </p> 
1449         */
1450        public String getBase() {  
1451                return getBaseElement().getValue();
1452        }
1453
1454        /**
1455         * Sets the value(s) for <b>base</b> ()
1456         *
1457     * <p>
1458     * <b>Definition:</b>
1459     * The relative base, or reference lens edge, for the prism.
1460     * </p> 
1461         */
1462        public Dispense setBase(BoundCodeDt<VisionBaseEnum> theValue) {
1463                myBase = theValue;
1464                return this;
1465        }
1466        
1467        
1468
1469        /**
1470         * Sets the value(s) for <b>base</b> ()
1471         *
1472     * <p>
1473     * <b>Definition:</b>
1474     * The relative base, or reference lens edge, for the prism.
1475     * </p> 
1476         */
1477        public Dispense setBase(VisionBaseEnum theValue) {
1478                setBase(new BoundCodeDt<VisionBaseEnum>(VisionBaseEnum.VALUESET_BINDER, theValue));
1479                
1480/*
1481                getBaseElement().setValueAsEnum(theValue);
1482*/
1483                return this;
1484        }
1485
1486  
1487        /**
1488         * Gets the value(s) for <b>add</b> ().
1489         * creating it if it does
1490         * not exist. Will not return <code>null</code>.
1491         *
1492     * <p>
1493     * <b>Definition:</b>
1494     * Power adjustment for multifocal lenses measured in diopters (0.25 units).
1495     * </p> 
1496         */
1497        public DecimalDt getAddElement() {  
1498                if (myAdd == null) {
1499                        myAdd = new DecimalDt();
1500                }
1501                return myAdd;
1502        }
1503
1504        
1505        /**
1506         * Gets the value(s) for <b>add</b> ().
1507         * creating it if it does
1508         * not exist. This method may return <code>null</code>.
1509         *
1510     * <p>
1511     * <b>Definition:</b>
1512     * Power adjustment for multifocal lenses measured in diopters (0.25 units).
1513     * </p> 
1514         */
1515        public BigDecimal getAdd() {  
1516                return getAddElement().getValue();
1517        }
1518
1519        /**
1520         * Sets the value(s) for <b>add</b> ()
1521         *
1522     * <p>
1523     * <b>Definition:</b>
1524     * Power adjustment for multifocal lenses measured in diopters (0.25 units).
1525     * </p> 
1526         */
1527        public Dispense setAdd(DecimalDt theValue) {
1528                myAdd = theValue;
1529                return this;
1530        }
1531        
1532        
1533
1534        /**
1535         * Sets the value for <b>add</b> ()
1536         *
1537     * <p>
1538     * <b>Definition:</b>
1539     * Power adjustment for multifocal lenses measured in diopters (0.25 units).
1540     * </p> 
1541         */
1542        public Dispense setAdd( long theValue) {
1543                myAdd = new DecimalDt(theValue); 
1544                return this; 
1545        }
1546
1547        /**
1548         * Sets the value for <b>add</b> ()
1549         *
1550     * <p>
1551     * <b>Definition:</b>
1552     * Power adjustment for multifocal lenses measured in diopters (0.25 units).
1553     * </p> 
1554         */
1555        public Dispense setAdd( double theValue) {
1556                myAdd = new DecimalDt(theValue); 
1557                return this; 
1558        }
1559
1560        /**
1561         * Sets the value for <b>add</b> ()
1562         *
1563     * <p>
1564     * <b>Definition:</b>
1565     * Power adjustment for multifocal lenses measured in diopters (0.25 units).
1566     * </p> 
1567         */
1568        public Dispense setAdd( java.math.BigDecimal theValue) {
1569                myAdd = new DecimalDt(theValue); 
1570                return this; 
1571        }
1572
1573 
1574        /**
1575         * Gets the value(s) for <b>power</b> ().
1576         * creating it if it does
1577         * not exist. Will not return <code>null</code>.
1578         *
1579     * <p>
1580     * <b>Definition:</b>
1581     * Contact lens power measured in diopters (0.25 units).
1582     * </p> 
1583         */
1584        public DecimalDt getPowerElement() {  
1585                if (myPower == null) {
1586                        myPower = new DecimalDt();
1587                }
1588                return myPower;
1589        }
1590
1591        
1592        /**
1593         * Gets the value(s) for <b>power</b> ().
1594         * creating it if it does
1595         * not exist. This method may return <code>null</code>.
1596         *
1597     * <p>
1598     * <b>Definition:</b>
1599     * Contact lens power measured in diopters (0.25 units).
1600     * </p> 
1601         */
1602        public BigDecimal getPower() {  
1603                return getPowerElement().getValue();
1604        }
1605
1606        /**
1607         * Sets the value(s) for <b>power</b> ()
1608         *
1609     * <p>
1610     * <b>Definition:</b>
1611     * Contact lens power measured in diopters (0.25 units).
1612     * </p> 
1613         */
1614        public Dispense setPower(DecimalDt theValue) {
1615                myPower = theValue;
1616                return this;
1617        }
1618        
1619        
1620
1621        /**
1622         * Sets the value for <b>power</b> ()
1623         *
1624     * <p>
1625     * <b>Definition:</b>
1626     * Contact lens power measured in diopters (0.25 units).
1627     * </p> 
1628         */
1629        public Dispense setPower( long theValue) {
1630                myPower = new DecimalDt(theValue); 
1631                return this; 
1632        }
1633
1634        /**
1635         * Sets the value for <b>power</b> ()
1636         *
1637     * <p>
1638     * <b>Definition:</b>
1639     * Contact lens power measured in diopters (0.25 units).
1640     * </p> 
1641         */
1642        public Dispense setPower( double theValue) {
1643                myPower = new DecimalDt(theValue); 
1644                return this; 
1645        }
1646
1647        /**
1648         * Sets the value for <b>power</b> ()
1649         *
1650     * <p>
1651     * <b>Definition:</b>
1652     * Contact lens power measured in diopters (0.25 units).
1653     * </p> 
1654         */
1655        public Dispense setPower( java.math.BigDecimal theValue) {
1656                myPower = new DecimalDt(theValue); 
1657                return this; 
1658        }
1659
1660 
1661        /**
1662         * Gets the value(s) for <b>backCurve</b> ().
1663         * creating it if it does
1664         * not exist. Will not return <code>null</code>.
1665         *
1666     * <p>
1667     * <b>Definition:</b>
1668     * Back curvature measured in millimeters.
1669     * </p> 
1670         */
1671        public DecimalDt getBackCurveElement() {  
1672                if (myBackCurve == null) {
1673                        myBackCurve = new DecimalDt();
1674                }
1675                return myBackCurve;
1676        }
1677
1678        
1679        /**
1680         * Gets the value(s) for <b>backCurve</b> ().
1681         * creating it if it does
1682         * not exist. This method may return <code>null</code>.
1683         *
1684     * <p>
1685     * <b>Definition:</b>
1686     * Back curvature measured in millimeters.
1687     * </p> 
1688         */
1689        public BigDecimal getBackCurve() {  
1690                return getBackCurveElement().getValue();
1691        }
1692
1693        /**
1694         * Sets the value(s) for <b>backCurve</b> ()
1695         *
1696     * <p>
1697     * <b>Definition:</b>
1698     * Back curvature measured in millimeters.
1699     * </p> 
1700         */
1701        public Dispense setBackCurve(DecimalDt theValue) {
1702                myBackCurve = theValue;
1703                return this;
1704        }
1705        
1706        
1707
1708        /**
1709         * Sets the value for <b>backCurve</b> ()
1710         *
1711     * <p>
1712     * <b>Definition:</b>
1713     * Back curvature measured in millimeters.
1714     * </p> 
1715         */
1716        public Dispense setBackCurve( long theValue) {
1717                myBackCurve = new DecimalDt(theValue); 
1718                return this; 
1719        }
1720
1721        /**
1722         * Sets the value for <b>backCurve</b> ()
1723         *
1724     * <p>
1725     * <b>Definition:</b>
1726     * Back curvature measured in millimeters.
1727     * </p> 
1728         */
1729        public Dispense setBackCurve( double theValue) {
1730                myBackCurve = new DecimalDt(theValue); 
1731                return this; 
1732        }
1733
1734        /**
1735         * Sets the value for <b>backCurve</b> ()
1736         *
1737     * <p>
1738     * <b>Definition:</b>
1739     * Back curvature measured in millimeters.
1740     * </p> 
1741         */
1742        public Dispense setBackCurve( java.math.BigDecimal theValue) {
1743                myBackCurve = new DecimalDt(theValue); 
1744                return this; 
1745        }
1746
1747 
1748        /**
1749         * Gets the value(s) for <b>diameter</b> ().
1750         * creating it if it does
1751         * not exist. Will not return <code>null</code>.
1752         *
1753     * <p>
1754     * <b>Definition:</b>
1755     * Contact lens diameter measured in millimeters.
1756     * </p> 
1757         */
1758        public DecimalDt getDiameterElement() {  
1759                if (myDiameter == null) {
1760                        myDiameter = new DecimalDt();
1761                }
1762                return myDiameter;
1763        }
1764
1765        
1766        /**
1767         * Gets the value(s) for <b>diameter</b> ().
1768         * creating it if it does
1769         * not exist. This method may return <code>null</code>.
1770         *
1771     * <p>
1772     * <b>Definition:</b>
1773     * Contact lens diameter measured in millimeters.
1774     * </p> 
1775         */
1776        public BigDecimal getDiameter() {  
1777                return getDiameterElement().getValue();
1778        }
1779
1780        /**
1781         * Sets the value(s) for <b>diameter</b> ()
1782         *
1783     * <p>
1784     * <b>Definition:</b>
1785     * Contact lens diameter measured in millimeters.
1786     * </p> 
1787         */
1788        public Dispense setDiameter(DecimalDt theValue) {
1789                myDiameter = theValue;
1790                return this;
1791        }
1792        
1793        
1794
1795        /**
1796         * Sets the value for <b>diameter</b> ()
1797         *
1798     * <p>
1799     * <b>Definition:</b>
1800     * Contact lens diameter measured in millimeters.
1801     * </p> 
1802         */
1803        public Dispense setDiameter( long theValue) {
1804                myDiameter = new DecimalDt(theValue); 
1805                return this; 
1806        }
1807
1808        /**
1809         * Sets the value for <b>diameter</b> ()
1810         *
1811     * <p>
1812     * <b>Definition:</b>
1813     * Contact lens diameter measured in millimeters.
1814     * </p> 
1815         */
1816        public Dispense setDiameter( double theValue) {
1817                myDiameter = new DecimalDt(theValue); 
1818                return this; 
1819        }
1820
1821        /**
1822         * Sets the value for <b>diameter</b> ()
1823         *
1824     * <p>
1825     * <b>Definition:</b>
1826     * Contact lens diameter measured in millimeters.
1827     * </p> 
1828         */
1829        public Dispense setDiameter( java.math.BigDecimal theValue) {
1830                myDiameter = new DecimalDt(theValue); 
1831                return this; 
1832        }
1833
1834 
1835        /**
1836         * Gets the value(s) for <b>duration</b> ().
1837         * creating it if it does
1838         * not exist. Will not return <code>null</code>.
1839         *
1840     * <p>
1841     * <b>Definition:</b>
1842     * The recommended maximum wear period for the lens.
1843     * </p> 
1844         */
1845        public SimpleQuantityDt getDuration() {  
1846                if (myDuration == null) {
1847                        myDuration = new SimpleQuantityDt();
1848                }
1849                return myDuration;
1850        }
1851
1852        /**
1853         * Sets the value(s) for <b>duration</b> ()
1854         *
1855     * <p>
1856     * <b>Definition:</b>
1857     * The recommended maximum wear period for the lens.
1858     * </p> 
1859         */
1860        public Dispense setDuration(SimpleQuantityDt theValue) {
1861                myDuration = theValue;
1862                return this;
1863        }
1864        
1865        
1866
1867  
1868        /**
1869         * Gets the value(s) for <b>color</b> ().
1870         * creating it if it does
1871         * not exist. Will not return <code>null</code>.
1872         *
1873     * <p>
1874     * <b>Definition:</b>
1875     * Special color or pattern.
1876     * </p> 
1877         */
1878        public StringDt getColorElement() {  
1879                if (myColor == null) {
1880                        myColor = new StringDt();
1881                }
1882                return myColor;
1883        }
1884
1885        
1886        /**
1887         * Gets the value(s) for <b>color</b> ().
1888         * creating it if it does
1889         * not exist. This method may return <code>null</code>.
1890         *
1891     * <p>
1892     * <b>Definition:</b>
1893     * Special color or pattern.
1894     * </p> 
1895         */
1896        public String getColor() {  
1897                return getColorElement().getValue();
1898        }
1899
1900        /**
1901         * Sets the value(s) for <b>color</b> ()
1902         *
1903     * <p>
1904     * <b>Definition:</b>
1905     * Special color or pattern.
1906     * </p> 
1907         */
1908        public Dispense setColor(StringDt theValue) {
1909                myColor = theValue;
1910                return this;
1911        }
1912        
1913        
1914
1915        /**
1916         * Sets the value for <b>color</b> ()
1917         *
1918     * <p>
1919     * <b>Definition:</b>
1920     * Special color or pattern.
1921     * </p> 
1922         */
1923        public Dispense setColor( String theString) {
1924                myColor = new StringDt(theString); 
1925                return this; 
1926        }
1927
1928 
1929        /**
1930         * Gets the value(s) for <b>brand</b> ().
1931         * creating it if it does
1932         * not exist. Will not return <code>null</code>.
1933         *
1934     * <p>
1935     * <b>Definition:</b>
1936     * Brand recommendations or restrictions.
1937     * </p> 
1938         */
1939        public StringDt getBrandElement() {  
1940                if (myBrand == null) {
1941                        myBrand = new StringDt();
1942                }
1943                return myBrand;
1944        }
1945
1946        
1947        /**
1948         * Gets the value(s) for <b>brand</b> ().
1949         * creating it if it does
1950         * not exist. This method may return <code>null</code>.
1951         *
1952     * <p>
1953     * <b>Definition:</b>
1954     * Brand recommendations or restrictions.
1955     * </p> 
1956         */
1957        public String getBrand() {  
1958                return getBrandElement().getValue();
1959        }
1960
1961        /**
1962         * Sets the value(s) for <b>brand</b> ()
1963         *
1964     * <p>
1965     * <b>Definition:</b>
1966     * Brand recommendations or restrictions.
1967     * </p> 
1968         */
1969        public Dispense setBrand(StringDt theValue) {
1970                myBrand = theValue;
1971                return this;
1972        }
1973        
1974        
1975
1976        /**
1977         * Sets the value for <b>brand</b> ()
1978         *
1979     * <p>
1980     * <b>Definition:</b>
1981     * Brand recommendations or restrictions.
1982     * </p> 
1983         */
1984        public Dispense setBrand( String theString) {
1985                myBrand = new StringDt(theString); 
1986                return this; 
1987        }
1988
1989 
1990        /**
1991         * Gets the value(s) for <b>notes</b> ().
1992         * creating it if it does
1993         * not exist. Will not return <code>null</code>.
1994         *
1995     * <p>
1996     * <b>Definition:</b>
1997     * Notes for special requirements such as coatings and lens materials.
1998     * </p> 
1999         */
2000        public StringDt getNotesElement() {  
2001                if (myNotes == null) {
2002                        myNotes = new StringDt();
2003                }
2004                return myNotes;
2005        }
2006
2007        
2008        /**
2009         * Gets the value(s) for <b>notes</b> ().
2010         * creating it if it does
2011         * not exist. This method may return <code>null</code>.
2012         *
2013     * <p>
2014     * <b>Definition:</b>
2015     * Notes for special requirements such as coatings and lens materials.
2016     * </p> 
2017         */
2018        public String getNotes() {  
2019                return getNotesElement().getValue();
2020        }
2021
2022        /**
2023         * Sets the value(s) for <b>notes</b> ()
2024         *
2025     * <p>
2026     * <b>Definition:</b>
2027     * Notes for special requirements such as coatings and lens materials.
2028     * </p> 
2029         */
2030        public Dispense setNotes(StringDt theValue) {
2031                myNotes = theValue;
2032                return this;
2033        }
2034        
2035        
2036
2037        /**
2038         * Sets the value for <b>notes</b> ()
2039         *
2040     * <p>
2041     * <b>Definition:</b>
2042     * Notes for special requirements such as coatings and lens materials.
2043     * </p> 
2044         */
2045        public Dispense setNotes( String theString) {
2046                myNotes = new StringDt(theString); 
2047                return this; 
2048        }
2049
2050 
2051
2052
2053        }
2054
2055
2056
2057
2058    @Override
2059    public String getResourceName() {
2060        return "VisionPrescription";
2061    }
2062    
2063    public ca.uhn.fhir.context.FhirVersionEnum getStructureFhirVersionEnum() {
2064        return ca.uhn.fhir.context.FhirVersionEnum.DSTU2;
2065    }
2066
2067
2068}