Mise en œuvre du système de santé Philips Tasy

Le Philips Tasy EMR HTML5 (Tasy EMR) est un système de dossiers médicaux électroniques (DME) de pointe développé par Philips Healthcare. Ce logiciel sophistiqué sert de plate-forme de dispositif médical conçue pour gérer les données cliniques et non cliniques dans les environnements de soins de santé.

Bien qu'il fonctionne comme un système autonome, il offre également des capacités d'intégration transparentes avec d'autres systèmes médicaux. Cette flexibilité permet à plusieurs utilisateurs de diverses disciplines de la santé d'accéder et d'utiliser la plateforme, la rendant hautement adaptable et adaptée pour améliorer l'efficacité et la qualité des soins de santé. La mission principale du système de DME Tasy est d'assurer la documentation précise et sécurisée des informations sur les patients.

Tasy EMR est une application à plusieurs niveaux, exécutée sur la base de données Oracle robuste, avec une utilisation étendue des routines PL/SQL. Son système frontal convivial HTML5 est conçu à l'aide de la technologie AngularJS. La communication entre les côtés client et serveur se fait via les services Web SOAP/REST.

Architecture

Cette architecture comprend le système de santé Tasy EMR.

Les principaux composants de l'architecture Tasy EMR sont les suivants :

  • Niveau Client
    • Tasy EMR HTML5 : cette application client Web fonctionne de manière transparente dans le navigateur Google Chrome. Il communique avec le service Web Tasy EMR via des demandes de transfert d'état de représentation (REST), à l'aide d'une API propriétaire.
    • Intégrations : Tasy EMR peut s'intégrer de manière transparente à tout équipement qui utilise des demandes HL7, SOAP, REST ou même de simples échanges de fichiers stockés dans des emplacements partagés.
  • Couche serveur
    • Serveur d'applications : Tasy collabore avec des serveurs d'applications tels qu'Apache Tomcat et Oracle WebLogic Server pour héberger ses composants middleware. Lorsque Tomcat est choisi, les clients ont la possibilité d'utiliser les plates-formes de gestion d'applications Philips, en fournissant des conteneurs d'applications intégrés construits sur Tomcat pour des performances améliorées.
    • Service Web Tasy EMR : Ce service Web pivot est responsable de la réception, du traitement et de la réponse à toutes les demandes initiées par les utilisateurs Tasy EMR.
    • Service Web Tasy EMR Reports : le service Web Reports est exclusivement chargé de générer des rapports système. Il fonctionne dans un environnement séparé et n'est sollicité que par le service Web Tasy EMR pour la génération de rapports.
    • Service Web d'intégration : gérant toutes les exigences d'intégration pour Tasy EMR, ce service polyvalent prend en charge les intégrations HL7, SOAP, REST et basées sur des fichiers. Il gère tous les messages entrants et sortants.
  • Equilibreurs de charge : en utilisant Oracle Cloud Infrastructure Load Balancing en tandem avec deux serveurs sur des instances de calcul exécutant Oracle Linux 8, le système utilise le produit du marché HAProxy pour un équilibrage de charge d'application fiable, garantissant une haute disponibilité.
  • Couche Oracle Database : servant d'épine dorsale du DPI Tasy, cette base de données stocke toutes les informations système, y compris la majorité des règles métier codées sous forme d'objets PL/SQL. La version recommandée et homologuée est Oracle Database 19c, avec prise en charge des versions 12 et 11, ainsi que l'inclusion de MDS.

Remarques :

Pour les projets impliquant plus de 1 500 utilisateurs connectés, Philips conseille fortement aux clients de s'engager avec l'un de ses partenaires d'infrastructure agréés. Les coordonnées de ces partenaires peuvent être obtenues auprès du service commercial.

Remarques :

Pour les clients disposant de plus de 300 postes de travail qui utilisent son service, la documentation de Philips recommande une infrastructure haute disponibilité à toutes les couches : équilibrage, serveurs d'applications et base de données.


philips-tasy-diagramme-oracle.zip

