Difference between revisions of "LII:LIMSpec/Introduction and methodology"

From LIMSWiki
Jump to navigationJump to search
(Created as needed.)
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
This is where the intro goes.
==Introduction==
[[File:Systems Requirement Analysis.jpg|700px|right]]Merriam-Webster defines a "specification" as "a detailed precise presentation of something or of a plan or proposal for something."<ref name="MWSpec">{{cite web |url=https://www.merriam-webster.com/dictionary/specification  |title=specification |work=Merriam-Webster |publisher=Merriam-Webster, Inc |accessdate=20 September 2019}}</ref> 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.<ref name="BiegRequire14">{{cite web |url=https://www.pmi.org/-/media/pmi/documents/public/pdf/learning/thought-leadership/pulse/requirements-management.pdf |format=PDF |title=Introduction |work=Requirements Management: A Core Competency for Project and Program Success |author=Bieg, D.P. |publisher=Project Management Institute |page=3 |date=August 2014 |accessdate=20 September 2019}}</ref>
 
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.<ref name="ISO29148">{{cite web |url=https://www.iso.org/standard/72089.html |title=ISO/IEC/IEEE 29148:2018 |publisher=International Organization for Standardization |date=November 2018 |accessdate=20 September 2019}}</ref> The standard describes the characteristics that make up quality software requirement development, including aspects such as<ref name="SeibertHowDoYou11">{{cite web |url=https://hubtechinsider.wordpress.com/2011/07/28/how-do-you-write-software-requirements-what-are-software-requirements-what-is-a-software-requirement/ |title=How do you write software requirements? What are software requirements? What is a software requirement? |work=HubTechInsider |author=Seibert, P. |date=28 July 2011 |accessdate=20 September 2019}}</ref>:
 
* 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. Once compiled, a set of requirements can serve not only to strengthen the software requirements specification, but the requirements set can also be used for bidding on a contract or serve as the basis for a specific contract that is being finalized.<ref name="MemonSoftware10">{{cite web |url=https://www.cs.umd.edu/~atif/Teaching/Spring2010/Slides/3.pdf |format=PDF |title=Software Requirements: Descriptions and specifications of a system |author=Memon, A. |publisher=University of Maryland |date=Spring 2010 |accessdate=20 September 2019}}</ref>
 
Over the years, a wide variety of companies, consultants, and researchers have compiled public and private software requirements specifications for [[laboratory informatics]] systems. These compiled lists of requirements for how a given laboratory informatics solution should be developed, delivered, and maintained have changed as technology and user demand evolved. Often times, these requirements documents turn 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 they do in fact have to be prioritized as "nice to have" or "essential to system operation," or something in between.<ref name="AasemAnalysis10">{{cite journal |title=Analysis and optimization of software requirements prioritization techniques |author=Aasem, M.; Ramzan, M.; Jaffar, A. |journal=Proceedings from the 2010 International Conference on Information and Emerging Technologies |pages=1–6 |year=2010 |doi=10.1109/ICIET.2010.5625687}}</ref><ref name="Hirsch10Steps13">{{cite web |url=https://www.phase2technology.com/blog/successful-requirements-gathering |title=10 Steps To Successful Requirements Gathering |author=Hirsch, J. |publisher=Phase2 Technology, LLC |date=22 November 2013 |accessdate=20 September 2019}}</ref><ref name="BurrissSoftware07">{{cite web |url=http://sce2.umkc.edu/BIT/burrise/pl/requirements/ |title=Requirements Specification |work=CS451R, University of Missouri–Kansas City |author=Burris, E. |publisher=University of Missouri–Kansas City |date=2007 |accessdate=20 September 2019}}</ref> While this reasonable mix of requirements has served informatics software developers well<ref name="HofmannRequire01">{{cite journal |title=Requirements engineering as a success factor in software projects |author=Hofmann, H.F.; Lehner, F. |journal=IEEE Software |volume=18 |issue=4 |pages=58–66 |year=2001 |doi=10.1109/MS.2001.936219}}</ref>, sometimes a fresh approach is required.
 
What follows is an attempt to look less at the wishlists of laboratories and more directly at what requirements current regulatory schemes, industry standards, and organizational guidelines place on the ever-evolving array of laboratory informatics systems being developed today. What does the United States' [[21 CFR Part 11]] have to say about how your [[laboratory information management system]] (LIMS), [[laboratory information system]] (LIS), [[electronic laboratory notebook]] (ELN), and other systems operate? What does the European Union's Annex 11 dictate in those same regards? The following five chapters list those requirements, supported by one or more regulations, standards, and guidelines. The final chapter discusses how to best put this requirements specification to use.
 
==Methodology==
At its core, this LIMSpec—which has seen several iterations over the years—is rooted in [[ASTM E1578|ASTM E1578-18]] ''Standard Guide for Laboratory Informatics''. With the latest version released in 2018, an updated Laboratory Informatics Functional Requirements checklist is included in the appendix, which "covers functionality common to the various laboratory informatics systems discussed throughout [the] guide as well as requirements recommended as part of [the] guide." It goes on to state that the checklist "is an example of typical requirements that can be used to guide the purchase, upgrade, or development of a laboratory informatics system," though it is certainly "not meant to be exhaustive."
 
This LIMSpec borrows from that requirements checklist and then adds more to it from a wide variety of sources. An attempt has been made to find the most relevant regulations, standards, and guidance that shape how a compliant laboratory informatics system is developed and maintained. However, this should definitely be considered a work in progress, with more to be added with additional public and private comment on missing sources.
 
That said, this first revision taps into the following sources:
 
* [https://www.law.cornell.edu/cfr/text/7/part-331 7 CFR Part 331]
* [https://www.law.cornell.edu/cfr/text/9/part-121 9 CFR Part 121]
* [https://www.law.cornell.edu/cfr/text/21/part-7 21 CFR Part 7]
* [https://www.law.cornell.edu/cfr/text/21/part-11 21 CFR Part 11]
* [https://www.law.cornell.edu/cfr/text/21/part-58 21 CFR Part 58]
* [https://www.law.cornell.edu/cfr/text/21/part-211 21 CFR Part 211]
* [https://www.law.cornell.edu/cfr/text/21/part-212 21 CFR Part 212]
* [https://www.law.cornell.edu/cfr/text/21/part-225 21 CFR Part 225]
* [https://www.law.cornell.edu/cfr/text/21/part-226 21 CFR Part 226]
* [https://www.law.cornell.edu/cfr/text/21/part-312 21 CFR Part 312]
* [https://www.law.cornell.edu/cfr/text/21/part-606 21 CFR Part 606]
* [https://www.law.cornell.edu/cfr/text/21/part-810 21 CFR Part 810]
* [https://www.law.cornell.edu/cfr/text/21/part-812 21 CFR Part 812]
* [https://www.law.cornell.edu/cfr/text/21/part-820 21 CFR Part 820]
* [https://www.law.cornell.edu/cfr/text/29/1910.120 29 CFR Part 1910.120]
* [https://www.law.cornell.edu/cfr/text/29/1910.134 29 CFR Part 1910.134]
* [https://www.law.cornell.edu/cfr/text/29/1910.1030 29 CFR Part 1910.1030]
* [https://www.law.cornell.edu/cfr/text/29/1910.1096 29 CFR Part 1910.1096]
* [https://www.law.cornell.edu/cfr/text/29/1910.1200 29 CFR Part 1910.1200]
* [https://www.law.cornell.edu/cfr/text/29/1910.1450 29 CFR Part 1910.1450]
* [https://www.law.cornell.edu/cfr/text/40/part-3 40 CFR Part 3]
* [https://www.law.cornell.edu/cfr/text/40/part-60 40 CFR Part 60]
* [https://www.law.cornell.edu/cfr/text/40/part-62 40 CFR Part 62]
* [https://www.law.cornell.edu/cfr/text/40/part-63 40 CFR Part 63]
* [https://www.law.cornell.edu/cfr/text/40/part-141 40 CFR Part 141]
* [https://www.law.cornell.edu/cfr/text/40/part-370 40 CFR Part 370]
* [https://www.law.cornell.edu/cfr/text/40/part-372 40 CFR Part 372]
* [https://www.law.cornell.edu/cfr/text/40/part-704 40 CFR Part 704]
* [https://www.law.cornell.edu/cfr/text/40/part-717 40 CFR Part 717]
* [https://www.law.cornell.edu/cfr/text/40/part-720 40 CFR Part 720]
* [https://www.law.cornell.edu/cfr/text/42/part-73 42 CFR Part 73]
* [https://www.law.cornell.edu/cfr/text/42/part-493 42 CFR Part 493]
* [https://www.law.cornell.edu/cfr/text/45/part-160 45 CFR Part 160]
* [https://www.law.cornell.edu/cfr/text/45/part-162 45 CFR Part 162]
* [https://www.law.cornell.edu/cfr/text/45/part-164 45 CFR Part 164]
* [https://www.law.cornell.edu/cfr/text/45/part-170 45 CFR Part 170]
* [https://www.aafco.org/Publications/QA-QC-Guidelines-for-Feed-Laboratories AAFCO QA/QC Guidelines for Feed Laboratories]
* [https://www.aavld.org/accreditation-requirements-page AAVLD Requirements for an AVMDL]
* [http://www.abft.org/files/ABFT_LAP_Standards_May_31_2013.pdf ABFT Accreditation Manual]
* [https://www.aihaaccreditedlabs.org/Policies/Pages/default.aspx AIHA-LAP Policies 2018]
* [http://des.wa.gov/sites/default/files/public/documents/About/1063/RFP/Add7_Item4ASCLD.pdf  ASCLD/LAB Supp. Reqs. for the Accreditation of Forensic Science Testing Laboratories]
* [https://www.astm.org/Standards/E1188.htm ASTM E1188-11]
* [https://www.astm.org/Standards/E1459.htm ASTM E1459-13]
* [https://www.astm.org/Standards/E1492.htm ASTM E1492-11]
* [https://www.astm.org/Standards/E1578.htm ASTM E1578-18]
* [https://www.cdc.gov/phin/tools/phinms/index.html CDC PHIN Messaging System]
* [https://www.fbi.gov/services/cjis/cjis-security-policy-resource-center CJIS Security Policy]
* [https://ec.europa.eu/health/sites/health/files/files/eudralex/vol-4/annex11_01-2011_en.pdf E.U. Annex 11]
* [https://ec.europa.eu/health/sites/health/files/files/eudralex/vol-1/dir_2003_94/dir_2003_94_en.pdf E.U. Commission Directive 2003/94/EC]
* [https://nepis.epa.gov/Exe/ZyPDF.cgi?Dockey=30006MXP.PDF EPA 815-R-05-004]
* [https://www.epa.gov/sites/production/files/documents/erln_lab_requirements.pdf EPA ERLN Laboratory Requirements v1.6]
* [https://www.epa.gov/geospatial/epa-metadata-technical-specification EPA Metadata Technical Specification]
* [https://www.epa.gov/quality/guidance-quality-assurance-project-plans-epa-qag-5 EPA QA/G-5]
* [https://www.epa.gov/sites/production/files/2015-07/documents/sedd52_specification.pdf EPA SEDD Specification and Data Element Dictionary v5.2]
* [https://elexnet.fda.gov/elex/documents/eLEXNET_DX_Brochure_Aug_2011.pdf FDA eLEXNET Data Exchange Program]
* [https://www.fda.gov/food/hazard-analysis-critical-control-point-haccp/haccp-principles-application-guidelines FDA Hazard Analysis Critical Control Point (HACCP)]
* [https://www.icar.org/Guidelines/15-Data-Exchange.pdf ICAR 15 Data Exchange]
* [https://www.iso.org/standard/56115.html ISO 15189:2012]
* [https://www.iso.org/standard/66912.html ISO/IEC 17025:2017]
* [https://www.aphis.usda.gov/animal_health/nahln/downloads/MessagingQuickGuide.pdf NAHLN HL7 Messaging Quick User Guide]
* [https://www.aphis.usda.gov/aphis/ourfocus/animalhealth/lab-info-services/nahln/ct_nahln_it NAHLN Information Technology System]
* [http://www.oecd.org/chemicalsafety/testing/oecdseriesonprinciplesofgoodlaboratorypracticeglpandcompliancemonitoring.htm OECD GLP Principles]
* [https://www.ams.usda.gov/datasets/pdp/pdp-standard-operating-procedures USDA Administrative Procedures for the Pesticide Data Program (PDP)]
* [https://www.ams.usda.gov/datasets/pdp/pdp-standard-operating-procedures USDA Data and Instrumentation for PDP]
* [https://www.ams.usda.gov/datasets/pdp/pdp-standard-operating-procedures USDA Sample Processing and Analysis Procedures for PDP]
* [https://www.ams.usda.gov/datasets/pdp/pdp-standard-operating-procedures USDA Sampling Procedures for PDP]
* [http://venomcoding.org/ VeNom Coding Group terminology]
* [https://vtsl.vetmed.vt.edu/ Veterinary Terminology Services Laboratory terminology]
* [https://vichsec.org/en/guidelines/general VICH GL53]
* [https://extranet.who.int/prequal/content/who-technical-report-series WHO Technical Report Series, #986, Annex 2 ]
 
Each requirement statement has at least one linked regulation, standard, or guidance item. In some cases, the standards covered are proprietary. In those cases, the standard was either purchased for review or heavily researched using supporting documentation, and the link goes to the acquisition page for the standard. In other cases, some sources have been intentionally omitted. For example, the AOAC International Official Methods of Analysis are both proprietary and more or less prohibitively expensive. In other cases such as the U.S. Food Emergency Response Network and Laboratory Response Network, they simply don't make their standardized procedures open to the public.
 
==References==
{{Reflist|colwidth=30em}}

Revision as of 17:45, 20 September 2019

Introduction

Systems Requirement Analysis.jpg

Merriam-Webster defines a "specification" as "a detailed precise presentation of something or of a plan or proposal for something."[1] 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.[2]

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.[3] The standard describes the characteristics that make up quality software requirement development, including aspects such as[4]:

  • 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. Once compiled, a set of requirements can serve not only to strengthen the software requirements specification, but the requirements set can also be used for bidding on a contract or serve as the basis for a specific contract that is being finalized.[5]

Over the years, a wide variety of companies, consultants, and researchers have compiled public and private software requirements specifications for laboratory informatics systems. These compiled lists of requirements for how a given laboratory informatics solution should be developed, delivered, and maintained have changed as technology and user demand evolved. Often times, these requirements documents turn 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 they do in fact have to be prioritized as "nice to have" or "essential to system operation," or something in between.[6][7][8] While this reasonable mix of requirements has served informatics software developers well[9], sometimes a fresh approach is required.

What follows is an attempt to look less at the wishlists of laboratories and more directly at what requirements current regulatory schemes, industry standards, and organizational guidelines place on the ever-evolving array of laboratory informatics systems being developed today. What does the United States' 21 CFR Part 11 have to say about how your laboratory information management system (LIMS), laboratory information system (LIS), electronic laboratory notebook (ELN), and other systems operate? What does the European Union's Annex 11 dictate in those same regards? The following five chapters list those requirements, supported by one or more regulations, standards, and guidelines. The final chapter discusses how to best put this requirements specification to use.

Methodology

At its core, this LIMSpec—which has seen several iterations over the years—is rooted in ASTM E1578-18 Standard Guide for Laboratory Informatics. With the latest version released in 2018, an updated Laboratory Informatics Functional Requirements checklist is included in the appendix, which "covers functionality common to the various laboratory informatics systems discussed throughout [the] guide as well as requirements recommended as part of [the] guide." It goes on to state that the checklist "is an example of typical requirements that can be used to guide the purchase, upgrade, or development of a laboratory informatics system," though it is certainly "not meant to be exhaustive."

This LIMSpec borrows from that requirements checklist and then adds more to it from a wide variety of sources. An attempt has been made to find the most relevant regulations, standards, and guidance that shape how a compliant laboratory informatics system is developed and maintained. However, this should definitely be considered a work in progress, with more to be added with additional public and private comment on missing sources.

That said, this first revision taps into the following sources:

Each requirement statement has at least one linked regulation, standard, or guidance item. In some cases, the standards covered are proprietary. In those cases, the standard was either purchased for review or heavily researched using supporting documentation, and the link goes to the acquisition page for the standard. In other cases, some sources have been intentionally omitted. For example, the AOAC International Official Methods of Analysis are both proprietary and more or less prohibitively expensive. In other cases such as the U.S. Food Emergency Response Network and Laboratory Response Network, they simply don't make their standardized procedures open to the public.

References

  1. "specification". Merriam-Webster. Merriam-Webster, Inc. https://www.merriam-webster.com/dictionary/specification. Retrieved 20 September 2019. 
  2. 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 20 September 2019. 
  3. "ISO/IEC/IEEE 29148:2018". International Organization for Standardization. November 2018. https://www.iso.org/standard/72089.html. Retrieved 20 September 2019. 
  4. 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 20 September 2019. 
  5. 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 20 September 2019. 
  6. 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. 
  7. Hirsch, J. (22 November 2013). "10 Steps To Successful Requirements Gathering". Phase2 Technology, LLC. https://www.phase2technology.com/blog/successful-requirements-gathering. Retrieved 20 September 2019. 
  8. Burris, E. (2007). "Requirements Specification". CS451R, University of Missouri–Kansas City. University of Missouri–Kansas City. http://sce2.umkc.edu/BIT/burrise/pl/requirements/. Retrieved 20 September 2019. 
  9. Hofmann, H.F.; Lehner, F. (2001). "Requirements engineering as a success factor in software projects". IEEE Software 18 (4): 58–66. doi:10.1109/MS.2001.936219.