AVG2

Votre partenaire numérique pour la formation en santé

AVG signifie « obligation de formation des professions de santé non universitaires » (Ausbildungsverpflichtung nicht-universitärer Gesundheitsberufe). La révision 2, une refonte complète datant de 2021, vous permet de saisir les établissements de santé de votre canton et de gérer efficacement leurs formations non universitaires. Le potentiel de formation peut ainsi être déterminé avec précision.

Les données peuvent être saisies aussi bien par les collaborateurs autorisés des établissements médicaux – tels que les hôpitaux et les établissements de soins – que par les responsables cantonaux. Ces données servent notamment au calcul des subventions ou des pénalités, au pilotage des processus et à la surveillance des délais.

Avec AVG2, vous vérifiez et validez votre planification des soins de base sur la base des prestations de formation effectives.

La saisie des diplômes et des formations se fait une seule fois. Les modifications peuvent être gérées de manière flexible par année, afin que vos données soient toujours à jour.

AVG2 est une solution web et ne nécessite aucune installation. L'application est compatible avec tout navigateur moderne.

Depuis plus de dix ans, nous développons l'application AVG en étroite collaboration avec le canton de Berne. Entre-temps, les cantons du Valais, de Soleure et de Lucerne ont également opté pour AVG2 – et nous avons désormais le plaisir d'accueillir le canton de Saint-Gall dans la famille AVG2.

AVG2 vous offre une flexibilité totale et est adapté individuellement à vos besoins si nécessaire.

map[class:w-full h-auto src:/images/avg2/dashboard.png]

Cockpit

Votre tableau de bord en temps réel dans AVG2

Avec le tableau de bord en temps réel d’AVG2, vous gardez toujours une vue d’ensemble. Vous pouvez consulter les statistiques actuelles, initier des processus et surveiller l’état de la saisie des données par les prestataires. De plus, vous recevez des indications sur les corrections de données nécessaires pour améliorer continuellement la qualité des données.
map[class:w-full h-auto src:/images/avg2/docgen.png]

Génération de documents

Génération efficace de documents avec AVG2

AVG2 permet la création efficace de projets et de décisions définitives ainsi que de conventions, basées sur les données saisies par les prestataires. La création de documents peut être effectuée simultanément pour plusieurs établissements ou individuellement par établissement.

Par défaut, AVG2 prend en charge les processus configurables individuellement suivants :

  • Décision de formation / Convention de prestations
  • Décompte final
  • Paiement compensatoire (en cas de non-atteinte des prestations prescrites)
  • Amende en cas de non-saisie des données par les prestataires

Les documents sont créés sur la base de modèles Microsoft Word, qui peuvent être gérés annuellement dans l’application. Si nécessaire, nous étendons les fonctionnalités des processus à tout moment selon vos souhaits.

map[class:w-full h-auto src:/images/avg2/dataintegrity.png]

Intégrité des données

Intégrité des données garantie avec AVG2

AVG2 assure l’intégrité des données saisies par les prestataires grâce à un historique complet. Les modifications et corrections sont ainsi traçables à tout moment pour toutes les parties concernées, tant pour les prestataires que pour les collaborateurs cantonaux.

Les jeux de données incomplets peuvent être sauvegardés et complétés ou validés ultérieurement, ce qui rend le statut de chaque jeu de données transparent. De plus, une validation étendue contribue à minimiser les saisies erronées.

En outre, AVG2 détecte automatiquement les écarts significatifs dans les données annuelles des prestataires et permet de définir des seuils de tolérance par année. Pour chaque formation, il est possible de configurer si une preuve de prestation est requise, laquelle peut alors être téléchargée par le prestataire.

map[class:w-full h-auto src:/images/avg2/customization.png]

Flexibilité

Une flexibilité sur mesure

AVG2 vous offre une multitude d’options de configuration pour adapter parfaitement l’application à vos besoins individuels. Ces adaptations peuvent être effectuées annuellement de manière autonome, afin de garantir que les directives cantonales soient mises en œuvre avec précision pour chaque année.

Vous gardez le contrôle : gérez les formations vous-même et définissez les bases de calcul nécessaires. Avec AVG2, vous restez flexible et efficace.

map[class:w-full h-auto src:/images/avg2/auswertungen.png]

Évaluations

