Optical Customized Lens Fitting, Order, and Access Management system

A united and automated system that helps Optix and its clinical partners build a smoother and more efficient business process by creating them to do lens-fitting, place orders, and manage organizations and staff efficiently and precisely.
Cloud Interactive
Optical company specializing in specialty contact lenses
Agile Scrum
Qualitative Research
Comparative Analysis
System Thinking
Prototyping & Iteration
Usability Testing
Key Team Members
Pei Chao (UX)
Grace Chiu (SA)
Rina Chen (UI)
Sean Wang (Design Lead)
Project Length
1 year (2021)
My Position
UX Researcher/ Designer



The customized optic system is the largest and longest project I have ever participated in. The project involved more than 20 people, including PM, SA, design, front-end, back-end, and QA -- among them, I had close collaboration with SA and other designers. I was fortunate to fully participate in the project and understand the to-B product's building process deeply.

Our client, Optix (remain confidential, refer as Optix in this case study),  is a customized contact lens company actively expanding into the global market. Since its products are professional medical equipment that can't be directly sold to consumers, it needs to cooperate closely with its sales channels, such as medical clinics, optical stores, and distributors.

However, Optix's original business approach can no longer cope with its growing scale. Firstly, it has multiple software systems, each used for different functions and used by various stakeholders. However, while the number of stakeholders is increasing, their software remains independent with a lack of integration. Hence, it faces communication and management difficulties both with internal departments and external channels. In addition, the medical field, to which Optix belongs, has many particular scenarios and needs that its systems fail to fulfill. Hence, it relies heavily on manual processing, increasing costs and sacrificing efficiency.

Therefore, to help Optix and its partners build a smoother and more efficient business model, we aim to integrate their current systems into a united and automated system, allowing them to do lens-fitting, make orders, and manage organizations efficiently with precision.




Optix has a hard time managing its channels and collaborating with them
Firstly, it has a complex multi-channel system. Due to the variation in contracts, budgets, and laws of various countries, it cooperates with each channel in unique ways. Between channels, they also have their corresponding responsibilities based on their roles. Hence, Optix and its partners face difficulties tracking their ownerships and duties.

Moreover, despite the extremely high cost of specialty contact lenses, Optix provides patients with free displacement service (patients can change their lenses until they are satisfied with their results). Hence, to avoid lens' waste, it often spends too much time and effort on order review--ensuring their orders' prescriptions is precise before production. Hence, it would like to distribute the order review work to its channels but hasn't yet developed an efficient mechanism.
Strengthen the cooperative relationship between Optix and its channels by establishing multiple levels of access based on organizations and staffs' roles, adding channel groups to manage their access on products, and creating a distribution mechanism of order review.



Optix's product quantity limits can't adjust flexibly according to the factory's condition, and its channels have trouble placing orders due to lens' complex prescriptions.
Even though Optix's product quantity limit changes according to the status of its factory, there is no limit control mechanism in its current order system, which make its customer support need to manually check on every order (whether orders' quantity limit fits the current limits).

Secondly, the prescriptions for specialty lenses must be exact and detailed. However, the process of writing prescriptions is too tricky and complex, making its' channels either unwilling to order themselves online (they often call Optix's representatives to write prescriptions and order for them directly) or ordering wrong lenses that are unsuitable for patients.
Improve the efficiency and accuracy of the ordering process by building flexible mechanisms to adjust purchase quantity limits and providing channels with various aids while they are writing prescriptions, as well as prescription checking services after the orders are sent.



Optix's agent can't directly use its account to place orders for its distributors, the single factory locations makes it impossible to reduce delivery cost, and Optix has hard time collecting patient's feedback
To achieve efficiency, agents often want to help their distributors place orders but have no means. Secondly, as Optix's markets expand, Optix still only has a single factory location, which increases delivery costs. Lastly, to continuously optimize its product, it needs to get enough patient feedback from its channels. However, there hasn't been an organized way to collect them.
Optimize order processing efficiency, optimize products' quality, and lower delivery cost by assisting agents in purchasing on behalf of their distributors, developing consolidated shipping, and requiring feedback via questionnaires from channels before they place new orders.


Design Proposal

