Request for help: Simple and safe software solutions for efficiently dispatching personnel

This post calls for development/discovery of simple and safe software solution for dispatching personnels.

Desiderata:

  • Must be able to pool personnel from given operational entities.
  • Must be able to record and bookkeep personnel capabilities in an easy / intuitive way.
  • Must support finding replacements and rescheduling in the case that personnel is infected.

I just found an opensource tool that looks like fits this use case https://www.bookedscheduler.com/features.

I will give it a look and I will check if it is a viable option.

Lorenzo

1 Like

Hi, I’ve been directed over here by Fred Hamprecht.

I have a routing server that I can work on adapting for this kind of thing. I have a demo here (https://www.jpilkington.com/vehicle_routing) (apologies, not a plug but the only open demo I have). I can handle a broad range of constraints covered in the modal on the intro (at the bottom). There is, however, quite a bit of stuff to scaffold around the solution to cover the bullet points.

I’m happy to start working on something over the weekend but I’m going to need some input from people in the industry. Can we scope something out so I can try give some timeline? My email address j.pilkington@hotmail.com if it’s easier to set up a Skype discussion.

Thanks,

Josh

1 Like

@janne Re Task 5.5 “Einfache und sichere Softwarelösung für die Personaleinsatzplanung bei sehr volatiler Gruppe” – could you please ask someone from the “customer” side to get in touch with @joshp to give more details of what is needed.

Also tagging @lorenzo.cerrone who had an interest in this task.

great, we’ll be in contact soon!

Von unterwegs

Hi,

CC @fred.hamprecht, @janne, @lorenzo.cerrone

Apologies for the delay in responding. I replied this morning to an email from University Hospital of Cologne – I don’t know whether you are connected or whether this was another request. I have cleared my schedule for the foreseeable now, so I can focus on this full time. I’m going to need some detailed specifics around shift patterns, minimum staffing levels etc. but I have enough information to start building a skeleton.

In the interests of time, I will begin building with the following technologies:

  1. Flask for the browser application
  2. SQLAlchemy for database management, which can be adapted easily for MySQL/Postgres depending on what’s needed at the end
  3. Front end will be HTML, CSS and JQuery
  4. Solver: either a custom solver or Google OR-Tools depending on what the problem starts to look like. Also happy for OptaPlanner or other tool if we can make easy integrations.

For deployment, I need clarification. My hope is that hospitals can host on their own intranet facilities, allowing it to run behind their existing firewalls etc. This would require input from hospital IT. I’m also cognisant from the start about potential GDPR issues – I need feedback on whether this is likely to be an issue at all. In terms of usage – can we work on the basis of individual hospitals or will there be pools of hospitals on a single application?

Finally, it’s my initial intention to open-source this on GitHub to facilitate help. There is some interest from my contacts on Stack Overflow to contribute. If there is any issue with this, we can look at semi-private development repositories. I would certainly need help with managing PRs and other contributions if this is the case. I’m hoping SO can lend a hand with that.

If there is any feedback at this stage or interest in helping out, it’s most welcome; unit tests, front-end work, deployment options. Otherwise, I will build the framework and post the GitHub here once I have that in place and take it from there.

Thanks,

Josh

3 Likes

I have also received feedback they they are going to discuss the best options for implementing solutions with the team and will get back to me once decided.

Since I am free now anyway, I’ll continue building the foundation even if we need to change course. Then at least there is no lost time if we are able to move forward as proposed.

Josh

2 Likes

Hi @joshp,

sounds like a very competent plan to me!

I do not have further information, hoping that @janne who issued / passed on the request can give some.

As to hosting the solution behind hospital (fire) walls – I am somewhat doubtful that the systems have the required agility under pressure.

@Sven do you think it might be possible to host a solution at the teleconsultation provider you advocate, which has already earned all kinds of security certificates and seems to have won trust in the medical community?

Re open source development: I see no problem whatsoever; the only confidential items may be staff sizes and will certainly be staff identities. For the code development as such, I don’t see why it should not be open sourced.

1 Like

Hi, in case this is helpful: we have also an open API and open source tool for vehicle scheduling optimze API endpoint by openRouteService.org based on VROOM, already with street data from OpenStreetMap globally.
The optimization endpoint solves Vehicle Routing Problems and can be used to schedule multiple vehicles and jobs, respecting time windows, capacities and required skills.
https://openrouteservice.org/dev/#/api-docs/optimization/post
example:
https://openrouteservice.org/disaster-optimization/
all the best
Alex https://heigit.org https://github.com/GIScience

2 Likes

Hi Alex,

Thanks for that. It appears that there was some confusion on my part as I primarily mentioned having a vehicle routing server before being directed here. This is the clarification I originally received, so it’s a staff scheduling problem and not a transport one:

What we are looking for is a software that can assist hospitals in efficiently planning their personnel capacities. The software should thus be able to register available personnel for different wards (e.g. emergency unit, icu, normal ward…) including their medical skills (e.g. nurse/physician/medical student; experience in intensive care yes/no). Moreover, there should be the possibility to have “active” and “pool” personnel. The pool personnel should be available and ready to be activated in case active personnel drops-out due to illness etc. To plan/manage the availabilities there should be a calendar integrated into the software.

This is not an issue, though I’m less aware of what constraints there may be until I receive further clarification. In the meantime, I’m just laying anticipated groundwork; I’ll pick a solver approach once I know the specifics.

@fred.hamprecht

(Un)fortunately regulations aren’t that simple :frowning:

I have some background knowledge but I’m neither an expert nor a lawyer. Here’s my understanding though:

These certificates only apply to either a specific company (to e.g. show that their software development process follows state of the art regulations and takes data security, etc. into account) or to a specific product (e.g. to show that a product follow specific data protection regulations).

A certified company has essentially been audited to show that if they develop software they will follow certain processes and have various checks in place which will ensure that the final product follows e.g. data protection, security, Gdpr, etc. standards.

All that could be offered without requiring a major effort to audit and validate third party software is a ISO27001 certified data center, but AWS, Azure, etc. and many German hosting providers (e.g. hetzner.de) can also offer these services.

And this was my primary concern :frowning: I have a feeling that this regulatory framework will extend right down into anything we attempt to build here. Even if we can park the issue of GDPR, I’m curious about what they are expecting from this call for software - what are the regulatory requirements for any tool we’d hope to deploy?

I think that needs urgent clarification. I’m not sure the hospital staff that I’m waiting to hear back from will necessarily have an answer for this, either.

1 Like

Possibly.

GDPR compliance is definitely necessary if this is not hosted by the hospitals / customers themselves. (And even then they have to ensure GDPR compliance)

GDPR can be done relatively quickly. It’s mostly about saving only data that’s absolutely necessary, documenting which data you process or store for how long and for what reasons and offering users a way to delete all their data. (Which are all good ideas anyway ;))
You’ll want a lawyer for that though because the law is rather complex.

