KR20220152505A - Managing method for EHR based on block chain - Google Patents
Managing method for EHR based on block chain Download PDFInfo
- Publication number
- KR20220152505A KR20220152505A KR1020220014020A KR20220014020A KR20220152505A KR 20220152505 A KR20220152505 A KR 20220152505A KR 1020220014020 A KR1020220014020 A KR 1020220014020A KR 20220014020 A KR20220014020 A KR 20220014020A KR 20220152505 A KR20220152505 A KR 20220152505A
- Authority
- KR
- South Korea
- Prior art keywords
- blockchain
- data
- smart contract
- migrator
- electronic medical
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/88—Medical equipments
Abstract
Description
본 발명은 블록체인기반 전자의료기록 관리방법에 관한 것이며, 구체적으로 표준화된 시스템을 이용하여 블록체인의 종류에 관계없이 공통화된 방법으로 용이하게 전자의료기록을 관리할 수 있도록 한 블록체인기반 전자의료기록 관리방법에 관한 것이다.The present invention relates to a blockchain-based electronic medical record management method, and specifically, a blockchain-based electronic medical record that can be easily managed in a common way regardless of the type of blockchain using a standardized system. It is about record management method.
전자의료기록(Electronic Health Record;EHR)은 의료기관, 건강증진기관 등에서 발생된 건강정보를 디지털 데이터로 만들어 연결한 것이다. 이러한 전자의료기록은 의료기관끼리 네트워크를 통해 데이터를 교환하면 어느 병원을 가더라도 진료기록을 사용할 수 있다는 이점이 있다. 또한, 진료예약 자동화, 진료비 청구 등의 행정업무 효율향상 등의 이점이 있다.An Electronic Health Record (EHR) is a digital data connection of health information generated by medical institutions and health promotion institutions. Such an electronic medical record has an advantage in that medical records can be used at any hospital by exchanging data between medical institutions through a network. In addition, there are advantages such as automating medical appointments and improving administrative work efficiency such as billing for medical expenses.
하지만, 전자의료기록은 중요한 개인정보라는 점에서 보안이 중요하고, 위조나 변조를 할 수 없도록 해야 한다. 이러한 요구조건들은 만족시키기 위해서는 고가의 데이터시스템이 필요하여 의료기관으로서는 비용부담이 커질 수 밖에 없는 문제점이 있다.However, since electronic medical records are important personal information, security is important, and forgery or alteration must be prevented. In order to satisfy these requirements, an expensive data system is required, which inevitably increases the cost burden for medical institutions.
이러한 위변조 방지 및 보안을 위해 최근에는 블록체인 기술을 이용하여 의료기록을 전송하고자 하는 연구들이 이루어지고 있다.In order to prevent such forgery and alteration and security, studies have recently been conducted to transmit medical records using block chain technology.
선행기술인 등록특허 제10-1763827호(블록체인 기반 의료데이터전송시스템)에 의하면, 중계서버가 제1노드서버로부터 하나 이상의 블록데이터를 수신하는 단계; 중계서버가 상기 하나 이상의 블록데이터를 블록체인에 결합하여 저장하는 단계; 및 상기 하나 이상의 블록데이터를 제2노드서버로 전송하는 단계;를 포함한다.According to the prior art Registered Patent No. 10-1763827 (blockchain-based medical data transmission system), the relay server receives one or more block data from the first node server; A relay server combining and storing the one or more block data in a block chain; and transmitting the at least one block data to a second node server.
이러한 구성에 의하면, 여러 노드서버에 저장된 블록데이터(즉, 의료데이터)를 비교하여 사용자에 의해 전송요청된 의료데이터가 위변조되었는지 여부를 확인할 수 있는 이점은 있으나, 상당한 수준의 블록체인 전문가가 아니면 데이터 저장, 전송, 수정 등의 작업이 어려워 블록체인 전문가가 아닌 일반 의료관리자가 이러한 시스템을 관리하기에는 한계가 있어 상용화되기가 어려운 문제점이 있다.According to this configuration, there is an advantage in that it is possible to compare block data (i.e., medical data) stored in multiple node servers to check whether the medical data requested by the user has been forged or falsified. There is a problem that it is difficult to commercialize it because it is difficult to store, transmit, and modify operations, so general medical managers who are not blockchain experts have limitations in managing these systems.
본 발명은 상기한 문제점을 해결하기 위한 것이며, 구체적으로 블록체인상의 전자의료기록데이터를 일반 데이터베이스 다루듯이 일반 유저가 용이하게 사용할 수 있게 해주는 블록체인 미들웨어 시스템을 제공하기 위한 것이다.The present invention is to solve the above problems, and specifically, to provide a blockchain middleware system that allows general users to easily use electronic medical record data on a blockchain as if handling a general database.
상기한 목적을 달성하기 위해 본 발명은, 사용자정의 태그를 이용하여 테이블명 및 컬럼명을 포함하는 테이블 구조가 생성되는 단계; 마이그레이터에 의해 상기 테이블 구조에 대응하는 스마트 컨트랙트가 구성되는 단계; 추상블록체인부에 상기 마이그레이터에 의해 구성된 스마트 컨트랙트가 설치되는 단계; 마이그레이터는 표준화된 포맷으로 변환된 전자의료기록데이터를 파싱하여 대응하는 테이블명 및 컬럼명에 해당 데이터를 저장하는 단계를 수행하는 블록체인기반 전자의료기록 관리방법을 제공한다.In order to achieve the above object, the present invention includes the steps of generating a table structure including table names and column names using user-defined tags; Forming a smart contract corresponding to the table structure by the migrator; Installing a smart contract configured by the migrator in an abstract blockchain unit; The migrator provides a blockchain-based electronic medical record management method that parses electronic medical record data converted into a standardized format and stores the data in corresponding table names and column names.
클라이언트의 요청에 의해 레저마스터에서 상기 스마트 컨트랙트에 저장된 테이블과 동일한 컬럼을 갖는 테이블객체를 생성하는 단계; 상기 레저마스터에 의해 상기 테이블객체에 저장되는 데이터를 조작할 수 있도록 하는 데이터관리API가 제공되고, 상기 데이터관리API를 이용한 클라이언트의 요청에 의해 상기 대상블록체인에 데이터가 저장되거나 검색되는 단계를 수행하는 것이 바람직하다.Creating a table object having the same columns as the table stored in the smart contract at the Ledger Master at the request of the client; A data management API is provided by the Ledger Master to manipulate data stored in the table object, and a step of storing or retrieving data in the target blockchain is performed at the request of a client using the data management API. It is desirable to do
클라이언트에 의해 레저마스터에서 제공되는 쿼리문자열이 전송되는 단계;transmitting a query string provided from the Ledger Master by the client;
레저마스터에서 상기 쿼리문자열을 파싱하여 상기 스마트 컨트랙트의 인자로 넘겨주고, 상기 스마트 컨트랙트는 상기 인자에 대응하여 상기 대상블록체인에 데이터를 저장하거나 해당 데이터를 검색하는 단계를 수행할 수 있다.The Ledger Master parses the query string and passes it to the smart contract as an argument, and the smart contract can perform a step of storing data in the target blockchain or retrieving the data in response to the argument.
상기 사용자정의 태그는 테이블을 생성하는 생성태그, 테이블에 데이터를 입력하는 입력태그, 테이블에 저장된 데이터를 변경하는 변경태그, 테이블에 저장된 데이터를 삭제하는 삭제태그를 포함하는 것이 바람직하다.The user-defined tag preferably includes a create tag for creating a table, an input tag for inputting data into the table, a change tag for changing data stored in the table, and a delete tag for deleting data stored in the table.
상기 마이그레이터는 상기 추상블록체인부에 스마트 컨트랙트를 설치하고, 상기 클라이언트에 의해 구성된 테이블 구조에 대응하는 스마트 컨트랙트의 주소를 생성하는 하여 상기 추상블록체인부에 전송할 수 있다.The migrator may install a smart contract in the abstract block chain unit, generate a smart contract address corresponding to a table structure configured by the client, and transmit the smart contract to the abstract block chain unit.
상기 테이블 구조는 테이블명, 컬럼명, 인덱스, 제약사항을 포함하며, The table structure includes table names, column names, indexes, and constraints.
상기 스마트 컨트랙트는 대상블록체인에 저장된 데이터와 대응하는 테이블명 및 컬럼명을 이용하여 해쉬코드를 생성하는 것이 바람직하다.Preferably, the smart contract generates a hash code using the table name and column name corresponding to the data stored in the target blockchain.
상기 테이블 구조는 복수 개의 컬럼명 중 1개의 프라이머리 컬럼명을 포함하며, 상기 스마트 컨트랙트는 상기 프라이머리 컬럼명 중 첫번째 인덱스에 대응하는 데이터를 루트노드로 하고, 프라이머리 컬럼에 속하는 데이터들의 대소를 비교하여 자식노드의 위치를 정하는 것이 바람직하다.The table structure includes one primary column name among a plurality of column names, and the smart contract uses the data corresponding to the first index among the primary column names as a root node and determines the size of data belonging to the primary column. It is desirable to determine the position of the child node by comparison.
본 발명에 의하면, 블록체인상의 전자의료기록데이터를 컴퓨터 전문가가 아닌 일반 관리자가 용이하게 사용할 수 있게 해주는 환경을 제공해 줄 수 있다.According to the present invention, it is possible to provide an environment in which a general manager, not a computer expert, can easily use electronic medical record data on a blockchain.
또한, FHIR의 저장소로서 블록체인 활용을 가능하게 하는 미들웨어 기능을 제공하며, 여러 의료 제공자 간에 의료기록을 보다 쉽게 전자적으로 공유하고 통하할 수 있다.In addition, it provides a middleware function that enables the use of blockchain as a storage for FHIR, and makes it easier to electronically share and communicate medical records between multiple medical providers.
도 1은 본 발명의 실시예에 따른 블록체인 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 블록체인 데이터베이스 매핑방법을 설명하기 위한 플로우차트이다.
도 3은 본 발명의 실시예에 따른 블록체인기반 전자의료기록 관리시스템의 구성을 나타내는 구성도이다.1 is a diagram for explaining a blockchain system according to an embodiment of the present invention.
2 is a flowchart for explaining a method for mapping a blockchain database according to an embodiment of the present invention.
3 is a block diagram showing the configuration of a blockchain-based electronic medical record management system according to an embodiment of the present invention.
본 발명에 의한 구체적인 실시예의 구성 및 작용에 대하여 도면을 참조하여 상세하게 설명한다.The configuration and operation of specific embodiments according to the present invention will be described in detail with reference to the drawings.
도 1은 본 발명의 실시예에 따른 블록체인 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, 본 발명의 실시예에 따른 블록체인 시스템은 클라이언트(100), 미들웨어시스템(200), 추상블록체인부(230), 블록체인(300)을 포함한다.1 is a diagram for explaining a blockchain system according to an embodiment of the present invention. Referring to FIG. 1 , a blockchain system according to an embodiment of the present invention includes a
클라이언트(100)는 사용자에 의해 설정되는 사용자정의 태그를 이용하여 테이블 구조를 생성하고, 대상블록체인이 어떠한 블록체인을 대상으로 하는지를 알 수 있도록 대상블록체인을 입력받는다. The
사용자에 의해 설정되는 테이블 구조는 테이블 명칭을 의미하는 테이블명, 테이블 내 항목을 나타내는 컬럼명, 테이블 내 순서를 나타내는 인덱스, 테이블 항목의 입력문자형태 등 제약사항 등의 테이블 구성을 포함한다. 이때 블록체인 상에서 테이블명, 컬럼명을 기반으로 B TREE, HASH INDEX 등의 처리가 이루어진다. The table structure set by the user includes table configuration such as table name meaning table name, column name indicating table item, index indicating order in table, and constraints such as input text type of table item. At this time, processing such as B TREE and HASH INDEX is performed based on the table name and column name on the blockchain.
사용자정의 태그는 테이블을 생성하는 생성태그, 테이블에 데이터를 입력하는 입력태그, 테이블에 저장된 데이터를 변경하는 변경태그, 테이블에 저장된 데이터를 삭제하는 삭제태그 등의 다양한 태그들을 포함하며, 이들은 XML형태로 이루어질 수 있다. User-defined tags include various tags such as a create tag to create a table, an input tag to input data into a table, a change tag to change data stored in a table, and a delete tag to delete data stored in a table. These tags are in XML format. can be made with
미들웨어시스템(200)은 마이그레이터(210), 레저마스터(220)를 포함한다.The
마이그레이터(210)는 추상블록체인부(230)에 스마트 컨트랙트를 설치하고, 마이그레이터(210)는 클라이언트(100)에 의해 구성된 테이블 구조에 대응하는 스마트 컨트랙트의 주소를 생성하여, 추상블록체인부(230)에 전송한다. 또한 마이그레이터(210)에 의해 추상블록체인(230)에 전송되는 사항은 블록의 크기, 블록의 생성주기 등의 설정사항 등의 설정사항을 더 포함한다. The
우선 마이그레이터(210)는 XML의 사용자정의 태그를 기반으로 테이블 구조를 생성하고, 테이블 구조를 스마트 컨트랙트에 매핑하여 테이블 구조에 대응하는 스마트 컨트랙트를 구성한다. 이때 XML의 사용자정의 태그를 기반으로 생성된 테이블 구조에는 적어도 하나의 스마트 컨트랙트의 주소가 매핑될 수 있다. 본 발명의 경우, 사용자에 의해 정의된 XML을 이용하여 테이블 구조를 생성할 수 있어 높은 수준의 블록체인 지식을 습득하지 않아도 쉽게 사용이 가능하다는 장점을 갖는다.First, the
마이그레이터(210)는 사용자에 의해 XML로 정의된 컬럼들과, 인덱스 및 제약사항를 기반으로 블록체인 상에 기반환경 스마트 컨트랙트를 인스톨하고, 사용자 정의 테이블 형식에 대한 스마트 컨트랙트를 구성하게 된다. 이에 따라 후술하는 추상화 블록체인(230)에서, 대상블록체인이 상이한 경우, 대상블록체인 각각에 따른 수정을 요하지 않아 사용자의 편의성을 증대시킬 수 있다. The
레저마스터부(220)는 스마트 컨트랙트에 저장된 테이블과 같은 컬럼을 갖는 객체를 만들 수 있게 해준다.The Ledger
레저마스터(220)는 오브젝트 맵퍼부(221), 쿼리DSL부(222)를 포함한다.The Ledger Master 220 includes an
오브젝트 맵퍼부(221)는 클라이언트(100)의 요청에 의해 레저마스터가 API를 이용하여 스마트 컨트랙트에 저장된 테이블과 같은 컬럼을 갖는 객체를 만들 수 있게 해준다. 복수의 정의된 클래스에 기반하여 실행 시점에 자동으로 해당 클래스의 속성과 동일한 컬럼을 갖는 테이블을 내부에 저장된 일련의 스마트 컨트랙트 집단에 의해 자동적으로 테이블로 만들어진다. The
그리고 오브젝트 맵퍼(221)는 테이블의 형태 및 내용, 그리고 검색 등의 다양한 기능을 수행할 수 있도록 Insert, query, count, findBy, addColumn, addIndex 등의 자바 메소드 형식의 데이터관리API를 구비한다. In addition, the
오브젝트 맵퍼(221)는 상기와 같은 데이터관리API를 이용하여 클라이언트의 요청에 의해 대상블록체인에 데이터가 저장되거나 검색될 수 있다. 사용자는 별도의 프로그램에 대한 지식없이도 미리 준비된 데이터관리API를 이용한 명령어를 통해서 쉽게 블록체인 장부상의 데이터를 관리할 수 있게 된다.The
쿼리DSL부(222)는 사용자 정의 함수형 질의를 통해 쿼리를 생성한다. 클라이언트(100)에 의해 쿼리DSL부(222)에서 제공되는 쿼리문자열이 전송되면, 쿼리DSL부(222)는 쿼리문자열을 파싱하여 스카트 컨트랙트의 인자로 넘겨주고, 스마트 컨트랙트는 인자에 대응하여 대상블록체인에 데이터를 저장하거나 해당 데이터를 검색할 수 있다. The
쿼리DSL부(120)는 오브젝트 맵퍼(110)에서 이용되는 정해진 API 이외의 것을 활용하기 위한 것으로서, 사용자 정의 함수형 질의를 통해 컴파일 시점에 해당 쿼리의 문제점을 파악할 수 있으며, 다양한 조합의 질의를 수행할 수 있게 된다.The query DSL unit 120 is for utilizing something other than the prescribed API used in the object mapper 110, and can identify problems in the query at the time of compilation through a user-defined functional query, and can perform various combinations of queries. be able to
오브젝트 맵퍼(110)만을 사용하면 정해진 API 이외의 것은 활용하기가 힘들어지며, API이외의 경우, 직접 조작해야 하는 문제가 있다. 이와 달리 쿼리를 직접 작성하게 되면 문자열을 사용하게 되며, 해당 문자열은 실행시점이 되어야 검증이 가능하다는 문제가 존재한다. 본 발명의 쿼리DSL부(120)을 통한 사용자 정의 함수형 질의를 통해 컴파일 시점에 해당 쿼리의 문제점을 파악할 수 있게 하며, 다양한 조합의 질의를 수행할 수 있게 된다.If only the object mapper 110 is used, it becomes difficult to utilize anything other than the designated API, and in the case of other than the API, there is a problem in that it must be directly manipulated. On the other hand, if a query is written directly, a string is used, and the problem exists that the string can be verified only at the time of execution. Through the user-defined functional query through the query DSL unit 120 of the present invention, it is possible to identify the problem of the corresponding query at the time of compilation, and to perform queries in various combinations.
추상블록체인부(230)는 대상블록체인은 아니지만, DB관련 기능을 수행하기 위한 것으로서, 테스트 서버기능 및 인터페이스기능을 포함한다. The abstract
레저마스터(220)에서 API를 이용한 명령이 전달되면, API를 이용하여 전달된 명령, 예를 들어 테이블A의 항목B의 인덱스C를 검색하라고 명령을 수신한 추상블록체인부(230)는 레저마스터에서 제공되는 API를 이용하여 명령을 해석하고, 해석된 명령대로 블록체인(300)에 이를 전달하는 기능을 수행한다. 추상블록체인부(230)가 존재하지 않는 경우, 대상 블록체인(300)에 적용될 수 있는 전문 프로그램을 이용하여 명령을 하여야 하지만, 본 발명의 경우 추상블록체인부(230)가 DB관련 명령어를 해석하여 대상블록체인(300)에 전달하므로, 대상블록체인(300)을 조작하기 위한 특정 프로그램 언어를 사용할 필요가 없게 된다. When a command using the API is transmitted from the Ledger Master 220, the abstract
상기 추상블록체인부는 블록체인의 종류와 관계없는 공통API를 제공하는 공통API부, 대상블록체인의 API를 제공하는 개별API부 및 API매칭부를 포함하며, 상기 API매칭부에서는 공통API에 적절하게 대응할 수 있는 대상블록체인의 API를 검출하여 대응하도록 한다. 이때, 검출되는 대상블록체인의 API는 복수개가 될 수 있다.The abstract blockchain unit includes a common API unit that provides a common API regardless of the type of blockchain, an individual API unit that provides an API of a target blockchain, and an API matching unit, and the API matching unit can respond appropriately to the common API. Detect and respond to the API of the target blockchain that can be used. At this time, the number of APIs of the target blockchain to be detected may be plural.
또한, 추상블록체인부(230)는 코딩 테스트 기능을 제공한다. 개발자는 코딩 전체를 테스트하는 전체테스트 시, 추상블록체인부(230) 및 블록체인(300) 모두에 대해 코딩 테스트를 수행할 수 있다. 한편, 코딩 한줄한줄마다 테스트를 수행하는 단위테스트의 경우, 개발자는 블록체인이 아니라 추상블록체인부(230)에 대해서만 코딩 테스트를 수행할 수 있다. 블록체인의 경우, 설정파일을 단위테스트 마다 매번 설치해야 하지만, 추상블록체인부(230)의 경우, 연속되는 단위테스트 시 마이그레이터(210)에 의한 설정파일의 설치가 생략될 수 있다. 이에 따라 추상블록체인부(230)에 의해 코딩의 단위테스트가 빠르게 수행될 수 있다. In addition, the
추상블록체인부(230)는 대상블록체인에 대응되는 데이터를 전송할 수 있는 인터페이스(231)를 포함한다. 입력받은 대상블록체인에 대응되는 인터페이스(231)가 추상블록체인부와 대상블록체인 사이에 데이터 전송을 수행한다. The
기업용 블록체인인 이더리움 기반의 쿼롬과 하이퍼레저 패브릭 각각의 사용방식이 상이함에 따라 각각의 사용방식에 다르지만, 본 발명은 추상블록체인부(230)를 통해 관리함으로써 마이그레이터(210)와 레저마스터(230)에서 요구하는 블록체인 API를 공통화하여 제공할 수 있게 된다. Although the use method of each of the enterprise blockchain, Ethereum-based Quorom and Hyperledger Fabric is different, each usage method is different, but the present invention manages through the abstract
볼록체인(300)은 화폐이동이라는 비트코인보다는 엔터프라이즈 영역에서 사용할 수 있는 콘소시엄형 블록체인과 더 관련되어 있는 것으로서, 신뢰성있는 분산 데이터 공유를 위한 것으로서 즉, 분산데이터베이스 용도로 사용하기 위한 것이다.
한편, 분산원장에 저장된 데이터를 효율적으로 관리하기 위해, 대용량의 파일을 효율적으로 검색하고 갱신하기 위해 널리 알려져 있는 B tree/Hash Index 등의 처리가 포함될 수 있다.On the other hand, in order to efficiently manage data stored in the distributed ledger, processes such as B tree/Hash Index, which are widely known to efficiently search and update large-capacity files, may be included.
이와 관련하여 블록체인(300)에서 스마트 컨트랙트는 테이블 구조에서 프라이머리 컬럼명 중 첫번째 인덱스에 대응하는 데이터를 루트노드로 하고, 프라이머리 컬럼에 속하는 데이터들의 대소를 비교하여 자식노드의 위치를 결정할 수 있다. 상기와 같은 경우, 균등한 탐색 속도를 보장하고, 저장장치의 효율성을 높일 수 있다. In this regard, in the
도 2는 본 발명의 실시예에 따른 블록체인 데이터베이스 매핑방법을 설명하기 위한 플로우차트이다.2 is a flowchart for explaining a method for mapping a blockchain database according to an embodiment of the present invention.
도 2를 참조하면, 블록체인 데이터베이스 매핑방법은, 클라이언트에 의해 사용자정의 태그를 이용하여 테이블 구조가 생성되는 단계(S110); 클라이언트에 의해 설정되어 사용될 대상블록체인을 입력받는 단계(S120); 마이그레이터에 의해 상기 테이블 구조에 대응하는 스마트 컨트랙트가 구성되는 단계(S130); 공통API를 제공하는 추상블록체인부에 상기 마이그레이터에 의해 구성된 스마트 컨트랙트가 설치되는 단계(S140); 상기 입력받은 대상블록체인에 대응하는 인터페이스에 의해 상기 추상블록체인부와 대상블록체인 사이에 데이터가 전송되는 단계(S150)을 포함한다.Referring to FIG. 2, the blockchain database mapping method includes the steps of creating a table structure by using a user-defined tag by a client (S110); Step of receiving an input of the target blockchain set and used by the client (S120); A step of constructing a smart contract corresponding to the table structure by the migrator (S130); A step of installing a smart contract configured by the migrator in an abstract blockchain unit that provides a common API (S140); and transmitting data between the abstract block chain unit and the target block chain through an interface corresponding to the received target block chain (S150).
클라이언트가 사용자정의 태그를 입력하여 테이블 구조를 생성하는 단계(S110)에서, 사용자에 의해 설정되는 테이블 구조는 테이블 명칭을 의미하는 테이블명, 테이블 내 항목을 나타내는 컬럼명, 테이블 내 순서를 나타내는 인덱스, 테이블 항목의 입력문자형태 등 제약사항 등의 테이블 구성을 포함한다.In the step of generating a table structure by inputting a user-defined tag by the client (S110), the table structure set by the user includes a table name indicating a table name, a column name indicating an item in the table, an index indicating an order in the table, Includes table configuration such as constraints such as input text type of table item.
한편, 이러한 사용자정의 태그는 테이블을 생성하는 생성태그, 테이블에 데이터를 입력하는 입력태그, 테이블에 저장된 데이터를 변경하는 변경태그, 테이블에 저장된 데이터를 삭제하는 삭제태그 등의 다양한 태그들을 포함하며, 이들은 XML형태로 이루어질 수 있다. On the other hand, these user-defined tags include various tags such as a create tag for creating a table, an input tag for inputting data into a table, a change tag for changing data stored in a table, and a delete tag for deleting data stored in a table. These may be made in XML format.
사용자에 의해 정의된 사용자정의 태그로서 XML을 이용하여 테이블 구조를 생성할 수 있어 높은 수준의 블록체인 지식을 습득하지 않아도 쉽게 사용이 가능하다는 장점을 갖는다.As a user-defined tag defined by the user, a table structure can be created using XML, so it has the advantage of being easy to use without acquiring a high level of blockchain knowledge.
클라이언트에 의해 설정되어 사용될 대상블록체인을 입력받는 단계(S120)에서는 다양한 블록체인 중 대상으로 설정한 블록체인을 사용자에 의해 입력받는다.In step S120 of inputting the target block chain to be set and used by the client, the block chain set as the target among various block chains is input by the user.
마이그레이터에 의해 상기 테이블 구조에 대응하는 스마트 컨트랙트가 구성되는 단계(S130)에서는, XML의 사용자정의 태그를 기반으로 테이블 구조를 생성하고, 테이블 구조를 스마트 컨트랙트에 매핑하여 테이블 구조에 대응하는 스마트 컨트랙트를 구성한다In the step of configuring the smart contract corresponding to the table structure by the migrator (S130), the table structure is created based on the user-defined tags of XML, and the smart contract corresponding to the table structure is mapped to the smart contract. make up
공통API를 제공하는 추상블록체인부에 상기 마이그레이터에 의해 구성된 스마트 컨트랙트가 설치되는 단계(S140) 및 상기 입력받은 대상블록체인에 대응하는 인터페이스에 의해 상기 추상블록체인부와 대상블록체인 사이에 데이터가 전송되는 단계(S150)에서 주목할 점은, 추상블록체인부(230)는 다양한 블록체인에 대한 마이그레이터와 레저마스터에서 요구하는 API를 공통화한 공통API를 제공한다. 기업용 블록체인인 이더리움 기반의 쿼롬과 하이퍼레저 패브릭 각각의 사용방식이 상이함에 따라 각각의 사용방식에 따른 마이그레이터와 레저마스터에서 요구하는 API는 다르게 구성되어야 하지만. 본 발명의 경우, 추상블록체인부(230)의 공통API에 의해, 다양한 블록체인에 따라 API를 다르게 설정하는 데 소요되는 시간과 노력을 절감할 수 있다. The smart contract configured by the migrator is installed in the abstract blockchain unit that provides a common API (S140), and data is transmitted between the abstract blockchain unit and the target blockchain by the interface corresponding to the received target blockchain. A point to note in the transmission step (S150) is that the
도 3을 참조하면, 각 의료기관에서 관리하고 있는 전자의료기록데이터(EHR:Electronic Health Record)는 표준화API로 호출되어 의료기록표준화관리부로 전송되고, 상기 의료기록표준화관리부에서는 문서 또는 데이터를 파싱한 후 새로 포맷팅하여 XML, JSON 등의 표준형태로 미들웨어시스템(200)으로 전송한다. Referring to FIG. 3, Electronic Health Record (EHR) managed by each medical institution is called through the standardization API and transmitted to the medical record standardization management unit, and the medical record standardization management unit parses the document or data and then It is newly formatted and transmitted to the
상기 문서 또는 데이터는 임상 데이터뿐만 아니라 의료 관련 행정, 공중 보건 및 연구 데이터가 포함될 수 있다.The documents or data may include clinical data as well as medical related administrative, public health and research data.
상기 의료기록표준화관리부는 서버형태로 구비될 수 있으며, 의료관련 데이터에 대한 표준화된 데이터 포맷을 정의한다. 또한, 리소스저장소에는 각 리소스에 대한 표준화된 데이터가 저장된다.The medical record standardization management unit may be provided in the form of a server and defines a standardized data format for medical data. In addition, standardized data for each resource is stored in the resource storage.
예를 들어, 리소스가 '처방전'인 경우 템플릿에는 '생년월일', '성별', '진단명', '약물명', '처방일자' 등이 포함된 양식이 존재할 수 있으며, 이러한 리소스데이터들은 리소스저장소에 저장된다.For example, if the resource is 'prescription', the template may contain a form including 'date of birth', 'gender', 'diagnosis name', 'drug name', 'prescription date', etc. These resource data are stored in the resource repository. is stored in
상기 리소스저장소의 물리적 구성 공간을 블록체인을 활용하여 EHR 시스템 환경에서 교환되는 데이터의 신뢰성을 확보하고, 블록체인의 근본적인 특성인 분산 환경을 활용하여 정보 교환의 대상이 되는 EHR, 약국시스템, HIS의 유연한 확산 체계를 마련할 수 있다.The reliability of data exchanged in the EHR system environment is secured by utilizing the block chain for the physical configuration space of the resource storage, and the distributed environment, which is a fundamental characteristic of the block chain, is utilized to ensure that the EHR, pharmacy system, and HIS are subject to information exchange. A flexible diffusion system can be prepared.
상기 의료기록표준화관리부에서 표준화된 전자의료기록데이터는 블록체인 장부 상에 기록되기 전에 미들웨어 시스템으로 전송되어 가공되는 과정을 거치게 된다. 미들웨어 시스템의 마이그레이터는 웹 표준 형태로 설정된 테이블 구조를 스마트 컨트랙트로 매핑하는 역할을 한다. 사용자가 컬럼, 인덱스, 제약사항 등을 정의해두면 마이그레이터는 블록체인 상에 기반 환경 스마트 컨트랙트를 설치한 후 사용자가 정의한 테이블 형식에 부합하는 스마트 컨트랙트를 구성하게 된다. 이때 블록체인 원장에 저장할 의료 데이터를 효율적으로 관리하기 위한 이진트리(B-Tree), 해시 인덱스 등의 부가기능이 구현된다. The electronic medical record data standardized by the medical record standardization management unit is transmitted to the middleware system and processed before being recorded on the blockchain ledger. The migrator of the middleware system serves to map the table structure set in the web standard form to the smart contract. If the user defines columns, indexes, constraints, etc., the migrator installs the base environment smart contract on the blockchain and configures the smart contract that conforms to the table format defined by the user. At this time, additional functions such as B-Tree and hash index are implemented to efficiently manage medical data to be stored in the blockchain ledger.
미들웨어 시스템에 구현되어 있는 공통API는 스마트 컨트랙트에 저장된 테이블과 같은 컬럼을 갖는 객체를 생성하게 해준다. 해당 클래스를 정의해두면 실행 시점에 자동으로 해당 클래스의 속성과 동일한 컬럼을 갖는 테이블을 내부에 저장된 일련의 스마트 컨트랙트 집단에 의해 자동적으로 테이블이 생성된다. 또한 insert, query, count, findBy, addColumn, addIndex 등 자바 메소드를 통해 쉽게 블록체인 장부 상의 데이터를 관리할 수 있게 된다. 또한 QueryDSL 기능을 구현하여 사용자 정의 함수형 질의를 통해 컴파일 시점에 해당 쿼리의 문제점을 파악할 수 있으며, 다양한 조합의 질의를 수행할 수 있게 된다.A common API implemented in the middleware system allows you to create an object with the same column as a table stored in a smart contract. If the class is defined, the table is automatically created at the time of execution by a series of smart contract groups that have tables with the same columns as the properties of the class stored inside. In addition, through Java methods such as insert, query, count, findBy, addColumn, and addIndex, data on the blockchain ledger can be easily managed. In addition, by implementing the QueryDSL function, problems in the query can be identified at the time of compilation through user-defined functional queries, and queries in various combinations can be executed.
상기 마이그레이터는 표준화된 포맷으로 변환된 전자의료기록데이터를 파싱하여 대응하는 테이블명 및 컬럼명에 해당 데이터를 저장하게 된다.The migrator parses the electronic medical record data converted into a standardized format and stores the data in corresponding table names and column names.
또한 추상블록체인부(Abstract Blockchain)에서는 다양한 블록체인 플랫폼에 대한 추상층을 제공한다. 예를 들어, 다양한 블록체인 중 이더리움 쿼럼과 하이퍼레저 패브릭은 사용방식이 상이한데 이를 추상층으로 관리하여 마이그레이터와 미들웨어가 요구하는 블록체인 API를 공통화하여 공통API를 제공할 수 있다.In addition, Abstract Blockchain provides an abstract layer for various blockchain platforms. For example, among various blockchains, Ethereum Quorum and Hyperledger Fabric have different usage methods. By managing them as an abstraction layer, a common API can be provided by commonizing the blockchain APIs required by migrators and middleware.
이처럼 의료기관마다 상이한 전자의료기록데이터는 의료기록표준화관리부를 통해 범용성을 갖는 표준화된 포맷으로 변환되며 이는 미들웨어 시스템을 통해 블록체인 상에서 데이터를 효율적으로 관리할 수 있는 형태로 가공 및 체계화되며 가공된 데이터가 블록체인 네트워크로 옮겨질 때, 전자의료기록데이터를 다루는 환경에 적합한 블록체인 플랫폼을 취사선택할 수 있게됨으로써 의료 데이터를 기존 RDB와 유사한 사용 조건 하에 블록체인 상에서 안전하게 관리할 수 있게 된다.In this way, the electronic medical record data that differs for each medical institution is converted into a standardized format with versatility through the medical record standardization management unit, which is processed and systematized in a form that can efficiently manage data on the blockchain through the middleware system, and processed data When moving to a blockchain network, it is possible to safely manage medical data on a blockchain under similar usage conditions to existing RDBs by being able to select a blockchain platform suitable for the environment that handles electronic medical record data.
본 발명에 의하면, 전자의료기록데이터 제공자가 환자 데이터를 전자적으로 공유할 수 있는 전자의료기록데이터의 저장소로서 블록체인 기술의 활용을 통해 신뢰도를 확보하고, 블록체인 원장의 RDB 환경 구성이 가능하도록 블록체인 미들웨어의 구현 및 의료 데이터의 표준 포맷으로 의료기록표준화관리부의 리소스 활용을 통한 데이터 공유의 효율성 증대를 도모할 수 있다.According to the present invention, as a storage of electronic medical record data in which electronic medical record data providers can share patient data electronically, reliability is secured through the use of blockchain technology, and blocks are configured to configure the RDB environment of the blockchain ledger. With the implementation of chain middleware and the standard format of medical data, it is possible to increase the efficiency of data sharing through resource utilization of the medical record standardization management department.
또한, 블록체인 기반 데이터 관리의 효율성 개선을 위한 스마트 컨트랙트 저작 기능을 포함, 자료구조 정의를 가능하게 하는 미들웨어 기능을 구현한다.In addition, it implements a middleware function that enables data structure definition, including a smart contract authoring function to improve the efficiency of blockchain-based data management.
그리고, 의료기록표준화관리부를 통해 전자의료기록데이터를 교환할 수 있는 방안을 마련하고, 의료기록표준화관리부의 저장소로서 블록체인 활용을 가능하게 하는 미들웨어 시스템을 구비한다.In addition, a method for exchanging electronic medical record data through the medical record standardization management unit is prepared, and a middleware system that enables the use of blockchain as a storage of the medical record standardization management unit is provided.
상기 의료기록표준화관리부는 예를 들어, FHIR(Fast Healthcare Interoperability Resource)를 활용할 수 있다.The medical record standardization management unit may utilize, for example, Fast Healthcare Interoperability Resource (FHIR).
상기에서는 본 발명의 실시예들을 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to the embodiments of the present invention, those skilled in the art can variously modify and modify the present invention within the scope not departing from the spirit and scope of the present invention described in the claims below. You will understand that it can be changed.
100: 클라이언트
200: 미들웨어시스템
210: 마이그레이터
220: 레저마스터
230: 추상화블록체인
300: 블록체인
500 : 의료기록표준화관리부100: client
200: middleware system
210: migrator
220: leisure master
230: abstraction blockchain
300: Blockchain
500: Medical record standardization management department
Claims (7)
마이그레이터에 의해 상기 테이블 구조에 대응하는 스마트 컨트랙트가 구성되는 단계;
추상블록체인부에 상기 마이그레이터에 의해 구성된 스마트 컨트랙트가 설치되는 단계;
마이그레이터는 표준화된 포맷으로 변환된 전자의료기록데이터를 파싱하여 대응하는 테이블명 및 컬럼명에 해당 데이터를 저장하는 단계를 수행하는 블록체인기반 전자의료기록 관리방법.
generating a table structure including table names and column names using user-defined tags;
Forming a smart contract corresponding to the table structure by the migrator;
Installing a smart contract configured by the migrator in an abstract blockchain unit;
A block chain-based electronic medical record management method in which the migrator parses the electronic medical record data converted into a standardized format and stores the corresponding data in the corresponding table name and column name.
클라이언트의 요청에 의해 레저마스터에서 상기 스마트 컨트랙트에 저장된 테이블과 동일한 컬럼을 갖는 테이블객체를 생성하는 단계;
상기 레저마스터에 의해 상기 테이블객체에 저장되는 데이터를 조작할 수 있도록 하는 데이터관리API가 제공되고, 상기 데이터관리API를 이용한 클라이언트의 요청에 의해 상기 대상블록체인에 데이터가 저장되거나 검색되는 단계를 수행하는 블록체인기반 전자의료기록 관리방법.
According to claim 1,
Creating a table object having the same columns as the table stored in the smart contract at the Ledger Master at the request of the client;
A data management API is provided by the Ledger Master to manipulate data stored in the table object, and a step of storing or retrieving data in the target blockchain is performed at the request of a client using the data management API. Blockchain-based electronic medical record management method.
클라이언트에 의해 레저마스터에서 제공되는 쿼리문자열이 전송되는 단계;
레저마스터에서 상기 쿼리문자열을 파싱하여 상기 스마트 컨트랙트의 인자로 넘겨주고, 상기 스마트 컨트랙트는 상기 인자에 대응하여 상기 대상블록체인에 데이터를 저장하거나 해당 데이터를 검색하는 단계를 수행하는 블록체인기반 전자의료기록 관리방법.
According to claim 1,
transmitting a query string provided from the Ledger Master by the client;
Blockchain-based electronic medical care in which the Ledger Master parses the query string and passes it to the smart contract as an argument, and the smart contract performs a step of storing data in the target blockchain or retrieving the corresponding data in response to the argument Records management method.
상기 사용자정의 태그는 테이블을 생성하는 생성태그, 테이블에 데이터를 입력하는 입력태그, 테이블에 저장된 데이터를 변경하는 변경태그, 테이블에 저장된 데이터를 삭제하는 삭제태그를 포함하는 것을 특징으로 하는 블록체인기반 전자의료기록 관리방법.
According to claim 1,
The user-defined tag includes a create tag for creating a table, an input tag for inputting data into the table, a change tag for changing data stored in the table, and a delete tag for deleting data stored in the table. Electronic medical record management method.
상기 마이그레이터는 상기 추상블록체인부에 스마트 컨트랙트를 설치하고, 상기 클라이언트에 의해 구성된 테이블 구조에 대응하는 스마트 컨트랙트의 주소를 생성하는 하여 상기 추상블록체인부에 전송하는 것을 특징으로 하는 블록체인기반 전자의료기록 관리방법.
According to claim 1,
The migrator installs a smart contract in the abstract blockchain unit, generates an address of the smart contract corresponding to the table structure configured by the client, and transmits it to the abstract blockchain unit. Blockchain-based electronic medical care Records management method.
상기 테이블 구조는 테이블명, 컬럼명, 인덱스, 제약사항을 포함하며,
상기 스마트 컨트랙트는 대상블록체인에 저장된 데이터와 대응하는 테이블명 및 컬럼명을 이용하여 해쉬코드를 생성하는 것을 특징으로 하는 블록체인기반 전자의료기록 관리방법.
According to claim 1,
The table structure includes table names, column names, indexes, and constraints.
The smart contract generates a hash code using table names and column names corresponding to data stored in the target blockchain.
상기 테이블 구조는 복수 개의 컬럼명 중 1개의 프라이머리 컬럼명을 포함하며,
상기 스마트 컨트랙트는 상기 프라이머리 컬럼명 중 첫번째 인덱스에 대응하는 데이터를 루트노드로 하고, 프라이머리 컬럼에 속하는 데이터들의 대소를 비교하여 자식노드의 위치를 정하는 것을 특징으로 하는 블록체인기반 전자의료기록 관리방법.According to claim 6,
The table structure includes one primary column name among a plurality of column names,
The smart contract sets the data corresponding to the first index of the primary column names as a root node, and compares the size of data belonging to the primary column to determine the location of the child node. Blockchain-based electronic medical record management Way.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210058776 | 2021-05-06 | ||
KR20210058776 | 2021-05-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220152505A true KR20220152505A (en) | 2022-11-16 |
Family
ID=84235770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220014020A KR20220152505A (en) | 2021-05-06 | 2022-02-03 | Managing method for EHR based on block chain |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20220152505A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117235188A (en) * | 2023-11-15 | 2023-12-15 | 成都三合力通科技有限公司 | Data universe sharing system and method based on alliance computing |
-
2022
- 2022-02-03 KR KR1020220014020A patent/KR20220152505A/en unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117235188A (en) * | 2023-11-15 | 2023-12-15 | 成都三合力通科技有限公司 | Data universe sharing system and method based on alliance computing |
CN117235188B (en) * | 2023-11-15 | 2024-01-30 | 成都三合力通科技有限公司 | Data universe sharing system and method based on alliance computing |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Karnitis et al. | Migration of relational database to document-oriented database: Structure denormalization and data transformation | |
US8832020B2 (en) | Method and system for safely transporting legacy data to an object semantic form data grid | |
US8015222B2 (en) | Virtual repository management | |
CN103455540B (en) | The system and method for generating memory model from data warehouse model | |
US8713041B2 (en) | Peer to peer (P2P) missing fields and field valuation feedback | |
US20090150439A1 (en) | Common extensible data exchange format | |
CN104573068A (en) | Information processing method based on megadata | |
US8037039B2 (en) | Runtime class database operation | |
CN105144080A (en) | System for metadata management | |
KR20060045622A (en) | Extraction, transformation and loading designer module of a computerized financial system | |
US10373712B2 (en) | Aggregation, partitioning, and management of healthcare data for efficient storage and processing | |
US20190259478A1 (en) | Rule-based low-latency delivery of healthcare data | |
KR20220097956A (en) | Method and apparatus for managing IOT devices, and server and storage medium thereof | |
US20220269648A1 (en) | System and method for providing correlated content organization in an enterprise content management system based on a training set | |
CN112930529A (en) | Generating software artifacts from conceptual data models | |
US20180046779A1 (en) | Caching technology for clinical data sources | |
KR20220152505A (en) | Managing method for EHR based on block chain | |
Ong et al. | A framework for classification of electronic health data extraction-transformation-loading challenges in data network participation | |
US20060190476A1 (en) | Database storage system and associated method | |
US20130110763A1 (en) | Programmatic access to terminologies expressed in hierarchical form | |
US10558612B1 (en) | Relational database conversion and purge | |
US11775514B2 (en) | Computer system architecture and application for intercommunications in divergent database management systems | |
US20190045002A1 (en) | System and method for content tethering in an enterprise content management system | |
US11334534B2 (en) | System and method for providing a correlated content organizing technique in an enterprise content management system | |
CN116627448A (en) | Method for creating micro-service and related equipment |