To start the project, our design team need to present to client our proposal- two design concepts are required within two weeks after a single meeting with the client. The system we are creating needs to cover Optix's complete operation process and can be used by all stakeholders-- channel's staff (clinics/ agents/ distributors) can order lenses via the frontend, and Optix's customer service staff can manage channels and orders via the backend. We organized the limited information collected from this meeting into the following graph.

Overview of Initial Meeting

The graph states Optix's current business workflow, pain points, and planned solutions.
As we noticed there are different stakeholders in the meeting, we propose two different approach for different audiences--brand-orient designed for managers and task-orient for staff involved in the operation process.  To help Optix get the overall picture, we propose to them the design content of homepages.



Frontend | Users: Channels' staff
As Optix is actively expanding its global reputation and services, the solution adopts the common official website format to communicate with its channels about important information and enhance its brand image.
Backend | Users: Optix's Staff
Since low efficiency of order processing is the leading cause that damages corporate image, the solution aims to help its staff optimize their workflow.



Frontend | Users: Channels' Staff
As it is difficult for the channel's staff to place online orders independently (without Optix's help), the solution helps them be fluent in the system by providing personalized content with multiple feature entry points.
Backend | Users: Optix's Staff
As the staff are responsible for multiple types of work, the solution help them track their overall work status in real time
Optix likes our task-oriented approach as its practicability may of its current pain points -- hence the project was officially started.
Our proposal presentation slides

User Research

As the project starts, we begin a three-week user study. We turn information from interviews into more detailed blueprints and insights.
Role play: The doctor walks us through the entire optic procedure as we pretend to be patients- having the opportunity to understand how ophthalmology works behind the scenes is a rare and interesting experience

Service Blueprint

