SORMAS-Project
SORMAS-Project copied to clipboard
S2S_Revision of the 'share requests' directory_ Part 1 [3]
Problem Description
The 'share request' directory has no filter options. That is a problem, because after a while the directory becomes confusing.
At the moment the 'share requests' directory only shows incoming share requests and not the outgoing ones. That is a problem, because the health departments have no option to get an overview about shared cases/contacts and cannot track the shared cases/contacts.
Also the layout of the overview table does not include necessary information's, that the health departments need to be able to work.
Proposed Change
- [ ] 1. Change the name from 'share requests' to 'share directory' (German: Übergabeverzeichnis)
- [ ] 2. Add the following filter options (layout and location are the same as in the case directory)
| Filter | Typ | Impact |
|---|---|---|
| Status | Dropdown | All - No records are filtered. Pending - Only shares with the value "Pending" in "Status" are displayed. Accepted - Only shares with the value "Accepted" in "Status" are displayed. Rejected - Only those shares are displayed that have the value "Rejected" in "Status". ~ Error - Only shares with the value "Error" in "Status" are displayed.~ "" is the default setting, which shows all entries |
-
[ ] 3. Delete the buttons 'Pending' and 'Accepted'

-
[ ] 4. Add the buttons 'Incoming' (German: Eingehend) in the place where the button 'Pending' was previously seen.

| Button | Incoming |
|---|---|
| Impact | Only the incoming shares are displayed |
| Comment | -This filter is active by default when the share directory is opened for the first time in the session. -The total number of results for this filter are displayed on the button if the button has been clicked/ is active. -Clicking on the button 'Incoming' should show all cases/contacts that where shared from another health department to the own health department (status can be: accepted and pending- if user clicks 'reject' the share has to disappear because of data protection reasons). |
- [ ] 5. Add the button 'Outgoing' (German: Ausgehend) in the place where the button 'Accepted' was previously seen.

| Button | Outgoing |
|---|---|
| Impact | Only the outgoing shares are displayed |
| Comment | -The total number of results for this filter are displayed on the button if the button has been clicked/ is active -Clicking on the button 'Outgoing' should show all cases/ contacts that where shared with another health department (status can be: accepted, pending, revoked and rejected) |
- [ ] 6. Change the configuration of the button 'All': This button should include all 'Incoming' cases/contacts and all 'Outgoing' cases/contacts.

| Button | All |
|---|---|
| Impact | Both incoming and outgoing shares are displayed |
| Comment | The total number of results for this filter are displayed on the button if the button is clicked |
- [ ] 7. The layout of the overview table should include the following columns:
| Share ID (German: Übergabe ID) | Share Date | Typ | From / To (Counterpart) |
Sender Name | Ownership handed over | Status | Direction | Comment | ||
|---|---|---|---|---|---|---|---|---|---|---|
| eye button A double click or a single click on the "eye" button opens the preview of a share (is already implemented) |
First 6 sign of Share ID (already implemented) | The date of the share, localised according to current language (already implemented) | 'Case' or 'Contact' is shown (already implemented) | Name of other counterpart for example 'LK Würzburg' if 'LK Würzburg' is the sender organisation or received organisation | Name of Person who has initiated the share (Format: Last name, First name) | 'Yes' or 'No' is shown (already implemented) | Current status of the share 'accepted' 'pending' or 'rejected'. Is updated depending on what the target system decides (if the share is outgoing) or what the source system decides (if the share is incoming). | 'Incoming' or 'Outgoing'. | Accept and Reject button as they are already implemented (1.73.1) | Text field as already implemented (1.73.1) |
- [ ] 7.1 All columns can be sorted in ascending and descending order.
Acceptance Criteria
Implementation Details
Additional Information
@JaquM-HZI
@SahaLinaPrueger It is not possible to have both incoming and outgoing requests at the same time because incoming and outgoing requests are stored in different database tables and those can't be merged.
Is it ok if we remove the 'All' option and the direction column from the table?
That would be a pity for the workflow and for the consistency of the sormas UI. Do we have another option?
If we do not find another solution: We can remove the direction column from the table if the buttons "incoming" and "outgoing" are fixed when scrolling down. And maybe we have to implement the column one day, if the column is necessary for showing this column in an excel file, if we implement an export one day. @Jan-Boehme what do you think?
Another point (to clarify): The column "From / To (Counterpart)" shows the server instance name not the jurisdiction, because we decided yesterday to share with server instance not with jurisdiction.
To make "incoming" and "outgoing" buttons fixed I can:
- Similar to case view modes:

- With tabs like:

