BLOG

OHDSI를 활용하여 건강 분석을 위한 AWS용 데이터 과학 환경 구축
작성일: 2018-04-12

헬스케어 데이터에 기술을 적용하면 많은 흥미롭고 중요한 결과를 가져올 수 있습니다. 헬스케어 데이터에서 생성된 분석을 통해 의료 전문가는 그들이 제공하는 치료를 강화하는 더 나은 결정을 할 수 있도록 하여 개인과 집단의 건강을 개선할 수 있습니다.

 

관찰 보건 데이터 과학 및 정보학(OHDSI,”오디세이”)프로그램 및 커뮤니티에서는 헬스 데이터를 저장하고 분석하기 위한 데이터 표준 및 오픈 소스 솔루션을 만들어 목표를 위해 노력하고 있습니다. OHDSI 툴을 사용하여 모든 인구의 건강을 시각화할 수 있습니다. 환자 코호트를 구축하고, 다양한 조건에 대한 발생률을 분석하고, 특정 조건이 있는 환자에 대한 치료의 효과를 추정할 수 있습니다. 머신러닝 알고리즘을 사용하여 건강상태 결과 예측을 모델링 할 수도 있습니다.

 

빅 데이터 툴을 사용할 때 직면하는 문제 중 하나는 빅 데이터 툴을 실행하는 데 필요한 인프라 비용입니다. 또 다른 과제는 이러한 툴을 구현하고 사용하기 시작하는 학습 곡선입니다. Amazon Web Services는 경제적이고 유연하며 자동화된 방식으로 엔터프라이즈 클래스 인프라 및 기술을 사용할 수 있게 함으로써 많은 고전적인 IT과제를 해결할 수 있도록 해 주었습니다. 이 블로그 포스트는 OHDSI 프로젝트(아틀라스, 아킬레스, WepAPI, OMOP Common Data 모델)중 일부를 AWS기술과 결합하는 방법을 시연합니다. 이렇게 하면 상태 데이터 과학 및 정보 환경을 신속하고 저렴하게 구현할 수 있습니다.

 

다음은 OHDSI 툴을 통해 가능한 인구 보건 분석의 한 예에 불과합니다. 이 시각화는 주어진 인구 내에서 다양한 약물의 보급을 보여 줍니다. 이 정보는 연구원과 의료 전문가가 추세를 발견하고 환자의 건강에 대해 보다 정확한 의사 결정을 내리는 데 도움이 됩니다.

 

 

AWS의 OHDSI 응용 아키텍처
보호된 건강 정보(PHI) 또는 개인 식별 정보(PII)를 전송, 처리 또는 저장하는 애플리케이션을 AWS에 배포하기 전에 조직의 규정 준수 문제를 해결하십시오. 조직을 통제하는 법률 및 규정을 준수할 수 있도록 내부 규정 준수 및 법무 팀과 협력해야 합니다. AWS 서비스를 전체 규정 준수 프로그램의 일부로 사용하는 방법을 알아보려면 AWS HIPAA Compliance 백서를 참조하십시오. 그렇게 말하면서 우리는 이 솔루션의 설계 중에 HIPAA 통제 세트에 세심한 주의를 기울였습니다.

 

이 블로그 포스트는 샘플 데이터가 저장된 데이터 웨어하우스를 포함하여 OHDSI 응용 프로그램 환경에 대한 완벽한 내용을 제공합니다. 다음과 같은 기능이 있습니다.

 

  • 고가용성을 갖춘 격리된 3계층 Amazon VPC(Virtual Private Cloud)에 배포됩니다.
  • 유휴 데이터와 전송 중인 암호화를 사용합니다(웹 애플리케이션 서버 및 로드 밸런싱 장치용 인증서가 추가되어야 함).
  • AWS의 관리형 서비스를 사용하며, OS, 미들웨어 및 데이터베이스 패치 및 유지 관리는 대부분 자동화되어 있습니다.
  • 운영 및 재해 복구를 위한 자동 백업 생성
  • 약 한 시간 안에 자동으로 구축됩니다.
  • AWS Solution Calculator를 사용하여 비즈니스 레벨 지원을 통해 합리적인 월별 비용 산출

 

다음에는, OHDSI 툴이 AWS에서 제공되는 서비스에 어떻게 매핑 되는지에 대한 블록 다이어그램을 볼 수 있습니다.

 

 

