Couchbase는 이제 기존 RDBMS의 대안이 된 JSON 데이터베이스입니다. 업계 최고의 키-값 저장소와 조직에서 기대하는 것과 동일한 쿼리 및 ACID 변환 기능을 제공할 뿐만 아니라 기본적으로 데이터를 JSON 형식으로 저장하는 유연성을 제공함으로써 이를 달성했습니다. 또한 Couchbase에는 분산 스토리지, 다차원 확장성, 고가용성, 데이터센터 간 복제(XDCR) 기능도 포함되어 있습니다. 이 모든 기능을 Couchbase Mobile을 통해 엣지까지 확장할 수 있는 단일 Couchbase 데이터 플랫폼에서 제공합니다.

카우치베이스는 또한 기존 RDBMS 애플리케이션에 필요한 기능을 훨씬 더 확장하기 위해 최선을 다하고 있습니다. 모든 것이 완벽하게 관리되고 자동화되는 Couchbase Cloud는 클릭 몇 번으로 멀티 클라우드 환경에서 Couchbase Server를 배포, 관리 및 운영하여 FHIR 데이터베이스 스키마 관리를 간소화하는 안전한 서비스형 데이터베이스(DBaaS)를 제공합니다. Couchbase Cloud는 유연하고 가용성이 높으며, 가장 강력한 NoSQL 기술을 활용하면서 운영 작업을 줄이고자 하는 기업에게 차별화된 경제적인 옵션을 제공합니다.

또한 다양한 산업 분야의 많은 고객과 협력하여 고객의 비즈니스 요구 사항과 이러한 문제를 Couchbase가 어떻게 도울 수 있는지 파악하고 있습니다. 이러한 산업은 소매 및 이커머스, 여행 및 숙박업, 금융 서비스, 에너지 및 유틸리티, 하이테크 및 게임에 이르기까지 다양합니다.

이 블로그에서는 의료 업계에서 Couchbase 데이터베이스를 어떻게 사용할 수 있는지에 대해 집중적으로 살펴보고자 합니다. 특히, 다음에서 정의하는 고속 의료 상호 운용성 리소스(FHIR) 사양에 초점을 맞출 것입니다. HL7 FHIR. 이 블로그를 개설한 이유는 현재 Couchbase 데이터베이스를 사용하여 FHIR 호환 애플리케이션을 계획하거나 구현하고 있는 많은 고객들의 관심 때문입니다.

카우치베이스의 FHIR에 관심이 있는 이유는 무엇인가요?

  1. FHIR 애플리케이션을 개발하거나 분산, 고가용성, XDCR, 다차원 확장성 등 NoSQL 데이터베이스의 다양한 이점을 활용하고자 하는 조직이 있습니다.
  2. 설계자나 개발자는 Couchbase JSON 데이터베이스가 복잡한 FHIR 검색을 대체하여 애플리케이션의 복잡성을 크게 줄일 수 있는 방법을 이해해야 합니다.https://www.hl7.org/fhir/searchparameter-registry.html] 처리를 데이터베이스 서버 계층으로 전송합니다.
  3. 데이터 분석가는 SQL 지식을 활용하여 다음을 사용하여 FHIR 데이터를 직접 쿼리하는 방법을 이해해야 합니다. 카우치베이스 N1QL 및 전체 텍스트 검색.
  4. JSON용 SQL인 Couchbase N1QL이 어떻게 FHIR 프로토콜에 정의된 대로 JSON 계층적 및 관계형 데이터 모델을 쿼리하는 효율적인 방법을 제공하는지 알고 싶으신가요?

FHIR이란 무엇인가요?

FHIR® - 빠른 의료 상호 운용성 리소스 - 는 HL7에서 만든 차세대 표준 프레임워크입니다. "불"로 발음되는 FHIR은 HL7의 최고의 기능을 결합하고 최신 웹 표준을 활용하며 정보 교환을 위한 구현 가능성에 중점을 두고 있습니다.

FHIR 애플리케이션은 '리소스'라는 개념을 기반으로 합니다. 이러한 리소스는 관리, 임상, 환자 관리 기능에 이르는 특정 의료 애플리케이션으로 조립됩니다. FHIR은 휴대폰 앱, 클라우드 통신, EHR 기반 데이터 공유, 의료 서비스 제공자를 위한 서버 통신 등 다양한 상황에서 사용하기에 적합합니다.

