Da Vinci - Coverage Requirements Discovery
2.1.0 - STU 2.1 United States of America flag

This page is part of the Da Vinci Coverage Requirements Discovery (CRD) FHIR IG (v2.1.0: STU 2.1) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version. For a full list of available versions, see the Directory of published versions

Resource Profile: CRD Vision Prescription

Official URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-visionprescription Version: 2.1.0
Standards status: Trial-use Maturity Level: 1 Computable Name: CRDVisionPrescription
Other Identifiers: OID:2.16.840.1.113883.4.642.40.18.42.19

This profile defines an initial profile on the VisionPrescription resource to support coverage requirements discovery.

Usage


CRD Clients SHALL use this profile to resolve references to VisionPrescription resources passed to CRD Servers (e.g. selections context references) and to populate draftOrders context objects when invoking the when invoking the following CDS Hooks:

Information provided in Must Support elements will commonly be required for CRD Servers to perform coverage requirements discovery.

NOTE: This profile is not currently based on US Core because US Core does not yet profile the VisionPrescription resource. If a future version of US-Core adds support for the resource, this profile will be revised to extend the US Core profile.

Usage:

  • This Resource Profile is not used by any profiles in this Implementation Guide

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from VisionPrescription

NameFlagsCard.TypeDescription & Constraintsdoco
.. VisionPrescription 0..* VisionPrescription Prescription for vision correction products for a patient
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... Coverage-Information S 0..* (Complex) Coverage Info
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
... identifier S 0..* Identifier Business Identifier for vision prescription
... status S 1..1 code active | cancelled | draft | entered-in-error
Example General: draft
... patient S 1..1 Reference(CRD Patient) Who prescription is for
... encounter S 0..1 Reference(CRD Encounter) Created during encounter / admission / stay
... dateWritten S 1..1 dateTime When prescription was authorized
... prescriber S 1..1 Reference(US Core Practitioner Profile(7.0.0) S | HRex PractitionerRole Profile S) Who authorized the vision prescription
... lensSpecification S 1..* BackboneElement Vision lens authorization
.... product S 1..1 CodeableConcept Product to be supplied
.... eye S 1..1 code right | left
.... sphere S 0..1 decimal Power of the lens
.... cylinder S 0..1 decimal Lens power for astigmatism
.... axis S 0..1 integer Lens meridian which contain no power for astigmatism
.... prism S 0..* BackboneElement Eye alignment compensation
..... amount S 1..1 decimal Amount of adjustment
..... base S 1..1 code up | down | in | out
.... add S 0..1 decimal Added power for multifocal levels
.... power S 0..1 decimal Contact lens power
.... backCurve S 0..1 decimal Contact lens back curvature
.... diameter S 0..1 decimal Contact lens diameter
.... duration S 0..1 SimpleQuantity Lens wear duration

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. VisionPrescription 0..* VisionPrescription Prescription for vision correction products for a patient
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... Coverage-Information SC 0..* (Complex) Coverage Info
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
crd-ci-q1: Questionnaire is only allowed when doc-needed exists
crd-ci-q2: If covered is set to 'not-covered', then 'pa-needed' must not exist.
crd-ci-q3: 'info-needed' SHALL exist if and only if at least one of 'covered', 'pa-needed', or 'doc-needed' is set to 'conditional'.
crd-ci-q4: If 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'withpa'.
crd-ci-q5: 'satisfied-pa-id' must exist if and only if 'pa-needed' is set to 'satisfied'.
crd-ci-q6: If 'info-needed' is Other, then reason must be specified
crd-ci-q7: If reason.coding is present and is not from the extensible value set, then reason.text must be present
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... status ?!SΣ 1..1 code active | cancelled | draft | entered-in-error
Binding: FinancialResourceStatusCodes (required): A code specifying the state of the resource instance.


