FoundationThis is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions
| Responsible Owner: Orders and Observations Work Group | Standards Status: Informative | Compartments: Encounter, Patient, Practitioner |
ShEx statement for visionprescription
PREFIX fhir: <http://hl7.org/fhir/>
PREFIX fhirvs: <http://hl7.org/fhir/ValueSet/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
# ShEx Version 2.2
IMPORT <Code.shex>
IMPORT <String.shex>
IMPORT <Patient.shex>
IMPORT <Decimal.shex>
IMPORT <Integer.shex>
IMPORT <DateTime.shex>
IMPORT <Quantity.shex>
IMPORT <CarePlan.shex>
IMPORT <Reference.shex>
IMPORT <Encounter.shex>
IMPORT <Identifier.shex>
IMPORT <Annotation.shex>
IMPORT <Practitioner.shex>
IMPORT <DomainResource.shex>
IMPORT <NutritionOrder.shex>
IMPORT <ServiceRequest.shex>
IMPORT <BackboneElement.shex>
IMPORT <CodeableConcept.shex>
IMPORT <PractitionerRole.shex>
IMPORT <RequestOrchestration.shex>
start=@<VisionPrescription> AND {fhir:nodeRole [fhir:treeRoot]}
# Prescription for vision correction products for a patient
<VisionPrescription> EXTENDS @<DomainResource> CLOSED {
a [fhir:VisionPrescription]?;fhir:nodeRole [fhir:treeRoot]?;
fhir:identifier @<OneOrMore_Identifier>?; # Business Identifier for vision
# prescription
fhir:basedOn @<OneOrMore_Reference_CarePlan_OR_NutritionOrder_OR_RequestOrchestration_OR_ServiceRequest>?; # What prescription fulfills
fhir:groupIdentifier @<Identifier>?; # Composite request identifier
fhir:status @<Code> AND
{fhir:v @fhirvs:fm-status}; # active | cancelled | draft |
# entered-in-error
fhir:priority @<Code> AND
{fhir:v @fhirvs:request-priority}?; # routine | urgent | asap | stat
fhir:created @<DateTime>; # Response creation date
fhir:patient @<Reference> AND {fhir:l
@<Patient> ? }; # Who prescription is for
fhir:encounter @<Reference> AND {fhir:l
@<Encounter> ? }?; # Created during encounter /
# admission / stay
fhir:dateWritten @<DateTime>; # When prescription was authorized
fhir:prescriber @<Reference> AND {fhir:l
@<Practitioner> OR
@<PractitionerRole> ? }; # Who authorized the vision
# prescription
fhir:lensSpecification @<OneOrMore_VisionPrescription.lensSpecification>; # Vision lens authorization
}
# Eye alignment compensation
<VisionPrescription.lensSpecification.prism> EXTENDS @<BackboneElement> CLOSED {
fhir:amount @<Decimal>; # Amount of adjustment
fhir:base @<Code> AND
{fhir:v @fhirvs:vision-base-codes}; # up | down | in | out
}
# Vision lens authorization
<VisionPrescription.lensSpecification> EXTENDS @<BackboneElement> CLOSED {
fhir:product @<CodeableConcept>; # Product to be supplied
fhir:eye @<Code> AND
{fhir:v @fhirvs:vision-eye-codes}; # right | left
fhir:sphere @<Decimal>?; # Power of the lens
fhir:cylinder @<Decimal>?; # Lens power for astigmatism
fhir:axis @<Integer>?; # Lens meridian which contain no
# power for astigmatism
fhir:prism @<OneOrMore_VisionPrescription.lensSpecification.prism>?; # Eye alignment compensation
fhir:add @<Decimal>?; # Added power for multifocal levels
fhir:power @<Decimal>?; # Contact lens power
fhir:backCurve @<Decimal>?; # Contact lens back curvature
fhir:diameter @<Decimal>?; # Contact lens diameter
fhir:duration @<Quantity>?; # Lens wear duration
fhir:color @<String>?; # Color required
fhir:brand @<String>?; # Brand required
fhir:note @<OneOrMore_Annotation>?; # Notes for coatings
}
#---------------------- Cardinality Types (OneOrMore) -------------------
<OneOrMore_Identifier> CLOSED {
rdf:first @<Identifier> ;
rdf:rest [rdf:nil] OR @<OneOrMore_Identifier>
}
<OneOrMore_Reference_CarePlan_OR_NutritionOrder_OR_RequestOrchestration_OR_ServiceRequest> CLOSED {
rdf:first @<Reference> AND {fhir:l
@<CarePlan> OR
@<NutritionOrder> OR
@<RequestOrchestration> OR
@<ServiceRequest> } ;
rdf:rest [rdf:nil] OR @<OneOrMore_Reference_CarePlan_OR_NutritionOrder_OR_RequestOrchestration_OR_ServiceRequest>
}
<OneOrMore_VisionPrescription.lensSpecification> CLOSED {
rdf:first @<VisionPrescription.lensSpecification> ;
rdf:rest [rdf:nil] OR @<OneOrMore_VisionPrescription.lensSpecification>
}
<OneOrMore_VisionPrescription.lensSpecification.prism> CLOSED {
rdf:first @<VisionPrescription.lensSpecification.prism> ;
rdf:rest [rdf:nil] OR @<OneOrMore_VisionPrescription.lensSpecification.prism>
}
<OneOrMore_Annotation> CLOSED {
rdf:first @<Annotation> ;
rdf:rest [rdf:nil] OR @<OneOrMore_Annotation>
}
#---------------------- Value Sets ------------------------
# This value set includes Status codes.
fhirvs:fm-status ["active" "cancelled" "draft" "entered-in-error"]
# Identifies the level of importance to be assigned to actioning the request.
fhirvs:request-priority ["routine" "urgent" "asap" "stat"]
# A coded concept listing the base codes.
fhirvs:vision-base-codes ["up" "down" "in" "out"]
# A coded concept listing the eye codes.
fhirvs:vision-eye-codes ["right" "left"]
Usage note: every effort has been made to ensure that the ShEx files are correct and useful, but they are not a normative part of the specification.
FHIR ®© HL7.org 2011+. FHIR R6 hl7.fhir.core#6.0.0-ballot3 generated on Thu, Nov 13, 2025 11:16+0000.
Links: Search |
Version History |
Contents |
Glossary |
QA |
Compare to R4 |
Compare to R5 |
Compare to Last Ballot |
|
Propose a change