FHIR의 주요 목표 중 하나는 다양한 의료 애플리케이션이 채택할 수 있는 표준을 지정하여 서로 다른 기능의 애플리케이션 간에 상호 운용성을 가능하게 하고 궁극적으로 구현 비용을 절감하는 것입니다.

참고하세요. FHIR 개요 웹사이트 에서 자세한 정보를 확인하세요.

FHIR 데이터 모델

FHIR의 핵심은 의료의 다양한 측면을 모두 포괄하는 다양한 리소스 유형에 대한 공통된 정의입니다. 환자, 의료진, 의료팀, 기기, 조직, 위치, 의료 서비스 등의 관리 기능부터 임상, 진단, 약물, 보험 적용과 같은 재정 기능까지.

이 글의 목적에 따라 Synthetic Mass에서 생성된 샘플 합성 데이터 세트를 사용하고 있습니다. Synthea에서 제공하는 오픈 소스 환자 집단 시뮬레이션입니다.

데이터는 각 합성 환자에 대한 리소스 번들로 제공되며, 이 데이터는 Couchbase 6.5 데이터베이스 인스턴스로 가져옵니다.

HL7 FHIR API Data Model for Healthcare in NoSQL JSON Database

FHIR 데이터 모델에 대한 몇 가지 주목할 만한 사항

  1. 이 모델은 '환자' 개체를 중심으로 합니다.
  2. 객체 유형은 'resourceType' 필드로 표시됩니다.
  3. JSON 구조는 건강 수준, 연락처 정보, 주소, 커뮤니케이션 등 환자에 대해 보관할 수 있는 더 풍부한 건강 정보 세트를 지원합니다.
  4. 각 객체에는 고유하게 식별할 수 있는 'ID' 필드가 있습니다.
  5. 객체들이 서로를 참조하고 있습니다. 대부분은 '환자' 객체에 대한 참조를 가지고 있습니다.

카우치베이스가 FHIR에 적합한 이유

위에서 언급했듯이 Couchbase는 기본적으로 데이터를 읽을 수 있는 문서 형식인 JSON으로 저장합니다. 애플리케이션은 키-값 API를 사용하거나 Couchbase N1QL 쿼리 언어를 활용하여 문서를 조작할 수 있습니다. 많은 RDBMS에서처럼 열 형식이 아닌 JSON 형식으로 데이터를 저장하면 사용자가 그 안에 있는 정보에 쉽게 액세스할 수 있다는 이점이 있습니다. 필드, 배열 객체, 계층 객체와 같은 JSON 문서 요소는 추가 구문 없이도 상위 객체에서 직접 액세스할 수 있습니다.

다음은 FHIR에서 정의한 환자 문서의 예입니다.

HL7 FHIR protocol patient admin document database

FHIR 애플리케이션의 의미는 SQL에 대한 기본적인 실무 지식이 있는 RDBMS 경험이 있는 사용자가 기존 RDBMS와 똑같은 방식으로 FHIR 환자 및 관련 리소스에 액세스할 수 있다는 것입니다. 

FHIR 데이터 검색을 위한 Couchbase N1QL

ID로 환자 쿼리하기

연령대별 환자 쿼리

  1. 환자의 나이는 현재 날짜(생년월일)를 기준으로 계산해야 합니다.
  2. 이 쿼리는 N1QL LET 구문을 사용하여 '연령'을 정의하고 연령을 '연령 그룹'으로 버킷화합니다.
  3. 표준 ANSI GROUP BY 및 COUNT는 연령대별 환자 수를 반환합니다.

또한 Couchbase N1QL로 문서를 조인 및 언조인하는 기능을 통해 사용자는 환자의 관련 정보를 조회할 수 있습니다.