Un aperçu complet avec AVG2

Avec AVG2, vous accédez à des évaluations détaillées. Vous pouvez consulter la liste de tous les contacts des établissements, vérifier quand un utilisateur s’est connecté pour la dernière fois et constater quels documents, par exemple malgré un délai échu, n’ont pas encore été téléchargés. Ces informations sont toujours facilement accessibles et offrent des aperçus précieux sur l’état de vos processus.
map[class:w-full h-auto src:/images/avg2/dokumentenablage.png]

Gestion documentaire

Gestion documentaire dans AVG2

Partagez des documents dans AVG2 de manière ciblée : soit en interne avec les responsables cantonaux, avec tous les prestataires ou exclusivement par prestataire. AVG2 prend en charge cette distribution différenciée de documents grâce à différents espaces de stockage, afin de répondre aux différentes exigences.

Les documents pertinents pour tous les prestataires peuvent être déposés de manière centralisée dans l’espace de stockage général. Les documents spécifiques, destinés uniquement à certains prestataires, peuvent être téléchargés directement dans leur espace individuel. Vous vous assurez ainsi que toutes les parties prenantes ont toujours accès aux informations qui les concernent.

map[class:w-full h-auto src:/images/avg2/languages.png]

Multilinguisme

Multilinguisme dans AVG2

L’interface utilisateur d’AVG2 prend en charge le multilinguisme avec des textes configurables de manière flexible et facilement modifiables et affichables en allemand, français, italien ou anglais. Utilisez le mode de traduction pour l’adaptation directe dans l’application ou l’export Excel pour effectuer les traductions confortablement hors ligne.
map[class:w-full h-auto src:/images/avg2/userhelp.png]

Aide utilisateur

Aide utilisateur dans AVG2

AVG2 offre un support étendu grâce à des textes d’aide personnalisables dans chaque vue, disponibles non seulement en plusieurs langues, mais aussi spécifiquement adaptés aux besoins des utilisateurs. Vous pouvez y déposer des informations importantes, des termes techniques ainsi que des indications juridiques pour offrir aux prestataires des instructions précises et une sécurité juridique lors de l’utilisation du logiciel. Si aucun texte d’aide n’est déposé, la vue d’aide reste masquée pour garder l’interface utilisateur claire et lisible. De plus, AVG2 prend en charge l’intégration de captures d’écran pour fournir des instructions visuelles et améliorer davantage la compréhension des utilisateurs.
map[class:w-full h-auto src:/images/avg2/taskboard.png]

Gestion des tâches

Gestion des tâches dans AVG2

Dans AVG2, vous pouvez créer des tâches comme aide-mémoire et les assortir de délais. Cela vous aide à garder une vue d’ensemble sur les échéances et obligations importantes et à vous assurer que tout est accompli dans les temps.
map[class:w-full h-auto src:/images/avg2/security.png]

Autorisations

Flexible et sécurisé avec AVG2

AVG2 permet la définition de différents rôles personnalisables pour les collaborateurs cantonaux et les établissements. Cela garantit une grande flexibilité et une sécurité maximale dans le traitement des données et processus sensibles.

Releases

Prochaines releases dans AVG2

Technologie

Technologie dans AVG2

ComposantTechnologie
Plateforme.NET 10
FrontendBlazor WebAssembly (WASM)
BackendASP.NET Core Web API
Base de donnéesMicrosoft SQL Server 2022
ConteneurisationDocker Images
Registre de conteneursAzure Container Registry
AspectTechnologie
Génération SBOMCycloneDX
Gestion des vulnérabilitésDependency-Track
AuthentificationOpenID Connect
AutorisationImplémentation propre via base de données
ÉlémentTechnologie
Framework CSSBootstrap
Bibliothèque de composantsTelerik UI for Blazor

Remarque : OpenID Connect est utilisé exclusivement comme protocole pour la connexion à un fournisseur d’identité existant du client. Un serveur d’autorisation ne fait pas partie du périmètre de livraison, mais peut être conçu, intégré ou configuré par nos soins si nécessaire. La connexion à des fournisseurs courants tels qu’AGOV ou SwissID est en principe possible et a déjà été réalisée avec succès.

Architecture

Architecture d'AVG2

