ZyoLIMS Tour

1 What is ZyoLIMS

  • ZyoLIMS is a Laboratory Information Management System (LIMS).
  • ZyoLIMS is a product offered by ZyoData Bioinformatics Firm (https://www.zyodata.com).
  • ZyoLIMS is installed in the cloud, offered as an online service, a.k.a, Software as a Service or SaaS.

2 How to Access ZyoLIMS

  • To use ZyoLIMS, a tenant, usually a laboratory or clinical laboratory, needs to subscribe to the ZyoLIMS online service.
  • Each tenant is assigned its own unique URL. For example, a tenant named “example” would receive an URL like the following: https://example.zyolims.com (this is a hypothetical URL).
  • ZyoLIMS can be accessed via any modern web browser, such as Chrome, Edge, Firefox.

3 How to Login

  • ZyoLIMS uses third-party Identity Provider (IdP), such as Google or Microsoft, for authorization and authentication. ZyoLIMS also uses AWS’s Cognito Authentication service to manage user authentication.
  • A specific tenant may use any one or more of the IdP services described above. The choice of IdP is made together by ZyoLIMS and the Tenant.
  • If a tenant uses Cognito service, the user name or login ID is the email address of the User. The User also needs to set a Cognito password in this case.
  • If a tenant uses Microsoft to host its emails, users of that tenant (User) are redirected to Microsoft to login. The User need to authorize ZyoLIMS to use her email address as the identifier to the ZyoLIMS system, and login (authenticate) using her Microsoft account password.
  • Likewise, if a tenant uses Google to host its email, user of the tenant are redirected to Google to authenticate. The User need to authorize ZyoLIMS to use her email address as the identifier, and login using her Google account password.
  • After successful login, the User is redirected back to ZyoLIMS website.
  • The User can start using ZyoLIMS at this time, if and only if the User is whitelisted in ZyoLIMS’s database.

4 How to Logout

  • Click the “Logout” link on the top-right corner of any webpage.
  • This process clears cookies in your browser, and the session is closed.
  • Next time the User to login again, she needs to go through the IdP login prompt again, as described above.

5 How to Relogin

  • Within a predefined period of time, usually between 1 and 24 hours, the User doesn’t need to re-type user name and password at IdP’s site in order to user the system after the session expires.
  • Relogin is usually silent and automatic, as ZyoLIMS uses a piece of authentication information called ID Token. ID Token, assigned by IdP, usually has a lifetime of 24 hours.
  • After ID token expires, the User needs to login via IdP’s login prompt again, if the session is not refreshed using Refresh Token before expiration.
  • If the User keeps using the site, the Tokens are renewed automatically. In principal, the session can last very long time unless the User explicitly logout.
  • Fortunately, the User does not need to know these details. She’ll login silently or via a login prompt.

6 Role-Based Access Control

  • Role-Based Access Control is abbreviated as RBAC, widely applied in LIMS.
  • Access to the ZyoLIMS system is controlled at multiple levels
    • IdP for authentication - public-facing website
    • Whitelist - this sits between the public website and the internal web services, also known as Upstream
    • Upstream service has three-level protection
      • Cookie. Cookie works together with sessions
      • Tenant permission. A tenant, identified by user’s email, is checked to see if the tenant is registered in the backend database
      • Each user is assigned to a specific role, which defines which URLs are accessible.
  • If a user cannot access the system at all (e.g.: when the User gets Unauthorized message or Prohibited message, also known as 401 page), she needs to ask her manager or system admin to whitelist her in the ZyoLIMS database.
  • If a user cannot access certain URLs but she thinks she should, contact her manager or system admin, who can help grant her appropriate permissions.

7 Customization and Themes

  • After first login, the User is encouraged to choose a theme she prefers.
  • The theme switcher is a submenu in the top-right corner of each page.
  • The preference is saved by the specific browser (computer) the User uses.
  • When the User switches her browser from one computer to another, the default theme takes effect after her first login.
  • The User can switch her theme whenever she likes, and to whichever theme provided by ZyoLIMS.
  • The chosen theme is automatically remembered, and takes effect from that point on.
  • Another customization is the display name of the User on the top-right corner of each page.
  • The display name is usually the full name of the User, registered in the ZyoLIMS database or with her email provider, in that order.

8 Concept of Workflow and Tasks

  • A workflow is a process that moves an object from one state to another by individual tasks.
  • How to route tasks from one to another is predefined and is part of workflow definition.
  • Each task is an action. Tasks are the verbs of any workflow.
  • Each task acts on an object or objects. Objects are the nouns of the workflow.
  • Each task is executed according to a predefined SOP, or protocols.
  • An action takes place at a specific time, in a specific space (e.g. an instrument), done by a specific user (login user).
  • The concept of transitions is abstracted and encapsulated. To the end Users, all they need to do is to create worksheets and update worksheets.
  • ZyoLIMS tracks all these aspects of a workflow. It tracks who (user) did what (task) on what (samples), when, where (instrument) and how (Protocols).
  • ZyoLIMS tracks additional entities, such as Clinics, Patients, Vendors, Reagents (Inventory), and much more.
  • The concepts of workflow, tasks, entities such as Clinics, Patients, Specimens are all mapped to the main menu on the top of every page.
  • Before the User continues to the next sections, she is encouraged to explore the main menu to familiarize herself with these concepts.

9 Task Events and States

  • Number of tasks and and routing table are workflow specific. They are usually defined during the configuration phase of ZyoLIMS customization process.
  • Until a user interface is defined to configure the workflow interactively, a script is used to configure a tenant-specific workflow.
  • The routing table and the number of tasks can be modified after the initial configuration.
  • ZyoLIMS also supports multiple workflows concurrently. However, at any given time, there is a single active workflow the User can work on.
  • Each task event of a given sample, e.g. transitions from one state to another or transitions from one task to another, is recorded automatically by the workflow engine in the database.
  • It is these transactions or transitions that drive each sample from the start to the end of the workflow.
  • ZyoLIMS tracks all transactions for all samples from accessioning to the deliver of the final report.
    • Transaction from one task to another (e.g.: Isolate miRNA to PCR)
    • State change from one to another within each task (e.g.: Queued to Processing)
    • Combinations of task and state transitions

10 Typical Workflow Tasks

A typical workflow may have all or some of the tasks listed below.

  • Accession Specimen
  • Extract DNA Sample (or RNA, or Protein)
  • Qualify Sample
  • Quantify Sample
  • Assay Sample
  • Analyze Results
  • Generate Report
  • Review Report
  • Approve Report
  • Release Report

ZyoLIMS supports these tasks, or any combination of them, by default. Each task can be customized according to Tenant’s special requirements.

11 Accession

  • In ZyoLIMS, nearly all the workflows start at Accessioning a specimen, thought it does not have to.
  • Two terms used in ZyoLIMS
    • Specimen - whatever received from clinics or taken directly from patients, e.g.: blood, serum, or saliva.
    • Samples - whatever extracted from a specimen in tenant’s laboratory, after accessioning, e.g.: DNA, miRNA, protein.
    • Accession number - each specimen, after accessioned, receives a unique accession number. The specimen and subsequent samples can be identified using accession number
  • After accessioning, a specimen is referred as sample.

12 Requisition and Test Menu

  • Each accessioned specimen is associated with a specific requisition number.
  • A requisition number is, or is associated with, the barcode on the specimen container such as a saliva tube or serum tube. This varies from laboratory to laboratory.
  • A requisition form can be in the form of paper or digital file, perhaps accessible via provider’s API. A paper requisition form can be scanned and saved in the ZyoLIMS database.
  • Each requisition, or specimen, is associated with one or more tests.
  • A test can be specified in ICD code or test code of other form.
  • Workflows are tailored for specific tests.

13 Worksheets

13.1 Create a worksheet

  • Except the Accession task, all other tasks begin with the worksheet generation steps
  • All worksheets are associated with a specific task.
  • Each task takes one or more samples. Usually, the samples are placed into 96- or 384-well plate. So, there is an association between worksheets and plate (container) type.
  • When there is at least one sample is queued for a specific task, a worksheet can be generated.
  • There is a maximum number of samples a worksheet can take. Usually, this maximum number is the number of wells of the containers. When the samples are duplicated, the maximum decreases accordingly.
  • Where there are more than the maximum number of samples available, the system automatically selects samples by priority. The user can exclude or include samples manually.
  • When a sample is created, the selected samples change state from Queued to Processing.

13.2 Update a worksheet

  • After a worksheet is created with less than the maximum number of samples and the task has not been actually executed, the user can edit the worksheet to add new samples, if there is any.

13.3 Dequeue a worksheet

  • To complete a task, the user must dequeue the samples in the Processing state.
  • A sample in Processing can go to one of the three possible states.
    • Complete: in most cases, a sample passes QC, and should be moved on to the next step.
    • Aborted: in some cases, a sample may fail QC. When this happens, the user can chose to requeue the sample to the same task or one of the earlier task, depending on how many options have been configured for the workflow.
    • Dismissed: if a sample must be taken out of the workflow permanently, e.g.: the order is canceled for whatever reason, the user can move the sample into this state.

14 Requisition

  • Warn: There is a lot to do for Requisition. This is a work in progress.
  • Requisition is usually laboratory-specific.
  • A long Requisition form can take a few minutes of time to enter into the database.
  • Work in progress for ZyoLIMS
    • We’ll allow the users to enter essential information first to access the sample, so the samples can go through the workflow as soon as possible
    • The remaining information can be entered into the database later.
    • Please let me know how we should proceed.
  • Creation, edit, and view
    • Right now, only partial information can be edited and viewed (the core specimen information - necessary to drive the workflow)

15 Analytics

  • The term, Analytics, is defined as the metrics and the calculation of them used to monitor the workflow, tasks, and most importantly sample states.
  • This term is different from the analysis of the raw data, such as those found in data analysis pipelines.
  • Examples of Analytics in the control charts
    • Turnaround Time (TAT)
    • Number of specimens accessioned in a selected period
    • Number of specimens failed over a period of time at a selected interval
    • Size of worksheet (number of samples in each batch)
    • Number of samples failed over a period of time at a selected interval

16 Pipeline and Data Analysis

  • For data analysis pipeline, the Tenant can do one of the following:
    • Pick and choose pre-implemented modules
    • Request customization of existing modules
    • Develop completely new custom modules by either the Tenant or ZyoData team
  • The following describes what a tester can do in our demo site.
    • A CSV file can be uploaded as the result of “Assay” task.
    • The CSV file must follow certain conventions, in terms of the number of columns, the order of them, and allowed values in each column.
    • For an example file, please go to “Download Center” under “Tools” menu, and download or display a result file.
    • When a conforming CSV file is updated, the analysis result becomes available instantaneously.

17 Search

  • Accessible
    • Search box in the main menu bar
    • Standalone search page (“Tools” -> “Search”)
  • Searchable terms
    • Single word, e.g.: Specimen number, accession number, worksheet number
    • Complete or partial
  • How to search
    • Type your keyword; the first one is taken, if multiple words are entered
      • Full text search is to be added soon
    • Hit the Enter key
  • Last search term is remembered. To clear it up, just search with empty string
  • The search results
    • List of samples and worksheets, if found

18 Inventory

  • Two main entities
    • Vendors
    • Reagents

19 Protocols (SOPs)

  • Each task is associated with a single protocol (SOP)
  • At least one protocol must be defined for each task in the active workflow
  • A protocol must be selected when a worksheet is created or updated
  • A PDF version of scanned, approved SOPs can be uploaded, if so desired.

20 System Admin

  • This URL is RBAC-controlled.
  • Only system-admin can access it.
    • During the demo / test phase, it may be activated for all users.