Philips Tasy Healthcare System 구현

Philips Tasy EMR HTML5(Tasy EMR)은 Philips Healthcare가 개발한 최첨단 웹 기반 전자 의료 기록(EMR) 시스템입니다. 이 정교한 소프트웨어는 의료 환경에서 임상 및 비 임상 데이터를 모두 관리하도록 설계된 의료 기기 플랫폼 역할을 합니다.

독립형 시스템으로 작동하지만 다른 의료 시스템과의 원활한 통합 기능도 제공합니다. 이러한 유연성을 통해 다양한 의료 분야의 여러 사용자가 플랫폼에 액세스하고 활용할 수 있으므로 적응력이 뛰어나고 의료 효율성과 품질을 향상시키는 데 적합합니다. Tasy EMR 시스템의 주요 임무는 환자 정보의 정확하고 안전한 문서화를 보장하는 것입니다.

Tasy EMR은 PL/SQL 루틴의 광범위한 활용으로 강력한 Oracle 데이터베이스에서 실행되는 다중 계층 응용 프로그램입니다. 사용자에게 친숙한 HTML5 프론트엔드는 AngularJS 기술을 사용하여 구축되었습니다. 클라이언트와 서버측 간의 통신은 SOAP/REST 웹 서비스를 통해 발생합니다.

구조

이 아키텍처는 Tasy EMR 의료 시스템을 갖추고 있습니다.

Tasy EMR 아키텍처의 주요 구성 요소는 다음과 같습니다.

  • 클라이언트 계층
    • Tasy EMR HTML5: 이 웹 기반 클라이언트 애플리케이션은 Google Chrome 브라우저 내에서 원활하게 작동합니다. 독점 API를 사용하여 REST(표현 상태 전송) 요청을 통해 Tasy EMR 웹 서비스와 통신합니다.
    • 통합: Tasy EMR은 HL7, SOAP, REST 요청 또는 공유 위치에 저장된 간단한 파일 교환을 사용하는 모든 장비와 원활하게 통합할 수 있습니다.
  • 서버 계층
    • 애플리케이션 서버: Tasy는 Apache Tomcat 및 Oracle WebLogic Server와 같은 애플리케이션 서버와 협력하여 미들웨어 구성요소를 호스팅합니다. Tomcat을 선택하면 고객은 Philips 앱 관리자 플랫폼을 활용하여 성능 향상을 위해 Tomcat에 구축된 통합 애플리케이션 컨테이너를 제공할 수 있습니다.
    • Tasy EMR 웹 서비스: 이 피보탈 웹 서비스는 Tasy EMR 사용자가 시작한 모든 요청을 수신, 처리 및 응답합니다.
    • Tasy EMR Reports 웹 서비스: Reports 웹 서비스에는 시스템 보고서 생성 작업만 포함됩니다. 분리된 환경에서 작동하며 Tasy EMR 웹 서비스에서 보고서 생성을 위해서만 호출됩니다.
    • 통합 웹 서비스: Tasy EMR에 대한 모든 통합 요구사항을 처리하는 이 다용도 서비스는 HL7, SOAP, REST 및 파일 기반 통합을 수용합니다. 모든 수신 및 발신 메시지를 관리합니다.
  • 로드 밸런서: Oracle Cloud Infrastructure Load BalancingOracle Linux 8을 실행하는 컴퓨트 인스턴스의 두 서버와 함께 활용하면 강력한 애플리케이션 로드 밸런싱을 위해 HAProxy 시장 제품을 사용하므로 고가용성이 보장됩니다.
  • Oracle Database 계층: Tasy EMR의 중추 역할을 하는 이 데이터베이스는 PL/SQL 객체 형식으로 인코딩된 대부분의 비즈니스 규칙을 포함하여 모든 시스템 정보를 저장합니다. 권장 및 동질 버전인 Oracle Database 19c는 MDS 포함과 함께 12 및 11을 지원합니다.

주:

1,500명 이상의 연결된 사용자와 관련된 프로젝트의 경우 Philips는 고객에게 승인된 인프라 파트너 중 한 명과 소통할 것을 강력히 권고합니다. 이러한 파트너의 연락처 정보는 상업 부서에서 얻을 수 있습니다.

주:

서비스를 사용하는 워크스테이션이 300개 이상인 고객의 경우 Philips 설명서는 모든 계층(밸런싱, 애플리케이션 서버 및 데이터베이스)에서 고가용성 인프라를 권장합니다.


philips-tasy-diagram-oracle.zip