Les chapitres « Architecture », « Flux de données » et « Sécurité » décrivent AVG2 en tant que produit. L’exploitation et l’infrastructure relèvent de l’exploitant de chaque installation. Les technologies utilisées figurent au chapitre « Technologie ».

Tous les cantons reçoivent la même image Docker. Chaque canton dispose de sa propre installation et de sa propre base de données, les différences entre cantons étant gérées par configuration. Aucune donnée n’est partagée entre les cantons.

Schéma d’architecture d’AVG2 : navigateur, serveur AVG2 avec base de données et stockage de fichiers dans une installation par canton, systèmes externes de l’exploitant et déroulement de la connexion

Composants

ComposantRôle
NavigateurL’interface est une application Blazor WebAssembly exécutée dans le navigateur. Le navigateur ne détient aucun jeton d’accès, la session reposant sur un cookie (voir chapitre « Sécurité »). Il charge en outre Bootstrap (CSS, JavaScript, icônes) depuis le CDN jsDelivr avec Subresource Integrity, ainsi que la police Roboto depuis Google Fonts.
ServeurASP.NET Core (.NET 10). Le serveur fournit l’interface et met à disposition l’API web. La logique métier, le contrôle des autorisations et la génération de documents s’exécutent sur le serveur.
Base de donnéesMicrosoft SQL Server, accès via Entity Framework Core.
Stockage de fichiersLes documents déposés, les documents générés et les modèles sont conservés dans un stockage de fichiers (volume persistant), leurs métadonnées dans la base de données. Les utilisateurs n’accèdent aux fichiers que via l’API, jamais directement au stockage.
Génération de documentsLe serveur génère les décisions et les autres documents à partir de modèles Word (.dotx).

Systèmes externes

Les systèmes suivants sont mis à disposition par l’exploitant :

  • le fournisseur d’identité du client (OpenID Connect), pour la connexion
  • un serveur de messagerie (SMTP), pour les notifications
  • en option, un antivirus qui analyse les fichiers déposés avant leur enregistrement

Livraison et exploitation

  • Les modifications de la base de données sont livrées sous forme de scripts SQL versionnés et appliquées avec l’outil DbUpdater, fourni dans une image distincte.
  • Des health checks couvrent le démarrage, le bon fonctionnement de l’application (liveness) et la connexion à la base de données. En option, un point de terminaison Prometheus met des métriques à disposition.
  • Pour Kubernetes, nous livrons un chart Helm.

Flux de données

Flux de données dans AVG2

Connexion et utilisateurs

La connexion passe du navigateur au fournisseur d’identité du client, puis au serveur AVG2. Le fournisseur d’identité transmet au serveur l’adresse e-mail de la personne, que le serveur rattache à la personne enregistrée dans AVG2. Les rôles et les autorisations proviennent d’AVG2, et non du fournisseur d’identité.

La section « Gestion des autorisations » du chapitre « Sécurité » décrit qui enregistre et gère quels utilisateurs. Quiconque se connecte auprès du fournisseur d’identité sans être enregistré dans AVG2 n’obtient aucun rôle, et donc aucun accès.

Saisie, traitement et restitution

ÉtapeActeursDéroulement
SaisiePersonnel cantonalgère les données de base, les paramètres et les modèles, et pilote les processus
SaisieÉtablissements (interlocuteurs, fournisseurs de données)saisissent leurs données (indicateurs tels que postes, heures et prestations de formation) et déposent les justificatifs
TraitementServeur AVG2contrôle et calcule les données, génère les documents et les enregistre dans le stockage de fichiers
RestitutionÉtablissementstéléchargent leurs documents dans AVG2, chaque téléchargement étant journalisé
RestitutionServeur de messagerie de l’exploitantenvoie les notifications par e-mail, chaque envoi étant journalisé
RestitutionCantonutilise les évaluations dans l’application

Données personnelles

Pour chaque utilisateur, AVG2 enregistre le nom, le prénom, l’adresse e-mail, la langue, les rôles ainsi que la date et l’heure de la dernière connexion. L’adresse et le numéro de téléphone sont facultatifs et ne sont généralement pas renseignés. Aucun champ de données personnelles n’est prévu pour les personnes en formation, seuls des indicateurs sont saisis. Selon leur contenu, les documents déposés peuvent contenir des données personnelles.

Sécurité

