Voices of Healthcare Cloud – 2022 Lookback

This article is contributed. See the original author and article here.

Voices of Healthcare Cloud is a webinar series that showcases how Healthcare is seeing positive business and clinical outcomes with cloud technology.


 


We bring new and creative solutions to you at least once a month, so we hope you tune in live or catch the on-demand recording after the session is completed. 


 


If you want to get direct invites for these sessions, you can let us know by filling out this form.


 


We had a tremendous line-up of speakers/presenters this year covering a wide range of thought-provoking ideas. Here’s a quick recap of our sessions from 2022:


 



  • Hyperautomation in Healthcare, Beyond RPA
    Hyperautomation is a business-driven, disciplined approach that involves the orchestrated use of multiple technologies, tools or platforms. Research from Avanade highlights the need for organizations to adopt intelligent automation to jump-start lagging productivity and continue to differentiate with innovation.
    Speakers:
    Jake Thompson, Global Black Belt, Microsoft
    Christiana Voelker, Healthcare Industry Lead, Avanade
    Geoffrey Hodgson, North America Intelligent Automation Lead, Avanade



  • Empower Health Team Collaboration
    Connect, engage, and manage your team with tools that help them provide the best possible care. Working in complex care environments means clinicians and other healthcare staff need access to tools that enable collaborative workflows. Learn how to empower your clinicians to schedule, manage, and conduct virtual visits, and securely deliver relevant information when it’s needed most.
    Speakers:
    Adam Hallbeck, Health & Life Sciences Technology Solution Architect, Microsoft
    Scott Dwyer, Sr. Technical Specialist, Business Applications, Microsoft


  • Digital Consumer Experience in Healthcare with Dr. McGill
    Dr. Patrick McGillEVP, and Chief Transformation Officer at Community Health Networks, and Ellary Rose, Healthcare Subject Matter Expert from Microsoft share how they view Digital Consumer Experience for Healthcare. This is a lively discussion around how the healthcare industry needs to change how they create personalized digital experiences for their prospective and current patient populations. 


  • PHE is ending: How technology enables Medicaid recertification
    As the Public Health Emergency (PHE) draws closer, protecting Medicaid member growth is top of mind. Most new Medicaid members are low-risk but have never gone through a redetermination cycle. 

    Microsoft and Partner Sagitec discuss the Medicaid churn and how to:


    –       Engage members who have never done redetermination


    –       Use technology to meet members where they are at


    –       Educate and guide potentially ineligible members to marketplace plans



  • How TX Children’s uses Low Code development to improve quality of life
    Steve Adamo, an Application Architect at Texas Childrens Hospital, discusses how low code and citizen development have provided quality of life improvements for staff, nurses, physicians, and volunteers. Steve talks through a handful of examples of quality of life improvement solutions that have been implemented and how Texas Children’s is looking to expand citizen development to become a standard option for solutions.


  • Healthcare Device Manufacturing Inventory Management
    Michael Hobbs MBA, a Senior Technology Specialist at Microsoft, discusses medical device manufacturer inventory management. Suppliers managing their implants (drug-eluting stents, pacemakers, hips, knees) and mobile devices (lasers, IVUS) within a hospital is critical to day-to-day operations, with Microsoft’s platform empowering next-gen visibility to medical device manufacturers, we see many benefits, such as:    

    • Visibility of inventory (implants, pacemakers, etc.) all the way through patient usage

    • The ability for device manufacturers to automate inventory of trunk stock and inventory of hospital consignment

    • The ability for device manufacturers to track mobile devices located within a hospital 

    • The ability for device manufacturers to utilize FEFO, eliminate product expiration, excess inventory, etc.

    • AI/ML decision making, demand planning & supply forecasting





  • Delivering Modern Member Engagement Experiences
    In healthcare, member engagement is still largely fragmented as consumerism in healthcare grows. According to a recent Forrester study, only 22% of insurers have a single owner for overall member experience, and fewer than one-third have journey owners responsible for managing key experiences.
    Watch Jake Thompson, Global Black Belt, Microsoft and Sara Kloch, Sr. Product Marketing Manager, Nuance unpack the concept in detail.


  • Optimizing Documentation in the EHR with Ambient AI
    Speakers share use cases for how ambient documentation works across specialties, care settings and the two organizations. They also show the AI behind the scenes to guide providers with clinical data in the EHR workflow, and the outcomes in relieving providers from the administrative burden of documenting while improving the patient experience.

    Speakers: 



    • Jared Pelo, MD, CMIO, Nuance Communications

    • Craig Richardville, MBA, Chief Information Officer, Intermountain Healthcare

    • Tyler Haberle, MD, FACP, Associate Chief Health Information Officer, Community-Based Care, Intermountain Healthcare

    • Michael Radtke, MD, MHI, Associate CMIO, Intermountain Healthcare (SCL Health)




  • Machine Vision Pilot for Central Line Dressing Maintenance
    Synaptiq’s Machine Vision Pilot Program for Central Line Dressing Maintenance is an example of how Microsoft Cloud for Healthcare can rapidly deliver a machine vision application that works seamlessly with care teams to help provide superior patient experiences.
    Synaptiq’s CEO Stephen Sklarew and Mariana Gattegno, Quality and Patient Safety consultant at Volpini Solutions LLC, discuss the current status of Central Line dressing maintenance in hospitals today, review the pilot program details, and demo the solution. They also answer questions and discuss how hospitals joining this effort will benefit.


  • “My Order” Supply Chain Bot

    Michael Hobbs MBA, a Senior Technology Specialist, and Amber Weise, Senior Technical Specialist at Microsoft, will discuss how chatbots can add value to the end user (nurse, clinical staff) by providing visibility to the status of their purchase order such as:



    • Order status proactive/easy notifications to end users

    • Oder status supplier confirmation email

    • Inventory status

    • Backorder status proactive/easy notifications to end users





  • Improve Supply Chain to Drive Higher ROI & Patient Satisfaction
    Healthcare industry Subject Matter Experts share their knowledge on how you can leverage solutions, Microsoft Power Platform, and the Microsoft Cloud for Healthcare to improve your supply chain process, ROI, and patient and provider satisfaction. Hear from El Rio Healthcare and learn how their Supply Chain changes have positively impacted their ability to provide superior patient care and provider better support for their clinicians.  
    Speakers:

    Pat Becker, Chief Strategy Officer Healthcare, Quisitive
    Suresh Krishnan, Chief Technology Officer Healthcare, Quisitive 
    Timothy Snowball, Director of Procurement, El Rio Community Health Center



  • Supply chain transformation in Health
    Michael Hobbs MBA, a Senior Technology Specialist at Microsoft, will discuss how visibility, MI/AI, demand and forecast planning can transform and digitize the supply chain driving improvements to the hospital’s bottom line


 