Cette image présente une topologie à trois niveaux composée d'un équilibreur de charge, d'un niveau d'application et d'une instance Oracle Exadata Database Service pour prendre en charge une base de données. Toutes les ressources sont déployées dans un seul domaine de disponibilité dans une région OCI. Le niveau d'équilibreur de charge et le niveau d'application sont isolés dans des sous-réseaux distincts au sein d'un seul VCN. Les groupes de sécurité réseau régulent le trafic réseau vers et depuis les ressources de chaque niveau. Une table de routage attachée à chaque sous-réseau contient des règles pour diriger le trafic destiné aux cibles en dehors du VCN.

  • Les demandes client circulent via une passerelle Internet vers WAF et l'équilibreur de charge principal, qui distribue les demandes au niveau d'équilibrage de charge secondaire, qui envoie la demande au niveau d'application.
  • Le niveau application se compose d'instances de calcul. Les instances de calcul sont réparties uniformément sur tous les domaines de pannes du domaine de disponibilité. Toutes les instances de calcul du niveau d'application sont attachées à un sous-réseau privé.
  • Le niveau de base de données est constitué d'une base de données Oracle Exadata Database Service attachée à un sous-réseau privé dans un VCN distinct.

L'architecture comporte les composants suivants :

  • Location

    Une location est une partition sécurisée et isolée qu'Oracle configure dans Oracle Cloud lors de votre inscription à Oracle Cloud Infrastructure. Vous pouvez créer, organiser et administrer vos ressources dans Oracle Cloud au sein de votre location. Une location est synonyme d'une entreprise ou d'une organisation. Habituellement, une entreprise a une location unique et reflète sa structure organisationnelle au sein de cette location. Une location unique est généralement associée à un seul abonnement, et un seul abonnement n'a généralement qu'une location.

  • Région

    Une région Oracle Cloud Infrastructure est une zone géographique précise qui contient un ou plusieurs centres de données, appelés domaines de disponibilité. Les régions sont indépendantes les unes des autres et de grandes distances peuvent les séparer (dans des pays voire des continents).

  • Compartiment

    Les compartiments sont des partitions logiques inter-région au sein d'une location Oracle Cloud Infrastructure. Utilisez des compartiments pour organiser les ressources dans Oracle Cloud, en contrôler l'accès et définir des quotas d'utilisation. Pour contrôler l'accès aux ressources d'un compartiment donné, vous définissez des stratégies qui indiquent qui peut accéder aux ressources et les actions réalisables.

  • Domaines de disponibilité

    Les domaines de disponibilité sont des centres de données autonomes indépendants au sein d'une région. Les ressources physiques de chaque domaine de disponibilité sont isolées de celles des autres, ce qui garantit la tolérance aux pannes. Les domaines de disponibilité ne partagent ni infrastructure (par exemple, alimentation, système de refroidissement), ni réseau de domaine de disponibilité interne. Ainsi, il est peu probable qu'une panne sur un domaine de disponibilité affecte les autres domaines de disponibilité de la région.

  • Domaines de pannes

    Un domaine de pannes est un regroupement de matériel et d'infrastructures au sein d'un domaine de disponibilité. Chaque domaine de disponibilité comporte trois domaines de pannes avec alimentation et matériel indépendants. Lorsque vous répartissez des ressources entre plusieurs domaines de pannes, vos applications peuvent tolérer les pannes de serveur physiques, de maintenance du système et d'alimentation au sein d'un domaine de pannes.

  • Réseau cloud virtuel (VCN) et sous-réseaux

    Un VCN est un réseau personnalisable défini par logiciel que vous configurez dans une région Oracle Cloud Infrastructure. Comme les réseaux de centre de données traditionnels, les réseaux cloud virtuels vous donnent un contrôle total sur l'environnement réseau. Un réseau cloud virtuel peut comporter plusieurs blocs CIDR qui ne se chevauchent pas et que vous pouvez modifier après l'avoir créé. Vous pouvez segmenter un réseau cloud virtuel en plusieurs sous-réseaux ciblant une région ou un domaine de disponibilité. Chaque sous-réseau est composé d'une plage contiguë d'adresses qui ne chevauchent pas celles des autres sous-réseaux du réseau cloud virtuel. Vous pouvez modifier la taille d'un sous-réseau après sa création. Un sous-réseau peut être public ou privé.

  • Passerelle de service

    La passerelle de service fournit un accès à partir d'un VCN à d'autres services, tels qu'Oracle Cloud Infrastructure Object Storage. Le trafic du VCN vers le service Oracle transite par la structure réseau Oracle et ne traverse jamais Internet.

  • Cloud Guard

    Vous pouvez utiliser Oracle Cloud Guard pour surveiller et maintenir la sécurité de vos ressources dans Oracle Cloud Infrastructure. Cloud Guard utilise des recettes de détecteur que vous pouvez définir pour examiner vos ressources à la recherche de failles de sécurité et pour surveiller les opérateurs et les utilisateurs à la recherche d'activités à risque. En cas de détection d'une mauvaise configuration ou d'une activité non sécurisée, Cloud Guard recommande des actions correctives et aide à effectuer ces actions, en fonction des recettes de répondeur que vous pouvez définir.

  • Stockage d'objet

    Object Storage fournit un accès rapide à de grandes quantités de données, structurées ou non, de tout type de contenu, y compris des sauvegardes de base de données, des données analytiques et du contenu enrichi tel que des images et des vidéos. Vous pouvez stocker les données, puis les extraire directement à partir d'Internet ou de la plate-forme cloud, et ce, en toute sécurité. Vous pouvez facilement faire évoluer le stockage sans dégradation des performances ni de la fiabilité des services. Utilisez le stockage standard pour le stockage "à chaud" auquel vous devez accéder rapidement, immédiatement et fréquemment. Utilisez le stockage d'archive pour le stockage "à froid" que vous conservez pendant de longues périodes et auquel vous accédez rarement.

  • Dynamic routing gateway (DRG)

    Le DRG est un routeur virtuel qui fournit un chemin pour le trafic de réseau privé entre les réseaux cloud virtuels de la même région, entre un VCN et un réseau en dehors de la région, tel qu'un VCN dans une autre région Oracle Cloud Infrastructure, un réseau sur site ou un réseau dans un autre fournisseur cloud.

  • FastConnect

    Oracle Cloud Infrastructure FastConnect permet de créer facilement une connexion privée dédiée entre le centre de données et Oracle Cloud Infrastructure. FastConnect offre des options de bande passante plus élevée et une expérience réseau plus fiable par rapport aux connexions Internet.

  • Exadata Database Service

    Oracle Exadata Database Service vous permet de tirer parti de la puissance d'Exadata dans le cloud. Vous pouvez provisionner des systèmes X8M et X9M flexibles qui vous permettent d'ajouter des serveurs de stockage et des serveurs de calcul de base de données aux systèmes en fonction de l'évolution de vos besoins. Les systèmes X8M et X9M offrent des fonctions de réseau RoCE (RDMA over Converged Ethernet) pour assurer une bande passante élevée et une faible latence, des modules de mémoire persistante (PMEM) et le logiciel Exadata intelligent. Vous pouvez provisionner des systèmes X8M et X9M à l'aide d'une forme équivalente à un système X8 et X9M en quart de rack, puis ajouter des serveurs de base de données et de stockage à tout moment après le provisionnement.

    Oracle Exadata Database Service on Dedicated Infrastructure fournit Oracle Exadata Database Machine en tant que service dans un centre de données Oracle Cloud Infrastructure (OCI). L'instance Oracle Exadata Database Service on Dedicated Infrastructure est un cluster de machines virtuelles qui réside dans les racks Exadata d'une région OCI.

    Oracle Exadata Database Service on Cloud@Customer fournit Oracle Exadata Database Service qui est hébergé dans votre centre de données.

  • Liste de sécurité

    Pour chaque sous-réseau, vous pouvez créer des règles de sécurité indiquant la source, la destination et le type de trafic qui doivent être autorisés à entrer et sortir du sous-réseau.

  • Volume de blocs

    Avec les volumes de stockage de blocs, vous pouvez créer, attacher, connecter et déplacer des volumes de stockage, et modifier leurs performances pour répondre à vos exigences en matière de stockage, de performances et d'application. Une fois un volume attaché et connecté à une instance, vous pouvez l'utiliser comme un disque dur classique. Vous pouvez également déconnecter un volume et l'attacher à une autre instance sans perdre de données.