ele-1: All FHIR elements must have a @value or children
Example General: draft
... created SΣ 1..1 dateTime Response creation date
ele-1: All FHIR elements must have a @value or children
... patient SΣ 1..1 Reference(CRD Patient) Who prescription is for
ele-1: All FHIR elements must have a @value or children
... encounter S 0..1 Reference(CRD Encounter) Created during encounter / admission / stay
ele-1: All FHIR elements must have a @value or children
... dateWritten SΣ 1..1 dateTime When prescription was authorized
ele-1: All FHIR elements must have a @value or children
... prescriber SΣ 1..1 Reference(US Core Practitioner Profile(7.0.0) | HRex PractitionerRole Profile) Who authorized the vision prescription
ele-1: All FHIR elements must have a @value or children
... lensSpecification SΣ 1..* BackboneElement Vision lens authorization
ele-1: All FHIR elements must have a @value or children
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... product SΣ 1..1 CodeableConcept Product to be supplied
Binding: ExampleVisionPrescriptionProductCodes (example): A coded concept describing the vision products.


ele-1: All FHIR elements must have a @value or children
.... eye SΣ 1..1 code right | left
Binding: VisionEyes (required): A coded concept listing the eye codes.


ele-1: All FHIR elements must have a @value or children
.... sphere S 0..1 decimal Power of the lens
ele-1: All FHIR elements must have a @value or children
.... cylinder S 0..1 decimal Lens power for astigmatism
ele-1: All FHIR elements must have a @value or children
.... axis S 0..1 integer Lens meridian which contain no power for astigmatism
ele-1: All FHIR elements must have a @value or children
.... prism S 0..* BackboneElement Eye alignment compensation
ele-1: All FHIR elements must have a @value or children
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... amount S 1..1 decimal Amount of adjustment
ele-1: All FHIR elements must have a @value or children
..... base S 1..1 code up | down | in | out
Binding: VisionBase (required): A coded concept listing the base codes.


ele-1: All FHIR elements must have a @value or children
.... add S 0..1 decimal Added power for multifocal levels
ele-1: All FHIR elements must have a @value or children
.... power S 0..1 decimal Contact lens power
ele-1: All FHIR elements must have a @value or children
.... backCurve S 0..1 decimal Contact lens back curvature
ele-1: All FHIR elements must have a @value or children
.... diameter S 0..1 decimal Contact lens diameter
ele-1: All FHIR elements must have a @value or children
.... duration S 0..1 SimpleQuantity Lens wear duration
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
VisionPrescription.statusrequiredFinancialResourceStatusCodes
http://hl7.org/fhir/ValueSet/fm-status|4.0.1
from the FHIR Standard
VisionPrescription.lensSpecification.productexampleExampleVisionPrescriptionProductCodes
http://hl7.org/fhir/ValueSet/vision-product
from the FHIR Standard
VisionPrescription.lensSpecification.eyerequiredVisionEyes
http://hl7.org/fhir/ValueSet/vision-eye-codes|4.0.1
from the FHIR Standard
VisionPrescription.lensSpecification.prism.baserequiredVisionBase
http://hl7.org/fhir/ValueSet/vision-base-codes|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
crd-ci-q1errorVisionPrescription.extension:Coverage-InformationQuestionnaire is only allowed when doc-needed exists
: extension.where(url='questionnaire').exists() implies extension.where(url = 'doc-needed').exists()
crd-ci-q2errorVisionPrescription.extension:Coverage-InformationIf covered is set to 'not-covered', then 'pa-needed' must not exist.
: extension.where(url = 'covered' and value = 'not-covered').exists() implies extension.where(url = 'pa-needed').exists().not()
crd-ci-q3errorVisionPrescription.extension:Coverage-Information'info-needed' SHALL exist if and only if at least one of 'covered', 'pa-needed', or 'doc-needed' is set to 'conditional'.
: extension.where((url = 'covered' or url = 'pa-needed' or url = 'doc-needed') and value = 'conditional').count() >= 1 implies extension.where(url = 'info-needed').exists()
crd-ci-q4errorVisionPrescription.extension:Coverage-InformationIf 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'withpa'.
: extension.where(url = 'pa-needed' and value = 'satisfied') and extension.where(url = 'doc-purpose').exists() implies extension.where(url = 'doc-purpose').all(value != 'withpa')
crd-ci-q5errorVisionPrescription.extension:Coverage-Information'satisfied-pa-id' must exist if and only if 'pa-needed' is set to 'satisfied'.
: extension.where(url = 'pa-needed' and value = 'satisfied').exists() = extension.where(url = 'satisfied-pa-id').exists()
crd-ci-q6errorVisionPrescription.extension:Coverage-InformationIf 'info-needed' is Other, then reason must be specified
: extension.where(url = 'info-needed' and value = 'Other').exists() implies extension.where(url = 'reason').exists()
crd-ci-q7errorVisionPrescription.extension:Coverage-InformationIf reason.coding is present and is not from the extensible value set, then reason.text must be present
: extension.where(url = 'reason').empty() or extension.where(url = 'reason').value.text.exists() or extension.where(url = 'reason').value.memberOf('http://hl7.org/fhir/us/davinci-crd/ValueSet/coverageAssertionReasons')
dom-2errorVisionPrescriptionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorVisionPrescriptionIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorVisionPrescriptionIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorVisionPrescriptionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceVisionPrescriptionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. VisionPrescription 0..* VisionPrescription Prescription for vision correction products for a patient
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... Coverage-Information SC 0..* (Complex) Coverage Info
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
crd-ci-q1: Questionnaire is only allowed when doc-needed exists
crd-ci-q2: If covered is set to 'not-covered', then 'pa-needed' must not exist.
crd-ci-q3: 'info-needed' SHALL exist if and only if at least one of 'covered', 'pa-needed', or 'doc-needed' is set to 'conditional'.
crd-ci-q4: If 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'withpa'.
crd-ci-q5: 'satisfied-pa-id' must exist if and only if 'pa-needed' is set to 'satisfied'.
crd-ci-q6: If 'info-needed' is Other, then reason must be specified
crd-ci-q7: If reason.coding is present and is not from the extensible value set, then reason.text must be present
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier S 0..* Identifier Business Identifier for vision prescription
... status ?!SΣ 1..1 code active | cancelled | draft | entered-in-error
Binding: FinancialResourceStatusCodes (required): A code specifying the state of the resource instance.


