기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
SQL을 사용하여 HealthLake 데이터 쿼리
FHIR 데이터를 HealthLake 데이터 스토어로 가져오면 중첩된 JSON FHIR 데이터는 동시에 ETL 프로세스를 거치고 Amazon S3에 Apache Iceberg 오픈 테이블 형식으로 저장됩니다. HealthLake 데이터 스토어의 각 FHIR 리소스 유형은 Amazon Athena를 사용하여 쿼리할 수 있는 테이블로 변환됩니다. SQL 기반 쿼리를 사용하여 테이블을 개별적으로 또는 그룹으로 쿼리할 수 있습니다. 데이터 스토어의 구조로 인해 데이터를 Athena로 여러 데이터 유형으로 가져옵니다. 이러한 데이터 유형에 액세스할 수 있는 SQL 쿼리를 생성하는 방법에 대한 자세한 내용은 Amazon Athena 사용 설명서의 복잡한 유형 및 중첩 구조가 있는 쿼리 배열을 참조하세요.
참고
이 주제의 모든 예제에서는 Synthea를 사용하여 생성된 가상 데이터를 사용합니다. Synthea 데이터가 사전 로드된 데이터 스토어를 생성하는 방법에 대한 자세한 내용은 섹션을 참조하세요HealthLake 데이터 스토어 생성.
리소스 유형의 각 요소에 대해 FHIR 사양은 카디널리티를 정의합니다. 요소의 카디널리티는이 요소가 나타날 수 있는 횟수의 하한과 상한을 정의합니다. SQL 쿼리를 생성할 때 이를 고려해야 합니다. 예를 들어 리소스 유형: 환자
-
요소: 이름 FHIR 사양은 카디널리티를 로 설정합니다
0..*.요소는 배열로 캡처됩니다.
[{ id = null, extension = null, use = official, _use = null, text = null, _text = null, family = Wolf938, _family = null, given = [Noel608], _given = null, prefix = null, _prefix = null, suffix = null, _suffix = null, period = null }]Athena에서 리소스 유형이 어떻게 수집되었는지 확인하려면 테이블 및 뷰에서 해당 유형을 검색합니다. 이 배열의 요소에 액세스하려면 점 표기법을 사용할 수 있습니다. 다음은
given및의 값에 액세스하는 간단한 예제입니다family.SELECT name[1].given as FirstName, name[1].family as LastName FROM Patient -
요소: MaritalStatus FHIR 사양은 카디널리티를 로 설정합니다
0..1.이 요소는 JSON으로 캡처됩니다.
{ id = null, extension = null, coding = [ { id = null, extension = null, system = http: //terminology.hl7.org/CodeSystem/v3-MaritalStatus, _system = null, version = null, _version = null, code = S, _code = null, display = Never Married, _display = null, userSelected = null, _userSelected = null } ], text = Never Married, _text = null }Athena에서 리소스 유형이 어떻게 수집되었는지 확인하려면 테이블 및 뷰에서 해당 유형을 검색합니다. JSON의 키-값 페어에 액세스하려면 점 표기법을 사용할 수 있습니다. 배열이 아니기 때문에 배열 인덱스가 필요하지 않습니다. 다음은의 값에 액세스하는 간단한 예입니다
text.SELECT maritalstatus.text as MaritalStatus FROM Patient
JSON 액세스 및 검색에 대한 자세한 내용은 Athena 사용 설명서의 JSON 쿼리를 참조하세요.
Athena Data Manipulation Language(DML) 쿼리 문은 Trino를 기반으로 합니다. Athena는 Trino의 모든 기능을 지원하지 않으며 상당한 차이가 있습니다. 자세한 내용은 Amazon Athena 사용 설명서의 DML 쿼리, 함수 및 연산자를 참조하세요.
또한 Athena는 HealthLake 데이터 스토어의 쿼리를 생성할 때 발생할 수 있는 여러 데이터 유형을 지원합니다. Athena의 데이터 유형에 대해 자세히 알아보려면 Amazon Athena 사용 설명서의 Amazon Athena의 데이터 유형을 참조하세요. Amazon Athena
Athena에서 SQL 쿼리가 작동하는 방식에 대한 자세한 내용은 Amazon Athena 사용 설명서의 Amazon Athena용 SQL 참조를 참조하세요. Amazon Athena
각 탭은 Athena를 사용하여 지정된 리소스 유형 및 관련 요소를 검색하는 방법의 예를 보여줍니다.