Recommandations

Utilisez les recommandations suivantes comme point de départ. Vos exigences peuvent différer de l'architecture décrite ici.
  • VCN

    Lorsque vous créez un VCN, déterminez le nombre de blocs CIDR requis et la taille de chaque bloc en fonction du nombre de ressources que vous prévoyez d'attacher aux sous-réseaux du VCN. Utilisez des blocs CIDR qui se trouvent dans l'espace d'adressage IP privé standard.

    Sélectionnez des blocs CIDR qui ne chevauchent aucun autre réseau (dans Oracle Cloud Infrastructure, votre centre de données sur site ou un autre fournisseur cloud) vers lequel vous souhaitez configurer des connexions privées.

    Après avoir créé un VCN, vous pouvez modifier, ajouter et supprimer ses blocs CIDR.

    Lorsque vous concevez les sous-réseaux, tenez compte de vos exigences en matière de flux de trafic et de sécurité. Attachez toutes les ressources d'un niveau ou d'un rôle spécifique au même sous-réseau, qui peut servir de limite de sécurité.

  • Cloud Guard

    Clonez et personnalisez les recettes par défaut fournies par Oracle pour créer des recettes de détecteur et de répondeur personnalisées. Ces recettes vous permettent de spécifier le type de violation de sécurité qui génère un avertissement et les actions autorisées. Par exemple, vous pouvez détecter les buckets Object Storage dont la visibilité est définie sur Public.

    Appliquez Cloud Guard au niveau de la location pour couvrir la portée la plus large et réduire la charge administrative liée à la maintenance de plusieurs configurations.

    Vous pouvez également utiliser la fonctionnalité Liste gérée pour appliquer certaines configurations aux détecteurs.

  • Security Zones

    Pour les ressources nécessitant une sécurité maximale, Oracle recommande d'utiliser des zones de sécurité. Une zone de sécurité est un compartiment associé à une recette de stratégies de sécurité définie par Oracle basée sur les meilleures pratiques. Par exemple, les ressources d'une zone de sécurité ne doivent pas être accessibles à partir du réseau Internet public et elles doivent être cryptées à l'aide de clés gérées par le client. Lorsque vous créez et mettez à jour des ressources dans une zone de sécurité, Oracle Cloud Infrastructure valide les opérations par rapport aux stratégies de la recette de zone de sécurité et refuse les opérations qui violent l'une des stratégies.

  • Groupes de sécurité réseau

    Vous pouvez utiliser des groupes de sécurité réseau pour définir un ensemble de règles entrantes et sortantes qui s'appliquent à des cartes d'interface réseau virtuelles spécifiques. Nous vous recommandons d'utiliser des groupes de sécurité réseau plutôt que des listes de sécurité, car les groupes de sécurité réseau vous permettent de séparer l'architecture de sous-réseau du VCN des exigences de sécurité de votre application.

  • Bande passante d'équilibreur de charge

    Lors de la création de l'équilibreur de charge, vous pouvez sélectionner une forme prédéfinie fournissant une bande passante fixe ou indiquer une forme personnalisée (flexible) dans laquelle vous définissez une plage de bande passante et laisser le service redimensionner automatiquement la bande passante en fonction des modèles de trafic. Selon l'une ou l'autre approche, vous pouvez modifier la forme à tout moment après avoir créé l'équilibreur de charge.

  • Stratégie de sauvegarde des volumes de blocs

    Configurez une stratégie pour effectuer des sauvegardes des volumes de blocs aussi souvent que nécessaire afin de respecter votre RPO.

  • Data Guard

    Oracle Data Guard fournit un ensemble complet de services permettant de créer, de maintenir, de gérer et de surveiller des bases de données de secours afin que les bases de données Oracle de production restent disponibles sans interruption. Oracle Data Guard gère ces bases de données de secours en tant que copies de la base de données de production. Ensuite, si la base de données de production devient indisponible en raison d'une coupure planifiée ou non, Oracle Data Guard peut basculer n'importe quelle base de données de secours vers le rôle de production, ce qui réduit le temps d'inactivité associé à la coupure.

