The purpose of this app is to demonstrate mHealth use cases related to the Swiss electronic health record.
- Try out the latest version of this webapp: https://mhealth-prototyp.github.io/Basic-Prototyp/ (use
test@e.id
with passworttest
for mock login).
- 1 EPD Playground
- 2 Core functionalities
- 3 Components
- 4 Build & run app
- 5 Automatic deployment & hosting
- 5.1 GitHub Pages
- 6 Submit issues
- 7 License
- 8 Changelog
The EPD Playground is a low-threshold "test and play" implementation of a Swiss electronic health record for demonstrating key use cases of mHealth. It is a source of inspiration for developers, managers and healthcare personal in Switzerland. For easier testing, no authentication is needed on the EPD Playground. See more on the project page of the EPD Playground.
The Mobile Access Gateway is a FHIR endpoint that allows us to communicate with the EPD Playground using mHealth Profiles.
For accessing core functionalities, the util classes of the mHealth Component Library are used.
-
- epdPlaygroundUtils.ts: Implements query functions based on FHIR profiles PIXm, PDQm and MHD required for the profile "Mobile access to Health Documents (MHD) by using the Mobile Access Gateway. For details, see the library's documentation.
- fhirUtils.ts: Provides necessary SNOMED codes in FHIR format, mapping functions and a functionality to create FHIR resources, e.g. Document Bundle. For details, see the library's documentation.
- patientUtils: Provides methods for generating demo patient data. For details, see the library's documentation. Further, following services are available.
- storeService.ts: Provides functions for saving to local storage, default settings, locale, mockup patients, etc.
- i18n.ts: Handles interationalization. DE (de-CH) is the default and currently only language. Note: Each component has a string interface to be independant from a i18n setup.
The mHealth prototype app consists of encapsulated components for typically needed functions, which can be easily reused in other apps based on the same technology stack. All components take use of the utils provided by the mHealth Component Library.
Following components are used. For details concerning these components, see the library's documentation.
- AllergyUpload: Display a form for entering the data needed for CHAllergyIntolerance profile.
- AllergyView: Display the relevant data from a CHAllergyIntolerance resource.
- DocumentSearch: Displays a mask for documents on a given patient's EPR and emits a selected document as event.
- DocumentUpload: Displays a form for selecting a file to upload to a patient's EPR and provide additional metadata.
- LocalPatients: Mocks a set of local patients in a demo system.
- PatientSearch: Displays a mask for searching for patients that have an EPR and emits an event if a patient is found and selected.
- PatientView: Displays the data of a patient with the possibility of editing this data.
- RegisterPatient: Component for registering new patient data on the EPR.
npm i
npm run start
npm run build
npm run lint
npm run format
See Configuring quasar.conf.js.
When hosted on GitHub the app is being automatically deployed to the GitHub Pages by using the GitHub Actions function when a commit on the default branch "main" is performed. Configurations can be made in the deploy.yml file. The static web files produced from the build command is published here (domain pattern automatically generated): https://mhealth-prototyp.github.io/Basic-Prototyp/.
Things to consider:
Depending on your ssh token permissions you may only be able to edit files in the ".github" folder via browser.
When the app is served in a subdirectory (in this case: epd-use-case-prototypen), you need to set the variable "publicPath" in quasar.conf.js to the name of the subdirectory (the default value corresponds to your repository name).
- If it doesn't exist yet, push a new branch to your repository called "gh-pages"
- Open repository settings (you must be administrator) > Pages
- Select Source: "gh-pages", /root -> Save
Make sure the name of your default branch is listed as trigger in the main.yml file. Currently it uses the branch "main" to trigger the "build_and_deploy" job.
Follow this documentation (you must be administrator): Securing your GitHub Pages site with HTTPS.
Go to the issue site of the repository. github.com.
This software is published under the MIT License.
Version | Date | Changes |
---|---|---|
1.3.1 | 2023-10-05 | - Add license - Use newest version of component library - Update other dependencies |
1.3.0 | 2022-12-22 | - Add DashboardView for patient's allergy data - Use newest version of component library - Update dependencies |
1.2.0 | 2022-09-06 | - Add form for saving CH AllergyIntolerance to a patient record - Add popup window for displaying CHAllergyIntolerance documents - Update dependencies |
1.1.1 | 2022-07-20 | Update README and use new version of library. |
1.1.0 | 2022-07-19 | Use component library. |
1.0.1 | 2022-05-25 | - Hotfix: Download of file was not working when app running on https. - Add version number to About page. |
1.0.0 | 2022-05-23 | Initial version |