Example General: draft
... created SΣ 1..1 dateTime Response creation date
... patient SΣ 1..1 Reference(CRD Patient) Who prescription is for
... encounter S 0..1 Reference(CRD Encounter) Created during encounter / admission / stay
... dateWritten SΣ 1..1 dateTime When prescription was authorized
... prescriber SΣ 1..1 Reference(US Core Practitioner Profile(7.0.0) S | HRex PractitionerRole Profile S) Who authorized the vision prescription
... lensSpecification SΣ 1..* BackboneElement Vision lens authorization
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... product SΣ 1..1 CodeableConcept Product to be supplied
Binding: ExampleVisionPrescriptionProductCodes (example): A coded concept describing the vision products.

.... eye SΣ 1..1 code right | left
Binding: VisionEyes (required): A coded concept listing the eye codes.

.... sphere S 0..1 decimal Power of the lens
.... cylinder S 0..1 decimal Lens power for astigmatism
.... axis S 0..1 integer Lens meridian which contain no power for astigmatism
.... prism S 0..* BackboneElement Eye alignment compensation
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... amount S 1..1 decimal Amount of adjustment
..... base S 1..1 code up | down | in | out
Binding: VisionBase (required): A coded concept listing the base codes.

.... add S 0..1 decimal Added power for multifocal levels
.... power S 0..1 decimal Contact lens power
.... backCurve S 0..1 decimal Contact lens back curvature
.... diameter S 0..1 decimal Contact lens diameter
.... duration S 0..1 SimpleQuantity Lens wear duration
.... color 0..1 string Color required
.... brand 0..1 string Brand required
.... note 0..* Annotation Notes for coatings

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
VisionPrescription.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
VisionPrescription.statusrequiredFinancialResourceStatusCodes
http://hl7.org/fhir/ValueSet/fm-status|4.0.1
from the FHIR Standard
VisionPrescription.lensSpecification.productexampleExampleVisionPrescriptionProductCodes
http://hl7.org/fhir/ValueSet/vision-product
from the FHIR Standard
VisionPrescription.lensSpecification.eyerequiredVisionEyes
http://hl7.org/fhir/ValueSet/vision-eye-codes|4.0.1
from the FHIR Standard
VisionPrescription.lensSpecification.prism.baserequiredVisionBase
http://hl7.org/fhir/ValueSet/vision-base-codes|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
crd-ci-q1errorVisionPrescription.extension:Coverage-InformationQuestionnaire is only allowed when doc-needed exists
: extension.where(url='questionnaire').exists() implies extension.where(url = 'doc-needed').exists()
crd-ci-q2errorVisionPrescription.extension:Coverage-InformationIf covered is set to 'not-covered', then 'pa-needed' must not exist.
: extension.where(url = 'covered' and value = 'not-covered').exists() implies extension.where(url = 'pa-needed').exists().not()
crd-ci-q3errorVisionPrescription.extension:Coverage-Information'info-needed' SHALL exist if and only if at least one of 'covered', 'pa-needed', or 'doc-needed' is set to 'conditional'.
: extension.where((url = 'covered' or url = 'pa-needed' or url = 'doc-needed') and value = 'conditional').count() >= 1 implies extension.where(url = 'info-needed').exists()
crd-ci-q4errorVisionPrescription.extension:Coverage-InformationIf 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'withpa'.
: extension.where(url = 'pa-needed' and value = 'satisfied') and extension.where(url = 'doc-purpose').exists() implies extension.where(url = 'doc-purpose').all(value != 'withpa')
crd-ci-q5errorVisionPrescription.extension:Coverage-Information'satisfied-pa-id' must exist if and only if 'pa-needed' is set to 'satisfied'.
: extension.where(url = 'pa-needed' and value = 'satisfied').exists() = extension.where(url = 'satisfied-pa-id').exists()
crd-ci-q6errorVisionPrescription.extension:Coverage-InformationIf 'info-needed' is Other, then reason must be specified
: extension.where(url = 'info-needed' and value = 'Other').exists() implies extension.where(url = 'reason').exists()
crd-ci-q7errorVisionPrescription.extension:Coverage-InformationIf reason.coding is present and is not from the extensible value set, then reason.text must be present
: extension.where(url = 'reason').empty() or extension.where(url = 'reason').value.text.exists() or extension.where(url = 'reason').value.memberOf('http://hl7.org/fhir/us/davinci-crd/ValueSet/coverageAssertionReasons')
dom-2errorVisionPrescriptionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorVisionPrescriptionIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorVisionPrescriptionIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorVisionPrescriptionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceVisionPrescriptionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Differential View

