Modèle de données et dictionnaire principal¶
Ce référentiel décrit les entités principales d'ePT 7.6.21 et une sélection de champs métier. Il ne constitue ni un schéma physique complet ni un dictionnaire de tous les champs de chaque programme. Le référentiel des colonnes physiques décrit les 1 156 colonnes d'une base de référence à cette version. Il inclut leurs types, valeurs par défaut et règles de nullabilité.
Relations logiques¶
erDiagram
data_manager ||--o{ participant_manager_map : représente
participant ||--o{ participant_manager_map : possède_des_comptes
distributions ||--o{ shipment : regroupe
scheme_list ||--o{ shipment : classe
participant ||--o{ shipment_participant_map : participe
shipment ||--o{ shipment_participant_map : inscrit
shipment ||--o{ reference_result : définit
shipment_participant_map ||--o{ response_result : enregistre
Dans ce diagramme, reference_result et response_result représentent des familles de tables propres aux programmes.
Ce ne sont pas des noms de tables réelles. Les relations décrivent les jointures applicatives.
Elles ne garantissent pas l'existence d'une contrainte de clé étrangère pour chaque relation.
Dictionnaire des entités¶
| Entité ou table | Signification | Relation principale |
|---|---|---|
participant |
Laboratoire, site de dépistage ou opérateur individuel | Associé aux comptes de connexion et aux inscriptions aux expéditions |
data_manager |
Compte de connexion au portail participant | Associé par participant_manager_map |
participant_manager_map |
Attribution d'un participant à un compte | Joint dm_id et participant_id |
distributions |
Regroupement d'une enquête PT | Parent des expéditions par distribution_id |
scheme_list |
Programmes de tests intégrés et configurés | Classe les expéditions |
enrollments |
Un participant sur une liste d'inscription nommée d'un programme | Clé (list_name, scheme_id, participant_id) depuis 7.6.36 |
enrollment_list_archive |
Listes d'inscription archivées, ajoutée en 7.6.36 | Une ligne par couple (scheme_id, list_name) archivé |
shipment |
Cycle PT d'un programme | Contient les échantillons de référence et les inscriptions |
shipment_participant_map |
Inscription, métadonnées de réponse et évaluation d'un participant | Relie le participant, l'expédition et les réponses par échantillon |
reference_result_* |
Résultats attendus des échantillons | Appartient à une expédition |
response_result_* |
Résultats déclarés et valeurs calculées | Appartient à une association expédition-participant |
global_config |
Paramètres du programme et des rapports | Inclut la configuration propre à l'instance |
system_config |
Paramètres système et métadonnées de version | Inclut la version applicative appliquée |
scheduled_jobs |
File des tâches en arrière-plan | Suit les traitements en file |
temp_mail |
File des courriels sortants | Suit le traitement des messages |
audit_log |
Activité applicative enregistrée | Contient les informations sur les acteurs et les événements |
user_login_history |
Activité de connexion | Sert à examiner les comptes et les sessions |
Dictionnaire des champs principaux¶
Les types ci-dessous décrivent le stockage SQL du schéma initial ou des migrations. La nullabilité et les valeurs par défaut d'une installation nécessitent un export de son propre schéma.
| Champ | Type ou format | Signification | Interprétation |
|---|---|---|---|
participant.participant_id |
Entier | Identifiant interne du participant | Distinct de l'identifiant visible du programme |
participant.unique_identifier |
Texte | Identifiant du participant dans le programme | Utilisé pour identifier les participants dans les processus |
data_manager.dm_id |
Entier | Identifiant interne du compte | N'identifie pas à lui seul un laboratoire |
shipment.shipment_id |
Entier | Identifiant interne de l'expédition | Relie les inscriptions et les références |
shipment.shipment_code |
Texte | Code visible du cycle PT | Utilisé dans les rapports et les recherches |
shipment.scheme_type |
Texte | Identifiant du programme | Code intégré ou identifiant d'un programme configuré |
shipment.distribution_id |
Entier | Identifiant de l'enquête parente | Joint distributions |
shipment.response_deadline |
Date et heure | Échéance de réponse | Son interprétation inclut le fuseau horaire configuré |
shipment.response_switch |
Texte | Commutateur de collecte des réponses | on ou off |
shipment.shipment_attributes |
JSON | Configuration de l'expédition propre au programme | Les clés varient selon le programme |
shipment_participant_map.map_id |
Entier | Identifiant d'inscription | Parent des réponses par échantillon |
shipment_participant_map.response_status |
Texte | État de collecte de la réponse | Inclut responded, nottested et late_submitted |
shipment_participant_map.final_result |
Entier | Résultat de l'évaluation | 1 Réussi, 2 Echec, 3 Exclu, 4 Non évalué |
shipment_participant_map.shipment_score |
Décimal | Score calculé de l'expédition | Son interprétation dépend du programme |
shipment_participant_map.documentation_score |
Décimal | Composante documentaire | Distincte de la notation des résultats des échantillons |
shipment_participant_map.is_excluded |
yes / no, nullable |
Indicateur d'exclusion | À interpréter avec le résultat de l'évaluation |
shipment_participant_map.attributes |
JSON | Champs justificatifs de la réponse | Les clés varient selon le programme |
shipment_participant_map.started_at |
Date et heure, nullable | Début enregistré du parcours de soumission pris en charge | Ajouté par la migration 7.6.21 |
shipment_participant_map.late_submit_status |
Petit entier, 0 par défaut | Indicateur historique de soumission tardive | Peut rester à 1 après approbation |
Les lignes anciennes ou non évaluées peuvent contenir d'autres valeurs initiales, notamment 0 pour final_result dans le schéma initial.
Cela ne constitue pas un résultat d'évaluation supplémentaire.
L'état de réponse et le résultat d'évaluation répondent à des questions distinctes. Ils ne sont pas interchangeables.
Sources du schéma physique¶
| Source | Périmètre | Limite |
|---|---|---|
sql/init.sql |
Schéma et données d'installation initiale | Ne représente pas à lui seul toutes les migrations ultérieures |
database/migrations/*.sql |
Modifications versionnées du schéma et des données | À interpréter dans l'ordre des migrations |
application/models/DbTable/ |
Mappages des tables et requêtes applicatives | Ne définit pas toutes les contraintes physiques de la base |
| Export du schéma seul | Définitions réelles des tables déployées | Nécessite une capture de l'installation cible |
Le guide de remise du déploiement décrit la capture du schéma. Un dictionnaire complet nécessite aussi les significations métier, listes de codes, unités, clés JSON et règles de validation propres aux programmes, examinées par leur équipe.