OpenELIS Global Style Guide
Overview
Document URL: OpenELIS Style Guide- DIGI Wiki
Why We Are Defining the OpenELIS Global Style Guide System
Colors and Accessibility Standards
OpenELIS Global is an open-source Laboratory Information System (LIS) designed to meet the unique needs of clinical and public health laboratories worldwide. It is critical in strengthening laboratory operations, improving data quality, and enabling better patient care through efficient sample and test result management.
This Style Guide establishes the visual, structural, and technical standards for OpenELIS to ensure consistency, usability, and professional quality across all system parts. It is intended for developers, designers, contributors, and implementers who are working on the OpenELIS
Why We Are Defining the OpenELIS Global Style Guide System
OpenELIS Global is a laboratory information system used across diverse health systems and countries, each with different needs, but all sharing the same challenges: inconsistent user experience, outdated frontend tooling, and fragmented engineering practices. Historically, visual and interaction design across OpenELIS implementations has been inconsistent, making collaboration difficult and increasing the cost of maintenance and onboarding.
This style guide is our response to that. It sets the baseline for a unified, modern, and accessible design system across all OpenELIS Global interfaces, regardless of country, customization, or use case. It helps us ship faster, with fewer regressions. It ensures our software is usable by everyone, including users on low-bandwidth networks, older hardware, and with varying levels of digital literacy or ability.
This documentation is not theoretical. It directly results from real implementation experience, active deployments, and the hard-earned lessons of maintaining a global open-source LIS. The aim is to reduce guesswork, eliminate inconsistency, and make OpenELIS easier to contribute to, extend, and scale.
We’re not just redesigning components—we’re raising the baseline.
Objectives of This Guide:
Create a clear and consistent user experience (UX) across OpenELIS interfaces.
Improve the maintainability and scalability of the OpenELIS design and code.
Ensure accessibility, internationalization, and responsiveness.
Support collaboration across distributed teams and contributors.
Who Should Use This Guide:
Software engineers write frontend and backend code.
UX/UI designers create layouts, workflows, and visual elements.
QA testers ensure functionality aligns with expected behavior.
Documentation writers prepare user manuals and technical guides.
Implementers and administrators customizing or deploying OpenELIS.
Scope of the Guide:
Visual design (colors, typography, icons)
User interface components and behavior
Code style and architectural patterns
Naming conventions and best practices
Accessibility and Usability Standards
Colors and Accessibility Standards
Color & Accessibility Standards
This guide defines how OpenELIS uses color in its UI across brand elements, components, and accessibility cues. Colors are categorized into primary (core branding), secondary (complementary use), neutrals (backgrounds, borders, text), and accessibility colors (status indicators like success, warning, and error).
Use these definitions to ensure visual consistency, accessibility compliance, and maintainable design across the system. If you’re picking a color that’s not in this guide, you’re doing it wrong.
Primary colors
These are the core brand colors used for actions, highlights, and key UI elements.
Token | Hex Value | Preview | Description |
---|---|---|---|
--cds-focus | #0f62fe |
| Focus state (accessibility) |
--cds-link-primary | #0f62fe |
| Primary link color |
--cds-button-primary | #0f62fe |
| Primary action button |
--cds-background-brand | #0f62fe |
| Brand background color |
These define the main call-to-action (CTA) color and represent the OpenELIS identity in user interaction (buttons, links, focus states, etc.).
Secondary colors
These support the primary colors, often used for less prominent actions or background accents.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
These are used for secondary actions, hover states, or visited links — they complement but do not distract from primary CTAs
Neutrals
Neutral tones are used for backgrounds, borders, and base UI elements.
Examples:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
These establish the structural framework of the UI, ensuring clarity and hierarchy without drawing attention
AccessibilityIn progress
Accessibility / Status Colors
Used for feedback, validation, and alerts.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Typography
1. Font Family
Font Stack | Description |
---|---|
| Primary font aligned with Carbon Design System |
| Fallback for system compatibility |
2. Font Sizes
Follow a modular scale for clarity and consistency:
Token | Size (px) | Usage |
| 12px | Captions, helper text |
| 14px | Form labels, small controls |
| 16px | Default body text |
| 18px | Subheadings, emphasized text |
| 20px | Section titles |
| 24px | Page titles |
| 32px | Main application headers |
3. Font Weights
Weight | Value | Usage |
Regular | 400 | Body text |
Medium | 500 | Subheadings |
Bold | 700 | Headings |
4. Line Height
Context | Line Height |
Base text |
|
Headings |
|
Tight UI |
|
5. Letter Spacing
Element | Letter Spacing |
Body text |
|
Headings |
|
Captions |
|
6. Text Colors
Ensure all text meets WCAG AA contrast standards.
Token | Color Example | Hex Code | Usage |
---|---|---|---|
| 🟫 |
| Main content text |
| 🟥 |
| Less prominent text |
| ⬜ |
| Disabled form/input text |
| ⬛ |
| Text on dark backgrounds |
7. Heading Styles
Heading | Font Size | Font Weight | Line Height | Token | Example |
| 32px | 700 | 1.25 |
| Main Page Title |
| 24px | 700 | 1.25 |
| Section Title |
| 20px | 500 | 1.5 |
|
|
8. Responsive Typography
Use fluid scaling techniques:
font-size: clamp(1rem, 2vw, 1.5rem);
This ensures text is legible across all screen sizes.
9. Accessibility Guidelines
Minimum font size: 16px for base text
Contrast ratio: >= 4.5:1
Avoid all uppercase headings unless letter-spacing is increased for legibility
Ensure screen readers can differentiate heading levels with semantic HTML
10. Spacing Guidelines
Token | Value | Usage |
| 8px | Small vertical spacing |
| 16px | Default section spacing |
| 24px | Separation between blocks |
11. Carbon Design Token Mapping
Carbon Token | OpenELIS Equivalent | Usage |
|
| Small headers |
|
| Large page titles |
|
| Labels |
|
| Paragraphs |
12. Developer & Designer Integrationin Progress
CSS Tokens: Provide a SCSS or CSS file with all defined tokens.
Figma: Define global text styles and link them to code tokens.
Component Libraries: Wrap standard tokens into reusable
<Typography>
components.
13. Examples (Live Preview Code)
<h1 style="font-size:32px; font-weight:700;">Page Title (h1)</h1>
<p style="font-size:16px; line-height:1.5; color:#161616;">
Body text using base font size and primary color.
</p>
<small style="font-size:12px; color:#525252;">
Caption with secondary color.
</small>
This typography guide is the single source of truth for text-related styling in OpenELIS. Any new UI work must conform to this guide for consistency, accessibility, and maintainability.
Iconsin progress
Tables
Buttons
Forms
OpenELIS & Carbon Designin progress
Integrating the Carbon Design System into OpenELIS isn't just a UI upgrade—it's a strategic improvement that brings modern UX practices into an essential healthcare tool. It enhances efficiency, scalability, and global usability in public health laboratories. As part of our Roadmap for Software release, we adopt the Carbon Design System for UI/UX standardization and modernization
Carbon enables OpenELIS to maintain a unified, scalable interface while reducing maintenance overhead. By leveraging a professionally maintained design system, OpenELIS contributors can focus on lab-specific functionality rather than UI infrastructure.
Key Principles for Implementers
Consistency: Use Carbon components for all new features.
Extensibility: Customize via Carbon’s theme tokens (not custom CSS).
Interoperability: Follow Carbon’s API patterns for third-party integrations.