Vision: Enable as many doctors and clinics as possible to prescribe E-Rezepts to patients so that the patients don't need to fetch the prescriptions anymore from a physical location.
Mission: Develop an open source solution that is commercially supported together with typical actors around the E-Rezept and interested parties.
- The ere.health software should have two parts:
1.1. a virtual printer based on the IPP procotol RFC 8010 and RFC 8011
1.2. a browser application to review the E-Rezept and sign them in a batch run containing 1 and up to 100 E-Rezepts - It should require as little installation on the client PCs as possible at most a browser application and some configuration
- It should be compatible with all systems that can print a Muster 16 Formular
- It should be done at 2021-07-01
The image above shows the technical process of how the different components are working together and how the ere-health solution creates an e prescription. It uses the BPMN notation.
The diagram above shows the backend application which is a single quarkus jar communicating via a WebSocket with the frontend and via the SOAP interface with the connector (The IdP is missing on the picture)
The diagram above shows the internal structure of the whole systems. There are 3 ways to get data in:
- Using the VOS interface of the PVS systems
- Putting a PDF file in a folder where is it automatically detected
- Directly printing into the system using an IPP printer interface
Above the document service is shown. This will in the end generate the following pdf document that includes the prescription as an attachement:
The image above shows how the Gematik E-Rezept app scans a data matrix code produced by the ere.health document service.
The image above shows the two steps to create an e-prescription in the Fachdienst:
- Create a Task using the $create method
- Attach a signed KBV Bundle to the task using the $activate method
The image above shows how the E-Rezept service internally works.
The image above shows how the ere.health system implements the vau channel based on:
The image above shows the communication with titus.
The image above shows how the JAX-WS classes are generated from the official gematik api-telematik code. Which is forked by ere-health and a pom.xml is added.
The image above shows how the certificates are saved on the different cards.
The image above shows how the solution is managing multiple connectors.
The image above shows how the IdP dance works. Details here: https://github.com/gematik/api-erp/blob/master/docs/authentisieren.adoc#ablauf-des-authentifizierungsprotokolls
The diagram above shows how to distribute the different components to BElement.
- Use the lean framework BCE Design from Adam Bien
1.1. lit-html
1.2. redux toolkit
1.3. vaadin router (suggestion / optional)
1.4. rollup (for updates / optional)
The image above shows a screenshot of the frontend.
The diagram above shows how the VOS interface defined by the KBV is integrated into the ere.health front end:
- FESTLEGUNG DER SCHNITTSTELLEN NACH § 291D ABSATZ 1A SATZ 1 NR. 1 SGB V
- Simplifier Verordnungssoftware-Schnittstelle Gemäß § 291d Absatz 1a Satz 1 Nummer 1 SGB V
Here is a german YouTube video that shows how this works:
The diagram above shows the deployment options. In the first generation we are planning to deploy the ere.health software as normal installable service on the doctors personal computer.
The second generation is fully hostable in a specially secured data center with a site-2-site VPN connection. This makes it possible to also sign prescriptions from anywhere in the world as long as the card reader is connected somewhere to the internet and the Komfortsignatur is enabled.
The image above shows the implementation details of the SVG extractor. It takes a SVG file and extracts all the text that is contained by a rectangle on the fields layer into a java map.
The above image shows a generated debug pdf to see what text is extracted.
The above image shows how the template can be modified in inkscape.