BM04

Échanges et stockage de données

Jeremy Laforet

jeremy.laforet@utc.fr

19 Décembre 2017

Black White

Plan:

  • Introduction
  • Système d'Information Hospitalier
  • Formats d'échange de données
  • Introduction aux bases de données
  • Conclusions

Introduction

But du cours:
  • Avoir un aperçu des systèmes d'information hospitalier
  • Adresser la problématique de l'échange d'informations entre applications
  • Découvrir le principe et quelques concepts clés sur les bases de données

Système d'Information Hospitalier

Le système d'information d'un hopital devient un composant central du système de soin.
  • Système d’information destiné à faciliter la gestion de l'ensemble des informations médicales et administratives d'un hôpital.
  • Moyens conventionnels (Courriers, téléphone, fax) appartiennent au SIH.
  • Des ensembles d’activités (ou processus) peuvent bénéficier d’une informatisation

Objectifs d'un SIH

  • Améliorer la qualité des soins
    • Faciliter la communication et le partage
    • La continuité des soins
    • Traçabilité
    • Aide à la décision
  • Maitriser les coûts
    • Optimisation des ressources
    • Réduction de la durée de séjour
    • Diminution des frais de personnel
Reglementation
Dossier Patient
Dossier Patient

Formats d'échange de données

Problématique

  • Échanger des informations entre deux applications
  • L'aspect purement réseau est considéré acquis
  • Besoin de formats de donnés standardisés (au niveau application)

XML

eXtensible Markup Language (1996)

  • dérivé de SGML et extensible (ex: SVG, XHTML,...)
  • Langage à balises
  • Structure arboréscente

Exemple

								

   
     
     
     
   

								
							

JSON

JavaScript Object Notation (2002)

Document constitué de:
  • des ensembles de paires nom / valeur
  • des listes ordonnées de valeurs

Exemple

								
{
    "menu": {
        "id": "file",
        "value": "File",
        "popup": {
            "menuitem": [
                { "value": "New", "onclick": "CreateNewDoc()" },
                { "value": "Open", "onclick": "OpenDoc()" },
                { "value": "Close", "onclick": "CloseDoc()" }
            ]
        }
    }
}
								
							

DICOM