아틀라스는 연구원들이 분석을 수행하기 위해 상호 작용하는 웹 응용 프로그램입니다. 아틀라스는 WebAPI라는 웹 서비스 응용 프로그램을 통해 기본 데이터베이스와 상호 작용합니다. 이 예에서는 아틀라스와 WebAPI가 AWS Elastic Beanstalk에 의해 배포되고 관리됩니다. Elastic Beanstalk은 웹 애플리케이션을 배포하고 확장하기 위해 사용이 간편한 서비스입니다. 아틀라스와 WebAPI를 업로드하기만 하면, Elastic Beanstalk이 자동으로 배포를 처리합니다. 용량 프로비저닝, 로드 밸런싱, 오토 스케일링, 고가용성에서부터 애플리케이션 상태 모니터링에 이르기까지 모든 것을 다룹니다. ebextensions이라는 Elastic Beanstalk기능을 사용하여 아틀라스 및 WebAPI는 미들웨어 애플리케이션 로그에 대해 암호화된 스토리지 볼륨을 사용하도록 커스터마이징됩니다.

 

아틀라스는 관측 건강 데이터와는 별도로 전용 데이터베이스에 분석된 다양한 환자 코호트의 상태를 저장합니다. 이 데이터베이스는 Amazon Aurora에 의해 PostgreSQL 호환성과 함께 제공됩니다.

 

Amazon Aurora는 오픈 소스 데이터베이스의 단순성과 비용 효율성에 최고급 상업용 데이터베이스의 성능과 가용성을 결합하여 클라우드를 위해 구축된 관계형 데이터베이스입니다. 이 솔루션은 비용 효율적이며 복원 가능한 용량을 제공하는 동시에 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같은 시간 소모적인 관리 작업을 자동화합니다. 이 구성은 고가용성으로 구성되며 데이터베이스 및 백업 시 유휴 상태의 암호화와 JDBC 연결에 대해 전송 중인 암호화를 사용합니다.

 

이 작업은 다음과 같은 AWS CloudFormation 코드를 통해 수행됩니다.

 

RDSCluster:

    Type: AWS::RDS::DBCluster

    Properties:

      Engine: aurora-postgresql

      StorageEncrypted: ‘True’

RDSDBClusterParameterGroup:

    Type: AWS::RDS::DBClusterParameterGroup

    Properties:

      Parameters:

        rds.force_ssl: 1

RedshiftCluster:

    Type: “AWS::Redshift::Cluster”

    Properties:

      Encrypted: “True”

      PubliclyAccessible: “False”

RedshiftClusterParameterGroup:

    Type: “AWS::Redshift::ClusterParameterGroup”

    Properties:

      Parameters:

        –

          ParameterName: “require_ssl”

          ParameterValue: “true”

 

모든 관측 건강 데이터는 OHDSI 관측 의학 결과 파트너십 공통 데이터 모델(OMOP CDM)에 저장되어 있습니다. 이 모델은 또한 다양한 데이터 출처(EHR시스템 및 청구 데이터와 같은)의 값을 변환하는 데 도움이 되는 유용한 어휘 표를 저장합니다.

 

OMOP CDM 스키마는 Amazon Redshift에 배포되었습니다. Amazon Redshift는 페타 바이트 규모의 정형화된 데이터에 대해 복잡한 분석 쿼리를 실행할 수 있도록 해 주는 빠르고 완벽하게 관리되는 데이터 웨어하우스입니다. 이 솔루션은 정교한 쿼리 최적화, 고성능 로컬 디스크의 열 기반 스토리지 및 대규모 병렬 쿼리 실행을 사용합니다. 또한 요구 사항이 변경됨에 따라 Amazon Redshift 클러스터의 크기를 조정할 수도 있습니다.

 

이 블로그 포스트의 솔루션은 CMS2008-2010데이터 기업가의 합성 공공 사용 파일(DE-SynPUF)에서 1,000명의 식별되지 않은 샘플 데이터를 자동으로 로드합니다. 이 데이터는 LTS Computing LLC를 포맷하는 데 도움이 됩니다. OHDSI Athena 프로젝트의 단어 데이터도 OMOP CDM에 로딩되어 결과가 OHDSI Achille에 의해 계산됩니다.

 

Application Component AWS Service Source Link
Automation AWS CloudFormation https://github.com/awslabs/aws-ohdsi-automated-deployment
Atlas Application AWS Elastic Beanstalk https://github.com/OHDSI/Atlas
WebAPI Web Services AWS Elastic Beanstalk https://github.com/OHDSI/WebAPI
WebAPI Database Schema Amazon Relational Database Service (Amazon RDS) Aurora PostgreSQL http://www.ohdsi.org/web/wiki/doku.php?id=documentation:software:webapi:postgresql_installation_guide
OMOP CDM v5.2 Database Schema Amazon Redshift https://github.com/OHDSI/CommonDataModel/tree/master/Redshift
CMS DE-SynPUF Sample Data Amazon Redshift https://www.cms.gov/Research-Statistics-Data-and-Systems/Downloadable-Public-Use-Files/SynPUFs/DE_Syn_PUF.html
Athena Vocabulary Data Amazon Redshift http://athena.ohdsi.org/
Achilles Results Computation Amazon Redshift https://github.com/OHDSI/Achilles

 

