Outils de développement
Bibliothèque Open source - ANMV
Une bibliothèque .NET open source pour exploiter et valider les fichiers XML de l'ANMV, conçue pour les besoins du secteur vétérinaire.
1Notre démarche
Chez Core Factor, nous développons des outils robustes et modulaires pour le secteur vétérinaire. Lorsqu’un composant technique peut être utile à d’autres acteurs, nous choisissons de le publier en open source.
La bibliothèque VetCore.Anmv s’inscrit dans cette logique : elle encapsule proprement les données officielles de l’ANMV pour en faciliter l’exploitation dans des systèmes tiers.
https://github.com/CoreFactor-org/anmv
Cette approche nous permet de concilier industrialisation des traitements et transparence sur les couches techniques partagées.
2Objectif de la bibliothèque
La bibliothèque facilite l’interaction avec les fichiers XML publiés par l’Agence Nationale du Médicament Vétérinaire, disponibles sur data.gouv.fr.
https://www.data.gouv.fr/fr/datasets/base-de-donnees-publique-des-medicaments-veterinaires-autorises-en-france-1/
- Chargement des fichiers XML Data et Description
- Validation complète via les XSD officiels fournis par l’ANMV
- Sérialisation / désérialisation XML
- Conversion bidirectionnelle XML ⇄ JSON
- Tests automatisés avec données historisées
3Structure des projets
VetCore.Anmv :
DTO typés pour les fichiers XML Data & Description
VetCore.Anmv.Util :
Gestion XSD, sérialisation et validation
VetCore.Anmv.Tests :
Validation sur corpus de fichiers publics
4Exemples d’utilisation
Chargement XML et validation
var dto = AnmvFileHandler.DeserializeDataFile(new FileInfo("data.xml"));
var result = AnmvFileHandler.ValidateXml(new FileInfo("data.xml"), AmnvFilesKey.Data_XSD_AMM);
Conversion XML ⇄ JSON
var jsonDto = xmlDto.ToJsonDto();
var xmlDto = jsonDto.ToXmlDto();
5Remontée de bugs & contributions
Les contributions sont les bienvenues. Pour signaler un problème ou proposer une amélioration, ouvrez une issue ou une pull request sur le dépôt GitHub.
Merci de joindre un fichier XML ou un exemple de cas si vous signalez un problème de validation ou de compatibilité.