Digital Imaging and Communications in Medicine (1985)

  • Format de fichier et Protocol de transmission de données
  • Ensemble de champs (les pixels/voxels ne sont qu'un champ) :
    • Étiquette
    • (représentation de valeur)
    • longueur de la valeur
    • Valeur

Exemple

								
(0008, 0008) Image Type                  CS: ['ORIGINAL', 'PRIMARY', 'MPR']
(0008, 0016) SOP Class UID               UI: MR Image Storage
(0008, 0018) SOP Instance UID            UI: 0.0.0.0.1.8811.2.1.20010413115754.12432
(0008, 0020) Study Date                  DA: '20010316'
(0008, 0033) Content Time                TM: '143006'
(0008, 0050) Accession Number            SH: ''
(0008, 0060) Modality                    CS: 'MR'
(0008, 0070) Manufacturer                LO: 'GE Medical Systems'
(0008, 0080) Institution Name            LO: '                           '
(0008, 0090) Referring Physician's Name  PN: '   '
(0008, 1010) Station Name                SH: 'MRS1'
(0008, 1030) Study Description           LO: 'BRAIN'
(0008, 103e) Series Description          LO: 'FSE PD AXIAL OBL'
(0008, 1050) Performing Physician's Name PN: '     '
(0008, 1070) Operators' Name             PN: 'EC'
(0008, 1090) Manufacturer's Model Name   LO: 'SIGNA'
(0010, 0010) Patient's Name              PN: '             '
(0010, 0020) Patient ID                  LO: '123565'

								
							

HPRIM

Harmoniser et PRomouvoir l'Informatique Médicale

  • Norme française pour la transmission d'examens biologiques
  • Initialement entre laboratoires, puis vers le médecin prescripteur
  • Plusieurs sous-normes: hprim xml, hprim santé...

Exemple

								
H|~^\&|0.HPR||001~ORIGIN||ORU|||002~DESTINATION||P|H2.2~C|201301011200
P|1|01|02|02|JEAN~PIERRE||19500101|M||1 RUE DE LA PAIX~~PARIS~~75001|||||||||||||||~~UNIT
OBR|1||~001|AU~AU~L|R||201301011200||||N|||201301011200||UNIT~UNITE A~L
A|~UNIT~UNITE A~L|01 23 45 67 89|||||201301011200||ORIGIN|I
OBX|1|NM|AU~Acide urique~L|||µmol/L|||||I|||201301011200|BIOCH~80~AU~140~0~P
L|1
								
							

HL7

Health Level 7

  • Ensemble de standards internationnal
  • Couvre les aspects financiers, administratifs, logistiques...

Exemple

								
MSH|^~\&|MegaReg|XYZHospC|SuperOE|XYZImgCtr|20060529090131-0500||ADT^A01^ADT_A01|01052901|P|2.5
EVN||200605290901||||200605290900
PID|||56782445^^^UAReg^PI||KLEINSAMPLE^BARRY^Q^JR||19620910|M||2028-9^^HL70005^RA99113^^XYZ|260 GOODWIN CREST DRIVE^^BIRMINGHAM^AL^35209^^M~NICKELL’S PICKLES^10000 W 100TH AVE^BIRMINGHAM^AL^35200^^O|||||||0105I30001^^^99DEF^AN
PV1||I|W^389^1^UABH^^^^3||||12345^MORGAN^REX^J^^^MD^0010^UAMC^L||67890^GRAINGER^LUCY^X^^^MD^0010^UAMC^L|MED|||||A0||13579^POTTER^SHERMAN^T^^^MD^0010^UAMC^L|||||||||||||||||||||||||||200605290900
OBX|1|NM|^Body Height||1.80|m^Meter^ISO+|||||F
OBX|2|NM|^Body Weight||79|kg^Kilogram^ISO+|||||F
AL1|1||^ASPIRIN
DG1|1||786.50^CHEST PAIN, UNSPECIFIED^I9|||A
								
							

Introduction aux bases de données

Un Système de Gestion de Base de Données (SGBD) permet:

un accès et un stockage efficace, sûr, pratique et fiable à de grandes quantités de données persistantes par de multiples utilisateurs.

Plusieurs types de SGBD existent:

  • Hierarchiques
  • Relationnels
  • Post-relationnels

Bases de données relationnelles

  • Ensembles de relations sur les données
  • Langage de requetes (ex: Structured Query Language)
  • Schema: Description du format de la relation (fixe)
  • Instance: Ensemble de données/n-uplets

La base de données est formée d'un ensemble de relations (tables)

  • n-uplets : lignes de la relations
  • champs : colonnes de la relations
  • types : format des éléments d'un champ (float, chaine,...)

Algèbre relationnel

  • Une requete sur un ensemble de relation produit une nouvelle relation
  • Requete la plus simple: nom d'une relation

Tables exemples

 

Table Touristes
idTouristeNomTVilleSport
1MarcParisSki
2JeanToulouseTennis
3FrankMarseilleFootball
4ThomasLyonVoile
5MaxParisGolf
Table Sports
Sport
Ski
Cyclimse
Tennis
Football
Voile
Golf
Table Destinations
idTouristeVilleD
1Cannes
2Ibiza
4Tokyo

Select

  • Retourne certaines lignes en fonction d'une condition
  • \[\sigma_{condition} \quad Relation\]

\[ \sigma_{Ville='Paris'} (Touristes) = \]

idTouristeNomTVilleSport
1MarcParisSki
5MaxParisGolf

Project

  • Returne uniquement certaines colonnes
  • \[ \prod {}_{A_i,...,A_n} Relation \]

\[ \prod {}_{NomT,Ville} (Touristes) = \]

NomTVille
MarcParis
JeanToulouse
FrankMarseille
ThomasLyon
MaxParis

Cross-product - Produit cartesien

  • Fusionne deux relations (sans colonnes communes):
  • \[ Relation_a \times Relation_b \]

\[ Sport \times Destinations = \]

Natural Join

  • Returne toutes les combinaisons de lignes de deux relations ayant les mêmes valeurs pour les colonnes communes
  • \[ Relation_a \bowtie Relation_b\]

\[ Touristes \bowtie Destinations = \]

idTouristeNomTVilleSportVilleD
1MarcParisSkiCannes
2JeanToulouseTennisIbiza
4ThomasLyonVoileTokyo

Theta Join

  • Combine deux relations, mais avec une condition \(\theta\)
  • \[ Relation_a \bowtie_\theta Relation_b = \sigma_\theta (Rel_a \times Rel_b)\]

Exercices: Annales

Échange et stockage de données

Quel rôle n’est pas effectué par le nœud central du SIH d’un hôpital:

  • la conversion des données entres les applications
  • la sauvegarde des messages échangés par les applications
  • le diagnostic des patients

Échange et stockage de données

Quel est le format du fichier suivant:

    {
	"model": "test",
	"parameters": [ {
		"name": "p4", "distrib": {
	    "min": 0, "k": 2, "theta": 2, "type": "gamma" },
	"unit": "V"
	}]}
								    

Échange et stockage de données

Un hôpital reçoit un nouveau PET-Scan (Tomographie par Emission de Positrons), à priori quel est le format utilisé par les fichiers d’examens?

Bases de données et Pharmacie

Soit les relations suivantes:

Patients

NomPatient Age Sexe Service Chambre

Prescriptions

Médecin NomPatient Médicament Dosage

Dans les questions suivantes, vous donnerez l’expression d’algèbre relationnelle correspondant à chaque requête:

Le nom de tous les médecins ayant effectué une prescription:

\[ \prod {}_{Medecin}\quad Prescription\]

L’age des patients de Rhumatologie:

\[ \prod {}_{Age} \left( \sigma_{service=Rhumatologie}\quad Patients \right) \]

Toutes les chambres où il faut délivrer du Paracetamol:

\[ \prod {}_{Chambre}\quad \left( \sigma_{medicament=Paracetamol}\quad \left( Patients \bowtie Prescriptions\right) \right)\]

Conclusion

Liens

  • Qu'avez-vous appris?
  • Des questions?

Bonus

Bonus