다음은 배치될 아키텍처의 구성을 보여 주는 상세한 기술 다이어그램입니다.

 

 

AWS에서 OHDSI 시행
방금 설명한 모든 항목은 AWS CloudFormation 템플릿을 사용하여 자동으로 배포됩니다. 이 템플릿을 사용하여 OHDSI 프로젝트를 빠르게 시작할 수 있습니다. 이 배포를 위한 CloudFormation 템플릿과 모든 지원 스크립트 및 소스 코드는 AWS Labs GitHub repo에서 확인할 수 있습니다.

 

AWS계정에서 CloudFormation 관리 콘솔을 열어 스택 생성을 선택합니다. 여기에서 다음 URL을 복사하여 AmazonS3 템플릿 URL지정 상자에 붙여 넣고 다음을 선택합니다.

 

https://s3.amazonaws.com/aws-bigdata-blog/artifacts/aws-ohdsi-automated-deployment/OHDSI-master.yaml

 

 

다음 화면에서는 스택 이름(이것은 여러분이 좋아하는 어떤 것이든 될 수 있습니다)과 OHDSI 환경에 대한 몇 가지 다른 파라미터를 제공해 드릴 수 있습니다.

 

DatabasePassword 매개 변수를 사용해 Amazon Redshift 및 Aurora 데이터베이스의 마스터 사용자 계정에 대한 암호를 설정할 수 있습니다.

아틀라스에 대한 고유한 URL을 생성하여 EBEndpoint 이름을 사용해 OHDSI 환경에 액세스 할 수 있습니다. 이는 http://EBEndpoint.AWS-Region.elasticbeanstalk.com이며, EBEndpoint.AWS-Region은 Elastic Beanstalk 엔드포인트와 AWS 리전을 나타냅니다. 향후에 변경하려는 경우에는 Elastic Beanstalk을 통해 이 URL을 구성할 수 있습니다.

 

KPair 옵션을 사용하여 Elastic Beanstalk에서 배포하는 인스턴스에 사용할 기존 AmazonEC2 키 페어 중 하나를 선택할 수 있습니다. 이렇게 하면 나중에 필요한 경우 이러한 인스턴스에 대한 관리 액세스 권한을 얻을 수 있습니다. 아직 AmazonEC2 키 페어가 없는 경우에는 무료로 키 페어를 생성할 수 있습니다. 이 작업은 EC2콘솔의 키 페어 생성 섹션으로 이동하여 키 페어 생성을 선택하여 수행할 수 있습니다.

 

마지막으로 UserIPRange 매개 변수를 사용하여 OHDSI 환경에 액세스 하기 위한 CIDR IP 주소 범위를 지정할 수 있습니다. 기본적으로, 여러분의 OHDSI 환경은 공공 인터넷을 통해 액세스가 가능합니다. UserIPRange를 사용하여 액세스 할 사용자를 나타내는 단일 IP주소 또는 IP주소 범위로 인터넷에 대한 액세스를 제한할 수 있습니다. 추가 구성을 통해, VPN 또는 AWS Direct Connect 전용 회로를 통해서만 완벽하게 개인적이며 접근 가능한 OHDSI환경을 만들 수 있습니다.

 

모든 파라미터를 제공했으면 다음을 누릅니다.

 

 

다음 화면에서 원하는 대로 태그와 같은 선택적 정보를 제공하거나 다음을 선택합니다.

 

다음 화면에서 배포할 항목을 검토할 수 있습니다. 화면 아래쪽에 AWS CloudFormation이 사용자 지정 이름을 사용하여 IAM리소스를 생성할 수 있다는 확인 체크란이 있습니다. 배포되는 템플릿은 관련 AWS 서비스가 서로 통신할 수 있도록 허용하는 네 가지 사용자 지정 역할을 생성합니다. 이러한 권한에 대한 세부 정보는 첫 번째 단계에서 제공된 URL에 참조된 CloudFormation 템플릿 내부에 있습니다. 이 확인 란을 선택하고 다음을 누릅니다.

 

