Difference between revisions of "User:Shawndouglas/sandbox/sublevel9"

From LIMSWiki
Jump to navigationJump to search
Line 36: Line 36:
[[File:LabMachines.jpg|right|400px]]Laboratories acquire data management software for many reasons, including improving accuracy, saving time, increasing productivity, and adding capabilities. One way of doing all of those activities is to integrate or interface your systems, databases, and instruments so that human error is greatly reduced or eliminated, workflows are automated and sped up, and each component's capabilities are brought into play in the most efficient and effective ways possible. As such, you'll want to inquire with the vendor about its solution's hardware and software integration capabilities. Is it designed to interface with every laboratory instrument or software that can output any readable electronic file? Or are integrations limited to certain instruments and systems? How does it connect, i.e., what protocols does the software depend on to connect with other systems? Does the system allow a user to map their own file imports and exports? Can system processes be set to detect new instances of file outputs at regular intervals? Ask these and other questions to make sure the vendor clearly describes what internal and external integrations are supported with their application.
[[File:LabMachines.jpg|right|400px]]Laboratories acquire data management software for many reasons, including improving accuracy, saving time, increasing productivity, and adding capabilities. One way of doing all of those activities is to integrate or interface your systems, databases, and instruments so that human error is greatly reduced or eliminated, workflows are automated and sped up, and each component's capabilities are brought into play in the most efficient and effective ways possible. As such, you'll want to inquire with the vendor about its solution's hardware and software integration capabilities. Is it designed to interface with every laboratory instrument or software that can output any readable electronic file? Or are integrations limited to certain instruments and systems? How does it connect, i.e., what protocols does the software depend on to connect with other systems? Does the system allow a user to map their own file imports and exports? Can system processes be set to detect new instances of file outputs at regular intervals? Ask these and other questions to make sure the vendor clearly describes what internal and external integrations are supported with their application.