Which one would you prefer?
@SahaLinaPrueger @MateStrysewske @MartinWahnschaffe @markusmann-vg
@leventegal-she Please implement option Nr.1 so it is consistent across all directories. The column "Direction" can be removed if we do not have an "All" view.
Just for me to better understand the problem here. Why exactly are we not able to show information in one table in the UI that is stored in different database tables? Is this a Vaadin thing?
If we implement 1 or 2 the filter option "status" doubles itself with the buttons "pending" and "accepted".
That is correct because we have the filter for "Status" we do not need the buttons "Pending" and "Accepted" anymore. They can be removed.
@leventegal-she So please implement Nr. 1 and remove the buttons "all", "pending" and "accepted".
The filter status stays, so please implement
- [ ] 2. Add the following filter options (layout and location are the same as in the case directory)
| Filter | Typ | Impact |
|---|---|---|
| Status | Dropdown | All - No records are filtered. Pending - Only shares with the value "Pending" in "Status" are displayed. Accepted - Only shares with the value "Accepted" in "Status" are displayed. Rejected - Only those shares are displayed that have the value "Rejected" in "Status". "" is the default setting, which shows all entries |
And thank you very much for developing Nr. 1 and Nr. 2 !
@Jan-Boehme
Just for me to better understand the problem here. Why exactly are we not able to show information in one table in the UI that is stored in different database tables? Is this a Vaadin thing?
The data structure for incoming and outgoing requests are different and is not possible on the backend to query more than one database table at once and have lazy loading with sort. As there will be a lot of requests it is not performant if we load both tables fully and manage sorting and and pagination in the memory.
@AndyBakcsy-she Can you add the correct milestone here? I'm not certain if this should go into 1.75 or 1.76?
Validated ticket on the latest deployed version of sormas on the test instances.
@leventegal-she Tested this on the nightlies:
First of all i really appreciate and like that for outgoing shares it is implemented that they can be revoked out of the share directory although this was not requested.
Second: I also like that although the specification said that on incoming share request the rejected and revoked shares should NOT be shown, they are shown, but you implemented that when you open the 'share details view' nothing is shown. 1.: Could you implement a text here: 'Due to privacy reasons the details cannot be displayed because the share request has been revoked or rejected'? Above or under the empty table? And: I am not sure, if it is okay, that on the share directory the name of the sender is written (due to data protection and so on). I will figure this out next week. 2.: IF this is a problem, can you implement, that instead of the 'sender name' (like admin) the text 'confidential' is shown? (only for incoming shares with status rejected or revoked). That would be amazing!
Note: Please don't implement anything yet, I still have to discuss with my team on Monday, but an answer about what is theoretically feasible would be great.
status can be: accepted and pending- if user clicks 'reject' the share has to disappear because of data protection reasons
@leventegal-she Unfortunately we have to implement this like it was specified due to data protection reasons. So for incoming share requests: As soon as the share request is rejected by target system or revoked by source system the share request has to be deleted completely -also in the database- . And nothing should be visible on the UI.
If possible to implement: For 'incoming view': The filter with the dropdown should not include 'rejected' and 'revoked'.
Validated on test.de1 & test.de2 on Version: 1.76.0-SNAPSHOT (378ad16). Summary of elements implemented/changed:
- Title 'Share requests' changed to 'Share Directory' (EN+DE)
- 'Status' filter dropdown contains:
- for Incoming: -
/ Pending / Accepted - for Outgoing: -
/ Pending / Accepted / Rejected / Revoked
- Buttons Pending' and 'Accepted' were removed
- -5. 'Incoming'/'Outgoing' filters implemented as buttons (Incoming = Default)
- Buttons text {'Eingehend'/'Ausgehend') not yet translated for users having DE language
- 'All' button removed
- Table Layout fields:
- ShareID/CreationDate/Type/From-To(ServerName)/SenderName/HandOver/Status/
(for revoke button)/Comment - Direction column removed
Buttons text {'Eingehend'/'Ausgehend') not yet translated for users having DE language
Translations are not yet available on crowdIn. Please provide.
Line does not have the same height everywhere and layout changes greatly depending on filter setting. If it is possible, it would be great if the layout remains the same. Concerns incoming and outgoing.

@leventegal-she And another thing: Why is the column 'creation date' not renamed to 'share date' as specified? We found 'creation date' confusing because it was not clear what the word 'creation' referred to, so we thought 'share date' would be better. Did you also find 'share date' misleading and 'delivery date' or something similar would be better? Or was it just forgotten to change?
@leventegal-she: open task for this ticket, before it can be closed. Additional requirements will be taken care of in a new ticket
- [x] Rename column 'creation date' to 'share date'
@leventegal-she @markusmann-vg I guess changing the caption of the creationDate field is sufficient?
@leventegal-she @markusmann-vg I guess changing the caption of the creationDate field is sufficient?
OK.
For the alignment issue the only solution I see is to set fixed size on some of the columns so there will be less changes when filtering the grid
reverified ticket after deployment on test-de2 environment
@leventegal-she @AndyBakcsy-she Buttons INCOMING and OUTGOING are not yet translated on UI. Can you please check this?
@SahaLinaPrueger I pushed a fix for it