This structure is derived from VisionPrescription

NameFlagsCard.TypeDescription & Constraintsdoco
.. VisionPrescription 0..* VisionPrescription Prescription for vision correction products for a patient
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... Coverage-Information S 0..* (Complex) Coverage Info
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
... identifier S 0..* Identifier Business Identifier for vision prescription
... status S 1..1 code active | cancelled | draft | entered-in-error
Example General: draft
... patient S 1..1 Reference(CRD Patient) Who prescription is for
... encounter S 0..1 Reference(CRD Encounter) Created during encounter / admission / stay
... dateWritten S 1..1 dateTime When prescription was authorized
... prescriber S 1..1 Reference(US Core Practitioner Profile(7.0.0) S | HRex PractitionerRole Profile S) Who authorized the vision prescription
... lensSpecification S 1..* BackboneElement Vision lens authorization
.... product S 1..1 CodeableConcept Product to be supplied
.... eye S 1..1 code right | left
.... sphere S 0..1 decimal Power of the lens
.... cylinder S 0..1 decimal Lens power for astigmatism
.... axis S 0..1 integer Lens meridian which contain no power for astigmatism
.... prism S 0..* BackboneElement Eye alignment compensation
..... amount S 1..1 decimal Amount of adjustment
..... base S 1..1 code up | down | in | out
.... add S 0..1 decimal Added power for multifocal levels
.... power S 0..1 decimal Contact lens power
.... backCurve S 0..1 decimal Contact lens back curvature
.... diameter S 0..1 decimal Contact lens diameter
.... duration S 0..1 SimpleQuantity Lens wear duration

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. VisionPrescription 0..* VisionPrescription Prescription for vision correction products for a patient
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... Coverage-Information SC 0..* (Complex) Coverage Info
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
crd-ci-q1: Questionnaire is only allowed when doc-needed exists
crd-ci-q2: If covered is set to 'not-covered', then 'pa-needed' must not exist.
crd-ci-q3: 'info-needed' SHALL exist if and only if at least one of 'covered', 'pa-needed', or 'doc-needed' is set to 'conditional'.
crd-ci-q4: If 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'withpa'.
crd-ci-q5: 'satisfied-pa-id' must exist if and only if 'pa-needed' is set to 'satisfied'.
crd-ci-q6: If 'info-needed' is Other, then reason must be specified
crd-ci-q7: If reason.coding is present and is not from the extensible value set, then reason.text must be present
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... status ?!SΣ 1..1 code active | cancelled | draft | entered-in-error
Binding: FinancialResourceStatusCodes (required): A code specifying the state of the resource instance.


