|
4 min de lecture
|

Termbox 1.0

Résumer cet article avec :
ChatGPTPerplexityClaudeGrok

Nous lançons aujourd'hui Termbox 1.0, après deux ans de développement d'un serveur de terminologie FHIR haute performance, conçu pour prendre en charge des charges de travail terminologiques à grande échelle.

Déterminer le bon moment pour qualifier un serveur de terminologie de « 1.0 » n'est pas chose simple.

  • Est-ce lorsqu'il prend en charge toutes les opérations définies dans la spécification FHIR?
  • Lorsqu'il réussit tous les tests du FHIR Terminology Ecosystem IG?
  • Lorsqu'il peut servir SNOMED CT, LOINC, RxNorm et ICD?
  • Ou lorsqu'il prend en charge des fonctionnalités avancées comme l'ECL SNOMED CT complète?

Tous ces jalons ont leur valeur. Aucun d'eux, pris isolément, ne permet de déterminer si un produit est prêt pour la production.

Pour Termbox, le véritable critère décisif a été de remplacer un serveur de terminologie déjà en service auprès de clients réels, et d'exécuter l'ensemble de la charge de production de manière fiable.

Remplacement d'un système en exploitation

Avant Termbox, les requêtes adressées à tx.health-samurai.io étaient traitées par un déploiement d'Ontoserver. Son remplacement nous a fourni une définition de l'état de préparation bien plus concrète que n'aurait pu le faire une liste de fonctionnalités.

La migration a pris six mois. Nous avons d'abord reproduit le contenu terminologique disponible dans le service existant. L'objectif était de garantir que le remplacement d'Ontoserver par Termbox ne perturberait pas les applications qui s'appuyaient déjà sur le service de terminologie en place.

Au cours de la migration, nous avons capturé les requêtes réelles émises par les clients de tx.health-samurai.io. Cela a produit un corpus de plus de 250 000 requêtes uniques, dominé par les opérations que les clients de terminologie utilisent réellement : ValueSet/$validate-code, ValueSet/$expand, CodeSystem/$lookup, CodeSystem/$subsumes et CodeSystem/$validate-code.

Nous avons rejoué ce corpus contre Termbox et comparé chaque réponse avec la réponse Ontoserver d'origine. Les différences ont été classifiées, examinées, puis soit acceptées lorsque les deux comportements étaient valides, soit converties en travaux d'implémentation lorsqu'elles révélaient une capacité manquante ou un résultat incorrect.

L'objectif était la parité sur ce qui comptait : les requêtes, le contenu et le comportement sur lesquels nos clients comptaient.

Données probantes issues de la production

La migration s'est déroulée sous forme de déploiement progressif en production jusqu'à atteindre 100 % du trafic, et Termbox est devenu le système traitant ces requêtes à tx.health-samurai.io.

Cette bascule a constitué le jalon décisif pour la version 1.0.

Chiffres de production du premier mois suivant la finalisation du déploiement :

  • Requêtes traitées : 2 M+
  • Temps de réponse médian : 2 ms
  • p95 : 6 ms
  • p99 : 36 ms

Parallèlement à l'observation en production, nous avons développé une suite de performance dédiée, le TX Benchmark, pour mesurer la latence, le débit et la consommation de ressources sur des charges de travail terminologiques représentatives. La performance a été traitée comme un élément à part entière de l'état de préparation pour la production.

Stable, mais pas figé

Termbox 1.0 prend en charge CodeSystem, ValueSet et ConceptMap, ainsi que les opérations principales utilisées pour rechercher et valider des codes, développer des ensembles de valeurs, tester la subsomption et traduire des concepts. Il prend en charge les grandes distributions terminologiques et inclut un sous-ensemble croissant de l'ECL SNOMED CT.

Il reste du travail à accomplir. Toutes les opérations et tous les paramètres de terminologie FHIR ne sont pas encore pris en charge, et certaines capacités sont encore en développement. Les limites actuelles sont documentées sur la page des capacités de Termbox.

Nous validons également Termbox au moyen de la suite de tests FHIR Terminology Ecosystem. Termbox réussit actuellement plus de 90 % des tests de la catégorie générale, et nous poursuivons les travaux dans les catégories propres à chaque terminologie.

La suite de tests mesure l'interopérabilité normalisée et la conformité sur une matrice définie. La migration a démontré que Termbox pouvait servir une charge de production existante et diversifiée de manière fiable. Nous souhaitons disposer des deux formes de données probantes.

Ce que signifie la version 1.0

Pour Termbox, la version 1.0 indique que le produit est stable et prêt à soutenir des charges de travail en production. C'est la version que nous sommes prêts à défendre, que Termbox soit utilisé comme service SaaS géré ou déployé sur site.

La feuille de route se poursuit : conformité élargie, prise en charge approfondie des terminologies individuelles, davantage d'ECL, fonctionnalités de traitement du langage naturel, une surface SQL plus étendue et une distribution de contenu améliorée. Nous bâtirons ces ajouts sur une fondation éprouvée en production.

Termbox est à la version 1.0 parce qu'il fait déjà le travail, sous un trafic de production réel. Essayez-le en tant que SaaS, ou commencez à l'explorer dans le bac à sable.

Partager cet article
Comments
Comments
Sign in
Loading comments...
Subscribe to our blog

Get the latest articles on FHIR, interoperability, and healthcare IT.