[JAVA] Introduction à EHRbase 1 - Présentation et maintenance de l'environnement

introduction

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.


Environnement de développement EHRbase

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.


Présentation de EHRbase


Ce que vise EHRbase


Gouvernance organisationnelle EHRbase


Architecture EHRbase

ehrbase_platform.png

Christian Chevaley, EHRbase, the 3rd openEHR Asia summit, online, July 24, 2020.


EHRbase et ses environs

ehrbase_context.png

Christian Chevaley, EHRbase, the 3rd openEHR Asia summit, online, July 24, 2020.


EHRbase server


EHRbase SDK


Construction d'environnement de développement


Avant d'installer EHRbase

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.


Installation de EHRbase

** Important **: Veuillez noter que la procédure officielle peut entraîner l'arrêt de son fonctionnement.

  1. Créez un réseau docker
  2. Configuration d'un conteneur avec PostgreSQL et les plugins associés
  3. Créez un conteneur d'application EHRbase

Créer un réseau docker

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

Configurer un conteneur avec PostgreSQL et les plugins associés

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

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

Créer un serveur EHRbase

$ 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
$ mvn package
$ java -jar application/target/application-0.13.0.jar

Confirmation de l'API

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

Enregistrement DSE

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"
}

Enregistrement du modèle

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

Introduction à EHRbase 1 - Présentation et maintenance de l'environnement
Introduction à PlayFramework 2.7 ① Présentation
Introduction à l'API EHRbase 2-REST
[Introduction à Java] À propos des déclarations et des types de variables
Introduction à Ruby 2
Introduction à web3j
Introduction à Micronaut 1 ~ Introduction ~
[Java] Introduction à Java
Introduction à la migration
Introduction à Apache Beam (1) ~ Lecture et écriture de texte ~
Introduction à Java
Introduction à Doma
Introduction aux fichiers JAR
Introduction à Ratpack (8) - Session
Introduction à l'arithmétique des bits
Introduction à Ratpack (6) - Promesse
Introduction à Ratpack (9) --Thymeleaf
Introduction à la mise en page Android
Introduction aux modèles de conception (introduction)
Introduction à la programmation pratique
Introduction à la commande jar
Introduction à Ratpack (2) -Architecture
Introduction au style lambda
Introduction à la commande java
Introduction au développement de Keycloak
Introduction à la commande javac
Introduction à Effective Java en pratiquant et en apprenant (modèle Builder)