ele-1: All FHIR elements must have a @value or children
Example General: draft
... created SΣ 1..1 dateTime Response creation date
ele-1: All FHIR elements must have a @value or children
... patient SΣ 1..1 Reference(CRD Patient) Who prescription is for
ele-1: All FHIR elements must have a @value or children
... encounter S 0..1 Reference(CRD Encounter) Created during encounter / admission / stay
ele-1: All FHIR elements must have a @value or children
... dateWritten SΣ 1..1 dateTime When prescription was authorized
ele-1: All FHIR elements must have a @value or children
... prescriber SΣ 1..1 Reference(US Core Practitioner Profile(7.0.0) | HRex PractitionerRole Profile) Who authorized the vision prescription
ele-1: All FHIR elements must have a @value or children
... lensSpecification SΣ 1..* BackboneElement Vision lens authorization
ele-1: All FHIR elements must have a @value or children
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... product SΣ 1..1 CodeableConcept Product to be supplied
Binding: ExampleVisionPrescriptionProductCodes (example): A coded concept describing the vision products.


ele-1: All FHIR elements must have a @value or children
.... eye SΣ 1..1 code right | left
Binding: VisionEyes (required): A coded concept listing the eye codes.


ele-1: All FHIR elements must have a @value or children
.... sphere S 0..1 decimal Power of the lens
ele-1: All FHIR elements must have a @value or children
.... cylinder S 0..1 decimal Lens power for astigmatism
ele-1: All FHIR elements must have a @value or children
.... axis S 0..1 integer Lens meridian which contain no power for astigmatism
ele-1: All FHIR elements must have a @value or children
.... prism S 0..* BackboneElement Eye alignment compensation
ele-1: All FHIR elements must have a @value or children
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... amount S 1..1 decimal Amount of adjustment
ele-1: All FHIR elements must have a @value or children
..... base S 1..1 code up | down | in | out
Binding: VisionBase (required): A coded concept listing the base codes.


