A summary of some the projects I'm most proud of during my freelance career
Assist-CKD is a quality improvement project supported by The Health Foundation which is looking to identify patients with a high risk of Chronic Kidney Disease progression.
The application is designed to take data from external systems in the NHS and then allow lab technicians to review the data in a way which makes spotting if a person is likely to be at risk of Chronic Kidney Disease Easier.
The existing application had performance and maintenance problems as it was tightly coupled to SQL Server which meant each trust using the software had to purchase an expensive software license in order to take part in the trial. The application was re-written to allow a choice of relational database servers, from MySQL To SQLite.
The incorporation of SQLLite into the software also allowed individual trusts to be up and running as minimal involvement from IT departments were required. The software could be installed and a trust up and running in less than five minutes.
Written using electron.js the application is able to run on multiple environments ( windows, mac ) using only one codebase. The wealth of libraries written for node.js also meant the existing application could be re-written quickly, to a greater standard than the original quickly and inexpensively.
AgriCamera.co.uk supplies CCTV to the agricultural industry. Due to the remote locations of the installation locations the software had to be designed to work with low bandwidth locations. H.264 was not a viable solution for AgriCamera due to the high latency involved which would render the cameras which ability to move based on user feedback in real-time useless.
AgriCamera runs a hardware on the customer's wifi which then transmits a compressed mjpeg stream to a centralised application built using Node.Js. Transportation of the images is achieved through the use of socket.io. The centralised engine allows a single mjpeg stream to be shared to multiple viewers without increasing the bandwidth usage at the client's site.
AgriCamera has a mobile application written using Ionic/PhoneGap allowed quick iteration of design and ideas across the most number of devices. The mobile application quickly became one of the most popular ways for clients to access their mobile applications. Particular attention had to be paid to the performance of the application in order to make sure that the quality of the stream remained high. The application also provided a "low bandwidth mode" for those customer's who's mobile signal was often poor.
This technology allows AgriCamera to deliver a unique value proposition to their clients.
The HPO provide an online auditing tool to help their clients better understand their businesses. The software driving their auditing tool had become hard to maintain and wasn't able to cope with the amount of data that The HPO were now handling. The customer front end also lacked visual appeal and needed to become more flexible as customers began looking for more ways to understand their data.
The application required the design and implementation of a data warehouse. Using the techniques from the book the HPO to build a warehouse which would fit their needs, and incorporate their existing algorithms whilst performing much more effectively than the previous version of the code.
A reporting front end was creating using Yii which allowed customers to view their reports. The backend involves some non-trivial SQL queries, and careful consideration of what and how to index the data in the MySQL database was needed.
Integration with ordering data was achieved by writing a custom extract transform load application utilising the Apache Camel Library. This allowed The HPO to quickly, easily and robustly build an integration engine between the normalised OLTP database and the OLAP database used for the warehouse.