CloudFormation이 OHDSI 아키텍처를 구축하는 동안 이를 시청할 수 있습니다. CloudFormation 배포를 스택이라고 합니다. 상위 스택은 두 개의 하위 스택을 생성합니다. 하나는 VPC 및 IAM역할을 포함하고 있으며, 다른 하나는 아틀라스 및 WebAPI 서버와 함께 하는 Elastic Beanstalk에 의해 생성됩니다. 다음 스크린 샷에 표시된 바와 같이 세 스택이 모두 녹색 Create_complete 상태에 도달하면 OHDSI 아키텍처가 배포된 것입니다.

 

 

하지만, 이면에서는 여전히 일이 진행되고 있습니다. 진행 상황을 확인하려면 AWS 관리 콘솔의 Amazon Redshift 섹션으로 이동하여 OHDSI 아키텍처를 위해 생성된 Amazon Redshift 클러스터를 선택하십시오. 이렇게 하면 로드쿼리 탭을 볼 수 있습니다.

 

먼저 로드 탭에서 CMS De-SynPUF 샘플 데이터와 OMOP 공통 데이터 모델에 로드되는 Athena 어휘 데이터를 확인할 수 있습니다. VOCABULARY 테이블이 Completed 상태(아래 그림과 같이)에 도달하면 모든 샘플과 단어 데이터가 로드됩니다.

 

 

데이터가 로드되면 아킬레스 건이 시작됩니다. 쿼리 탭에서 Achilles가 실행 중인 데이터베이스에 대한 쿼리를 확인하여 결과 스키마를 구축할 수 있습니다. 아킬레스는 많은 쿼리를 실행하며 전체 프로세스는 상당한 시간이 걸릴 수 있습니다(우리가 로드한 샘플 데이터에 대해 약 20분 걸립니다). 결국 쿼리 탭에 새로운 쿼리가 나타나지 않으면 이는 아킬레스 건이 완료되었음을 보여 줍니다. CloudFormation 템플릿을 실행할 때부터 아킬레스 건이 완료될 때까지 전체 프로세스는 보통 약 1시간 15분이 걸립니다.

 

이때 AWS 관리 콘솔의 Elastic Beanstalk 섹션을 찾아볼 수 있습니다. 여기서 CloudFormation 템플릿에 의해 배포된 OHDSI 애플리케이션과 환경(녹색 상자)를 선택할 수 있습니다. 다음과 같이 대시 보드 상단에 URL에 대한 링크가 표시됩니다. 이 URL은 CloudFormation 템플릿의 EBEndpoint 매개 변수에 제공된 이름과 일치합니다. 이 URL을 선택하면, 아틀라스를 사용하여 CMS DE-SynPUF 샘플 데이터를 탐색하는 것을 시작할 수 있습니다!

 

 

환경 구축 비용

비싼 데이터 웨어하우스 어플라이언스와 가상화 환경을 갖춘 사내 데이터 센터에 의료 데이터 분석 환경이 구축되어 있는 것을 흔히 볼 수 있었습니다. 클라우드 시대는 이러한 유형의 데이터 분석에 필요한 인프라의 가용성을 대중화하여 소규모 조직에서도 이를 이용할 수 있게 되었습니다. 이 환경은 페타 바이트 규모의 상태 데이터를 분석하도록 확장될 수 있으며 필요한 만큼만 지불하면 됩니다. AWS 솔루션 Calculator에 배포된 것과 같이 환경에 대한 월별 비용 구성 요소 추정 분석을 참조하십시오.

 

또한 이 환경을 항상 실행할 필요는 없다는 점도 주목해야 합니다. 정기적으로만 분석을 수행하는 경우 작업을 마치려고 할 때에는 환경을 종료하고 작업을 계속하려는 경우에는 데이터베이스 백업에서 복원할 수 있습니다. 이렇게 하면 운영 비용이 더욱 절감됩니다.

 

요약

이제 샘플 데이터가 있는 완벽한 기능의 OHDSI 환경을 활용해 이 기술을 통해 툴세트 및 그 기능에 대해 알아볼 수 있습니다. 샘플 데이터를 학습한 후에는 조직의 상태 데이터를 분석하여 통찰력을 얻을 수 있습니다. 하나 이상의 상태 데이터 원본에서 추출, 변환, 로드(ETL)프로세스를 사용하여 이 작업을 수행할 수 있습니다.

 

추가 리딩

이 게시물이 유용하다는 것을 알게 되었다면, OMOP CDM에 대한 데이터 ETL 자동화 방법에 대한 자세한 내용은 Amazon EMR, Amazon Redshift, AWS Lambda 및 OMOP를 사용하여 의료 데이터 웨어하우스 구축을 참조하세요.

 

원문 URL: https://aws.amazon.com/ko/blogs/big-data/creating-data-science-environments-on-aws-for-health-analysis-using-ohdsi/

** 메가존 TechBlog는 AWS BLOG 영문 게재글중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.