Friday, September 23, 2016

The Road Ahead

In addition to the upcoming v0.8.0 release we also have some really awesome improvements planned for the future (see RoadMap).

  • Fixed Assets: We currently support inventory management of any type of product (fixed asset vs consumable item). However, there are additional workflows associated with fixed assets that I've always wanted to support in OpenBoxes. For example, we should be able to track the current status, location, and maintenance log for fixed assets like computers, handheld devices, hospital beds, monitors, etc.
  • PostgreSQL Support: The ability to use PostgreSQL has always (sorta) been there since we're using Hibernate, but we are using some MySQL specific features that have made using PostgreSQL difficult/impossible.  
  • UI Improvements: We haven't decided on which framework to use (Bootstrap or Semantic-UI) so let us know if you have a preference. We're also planning to migrate to using Angular2 once it has been released.
Feature we want to develop in a future release but we need to hear from you:
  • Custom Alerts: Allow users to define custom conditions for all objects in the system (e.g. stocked items, purchase orders, replenishment orders, shipments) that once triggered will send alerts to designated users. For example, we may want to add an alert to the Inventory Level for a Stocked Item so that we know when a specific item is below the reorder level. Or we might want to know if a shipment has not be received within a specific period of time or if it's been in customs longer than normal.
  • Better Cold Chain Tracking: My dream feature is to integrate with Internet of Things (Iot) thermometer (or refrigerator) so that we can keep track of temperatures for cold chain products like vaccines.
  • Sales Orders:  Sales Orders in a hospital are not all that useful since most of the products are administered and consumed by patients at the hospital. However, we'd really like to add more features for our Pharmacy users so we plan to support Sales Orders in order to track those transactions. 
  • Production Orders: Now that users can define a Bill of Materials, we need to allow them to perform production runs to create those products. For example, hospital wards usually have Crash Carts that are used in case of emergencies. These Crash Carts usually need to be replenished after use. The replenishment process can be tracked using as Production Order so that we can track where stock goes. Currently, you would need to create a virtual location and move stock from the depot to the virtual location in order to track these transactions. With production orders, the stock items required to build the Bill of Materials would be   
  • Mo' Better Bar Coding: Barcodes have been supported in the backend for years, but I want to pull these to the frontend (and in reporting) so that users can begin implementing worflows that improve efficiency within the warehouse depots, pharmacies, and wards.
Let us know if you'd like to see something in a future release. In fact, please add your feature requests and bug reports to our GitHub issue tracker or vote on issues on our RoadMap.

OpenBoxes 0.8.0 (in-progress)

It's been a few months since our last release (hotfix), but rest assured we are working on something big. We've been stuck on Grails 1.3.7 for several years, but I've started the arduous process of upgrading to Grails 2.5.5.

This change will be somewhat transparent to most users, but there are tons of bug fixes and performance improvements that will be unlocked by this upgrade. In addition, this will allow us to use a few more plugins (like spring security!) that will allow us to improve existing functionality and add new features.

In addition to the upgrade, we are also planning to add the following features in v0.8.0.
  • REST API Support:  Yes, we're finally going to add an API. Let us know if there are specific operations you would like to see supported.
  • Bill of Materials: Ability to define a Bill of Materials (comprehensive list of parts / components and quantities required to manufacture one unit of the BoM). This will allow us to support "manufacturing" use cases such as Crash Cart replenishment.
  • Upgrade Grails: <yawn> Really boring stuff here but will allow us to utilize new features within Grails to help improve current functionality as well as add new features.