KR102422631B1 - 임상시험 대상자를 위한 블록체인 기반 복약관리 방법 및 시스템 - Google Patents

임상시험 대상자를 위한 블록체인 기반 복약관리 방법 및 시스템 Download PDF

Info

Publication number
KR102422631B1
KR102422631B1 KR1020190135843A KR20190135843A KR102422631B1 KR 102422631 B1 KR102422631 B1 KR 102422631B1 KR 1020190135843 A KR1020190135843 A KR 1020190135843A KR 20190135843 A KR20190135843 A KR 20190135843A KR 102422631 B1 KR102422631 B1 KR 102422631B1
Authority
KR
South Korea
Prior art keywords
medication
clinical trial
log
transaction
storage server
Prior art date
Application number
KR1020190135843A
Other languages
English (en)
Other versions
KR20210051059A (ko
Inventor
오병엽
윤병인
강전일
Original Assignee
주식회사 케어스퀘어
주식회사 씨엔알리서치
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 케어스퀘어, 주식회사 씨엔알리서치 filed Critical 주식회사 케어스퀘어
Priority to KR1020190135843A priority Critical patent/KR102422631B1/ko
Priority to PCT/KR2019/014793 priority patent/WO2021085703A1/ko
Priority to US17/755,516 priority patent/US20230120168A1/en
Publication of KR20210051059A publication Critical patent/KR20210051059A/ko
Application granted granted Critical
Publication of KR102422631B1 publication Critical patent/KR102422631B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/60ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
    • G16H40/67ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for remote operation
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H20/00ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
    • G16H20/10ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to drugs or medications, e.g. for ensuring correct administration to patients
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/20ICT specially adapted for the handling or processing of patient-related medical or healthcare data for electronic clinical trials or questionnaires
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/20ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the management or administration of healthcare resources or facilities, e.g. managing hospital staff or surgery rooms
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/60ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
    • G16H40/63ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for local operation

Abstract

임상시험 대상자를 위한 블록체인 기반 복약관리 방법 및 시스템이 개시된다. 임상시험 복약관리 방법은, 임상시험 대상자의 개인 단말에 설치된 복약관리 앱을 통해 임상시험 의약품의 복약관리 알림을 제공하는 단계; 상기 복약관리 앱을 통해 상기 임상시험 의약품의 QR 코드 스캔에 따른 상기 임상시험 대상자의 복약 로그를 수신하는 단계; 상기 임상시험 대상자의 복약관리 정보로서 상기 수신된 복약 로그를 블록체인에 저장하는 단계; 및 상기 블록체인을 이용하여 상기 복약 로그의 유효성을 검증하는 단계를 포함한다.

Description

임상시험 대상자를 위한 블록체인 기반 복약관리 방법 및 시스템{METHOD AND SYSTEM FOR BLOCKCHAIN-BASED MEDICATION MANAGEMENT FOR CLINICAL TRIAL PATIENT}
아래의 설명은 임상시험 대상자의 복약 관리 기술에 관한 것이다.
일반적으로, 진료는 의사가 제공하고 약(조제)은 약사가 제공하는 의약분업 체계의 경우 환자 및 병원고객은 해당 의료기관에서 진료를 받고 이에 따른 처방전을 받은 다음 처방전에 따른 약품(조제)은 약국에서 제공받는다(구입한다).
이와 같은 의약분업에 따른 의료기관의 진료 처방에서부터 약국의 약품 조제에 이르는 일련의 과정에 있어서 환자는 의료기관에서 처방한 종이 처방전을 들고 약국에 들러 해당 처방전에 따른 약을 조제 받게 된다.
의사/약사 차원의 복약지도(명칭, 용법용량, 효능효과, 저장방법, 부장용, 상호작용 등 알림)가 제대로 이루어져야 하나, 환자 대상의 복약지도가 제대로 이루어지지 않고 있는 실정이다.
이러한 문제를 해결하기 위한 복약 관리 기술의 일례로, 한국 공개특허 제10-2012-0012130호(공개일 2012년 02월 09일)에는 모바일 멀티미디어 기기를 통해 처방전 및 의약품 사진을 촬영하고 그 촬영 정보를 네트워크를 통해 서버에 의뢰한 비교/분석 결과(의약품에 대한 정보, 복약 가이드(guide) 등)를 네트워크를 통해 제공받을 수 있는 복약관리 서비스를 제공하는 기술이 개시되어 있다.
자동화된 시스템과 블록체인을 이용하여 임상 시험 관리를 자동화하고 임상시험 데이터의 투명성과 안전성을 높일 수 있다.
자동화된 시스템을 통해 임상시험의 비용을 절감할 수 있고 블록체인을 기반으로 하여 더 정밀하고 검증 가능한 의약품의 효과를 분석할 수 있다.
서버에서 실행되는 임상시험 복약관리 방법에 있어서, 상기 서버는 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 임상시험 복약관리 방법은, 상기 적어도 하나의 프로세서에 의해, 임상시험 대상자의 개인 단말에 설치된 복약관리 앱을 통해 임상시험 의약품의 복약관리 알림을 제공하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 복약관리 앱을 통해 상기 임상시험 의약품의 QR 코드 스캔에 따른 상기 임상시험 대상자의 복약 로그를 수신하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 임상시험 대상자의 복약관리 정보로서 상기 수신된 복약 로그를 블록체인에 저장하는 단계를 포함하는 임상시험 복약관리 방법을 제공한다.
일 측면에 따르면, 상기 수신하는 단계는, 상기 복약관리 앱을 통해 상기 임상시험 대상자의 복약 모습이 촬영된 이미지나 동영상을 포함하는 복약 로그 데이터를 수신하는 단계를 포함할 수 있다.
다른 측면에 따르면, 상기 복약 로그는 상기 서버와 연계된 로그 저장 서버에 저장되고, 상기 저장하는 단계는, 상기 로그 저장 서버에 저장된 상기 복약 로그의 무결성을 확인하기 위한 정보를 상기 블록체인에 저장하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 저장하는 단계는, 상기 복약 로그를 상기 로그 저장 서버에 저장하기 위한 티켓을 발행하는 단계를 포함하고, 상기 발행하는 단계는, 임상시험 식별자와 임상시험 대상자 식별자 및 의약품 식별자를 비밀키로 서명한 값이 포함된 티켓을 발행하고, 상기 로그 저장 서버는 상기 티켓의 유효성을 검사하여 상기 티켓이 유효한 복약 로그 데이터를 저장할 수 있다.
또 다른 측면에 따르면, 상기 임상시험 대상자의 개인 단말에서는 상기 복약관리 앱을 통해 상기 복약 로그와 관련된 트랜잭션을 생성하여 상기 블록체인에 전송하고, 상기 트랜잭션은 랜덤 키(random key)로 암호화된 값(value)으로 임상시험 식별자와 임상시험 대상자 식별자 및 의약품 식별자가 포함되고, 상기 임상시험 복약관리 방법은, 상기 적어도 하나의 프로세서에 의해, 주어진 정보에 대응하는 트랜잭션 아이디, 랜덤 키, 복약 로그, 복약 로그의 저장을 위해 발급된 티켓의 해시 값 중 적어도 하나를 이용하여 복약 로그의 유효성을 검사하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 임상시험 대상자의 개인 단말에서는 상기 트랜잭션을 상기 블록체인으로 전송함과 아울러, 상기 트랜잭션의 아이디와 복약 로그 데이터 및 상기 랜덤 키를 상기 서버와 연계된 로그 저장 서버에 전송하고, 상기 로그 저장 서버는 상기 트랜잭션의 아이디와 상기 복약 로그 데이터의 무결성 값 및 상기 랜덤 키를 상기 서버로 전송하고, 상기 저장하는 단계는, 상기 트랜잭션의 아이디와 상기 랜덤 키를 상기 블록체인으로 전송하는 단계; 및 상기 블록체인에서 상기 임상시험 대상자의 개인 단말로부터 수신한 트랜잭션이 검증됨에 따라 상기 블록체인으로부터 상기 랜덤 키에 할당된 값을 수신하는 단계를 포함할 수 있다.
컴퓨터로 구현되는 서버에 있어서, 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 임상시험 대상자의 개인 단말에 설치된 복약관리 앱을 통해 임상시험 의약품의 복약관리 알림을 제공하고, 상기 복약관리 앱을 통해 상기 임상시험 의약품의 QR 코드 스캔에 따른 상기 임상시험 대상자의 복약 로그를 수신하고, 상기 복약관리 앱에서 생성된 트랜잭션에 따라 상기 임상시험 대상자의 복약관리 정보로서 상기 수신된 복약 로그를 블록체인에 저장하는 것을 특징으로 하는 서버를 제공한다.
본 발명의 실시예들에 따르면, 자동화된 시스템과 블록체인을 이용하여 임상 시험 관리를 자동화하고 임상시험 데이터의 투명성과 안전성을 높일 수 있다.
본 발명의 실시예들에 따르면, 자동화된 시스템을 통해 임상시험의 비용을 절감할 수 있고 블록체인을 기반으로 하여 더 정밀하고 검증 가능한 의약품의 효과를 분석할 수 있다.
도 1은 본 발명의 일실시예에 있어서 전체적인 복약관리 시스템을 도시한 것이다.
도 2는 본 발명의 일실시예에 있어서 컴퓨터 장치의 내부 구성의 예를 도시한 도면이다.
도 3은 본 발명의 일실시예에 있어서 복약 로그를 기록하는 과정을 도시한 것이다.
도 4는 본 발명의 일실시예에 있어서 복약 로그의 유효성을 검증하는 과정을 도시한 것이다.
도 5 내지 도 6은 본 발명의 일실시예에 있어서 복약 로그 데이터를 저장하기 위한 데이터 처리 과정을 도시한 것이다.
도 7 내지 도 9는 본 발명의 일실시예에 있어서 임상시험 복약관리 앱의 사용자 인터페이스 화면을 설명하기 위한 예시 도면이다.
도 10은 본 발명의 일실시예에 있어서 복약 관리 자동화 과정을 도시한 것이다.
도 11은 본 발명의 일실시예에 있어서 복약 트랜잭션의 형태를 예시적으로 도시한 것이다.
도 12는 본 발명의 일실시예에 있어서 복약 로그의 유효성 검사 과정을 도시한 것이다.
도 13 내지 도 15는 본 발명의 일실시예에 있어서 고정 크기를 갖는 블록체인과 이를 이용한 값 검증 과정을 도시한 것이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명의 실시예들은 임상시험 대상자의 복약 관리 기술에 관한 것이다.
본 명세서에서 구체적으로 개시되는 것들을 포함하는 실시예들은 임상시험 대상자의 단말이 임상시험 복약관리 플랫폼과 상호 작용할 수 있고 블록체인을 기반으로 임상시험 데이터를 검증할 수 있다.
임상시험은 1) 임상시험 참여, 2) 복약지도/의약품전달, 3) 개인에 의한 복약 시간 관리, 4) 복약 사실 확인 (정기, 빈 통 회수)/부작용 보고, 및 5) 결과 분석의 단계를 거치게 된다. 이 과정에서 개인이 복약 시간을 관리함으로써 발생하는 여러 문제가 존재한다. 예를 들어, 피시험자(임상시험 대상자)는 약을 복용하지 않고 먹었다고 주장하거나, 정해진 복약 시간을 지나 약을 복용하는 등의 문제 행동을 취한다. 이러한 행위는 약의 효능과 부작용에 대해서 잘못된 결과를 도출할 수 있기 때문에, 임상시험에 있어서 최대한 피시험자의 행동을 통제해야만 한다. 이에 따라 임상시험에 소요되는 시간과 비용이 크게 증가하게 되는 문제가 있다. 한편, 시험 자료는 관리자의 실수에 의해서 잘못 기록되거나 경제적 이득을 위하여 의도적으로 조작될 수도 있다.
본 실시예들은 임상시험 대상자의 단말에 설치된 전용 앱을 통해 복약 알림, 복약전후 부작용 기록 등 임상시험 복약관리를 자동화할 수 있다.
도 1은 본 발명의 일실시예에 있어서 전체적인 복약관리 시스템을 도시한 것이다.
도 1을 참조하면, 본 발명에 따른 복약관리 시스템은 관리 서버(100), 관리자(10)를 위한 관리 인터페이스(110), 로그 저장 서버(120), 피시험자(20)의 단말(101), 및 블록체인 네트워크(300)를 포함할 수 있다.
도 2는 본 발명의 일실시예에 있어서 컴퓨터 장치의 내부 구성의 예를 도시한 도면이다. 앞서 설명한 바와 같이, 관리 서버(100), 로그 저장 서버(120), 피시험자(20)의 단말(101), 관리자(10)의 단말 각각은, 도 2의 컴퓨터 장치(200)와 같은, 물리적인 하드웨어 장치로 구현될 수 있으며, 실시예에 따라 둘 이상의 컴퓨터 장치들이 결합된 형태로 구현될 수도 있다.
이러한 컴퓨터 장치(200)는 도 2에 도시된 바와 같이, 메모리(210), 프로세서(220), 통신 인터페이스(230) 그리고 입출력 인터페이스(240)를 포함할 수 있다. 메모리(210)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 디스크 드라이브와 같은 비소멸성 대용량 기록장치는 메모리(210)와는 구분되는 별도의 영구 저장 장치로서 컴퓨터 장치(200)에 포함될 수도 있다. 또한, 메모리(210)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(210)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 메모리(210)로 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 인터페이스(230)를 통해 메모리(210)에 로딩될 수도 있다. 예를 들어, 소프트웨어 구성요소들은 네트워크(260)를 통해 수신되는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 컴퓨터 장치(200)의 메모리(210)에 로딩될 수 있다.
프로세서(220)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(210) 또는 통신 인터페이스(230)에 의해 프로세서(220)로 제공될 수 있다. 예를 들어 프로세서(220)는 메모리(210)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 인터페이스(230)은 네트워크(260)를 통해 컴퓨터 장치(200)가 다른 장치(일례로, 앞서 설명한 저장 장치들)와 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 컴퓨터 장치(200)의 프로세서(220)가 메모리(210)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이나 명령, 데이터, 파일 등이 통신 인터페이스(230)의 제어에 따라 네트워크(260)를 통해 다른 장치들로 전달될 수 있다. 역으로, 다른 장치로부터의 신호나 명령, 데이터, 파일 등이 네트워크(260)를 거쳐 컴퓨터 장치(200)의 통신 인터페이스(230)를 통해 컴퓨터 장치(200)로 수신될 수 있다. 통신 인터페이스(230)를 통해 수신된 신호나 명령, 데이터 등은 프로세서(220)나 메모리(210)로 전달될 수 있고, 파일 등은 컴퓨터 장치(200)가 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.
입출력 인터페이스(240)는 입출력 장치(250)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 마이크, 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(240)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(250)는 컴퓨터 장치(200)와 하나의 장치로 구성될 수도 있다.
또한, 다른 실시예들에서 컴퓨터 장치(200)는 도 2의 구성요소들보다 더 적은 혹은 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 장치(200)는 상술한 입출력 장치(250) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.
다시 도 1을 참조하면, 관리자(10)가 관리 인터페이스(110)를 통하여 관리 서버(100)에 임상시험 내용과 피시험자(20)를 등록하면 관리 서버(100)는 이를 로그 저장 서버(120)에 등록한다. 이후 피시험자(20)가 개인 단말(예를 들어, 스마트폰)(101)에 임상시험 복약관리를 위한 전용 어플리케이션을 설치한 후 복약 관련 정보를 QR 코드를 통하여 등록 시작한다. 피시험자(20)의 단말(101)은 QR코드에 포함된 관리 서버(100)의 주소에 접속하여 기본적인 복약 일정이나 암호화키 등을 취득한다. 경우에 따라 티켓이 발행될 수도 있다.
도 3은 본 발명의 일실시예에 있어서 복약 로그를 기록하는 과정을 도시한 것이다.
도 3을 참조하면, 피시험자(20)가 (약봉지나 약케이스에 부착된 QR코드를 읽고) 개인 단말(101)을 이용하여 복약 촬영을 시작한다. 피시험자(20)의 개인 단말(101)은 관리 서버(100)에 복약 정보와 티켓을 요청하고 관리 서버(100)는 피시험자(20)를 대상으로 지정된 복약 정보와 티켓(발행)을 피시험자(20)의 개인 단말(101)로 전송한다. 피시험자(20)의 개인 단말(101)은 복약 일정에 맞춰 복약 장면을 촬영한 뒤 복약 트랜잭션을 생성하여 블록체인 네트워크(300)로 전송한다. 아울러, 피시험자(20)의 개인 단말(101)은 트랜잭션 아이디와 복약 로그 데이터, 랜덤 키, 티켓 등을 로그 저장 서버(120)에 전송하고, 로그 저장 서버(120)는 피시험자(20)의 트랜잭션 아이디와 복약 로그 데이터의 무결성 값, 랜덤 키, 티켓의 해시값 등을 관리 서버(100)에 전송한다. 관리 서버(100)는 복약 트랜잭션의 아이디와 랜덤 키에 대한 질의를 블록체인 네트워크(300)에 전송한다. 블록체인 네트워크(300)는 트랜잭션 처리를 검증하고 랜덤 키에 할당된 값(암호화된 복약 로그 무결성 값)을 관리 서버(100)로 전송한다. 관리 서버(100)는 복약 로그의 무결성이 올바르다면 보상 트랜잭션을 만들어 블록체인 네트워크(300)로 전송하면, 블록체인 네트워크(300)를 통하여 피시험자(20)의 보상의 전송이 완료된다. 만약 일정 시간이 되어도 복약을 하지 않는다면 관리 서버(100)는 피시험자(20)의 개인 단말(101)로 복약 알림을 강제로 보낸다.
도 4는 본 발명의 일실시예에 있어서 복약 로그의 유효성을 검증하는 과정을 도시한 것이다.
도 4를 참조하면, 관리자(10)는 관리 인터페이스(110)를 통하여 관리 서버(100)에 특정 피시험자(20) 또는 특정 날짜 등에 대한 질의를 전송한다. 로그 저장 서버(120)는 질의에 해당하는 트랜잭션 아이디와 복약 로그를 관리 서버(100)에 전송한다. 이를 전송받은 관리 서버(100)는 복약 트랜잭션 아이디에 대하여 블록체인 네트워크(300)에 질의한다. 블록체인 네트워크(300)는 검증 가능한 복약 트랜잭션을 전송한다. 최종적으로 관리 서버(100)는 복약 로그의 유효성을 검증한다.
복약 로그 기록을 위해 피시험자(20)의 개인 단말(101), 관리 서버(100), 로그 저장 서버(120), 블록체인 네트워크(300) 간의 데이터 처리 과정은 도 5와 같다. 이때, 로그 저장 서버(120)는 도 6에 도시한 바와 같이 피시험자(20)의 개인 단말(101)로부터 티켓(발행), 복약 로그 데이터, 트랜잭션 아이디(TXID) 등을 수신하여 티켓 확인부(601)를 거쳐 검증한 후 검증이 완료된 데이터를 데이터베이스(602) 상에 저장할 수 있다.
도 7 내지 도 9는 본 발명의 일실시예에 있어서 임상시험 복약관리 앱의 사용자 인터페이스 화면을 설명하기 위한 예시 도면이다.
피시험자(20)을 위한 기능으로는 복약 알람, 복약 캘린더, 임상시험 일정 확인, 블록 서명 기능이 포함될 수 있다. 복약 알람 기능은 언제 약을 먹어야 하는지 미리 푸시 알림을 제공하고 지정된 시간에 복약할 수 있도록 가이드를 제공하는 것이다. 복약 캘린더는 복약 일정과 기록을 열람하는 기능이고, 임상시험 일정 확인은 임상시험과 관련된 내원 및 진료 일정을 확인하는 기능이다. 블록 서명 기능은 블록체인 상에서 블록 저장 활동에 서명자로 참여하는 것이다.
피시험자(20)를 위한 복약 로그와 관련된 기능으로는 복약 로그 기록, 복약 촬영, 자가 진단 등의 기능이 포함될 수 있다. 복약 로그 기록은 피시험자(20)가 의약품 포장에 인쇄된 QR 코드를 스캔하여 해당 의약품의 복용 사실을 기록하는 기능이다. 복약 촬영은 피시험자(20)가 의약품을 복용하는 장면을 촬영할 수 있는 기능이고, 자가 진단은 복약에 따른 효능과 부작용을 피시험자(20)가 스스로 진단하여 입력할 수 있는 기능이다.
도 7을 참조하면, 피시험자(20)의 개인 단말(101)은 임상시험 복약관리 앱을 통해 관리자(10)에 의해 설정된 복약 알림(701)을 수신하여 개인 단말(101)의 화면에 표시할 수 있다. 임상시험 복약관리 앱 화면(700)에는 복약 보고를 위한 '복용하기' UI(702)가 포함될 수 있다. 관리자(10)에 의해 설정된 복약 시간이 되면 임상시험 복약관리 앱에 복약 알림(701)이 도착하거나, 피시험자(20)가 임의 시간에 임상시험 복약관리 앱을 실행하면 관리자(10)에 의해 설정된 복약 시간이 표시될 수 있다. 관리자(10)에 의해 설정된 복약 시간이 되면 임상시험 복약관리 앱 화면(700)에 '복용하기' UI(702)가 활성화되어 표시될 수 있다.
개인 단말(101)은 임상시험 복약관리 앱 화면(700)에서 피시험자(20)가 '복용하기' UI(702)를 선택하는 경우, 도 8에 도시한 바와 같이 복약 로그 기록 기능으로 복용할 의약품의 QR 코드를 스캔하기 위한 QR 코드 스캔 화면(810)과 의약품의 복용 장면을 촬영하기 위한 영상 촬영 화면(820) 중 적어도 하나를 제공하거나 QR 코드 스캔 화면(810)과 영상 촬영 화면(820)을 차례로 제공할 수 있다.
개인 단말(101)은 피시험자(20)가 복약 로그 기록 기능을 이용하여 입력한 복약관리 정보를 피시험자(20)의 복약 보고로서 임상시험 복약관리 앱을 통해 블록체인(300)에 기록할 수 있다.
예를 들어, 임상시험 복약관리 앱은 단계 별로 복약과 관련된 안내 메시지를 텍스트나 음성 등으로 출력할 수 있고, 피시험자(20)가 '복용하기' UI(702)를 선택하는 경우 QR 코드 스캔 화면(810)을 제공하고 QR 코드 스캔 화면(810)을 통해 피시험자(20)가 복용할 의약품의 QR 코드를 읽어 어떤 약을 복용하는지 알림을 제공할 수 있다. 이어, 임상시험 복약관리 앱은 피시험자(20)가 다음 단계를 요청하면 영상 촬영 화면(820)을 제공할 수 있고 영상 촬영 화면(820)을 통해 영상 녹화가 마무리되면 블록체인(300)과 관리 서버(100)로 블록체인 트랜잭션과 복약 로그 데이터(동영상 등)를 자동 전송한다.
개인 단말(101)은 임상시험 복약관리 앱을 통한 피시험자(20)의 요청에 따라 복약관리와 관련된 다양한 기능을 제공할 수 있다. 예를 들어, 도 9에 도시한 바와 같이 개인 단말(101)은 복약에 따른 효능과 부작용을 피시험자(20)가 스스로 진단하기 위한 자가 진단 화면(910), 임상시험 관련 문의를 위해 관리자(10)나 임상시험 연구자의 연락처를 제공하거나 채팅 또는 전화 기능을 제공하기 위한 문의하기 화면(920), 피시험자(20)의 복약 일정과 기록을 열람하기 위한 캘린더 화면(930) 등을 제공할 수 있다.
개인 단말(101)은 피시험자(20)가 캘린더 화면(930)에서 특정 날짜를 선택하는 경우 해당 날짜의 구체적인 복약관리 정보(복약 일정이나 기록 등)가 포함된 상세 화면을 제공할 수 있고, 복약 일정의 경우 의약품에 대한 정보, 복약 가이드(guide) 등이 제공될 수 있다.
그리고, 관리 서버(100)는 관리자(10)를 대상으로 관리 인터페이스(110)를 통해 관리자용 복약관리 웹 페이지를 제공할 수 있다. 관리자용 복약관리 웹 페이지는 임상시험 기본 정보를 조회할 수 있는 기능, 피시험자의 프로필, 진료/처방 기록, 검사 결과, 치료 효과를 입력할 수 있는 기능, 피시험자에게 공지사항을 전달하고 메시지를 주고 받을 수 있는 기능, 피시험자의 복약일정, 복용량 등 복약관련 정보를 설정하고 관리할 수 있는 기능, 복약에 따른 임상시험 경과 및 결과를 입력하고 조회할 수 있는 기능 등을 포함하는 웹 화면으로 구성된다.
도 10은 본 발명의 일실시예에 있어서 복약 관리 자동화 과정을 도시한 것이다.
복약 로그에는 어떠한 사용자가 어떠한 시간에 어떠한 약을 복용했는지에, 어떻게 복용하였는지에 대한 정보를 담고 있다. 피시험자가 이러한 데이터를 하나하나 입력하고 기억하는 것은 다소 어려우므로 스마트폰과 같은 개인 단말(101)을 이용한 자동화가 필요하다.
도 10을 참조하면, 약봉지나 약케이스에 임상시험 식별자, 피시험자 식별자, 약의 종류, 복약 관리 서비스 주소 등의 정보를 담은 QR코드를 인쇄하여 부착하고, 이를 피시험자(20)의 단말(101)을 이용하여 스캔한다. 이때, 복약 관리 서비스 주소는 관리 서버(100)에 접속하기 위한 정보로, 관리 서버(100)로부터 복약 정보를 온라인으로 받아오기 위해서 사용된다. 복약 정보를 받은 피시험자(20)의 단말(101)은 자동으로 복약 일정 등을 등록하여 자동 알람에 사용할 수 있다.
이후 피시험자(20)는 복약 시간이면 복약 시작 단계임을 안내받은 후 복약을 시작한다. 복약이 시작되면, 피시험자(20)는 간단한 설문 등의 절차를 거친 뒤 영상 등을 촬영하고, 이에 대한 요약 정보를 제공받은 암호화키(공개키)를 이용하여 암호화한 뒤 블록체인(300)에 전송하고 전체 로그 정보를 티켓과 함께 로그 저장 서버(120)에 전송한다.
암호화키는 매번 다른 키가 전달될 수도 있고, 같은 키가 전송될 수도 있다. 이는 관리 서버(100)(복약 플랫폼)의 정책에 따른다.
복약 로그는 각종 식별자 등을 포함한 텍스트 데이터와 복약 모습을 촬영한 이미지나 동영상 데이터로 이루어질 수 있다. 블록체인(300)은 저장 공간 문제로 이미지나 동영상 데이터와 같이 많은 저장 공간을 차지하는 데이터를 직접 저장하는 것이 적합하지 않다. 따라서, 이미지나 동영상 데이터는 관리 서버(100)에서 제공하는 로그 저장 서버(120)에 따로 전송한다. 이때, 이미지나 동영상에 대한 무결성을 확인할 수 있는 정보를 블록체인(300)에 기록한다.
도 11을 참조하면, 블록체인(300)에 전송되는 복약 트랜잭션은 다음과 같은 형태를 가질 수 있으며, 트랜잭션의 구체적 형태는 블록체인에 따라 다른 형태의 적용이 가능하다. 트랜잭션 내용은 시험 식별자, 피시험자 식별자, 의약품 식별자, 시간 등을 이용하여 충돌을 회피하도록 설계된 랜덤 키(random key)와 공개키로 암호화된 값(value)으로 구성된다. 값에는 시험 식별자, 피시험자 식별자, 의약품식별자, 기타 복약 관련 추가 정보와 무결성 값, 티켓 해시값 등이 포함될 수 있다.
블록체인(300)에 트랜잭션이 기록된 후 트랜잭션 ID와 랜덤 키는 전체 로그 정보와 함께 로그 저장 서버(120)에 전송된다.
트랜잭션의 서명을 만들고 블록체인(300)에 해당 트랜잭션을 기록하기 위해서, 일반적으로 피시험자(20)는 트랜잭션 수수료만큼의 암호화폐가 필요하다. 이 경우 피시험자(20)가 지불한 수수료를 관리 서버(100) 측에서 확인 후 수수료만큼의 암호화폐를 피실험자(20)에게 전송할 수 있다. 만약, 계약서의 작성자가 요금을 지불할 수 있는 스마트계약이 있다면, 피시험자(20)에 의한 수수료 지불 및 플랫폼의 수수료 환불과 같은 과정은 불필요하다.
복약 플랫폼의 관리 서버(100)는 로그 저장 서버(120)에 전송된 복약 로그와 이와 관련된 트랜잭션이 올바르게 블록체인에 처리되었음을 확인하고, 보상의 일부 또는 전체를 암호화폐로 지불한다. 만약, 트랜잭션에 포함된 무결성 값이 로그 저장 서버(120)에 전송된 로그 데이터와 일치하지 않으면 보상을 하지 않을 수 있다. 보상은 매 정해진 복용 시간이 지나고 바로 이루어질 수도 있고, 일정한 주기를 가지고 이루어질 수도 있다. 보상은 단순히 일정액을 지불하는 것 이외에도, 정확히 주어진 시간에 올바르게 복약을 한 경우, 그에 따른 인센티브를 더해서 제공할 수 있다. 이러한 인센티브는 피시험자(20)가 더 적극적으로 임상 시험에 참여하도록 하는 계기나 동기가 될 수 있다.
그리고, 로그 저장 서버(120)에 임상 기록을 남기기 위해서는 티켓이 필요하다. 티켓은 관리 서버(100)에 의해서 발행되며, 로그 저장 서버(120)에 의해서 확인된다. 티켓이 유효하지 않은 로그는 로그 저장 서버(120)에 저장되지 않는다. 피시험자(20)는 QR코드를 통해 관리 서버(100)에 접속하여 로그 저장을 위한 티켓을 발급받을 수 있다.
티켓은 발행을 요구하는 시험 식별자, 피시험자 식별자, 의약품 식별자, 현재 시간, 사용자 IP 주소 등과 이들을 관리 서버(100)의 비밀키로 서명한 값을 포함한다. 로그 저장 서버(120)는 피시험자(20)로부터 수신한 로그 데이터 외에 다양한 값을 이용하여 티켓이 유효한지 검사하고 유효하다면 복약 트랜잭션의 아이디와, 랜덤 키, 복약 로그 등을 저장한다.
도 12는 본 발명의 일실시예에 있어서 복약 로그의 유효성 검사 과정을 도시한 것이다.
도 12를 참조하면, 로그 저장 서버(120)는 시험 식별자, 피시험자 식별자, 시간 등의 정보가 주어지면 복약 트랜잭션의 아이디, 랜덤 키, 티켓의 해시값, 복약 로그 등을 반환한다(S1201).
복약 로그가 유효한지 확인하기 위해서는 우선 피시험자(20)가 발생시킨 복약 트랜잭션이 올바른지 확인한다(S1202). 이는 블록체인(300)에서 제공해주는 기능으로 각 블록체인의 절차를 따른다.
피시험자(20)가 발생시킨 복약 트랜잭션이 올바르지 않다면, 복약 로그를 유효하지 않다고 판단한다(S1203). 피시험자(20)가 발생시킨 복약 트랜잭션이 올바르다면, 블록체인(300)으로부터 랜덤 키로 저장된 값을 획득하고 값이 올바르게 저장된 값인지 그 유효성을 확인한다(S1204). 값의 유효성 검증은 이 발명에서 기술한 내부 구조를 가진 블록체인인 경우, 그 방법을 따른다.
랜덤 키로 저장된 값이 유효한 값이 아니라면, 복약 로그를 유효하지 않다고 판단한다(S1205). 랜덤 키로 저장된 값이 유효한 값이라면, 이를 시험 식별자, 피시험자 식별자, 시간 등의 정보를 기준으로 관리 서버(100)의 암호화키 관리자에서 찾을 수 있는 올바른 복호화키로 복호화를 시도한다(S1206).
복호화가 실패하면, 복약 로그를 유효하지 않다고 판단한다(S1207). 복호화가 성공하면 트랜잭션이 포함하고 있는 티켓 해시값이 로그 저장 서버(120)가 전달해준 티켓 해시값과 일치하는지 확인한다(S1208).
로그 저장 서버(120)가 전달해준 티켓 해시값이 트랜잭션에 포함된 티켓 해시값과 일치하지 않는다면, 복약 로그를 유효하지 않다고 판단한다(S1209). 티켓 해시값이 일치한다면, 복약 로그로부터 무결성 값을 추출하고 트랜잭션에 포함된 무결성 값과 일치하는지 확인한다(S1210).
만약 복약 로그로부터 추출된 무결성 값이 트랜잭션에 포함된 무결성 값과 일치하지 않는다면, 복약 로그를 유효하지 않다고 판단한다(S1211). 무결성 값이 일치하면 모든 유효성 검사를 통과한 것으로 복약 로그를 유효하다고 판단한다.
트랜잭션 요금의 지불 문제를 회피하기 위하여, 복약 관리 플랫폼의 관리 서버(100)가 트랜잭션 내용을 받아서 대신 처리할 수 있지만, 플랫폼에서 선별적인 복약 데이터에 대해서만 트랜잭션을 발급하거나 트랜잭션을 블록체인(300)으로 보내기 전에 복약 데이터를 조작할 수 있는 가능성이 있다. 따라서, 복약 트랜잭션은 피시험자(20)의 단말(101)에 의해서만 생성된다.
많은 블록체인에서 트랜잭션은 통화를 전송하기 위한 트랜잭션과 스마트 컨트랙트(smart contract)를 구동하기 위한 트랜잭션으로 구분된다. 이러한 구분에 의하면 복약 트랜잭션은 스마트 컨트랙트를 구동하기 위한 트랜잭션에 해당될 수 있다.
그러나, 다수의 블록체인(예를 들어, 이더리움)에서 스마트 컨트랙트의 소스코드를 직접 공개하지 않으며, OP 코드 형태로 변환되어 저장된다. 이러한 스마트 컨트랙트는 일반 사용자가 직접 사용할 것을 계산하여 디자인된 것이 아니며 스마트 컨트랙트를 작성한 당사자(이 경우, 복약 관리 플랫폼 업체)만 사용할 것을 상정한 것으로 볼 수 있다. 스마트 컨트랙트가 정확히 어떠한 동작을 하는지 알기 어렵다.
따라서, 스마트 컨트랙트를 절차적 프로그램 언어로 작성하도록 하는 일반적인 블록체인을 이용해서 복약 관리 플랫폼을 만들면 복약 로그의 신뢰성을 담보하기 어려워진다. 의도성을 가지고 만들어진 스마트 컨트랙트가 특정 트랜잭션을 선별적으로 처리할 수 있기 때문이다. 따라서, 키-값(key-value) 쌍을 저장하게 하는 API를 제공하거나 이에 준하는 기능을 제공하는 블록체인이 필요하며, 이를 위한 트랜잭션이 받아들여져야 한다.
최종적으로 복약 관리 플랫폼을 위한 블록체인은 키-값 쌍이 블록체인의 스테이트로서 저장된다.
일반적인 블록체인에서 스테이트의 검증에 스테이트 트리를 이용하는데, 키(key)를 이용하여 노드의 경로와 위치를 결정하고, 노드에 값(value)를 기록한 뒤, 이를 해시 트리(예를 들면, 머클 트리, 머클-패트리샤 트리)를 이용하여 스테이트 루트를 계산한다. 값이 변경되면, 스테이트 트리의 경로를 따라서 스테이트 루트를 다시 계산한다. 블록이 포함하는 스테이트 루트가 일치한다는 것은 그 아래 노드들의 값이 모두 일치한다는 것을 의미한다.
문제는 스테이트 트리의 용량인데, 만약 노드의 수가 10억개가 존재할 때, 스테이트 값 자체를 제외하고도 단순 계산으로 32 내지 64 GB의 메모리 공간이 추가적으로 필요하다. 이러한 이유에서 많은 블록체인에서는 이를 디스크 수준에서 처리하도록 설계된다. 실제 스테이트 검증 요청이 많아지게 되면, 과도한 디스크 사용이 발생할 가능성이 있다.
스테이트 트리는 값 검증에 있어서 해시 충돌 확률만큼의 오류율을 갖는다. 블록체인은 특정 시점에서의 스테이트 루트 값을 신뢰하기 위해서는 이전 블록들의 헤더를 모두 알아야 한다. 즉, 특정 시점에서 특정 값을 신뢰하기 위해서는 한 블록만이 필요한 것이 아니다. 블록 헤더들이 없는 경우, 복수의 블록 체인 노드에게 값을 요청하는 방법이 유일하다.
고정 크기를 갖는 블록체인과 이를 이용한 값 검증 방법은 도 13과 같다.
각각 최대 m개의 지문을 담을 수 있는 q개의 버킷으로 이루어진 버킷 집합 B = { B_0, B_1, …, B_{q-1} }와 다수의 해시 트리를 사용한다.
키-값 쌍(K, V)에 대한 검증 구조체의 추가 및 삭제는 방법은 d-left Hashing 알고리즘의 일부를 차용한다. 하나의 키-값 쌍 (K, V)이 주어졌을 때, 지문(fingerprint) fV를 가지며 수학식 1과 같이 암호학적 해시 함수를 통하여 계산될 수 있다.
[수학식 1]
Figure 112019110800712-pat00001
s는 지문의 크기로 16~32 정도를 갖는다.
키-값 쌍 (K, V)는 d개의 독립된 해시 함수 h1, h2, …, hd에 의해서 b ~ (e-1) 사이의 값 p1, p2, …, pd 로 변환된다(수학식 2). (b <= p1, p2, …, pd <= e-1, b >= 0, e < q) 해시 함수들은 키 K에 따라 다르게 선택될 수 있다.
[수학식 2]
Figure 112019110800712-pat00002
이 값들을 이용하여 버킷 집합 B에서 가장 적은 지문을 가진 버킷을 선택한다(수학식 3).
[수학식 3]
Figure 112019110800712-pat00003
만약, 가장 적은 지문을 가진 버킷의 위치가 여러 개일 때에는 가장 위치 값이 작은 버킷을 선택한다. 선택한 버킷에는 키-값 쌍 (K, V)의 지문 fV가 추가된다.
삭제는 상기와 동일한 방법으로 p1, p2, …, pd를 계산하고, 해당되는 버킷들에서 지문 fV이 있는지 확인한 후, 지문이 존재하는 버킷에서 지문을 삭제한다.
버킷에 지문의 추가와 삭제가 발생하게 되면, 버킷의 해시값을 다시 계산한다.
버킷의 해시값은 단순하게는 포함한 지문들을 모두 해시함으로써 얻어질 수 있다. 만약 버킷의 최대 크기 m이 일정 수 이상이라면 버킷의 해시값을 계산하기 위하여 도 14에 도시한 구성을 갖는 해시 트리를 추가적으로 사용할 수도 있다.
도 14를 참조하면, 해시 트리의 집합은 버킷 해시값을 리프 노드로 하는 n개의 완전 이진 해시 트리들로 구성된다. 즉, 버킷의 수 q는 2의 제곱 수의 배수이다. 최종적으로 블록체인의 한 시점에는 n개의 스테이트 서브루트가 존재하게 된다.
어느 한 블록에 트랜잭션이 포함되고 트랜잭션의 처리 결과로서 키-값 쌍들의 변화가 있게 되면 영향을 받는 버킷에 따라 다수의 스테이트 서브루트가 값이 변하게 된다. 블록 헤더에는 이렇게 이전 블록들에서 변화한 스테이트 서브루트 값만이 포함된다. 바뀌지 않은 스테이트 서브루트 값은 포함하지 않는다.
도 15에 도시한 바와 같이, 만약 어떠한 사용자가 특정 블록에서 키 K에 대한 값 V를 요청한 경우, 블록체인 노드는 1) 키 K가 속한 버킷의 해시값, 2) 버킷 해시값을 검증하기 위한 증거(버킷 자체 또는 지문 해시 트리의 시블링(sibling)들), 3) 버킷이 속한 해시 트리의 시블링을 전송한다.
이를 전송받은 사용자는 1) 값 V가 버킷 해시값을 만드는데 올바르게 사용되었음을 확인하고, 2) 버킷 해시값과 해시 트리의 시블링들을 이용하여 스테이트 서브루트를 계산하고, 3) 계산된 스테이트 서브루트가, 키 K로부터 만들어진 가능한 모든 스테이트 서브루트 중 하나와 일치하는지 검사한다. i번째 블록의 특정 스테이트 서브루트는, i번째 이전 블록 중에 마지막으로 등장하는 스테이트 서브루트가 된다. 예를 들어, 도 15에서 1번째 블록의 4번째 스테이트 서브루트 값은 (i-2)번째 블록에 기록된다.
핫 버킷과 콜드 버킷 방법에서는 키에 따라 선택할 수 있는 버킷을 제한할 수 있다. 예를 들어, 키의 접두에 특정 문자열을 사용한다든지 하여 버킷의 위치를 정할 때, 특정 범위의 버킷만을 사용하게 하는 것이다. 이렇게 함으로써 특정 버킷들에 공통적인 목표를 가진 데이터들이 모이도록 유도할 수 있다.
이러한 키에 따른 버킷의 제한은 특정 응용 프로그램이 집중적으로 사용되는 시기가 존재하는 경우 블록체인의 운영에 많은 이점을 가져온다. 이는 반대로 특정 버킷들의 사용성을 의도적으로 낮춤으로써 해당 버킷들을 메모리 영역에서 디스크 영역으로 옮겨서 사용할 수 있도록 할 수 있다. 메모리에 존재하는 버킷들을 핫 버킷(hot bucket), 디스크에 존재하는 버킷들을 콜드 버킷(cold bucket)이라고 할 때, 콜드 버킷과 핫 버킷을 적합한 수준으로 조절함으로써 블록체인을 운영하는 노드들이 실제로 운영하는 버킷의 크기보다 더 작은 메모리를 사용하도록 할 수 있다.
본 실시예에서의 새로운 구조는 무한정 늘어나는 것이 아니라 일반 컴퓨터의 메모리 영역에 적합하도록 특정한 크기(예, 4GB)를 갖도록 설계될 수 있다. 최악의 경우 d-left hash 알고리즘의 한계로 인하여 새로운 키-값 쌍을 추가하는 것이 불가능해질 수 있지만, 이 때에는 키를 바꾸어 다시 입력을 시도한다. 만약 제한된 4GB의 용량을 모두 사용하여 더 이상 어떻게 해도 값을 저장할 수 없는 경우, 블록체인 운영의 한계를 넘는 것이므로 버킷의 최대 크기를 늘리거나 버킷의 수를 늘리는 등의 추가적인 조치가 필요하다.
기존 블록체인의 스테이트 트리에서 값의 위조 가능성이 1/2160 ~ 1/2256 수준이라면, 이 구조체에서는 지문의 크기에 따라 1/216 ~ 1/232 정도를 얻을 수 있다. 암호학적 시각에 의하면 이는 매우 낮은 수준처럼 보이지만, 블록체인의 특징에 의하여 복수의 노드로부터 값을 검증 받을 수 있는 수단이 있기 때문에, 오히려 지나치게 낮은 위조 가능성을 달성하기 위하여 많은 저장 공간을 추가로 사용하고 있다고 볼 수 있다. 더욱이, 실명 인증을 시도하는 블록체인에서 잘못된 값의 전송은 노드에게 큰 부담이 된다.
또한, 기존 블록체인의 스테이트 트리는 단일 스테이트 루트 값을 계산하여 블록 헤더에 포함하기 때문에, 단 하나의 값이 바뀌더라도 스테이트 루트 값이 바뀌게 된다. 만약 어떠한 키에 대한 값이 바뀌었는지 매 블록마다 확인하고자 한다면, 설령 값이 바뀌지 않더라도 매 블록마다 새로운 검증을 해야 한다. 본 실시예에서는 스테이트 서브루트를 두어 블록헤더에 포함하는 값이 다소 늘어나지만(블록에 포함되는 트랜잭션 등에 비교하면 미미한 수준), 어떠한 스테이트 서브루트가 블록헤더에 포함되는지 확인함으로써 키가 포함된 스테이트 서브루트가 바뀌는 블록에서만 키-값의 검증을 새로 하면 되므로 효율적이다. 또한, 스테이트 서브루트로 인하여 해시 트리의 높이가 낮아졌기 때문에 키-값 검증에 필요한 시블링의 수가 줄어드는 장점이 있다.
이처럼 본 발명의 실시예들에 따르면, 자동화된 시스템과 블록체인을 이용하여 임상 시험 관리를 자동화하고 임상시험 데이터의 투명성과 안전성을 높일 수 있다. 자동화된 시스템을 통해 임상시험의 비용을 절감할 수 있고 블록체인을 기반으로 하여 더 정밀하고 검증 가능한 의약품의 효과를 분석할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (7)

  1. 서버에서 실행되는 임상시험 복약관리 방법에 있어서,
    상기 서버는 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고,
    상기 임상시험 복약관리 방법은,
    상기 적어도 하나의 프로세서에 의해, 임상시험 대상자의 개인 단말에 설치된 복약관리 앱을 통해 임상시험 의약품의 복약관리 알림을 제공하는 단계;
    상기 적어도 하나의 프로세서에 의해, 상기 복약관리 앱을 통해 상기 임상시험 의약품의 QR 코드 스캔에 따른 상기 임상시험 대상자의 복약 로그를 수신하는 단계; 및
    상기 적어도 하나의 프로세서에 의해, 상기 임상시험 대상자의 복약관리 정보로서 상기 수신된 복약 로그를 블록체인에 저장하는 단계
    를 포함하고,
    상기 복약 로그는 상기 서버와 연계된 로그 저장 서버에 저장되고,
    상기 수신된 복약 로그를 블록체인에 저장하는 단계는,
    상기 로그 저장 서버에 저장된 상기 복약 로그의 무결성을 확인하기 위한 정보를 상기 블록체인에 저장하는 단계; 및
    상기 복약 로그를 상기 로그 저장 서버에 저장하기 위한 티켓을 발행하는 단계
    를 포함하고,
    상기 임상시험 대상자의 개인 단말에서는 상기 복약관리 앱을 통해 상기 복약 로그와 관련된 트랜잭션을 생성하여 상기 블록체인에 전송하고,
    상기 트랜잭션은 랜덤 키(random key)로 암호화된 값(value)으로, 임상시험 식별자, 임상시험 대상자 식별자, 의약품 식별자, 상기 복약 로그의 무결성 값, 및 상기 티켓의 해시 값이 포함되고,
    상기 임상시험 복약관리 방법은,
    상기 적어도 하나의 프로세서에 의해, 상기 임상시험 식별자 또는 상기 임상시험 대상자 식별자가 주어지면 상기 로그 저장 서버로부터 주어진 정보에 대응하는 트랜잭션 아이디, 상기 랜덤 키, 상기 복약 로그, 및 상기 티켓의 해시 값을 획득하여 상기 복약 로그의 유효성을 검사하는 단계
    를 더 포함하고,
    상기 복약 로그의 유효성을 검사하는 단계는,
    상기 로그 저장 서버에서 획득한 트랜잭션 아이디를 이용하여 해당 트랜잭션의 유효성을 검사하는 단계;
    상기 로그 저장 서버에서 획득한 랜덤 키를 이용하여 해당 랜덤 키로 저장된 값의 유효성을 검사하는 단계;
    상기 랜덤 키로 저장된 값을 상기 주어진 정보에 대응되는 복호화키로 복호화하는 단계;
    상기 로그 저장 서버에서 획득한 티켓 해시 값을 상기 트랜잭션에 포함된 티켓 해시 값과 비교하는 단계; 및
    상기 로그 저장 서버에서 획득한 복약 로그로부터 무결성 값을 추출하여 상기 트랜잭션에 포함된 무결성 값과 비교하는 단계
    를 포함하는 임상시험 복약관리 방법.
  2. 제1항에 있어서,
    상기 수신하는 단계는,
    상기 복약관리 앱을 통해 상기 임상시험 대상자의 복약 모습이 촬영된 이미지나 동영상을 포함하는 복약 로그 데이터를 수신하는 단계
    를 포함하는 임상시험 복약관리 방법
  3. 삭제
  4. 제1항에 있어서,
    상기 발행하는 단계는,
    임상시험 식별자와 임상시험 대상자 식별자 및 의약품 식별자를 비밀키로 서명한 값이 포함된 티켓을 발행하고,
    상기 로그 저장 서버는 상기 티켓의 유효성을 검사하여 상기 티켓이 유효한 복약 로그 데이터를 저장하는 것
    을 특징으로 하는 임상시험 복약관리 방법.
  5. 삭제
  6. 제1항에 있어서
    상기 임상시험 대상자의 개인 단말에서는 상기 트랜잭션을 상기 블록체인으로 전송함과 아울러, 상기 트랜잭션의 아이디와 복약 로그 데이터 및 상기 랜덤 키를 상기 서버와 연계된 로그 저장 서버에 전송하고,
    상기 로그 저장 서버는 상기 트랜잭션의 아이디와 상기 복약 로그 데이터의 무결성 값 및 상기 랜덤 키를 상기 서버로 전송하고,
    상기 수신된 복약 로그를 블록체인에 저장하는 단계는,
    상기 트랜잭션의 아이디와 상기 랜덤 키를 상기 블록체인으로 전송하는 단계; 및
    상기 블록체인에서 상기 임상시험 대상자의 개인 단말로부터 수신한 트랜잭션이 검증됨에 따라 상기 블록체인으로부터 상기 랜덤 키에 할당된 값을 수신하는 단계
    를 포함하는 임상시험 복약관리 방법.
  7. 컴퓨터로 구현되는 서버에 있어서,
    메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로세서는,
    임상시험 대상자의 개인 단말에 설치된 복약관리 앱을 통해 임상시험 의약품의 복약관리 알림을 제공하고,
    상기 복약관리 앱을 통해 상기 임상시험 의약품의 QR 코드 스캔에 따른 상기 임상시험 대상자의 복약 로그를 수신하고,
    상기 복약관리 앱에서 생성된 트랜잭션에 따라 상기 임상시험 대상자의 복약관리 정보로서 상기 수신된 복약 로그를 블록체인에 저장하고,
    상기 복약 로그는 상기 서버와 연계된 로그 저장 서버에 저장되고,
    상기 적어도 하나의 프로세서는,
    상기 로그 저장 서버에 저장된 상기 복약 로그의 무결성을 확인하기 위한 정보를 상기 블록체인에 저장하고,
    상기 복약 로그를 상기 로그 저장 서버에 저장하기 위한 티켓을 발행하고,
    상기 임상시험 대상자의 개인 단말에서는 상기 복약관리 앱을 통해 상기 복약 로그와 관련된 트랜잭션을 생성하여 상기 블록체인에 전송하고,
    상기 트랜잭션은 랜덤 키(random key)로 암호화된 값(value)으로, 임상시험 식별자, 임상시험 대상자 식별자, 의약품 식별자, 상기 복약 로그의 무결성 값, 및 상기 티켓의 해시 값이 포함되고,
    상기 적어도 하나의 프로세서는,
    상기 임상시험 식별자 또는 상기 임상시험 대상자 식별자가 주어지면 상기 로그 저장 서버로부터 주어진 정보에 대응하는 트랜잭션 아이디, 상기 랜덤 키, 상기 복약 로그, 및 상기 티켓의 해시 값을 획득하여 상기 복약 로그의 유효성을 검사하는 것으로,
    상기 로그 저장 서버에서 획득한 트랜잭션 아이디를 이용하여 해당 트랜잭션의 유효성을 검사하고,
    상기 로그 저장 서버에서 획득한 랜덤 키를 이용하여 해당 랜덤 키로 저장된 값의 유효성을 검사하고,
    상기 랜덤 키로 저장된 값을 상기 주어진 정보에 대응되는 복호화키로 복호화하고,
    상기 로그 저장 서버에서 획득한 티켓 해시 값을 상기 트랜잭션에 포함된 티켓 해시 값과 비교하고,
    상기 로그 저장 서버에서 획득한 복약 로그로부터 무결성 값을 추출하여 상기 트랜잭션에 포함된 무결성 값과 비교하는 것
    을 특징으로 하는 서버.
