| Dataset | Meaning | Notes |
|---|---|---|
AR |
Autorefraction | Objective refraction from autorefractor/refractometer. |
LM |
Lensometry | Current glasses or lens measurement. |
RT |
Final refraction | Final phoropter/refraction result that produces the prescription/order. |
CO |
Computer/reference correction | Previous, imported, or external refraction loaded as a phoropter input. |
SJ |
Subjective refraction | Subjective/best refraction; structurally RT-like, semantically distinct from final RT. |
KM |
Keratometry | Corneal radius, power, axis, and derived corneal cylinder. |
NT |
Tonometry | Intraocular pressure measurements. |
PM |
Pachymetry | Corneal thickness measurements. |
PID |
Patient identity | Patient/card identity payload. |
AR represents objective refraction values produced by a refractometer/autorefractor.
| Path | Type | Meaning |
|---|---|---|
AR.measurement.header.diopterStep.unit |
string | Usually D. |
AR.measurement.header.diopterStep.value |
number or null | Diopter increment. |
AR.measurement.header.axisStep.unit |
string | Usually deg. |
AR.measurement.header.axisStep.value |
number or null | Axis increment. |
AR.measurement.header.nearDistance |
object | Working/near distance. |
AR.measurement.header.nearDistance2 |
object | Second near/intermediate/computer distance. |
AR.measurement.header.VD |
object | Vertex distance, usually in mm. |
AR.measurement.header.visualAcuityUnit |
string | `,Snellen,logMAR, orDecimal`. |
| Path | Type | Meaning |
|---|---|---|
AR.measurement.data.R.sphere |
number or null | Right sphere in diopters. |
AR.measurement.data.R.cylinder |
number or null | Right cylinder in diopters. Preserve sign. |
AR.measurement.data.R.axis |
number or null | Right axis in degrees. |
AR.measurement.data.R.PD |
number or null | Right monocular PD. |
AR.measurement.data.L.* |
same as R | Left-eye equivalent. |
AR.measurement.data.B.PD |
number or null | Binocular PD. |
AR.measurement.data.*.VSC |
string | Distance visual acuity without correction. |
AR.measurement.data.*.VCC |
string | Distance visual acuity with correction. |
AR.measurement.data.*.VSC-N |
string | Near visual acuity without correction. |
AR.measurement.data.*.VCC-N |
string | Near visual acuity with correction. |
AR.measurement.data.*.VSC-N2 |
string | Second-distance visual acuity without correction. |
AR.measurement.data.*.VCC-N2 |
string | Second-distance visual acuity with correction. |
Some sources distinguish standard/center autorefraction from a large-area objective measurement.
| Path | Type | Meaning |
|---|---|---|
AR.measurement.data |
object | Standard/center objective measurement. |
AR.measurement.dataLarge |
object | Large-area objective measurement. |
dataLarge uses the same R, L, B structure as data. It is optional and should not be required from existing parsers.
AR.measurement.dataNight. Night refraction belongs to RT, not AR.LM represents the measured current correction from glasses or lenses.
| Path | Type | Meaning |
|---|---|---|
LM.measurement.header.prismMode |
string | Prism representation mode, commonly UDIO. |
LM.measurement.data.*.sphere |
number or null | Lens sphere. |
LM.measurement.data.*.cylinder |
number or null | Lens cylinder. |
LM.measurement.data.*.axis |
number or null | Lens cylinder axis. |
LM.measurement.data.*.SE |
number or null | Spherical equivalent. |
LM.measurement.data.*.ADD |
number or null | Near addition. |
LM.measurement.data.*.ADD2 |
number or null | Second near/intermediate/computer addition. |
LM.measurement.data.*.nearSphere |
number or null | Near sphere. |
LM.measurement.data.*.nearSphere2 |
number or null | Second-distance near sphere. |
LM.measurement.data.*.vertPrism.diopter |
number or null | Vertical prism power. |
LM.measurement.data.*.vertPrism.base |
string | U, D, or empty. |
LM.measurement.data.*.horzPrism.diopter |
number or null | Horizontal prism power. |
LM.measurement.data.*.horzPrism.base |
string | I, O, or empty. |
LM.measurement.data.*.PD |
number or null | Monocular PD. |
LM.measurement.data.B.PD |
number or null | Binocular PD. |
Prism base values:
| Axis | Values | Meaning |
|---|---|---|
| vertical | U, D |
Up, down |
| horizontal | I, O |
In, out |
Adapters should normalize prism base values case-insensitively when exporting to external standards.
RT, CO, and SJ share the same practical structure but have different clinical/workflow meanings.
RT: final refraction/result.CO: computer/reference correction, usually previous or imported.SJ: subjective refraction, known from Nidek RT-5100 style workflows.Do not collapse these datasets without preserving their method/use context.
| Path | Type | Meaning |
|---|---|---|
*.measurement.header.diopterStep |
object | Diopter increment. |
*.measurement.header.axisStep |
object | Axis increment. |
*.measurement.header.nearDistance |
object | Near/working distance. |
*.measurement.header.nearDistance2 |
object | Second configured near/intermediate/computer distance. |
*.measurement.header.prismDiopterStep |
object | Prism increment. |
*.measurement.header.prismMode |
string | Prism mode. |
*.measurement.header.VD |
object | Vertex distance. |
*.measurement.header.visualAcuityUnit |
string | Visual acuity unit/scale. |
*.measurement.data.R.sphere |
number or null | Right sphere. |
*.measurement.data.R.cylinder |
number or null | Right cylinder. |
*.measurement.data.R.axis |
number or null | Right axis. |
*.measurement.data.R.ADD |
number or null | Addition. |
*.measurement.data.R.ADD2 |
number or null | Second-distance addition. |
*.measurement.data.R.nearSphere |
number or null | Near sphere. |
*.measurement.data.R.nearSphere2 |
number or null | Second-distance near sphere. |
*.measurement.data.R.vertPrism |
object | Vertical prism. |
*.measurement.data.R.horzPrism |
object | Horizontal prism. |
*.measurement.data.R.accommodation |
number or null | Accommodation. |
*.measurement.data.R.PD |
number or null | Monocular PD. |
*.measurement.data.L.* |
same as R | Left-eye equivalent. |
*.measurement.data.B.divergence |
object | Blur, break, recovery points. |
*.measurement.data.B.convergence |
object | Blur, break, recovery points. |
*.measurement.data.B.NRA |
number or null | Negative relative accommodation. |
*.measurement.data.B.PRA |
number or null | Positive relative accommodation. |
*.measurement.data.B.PD |
number or null | Binocular PD. |
*.measurement.data.B.PHDelta |
number or null | Phoria delta when present. |
When a phoropter/refraction source distinguishes standard/day final refraction from night refraction, use:
| Path | Type | Meaning |
|---|---|---|
RT.measurement.data |
object | Standard/day final refraction. |
RT.measurement.dataNight |
object | Night-condition final refraction. |
RT.measurement.dataNight uses the same R, L, B structure as RT.measurement.data.
RT.measurement.dataLarge. Large-area measurement is an autorefraction concept and belongs to AR.measurement.dataLarge.CO and SJ remain standard refraction-like datasets. If future workflows need night variants for them, document the use case before adding fields.
KM captures corneal curvature and power.
| Path | Type | Meaning |
|---|---|---|
KM.measurement.header.diopterStep |
object | Keratometry diopter increment. |
KM.measurement.header.axisStep |
object | Axis increment. |
KM.measurement.header.refractiveIndex |
number or null | Keratometric refractive index. |
KM.measurement.data.*.KMMedian.R1.radius |
number or null | First meridian radius. |
KM.measurement.data.*.KMMedian.R1.power |
number or null | First meridian power. |
KM.measurement.data.*.KMMedian.R1.axis |
number or null | First meridian axis. |
KM.measurement.data.*.KMMedian.R2.* |
object | Second meridian values. |
KM.measurement.data.*.KMMedian.average.radius |
number or null | Average radius. |
KM.measurement.data.*.KMMedian.average.power |
number or null | Average power. |
KM.measurement.data.*.KMMedian.KMCylinder.power |
number or null | Corneal cylinder power. |
KM.measurement.data.*.KMMedian.KMCylinder.axis |
number or null | Corneal cylinder axis. |
NT captures intraocular pressure.
| Path | Type | Meaning |
|---|---|---|
NT.measurement.data.*.IOP[] |
array | Individual IOP measurements. |
NT.measurement.data.*.IOP[].valuemmHg |
number or null | IOP in mmHg. |
NT.measurement.data.*.IOP[].valuekPa |
number or null | IOP in kPa. |
NT.measurement.data.*.IOP[].lowConfidenceIndex |
string | Device confidence/low confidence marker. |
NT.measurement.data.*.averageIOP.valuemmHg |
number or null | Average IOP in mmHg. |
NT.measurement.data.*.averageIOP.valuekPa |
number or null | Average IOP in kPa. |
NT.measurement.data.*.correctedIOP.param1 |
number or null | Correction parameter 1. |
NT.measurement.data.*.correctedIOP.param2 |
number or null | Correction parameter 2. |
NT.measurement.data.*.correctedIOP.CCT |
number or null | Central corneal thickness used for correction. |
NT.measurement.data.*.correctedIOP.measured |
object | Measured IOP before correction. |
NT.measurement.data.*.correctedIOP.corrected |
object | Corrected IOP. |
PM captures scalar pachymetry values. It is implemented by current parsers/templates, although it is not present in the historical HS schema.
| Path | Type | Meaning |
|---|---|---|
PM.measurement.data.*.PACHY[] |
array | Individual pachymetry measurements. |
PM.measurement.data.*.PACHY[].thickness |
number or null | Corneal thickness. |
PM.measurement.data.*.PACHY[].lowConfidenceIndex |
string | Device confidence marker. |
PM.measurement.data.*.averageThickness |
number or null | Average corneal thickness. |
PID carries a patient identity payload, often for card or routing workflows.
| Path | Type | Meaning |
|---|---|---|
PID.common.patient.ID |
string | Patient identifier. |
PID.common.patient.firstName |
string | First name. |
PID.common.patient.middleName |
string | Middle name. |
PID.common.patient.lastName |
string | Last name. |
PID.common.patient.gender |
string | Gender. |
PID.common.patient.age |
integer or null | Age. |
PID.common.patient.DOB |
string | Date of birth. |
The historical HS-Refractor_internal/nxJsonSchema.json documents AR, CO, RT, LM, and PID, but not all active datasets.
Known gaps to address in the next schema revision:
KM directly instead of relying only on examples/templates;NT;PM;SJ;correctedIOP;AR.measurement.dataLarge;RT.measurement.dataNight;PID.patient.ID casing, because the PID schema uses lowercase id while templates use uppercase ID;refractive-JSON/KM.json sample, which currently fails JSON validation.