Dieser Artikel ist der Inhalt der Vorlesung, die auf dem 2. openEHR-Workshop im Jahr 2020 vorgestellt wurde. EHRbase ist eine der Open-Source-Softwareimplementierungen der openEHR-Spezifikation. Dieses Mal werden wir die Architektur von EHRbase und das Erstellen einer Entwicklungsumgebung vorstellen.
Die folgenden Inhalte beziehen sich auf die folgenden Materialien und das Memo von Professor Eiyoshi Kimura von der Ehime University.
Listet die wichtigsten Softwarekomponenten auf, die von EHRbase als Entwicklungsumgebung verwendet werden. Die Umgebung wird mit Docker erstellt, aber bitte installieren Sie sie bei Bedarf.
Christian Chevaley, EHRbase, the 3rd openEHR Asia summit, online, July 24, 2020.
Christian Chevaley, EHRbase, the 3rd openEHR Asia summit, online, July 24, 2020.
EHRbase server
EHRbase SDK
Dieses Mal werden wir die Umgebung mit Docker erstellen, damit wir die Umgebung so vorbereiten, dass Docker funktioniert. Docker-Engine und Docker-Compose funktionieren mit relativ neuen Versionen, jedoch nicht mit älteren Versionen um Version 1.7.
** Wichtig **: Bitte beachten Sie, dass das offizielle Verfahren dazu führen kann, dass es nicht mehr funktioniert.
Erstellen Sie mit dem folgenden Befehl ein Docker-Netzwerk für EHRbase
$ docker network create ehrbase-net
Wenden Sie sich an das Docker-Netzwerk. Wenn Folgendes angezeigt wird, ist dies in Ordnung.
$ docker network ls
NETWORK ID NAME DRIVER SCOPE
2c6a5b55365a bridge bridge local
4b82d2167e35 ehrbase-net bridge local
5ee3d71c037f host host local
31ab9819a783 none null local
Wenn Sie PostgreSQL bereits verwenden, können Sie es so verwenden, wie es ist, aber Sie müssen das Plug-In installieren.
$ docker run --name ehrdb --network ehrbase-net -e POSTGRES_PASSWORD=postgres -d -p 5432:5432 ehrbaseorg/ehrbase-postgres:latest
$ sudo apt install gcc bison flex postgresql libpq-dev postgresql-server-dev-all openjdk-11-jdk maven
temporal_tables
$ git clone https://github.com/arkhipov/temporal_tables.git
$ cd temporal_tables
$ make
$ sudo make install
$ make installcheck
Wenn bei make install check ein Fehler auftritt, erstellen Sie in PostgreSQL eine ROLLE mit demselben Namen wie Ihr Linux-Benutzername und erteilen Sie die Berechtigung zum Erstellen der Datenbank.
Installieren Sie jsquery
jsquery
$ git clone https://github.com/postgrespro/jsquery.git
$ cd jsquery
$ make USE_PGXS=1
$ sudo make USE_PGXS=1 install
$ make USE_PGXS=1 installcheck
$ docker run --name ehrbase --network ehrbase-net -d -p 8080:8080 -e DB_URL=jdbc:postgresql://ehrdb:5432/ehrbase -e DB_USER=ehrbase -e DB_PASS=ehrbase -e SYSTEM_NAME=local.ehrbase.org ehrbaseorg/ehrbase:latest
$ docker exec -i -t ehrbase /bin/bash
$ git clone https://github.com/ehrbase/ehrbase.git
$ cd ehrbase
$ sudo -u postgres psql -e < ./base/db-setup/createdb.sql
Maven-Umgebungseinstellungen
Bearbeiten Sie ggf. pom.xml.
Paket erstellen
$ mvn package
$ java -jar application/target/application-0.13.0.jar
Wenn es zu funktionieren scheint, sehen Sie eine Liste der mit Swagger-ui erstellten APIs. Der Benutzer mit Standardauthentifizierung ist ehrbase-user und das Kennwort lautet SuperSecretPassword.
http://localhost:8080/ehrbase/swagger-ui.html
Registrieren wir EHR mit Postman. Verwenden Sie das folgende JSON-Beispiel aus dem offiziellen Tutorial.
{
"_type": "EHR_STATUS",
"subject": {
"external_ref": {
"id": {
"_type": "GENERIC_ID",
"value": "ins01",
"scheme": "id_scheme"
},
"namespace": "ehr_craft",
"type": "PERSON"
}
},
"other_details": {
"_type": "ITEM_TREE",
"items": []
},
"is_modifiable": "true",
"is_queryable": "true"
}
Erstellen Sie eine Vorlage mit einer Vorlagenbearbeitungssoftware wie Ocean Template Designer. Einmal erstellt, Ausgabe im Betriebsvorlagenformat.
Nachdem Sie den Inhalt der XML-Datei überprüft haben, registrieren Sie sie gemäß der API bei Postman.
Die registrierte Datei kann auch mit Postman angezeigt werden.
Das nächste Mal werden wir CRUD-Daten basierend auf dieser Vorlage registrieren, lesen, aktualisieren und löschen.
Recommended Posts