DRAFT: Route planning/handover support#122
Conversation
|
Looking at the description I am not sure I see the need for a separate workflow for Handovers, at the end of the day, the destination is the Handover point, the rider will go no further. For the handover rider his job starts from the Handover point. Perhaps when creating Handover jobs, n job records need to be created for as many destinations as there are, 2 by default. |
|
That workflow does work for the time being, but I think there are some benefits to adding relay support:
I also think the map feature would be a very nice one for visualising relays and seeing the distances involved. |
Ok, I can see a few use cases in your response there. Does the code support all of those use cases? |
They can be supported. This will be a good starting point I think. Looking up historical records is high up on my list of things to do too. I might pick that up quite soon. |
|
Not really sure if I should comment, way too detached now of the plan or the schedule or the status of any go live at Freewheelers.
Happy to get involved but need to know the structure now, it drifted away from me
Ian Hunt
Chair – SERV Herts and Beds
From: Peter SJ Taylor ***@***.***>
Sent: 30 January 2023 11:40
To: platelet-app/platelet ***@***.***>
Cc: ianphunt58 ***@***.***>; Mention ***@***.***>
Subject: Re: [platelet-app/platelet] DRAFT: Route planning/handover support (PR #122)
That workflow does work for the time being, but I think there are some benefits to adding relay support:
* Overall a better user experience, as it's easier to think of one job having multiple steps, rather than having completely separate jobs
* Better tracking: eventually I want to add a view that tracks the steps of a job. For external users they can see where their delivery is or has been. For volunteers they can look up a job in the past and see exactly each step of the delivery, which would be very difficult if the jobs were separate.
* No duplication of data. A job has the same urgency, contact details and time of call. Maintaining two separate jobs would mean trying to duplicate and synchronise any changes between those records. The drop off time would be the same as the pick up time of the next.
I also think the map feature would be a very nice one for visualising relays and seeing the distances involved.
Ok, I can see a few use cases in your response there. Does the code support all of those use cases?
—
Reply to this email directly, view it on GitHub <#122 (comment)> , or unsubscribe <https://github.com/notifications/unsubscribe-auth/AYEX27YKVHPHXDZSB6CH4GTWU6SADANCNFSM6AAAAAATHAHZHQ> .
You are receiving this because you were mentioned. <https://github.com/notifications/beacon/AYEX273UDKSQVIJPVGGLYF3WU6SADA5CNFSM6AAAAAATHAHZHSWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTST6OI4Y.gif> Message ID: ***@***.*** ***@***.***> >
|
|
I like the idea of being able to see a point by point tracking/ progress update screen and for the rider only to see their leg of the journey instead of the entire run to save confusion. |
|
There are two distinct types of relays, relays that are wholly internal to the one blood bike group and a relay with another blood bike group, and the two distinct relays could feasibly be required for a single job. Internal Relays If there is but one job and a "handover" option what does the first rider do when they have returned home? They can't mark the job as rider home as they do for a single rider job as this will potentially "Complete" the job before the items have reached the final destination. Sometimes, it is required to have three or more legs of an internal relay, this would require two lots of handover buttons on a single job. Would the number of handovers be configurable by the coordinators? External Relays Exported Data |
User storiesCoordinators
Riders
Admins
@MajesticCake @Joetooker95 @FlashJackFromGungagai please let me know if you have any feedback or more suggestions for user stories. |
Key persons and timelinesCoordinatorsThe initial coordinator is the key person and primary contact for all involved in the process. They decide where handovers take place while their group is responsible for the item, who does the delivery, and whether or not it goes to another blood bike group. They also receive the initial call from the NHS staff member. Each involved blood bike group will have a coordinator. Typically the coordinator for each blood bike group will contact next coordinator required in the chain until delivery happens. The coordinator responsible for the current leg decides where handovers take place and who will take the item. NHS staff memberThe NHS staff member is the key customer. They call the blood bike group telephone number and are put in touch with the coordinator. Delivery details are exchanged with the coordinator, who then accepts or rejects the request. RidersThere are two or more riders involved in a handover.
Potentially there are as many riders as needed in as many groups until the item is delivered. Occasionally deliveries have been made cross country with more than two groups. Assuming three groups involved with internal handovers to cover the long distance, as many as 6 riders could be involved from start to finish. Sender and recipientTypically someone will be at the pick up location and the drop off location to send and receive the delivery. The name of the sender and recipient is taken on pick up and delivery. Assuming that all riders are on the system, it may not be required to record the name of the rider at each handover. |
Adds a tab to the task overview page for Routes/Handovers. Adds general route planning capabilities.
Can be used for internal journeys or originating hospitals when collaborating with other groups.
Add a handover point to the route and set the location from the directory.
Click the map to expand for a maps view.
Each handover has these data points:
Status could be PENDING (assigned but not yet picked up) > PICKED UP > DROPPED OFF > COMPLETED (rider home).
The first and last elements in the list are the first pick up and final delivery points.
Draft model for the schema:
Also add to Task model:
handovers: [Handover] @hasManyTaskAssignee model:
Piggybacking on the TaskAssignees model to record assigned riders to a handover, by adding a Handover relation. This means the dashboard only has to look at one datasource for displaying all riders tasks on their dashboard.
This would change the Task to non-required (on master current it is a required field). Could also add a new role to Role enum:
HANDOVER.I had considered using the same Task model for handovers instead of creating a new model, however this would mean duplicating data to keep records consistent (priority, contact information). It would also add unnecessary data points like time picked up, time dropped off, when only time of handover is required.
Uncertain how to handle assignments to the task itself, as depending on whether there are handovers, a rider needs to either pick up a job and take it to the delivery destination, or take it to the next handover point.
If a rider is assigned to the task their dashboard will display the task as if they were taking it the whole way. If assigned to the rider as a handover it'll show just their leg of the trip.
It could be that we should adopt the same type of assignment record for all rider jobs, regardless of if the Task has any handovers or not.
Code is still a work in progress and this is a draft pull request.
@ianphunt58 and @petersjtaylor can you provide feedback please?