ele-1: All FHIR elements must have a @value or children
.... add S 0..1 decimal Added power for multifocal levels
ele-1: All FHIR elements must have a @value or children
.... power S 0..1 decimal Contact lens power
ele-1: All FHIR elements must have a @value or children
.... backCurve S 0..1 decimal Contact lens back curvature
ele-1: All FHIR elements must have a @value or children
.... diameter S 0..1 decimal Contact lens diameter
ele-1: All FHIR elements must have a @value or children
.... duration S 0..1 SimpleQuantity Lens wear duration
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
VisionPrescription.statusrequiredFinancialResourceStatusCodes
http://hl7.org/fhir/ValueSet/fm-status|4.0.1
from the FHIR Standard
VisionPrescription.lensSpecification.productexampleExampleVisionPrescriptionProductCodes
http://hl7.org/fhir/ValueSet/vision-product
from the FHIR Standard
VisionPrescription.lensSpecification.eyerequiredVisionEyes
http://hl7.org/fhir/ValueSet/vision-eye-codes|4.0.1
from the FHIR Standard
VisionPrescription.lensSpecification.prism.baserequiredVisionBase
http://hl7.org/fhir/ValueSet/vision-base-codes|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
crd-ci-q1errorVisionPrescription.extension:Coverage-InformationQuestionnaire is only allowed when doc-needed exists
: extension.where(url='questionnaire').exists() implies extension.where(url = 'doc-needed').exists()
crd-ci-q2errorVisionPrescription.extension:Coverage-InformationIf covered is set to 'not-covered', then 'pa-needed' must not exist.
: extension.where(url = 'covered' and value = 'not-covered').exists() implies extension.where(url = 'pa-needed').exists().not()
crd-ci-q3errorVisionPrescription.extension:Coverage-Information'info-needed' SHALL exist if and only if at least one of 'covered', 'pa-needed', or 'doc-needed' is set to 'conditional'.
: extension.where((url = 'covered' or url = 'pa-needed' or url = 'doc-needed') and value = 'conditional').count() >= 1 implies extension.where(url = 'info-needed').exists()
crd-ci-q4errorVisionPrescription.extension:Coverage-InformationIf 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'withpa'.
: extension.where(url = 'pa-needed' and value = 'satisfied') and extension.where(url = 'doc-purpose').exists() implies extension.where(url = 'doc-purpose').all(value != 'withpa')
crd-ci-q5errorVisionPrescription.extension:Coverage-Information'satisfied-pa-id' must exist if and only if 'pa-needed' is set to 'satisfied'.
: extension.where(url = 'pa-needed' and value = 'satisfied').exists() = extension.where(url = 'satisfied-pa-id').exists()
crd-ci-q6errorVisionPrescription.extension:Coverage-InformationIf 'info-needed' is Other, then reason must be specified
: extension.where(url = 'info-needed' and value = 'Other').exists() implies extension.where(url = 'reason').exists()
crd-ci-q7errorVisionPrescription.extension:Coverage-InformationIf reason.coding is present and is not from the extensible value set, then reason.text must be present
: extension.where(url = 'reason').empty() or extension.where(url = 'reason').value.text.exists() or extension.where(url = 'reason').value.memberOf('http://hl7.org/fhir/us/davinci-crd/ValueSet/coverageAssertionReasons')
dom-2errorVisionPrescriptionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorVisionPrescriptionIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorVisionPrescriptionIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorVisionPrescriptionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceVisionPrescriptionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. VisionPrescription 0..* VisionPrescription Prescription for vision correction products for a patient
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... Coverage-Information SC 0..* (Complex) Coverage Info
URL: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
crd-ci-q1: Questionnaire is only allowed when doc-needed exists
crd-ci-q2: If covered is set to 'not-covered', then 'pa-needed' must not exist.
crd-ci-q3: 'info-needed' SHALL exist if and only if at least one of 'covered', 'pa-needed', or 'doc-needed' is set to 'conditional'.
crd-ci-q4: If 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'withpa'.
crd-ci-q5: 'satisfied-pa-id' must exist if and only if 'pa-needed' is set to 'satisfied'.
crd-ci-q6: If 'info-needed' is Other, then reason must be specified
crd-ci-q7: If reason.coding is present and is not from the extensible value set, then reason.text must be present
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier S 0..* Identifier Business Identifier for vision prescription
... status ?!SΣ 1..1 code active | cancelled | draft | entered-in-error
Binding: FinancialResourceStatusCodes (required): A code specifying the state of the resource instance.


Example General: draft
... created SΣ 1..1 dateTime Response creation date
... patient SΣ 1..1 Reference(CRD Patient) Who prescription is for
... encounter S 0..1 Reference(CRD Encounter) Created during encounter / admission / stay
... dateWritten SΣ 1..1 dateTime When prescription was authorized
... prescriber SΣ 1..1 Reference(US Core Practitioner Profile(7.0.0) S | HRex PractitionerRole Profile S) Who authorized the vision prescription
... lensSpecification SΣ 1..* BackboneElement Vision lens authorization
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... product SΣ 1..1 CodeableConcept Product to be supplied
Binding: ExampleVisionPrescriptionProductCodes (example): A coded concept describing the vision products.