KR1020190135843A 2019-10-29 2019-10-29 임상시험 대상자를 위한 블록체인 기반 복약관리 방법 및 시스템 KR102422631B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190135843A KR102422631B1 (ko) 2019-10-29 2019-10-29 임상시험 대상자를 위한 블록체인 기반 복약관리 방법 및 시스템
PCT/KR2019/014793 WO2021085703A1 (ko) 2019-10-29 2019-11-04 임상시험 대상자를 위한 블록체인 기반 복약관리 방법 및 시스템
US17/755,516 US20230120168A1 (en) 2019-10-29 2021-05-06 Method and system for blockchain-based medicine-taking management for clinical trial subject

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190135843A KR102422631B1 (ko) 2019-10-29 2019-10-29 임상시험 대상자를 위한 블록체인 기반 복약관리 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20210051059A KR20210051059A (ko) 2021-05-10
KR102422631B1 true KR102422631B1 (ko) 2022-07-20

Family

ID=75716363

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190135843A KR102422631B1 (ko) 2019-10-29 2019-10-29 임상시험 대상자를 위한 블록체인 기반 복약관리 방법 및 시스템

Country Status (3)

Country Link
US (1) US20230120168A1 (ko)
KR (1) KR102422631B1 (ko)
WO (1) WO2021085703A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101964733B1 (ko) * 2018-08-09 2019-04-02 주식회사 아롬정보기술 블록체인 및 인공지능 기반의 개인 맞춤형 건강 관리 시스템 및 이를 이용한 블록체인 및 인공지능 기반의 개인 맞춤형 건강 관리 서비스 제공 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4408799B2 (ja) * 2004-12-17 2010-02-03 日立ソフトウエアエンジニアリング株式会社 医薬品の服用促進方法および装置
KR101872975B1 (ko) * 2011-01-20 2018-07-02 삼성전자주식회사 서버 및 사용자 디바이스 간에 사용자의 개인 약품 정보 관리 서비스를 제공하는 방법, 그리고 사용자 개인 약품 정보 관리 서비스를 제공하는 서버 및 사용자 디바이스
KR20160062664A (ko) * 2014-11-25 2016-06-02 한국전자통신연구원 복약 가이드 장치와 이를 이용한 복약 모니터링 지원 시스템, 및 복약 가이드 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101964733B1 (ko) * 2018-08-09 2019-04-02 주식회사 아롬정보기술 블록체인 및 인공지능 기반의 개인 맞춤형 건강 관리 시스템 및 이를 이용한 블록체인 및 인공지능 기반의 개인 맞춤형 건강 관리 서비스 제공 방법

