@smals-belgium-shared/vidis-delivered-medication-detail 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,132 @@
1
+ # Vidis delivered medications detail web component
2
+ ## Context
3
+
4
+ VIDIS (Virtual Integrated Drug Information System) integrates several sources and systems:
5
+ - [Recip-e][Recip-e] prescriptions
6
+ - [Vitalink][Vitalink] / [RSW][RSW] / [RSB][RSB] medication scheme
7
+ - [Vitalink][Vitalink] / [RSW][RSW] / [RSB][RSB] diary notes
8
+ - [Farmaflux][Farmaflux] delivered medications
9
+
10
+ In order to be reused by other software vendors, the VIDIS front-end is now split into [web components][Web component explanations].
11
+ The container application will have to provide the input parameters to provision the web component with a working context.
12
+
13
+ ## Prerequisites
14
+
15
+ - A supported browser [by our Web Components](https://angular.dev/reference/versions#browser-support) AND [by eHealth][Supported browsers]
16
+ - A valid VIDIS token. It could be obtained from [eHealth Token eXchange][eHealth IAM] service. This token must be refreshed periodically in order to be used by VIDIS
17
+
18
+ ⚠️ IE (internet explorer) is not supported. You can include [polyfill scripts ("polyfills")](https://www.webcomponents.org/polyfills) for the browsers that you must support.
19
+
20
+
21
+ ## Features
22
+
23
+ This web component provides users with a comprehensive prescription details. The component displays important information about a given delivered medication, such as:
24
+ - **Medication Name:** The name of the medication delivered to the patient.
25
+ - **Posology:** The prescribed dosage regimen, including the frequency, amount to be taken, and any other special instructions that might be relevant.
26
+ - **Delivery Date:** The exact date when the medication was delivered, making it easier to track when the medication was received.
27
+ - **Quantity:** The number of units or dosage forms delivered (e.g., tablets, bottles), allowing users to verify they have received the correct amount.
28
+ - **Patient Name:** In cases where the medication is delivered to someone on behalf of another individual, the patient's name is clearly highlighted to make this distinction clear. This is crucial to avoid confusion, especially for family members or caregivers picking up medications on behalf of the patient. The clear highlight of patient names for those receiving medications on behalf of others reduces the risk of medication mix-ups or confusion, ensuring that each medication reaches the correct recipient.
29
+ - **Leaflet:** The patient information leaflet or any other documentation that accompanies the medication. This is useful for patients who need more detailed guidance on how to take the medication, potential side effects, and other important safety information.
30
+ - ...
31
+
32
+ ## Inputs
33
+
34
+ | Name | Mandatory | Possible values | Description |
35
+ |--------------|-----------|------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
36
+ | `language` | true | `en`, `de`, `fr`, `nl` | The language holds the current language as a value, which means it can change over time if the user changes his/her preferred language. The web component adapts the translations based on the value set. The values of the language property are defined in the Language enum. |
37
+ | `configName` | true | `acc`, `prod` | Name of the configuration the application and the components are being deployed to. |
38
+ | `services` | true | N/A | Set of services to be consumed by the component. see [USAGE](#Usage). |
39
+ | `dguid` | true | N/A | Delivered medication dguid to display. |
40
+
41
+
42
+
43
+
44
+
45
+ ## Usage
46
+
47
+ ```html
48
+ <!DOCTYPE html>
49
+ <html>
50
+ <head>
51
+ <meta charset="utf-8">
52
+ <title>Vidis delivered medications detail web component</title>
53
+ <meta name="viewport" content="width=device-width, initial-scale=1">
54
+ <script type="module" src="delivered-medication-detail/delivered-medication-detail.js"></script>
55
+ <link rel="stylesheet" href="delivered-medication-detail/delivered-medication-detail.css">
56
+ </head>
57
+ <body>
58
+ <script>
59
+ const wc = document.createElement("vidis-delivered-medication-detail");
60
+
61
+ // Common inputs for all VIDIS web components
62
+ // Refer to https://www.npmjs.com/package/@smals-belgium/myhealth-wc-integration for more details
63
+ wc.language = 'en'
64
+ wc.configName = 'acc';
65
+ wc.services = {
66
+ cache: {
67
+ get: (key) => (undefined),
68
+ set: (key, value) => {}
69
+ } ,
70
+ getAccessToken: async (audience) => "TODO : the eHealth OAuth2 JWT token.",
71
+ registerRefreshCallback: () => { }
72
+ }
73
+
74
+ // Example on how to provide extra input parameter(s), if needed / requested by the component
75
+ // wc["attributeName"] = "myValue"
76
+
77
+ // Example on how to listen to output parameter(s)
78
+ wc.addEventListener("eventName", (event) => {
79
+ console.log(`event:`, event)
80
+ const params = event.detail;
81
+ console.log('param:', params);
82
+ })
83
+
84
+ document.body.append(wc);
85
+ </script>
86
+ </body>
87
+ </html>
88
+ ```
89
+
90
+
91
+ ## Versioning
92
+
93
+ This project follows [Semantic Versioning][Semver]. Each release is categorized by major, minor, and patch updates. Significant changes that may break existing integrations will be introduced with major versions. Please check [CHANGELOG.md](CHANGELOG.md) file for more info.
94
+
95
+ ## Accessibility
96
+
97
+ We are committed to making our web components accessible to all users. Our components are:
98
+ - Screen reader friendly : Designed to work well with popular screen readers (Talkback / VoiceOver / ...)
99
+ - Responsive : Adapt to various screen sizes (desktop / mobile).
100
+ - Compliant: Meet [accessibility criteria][OFAC], including ARIA labels and keyboard navigation
101
+
102
+ ## Customizations
103
+
104
+ The web components are build with [Angular Material][Angular Material]. The styling of it is overwritten by the “My Health” portal, by there [design kit][MHDK].
105
+
106
+ ## Troubleshoots
107
+
108
+ If you encounter issues while using the web components :
109
+
110
+ - Ensure that your token is valid and hasn't expired. For assistance, contact [eHealth][eHealth IAM].
111
+ - Ensure you are using the latest version of the web components
112
+ - Ensure you are using a supported browser and that you have cleared your cache if issues persist.
113
+ - If none of the above, please contact mijngeneesmiddelen@riziv-inami.fgov.be / mesmedicaments@riziv-inami.fgov.be
114
+
115
+ ## License
116
+
117
+ [GNU Lesser General Public License v3.0 or later](https://spdx.org/licenses/LGPL-3.0-or-later.html)
118
+
119
+ [Recip-e]: https://recip-e.be/
120
+ [Vitalink]: https://www.vitalink.be/
121
+ [RSW]: https://www.reseausantewallon.be/
122
+ [RSB]: https://brusselshealthnetwork.be/
123
+ [Farmaflux]: https://www.farmaflux.be/
124
+ [Web component explanations]: https://www.webcomponents.org/introduction
125
+ [eHealth IAM]:https://www.ehealth.fgov.be/ehealthplatform/nl/service-i.am-identity-access-management
126
+ [MHDK]: https://www.npmjs.com/package/@myhealth-belgium/design-kit
127
+ [Angular Material]: https://material.angular.io/
128
+ [OFAC]: https://openfed.github.io/AccessibilityCheck/
129
+ [Semver]: https://docs.npmjs.com/about-semantic-versioning
130
+ [MHWCI]: https://www.npmjs.com/package/@myhealth-belgium/webcomponent-integration
131
+ [Supported browsers]: https://www.ehealth.fgov.be/nl/page/hoe-toegang-krijgen-tot-applicaties
132
+