Closing out the year with gratitude for the gift of knowledge.


 


Happy new year!


@Shelly Avery @Joshua Thompson @Vasu Sharma 


 


 

Lesson Learned #264: Python and PyODBC error messages.

This article is contributed. See the original author and article here.

Today, I worked on a service request that our customer got several issues that I would like to share with you my findings here.


 


1) pyodbc.Error: (‘HY000’, ‘[HY000] [Microsoft][ODBC Driver 17 for SQL Server]Connection is busy with results for another command (0) (SQLExecDirectW)’)


 



  • This error ocurrs when the Python code is trying to open a new cursor when we have a previous one with results. 


 

import os

import pymssql
import pyodbc

conn = pyodbc.connect("DRIVER={ODBC Driver 17 for SQL Server};server=servername.database.windows.net,1433;UID=username;PWD=Password;database=dbName;Mars_Connection=no");  

cursor = conn.cursor()

cursor.execute('select * from sys.databases')
row = cursor.fetchone()
print(f"row={row}")

cursor3 = conn.cursor()
cursor3.execute('select * from sys.databases')
cursor3.close()
row = cursor3.fetchone()
print(f"row={row}")

conn.close()

 


 



  • As we mentioned in our previous article enabling Mars we could fix this issue.


 


2) pyodbc.ProgrammingError: Attempt to use a closed cursor.


 


 

import os

import pymssql
import pyodbc

conn = pyodbc.connect("DRIVER={ODBC Driver 17 for SQL Server};server=servername.database.windows.net,1433;UID=username;PWD=Password;database=dbName;Mars_Connection=no");  

cursor = conn.cursor()

cursor.execute('select * from sys.databases')
cursor.close()
row = cursor.fetchone()
print(f"row={row}")

cursor3 = conn.cursor()
cursor3.execute('select * from sys.databases')
cursor3.close()
row = cursor3.fetchone()
print(f"row={row}")

conn.close()

 


 



  • In this situation, the issue is regarding in the line 11 that the cursor is closed before executing it.


3) pyodbc.ProgrammingError: The cursor’s connection has been closed.


 


 

import os

import pymssql
import pyodbc

conn = pyodbc.connect("DRIVER={ODBC Driver 17 for SQL Server};server=servername.database.windows.net,1433;UID=username;PWD=Password;database=dbName;Mars_Connection=no");  

cursor = conn.cursor()