이 이미지는 로드 밸런서, 애플리케이션 계층 및 데이터베이스를 지원하는 Oracle Exadata Database Service로 구성된 3계층 토폴로지를 보여줍니다. 모든 리소스는 OCI 리전의 단일 가용성 도메인에 배치됩니다. 로드 밸런서 계층과 애플리케이션 계층은 단일 VCN 내의 개별 서브넷에 격리됩니다. 네트워크 보안 그룹은 각 계층의 리소스에 대한 네트워크 트래픽을 규제합니다. 각 서브넷에 연결된 라우트 테이블에는 VCN 외부의 대상으로 지정된 트래픽을 보내는 규칙이 포함되어 있습니다.

  • 클라이언트 요청은 인터넷 게이트웨이를 통해 WAF 및 기본 로드 밸런서로 유입되며, 보조 로드 밸런스 계층에 요청을 분산하여 애플리케이션 계층으로 전송합니다.
  • 애플리케이션 계층은 컴퓨트 인스턴스로 구성됩니다. 컴퓨팅 인스턴스는 가용성 도메인의 모든 장애 도메인에 고르게 분산됩니다. 애플리케이션 계층의 모든 컴퓨트 인스턴스는 전용 서브넷에 연결됩니다.
  • 데이터베이스 계층은 별도의 VCN의 전용 서브넷에 연결된 Oracle Exadata Database Service 데이터베이스로 구성됩니다.