Mécanismes de sécurité dans AVG2

Connexion et session

  • La connexion s’effectue côté serveur via OpenID Connect, avec l’Authorization Code Flow. Par défaut, AVG2 utilise les Pushed Authorization Requests lorsque le fournisseur d’identité les prend en charge.
  • Les jetons restent sur le serveur, dans le stockage des sessions. Le navigateur ne reçoit qu’un cookie contenant une clé de session. Ce cookie est HttpOnly et n’est transmis que via HTTPS.
  • La session expire après une période d’inactivité (10 minutes par défaut, durée paramétrable par l’exploitant). Toute activité la prolonge.
  • À la déconnexion, le jeton de rafraîchissement (refresh token) est révoqué auprès du fournisseur d’identité.
  • Le rattachement à la personne se fait par l’adresse e-mail fournie par le fournisseur d’identité. Cela suppose que celui-ci livre des adresses e-mail vérifiées et uniques, ce qui relève de la responsabilité de son exploitant.

Contrôle des autorisations

  • Le serveur vérifie l’authentification et les autorisations pour chaque requête API. Seuls font exception quelques points de terminaison sans données protégées, notamment pour la connexion, la déconnexion et les health checks. Seul le contrôle effectué sur le serveur fait foi, les contrôles dans le navigateur ne servent qu’à l’affichage.
  • Chaque point de terminaison protégé doit être enregistré dans la gestion des autorisations de la base de données. Les requêtes vers un point de terminaison non enregistré sont refusées.
  • Les rôles reçoivent des paquets d’autorisations assortis d’un niveau : lecture, écriture, étendu ou administration.
  • Pour les données liées à un établissement, le serveur vérifie en outre que la personne est autorisée pour cet établissement : par un rôle au sein de l’établissement lui-même ou de son organisme responsable.

Gestion des autorisations

Nous configurons les rôles et les paquets d’autorisations et mettons en œuvre, si nécessaire, des exigences spécifiques au client. AVG2 distingue deux types de rôles.

Type de rôle Établissement

  • Chaque établissement ou organisme responsable dispose toujours d’un interlocuteur. Celui-ci est officiellement connu du canton, qui l’enregistre dans AVG2.
  • L’interlocuteur peut déléguer la saisie des données à des personnes ayant le rôle de fournisseur de données. Il gère lui-même les personnes qui ont accès à l’application et à son établissement.
  • Pour le canton, l’interlocuteur reste la personne de référence : il vérifie les données, les valide et répond du bon déroulement. La manière dont il délègue la saisie en interne relève de son ressort.
  • Une personne peut être rattachée à plusieurs établissements avec des rôles différents, p. ex. interlocuteur pour l’établissement A et fournisseur de données pour l’établissement B.

Type de rôle Application

Rôles globaux de l’application :

  • Administrateur système : par défaut le support d’itree, sur demande également le client.
  • Administrateur : responsable de la configuration des données de base.
  • Responsable du dossier : chargé des tâches opérationnelles. Souvent, il n’y a pas de responsable du dossier et l’administrateur assume ces tâches.
  • Lecteur de données : rôle destiné aux audits.

Utilisation et utilisateurs inactifs

AVG2 n’est pas une application utilisée au quotidien. En règle générale, le canton invite à un moment donné les prestataires à saisir leurs données. Une fois la période de saisie terminée, les processus démarrent et donnent lieu à des demandes de précisions et à des décisions. Il est donc fréquent que des utilisateurs ne se connectent pas pendant plusieurs mois, faute d’action à effectuer.

C’est pourquoi aucun blocage automatique des utilisateurs inactifs n’est prévu. Les interlocuteurs étant officiellement connus du canton, des processus de notification existent en dehors d’AVG2. Les changements de personnes sont ainsi réglés sur le plan organisationnel, et non dans AVG2. Le canton peut consulter la date de la dernière connexion dans les évaluations.

Saisies

  • Toutes les saisies sont validées selon les mêmes règles dans le navigateur et sur le serveur. Le serveur rejette les données non valides, même si le navigateur est contourné.
  • Les champs de texte contenant du HTML (p. ex. modèles d’e-mail, textes d’aide) sont contrôlés par le serveur lors de l’enregistrement, sur la base d’une liste de balises et d’attributs autorisés. Cette liste est modifiable dans les paramètres. Par défaut, elle n’admet ni scripts, ni cadres intégrés, ni gestionnaires d’événements. Les liens et les sources d’images ne sont acceptés qu’avec des schémas sûrs (p. ex. https).
  • Les accès à la base de données passent par Entity Framework Core avec des requêtes paramétrées, y compris pour l’appel de procédures stockées.

