Alaaeddin ALMAJJO | Ayman DOULKOM | Pape THIAM |
22001993 | 22008795 | 22009010 |
@aladinMJ | @ayman-h226 | @mayel15 |
[email protected] | [email protected] | [email protected] |
Ce projet consiste à développer différentes applications, utilisant les API Kafka-Client et/ou le Framework SpringBoot, pour la manipulation de fichiers HL7 de type ADT. L'objectif est de lire, parser et formater ces fichiers en format JSON, puis de les transporter via un topic Kafka vers une base de données PostgreSQL.
L'architecture comprend plusieurs modules, notamment des producteurs et des consommateurs Kafka, ainsi qu'une application console permettant de requêter la base de données. Les échanges se font via des flux d'événements Kafka.
Les principales fonctionnalités incluent:
- la lecture des fichiers HL7, leur conversion en JSON
- leur envoi via Kafka, l'intégration dans la base de données
- la possibilité de requêter la base de données via une console texte des commandes prédéfinies.
Les livrables comprennent :
- le code source des différents modules
- le paramétrage du service Kafka
- le docker-compose
kafka-init/docker-compose.yml
adapté - le script sh
kafka-init/create-topics.sh
pour la creation des topics Kafka - le script SQL
script-sql/database.sql
pour la création de la base de données - le rapport de projet répondant aux questions posées
- et ce
README.md
contenant les informations sur le projet et l'équipe de développement
- Cloner le projet avec
git clone https://github.com/mayel15/projet-intergiciel.git
- Suivre les instructions du
MIRTH450_docker/README.txt
pour configurer Mirth avecDocker
- Lancer Mirth et importer le channel
mirth/Export_channel_mirth.xml
puis configurer les cheminsIN
etOUT
des fichiers HL7 (mirth/echantillonshl7.zip
) - Exécuter le script
script-sql/database.sql
dans la base de données (avecDBeaver
par exemple) pour la création des tables - Ouvrir les deux sous projets (dossiers) séparément
Pr1
etCs1
; et les lancer séparément - Ainsi, les données traitées avec Mirth sont mis dans les tables SQL depuis le
Cs1
- Exécuter dans le dossier
kafka-init
du projetdocker-compose up -d
qui va permettre de démarrer mirth connect (au port8444
), une base de données postgresql version 16, la database est stockée en local, elle est accessible via le port5435
en externe, et va créer les topicstopic1
,topic2
,topic3
dans Kafka - Exécuter le script
script-sql/database.sql
dans la base de données pour la création des tables en décommentant la partie de peupleument de la database, si c'est pour travailler de manière indépendante des données de récupéreées depuis mirth - Ouvrir les deux sous projets (dossiers) séparément
consumer2-producer3
etproducer2-consumer3-cs
; et les lancer séparément - La console text sera disponible au niveau du run du projet
producer2-consumer3-cs
get_all_patients
: retourne tous les patientsget_patient_by_pid
: retourne l'identité complète d'un patient par son identifiant PID-3- get_patient_by_name : retourne l'identité d'un patient par son nom
get_patient_stay_by_pid
: retourne les séjours d'un patient par son identifiant PID-3get_patient_movements_by_sid
: retourne tous les mouvements d'un patient par le numéro de séjourexport
: exporte les données de la base de données en JSON dans un fichierhelp
: affiche la liste des commandes et une explication comme ci-dessusexit
: quitte la console