In many cases, a vendor's LIMS solution will have instrument integration capability built into the software, but occasionally such interfaces are separate from the main software. Today's instrument interfaces are generally built on standardized communication protocols such as RS-232, RS-422, IEEE-488 (GPIB), USB, Ethernet, and more. The LIMS that can support such instrument integrations is increasingly vital to the food and beverage laboratory. Food and beverage labs may also want their laboratory informatics solution to be able to communicate with other software and databases. This is often done using [[application programming interface]]s (APIs) that depend on web services implementation protocols such as REST and SOAP.<ref name="MonusSOAP19">{{cite web |url=https://raygun.com/blog/soap-vs-rest-vs-json/ |title=SOAP vs REST vs JSON - a 2023 comparison |author=Monus, A. |work=Raygun |date=17 October 2022 |accessdate=06 December 2022}}</ref><ref name="LVAQuick18">{{cite web |url=https://www.labvantage.com/a-quick-guide-to-lims-web-services/ |title=A Quick Guide to LIMS Web Services |author=LabVantage Solutions |publisher=LabVantage Solutions, Inc |date=07 January 2018 |accessdate=06 December 2022}}</ref><ref name="GrandOneTool19">{{cite journal |title=One tool to find them all: A case of data integration and querying in a distributed LIMS platform |journal=Database |author=Grand, A.; Geda, E.; Mignone, A. et al. |volume=2019 |page=baz004 |year=2019 |doi=10.1093/database/baz004}}</ref> These messaging protocols actually allow for the creation of an API that receives communication requests and sends responses between two software systems. A more practical example is wanting your laboratory informatics solution to communicate with an [[enterprise resource planning]] (ERP) application. Perhaps the ERP system needs to create sample batches within the informatics solution, and when testing is done, have the results returned to the ERP. APIs and communication protocols make this happen.<ref name="LVAQuick18" />
In many cases, a vendor's LIMS solution will have instrument integration capability built into the software, but occasionally such interfaces are separate from the main software. Today's instrument interfaces are generally built on standardized communication protocols such as RS-232, RS-422, IEEE-488 (GPIB), USB, Ethernet, and more.<ref name="WilliamsComp">{{cite web |url=https://newton.ex.ac.uk/teaching/CDHW/Interfaces/ |title=Computer Interfaces for Instrumentation Systems |author=Williams, C.D.H. |publisher=University of Exeter |accessdate=06 December 2022}}</ref> The LIMS that can support such instrument integrations is increasingly vital to the food and beverage laboratory. Food and beverage labs may also want their laboratory informatics solution to be able to communicate with other software and databases. This is often done using [[application programming interface]]s (APIs) that depend on web services implementation protocols such as REST and SOAP.<ref name="MonusSOAP19">{{cite web |url=https://raygun.com/blog/soap-vs-rest-vs-json/ |title=SOAP vs REST vs JSON - a 2023 comparison |author=Monus, A. |work=Raygun |date=17 October 2022 |accessdate=06 December 2022}}</ref><ref name="LVAQuick18">{{cite web |url=https://www.labvantage.com/a-quick-guide-to-lims-web-services/ |title=A Quick Guide to LIMS Web Services |author=LabVantage Solutions |publisher=LabVantage Solutions, Inc |date=07 January 2018 |accessdate=06 December 2022}}</ref><ref name="GrandOneTool19">{{cite journal |title=One tool to find them all: A case of data integration and querying in a distributed LIMS platform |journal=Database |author=Grand, A.; Geda, E.; Mignone, A. et al. |volume=2019 |page=baz004 |year=2019 |doi=10.1093/database/baz004}}</ref> These messaging protocols actually allow for the creation of an API that receives communication requests and sends responses between two software systems. A more practical example is wanting your laboratory informatics solution to communicate with an [[enterprise resource planning]] (ERP) application. Perhaps the ERP system needs to create sample batches within the informatics solution, and when testing is done, have the results returned to the ERP. APIs and communication protocols make this happen.<ref name="LVAQuick18" />





Revision as of 20:59, 6 December 2022

3. Choosing laboratory informatics software for your food and beverage lab

Source: LII:Laboratory Informatics Buyer's Guide for Medical Diagnostics and Research/Choosing laboratory informatics software for your lab

3.1 Evaluation and selection

3.1.1 Technology considerations

Source: LIMS FAQ:What are the key elements of a LIMS for food and beverage testing?

3.1.1.1 Laboratory informatics options


3.1.2 Features and functions

Source: LIMS FAQ:What are the key elements of a LIMS for food and beverage testing?

3.1.3 Cybersecurity considerations

3.1.4 Regulatory compliance considerations

3.1.5 System flexibility

3.1.6 Cost considerations

3.2 Implementation

If you've ever worked through a system implementation process with a vendor, it was hopefully a smooth process. However, there are plenty of horror stories out there, highlighting the need of the laboratory to discuss in detail how a potential vendor will handle installation, validation, and training for the informatics solution. Does the vendor truly understand the industry and your needs? Does the vendor assign a project manager who will work with you, from planning to go-live and beyond? Can they offer you references of other labs who have gone through implementation so you can compare notes with those labs? How much attention does the potential vendor give to related issues such as data integrity of migrated data? Do they have the means to properly handle your legacy data? And are they able to work with your schedule, even if it means implementing software at off-peak work hours?[1][2]

As you finally get down to the ultimate decision on which vendor to work with, you may wish to start setting up an implementation checklist as part of your early project planning. Do you receive a help desk account as part of the implementation process, and if so, what information is included? If not, you'll need to keep track of specific details such as business associate agreement (BAA), sales agreement, scope documents, welcome letters, documentation, and approved staff who can utilize the vendor's support. You'll likely need to share other configuration details with the vendor, including time zone requirements, DNS and URL requirements, up-time monitors, and administrative account requirements. Finally, you'll want to ensure you and the vendor are on the same page concerning any additional customization, integration, and system validation requirements, ensuring the roll-out period is pain-free and efficient.

3.2.1 Internal and external integrations

LabMachines.jpg

Laboratories acquire data management software for many reasons, including improving accuracy, saving time, increasing productivity, and adding capabilities. One way of doing all of those activities is to integrate or interface your systems, databases, and instruments so that human error is greatly reduced or eliminated, workflows are automated and sped up, and each component's capabilities are brought into play in the most efficient and effective ways possible. As such, you'll want to inquire with the vendor about its solution's hardware and software integration capabilities. Is it designed to interface with every laboratory instrument or software that can output any readable electronic file? Or are integrations limited to certain instruments and systems? How does it connect, i.e., what protocols does the software depend on to connect with other systems? Does the system allow a user to map their own file imports and exports? Can system processes be set to detect new instances of file outputs at regular intervals? Ask these and other questions to make sure the vendor clearly describes what internal and external integrations are supported with their application.

In many cases, a vendor's LIMS solution will have instrument integration capability built into the software, but occasionally such interfaces are separate from the main software. Today's instrument interfaces are generally built on standardized communication protocols such as RS-232, RS-422, IEEE-488 (GPIB), USB, Ethernet, and more.[3] The LIMS that can support such instrument integrations is increasingly vital to the food and beverage laboratory. Food and beverage labs may also want their laboratory informatics solution to be able to communicate with other software and databases. This is often done using application programming interfaces (APIs) that depend on web services implementation protocols such as REST and SOAP.[4][5][6] These messaging protocols actually allow for the creation of an API that receives communication requests and sends responses between two software systems. A more practical example is wanting your laboratory informatics solution to communicate with an enterprise resource planning (ERP) application. Perhaps the ERP system needs to create sample batches within the informatics solution, and when testing is done, have the results returned to the ERP. APIs and communication protocols make this happen.[5]


3.3 MSW, updates, and other contracted services

The maintenance, support, and warranty (MSW) offered with the vendor's solution is almost as important as the solution itself. The laboratory informatics solution you acquire is more than than the software you operate: it's mission-critical and deserves having a reliable and responsive team with the necessary resources to ensure it remains operational. Downtime can negatively affect both immediate customer satisfaction and your reputation. As such, it's imperative you ask the vendor about the details of its MSW, making sure you understand what is and isn't covered, as well as how much it will cost. Cost-wise, industry norms are anywhere from 15% to 25% of either the license fee or total contract, levied annually to provide this coverage.[7] Alternatively, it may simply be included with your subscription. The MSW will include a specified number of support and maintenance hours or guarantees. The actual warranty should be unlimited for as long as the MSW or subscription is kept current.

Maintenance includes any and all work necessary to keep your system working as designed. It should include updates, patches, or fixes, and most if not all upgrades. (Note, however, a major upgrade to a totally new edition may not be covered, but it may come at a negotiable, significantly lower cost.[8]) The support aspect of MSW generally consists of a specified number of hours dedicated more to helping you with the operation of the system rather than "fixing" anything. Support includes guidance on training, password or login support, and more. Finally, with any professional application you also expect to have a warranty. The warranty should cover anything that doesn't work that otherwise should for the designated period of time.[8] That includes any standard features and functions, as well as any additional ones that were delivered and signed off on, and any other work performed by the vendor or its representatives. However, a typical warranty does not cover anything that was working fine, but upon being manipulated in a way beyond normal operation the functionality ceased. In these cases, you'll probably have to pay to get it fixed.

Beyond the MSW, additional updates and services related to the system may also be required. No matter how well it is pre-configured, any professional laboratory informatics solution will require some amount of standard setup to reflect your particular lab. This includes adding lab branding and demographics for reports and certificates; entering users, their roles, and access permissions; adding and/or modifying tests and workflows; renaming fields; adding or hiding fields; setting up a web portal; and implementing interfaces. Equally indispensable is proper training for both users and administrators. And of course you may later find that you would like additional features or functions. These and other services may prove particularly useful to the laboratory with little in the way of IT and systems expertise. As such, the vendor may provide one or more of the following as a billable service for the laboratory:

  • initial implementation meeting (e.g., initial planning, identify delta, set schedule)
  • project management
  • requirements gathering and documentation
  • initial setup
  • user and administrator training
  • configuration and customization
  • interface development and implementation
  • custom screen and field development
  • custom functionality development
  • custom reports and labels
  • custom triggers and alerts
  • validation or acceptance testing (to a third-party standard or certification, or to agreed manufacturer specs)


3.4 How a user requirements specification fits into the entire process (LIMSpec)

Merriam-Webster defines a "specification" as "a detailed precise presentation of something or of a plan or proposal for something."[9] In other words, an existing or theoretical product, concept, or idea is presented in detail for a particular audience. In a broad sense, detailing the specifics about a project, concept, or idea to others is just common sense. This applies just as well to the world of software development, where a software requirements specification is essential for preventing the second most commonly cited reason for project failure: poor requirements management.[10]

In fact, the ISO/IEC/IEEE 29148:2018 standard (a conglomeration of what was formerly IEEE 830 and other standards) is in place to help specify "the required processes implemented in the engineering activities that result in requirements for systems and software products" and provide guidelines for how to apply those requirements.[11] The standard describes the characteristics that make up quality software requirement development, including aspects such as[12]:

  • correctly describing system behavior;
  • effectively removing ambiguity from the language used;
  • completely covering the system behavior and features;
  • accurately prioritizing and ranking the requirements; and
  • unequivocally ensuring the requirements are testable, modifiable, and traceable.

A requirement typically comes in the form of a statement that begins with "the system/user/vendor shall/should ..." and focuses on a provided service, reaction to input, or expected behavior in a given situation. The statement may be abstract (high-level) or specific and detailed to a precise function. The statement may also be of a functional nature, describing functionality or services in detail, or of a non-functional nature, describing the constraints of a given functionality or service and how it's rendered. An example of a functional software requirement could be "the user shall be able to query either all of the initial set of databases or select a subset from it." This statement describes specific functionality the system should have. On the other hand, a non-functional requirement, for example, may state "the system's query tool shall conform to the ABC 123-2014 standard." The statement describes a constraint placed upon the system's query functionality.

This is where a requirements specification shines, not only for the software developer but also for those acquiring the software. A set of development requirements, compiled in the form of a software requirements specification, can serve to strengthen the software development process. For those acquiring the software, a set of user requirements, compiled in the form of a user requirements specification (URS), can be used for the selection and acquisition of software or a service.[13][14] In the case of the URS, the acquiring business can approach this several ways. The simple way would be to essentially take the vendor at the word in regards to what they say their system can and can't do, agreeing formally to their description and taking responsibility that it will cover all the applicable regulations required by your business. However, this method isn't comprehensive and leaves the business open to not being able to fully meet its goals.[14]

The other method has the URS be specific to your business' needs. The process is more work but leaves less to chance.[14] Developing your own URS isn't always straightforward. Often times, the developed document turns into a mix of "wishlist" requirements from potential and active clients, as well as regulation-mandated requirements. The wishlist items aren't necessarily ignored by developers, but the URS should in fact clearly prioritize requirements as "nice to have" or "essential to system operation," or something in between.[15][16][17] Whatever the URS looks like in the end, it's ultimately up to the vendor to be able to demonstrate how the software does and does not meet its requirements.

In the latter half of this guide, you'll be given an opportunity to see an example of a URS for the food and beverage industry in the form of LIMSpec, an evolving set of software requirements specifications for laboratory informatics systems. Built from requirements found in ASTM E1578-18 Standard Guide for Laboratory Informatics, as well as dozens of other standards and regulations, we will use LIMSpec to demonstrate how a URS can be put to use, while also showing you how an informatics system can help you laboratory better meet regulatory requirements.

References

  1. Wagner, M. (10 October 2019). "7 Software Implementation Challenges and How to Solve Them". WalkMe Blog. WalkMe Ltd. https://blog.walkme.com/7-software-implementation-challenges/. Retrieved 06 December 2022. 
  2. Mura, A. (12 July 2018). "Bullet-Proof Software Implementation Plan: Challenges and Tactics". Userlane Digital Adoption Blog. Userlane GmbH. https://www.userlane.com/software-implementation-plan/. Retrieved 06 December 2022. 
  3. Williams, C.D.H.. "Computer Interfaces for Instrumentation Systems". University of Exeter. https://newton.ex.ac.uk/teaching/CDHW/Interfaces/. Retrieved 06 December 2022. 
  4. Monus, A. (17 October 2022). "SOAP vs REST vs JSON - a 2023 comparison". Raygun. https://raygun.com/blog/soap-vs-rest-vs-json/. Retrieved 06 December 2022. 
  5. 5.0 5.1 LabVantage Solutions (7 January 2018). "A Quick Guide to LIMS Web Services". LabVantage Solutions, Inc. https://www.labvantage.com/a-quick-guide-to-lims-web-services/. Retrieved 06 December 2022. 
  6. Grand, A.; Geda, E.; Mignone, A. et al. (2019). "One tool to find them all: A case of data integration and querying in a distributed LIMS platform". Database 2019: baz004. doi:10.1093/database/baz004. 
  7. Scavo, F. (8 February 2005). "High Software Maintenance Fees and What to Do About Them". Computer Economics. https://www.computereconomics.com/article.cfm?id=1033. Retrieved 06 December 2022. 
  8. 8.0 8.1 Gordon-Byrne, G. (2014). "Maintenance in the Digital World". IT Performance Improvement. Taylor & Francis, LLC. Archived from the original on 05 May 2021. https://web.archive.org/web/20210505220938/http://www.ittoday.info/ITPerformanceImprovement/Articles/2014-08GordonByrne2.html. Retrieved 06 December 2022. 
  9. "specification". Merriam-Webster. Merriam-Webster, Inc. https://www.merriam-webster.com/dictionary/specification. Retrieved 06 December 2022. 
  10. Bieg, D.P. (August 2014). "Introduction" (PDF). Requirements Management: A Core Competency for Project and Program Success. Project Management Institute. p. 3. https://www.pmi.org/-/media/pmi/documents/public/pdf/learning/thought-leadership/pulse/requirements-management.pdf. Retrieved 06 December 2022. 
  11. "ISO/IEC/IEEE 29148:2018". International Organization for Standardization. November 2018. https://www.iso.org/standard/72089.html. Retrieved 06 December 2022. 
  12. Seibert, P. (28 July 2011). "How do you write software requirements? What are software requirements? What is a software requirement?". HubTechInsider. https://hubtechinsider.wordpress.com/2011/07/28/how-do-you-write-software-requirements-what-are-software-requirements-what-is-a-software-requirement/. Retrieved 06 December 2022. 
  13. Memon, A. (Spring 2010). "Software Requirements: Descriptions and specifications of a system" (PDF). University of Maryland. https://www.cs.umd.edu/~atif/Teaching/Spring2010/Slides/3.pdf. Retrieved 06 December 2022. 
  14. 14.0 14.1 14.2 Schmitt, S. (2018). "User Requirements Specifications–How Difficult Can It Be?". Pharmaceutical Technology 42 (11): 58. https://www.pharmtech.com/view/user-requirements-specifications-how-difficult-can-it-be-0. Retrieved 06 December 2022. 
  15. Aasem, M.; Ramzan, M.; Jaffar, A. (2010). "Analysis and optimization of software requirements prioritization techniques". Proceedings from the 2010 International Conference on Information and Emerging Technologies: 1–6. doi:10.1109/ICIET.2010.5625687. 
  16. Hirsch, J. (22 November 2013). "10 Steps To Successful Requirements Gathering". Phase2 Technology, LLC. https://www.phase2technology.com/blog/successful-requirements-gathering. Retrieved 06 December 2022. 
  17. Burris, E. (2007). "Requirements Specification". CS451R, University of Missouri–Kansas City. University of Missouri–Kansas City. Archived from the original on 25 September 2019. https://web.archive.org/web/20190925003040/http://sce2.umkc.edu/BIT/burrise/pl/requirements/. Retrieved 06 December 2022.