KR20220152505A - Managing method for EHR based on block chain - Google Patents

Managing method for EHR based on block chain Download PDF

Info

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
Application number
KR1020220014020A
Other languages
Korean (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 주식회사 오퍼스엠
Publication of KR20220152505A publication Critical patent/KR20220152505A/en

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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/88Medical equipments

Abstract

The present invention relates to a method of managing a blockchain-based electronic health record, which enables easy electronic health record management in a common way regardless of the type of blockchain by using a standardized system. To this end, the present invention provides a method of managing a blockchain-based electronic health record, the method comprising: a step of generating a table structure including a table name and a column name by using a user-defined tag; a step of constructing a smart contract corresponding to the table structure by a migrator; a step of installing the smart contract constructed by the migrator on an abstract blockchain unit; and a step of allowing the migrator to parse electronic health record data converted into a standardized format and store the data in a corresponding table name and column name. Therefore, according to the present invention, an environment may be provided, which allows general administrators who are not computer experts to be able to easily use electronic health record data on a blockchain.

Description

블록체인기반 전자의료기록 관리방법{Managing method for EHR based on block chain}Blockchain-based electronic medical record management method {Managing method for EHR based on block chain}

본 발명은 블록체인기반 전자의료기록 관리방법에 관한 것이며, 구체적으로 표준화된 시스템을 이용하여 블록체인의 종류에 관계없이 공통화된 방법으로 용이하게 전자의료기록을 관리할 수 있도록 한 블록체인기반 전자의료기록 관리방법에 관한 것이다.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 client 100, a middleware system 200, an abstract blockchain unit 230, and a blockchain 300.

클라이언트(100)는 사용자에 의해 설정되는 사용자정의 태그를 이용하여 테이블 구조를 생성하고, 대상블록체인이 어떠한 블록체인을 대상으로 하는지를 알 수 있도록 대상블록체인을 입력받는다. The client 100 creates a table structure using a user-defined tag set by a user, and receives a target block chain to know which block chain the target block chain is targeting.

사용자에 의해 설정되는 테이블 구조는 테이블 명칭을 의미하는 테이블명, 테이블 내 항목을 나타내는 컬럼명, 테이블 내 순서를 나타내는 인덱스, 테이블 항목의 입력문자형태 등 제약사항 등의 테이블 구성을 포함한다. 이때 블록체인 상에서 테이블명, 컬럼명을 기반으로 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 middleware system 200 includes a migrator 210 and a leisure master 220 .

마이그레이터(210)는 추상블록체인부(230)에 스마트 컨트랙트를 설치하고, 마이그레이터(210)는 클라이언트(100)에 의해 구성된 테이블 구조에 대응하는 스마트 컨트랙트의 주소를 생성하여, 추상블록체인부(230)에 전송한다. 또한 마이그레이터(210)에 의해 추상블록체인(230)에 전송되는 사항은 블록의 크기, 블록의 생성주기 등의 설정사항 등의 설정사항을 더 포함한다. The migrator 210 installs a smart contract in the abstract blockchain unit 230, and the migrator 210 generates the address of the smart contract corresponding to the table structure configured by the client 100, and the abstract blockchain unit 230 ) is sent to In addition, matters transmitted to the abstract blockchain 230 by the migrator 210 further include settings such as block size and block generation cycle.

우선 마이그레이터(210)는 XML의 사용자정의 태그를 기반으로 테이블 구조를 생성하고, 테이블 구조를 스마트 컨트랙트에 매핑하여 테이블 구조에 대응하는 스마트 컨트랙트를 구성한다. 이때 XML의 사용자정의 태그를 기반으로 생성된 테이블 구조에는 적어도 하나의 스마트 컨트랙트의 주소가 매핑될 수 있다. 본 발명의 경우, 사용자에 의해 정의된 XML을 이용하여 테이블 구조를 생성할 수 있어 높은 수준의 블록체인 지식을 습득하지 않아도 쉽게 사용이 가능하다는 장점을 갖는다.First, the migrator 210 creates a table structure based on user-defined tags in XML, and configures a smart contract corresponding to the table structure by mapping the table structure to a smart contract. At this time, the address of at least one smart contract can be mapped to the table structure created based on the XML user-defined tag. In the case of the present invention, the table structure can be created using XML defined by the user, so it has the advantage that it can be easily used without acquiring a high level of blockchain knowledge.