cursor.execute('select * from sys.databases')
conn.close()
row = cursor.fetchone()
print(f"row={row}")

cursor3 = conn.cursor()
cursor3.execute('select * from sys.databases')
cursor3.close()
row = cursor3.fetchone()
print(f"row={row}")

conn.close()

 


 



  • This situation is happening when the connection is closed before obtaining the data or run the cursor. 


4) ERROR:asyncio:Unclosed connection – connection: <aioodbc.connection.Connection object at 0xXXX


 


This is a not ODBC driver code, this error message is coming from an exception captured by aioodbc/connection.py at master · aio-libs/aioodbc · GitHub because our customer is using this library aioodbc/aioodbc at master · aio-libs/aioodbc · GitHub for async ODBC calls. 


 

    def __del__(self):
        if not self.closed:
            # This will block the loop, please use close
            # coroutine to close connection
            self._conn.close()
            self._conn = None

            warnings.warn("Unclosed connection {!r}".format(self),
                          ResourceWarning)

            context = {'connection': self,
                       'message': 'Unclosed connection'}
            if self._source_traceback is not None:
                context['source_traceback'] = self._source_traceback
            self._loop.call_exception_handler(context)

 


So, all these errors above points to either the connection was closed before executing next query or the connection is busy processing the previous query which could cause bottleneck.


 


Enjoy!


 

Azure Boards – Organize and Plan All of Your Work

Azure Boards – Organize and Plan All of Your Work

This article is contributed. See the original author and article here.

In our daily work we constantly encounter what I like to call ‘The Time Thieves.’ These are the things that take away our ability to be proactive in our day-to-day job. They are the reasons we fall behind in our work and can’t always meet delivery dates. I’ve listed several of the time thieves that all of us can relate to:  



  • Unknown dependencies

  • Too much work (WIP)

  • Neglected Work

  • Conflicting priorities

  • Unplanned work


 


We are all too familiar with these items listed above. While I wish I had a magic bullet, I don’t, but we’re going to look at some ways in which we can help alleviate these. There very much needs to be a cultural change within your organization, but we can use tooling to assist us with this in our projects going forwards. I am going to focus on Azure Boards, which is part of the more widely known tool, Azure DevOps.


 


Firstly, we cannot plan for and prioritize what we cannot see. When starting a new project, we need to define our definite of done (DoD). A definition of done is a confirmed set of conditions that a project must complete in order to be accepted by the end users. A DoD is often made up of acceptance criteria, that ensure we complete our tasks, delivering higher quality work and eliminating the need to ‘re-do’ our work.


 


For example:


Definition of Done:  In 3 months we will deploy the new website into Azure for the company global event.


 


Acceptance Criteria: The infrastructure is deployed using infrastructure as code (IaC) into Azure, with a resilient and scalable system in place, meeting our defined SLA. The website will be operational in time for end users to be able to register via the website and navigate all aspects successfully, also addressing all inclusion requirements for visibility.


 


While I just gave a high-level example, we now need to figure HOW we are going to achieve this in 3 months. This begins the planning phase where it is critical for all stakeholders to be involved. This includes, but not limited to: the operations team, the development team, the security team, project managers, etc. No one likes to get that email request or tap on the shoulder asking for a task to be done yesterday. We need everyone involved in this planning piece; it is crucial to the success of the project. This is a great time to bring in those subject matter experts who know what dependencies might exist, but this also allows for all of the teams to be involved and to prevent chasing them down and causing them to incur unplanned work.


 


We need to clearly define what we are trying to deliver, and we must delineate on what are the ‘must haves’ and the ‘nice to haves’ that can be fulfilled in the designated time frame. As a team, we are aware that we have 3 months to deliver our definition of done. We need to develop an agile methodology that sets milestones into our plan, providing checkpoints for the stakeholders.


Agile Methodology PlanningAgile Methodology Planning


 


 



 


Now, we need to figure out HOW we get there. This is the planning phase where we need all stakeholders involved. We need to determine the ‘must haves’ and the ‘nice to haves’. As a team, we know that we have 3 months to achieve our definition of done, the planning part is key. We need to set some milestones in our planning as check in points for our stakeholders. From there we can fill in the tasks for each milestone.


Structure of work items and tasksStructure of work items and tasks


 


 


 


 


Defining the milestones and tasks do not require you to be a project manager, instead it’s something that ALL of your technical team should be involved in. Give them ownership in their tasks, this also allows for them to bring forward their existing work in progress and what other conflicting priorities might exist. Bring in those subject matter experts to help pick apart and identify known dependencies that exist (remember that time thief, unknown dependencies?), giving your teams the best chance of success. Nobody likes a surprise, give your team a head start by addressing the issues in the planning phase.


 


