Skip to Content
DocumentationFormulaires dans O3Implémentations du moteur de formulaires

Implémentations du moteur de formulaires

L’application de référence OpenMRS utilise le constructeur de formulaires O3 avec le React Form Engine. Une intégration du moteur de formulaires Angular est également disponible pour les distributions qui la choisissent, mais elle ne fait pas partie du flux de travail des formulaires fourni par défaut dans l’application de référence.

Pour les nouvelles implémentations, nous recommandons le React Form Engine. Il est inclus dans l’application de référence et assure l’aperçu dans le constructeur de formulaires O3, ce qui permet d’utiliser le même moteur pendant la création et à l’exécution. Les implémentations existantes qui dépendent de formulaires Angular ou d’extensions personnalisées peuvent continuer à utiliser l’intégration Angular pendant qu’elles évaluent la migration. Testez ces formulaires et extensions avec React avant de changer de moteur.

Packages et rôles

RôleFlux React par défautFlux Angular
Constructeur de formulaires@openmrs/esm-form-builder-app, qui prévisualise les formulaires avec le React Form EngineAucun aperçu Angular pris en charge dans le constructeur de formulaires O3
Bibliothèque de rendu@openmrs/esm-form-engine-lib@openmrs/ngx-formentry
Module d’intégration O3@openmrs/esm-form-engine-app@openmrs/esm-form-entry-app
Statut dans l’application de référenceInclus par défautNon inclus par défaut

Les deux modules d’intégration enregistrent un renderer dans form-widget-slot. Une distribution devrait activer l’intégration qui correspond à son flux de travail des formulaires, et non les deux intégrations comme renderers concurrents pour le même slot.

Flux de travail par défaut de l’application de référence

Le parcours pris en charge par défaut est le suivant :

  1. Créez ou modifiez un formulaire avec le constructeur de formulaires O3.
  2. Prévisualisez le formulaire avec le React Form Engine intégré au constructeur.
  3. Publiez le formulaire et rendez-le avec le React Form Engine lors de l’exécution.

Consultez Utiliser les formulaires dans les applications pour en savoir plus sur l’espace de travail du dossier patient et les options de rendu React personnalisé.

Flux de travail Angular

Les distributions qui utilisent le moteur de formulaires Angular devraient créer les schémas manuellement ou les gérer au moyen d’un processus distinct propre à leur implémentation, puis les tester avec @openmrs/esm-form-entry-app dans la distribution cible.

Le constructeur de formulaires O3 n’a pas d’aperçu Angular pris en charge et ne fait aucune promesse de compatibilité avec le moteur de formulaires Angular. Un formulaire dont l’aperçu est correct dans le constructeur peut néanmoins se comporter différemment dans l’environnement d’exécution Angular.

Validité du schéma et compatibilité à l’exécution

Le schéma de formulaire O3  définit une structure et un vocabulaire communs pour les formulaires JSON O3. Un formulaire conforme au schéma peut néanmoins se comporter différemment dans les deux moteurs : les rendus, les helpers d’expression, les extensions personnalisées et le comportement à l’exécution ne sont pas garantis identiques.

Validez un formulaire avec le schéma commun, puis testez-le avec le renderer et le module d’intégration utilisés par la distribution cible.

Dernière mise à jour le