마이그레이터(210)는 사용자에 의해 XML로 정의된 컬럼들과, 인덱스 및 제약사항를 기반으로 블록체인 상에 기반환경 스마트 컨트랙트를 인스톨하고, 사용자 정의 테이블 형식에 대한 스마트 컨트랙트를 구성하게 된다. 이에 따라 후술하는 추상화 블록체인(230)에서, 대상블록체인이 상이한 경우, 대상블록체인 각각에 따른 수정을 요하지 않아 사용자의 편의성을 증대시킬 수 있다. The migrator 210 installs the infrastructure smart contract on the blockchain based on the columns, indexes, and constraints defined by the user in XML, and configures the smart contract for the user-defined table format. Accordingly, in the abstract blockchain 230 to be described later, when the target blockchains are different, user convenience can be increased by not requiring modification according to each target block chain.

레저마스터부(220)는 스마트 컨트랙트에 저장된 테이블과 같은 컬럼을 갖는 객체를 만들 수 있게 해준다.The Ledger Master unit 220 makes it possible to create an object having columns such as a table stored in a smart contract.

레저마스터(220)는 오브젝트 맵퍼부(221), 쿼리DSL부(222)를 포함한다.The Ledger Master 220 includes an object mapper unit 221 and a query DSL unit 222.

오브젝트 맵퍼부(221)는 클라이언트(100)의 요청에 의해 레저마스터가 API를 이용하여 스마트 컨트랙트에 저장된 테이블과 같은 컬럼을 갖는 객체를 만들 수 있게 해준다. 복수의 정의된 클래스에 기반하여 실행 시점에 자동으로 해당 클래스의 속성과 동일한 컬럼을 갖는 테이블을 내부에 저장된 일련의 스마트 컨트랙트 집단에 의해 자동적으로 테이블로 만들어진다. The object mapper unit 221 enables the Ledger Master to create an object having the same columns as a table stored in a smart contract using an API at the request of the client 100 . Based on a plurality of defined classes, at the time of execution, a table with the same columns as the properties of the corresponding class is automatically created as a table by a series of smart contract groups stored inside.

그리고 오브젝트 맵퍼(221)는 테이블의 형태 및 내용, 그리고 검색 등의 다양한 기능을 수행할 수 있도록 Insert, query, count, findBy, addColumn, addIndex 등의 자바 메소드 형식의 데이터관리API를 구비한다. In addition, the object mapper 221 has a data management API in the form of Java methods such as insert, query, count, findBy, addColumn, and addIndex to perform various functions such as table form and content and search.

오브젝트 맵퍼(221)는 상기와 같은 데이터관리API를 이용하여 클라이언트의 요청에 의해 대상블록체인에 데이터가 저장되거나 검색될 수 있다. 사용자는 별도의 프로그램에 대한 지식없이도 미리 준비된 데이터관리API를 이용한 명령어를 통해서 쉽게 블록체인 장부상의 데이터를 관리할 수 있게 된다.The object mapper 221 can store or retrieve data from the target blockchain at the request of a client using the data management API as described above. Users can easily manage the data on the blockchain ledger through commands using the data management API prepared in advance without knowledge of a separate program.

쿼리DSL부(222)는 사용자 정의 함수형 질의를 통해 쿼리를 생성한다. 클라이언트(100)에 의해 쿼리DSL부(222)에서 제공되는 쿼리문자열이 전송되면, 쿼리DSL부(222)는 쿼리문자열을 파싱하여 스카트 컨트랙트의 인자로 넘겨주고, 스마트 컨트랙트는 인자에 대응하여 대상블록체인에 데이터를 저장하거나 해당 데이터를 검색할 수 있다. The query DSL unit 222 generates a query through a user-defined functional query. When the query string provided by the query DSL unit 222 is transmitted by the client 100, the query DSL unit 222 parses the query string and passes it to the smart contract as an argument, and the smart contract responds to the argument to the target block You can store data on the chain or retrieve that data.

쿼리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 block chain unit 230 is not a target block chain, but is for performing DB-related functions and includes a test server function and an interface function.

