This page is part of the FHIR Specification v4.3.0-snapshot1: R4B Snapshot to support the Jan 2022 Connectathon. About the R4B version of FHIR. The current officially released version is 4.3.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2
Financial Management Work Group | Maturity Level: 2 | Trial Use | Security Category: Patient | Compartments: Encounter, Patient, Practitioner |
An authorization for the provision of glasses and/or contact lenses to a patient.
The VisionPrescription resource is intended to support the information requirements for a prescription for glasses and contact lenses for a patient. Corrective optical lenses are considered a controlled substance and therefore a prescription is typically required for the provision of patient-specific lenses.
Vision prescriptions may only be issued by providers who have optical diagnosis within their scope of practice, typically ophthalmologists and optometrists. The prescription is a time-limited, typically two years, authorization for the provision of an unlimited number of lenses, glasses or contacts, which conform to the authorized specification by providers which have lens provision within their scope of practice, typically ophthalmologists , optometrists and opticians.
Health insurers typically require a copy of the prescription to ensure that a vision professional has examined the patient and that the power of the lenses exceeds some minimum, such as +- 0.75 diopters, to qualify for reimbursement under the insurance coverage.
The VisionPrescription resource is an "request" resource from a FHIR workflow perspective - see Workflow Request.
Additional information regarding resources conveying electronic claims content and usage may be found at:
The VisionPrescription resource is used to provide the authorized specification of lenses for glasses and contacts which have well known and internationally consistent requirements, which is distinct from other types of health care authorizations detailed below.
The health care domain includes a number of related resourcesVisionPrescription | The VisionPrescription resource is used to provide the authorized specification of lenses for glasses and contacts. |
DeviceRequest | This resource is used to prescribe, authorize, and request provision of a health care device such as a halter monitor or a wheelchair services. |
MedicationRequest | This resource is used to prescribe, authorize, and request provision of medications such a pharmaceuticals and vaccines. |
ServiceRequest | This resource is used to prescribe, authorize, and request provision of health care services such as consultative or rehabilitative services. |
This resource is referenced by CarePlan, Claim and ExplanationOfBenefit.
This resource implements the Request pattern.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
VisionPrescription | TU | DomainResource | Prescription for vision correction products for a patient Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | 0..* | Identifier | Business Identifier for vision prescription | |
status | ?!Σ | 1..1 | code | active | cancelled | draft | entered-in-error Financial Resource Status Codes (Required) |
created | Σ | 1..1 | dateTime | Response creation date |
patient | Σ | 1..1 | Reference(Patient) | Who prescription is for |
encounter | 0..1 | Reference(Encounter) | Created during encounter / admission / stay | |
dateWritten | Σ | 1..1 | dateTime | When prescription was authorized |
prescriber | Σ | 1..1 | Reference(Practitioner | PractitionerRole) | Who authorized the vision prescription |
lensSpecification | Σ | 1..* | BackboneElement | Vision lens authorization |
product | Σ | 1..1 | CodeableConcept | Product to be supplied Example Vision Prescription Product Codes (Example) |
eye | Σ | 1..1 | code | right | left VisionEyes (Required) |
sphere | 0..1 | decimal | Power of the lens | |
cylinder | 0..1 | decimal | Lens power for astigmatism | |
axis | 0..1 | integer | Lens meridian which contain no power for astigmatism | |
prism | 0..* | BackboneElement | Eye alignment compensation | |
amount | 1..1 | decimal | Amount of adjustment | |
base | 1..1 | code | up | down | in | out VisionBase (Required) | |
add | 0..1 | decimal | Added power for multifocal levels | |
power | 0..1 | decimal | Contact lens power | |
backCurve | 0..1 | decimal | Contact lens back curvature | |
diameter | 0..1 | decimal | Contact lens diameter | |
duration | 0..1 | SimpleQuantity | Lens wear duration | |
color | 0..1 | string | Color required | |
brand | 0..1 | string | Brand required | |
note | 0..* | Annotation | Notes for coatings | |
Documentation for this format |
UML Diagram (Legend)
XML Template
<VisionPrescription xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Business Identifier for vision prescription --></identifier> <status value="[code]"/><!-- 1..1 active | cancelled | draft | entered-in-error --> <created value="[dateTime]"/><!-- 1..1 Response creation date --> <patient><!-- 1..1 Reference(Patient) Who prescription is for --></patient> <encounter><!-- 0..1 Reference(Encounter) Created during encounter / admission / stay --></encounter> <dateWritten value="[dateTime]"/><!-- 1..1 When prescription was authorized --> <prescriber><!-- 1..1 Reference(Practitioner|PractitionerRole) Who authorized the vision prescription --></prescriber> <lensSpecification> <!-- 1..* Vision lens authorization --> <product><!-- 1..1 CodeableConcept Product to be supplied --></product> <eye value="[code]"/><!-- 1..1 right | left --> <sphere value="[decimal]"/><!-- 0..1 Power of the lens --> <cylinder value="[decimal]"/><!-- 0..1 Lens power for astigmatism --> <axis value="[integer]"/><!-- 0..1 Lens meridian which contain no power for astigmatism --> <prism> <!-- 0..* Eye alignment compensation --> <amount value="[decimal]"/><!-- 1..1 Amount of adjustment --> <base value="[code]"/><!-- 1..1 up | down | in | out --> </prism> <add value="[decimal]"/><!-- 0..1 Added power for multifocal levels --> <power value="[decimal]"/><!-- 0..1 Contact lens power --> <backCurve value="[decimal]"/><!-- 0..1 Contact lens back curvature --> <diameter value="[decimal]"/><!-- 0..1 Contact lens diameter --> <duration><!-- 0..1 Quantity(SimpleQuantity) Lens wear duration --></duration> <color value="[string]"/><!-- 0..1 Color required --> <brand value="[string]"/><!-- 0..1 Brand required --> <note><!-- 0..* Annotation Notes for coatings --></note> </lensSpecification> </VisionPrescription>
JSON Template
{ "resourceType" : "VisionPrescription", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Business Identifier for vision prescription "status" : "<code>", // R! active | cancelled | draft | entered-in-error "created" : "<dateTime>", // R! Response creation date "patient" : { Reference(Patient) }, // R! Who prescription is for "encounter" : { Reference(Encounter) }, // Created during encounter / admission / stay "dateWritten" : "<dateTime>", // R! When prescription was authorized "prescriber" : { Reference(Practitioner|PractitionerRole) }, // R! Who authorized the vision prescription "lensSpecification" : [{ // R! Vision lens authorization "product" : { CodeableConcept }, // R! Product to be supplied "eye" : "<code>", // R! right | left "sphere" : <decimal>, // Power of the lens "cylinder" : <decimal>, // Lens power for astigmatism "axis" : <integer>, // Lens meridian which contain no power for astigmatism "prism" : [{ // Eye alignment compensation "amount" : <decimal>, // R! Amount of adjustment "base" : "<code>" // R! up | down | in | out }], "add" : <decimal>, // Added power for multifocal levels "power" : <decimal>, // Contact lens power "backCurve" : <decimal>, // Contact lens back curvature "diameter" : <decimal>, // Contact lens diameter "duration" : { Quantity(SimpleQuantity) }, // Lens wear duration "color" : "<string>", // Color required "brand" : "<string>", // Brand required "note" : [{ Annotation }] // Notes for coatings }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:VisionPrescription; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:VisionPrescription.identifier [ Identifier ], ... ; # 0..* Business Identifier for vision prescription fhir:VisionPrescription.status [ code ]; # 1..1 active | cancelled | draft | entered-in-error fhir:VisionPrescription.created [ dateTime ]; # 1..1 Response creation date fhir:VisionPrescription.patient [ Reference(Patient) ]; # 1..1 Who prescription is for fhir:VisionPrescription.encounter [ Reference(Encounter) ]; # 0..1 Created during encounter / admission / stay fhir:VisionPrescription.dateWritten [ dateTime ]; # 1..1 When prescription was authorized fhir:VisionPrescription.prescriber [ Reference(Practitioner|PractitionerRole) ]; # 1..1 Who authorized the vision prescription fhir:VisionPrescription.lensSpecification [ # 1..* Vision lens authorization fhir:VisionPrescription.lensSpecification.product [ CodeableConcept ]; # 1..1 Product to be supplied fhir:VisionPrescription.lensSpecification.eye [ code ]; # 1..1 right | left fhir:VisionPrescription.lensSpecification.sphere [ decimal ]; # 0..1 Power of the lens fhir:VisionPrescription.lensSpecification.cylinder [ decimal ]; # 0..1 Lens power for astigmatism fhir:VisionPrescription.lensSpecification.axis [ integer ]; # 0..1 Lens meridian which contain no power for astigmatism fhir:VisionPrescription.lensSpecification.prism [ # 0..* Eye alignment compensation fhir:VisionPrescription.lensSpecification.prism.amount [ decimal ]; # 1..1 Amount of adjustment fhir:VisionPrescription.lensSpecification.prism.base [ code ]; # 1..1 up | down | in | out ], ...; fhir:VisionPrescription.lensSpecification.add [ decimal ]; # 0..1 Added power for multifocal levels fhir:VisionPrescription.lensSpecification.power [ decimal ]; # 0..1 Contact lens power fhir:VisionPrescription.lensSpecification.backCurve [ decimal ]; # 0..1 Contact lens back curvature fhir:VisionPrescription.lensSpecification.diameter [ decimal ]; # 0..1 Contact lens diameter fhir:VisionPrescription.lensSpecification.duration [ Quantity(SimpleQuantity) ]; # 0..1 Lens wear duration fhir:VisionPrescription.lensSpecification.color [ string ]; # 0..1 Color required fhir:VisionPrescription.lensSpecification.brand [ string ]; # 0..1 Brand required fhir:VisionPrescription.lensSpecification.note [ Annotation ], ... ; # 0..* Notes for coatings ], ...; ]
Changes since R3
VisionPrescription | |
VisionPrescription.status |
|
VisionPrescription.lensSpecification.eye |
|
VisionPrescription.lensSpecification.prism.base |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 2 tests that all execute ok. 1 fail round-trip testing and 2 r3 resources are invalid (0 errors).)
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
VisionPrescription | TU | DomainResource | Prescription for vision correction products for a patient Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | 0..* | Identifier | Business Identifier for vision prescription | |
status | ?!Σ | 1..1 | code | active | cancelled | draft | entered-in-error Financial Resource Status Codes (Required) |
created | Σ | 1..1 | dateTime | Response creation date |
patient | Σ | 1..1 | Reference(Patient) | Who prescription is for |
encounter | 0..1 | Reference(Encounter) | Created during encounter / admission / stay | |
dateWritten | Σ | 1..1 | dateTime | When prescription was authorized |
prescriber | Σ | 1..1 | Reference(Practitioner | PractitionerRole) | Who authorized the vision prescription |
lensSpecification | Σ | 1..* | BackboneElement | Vision lens authorization |
product | Σ | 1..1 | CodeableConcept | Product to be supplied Example Vision Prescription Product Codes (Example) |
eye | Σ | 1..1 | code | right | left VisionEyes (Required) |
sphere | 0..1 | decimal | Power of the lens | |
cylinder | 0..1 | decimal | Lens power for astigmatism | |
axis | 0..1 | integer | Lens meridian which contain no power for astigmatism | |
prism | 0..* | BackboneElement | Eye alignment compensation | |
amount | 1..1 | decimal | Amount of adjustment | |
base | 1..1 | code | up | down | in | out VisionBase (Required) | |
add | 0..1 | decimal | Added power for multifocal levels | |
power | 0..1 | decimal | Contact lens power | |
backCurve | 0..1 | decimal | Contact lens back curvature | |
diameter | 0..1 | decimal | Contact lens diameter | |
duration | 0..1 | SimpleQuantity | Lens wear duration | |
color | 0..1 | string | Color required | |
brand | 0..1 | string | Brand required | |
note | 0..* | Annotation | Notes for coatings | |
Documentation for this format |
XML Template
<VisionPrescription xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Business Identifier for vision prescription --></identifier> <status value="[code]"/><!-- 1..1 active | cancelled | draft | entered-in-error --> <created value="[dateTime]"/><!-- 1..1 Response creation date --> <patient><!-- 1..1 Reference(Patient) Who prescription is for --></patient> <encounter><!-- 0..1 Reference(Encounter) Created during encounter / admission / stay --></encounter> <dateWritten value="[dateTime]"/><!-- 1..1 When prescription was authorized --> <prescriber><!-- 1..1 Reference(Practitioner|PractitionerRole) Who authorized the vision prescription --></prescriber> <lensSpecification> <!-- 1..* Vision lens authorization --> <product><!-- 1..1 CodeableConcept Product to be supplied --></product> <eye value="[code]"/><!-- 1..1 right | left --> <sphere value="[decimal]"/><!-- 0..1 Power of the lens --> <cylinder value="[decimal]"/><!-- 0..1 Lens power for astigmatism --> <axis value="[integer]"/><!-- 0..1 Lens meridian which contain no power for astigmatism --> <prism> <!-- 0..* Eye alignment compensation --> <amount value="[decimal]"/><!-- 1..1 Amount of adjustment --> <base value="[code]"/><!-- 1..1 up | down | in | out --> </prism> <add value="[decimal]"/><!-- 0..1 Added power for multifocal levels --> <power value="[decimal]"/><!-- 0..1 Contact lens power --> <backCurve value="[decimal]"/><!-- 0..1 Contact lens back curvature --> <diameter value="[decimal]"/><!-- 0..1 Contact lens diameter --> <duration><!-- 0..1 Quantity(SimpleQuantity) Lens wear duration --></duration> <color value="[string]"/><!-- 0..1 Color required --> <brand value="[string]"/><!-- 0..1 Brand required --> <note><!-- 0..* Annotation Notes for coatings --></note> </lensSpecification> </VisionPrescription>
JSON Template
{ "resourceType" : "VisionPrescription", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Business Identifier for vision prescription "status" : "<code>", // R! active | cancelled | draft | entered-in-error "created" : "<dateTime>", // R! Response creation date "patient" : { Reference(Patient) }, // R! Who prescription is for "encounter" : { Reference(Encounter) }, // Created during encounter / admission / stay "dateWritten" : "<dateTime>", // R! When prescription was authorized "prescriber" : { Reference(Practitioner|PractitionerRole) }, // R! Who authorized the vision prescription "lensSpecification" : [{ // R! Vision lens authorization "product" : { CodeableConcept }, // R! Product to be supplied "eye" : "<code>", // R! right | left "sphere" : <decimal>, // Power of the lens "cylinder" : <decimal>, // Lens power for astigmatism "axis" : <integer>, // Lens meridian which contain no power for astigmatism "prism" : [{ // Eye alignment compensation "amount" : <decimal>, // R! Amount of adjustment "base" : "<code>" // R! up | down | in | out }], "add" : <decimal>, // Added power for multifocal levels "power" : <decimal>, // Contact lens power "backCurve" : <decimal>, // Contact lens back curvature "diameter" : <decimal>, // Contact lens diameter "duration" : { Quantity(SimpleQuantity) }, // Lens wear duration "color" : "<string>", // Color required "brand" : "<string>", // Brand required "note" : [{ Annotation }] // Notes for coatings }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:VisionPrescription; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:VisionPrescription.identifier [ Identifier ], ... ; # 0..* Business Identifier for vision prescription fhir:VisionPrescription.status [ code ]; # 1..1 active | cancelled | draft | entered-in-error fhir:VisionPrescription.created [ dateTime ]; # 1..1 Response creation date fhir:VisionPrescription.patient [ Reference(Patient) ]; # 1..1 Who prescription is for fhir:VisionPrescription.encounter [ Reference(Encounter) ]; # 0..1 Created during encounter / admission / stay fhir:VisionPrescription.dateWritten [ dateTime ]; # 1..1 When prescription was authorized fhir:VisionPrescription.prescriber [ Reference(Practitioner|PractitionerRole) ]; # 1..1 Who authorized the vision prescription fhir:VisionPrescription.lensSpecification [ # 1..* Vision lens authorization fhir:VisionPrescription.lensSpecification.product [ CodeableConcept ]; # 1..1 Product to be supplied fhir:VisionPrescription.lensSpecification.eye [ code ]; # 1..1 right | left fhir:VisionPrescription.lensSpecification.sphere [ decimal ]; # 0..1 Power of the lens fhir:VisionPrescription.lensSpecification.cylinder [ decimal ]; # 0..1 Lens power for astigmatism fhir:VisionPrescription.lensSpecification.axis [ integer ]; # 0..1 Lens meridian which contain no power for astigmatism fhir:VisionPrescription.lensSpecification.prism [ # 0..* Eye alignment compensation fhir:VisionPrescription.lensSpecification.prism.amount [ decimal ]; # 1..1 Amount of adjustment fhir:VisionPrescription.lensSpecification.prism.base [ code ]; # 1..1 up | down | in | out ], ...; fhir:VisionPrescription.lensSpecification.add [ decimal ]; # 0..1 Added power for multifocal levels fhir:VisionPrescription.lensSpecification.power [ decimal ]; # 0..1 Contact lens power fhir:VisionPrescription.lensSpecification.backCurve [ decimal ]; # 0..1 Contact lens back curvature fhir:VisionPrescription.lensSpecification.diameter [ decimal ]; # 0..1 Contact lens diameter fhir:VisionPrescription.lensSpecification.duration [ Quantity(SimpleQuantity) ]; # 0..1 Lens wear duration fhir:VisionPrescription.lensSpecification.color [ string ]; # 0..1 Color required fhir:VisionPrescription.lensSpecification.brand [ string ]; # 0..1 Brand required fhir:VisionPrescription.lensSpecification.note [ Annotation ], ... ; # 0..* Notes for coatings ], ...; ]
Changes since Release 3
VisionPrescription | |
VisionPrescription.status |
|
VisionPrescription.lensSpecification.eye |
|
VisionPrescription.lensSpecification.prism.base |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 2 tests that all execute ok. 1 fail round-trip testing and 2 r3 resources are invalid (0 errors).)
See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis
Path | Definition | Type | Reference |
---|---|---|---|
VisionPrescription.status | Required | FinancialResourceStatusCodes | |
VisionPrescription.lensSpecification.product | Example | ExampleVisionPrescriptionProductCodes | |
VisionPrescription.lensSpecification.eye | Required | VisionEyes | |
VisionPrescription.lensSpecification.prism.base | Required | VisionBase |
Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Expression | In Common |
datewritten | date | Return prescriptions written on this date | VisionPrescription.dateWritten | |
encounter | reference | Return prescriptions with this encounter identifier | VisionPrescription.encounter (Encounter) | |
identifier | token | Return prescriptions with this external identifier | VisionPrescription.identifier | |
patient | reference | The identity of a patient to list dispenses for | VisionPrescription.patient (Patient) | |
prescriber | reference | Who authorized the vision prescription | VisionPrescription.prescriber (Practitioner, PractitionerRole) | |
status | token | The status of the vision prescription | VisionPrescription.status |