October 4, 2018
STARLIMS is a leading laboratory information management system (LIMS) that supports laboratories across multiple industries and disciplines including clinical, pharmaceutical, forensic, food safety, manufacturing, petrochemical, public health, and life sciences. As fully web-based system, STARLIMS promotes collaboration, both within your own lab and between labs around the world. With more than 1000 implementations in over 40 countries, STARLIMS has a proven track record of providing industry-leading solutions to global enterprises.
With comprehensive reporting, monitoring, managing and analysis capabilities, STARLIMS has a wide range of configurable features that support laboratory operations. In order to maximize business value and drive innovation with your STARLIMS solution over its full lifecycle, developer capabilities must be in place to enable system reconfiguration and/or customization to adapt to changing business requirements. In this blog, we will provide tips that will help software designers extend the functionality of your STARLIMS system.
Tips for Configuring and Customizing STARLIMS
In order to effectively reconfigure and/or customize your STARLIMS system, anyone working on the system should:
Tip 1: Become an XDF Designer Expert
STARLIMS has an excellent development UI called the XFD Designer that allows for some drag and drop development/customization. The interface comes packed with tools that help with code-versioning, code-completion, code comparison, links to referenced code, shortcuts to navigate large code files, and much more. Learning where these tools are and how they operate can take a lot of the guess work out of customization and shorten development time.
Tip 2: Become a Polyglot
Unlike many other systems STARLIMS utilizes three different development languages –Jscript.NET, SSL, and SQL. Knowing the benefits and drawbacks of each language will reduce the risk of performance issues when implementing a new feature. SQL should be used for simple select statements to populate data grids that will not have custom features or to pull list data in for other controls. SSL is great for adding a logic wrapper around an SQL statement. Additionally, there are many built-in functions that SSL can take advantage of. Jscript is primarily used as UI Control logic. Be aware that the version of Jscript used within the XFD is not the latest version and the in-system documentation is limited.
Tip 3: Be Aware of Blue Scripts
Blue scripts are a class of scripts which STARLIMS relies on to remain intact and unmodified. Modification of these scripts can lead to system failures when performing an upgrade. Rarely, but sometimes these scripts will need to be modified to meet a business need. Any changes to these scripts should be documented in a Design Spec.
TIP 4: Practice Good Code Management
Good code management is the key to scalable and maintainable system. Because STARLIMS has multiple languages and a readily accessible database and dictionary, code can quickly become ‘spaghettified’. Spaghettification is a term used to describe code which calls-itself indirectly and unnecessarily. The term is also used to describe code created to fix a specific issue that doesn’t consider the architecture of the system or look for existing encapsulated code to solve the problem. This “plugging the leaky hole” approach leads to code duplication and a maintenance nightmare.
The best way to avoid spaghettified code is to identify common functionality between similar code documents, extract that functionality out, remove duplicate code, and finally create a function call to the common functionality. Additionally, as tables are added to the database, care must be taken to avoid creating a column that already exists in another table. A database should strive to be as ‘Normalized’ as possible. Achieving a 3NF (where no tables contain duplicated data) is extremely rare in many LIMS environments, but the closer the database is to 3NF, the higher your performance and maintainability will be.
TIP 5: Learn How to Customize the Interface and Menu Items
STARLIMS provides an unprecedented ability to customize the interface presented to users. You can hide or show buttons, tables, and even change the entire look of the screen based on user roles. Much of this configuration can be done using the built-in configurator using dropdowns and without code.
The main menu items have an additional level of customization capabilities. Menu items can contain custom scripts to show counters specific to individuals, groups, roles, access level, etc. The counters are logic-based so any SQL query can produce a number. You can also customize the counters on available samples, tests, etc. This is useful for displaying counts of objects that are specific to roles, departments, and functional positions. When working with these menu counter scripts, however, it is important to understand the underlying logic and the architecture of the database. If customized improperly, the counters associated with the menu item can display incorrect data at best. At worst, system errors will result.
STARLIMS provides a comprehensive LIMS solution that helps to improve quality, safety and compliance throughout the entire product lifecycle. In order to maximize ROI on this system, however, it is important to have capabilities in place to reconfigure and/or customize the system when necessary to support evolving business needs.
As a premier STARLIMS consulting partner, Astrix Technology Group specializes in a full range of services for STARLIMS systems. Our professionals have the industry knowledge and extensive experience with STARLIMS to help you successfully implement, optimize, maintain, upgrade or validate a STARLIMS system. If you would like to discuss your STARLIMS system with one of our experts, feel free to contact us for a free, no obligations consultation.