환자 및 현재 미해결 상태 조회하기 

  1. 환자는 여러 개의 이름을 가질 수 있으며, 이는 'name' 배열로 표시됩니다. 이 쿼리는 ARRAY 연산자를 사용하여 공식 'name' 배열 요소만 필터링합니다.
  2. 이 쿼리는 'condition' 개체의 'subject.reference' 필드 일부를 'patient.id'에 사용하여 'condition'을 'patient' 개체에 조인합니다.
  3. 각 '환자'는 여러 조건을 가질 수 있으므로 '조건->코드' 배열을 평탄화(UNNEST)해야 합니다.
  4. '조건'에 대해 여러 개의 '임상.상태'가 있을 수 있지만 쿼리는 해결되지 않은 조건만 반환하면 됩니다.
2011년 8월 18일부터 일주일간 베벌리 병원에 입원했던 모든 환자 목록

  1. 이 쿼리는 '만남' 개체를 검사하여 이 특정 병원에서 치료받은 모든 '환자'를 찾습니다.
  2. ARRAY 연산자는 '환자'의 공식 이름을 가져오는 데 사용됩니다.
보험 청구 세부 정보가 포함된 환자 목록 - 서비스 및 비용

  1. '청구' 개체를 '환자' 개체에 조인하여 환자의 세부 정보에 액세스합니다.
  2. '클레임' 객체에는 '클레임->아이템'에 대한 중첩 배열이 있습니다.
  3. '청구->항목'은 치료에 대한 설명이 포함된 배열 코딩이 있는 '제품 또는 서비스'에 연결됩니다.
  4. 비용은 청구 수준입니다.
병원별 절차 수 순위

  1. 'procedure' 개체를 'encounter' 개체에 조인하여 시술을 시행한 병원에 액세스합니다.
  2. N1QL 창 RANK 함수는 프로시저의 개수만큼 값을 할당하는 데 사용됩니다.
  3. 해시 조인 힌트는 문서 JOIN의 성능을 개선하는 데 사용됩니다.

요약

Couchbase는 데이터를 JSON 형식으로 저장하는 데 사용하는 접근 방식 때문에 FHIR 구현에 매우 적합합니다. 강력한 N1QL 쿼리 언어를 통해 SQL 경험이 있는 개발자는 FHIR 데이터 모델을 탐색하여 사용자가 데이터베이스에서 기대할 수 있는 모든 CRUD 작업을 수행할 수 있습니다.

문서 조인부터 임베디드 배열 객체의 고급 처리까지 수행할 수 있는 기능을 갖춘 N1QL 쿼리 언어는 모든 처리 요구 사항을 Couchbase 쿼리 및 인덱싱 서비스로 이전하여, 모든 객체 연결을 수행해야 하는 FHIR 애플리케이션의 부담을 줄여줍니다.

새로운 애플리케이션과 마찬가지로, 애플리케이션 관리자나 데이터 분석가가 기본 FHIR 검색 기능을 넘어서는 검색을 수행해야 할 필요가 있는 경우 항상 기초 데이터를 직접 검사해야 할 필요가 있을 것입니다.

다음 블로그에서는 Couchbase 서버와 통신하여 기본 기능을 제공할 수 있는 FHIR API 접근 방식에 REST를 사용하는 데 필요한 사항을 살펴보겠습니다. FHIR 검색 요구 사항.

리소스

  • 빠른 의료 상호 운용성 리소스
  • 합성 질량: "제이슨 월로노스키, 마크 크레이머, 조셉 니콜스, 안드레 퀴나, 크리스 모에셀, 딜런 홀, 칼튼 더펫, 쿠다와시 듀베, 토마스 갤러거, 스콧 맥라클란, Synthea: 합성 환자 및 합성 전자 의료 기록을 생성하기 위한 접근 방식, 방법 및 소프트웨어 메커니즘, 미국 의료 정보학 협회 저널, 25권 3호, 2018년 3월, 230-238페이지, https://doi.org/10.1093/jamia/ocx079
  • N1QL 튜토리얼
  • FHIR 검색 매개변수

작성자

게시자 Binh Le

Binh Le는 Couchbase 쿼리 서비스의 수석 제품 관리자입니다. Couchbase에 입사하기 전에는 Oracle에서 근무하며 Sales Cloud Analytics 및 CRM OnDemand의 제품 관리 팀을 이끌었습니다. 영국 브라이튼 대학교에서 컴퓨터 공학 학사 학위를 받았습니다.

댓글 남기기