아키텍처의 구성 요소는 다음과 같습니다.

  • 테넌시

    테넌시는 Oracle Cloud Infrastructure에 등록할 때 Oracle이 Oracle Cloud 내에서 설정하는 격리된 보안 분할영역입니다. Oracle Cloud에서 테넌시 내의 리소스를 생성, 구성 및 관리할 수 있습니다. 테넌시는 회사 또는 조직과 동의어입니다. 일반적으로 회사는 단일 테넌시를 가지며 해당 테넌시 내의 조직 구조를 반영합니다. 일반적으로 단일 테넌시는 단일 구독과 연관되며, 단일 구독에는 일반적으로 하나의 테넌시만 포함됩니다.

  • 지역

    Oracle Cloud Infrastructure 지역은 가용성 도메인이라는 하나 이상의 데이터 센터를 포함하는 지역화된 지리적 영역입니다. 지역은 다른 지역과는 독립적이며, 거리는 국가 또는 대륙에 걸쳐 분리될 수 있습니다.

  • 구획

    구획은 Oracle Cloud Infrastructure 테넌시 내의 영역 간 논리적 분할 영역입니다. 구획을 사용하여 Oracle Cloud에서 리소스를 구성하고, 리소스에 대한 액세스를 제어하고, 사용 할당량을 설정합니다. 지정된 구획의 리소스에 대한 액세스를 제어하려면 리소스에 액세스할 수 있는 사용자 및 수행할 수 있는 작업을 지정하는 정책을 정의합니다.

  • 가용성 도메인

    가용성 도메인은 한 지역 내의 독립형 독립형 데이터 센터입니다. 각 가용성 도메인의 물리적 리소스는 결함 허용을 제공하는 다른 가용성 도메인의 리소스와 격리됩니다. 가용성 도메인은 전원이나 냉각과 같은 인프라나 내부 가용성 도메인 네트워크를 공유하지 않습니다. 따라서 특정 가용성 도메인에서 장애가 발생해도 해당 지역의 다른 가용성 도메인에 영향을 주지 않습니다.

  • 결함 도메인

    장애 도메인은 가용성 도메인 내의 하드웨어 및 인프라 그룹입니다. 가용성 도메인에는 독립적인 전원 및 하드웨어가 있는 결함 도메인이 3개 있습니다. 여러 장애 도메인에 리소스를 배포할 때 애플리케이션은 장애 도메인 내의 물리적 서버 장애, 시스템 유지 관리 및 전원 장애를 견딜 수 있습니다.

  • VCN(가상 클라우드 네트워크) 및 서브넷

    VCN은 Oracle Cloud Infrastructure 지역에서 설정한 커스터마이징 가능한 소프트웨어 정의 네트워크입니다. 기존 데이터 센터 네트워크와 마찬가지로 VCN을 사용하면 네트워크 환경을 완전히 제어할 수 있습니다. VCN은 VCN 생성 후 변경할 수 있는 겹치지 않는 여러 CIDR 블록을 가질 수 있습니다. VCN을 서브넷으로 분할할 수 있으며, 영역 또는 가용성 도메인으로 범위를 지정할 수 있습니다. 각 서브넷은 VCN의 다른 서브넷과 겹치지 않는 연속적인 주소 범위로 구성됩니다. 서브넷을 생성한 후 크기를 변경할 수 있습니다. 서브넷은 공용 또는 전용일 수 있습니다.

  • 서비스 게이트웨이

    서비스 게이트웨이는 VCN에서 Oracle Cloud Infrastructure Object Storage와 같은 다른 서비스로의 액세스를 제공합니다. VCN에서 Oracle 서비스로의 트래픽은 Oracle 네트워크 패브릭을 통해 이동하며 인터넷을 순회하지 않습니다.

  • Cloud Guard

    Oracle Cloud Guard를 사용하여 Oracle Cloud Infrastructure에서 리소스의 보안을 모니터링하고 유지 관리할 수 있습니다. Cloud Guard는 감지자 레시피를 사용하여 리소스의 보안 취약점을 검사하고 운영자 및 사용자에게 위험한 작업을 모니터하도록 정의할 수 있습니다. 잘못 구성되거나 안전하지 않은 작업이 감지되면 Cloud Guard는 정의할 수 있는 응답자 레시피를 기반으로 해결 조치를 권장하고 해당 작업을 수행할 수 있도록 지원합니다.

  • 객체 스토리지

    오브젝트 스토리지를 사용하면 데이터베이스 백업, 분석 데이터, 이미지 및 비디오와 같은 리치 콘텐츠 등 모든 콘텐츠 유형의 대량의 정형 및 비정형 데이터에 빠르게 액세스할 수 있습니다. 인터넷 또는 클라우드 플랫폼 내에서 직접 안전하고 안전하게 데이터를 저장하고 검색할 수 있습니다. 성능 또는 서비스 안정성의 저하 없이 스토리지를 원활하게 확장할 수 있습니다. 빠르고 즉각적이며 자주 액세스하는 데 필요한 "핫" 스토리지에 표준 스토리지를 사용합니다. 장기간 보관하고 거의 액세스하지 않는 "콜드" 스토리지에는 아카이브 스토리지를 사용합니다.

  • Dynamic routing gateway(DRG)

    DRG는 VCN과 지역 외부 네트워크(예: 다른 Oracle Cloud Infrastructure 지역의 VCN, 온프레미스 네트워크 또는 다른 클라우드 제공자의 네트워크) 간에 동일한 지역의 VCN 간 전용 네트워크 트래픽에 대한 경로를 제공하는 가상 라우터입니다.

  • FastConnect

    Oracle Cloud Infrastructure FastConnect는 데이터 센터 및 Oracle Cloud Infrastructure 간 전용 개인 연결을 생성할 수 있는 쉬운 방법을 제공합니다. FastConnect는 인터넷 기반 연결에 비해 더 높은 대역폭 옵션과 더 안정적인 네트워킹 환경을 제공합니다.

  • Exadata 데이터베이스 서비스

    Oracle Exadata Database Service를 통해 클라우드에서 Exadata의 기능을 활용할 수 있습니다. 필요에 따라 데이터베이스에 컴퓨트 서버와 스토리지 서버를 추가할 수 있는 유연한 X8M 및 X9M 시스템을 프로비전할 수 있습니다. X8M 및 X9M 시스템은 고대역폭과 짧은 대기시간, 영구 메모리(PMEM) 모듈 및 지능형 Exadata 소프트웨어를 위한 RDMA over Converged Ethernet(RoCE) 네트워킹을 제공합니다. 쿼터 랙 X8 및 X9M 시스템에 해당하는 구성을 사용하여 X8M 및 X9M 시스템을 프로비전한 다음 프로비전 후 언제든지 데이터베이스 및 스토리지 서버를 추가할 수 있습니다.

    Oracle Exadata Database Service on Dedicated InfrastructureOracle Cloud Infrastructure(OCI) 데이터 센터에서 Oracle Exadata Database Machine을 서비스로 제공합니다. Oracle Exadata Database Service on Dedicated Infrastructure 인스턴스는 OCI 지역의 Exadata 랙에 상주하는 VM(가상 머신) 클러스터입니다.

    Oracle Exadata Database Service on Cloud@Customer는 데이터 센터에서 호스팅되는 Oracle Exadata Database Service를 제공합니다.

  • 보안 목록

    각 서브넷에 대해 서브넷에 들어오고 나가야 하는 트래픽의 소스, 대상 및 유형을 지정하는 보안 규칙을 생성할 수 있습니다.

  • 블록 볼륨

    블록 스토리지 볼륨을 사용하면 스토리지 볼륨을 생성, 연결, 연결 및 이동하고 스토리지, 성능 및 애플리케이션 요구사항을 충족하기 위해 볼륨 성능을 변경할 수 있습니다. 볼륨을 인스턴스에 연결한 후 일반 하드 드라이브처럼 볼륨을 사용할 수 있습니다. 볼륨 연결을 해제하고 데이터 손실 없이 다른 인스턴스에 연결할 수도 있습니다.