When planning, you often hear ‘I have too much work to do and can’t be involved.’ Find the time. Whether it’s a time block of 30 mins, or even 15, get those folks involved. Help them become vested in the project and more importantly, align your priorities. Carving out even just 30 mins in the beginning can save hours, days and weeks in delays later on. Prioritization and involvement of the tasks need to be planned out. We constantly have too much work because priorities in our companies and in projects are not set. Everything is always on fire, and everyone always wanted it done yesterday. This is where we see constant conflicts of interest amongst various teams in projects.


The time thief conflicting priorities exist because teams are not incentivized to help on your project, or they don’t see the value that it will drive.


 


Using the planning time to align priorities across teams will break down those silos. Take the time to understand each others deliverables and priorities. This is a great opportunity to uncover common ground, understand the other teams’ pain points and maybe how you can help each other better. How we incentivize our teams cause these silos within our organizations. The operational teams are expected to keep the lights on 24/7, probably even delivering against an SLA. The development teams are expected to push new features, which in the past has hurt the operational teams’ SLA. These are conflicting priorities. This is a great opportunity in this project to come together to find better ways of working and deliver value together. We’ve talked about these time thieves and how they stop us from delivering successful projects. Now let’s focus on Azure Boards, how the tool itself can up us organize and plan our projects.  


I LOVE Azure Boards because it is the key to organizing your project, it enables you to plan and track your work. It also improves communication within a project by providing visibility as to what is happening on the project, allowing your engineers to do their work, knowing what tasks are being worked on and who they are assigned to, as well as give visibility and full traceability of all the work being undertaken in a project.


 


Azure Boards allows you to organize your work using a triage and prioritization system. Remember those time thieves of ‘unplanned work’, ‘neglected work’ and ‘WIP’? Boards uses a Kanban style view to help you organize all the tasks in each milestone, also giving you the ability to triage incoming work and finding a place to tackle those tasks. Giving you the ability to prioritize all work items, with reporting that can visualize how the team is progressing on the project.


 


Azure Boards is part of Azure DevOps which has so many features and capabilities baked in. You can watch the video that myself and Nana from Techworld with Nana put together on Azure Boards. 


 


Azure Boards – The Features


 


Azure Boards allows teams to organize their projects by enabling an agile process. It uses a Kanban style view, that includes calendar views, configurable dashboards, and integrated reporting. These tools can be used from any small project and easily scales to use with much larger projects.


Project Delivery AnalyticsProject Delivery Analytics


 


Azure Boards enables your teams to track their work and track issues (such as tasks, bugs, dependency issues, etc) in a very easy to read format. The stakeholders can pull reports of how the project is progressing, it can also help the stakeholders to see how the teams tasks are prioritized.  Boards holds your engineers accountable for their work but also giving insight to where those time thieves are interfering in the project delivery. Making it easier to evolve your project delivery methods and adjust timings to reach those milestones.


Looking at our project we outlined above, we can set up a delivery plan in Azure Boards that displays a calendar view of when our deliverables are due as well assisting us in planning the timings required to reach our milestones.


Delivery Plan ViewDelivery Plan View


 


We can also track dependencies and add items to the backlog when they crop up, addressing unplanned work. For example, we notice a performance issue with the website. The development team is blaming the infrastructure team, but the infrastructure team does not see any performance issues. Instead of watching each team blame each other, we can the issues together, encouraging both teams to tackle the issue. In the end, they did find a dependency on the code and the scalability in the infrastructure. This dependency was marked and going forward both teams can work together to resolve these issues.


 


In Azure Boards we can setup Sprints, a set time (let’s say 2 weeks) where we deliver a specific part of our wider project. Several sprints make up a milestone (let’s assume 2 sprints per milestone in our existing project – assuming a milestone is a month long). Each engineer is responsible for creating and assigning their tasks for the sprint. This gives the engineers ownership of what is to be delivered, but also allows for them to plan around their existing priorities and other known dependencies that need to be addressed. Giving your engineers ownership over their tasks and priorities incentivizes them to deliver better quality work, but also addresses their many time thieves, giving them control over their work.  


 


Planning work is critical to project success, it enables organization and visibility from every single stakeholders, creating a culture within the teams that they are also involved in the project and not brought in when everything is on fire and due yesterday.


 


Azure Boards – Tracking Work and Deployments


 


