Ce projet a pour objectif de valider le format d'un ensemble de fichiers détaillant une liste de concepts à ne pas modifier et une liste de modifications correspondant aux fichiers d'import batch de l'Authoring Platform. Le validateur doit être utilisé avant tout import batch dans l'édition française.
- Accès à un serveur FHIR contenant l'édition internationale (version du projet)
- Accès au dernier RF2 de l'édition nationale (dernière version publiée)
# Exemple avec le gestionnaire d'environnement venv
python3 -m venv ~/chemin_vers_environnement/mon_environnement
source ~/chemin_vers_environnement/mon_environnement/bin/activate
# Récupérer le projet
git clone git@github.com:ansforge/interop-outil-nrc-validateur-batch.git
cd ./interop-outil-nrc-validateur-batch/
python3 -m pip install -e .Le projet nécessite plusieurs données en entrée :
- [OBLIGATOIRE] Endpoint d'un serveur FHIR contenant l'édition internationale de référence pour le projet
- [OBLIGATOIRE] Snapshot de la dernière release de l'édition française
- [OBLIGATOIRE] Date de publication de la dernière release de l'édition française
- [OBLIGATOIRE] Dossier de sauvegarde du fichier de résultats
- [OPTIONNEL] Chemin du fichier des concepts sans modification
- [OPTIONNEL] Chemin du fichier des descriptions à ajouter
- [OPTIONNEL] Chemin du fichier des métadonnées de descriptions à modifier
- [OPTIONNEL] Chemin du fichier des descriptions à remplacer par une nouvelle traduction
- [OPTIONNEL] Chemin du fichier des descriptions à inactiver
./validateur_batch/main.py "endpoint_FTS" "chemin_vers_release_fr/Snapshot/" "YYYYMMDD" "dossier_sauvegarde" --val "chemin_fichier_concept_sans_modification" --add "chemin_fichier_descriptions_à_ajouter" --chg "chemin_fichier_metadonnees_à_modifier" --rep "chemin_fichier_descriptions_à_remplacer" --ina "chemin_fichier_descriptions_à_inactiver"Ce projet peut valider jusqu'à 5 fichiers différents dans le cadre d'une tâche de traduction ou révision de traductions. Tous ces fichiers sont à mettre au format CSV.
Le chemin vers ce fichier est passé par l'argument --val. Les colonnes attendues sont :
["Concept ID", "FSN"]Ce fichier correspond à l'onglet Description Additions du template d'import batch de SNOMED International.
Le chemin vers ce fichier est passé par l'argument --add. Les colonnes attendues sont :
["Concept ID", "GB/US FSN Term (For reference only)", "Preferred Term (For reference only)", "Translated Term", "Language Code", "Case significance", "Type", "Language reference set", "Acceptability"]Ce fichier correspond à l'onglet Description Changes du template d'import batch de SNOMED International.
Le chemin vers ce fichier est passé par l'argument --chg. Les colonnes attendues sont :
["Description ID", "Preferred Term (For reference only)", "Term (For reference only)", "Case significance", "Type", "Language reference set", "Acceptability"]Ce fichier correspond à l'onglet Description Replacements du template d'import batch de SNOMED International.
Le chemin vers ce fichier est passé par l'argument --rep. Les colonnes attendues sont :
["Concept ID", "Description ID", "Preferred Term (For reference only)", "Term (For reference only)", "Inactivation Reason", "Association Target ID1", "Association Target ID2", "Association Target ID3", "Association Target ID4", "New Replacement Description ID", "Replacement term (For reference only)", "New Translated Term", "Language Code", "Case significance", "Type", "Language reference set", "Acceptability"]Ce fichier correspond à l'onglet Description Inactivations du template d'import batch de SNOMED International.
Le chemin vers ce fichier est passé par l'argument --ina. Les colonnes attendues sont :
["Description ID Or Term", "Language Code (require if the term is specified)", "Concept ID (Optional)", "Preferred Term (For reference only)", "Term (For reference only)", "Inactivation Reason", "Association Target ID1", "Association Target ID2", "Association Target ID3", "Association Target ID4"]Les tableaux ci-dessous indiquent les règles éditoriales de l'édition française SNOMED CT qui sont implémentées et vérifiées par cet outil.
| Identifiant de règle | Statut d'implémentation |
|---|---|
| ab1 | ❌ |
| ab2 | ❌ |
| ab3 | ❌ |
| Identifiant de règle | Statut d'implémentation |
|---|---|
| ar1 | ❌ |
| ar2 | ✅ |
| ar3 | ❌ |
| ar4-FR | ❌ |
| ar6 | ✅ |
| ar7 | ❌ |
| Identifiant de règle | Statut d'implémentation |
|---|---|
| se1 | ❌ |
| se2 | ❌ |
| se3 | ❌ |
| se4 | ❌ |
| se5 | ❌ |
| se6 | ❌ |
| se7 | ❌ |
| se8 | ❌ |
| se9 | ❌ |
| se10 | ❌ |
| se11 | ❌ |
| Identifiant de règle | Statut d'implémentation |
|---|---|
| gr1 | ❌ |
| Identifiant de règle | Statut d'implémentation |
|---|---|
| ll1 | ❌ |
| Identifiant de règle | Statut d'implémentation |
|---|---|
| np1 | ❌ |
| Identifiant de règle | Statut d'implémentation |
|---|---|
| or2 | ❌ |
| or3 | ❌ |
| or4 | ❌ |
| or5 | ❌ |
| or6 | ❌ |
| Identifiant de règle | Statut d'implémentation |
|---|---|
| ss1 | ❌ |
| ss2 | ❌ |
| ss3 | ❌ |
| ss4 | ❌ |
| ss5 | ❌ |
| ss6 | ❌ |
| ss7 | ❌ |
| Identifiant de règle | Statut d'implémentation |
|---|---|
| sc1 | ❌ |
| sc2 | ❌ |
| sc3 | ❌ |
| sc4 | ❌ |
| sc5 | ❌ |
| sc6 | ❌ |
| sc7 | ❌ |
| sc8 | ❌ |
| Identifiant de règle | Statut d'implémentation |
|---|---|
| tv1 | ❌ |
| tv2 | ❌ |
| tv3 | ❌ |
| tv4 | ❌ |
| Identifiant de règle | Statut d'implémentation |
|---|---|
| um1 | ❌ |
| um2 | ❌ |
| um3 | ❌ |
| um4 | ❌ |
| um5 | ❌ |
| um6 | ❌ |
| um7 | ❌ |
| um8 | ❌ |
| Identifiant de règle | Statut d'implémentation |
|---|---|
| co2 | ✅ |
| co5 | ❌ |
| co6-FR | ✅ |
| Identifiant de règle | Statut d'implémentation |
|---|---|
| pa2 | ❌ |
| pa3 | ✅ |
| pa3.1 | ❌ |
| pa4 | ✅ |
| pa5 | ❌ |
| pa6 | ✅ |
| pa7 | ✅ |
| pa8 | ✅ |
| pa9 | ✅ |
| pa10 | ❌ |
| pa11 | ❌ |
| Identifiant de règle | Statut d'implémentation |
|---|---|
| ec2 | ✅ |
| ec4 | ✅ |
| ec5 | ❌ |
| ec6 | ❌ |
| Identifiant de règle | Statut d'implémentation |
|---|---|
| en1-FR | ❌ |
| en2-FR | ❌ |
| en3-FR | ❌ |
| en4 | ❌ |
| en5 | ❌ |
| en6-FR | ❌ |
Environnement ou lieu géographique - Sous-hiérarchie région géographique et/ou politique du monde (ge)
| Identifiant de règle | Statut d'implémentation |
|---|---|
| ge1 | ❌ |
| ge2 | ❌ |
| Identifiant de règle | Statut d'implémentation |
|---|---|
| sb1 | ✅ |
| sb2 | ✅ |
| sb3 | ✅ |
| Identifiant de règle | Statut d'implémentation |
|---|---|
| ho1 | ❌ |
| ho3 | ❌ |
| ho4 | ❌ |
| ho5 | ❌ |
| ho6 | ❌ |
| ho7 | ❌ |
| ho8 | ❌ |
| ho9 | ❌ |
| ho10 | ❌ |
| ho11 | ❌ |
| Identifiant de règle | Statut d'implémentation |
|---|---|
| pr2 | ✅ |
| pr3 | ✅ |
| pr4 | ✅ |
| pr5 | ❌ |
| pr6 | ❌ |
| pr7 | ❌ |
| pr8 | ❌ |
| pr9 | ✅ |
| pr10 | ✅ |
| pr12 | ✅ |
| pr13 | ✅ |
| pr14 | ✅ |
| pr15-FR | ✅ |
| Identifiant de règle | Statut d'implémentation |
|---|---|
| me1 | ✅ |
| me2-FR | ✅ |
| me3 | ✅ |
| me4 | ✅ |
| Identifiant de règle | Statut d'implémentation |
|---|---|
| hs1 | ✅ |
| Identifiant de règle | Statut d'implémentation |
|---|---|
| bs2 | ✅ |
| bs3 | ✅ |
| bs4 | ❌ |
| bs5 | ✅ |
| bs6 | ✅ |
| bs7 | ✅ |
| bs8 | ✅ |
| bs9 | ✅ |
| bs10-FR | ✅ |
| bs11-FR | ✅ |
| bs12 | ✅ |
| bs13 | ✅ |
| Identifiant de règle | Statut d'implémentation |
|---|---|
| su1-FR | ✅ |
| su2-FR | ❌ |
| su3-FR | ✅ |
| su4-FR | ❌ |
| su5-FR | ❌ |
| su6-FR | ❌ |
| su7-FR | ❌ |
| su8-FR | ✅ |
Sous licence MIT, voir le fichier LICENSE pour plus d'informations.