Cet article est le contenu de la conférence introduite lors du 2ème atelier openEHR en 2020. EHRbase est l'une des implémentations logicielles open source de la spécification openEHR. Cette fois, nous présenterons l'architecture de EHRbase et comment créer un environnement de développement.
Le contenu suivant est construit en se référant aux matériaux suivants et au mémo du professeur Eiyoshi Kimura de l'Université d'Ehime.
Répertorie les principaux composants logiciels utilisés par EHRbase comme environnement de développement. L'environnement est construit avec docker, mais veuillez l'installer si nécessaire.
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
Cette fois, nous allons créer l'environnement avec Docker, nous allons donc préparer l'environnement pour que docker puisse fonctionner. docker-engine et docker-compose fonctionneront avec des versions relativement nouvelles, mais pas avec des versions plus anciennes autour de la ver 1.7.
** Important **: Veuillez noter que la procédure officielle peut entraîner l'arrêt de son fonctionnement.
Créez un réseau docker pour EHRbase avec la commande suivante
$ docker network create ehrbase-net
Vérifiez auprès du réseau docker ls et si ce qui suit s'affiche, c'est OK.
$ 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
Si vous utilisez déjà PostgreSQL, vous pouvez l'utiliser tel quel, mais vous devez installer le plug-in.
$ 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
Si make install check donne une erreur, créez un ROLE avec le même nom que votre nom d'utilisateur Linux dans PostgreSQL et accordez l'autorisation de création de base de données.
Installez 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
Paramètres d'environnement Maven
Modifiez pom.xml si nécessaire.
Construction du package
$ mvn package
$ java -jar application/target/application-0.13.0.jar
Si cela semble fonctionner, vous verrez une liste d'API construites avec Swagger-ui. L'utilisateur avec l'authentification de base est ehrbase-user et le mot de passe est SuperSecretPassword.
http://localhost:8080/ehrbase/swagger-ui.html
Enregistrons le DSE à l'aide de Postman. Utilisez l'exemple JSON suivant du didacticiel officiel.
{
"_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"
}
Créez un modèle à l'aide d'un logiciel d'édition de modèle tel que Ocean Template Designer. Une fois créé, sortie au format modèle opérationnel.
Après avoir vérifié le contenu du fichier XML, enregistrez-le auprès de Postman conformément à l'API.
Le fichier enregistré peut également être visualisé à l'aide de Postman.
La prochaine fois, nous enregistrerons, lirons, mettrons à jour et supprimerons les données (CRUD) basées sur ce modèle.
Recommended Posts