레저마스터(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 block chain unit 230 that receives the command transmitted using the API, for example, a command to search the index C of item B of table A, It interprets the command using the API provided in and transmits it to the blockchain 300 according to the interpreted command. If the abstract block chain unit 230 does not exist, a command must be issued using a specialized program that can be applied to the target block chain 300, but in the case of the present invention, the abstract block chain unit 230 interprets DB-related commands. Since it is transmitted to the target block chain 300, there is no need to use a specific programming language for manipulating the target block chain 300.

상기 추상블록체인부는 블록체인의 종류와 관계없는 공통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 abstract blockchain unit 230 provides a coding test function. A developer may perform a coding test on both the abstract block chain unit 230 and the block chain 300 during an overall test that tests the entire coding. Meanwhile, in the case of a unit test in which a test is performed for each line of coding, a developer may perform a coding test only for the abstract block chain unit 230, not for the block chain. In the case of blockchain, the setting file must be installed for each unit test, but in the case of the abstract block chain unit 230, installation of the setting file by the migrator 210 can be omitted during successive unit tests. Accordingly, unit tests of coding can be quickly performed by the abstract block chain unit 230 .

추상블록체인부(230)는 대상블록체인에 대응되는 데이터를 전송할 수 있는 인터페이스(231)를 포함한다. 입력받은 대상블록체인에 대응되는 인터페이스(231)가 추상블록체인부와 대상블록체인 사이에 데이터 전송을 수행한다. The abstract blockchain unit 230 includes an interface 231 capable of transmitting data corresponding to a target blockchain. The interface 231 corresponding to the received target block chain performs data transmission between the abstract block chain unit and the target block chain.

기업용 블록체인인 이더리움 기반의 쿼롬과 하이퍼레저 패브릭 각각의 사용방식이 상이함에 따라 각각의 사용방식에 다르지만, 본 발명은 추상블록체인부(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 block chain unit 230 so that the migrator 210 and the ledger master ( 230), it is possible to commonize and provide the blockchain API required.

볼록체인(300)은 화폐이동이라는 비트코인보다는 엔터프라이즈 영역에서 사용할 수 있는 콘소시엄형 블록체인과 더 관련되어 있는 것으로서, 신뢰성있는 분산 데이터 공유를 위한 것으로서 즉, 분산데이터베이스 용도로 사용하기 위한 것이다.Convex chain 300 is more related to a consortium-type block chain that can be used in the enterprise area than Bitcoin, which is money transfer, and is for reliable distributed data sharing, that is, for use as a distributed database.

한편, 분산원장에 저장된 데이터를 효율적으로 관리하기 위해, 대용량의 파일을 효율적으로 검색하고 갱신하기 위해 널리 알려져 있는 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 blockchain 300, the smart contract can set the data corresponding to the first index of the primary column names in the table structure as the root node, and compare the size of the data belonging to the primary column to determine the location of the child node. have. In the above case, an equal search speed can be guaranteed and the efficiency of the storage device can be increased.

도 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 abstract blockchain unit 230 provides a common API that commonizes APIs required by the migrator and ledger master for various blockchains. According to the different usage methods of Ethereum-based Quorom and Hyperledger Fabric, which are enterprise blockchains, the APIs required by the Migrator and Ledger Master according to each usage method must be configured differently. In the case of the present invention, the common API of the abstract block chain unit 230 can save time and effort required to set different APIs according to various block chains.

도 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 middleware system 200 in a standard form such as XML or JSON.

상기 문서 또는 데이터는 임상 데이터뿐만 아니라 의료 관련 행정, 공중 보건 및 연구 데이터가 포함될 수 있다.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.
제1항에 있어서,
클라이언트의 요청에 의해 레저마스터에서 상기 스마트 컨트랙트에 저장된 테이블과 동일한 컬럼을 갖는 테이블객체를 생성하는 단계;
상기 레저마스터에 의해 상기 테이블객체에 저장되는 데이터를 조작할 수 있도록 하는 데이터관리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.
제1항에 있어서,
클라이언트에 의해 레저마스터에서 제공되는 쿼리문자열이 전송되는 단계;
레저마스터에서 상기 쿼리문자열을 파싱하여 상기 스마트 컨트랙트의 인자로 넘겨주고, 상기 스마트 컨트랙트는 상기 인자에 대응하여 상기 대상블록체인에 데이터를 저장하거나 해당 데이터를 검색하는 단계를 수행하는 블록체인기반 전자의료기록 관리방법.
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.
제1항에 있어서,
상기 사용자정의 태그는 테이블을 생성하는 생성태그, 테이블에 데이터를 입력하는 입력태그, 테이블에 저장된 데이터를 변경하는 변경태그, 테이블에 저장된 데이터를 삭제하는 삭제태그를 포함하는 것을 특징으로 하는 블록체인기반 전자의료기록 관리방법.
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.
제1항에 있어서,
상기 마이그레이터는 상기 추상블록체인부에 스마트 컨트랙트를 설치하고, 상기 클라이언트에 의해 구성된 테이블 구조에 대응하는 스마트 컨트랙트의 주소를 생성하는 하여 상기 추상블록체인부에 전송하는 것을 특징으로 하는 블록체인기반 전자의료기록 관리방법.
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.
제1항에 있어서,
상기 테이블 구조는 테이블명, 컬럼명, 인덱스, 제약사항을 포함하며,
상기 스마트 컨트랙트는 대상블록체인에 저장된 데이터와 대응하는 테이블명 및 컬럼명을 이용하여 해쉬코드를 생성하는 것을 특징으로 하는 블록체인기반 전자의료기록 관리방법.
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.
제6항에 있어서,
상기 테이블 구조는 복수 개의 컬럼명 중 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.
KR1020220014020A 2021-05-06 2022-02-03 Managing method for EHR based on block chain KR20220152505A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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