권장사항

다음 권장 사항을 시작점으로 사용합니다. 요구 사항은 여기에 설명된 아키텍처와 다를 수 있습니다.
  • VCN

    VCN을 생성할 때 VCN의 서브넷에 연결할 리소스 수를 기준으로 필요한 CIDR 블록 수와 각 블록의 크기를 결정합니다. 표준 전용 IP 주소 공간 내에 있는 CIDR 블록을 사용합니다.

    전용 접속을 설정할 다른 네트워크(Oracle Cloud Infrastructure, 온프레미스 데이터 센터 또는 다른 클라우드 제공자)와 겹치지 않는 CIDR 블록을 선택합니다.

    VCN을 생성한 후 해당 CIDR 블록을 변경, 추가 및 제거할 수 있습니다.

    서브넷을 설계할 때 트래픽 흐름 및 보안 요구 사항을 고려합니다. 특정 계층 또는 역할 내의 모든 리소스를 보안 경계로 사용할 수 있는 동일한 서브넷에 연결합니다.

  • Cloud Guard

    Oracle에서 제공하는 기본 레시피를 복제하고 사용자정의하여 사용자정의 감지기 및 응답기 레시피를 생성합니다. 이러한 레시피를 사용하면 경고를 생성하는 보안 위반 유형과 경고에 대해 수행할 수 있는 작업을 지정할 수 있습니다. 예를 들어 가시성이 공용으로 설정된 오브젝트 스토리지 버킷을 감지할 수 있습니다.

    테넌시 레벨에서 Cloud Guard를 적용하여 가장 광범위한 범위를 다루고 여러 구성을 유지 관리하는 관리 부담을 줄입니다.

    관리되는 목록 기능을 사용하여 감지기에 특정 구성을 적용할 수도 있습니다.

  • 보안 영역

    최대 보안이 필요한 리소스의 경우 Oracle은 보안 영역을 사용할 것을 권장합니다. 보안 영역은 모범 사례를 기반으로 하는 Oracle에서 정의한 보안 정책 레시피와 연관된 구획입니다. 예를 들어, 보안 영역의 리소스는 공용 인터넷에서 액세스할 수 없어야 하며 고객 관리 키를 사용하여 암호화해야 합니다. 보안 영역에서 리소스를 생성 및 업데이트할 때 Oracle Cloud Infrastructure는 보안 영역 레시피의 정책에 대해 작업을 검증하고 모든 정책을 위반하는 작업을 거부합니다.

  • NSG(Network Security Groups)

    NSG를 사용하여 특정 VNIC에 적용되는 수신 및 송신 규칙 세트를 정의할 수 있습니다. NSG를 사용하면 VCN의 서브넷 아키텍처와 애플리케이션의 보안 요구사항을 분리할 수 있으므로 보안 목록 대신 NSG를 사용하는 것이 좋습니다.

  • 로드 밸런서 대역폭

    로드 밸런서를 생성하는 동안 고정 대역폭을 제공하는 사전 정의된 구성을 선택하거나, 대역폭 범위를 설정하는 사용자정의(유연한) 구성을 지정하고, 서비스가 트래픽 패턴에 따라 대역폭을 자동으로 확장하도록 할 수 있습니다. 두 접근 방법 모두 로드 밸런서를 생성한 후 언제든지 구성을 변경할 수 있습니다.

  • 블록 볼륨 백업 정책

    RPO를 충족하기 위해 필요한 만큼 자주 블록 볼륨을 백업하도록 정책을 구성합니다.

  • Data Guard

    Oracle Data Guard는 하나 이상의 대기 데이터베이스를 생성, 유지, 관리 및 모니터링하여 운영 Oracle 데이터베이스를 중단 없이 계속 사용할 수 있도록 하는 종합적인 서비스 세트를 제공합니다. Oracle Data Guard는 이러한 대기 데이터베이스를 운용 중인 데이터베이스의 복사본으로 유지 관리합니다. 그런 다음 계획된 운용중단 또는 계획되지 않은 운용중단으로 인해 운용 데이터베이스를 사용할 수 없게 되면 Oracle Data Guard는 대기 데이터베이스를 운용 롤로 전환하여 운용중단과 연관된 작동 중지 시간을 최소화할 수 있습니다.

