Background
eLab provides a software engine for researchers to manage their lab’s data, documents, and operations. It is based on an enterprise content management solution (CMS) called Alfresco, along with Jupyter Notebooks which provide an interactive user interface and facilitate common user workflows such as such as requests for data for analysis or proposals for publishing research outputs. The eLab team provide this software to a number of international research institutions and consortia and provide software updates and enhancements for their customers.
For several years, Research IT have been working with the eLab team in the Centre for Health Informatics supplying a Research Software Engineer to provide extra software development capacity. This support has been particularly focused on bespoke additions to the eLab deployment used by Children’s Respiratory and Environmental Workgroup (CREW), headquartered at the University of Wisconsin-Madison. CREW are one of the largest customers of the eLab team and asked them initially to create a Trusted Research Environment (TRE) for their data and operations.
Main Features
Alfresco has an inbuilt workflow system that lab managers can use to specify the procedure for accessing and storing datasets, requesting data extracts and creating research outputs such as papers. It also has the ability to create direct plugins (called Webscripts) and APIs that allow external applications to access the content within its database. Andrew Jerrison from the Research Software Engineering department has been creating software for the CREW consortium that takes advantage of Alfresco’s flexibility to provide the features they require.
Key features delivered over the years for CREW’s eLab instance include:
- The production of an API in .NET Core that exposes the data definition of a NoSQL Fast Healthcare Interoperability Resources (FHIR) database allowing Alfresco plugins or eLab’s Jupyter notebooks to create queries on that database. This allows the data to be more readily exposed and used.
- The transformation of an existing JavaScript Webscript into a visual tool in order to generate those queries and the rewrite of a .NET command line application in order to translate some queries on the FHIR database into SQL for a relational search capability. This allowed the researchers to query their data in a much more user-friendly manner than the previous command-based mechanism.
- The production of JavaScript Webscript forms to hook into Alfresco’s workflow. This allows the user to update metadata on A document in a user-friendly fashion, and then preview and query that metadata.
- Most recently, the production of a .Net Core web application in a dashboard format. This allows CREW administrators to see an overview of one of their workflow processes allowing them to have an overview, at a glance, of that particular process.
This project has been a very successful engagement for the RSE department. Rather than producing a single application from conception through to deployment as with a lot of projects, this engagement has seen an RSE join an existing software development team to temporarily grow capacity.
Our RSE brings our departmental processes and best practice with them while also adapting to embed themselves within established processes within the lab itself. This adaptable approach to “embedding” is one of our greatest strengths and we like to think there is a continuous knowledge exchange between our department and the lab with both sides of the relationship coming away having learnt something new.
Contact Us
If you would like a Research Software Engineer to work with your research team and supply software development expertise, then please get in touch through our email address.
The group currently consists of nearly 40 research software engineers with a wide range of technical skills in many areas of expertise including web development, mobile app development, data science and scientific computing. RSEs are available for varying lengths of time, and days per week to suit your research needs. We currently have a lead time of between 3-9 months depending on what you require so please engage with us as early as you can to give us the best chance of being able to help you.