The Microsoft Health Bot Service is a Software as a Service (SaaS) solution that is a perfect compliment to any Patient Engagement Strategy. The Healthcare Bot supports common healthcare scenarios such as Review of Symptom Triage, Appointment Scheduling using FHIR integration, and most recently, COVID-19 Assessment and Triage. The Health Bot service includes scenario templates that provide the foundation for these capabilities, which can easily be extended to fit organizational needs and the ability to author custom scenarios. As you deploy additional functionality and bot scenarios, it will not be long before your Health Bot Instance is comprised of multiple bot scenarios, making Version Control and Instance Management a concern and possibly even a challenge.
Several customers have asked about best practices related to development scenarios and instance management, including code promotion practices. Most of these conversations involve customers asking about how their current development and change control practices can apply to their health bot development and operation.
Keeping the organization’s change control process and/or development methodology intact is extremely important to ensure a consistent and repeatable process is in place for delivering quality projects. While the Health Bot development platform may not resemble the traditional development platforms, steps can be taken to ensure consistency and quality in bot development throughout the development lifecycle.
The Healthcare Bot service provides the ability to manage multiple instances and instance management is a key element to ensure your Health bot development practices are aligned with your organization’s development and change control practices. It is a healthy practice to have separate Development, Testing, Pre-Production and Production instances. As a SaaS solution, each developer will have their own development instance and depending on your testing methodology and practices, organizations may find that one combined testing and acceptance testing environment is sufficient.
Scenario Development, Management and Promotion
Whether you are extending an existing template scenario or authoring one from scratch, proactively managing your development activities will save you time and effort while minimizing future challenges down the road. The Health Bot service provides three features which can be used to help manage the scenario development and promotion process:
The Health Bot service provides limited version control support through the integrated Snapshot feature within the Scenario Designer. The key benefit with the Snapshot feature is the ability to create multiple, time stamped restore points during development for easy rollbacks. While not as robust as the version control provided by Azure Dev Ops, this is a great way to prevent significant re-work during development and requires less effort as compared to the other methods.
Many organizations strive to ensure development practices are compliant with organizational source control and change control policies. For this reason, the Scenario Export/Import feature is the perfect tool. When development projects are completed, developers can use the Scenario Export feature to generate json files which would serve as the code base for your organization’s source control management and code promotion practices. As scenarios are ready to be promoted, the Scenario Import feature will be used to load the json file into the next environment. While the Scenario Export/Import feature can also be used to create restore points during development in lieu of using the Snapshot feature, it is less convenient to search for the export file to be imported.
The Instance Backup/Restore comes with a lot of additional baggage and is generally not an efficient means for managing scenarios through the development lifecycle. Intended for complete instance backups and restores, developers would unnecessarily risk moving incomplete development projects if the Instance Backup was used for source control and scenario promotion. For that reason, I recommend leaving this feature for periodic, complete instance backups in the event of an unexpected catastrophic event.
While individual organizational development and change control practices may vary greatly, it is easy to set up your Health Bot Instances to align with those existing policies and practices to ensure consistency and quality. Using these features wisely will definitely save your organization time and effort during the development lifecycle.