고려사항

토폴로지를 설계할 때 다음 요소를 고려합니다.

  • 성능

    최상의 성능을 얻으려면 적절한 대역폭의 올바른 컴퓨트 구성을 선택하십시오.

  • 보안

    정책을 사용하여 기업이 보유한 OCI 리소스에 액세스할 수 있는 사용자와 해당 리소스에 액세스할 수 있는 방법을 제한합니다. 암호화는 기본적으로 OCI Object Storage에 대해 사용으로 설정되며, 해제할 수 없습니다.

  • 가용성

    배포 요구사항 및 지역에 따라 고가용성 옵션을 사용하는 것이 좋습니다. 옵션에는 한 지역에서 여러 가용성 도메인 사용 및 장애 도메인 사용이 포함됩니다.

  • 장애 복구

    서비스를 사용하는 300개 이상의 워크스테이션을 사용하는 고객은 영역 간 볼륨 복제(자세히 탐색 참조) 및 Oracle Data Guard를 사용하여 재해 복구 환경을 생성하는 것이 좋습니다.

  • 비용

    Oracle Exadata Database Service 인스턴스는 더 높은 비용으로 필요한 CPU 전력을 제공합니다. 요구 사항을 평가하여 CPU 스케일 업 및 스케일 다운 사용 방법(핫 시 변경, 다운타임 없음)을 선택합니다.

  • 크기 조정 팁

    다음은 고객 레퍼런스 사례를 기반으로 사용되는 크기 조정이며 정보 제공 목적으로만 제공됩니다. 모든 규모와 아키텍처는 Philips Healthcare가 승인한 팀과 함께 만들어져야 합니다.

세션 크기 환경 # VM OCPU 수 메모리 수(GB) 디스크 수(GB) VM 구성 총 OCPU 총 MEM(GB) 총 디스크(GB) 노드(단일/RAC) OCPU DB 수 총 OCPU DB 디스크 수(GB) DB 가변 로드 밸런싱
100 사용자 S PROD Philips-App-관리자 2 4 48 150 VM.Standard.E4.Flex 8 96 300 1 4 4 712 1
300 사용자 PROD Philips-App-관리자 2 4 48 150 VM.Standard.E4.Flex 8 96 300 1 6 6 968 1
500 사용자 L PROD Philips-App-관리자 4 4 48 150 VM.Standard.E4.Flex 16 192 600 1 8 8 1736 1
700 사용자 XL PROD Philips-App-관리자 6 4 48 150 VM.Standard.E4.Flex 24 288 900 2 10 20 2760 1
1000 사용자 2XL PROD Philips-App-관리자 8 4 48 150 VM.Standard.E4.Flex 32 384 1200 2 10 20 5320 1
1200 사용자 3XL PROD Philips-App-관리자 12 4 48 150 VM.Standard.E4.Flex 48 576 1800 2 12 24 10440 1
1500 사용자 4XL PROD Philips-App-관리자 14 4 48 150 VM.Standard.E4.Flex 56 672 2100 2 14 28 16584 1
100 사용자 S PROD Tomcat 통합 WSI 1 4 4 150 VM.Standard.E4.Flex 4 4 150 -- -- -- -- --
100명 이상의 사용자 -- PROD Tomcat 통합 WSI 1 8 32 150 VM.Standard.E4.Flex 8 32 150 -- -- -- -- --
100 사용자 S PROD 통합 TIE 1 4 4 150 VM.Standard.E4.Flex 4 4 150 -- -- -- -- --
100명 이상의 사용자 -- PROD 통합 TIE 1 8 32 150 VM.Standard.E4.Flex 8 32 150 -- -- -- -- --
100 사용자 S QA Philips-App-관리자 1 4 48 150 VM.Standard.E4.Flex 4 48 150 1 4 4 712 --
100 사용자 S QA Tomcat 통합 웹 서비스 1 4 16 150 VM.Standard.E4.Flex 4 16 150 -- -- -- -- --

주:

이 표의 아래쪽에 있는 스크롤 막대를 사용하여 숨겨진 열을 볼 수 있습니다.

수락

Authors: Diego Mariano, Lucas Fernandes

Contributors: Guilherme Teló, John Sulyok