Points à prendre en compte

Lors de la conception de la topologie, tenez compte des facteurs suivants.

  • Performances

    Pour obtenir les meilleures performances, choisissez la forme de calcul appropriée avec la bande passante appropriée.

  • Sécurité

    Utilisez des stratégies pour limiter les personnes pouvant accéder aux ressources OCI dont dispose votre entreprise et leur accès. Le cryptage est activé pour OCI Object Storage par défaut et ne peut pas être désactivé.

  • Disponibilité

    Envisagez d'utiliser une option de haute disponibilité en fonction de vos exigences de déploiement et de votre région. Vous pouvez notamment utiliser plusieurs domaines de disponibilité dans une région et des domaines de pannes.

  • Récupération après sinistre

    Il est recommandé aux clients qui utilisent plus de 300 postes de travail consommant son service de créer un environnement de récupération après sinistre à l'aide de la réplication de volume inter-région (reportez-vous à Explorer plus) et de l'utilisation d'Oracle Data Guard.

  • Coût

    Une instance Oracle Exadata Database Service fournit la puissance d'UC nécessaire pour un coût plus élevé. Évaluez vos besoins pour choisir un moyen d'utiliser la mise à l'échelle de l'UC (changement à chaud, sans temps d'arrêt).

  • Conseils sur le dimensionnement

    Vous trouverez ci-dessous le dimensionnement utilisé, basé sur un cas de référence client, et présenté à titre informatif uniquement. Rappelez-vous que tous les dimensionnements et l'architecture doivent être créés avec les équipes approuvées par Philips Healthcare.

Sessions Taille Env Rôle Nombre de machines virtuelles Nb d'OCPU NB DE MÉMOIRES (GB) Nb de disques (Go) Forme de machine virtuelle Nombre total d'OCPU MEM totale (Go) Disque total (Go) Noeuds (Single/RAC) NB DE BASES DE DONNÉES D'UC Nombre total d'OCPU - Base de données Nombre de bases de données sur disque (Go) Equilibrage de charge flexible
100 Utilisateurs S PROD Gestionnaire d'applications Philips 2 4 48 150 VM.Standard.E4.Flex 8 96 300 1 4 4 (712) 1
300 Utilisateurs M PROD Gestionnaire d'applications Philips 2 4 48 150 VM.Standard.E4.Flex 8 96 300 1 6 6 968 1
500 Utilisateurs L PROD Gestionnaire d'applications Philips 4 4 48 150 VM.Standard.E4.Flex 16 192 600 1 8 8 1 736 1
700 Utilisateurs XL PROD Gestionnaire d'applications Philips 6 4 48 150 VM.Standard.E4.Flex 24 (288) 900 2 10 20 2 760 1
1000 Utilisateurs 2XL PROD Gestionnaire d'applications Philips 8 4 48 150 VM.Standard.E4.Flex 32 384 1 200 2 10 20 5 320 1
1200 Utilisateurs 3XL PROD Gestionnaire d'applications Philips 12 4 48 150 VM.Standard.E4.Flex 48 (576) 1 800 2 12 24 10 440 1
1500 Utilisateurs 4XL PROD Gestionnaire d'applications Philips 14 4 48 150 VM.Standard.E4.Flex 56 (672) (2100) 2 14 28 16 584 1
100 Utilisateurs S PROD Intégration Tomcat WSI 1 4 4 150 VM.Standard.E4.Flex 4 4 150 -- -- -- -- --
Plus de 100 utilisateurs -- PROD Intégration Tomcat WSI 1 8 32 150 VM.Standard.E4.Flex 8 32 150 -- -- -- -- --
100 Utilisateurs S PROD Intégration TIE 1 4 4 150 VM.Standard.E4.Flex 4 4 150 -- -- -- -- --
Plus de 100 utilisateurs -- PROD Intégration TIE 1 8 32 150 VM.Standard.E4.Flex 8 32 150 -- -- -- -- --
100 Utilisateurs S QA Gestionnaire d'applications Philips 1 4 48 150 VM.Standard.E4.Flex 4 48 150 1 4 4 (712) --
100 Utilisateurs S QA Service Web d'intégration Tomcat 1 4 16 150 VM.Standard.E4.Flex 4 16 150 -- -- -- -- --

Remarques :

Utilisez la barre de défilement en bas de ce tableau pour afficher les colonnes masquées.

Accusés de réception

Authors: Diego Mariano, Lucas Fernandes

Contributors: Guilherme Teló, John Sulyok