Also Published As

Publication number Publication date
US20230120168A1 (en) 2023-04-20
WO2021085703A1 (ko) 2021-05-06
KR20210051059A (ko) 2021-05-10

Similar Documents

Publication Publication Date Title
KR101882207B1 (ko) 블록체인 기반으로 환자 정보를 저장하는 병의원 보안 시스템
US20190156938A1 (en) System, method and data model for secure prescription management
US11784799B2 (en) Secure distribution and management of cryptographic keys within a computing environment using distributed ledgers
CA3065479C (en) Secure management of transfers of digital assets between computing devices using permissioned distributed ledgers
US20170124556A1 (en) Event synchronization systems and methods
US20230418809A1 (en) Secure distribution of digital assets within a computing environment using permissioned distributed ledgers
JP7005102B2 (ja) Bcn(ブロックチェーンネットワーク)を使用したデータ利用方法、システムおよびそのプログラム
US20220239475A1 (en) Secure management and regeneration of cryptographic keys within a computing environment using permissioned distributed ledgers
CN114730620A (zh) 电子健康记录数据区块链系统和方法
US20210350887A1 (en) Blockchain architecture, system, method and device for facilitating secure medical testing, data collection and controlled distribution using a decentralized health information platform and token ecosystem
US20230281724A1 (en) Systems and methods for authenticated voucher distribution using blockchain
CN104106071A (zh) 管理保健服务
US20100293001A1 (en) Method and System to Create a National Health Information Infrastructure
KR102422631B1 (ko) 임상시험 대상자를 위한 블록체인 기반 복약관리 방법 및 시스템
EP3945704B1 (en) A method and a system for securing data, especially data of biotechnological laboratories
JP7143468B1 (ja) 投薬情報管理装置、管理方法およびプログラム
KR20190126500A (ko) 부가서비스 이용 시 인증토큰이 생성되는 코인 거래 시스템 및 그 방법
US20090112628A1 (en) Method and system to create a national health information infrastructure
JP6664716B1 (ja) 情報処理システム、およびサービスデータ提供方法
KR102636860B1 (ko) 일회성 코드를 활용한 디지털 치료제 App 인증/연동 시스템 및 방법
KR20240050180A (ko) 블록체인 기술에 기반하여 관리대상제품을 구매하는 시스템 및 방법
JP2007537524A (ja) 改良されたチケット発券方式
CN115053241A (zh) 一次性通证
CN112116335A (zh) 基于区块链的医疗信息处理方法、装置及系统
KR20220148420A (ko) 전자처방전 시스템

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right