The process varies by country and lens type. The service print illustrates the clinical procedure in Taiwan for Ortho-k lens (Optix's most popular product). It serves as a general reference.


The current Optix systems include the domestic order system, the overseas order system, and the ERP system of the factory. As the domestic and overseas systems have their unique logic and users, the two are linked to the ERP-- data is synchronized by importing Excel spreadsheets.

Optix plans to replace its existing domestic and overseas system by creating a new united system that executes global workflows, manages access of organizations and staff, and develops Adaptive Optics Visual Simulator (AOVS) along with various prescription generate tools.  

Channel Management


Business Structure

Optix has difficulty managing its channels and collaborating with them due to its complex organization hierarchy and ways of distributing work. The issue can be dissected into four main topics.


Relationships between Optix and its Channels

According to different counties, Optix collaborates with their channels differently- its domestic team will sell products to agents, hospitals, and optical stores. In contrast, foreign teams will sell products to agents, who will further assign them to distributors. However, due to the lack of an access control mechanism, Optix faces difficulties managing its channels.
Creating the design of the access control mechanism that reflects Optix's organizational structure--making two levels of access control: "agents" and "distributors." While Domestic teams only need the agent level, foreign teams need both levels. The organization level from top to bottom is Optix → Agents → Distributors. Organizations can directly manage the ones that are directly below them.


Relationships among Channels' staff

Optix only provides each channel with a single full-access account, making it hard for the channel's staff to distribute work due to security and privacy concerns.
e.g. The dean needs the nurses to help to process orders, but he fails to do so because he doesn't want them to have access to confidential information.
Creating three roles of access for each channel- owner (single account, assigned by the upper organization), admin (multiple versions), and user (various accounts).

Among accounts, there are two types of interactions:
1. lower-level management access: users can manage (view/create/edit/delete) all accounts that are below their level
e.g. Agent's owner can not only manage their organization's account but also can manage all their distributor's accounts  
2. Same-level viewing access: Users can view accounts that are at their same level by default (their access can be expanded from "View" to "Management" after setting)
e.g. Admin can view another admin account by default and can manage other admin accounts after setting 


Order Review


Despite the extremely high cost of specialty contact lenses, Optix provides patients with free displacement service (patients can change their lenses until they are satisfied with its results). Hence, to avoid lens' waste, it often spends too much time and effort on order review--ensuring their orders' prescriptions s precise before production. Hence, it would like to distribute the order review work to its channels but hasn't yet developed an efficient mechanism.
Establish a three-level order review distribution mechanism -- orders placed by the channel's staff must be reviewed by its upper-level colleagues, upper-level organization, and Optix.

e.g., When the distributor's user role places an order, the order needs to be reviewed by the distributor's admins or owner, its agent (any role can check), and Optix.


Channel access to products

Relationships between channels, products, and free kits are intertwined--Optix sells different types of products/ brands to different channels according to their contracts/ countries' law regulations, and each product's type/ brand will have its corresponding free kit. Since there is no mechanism reflecting their relationships, Optix needs to assign kits for each order manually.
e.g. Chan's Clinic can only purchase Ortho-K lens, the free kit of Hiline Ortho-k is Optix blue, and the free kit of Euclid Ortho-k is Optix purple
Create channel groups--adjust channel permissions on products at any time on a group basis by setting channels that can purchase the same products/ receive the same kits as the same group.
e.g. Clinic A and Clinic B both belong to the same channel group that can only purchase Ortho-k; the free kits they get are all Optix blue

UX Flow

The difference between the front end and the backend system is perspective.

The backend, which user is Optix's staff, has God's perspective--users can see the overall organizational structure of all agents, distributors, and their staff. Hence, the feature is called Channel Management.

On the other hand, the frontend, where the user is the channel's staff, will see different content based on their account's access role (can only view/ manage same-level/ upper-level organization). Hence, the feature is called Account Management.

The Backend | Channel Management | Users: Optix's Staff

Relationships between Optix and its channels
The hierarchy of the page echoes the structures of the organization.
Organization and it owner
Each organization has an owner account with the highest access level and is directly assigned by the upper-level organization. Users can't create another level of accounts until the owner account is being set.

To prevent users from attempting to create admin/ user accounts before setting up the owner account, we bind the organization and the owner account together-- users need to assign someone to an owner account as they are creating an organization.
Order Review Difference between Agents & Distributors
Optix has a stricter review principle on agents and has a looser one on distributors. While orders placed by agents need to be reviewed by Optix, an agent can set up whether orders from its distributor need to be checked.
Change Owner
As we continue working on the flow, we encounter of a particular scenario:
What will happen to the original owner when it is replaced by the new owner?
We think of two options presenting the original owner account and end up choosing option 2.
Changing an organization's owner (the person with the highest authority) is significant. Hence, letting Optix know the current and former owner can smoothen the job handover process.

Also, the former owner account can be reactivated by resetting it to admin or user access.
Admin and User Account
After setting up the organization and its owner, users can work on creating admin and user accounts.
Apply Existing Access Setting
During the user interviews, the doctor mentioned that lots of his employees have similar job positions and duties. The scenario he said inspired us to design the feature of applying existing access settings. When a user helps a new staff create/edit an account, they can directly apply the access settings of a current member to the new one and manually adjust the details afterward. The feature increases efficiency while maintaining flexibility at the same time.
Channel Group
The channel group feature has to echo the sophisticated relationships between channels, products, and free kits.

What products and free kits that each channel is allowed to buy vary. So we brainstorm a few ways to manage product access.
The initial idea is to set access directly to an individual product or channel page. But we very soon realize that both methods will bring troubles in operation - when there are 100 products, users must go to each product page to set 100 times, and vice versa. Therefore, we decided to create a channel group - channels that share the same products will be placed in the same group so users can flexibly adjust channels' product access.

The Frontend | Account Management | Users: Channel's Staff

The content of the frontend varies from user to user. Unlike Optix's staff has God's perspective in the backend, the channel's staff will see the corresponding content according to the access level of their organization and their roles.

Hence, users can only see and manage their organization and their lower-level organizations and can only view or manage individual accounts with the same or lower-role level. Plus, an organization's owner can only be assigned by its upper-level organization.


Business Structure

The product topic covers the complete order placing process. Unlike general to-C shopping sites where users only need to select color and size and then add products to the cart, the ordering process of the to-B system is much more complicated.

The process can be dissected into four main topics.


Order Quantity Limits

The purchase quantity of Optix's products is not only complex (can only purchase one lens for each eye per order for the domestic market, need to purchase at least six bottles of solutions for overseas market, etc.), but also constantly changing - it may vary according to medical law or factory's status change.
Able to set up purchase quantity limits flexibly based on product category or brand and have separate settings for domestic and overseas markets


AOVS Simulation

High-risk and high-cost lens testing process-- Optix's sales need to bring testing lenses to its channel sites (e.g., clinics) in person to help patients choose the proper prescriptions. In contrast, patients must try them on at home for two weeks before finalizing their prescription and order.
Provides simulation (AOVS) technology that can help replace the analog testing process. Obtaining patient information and corneal photos via topography produces a 3D real-time interactive simulation map that simulates different corneal conditions according to different input values, providing doctors with intuitive feedback and prescription suggestions.


Parameter Values Calculator

Since the parameter values are hard to be converted, the channel's staff often are unwilling/ unable to fill them in themselves.
Provide parameter calculation tool - users only need to fill in a few key parameters that can be easily learned from instruments, and the calculator will automatically fill out the rest.


Prescription Checking Service

A correct prescription is essential because it needs to be 100% suitable for the patient to achieve vision correction. Suppose the channel is uncertain about the parameters they fill in as placing an order. In that case, they will ask Optix to check the prescription; later, they will receive a recommended prescription from Optix. If they agree to Optix's suggestion, their order's prescription will be changed to the one suggested and handover to production and shipment.

However, this workflow is inefficient and leads to possible responsibilities conflict- if the channel staff finds the order problematic, Optix still needs to look back to the emails to find "evidence" and understand what went wrong in the order process.
Provide prescription checking service system can document the complete communication process to help both parties reach consensus quickly - if the channel staff is uncertain about their prescriptions, they can upload patients' lens testing videos and ask Optix for the suggestion; Optix can approve their original prescription and provide a new one. Eventually, the channel staff can choose to confirm the suggested prescription or use the original one. All decisions in the process are recorded.

UX Flow

The front and backend are designed to correspond to each other - the backend is for product management while the frontend is for order placement.

The Backend | Product Management| Users: Optix's Staff

Product Category & purchase Quantity Limits
Similar to the previous design logic on access, the backend product page also echoes the product hierarchy. Users can set up different purchase limits for each product category or brand.

Regular products are purchasable products with purchase quantity limits displayed on the front end while free Kits are free items with a fixed quantity (one) that are not displayed on the front page.
Specific Product Information
Unlike typical to-c eCommerce, which only consists of simple product information such as photos, sizes, description text, etc., Optix has multiple settings due to specific scenarios.
Add Product Flow
To add a product, Optix's staff needs to fill in basic settings, about, and parameters.

The Frontend | Place Order| Users: Channel's Staff

Product Details Page
Due to the complex settings and specs of lenses, channel staff needs to enter multiple pieces of information before adding products to their cart. To ideate how to present product information clearly at once, we referred to the product pages of For eyes and Apple's website.

Compared to the more common online products such as clothes and shoes, both of them need to fill in multiple specification settings. Hence, they adopt the same approach--make the product image fixed on the left side while making the product info scrollable on the right side.
Tools for Generate Prescription Manually
Apply Existing Patient Info
Similar to the Apply Existing Access feature mentioned earlier, staff do not need to enter patient information manually but simply apply the existing patient data. When applying, staff can either choose to use only patients' basic information or their most recent prescription record.

If, coincidently, different patients share the same exact info (same name/ gender/ birthday), staff can make a note in the comments field to create distinction and avoid having repeated data.
View Prescription History
While thinking that Apply Existing Patient feature would be sufficient enough to cover possible scenarios, users (in this case is doctors) brought up a scenario that we did not expect at first in the interview:
if we encountered a patient with a more unusual or difficult condition, instead of applying the patient's most recent prescription record directly, we would choose to view all the patient's historical data to help make an informed decision on a new prescription.
Therefore, we have added the feature of view all prescription history so that the staff can see all records at once before generating a new prescription.

Detect duplicated Patient Data

As we are wrapping up or the product feature, a team member brings up a very-unlikely-but-may-still-happen scenario:
When a staff enters patient info and adds the product to the cart, the system detects the info they entered already exists in the current patient database

‍The situation may be caused by two possibilities.
Scenario 1) The newly entered patient info and the old patient in the database actually is the same person- the staff forget that the patient has visited and purchased the lens.
Scenario 2) The newly entered patient info and the old patient in the database isn't the same person- surprising that there are really two patients in the world with exact same basic information.
To avoid duplicated patient data for the same patient, the system needs to ask the staff which of the above scenarios they encountered.

If staff encounters scenario one, we must guide them to select the existing patient info in the database to avoid duplicated data.

If the staff encounters scenario two, the team has to add the newly entered patient info to the current patient database.


To be continued. (currently in progress, please feel free to reach out for any inquires)