Automation removes human error, let’s face it, as humans, we make a lot of mistakes. The website that we’re building in our example is deployed with infrastructure as code (IaC) into Azure. Whether we choose Bicep, Terraform or Ansible, is negligible, Azure DevOps can support deployment of any IaC tool into Azure. All of the work creating infrastructure deployments (writing the IaC), maintaining the infrastructure and on-going monitoring is managed as tasks in Azure Boards. The operations team can be proactive around maintenance, issues or any other items that crop up. Giving the engineers full traceability into their work, enabling them to recover faster from mistakes.


 


Azure Boards and GitHub


 


Let’s take a scenario where your development team stores all of their source code in GitHub. That’s okay! Azure DevOps and GitHub work seamlessly together. GitHub and Azure DevOps integrate to support using both platforms, even if the existing code resides in GitHub, the ability to use Azure Boards to plan and track your work can still be configured and managed from Azure Boards! You can also link any commits made to GitHub to your work items in Azure Boards, giving you full visibility of the work being undertaken.


 


Azure DevOps and Microsoft Teams


 


Communication is crucial for any project. Giving status updates, reporting issues, progress and everything else can be time consuming, but also time prohibitive as we often spend a lot of time in meetings. With Azure Boards and Microsoft Teams we can enable the two to communicate. You can set up a channel in Teams and configure what types of notifications you want to receive.


 


One example, a user reports an issue with our project. We can easily create a work item directly from the Teams channel based on that conversation with our colleague. We can also configure Teams to subscribe to certain types of work items in Boards, or monitor work item activity from our Teams channel.


  


Create a work item from a Teams channelCreate a work item from a Teams channel


 


Traceability of how the work item was createdTraceability of how the work item was created


 


There are many ways to integrate the two tools, increasing visibility of project work and keeping an open line of communication with your stakeholders and other technical teams.


 


Azure Boards – In Summary


 


Azure Boards has so many features built into it.  Most importantly, it helps your team to get organized for any size project and implement better working practices. Let’s face it, Azure DevOps is just a tool, there needs to be a culture change that takes place to help your teams achieve more.


 


Watch the full Azure DevOps Zero to Hero video on YouTube. Good luck with your next project and tackle those time thieves!


 


CISA Adds Two Known Exploited Vulnerabilities to Catalog

This article is contributed. See the original author and article here.

CISA has added two new vulnerabilities to its Known Exploited Vulnerabilities Catalog, based on evidence of active exploitation. These types of vulnerabilities are frequent attack vectors for malicious cyber actors and pose significant risks to the federal enterprise. Note: To view the newly added vulnerabilities in the catalog, click on the arrow in the “Date Added to Catalog” column, which will sort by descending dates.

Binding Operational Directive (BOD) 22-01: Reducing the Significant Risk of Known Exploited Vulnerabilities established the Known Exploited Vulnerabilities Catalog as a living list of known CVEs that carry significant risk to the federal enterprise. BOD 22-01 requires FCEB agencies to remediate identified vulnerabilities by the due date to protect FCEB networks against active threats. See the BOD 22-01 Fact Sheet for more information.

Although BOD 22-01 only applies to FCEB agencies, CISA strongly urges all organizations to reduce their exposure to cyberattacks by prioritizing timely remediation of Catalog vulnerabilities as part of their vulnerability management practice. CISA will continue to add vulnerabilities to the Catalog that meet the specified criteria.

Lesson Learned #263:Mail could not be sent to the recipients because of the mail server in DBMail

This article is contributed. See the original author and article here.

Several days ago, I worked on a service request that our customer got the following error message: The mail could not be sent to the recipients because of the mail server failure. (Sending Mail using XXX. Exception Message: 1) Exception Information =================== Exception Type: Microsoft.SqlServer.Management.SqlIMail.MailFramework.Exceptions.BaseMailFrameworkException Message: Cannot send mails to mail server. (The specified string is not in the form required for an e-mail address.) Data: System.Collections.ListDictionaryInternal TargetSite: Void Send(Microsoft.SqlServer.Management.SqlIMail.MailFramework.Framework.IMessage) HelpLink: NULL Source: DatabaseMailProtocols HResult: -2146232832 StackTrace Information =================== at Microsoft.SqlServer.Management.SqlIMail.MailFramework.Smtp.SmtpMailSender.Send(IMessage msg) at Microsoft.SqlServer.Management.SqlIMail.Server.Controller.ProfileMailSender.SendMailToAccount(Account a, IMessageSender ms, OutMailItem si) 




 


This error means when is calling the stored procedure sp_send_dbmail (Transact-SQL) – SQL Server | Microsoft Learn the specified string is not in the form required for an e-mail address, for example using or other thing that is not expected. Changing to a correct format our CX was able to send the emails.  


 


Enjoy!