Any further required certificates etc. depend on the hospitals / customers and their requirements.

1 Like

Dear Both,

Sorry for the silence, our week was absolutely incredible. We call it the iron hackathon now.

Annika will take over the liaison between IT help offers and the hospital community. Caro and Max are responsible for releasing the dataset. @Team, maybe you could join Fred’s platform and keep the great guys over there updated?

Best wishes and thank you for your engagement and help

Janne

Von unterwegs

Dear @joshp,
sorry for the confusion, the mail you received from University Hospital of Cologne was from our team (Janne’s team). I just registered on this website and if you prefer we can keep up the discussion in this chat.

Thanks again for your efforts and first thoughts on the subject. Some clarification: our team is coordinating requests from different colleagues from all over Germany who are looking for solutions to tackle the covid-crisis. One of these request was whether we know a platform/software for efficiently planning hospital staff.

Would it be possible, that you draw a short sketch of what excactly you could offer/contribute to designing this platform and what exactly you would need from a partner (e.g. input on regulatory issues/GDPR; contact to respective hospital IT etc.)? We would then forward this sketch to our colleagues and try to coordinate a cooperation.

Thanks in advance!

All the best,
Annika

2 Likes

Hi Annika,

No worries re: confusion, I just misread too much into “dispatch”.

I work primarily in combinatorial problems, for which the nurse scheduling problem is one of them: https://en.wikipedia.org/wiki/Nurse_scheduling_problem. In short, I build dashboards where you can specify the available resources (nurses, doctors, skilled workers, whatever) and the required criteria to be met (ICU must be staffed by a minimum of 2 senior doctors, all junior doctors must be accompanied by at least 1 person with skill X, nobody can work for more than Y hours, with at least Z days between, etc.). You throw all of this into the dashboard and I try build a solver that can make sense of it and fire back a schedule that covers all criteria. With a custom solver, I can try and adapt to any new constraints as they arise.

The work flow from the user (I’m using my recent dashboard for manufacturing as an example):

  1. Create an administrator on the dashboard and log in
  2. Create departments
  3. Create a range of skills; whatever you want
  4. Create shift patterns defining the hours worked (it’s possible to give only fractions of an hour)
  5. Create users. Assign skills and shift patterns to users
  6. Define hard constraints for each department e.g. must be X number of people with Y skill at all times. Create soft constraints e.g. it’s desirable to always have Z number of people with a particular function available at all times
  7. Click solve whenever something changes in circumstances
  8. The dashboard provides a calendar that best meets all of the requirement

The dashboard screenshots are from a recent project that I built alone, so I don’t need any support, necessarily, on that. The problem is where the software actually runs. Ideally:

  1. The hospital IT department can set up a Virtual Environment on their internal servers on which the app can run. I will assist in any way necessary to get the app running; I can do this via skype so I don’t need to have any direct access myself
  2. The hospital IT department can host a version of PostgreSQL. In the interest of simplicity, I can just keep the database internal to the application, though, but it’s not ideal

Re: regulations:

  1. The dashboard will necessarily have to store information such as staff names, their skills, their shift patterns, and their infected status (i.e. cannot work for the next 7/14 days), in order to solve the problem. This is a GDPR issue, I believe, but which can be ameliorated by the hospital having it on their own server
  2. If (1) is satisfied, the dashboard would be available across the hospital network. I would need to use 3rd Party libraries such as Bootstrap (https://getbootstrap.com/) to build the interface. I don’t know if there are any regulations regarding such software being introduced to their network.

This is a big project and no guarantee that I can build it fast enough but I will give it a go.

Regards,

Josh

2 Likes

Hi Josh,

thanks for the comprehensive explanation and the screenshots!

I will forward this to our partners and hope we’ll get a quick response.

All the best,
Annika

1 Like

Hello Josh,

just to keep you updated: a team in Frankfurt is currently discussing whether they have the capacities to assist in development of the software. Moreover, we forwarded the message to other colleagues and still wait for feedback.

All the best,
Annika

2 Likes

Hi Annika,

Thanks for the update. Given that they’re actively discussing this, I assume that the restrictions/regulations might be a relatively simple barrier?

I have also sourced a number of people who are happy to assist in this project, myself. I’m hesitant to pull anyone in if we’re just going to hit a brick wall in terms of deployment. Also, I don’t want to distract the team in Frankfurt if I can just run this as a community project

Thanks,

Josh

@AnnikaC Any news from your side?