.... eye SΣ 1..1 code right | left
Binding: VisionEyes (required): A coded concept listing the eye codes.

.... sphere S 0..1 decimal Power of the lens
.... cylinder S 0..1 decimal Lens power for astigmatism
.... axis S 0..1 integer Lens meridian which contain no power for astigmatism
.... prism S 0..* BackboneElement Eye alignment compensation
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... amount S 1..1 decimal Amount of adjustment
..... base S 1..1 code up | down | in | out
Binding: VisionBase (required): A coded concept listing the base codes.

.... add S 0..1 decimal Added power for multifocal levels
.... power S 0..1 decimal Contact lens power
.... backCurve S 0..1 decimal Contact lens back curvature
.... diameter S 0..1 decimal Contact lens diameter
.... duration S 0..1 SimpleQuantity Lens wear duration
.... color 0..1 string Color required
.... brand 0..1 string Brand required
.... note 0..* Annotation Notes for coatings

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
VisionPrescription.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
VisionPrescription.statusrequiredFinancialResourceStatusCodes
http://hl7.org/fhir/ValueSet/fm-status|4.0.1
from the FHIR Standard
VisionPrescription.lensSpecification.productexampleExampleVisionPrescriptionProductCodes
http://hl7.org/fhir/ValueSet/vision-product
from the FHIR Standard
VisionPrescription.lensSpecification.eyerequiredVisionEyes
http://hl7.org/fhir/ValueSet/vision-eye-codes|4.0.1
from the FHIR Standard
VisionPrescription.lensSpecification.prism.baserequiredVisionBase
http://hl7.org/fhir/ValueSet/vision-base-codes|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
crd-ci-q1errorVisionPrescription.extension:Coverage-InformationQuestionnaire is only allowed when doc-needed exists
: extension.where(url='questionnaire').exists() implies extension.where(url = 'doc-needed').exists()
crd-ci-q2errorVisionPrescription.extension:Coverage-InformationIf covered is set to 'not-covered', then 'pa-needed' must not exist.
: extension.where(url = 'covered' and value = 'not-covered').exists() implies extension.where(url = 'pa-needed').exists().not()
crd-ci-q3errorVisionPrescription.extension:Coverage-Information'info-needed' SHALL exist if and only if at least one of 'covered', 'pa-needed', or 'doc-needed' is set to 'conditional'.
: extension.where((url = 'covered' or url = 'pa-needed' or url = 'doc-needed') and value = 'conditional').count() >= 1 implies extension.where(url = 'info-needed').exists()
crd-ci-q4errorVisionPrescription.extension:Coverage-InformationIf 'pa-needed' is 'satisfied', then 'Doc-purpose' can't be 'withpa'.
: extension.where(url = 'pa-needed' and value = 'satisfied') and extension.where(url = 'doc-purpose').exists() implies extension.where(url = 'doc-purpose').all(value != 'withpa')
crd-ci-q5errorVisionPrescription.extension:Coverage-Information'satisfied-pa-id' must exist if and only if 'pa-needed' is set to 'satisfied'.
: extension.where(url = 'pa-needed' and value = 'satisfied').exists() = extension.where(url = 'satisfied-pa-id').exists()
crd-ci-q6errorVisionPrescription.extension:Coverage-InformationIf 'info-needed' is Other, then reason must be specified
: extension.where(url = 'info-needed' and value = 'Other').exists() implies extension.where(url = 'reason').exists()
crd-ci-q7errorVisionPrescription.extension:Coverage-InformationIf reason.coding is present and is not from the extensible value set, then reason.text must be present
: extension.where(url = 'reason').empty() or extension.where(url = 'reason').value.text.exists() or extension.where(url = 'reason').value.memberOf('http://hl7.org/fhir/us/davinci-crd/ValueSet/coverageAssertionReasons')
dom-2errorVisionPrescriptionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorVisionPrescriptionIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorVisionPrescriptionIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorVisionPrescriptionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceVisionPrescriptionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron