Skip to content

GSoC 2015

Jordi Puiggené edited this page Mar 16, 2015 · 57 revisions

You are here: Home · GSoC 2015


Table of Contents

  1. Introduction
  2. Instructions for Students
  3. Ideas list

Introduction

An abbreviated version of this page is available at http://www.bikalims.org/news/bika-in-the-2015-google-summer-of-code.

Google Summer of Code 2015 Bika LIMS is an industry proven, [ISO/IEC 17025](http://en.wikipedia.org/wiki/ISO/IEC_17025) compliant [Laboratory Information Management System (LIMS)](http://en.wikipedia.org/wiki/Laboratory_information_management_system) that leverages the power and technical simplicity of [Python programming language](https://www.python.org/) and the versatility and security provided by [Plone](https://plone.org/) as a robust LIMS that can be adapted and implemented in any laboratory, from small to large research and hospital laboratories.

Bika LIMS can easily be extended using the Plone's add-on mechanisms. Some of the extensions already available are Bika Health LIS for health care laboratories, and Graphite Theme, a theme focused on improving usability and user experience.

At present there are 104 members subscribed to the Bika developers mailing list, 272 to the user list, 59 LIMS designers and analysts and 75 participants on a list dedicated to a Bika Health LIS add-on. With established market traction and profile and a strong user and developer community, Bika OS LIMS will continue to grow and maintain its position as the world's leading Open Source LIMS.

This Summer, the Bika Open Source LIMS Collective participates as mentoring organisation in the 2105 Google Summer of Code initiative, GSoC 2015, providing students with stipends for coding on open source projects.

Instructions for Students

Students wishing to participate will be required to produce code for Bika OS LIMS over 3 months, May 25 - August 24. Experience in Python programming language and/or Plone CMS is required.

Applications are open from 16 to 27 March, see Google Summer of Code 2015.

A student is defined as an individual enrolled in or accepted into an accredited institution including but not necessarily limited to colleges, universities, masters programs, PhD programs and undergraduate programs. You should be prepared, upon request, to provide Google with transcripts or other documentation from your accredited institution as proof of enrollment or admission status.

You may be a full-time or part-time student, and must be 18 years of age to be eligible to participate. Please, visit GSoC's Student Guide and pay special attention to the Eligibility section of the GSoC's FAQs.

Applying

If you are an eligible and interested student,

  1. Take a look at the list of ideas below
  2. Select a project that interests you or propose another
  3. Write a first draft proposal, guidelines
  4. Submit your proposal at GsoC 2015

Applications are open from 16 to 27 March. We recommend applying early to receive more attention than those submitted at the last minute.

Proposal guidelines

Write a clearly on what you plan to do, what your project is and what it is not.

Bika OS LIMS project doesn't require a specific format or specific list of information, but here are some specific points that you should address in your application:

  • Who are you and what are you studying?
  • Do you have experience as an Open Source developer already? Where?
  • From the list of ideas, which project are you interested in?
  • Why that particular project?
  • How many hours can you work per week? 20 part-time? 40 full-time?
  • Contact information

You can also adapt the proposal if:

  • You think the project as suggested is too large and you can only feasibly complete part of it.

    In this case, make sure your proposal covers a reasonable subset of the functionality, something which is useful without the rest of the project being implemented.

  • You think the project as suggested is too small.

    In this case you might want to extend the idea, combine projects, etc.

  • You like the basic idea of the project but it is not such a good fit for the skills that you have.

    In this case, please feel free to suggest an alternative, but try to remember that the idea is for the software to be useful for its existing and potential users.

Ideas list

We list, in no order of preference, some proposals for Bika projects to be carried out by the students participating in GSoC 2015. This is not a closed list, feel free to propose alternative activities related to Bika:

Description

The Open Instrument Middleware is an idea of a free-standing instrument server to easily interface any laboratory instrument to any laboratory software. 

Once established, Froid will be vendor neutral to attract as many interfaces possible, all open sourced on the AGLP for protection. The current Bika LIMS interface module was designed with this in mind and can be used as a basis.

See the initial top level design at Froid. Free Open Instrument Middleware. Fluffy and dated Functional Specification

Froid is a working title. Propose your own! Thus far other candidates are: Omar - Open Middleware, Opium Open Instrument Middleware

The main objectives are:

  • The software will be well documented and easy to maintain to encourage LIMS developers and instrument manufacturers to add interfaces to the system
  • Resolve serial RS232 communications with laboratory instruments
  • Froid must communicate bi-directionally with LIMS using a singular easy to understand file format, converting them to and from all possible instrument communication protocols.
  • For better load balancing, Froid must be free-standing to allow for it to be deployed on its own hardware in high volume labs
  • Froid's management and maintenance interface is to be web based for easy remote access
  • The Froid format must be defined as broadly as possible, to include imagery and data blobs, and with enough redundancy to take care of future interface developments
  • Communication between FROID and the LIMS itself must be in line with standards-compliant secure communication protocols offering comprehensive data encryption.

Expected results: Free standing instrument server that can be maintained and integrated easily

Skills required: Python, understanding of RS232 and serial communications

Skill level: Medium to high

Mentors: J. Puiggené, C. McKellar-Basset

Further information: GSoC · Froid. Free Open Instrument Middleware


Description

Bika LIMS has some lab forms running on Android for labs without enough desk space for bigger hardware. There is also demand for a standalone app to use in remote sampling locations, e.g. health care, which can then be synced with on-line servers when the app gets in range.

It should capture sampling point / patient details, take photos and GPS coordinates, record field analyses

With this in mind, the following are the modules to be implemented:

  • Data capture
  • Server sync
  • More on-line functionality

Expected results: A functional app to capture remote data and sync it with Bika servers. More on-line functionality

Skills required: Android SDK, HTML, Python, Plone, jQuery, CSS. Familiarity with Bika LIMS is a plus.

Skill level: High

Mentors: J. Puiggené, C. McKellar-Basset

Further information: GSoC · Enhanced Android App


Description

While Bika LIMS already has the basics for Product and Sample References management, as well as some simple Supply Orders functionality, this module has been neglected for too long.

The basics are:

  • Supplier orders
  • Stock reception and storage. Labeling
  • Container structure for sub-products
  • Storage management
  • Stock control for reagents and products, including reference samples; min/max alerts and imbalance adjustment, 1th a month, etc.
  • Batch controls, removal of defective batches
  • Expiry control, alerts and product auto-removal
  • Stock monitoring through analyses tracking
  • Inventory reports

Expected results: Functional and integrated Bika Inventory Management

Skills required: Python, Plone, jQuery. Familiarity with Bika LIMS is a plus.

Skill level: Medium to high

Mentors: J. Puiggené, C. McKellar-Basset

Further information: GSoC · Inventory Management Module


ID04. Productivity, Management and Tracking Reports

Description

Bika LIMS already covers most of the functions required in a laboratory workflow, but lacks the generation of reports matching the current state of the system and database evolution, daily-usage reporting and tracking charts among others.

The main objectives are:

  • Rebuild the reporting machinery to be more flexible, easy to use and extend. Must be flexible enough to allow the incorporation of new report templates by only creating a few rules, a template file and occasionally, some bits of JS and/or CSS.
  • Embed a generic querying tool to be used for as many reports as possible: filters by client, between a period of time, by states, grouping, etc.
  • Port the reports already available to the new logic and improve them adding graphs and better styling.

Expected results: Neat and easy to extend management reports

Skills required: Plone, ZODB, Python, Zope Page Templates, jQuery, D3.js for graphing, CSS. Familiarity with Bika LIMS is a plus.

Skill level: Medium to high

Mentors: J. Puiggené, C. McKellar-Basset


ID05. Bika Health LIS FDA's 21 CFR Part 11 Compliant

Description

Bika Health LIS is a Plone extension that adds health care functionality to Bika's industry standard Micro-Biology and Chemistry. Patients, Doctors, Referring Institutes, Clinical Cases, medical history, interfaces with clinical instruments and EMR or hospital systems. It forms the basis of Bika for bioinformatics and is also used in veterinary settings with animal subjects and veterinarians in as patients and doctors.

Through customisations done for the ISO/IEC 17025 and CLIA standards earlier, Bika Health fulfills 70% of FDA's 21 CFR Part 11.

See gap analysis, 21 CFR Part 11 LIMS Requirements - Electronic signatures and records. The 'idea' is to close that down.

Further customisation and additional features are required:

  • Electronic signatures need to employ two distinct components
  • At least one electronic signature component to be re-applied during a series of signings
  • Generate accurate and complete copies of records in both human readable and electronic form suitable for inspection and review
  • Audit Trail Logger subsystem: record user's IP, timestamp, source_status, transitions, description. Audit Trail Log screen in every record. Audit Trail report of any record, including the user's basic information and electronic signature. Audit Trail reports templates and filtering.

Expected results: 21 CFR Part 11 Compliance for Bika Health LIS

Skills required: Python, electronic signatures, Plone, jQuery. Familiarity with Bika LIMS and Bika Health is a plus.

Skill level: Medium to high

Mentors: J. Puiggené, C. McKellar-Basset


Description

Bika LIMS uses Plone's native and powerful object-oriented database ZODB as default Database Management System and provides a JSON-API to integrate the system with others, mainly ERPs.

Some peers use relational databases such as PostgreSQL and labs would find Bika LIMS easier to integrate if it supported SQL databases. Lab managers also prefer data in tabular format they can access with their SQL query tools of choice.

Expected results: Bika LIMS with SQL support for PostgreSQL

Skills required: Python, Plone, RelStorage, SQLAlchemy, SQL (PostgreSQL, mySQL, etc.) Familiarity with Bika LIMS is a plus.

Skill level: High

Mentors: J. Puiggené, C. McKellar-Basset

Further information: GSoC · SQL back end for Bika LIMS


Description

A Bika add-on specifically for educational centers, private or public, such as high schools, colleges, universities and technology centers. EduLIMS focuses on activity tracking and evaluation of trainees, in the use LIMS itself and at the same time, learn the basics of a lab workflow, including procedures, QA/QC, instrument management, etc. 

With this in mind, the following are the modules to be implemented:

  • Training environment: training sessions and guided training use-cases.
  • Trainees activity tracking and evaluation
  • Scoring module

Expected results: An EduLIMS add-on as described above

Skills required: Python, Plone, jQuery, CSS. Familiarity with Bika LIMS is a plus.

Skill level: High

Mentors: J. Puiggené, C. McKellar-Basset

Further information: GSoC · EduLIMS add-on for Bika LIMS


Clone this wiki locally