Fichiers

  • Les extensions de fichier autorisées sont définies côté serveur pour chaque type de document, et non par le navigateur.
  • En option, chaque fichier déposé est analysé par un antivirus avant son enregistrement (voir chapitre « Architecture »).
  • La consultation, la modification, le dépôt et la suppression sont autorisés par rôle et par type de document. Le serveur le vérifie à chaque accès et, pour les téléchargements, également par rapport à l’établissement concerné.
  • Chaque téléchargement d’un document est journalisé avec la personne, le rôle et l’horodatage, à l’exception des modèles Word.

Traçabilité

  • Les données de base et les données des établissements indiquent qui les a saisies et modifiées en dernier, et à quel moment.
  • Les données saisies par les établissements sont historisées avec leur statut et une justification.
  • Les données de base sont figées par année. Une année figée ne peut plus être modifiée librement. C’est voulu : les modifications ultérieures n’ont pas d’effet rétroactif sur les années précédentes (non-régression). Les décisions et décomptes antérieurs restent ainsi traçables.
  • Un journal applicatif (Serilog) écrit dans la base de données et sur la console au format JSON, avec un identifiant de trace par requête. Les rôles autorisés peuvent le consulter dans l’application.
  • Chaque envoi d’e-mail est journalisé avec le destinataire, l’objet, le statut et la personne qui l’a déclenché.
  • En cas d’erreur inattendue, le navigateur ne reçoit qu’un message d’erreur générique et traduit. Les détails figurent uniquement dans le journal.

Plateforme

  • La terminaison TLS est assurée par l’exploitant, en amont de l’application.
  • Avec le chart Helm, le conteneur s’exécute sous un utilisateur sans droits root, sans élévation de privilèges, sans capacités Linux, avec le profil Seccomp RuntimeDefault et sans jeton d’accès à l’API Kubernetes.
  • Les identifiants d’accès (base de données, fournisseur d’identité, SMTP) sont transmis sous forme de variables d’environnement ou de secret Kubernetes, et ne sont pas intégrés à l’image.

Dépendances

Pour chaque release, nous générons une SBOM dont les composants sont contrôlés dans Dependency-Track quant aux vulnérabilités connues (outils : voir chapitre « Technologie »). La personne responsable d’AVG2 au sein d’un canton obtient un accès en consultation à notre Dependency-Track.

Documentation

Documentation d'AVG2

Cet aperçu présente la documentation disponible pour AVG2, le public auquel elle s’adresse et l’endroit où la trouver.

DocumentationPublic cibleOùResponsabilité
Documentation utilisateurTous les utilisateursTextes d’aide multilingues et contextuels, que le canton peut définir sur chaque page destinée aux prestatairesCanton (contenu des textes d’aide)
Documentation administrateurPersonnel cantonalTextes d’aide multilingues et contextuels sur les données de base et les paramètres, dans l’application. itree fournit un texte standard que le canton peut adapter et compléteritree (texte standard) et canton (adaptations propres)
Notes de versionPersonnel cantonalDans l’application. Elles décrivent les adaptations fonctionnelles non techniques de chaque releaseitree
Documentation techniqueCantons, exploitation informatique, auditeursCette page, publique : chapitres « Technologie », « Architecture », « Flux de données » et « Sécurité »itree
Installation et exploitationExploitation informatiqueREADME du chart Helm en anglais, en allemand et en français, inclus dans le paquet du chartitree
Dépendances et vulnérabilitésPersonne responsable du cantonDependency-Track d’itree : SBOM de chaque release avec les vulnérabilités connues. Accès en consultation pour la personne responsable d’AVG2 au sein d’un cantonitree
Documentation des interfacesCantonLes interfaces spécifiques à un canton sont réalisées sur mandat. Leur documentation dépend du mandatCanton, le cas échéant itree
Concept fonctionnelitreeExistant, classifié interne et non public (secret d’affaires)itree