医療情報分野における標準化の動向 と ruby...

58
医療情報分野における標準化の動向 Ruby 言語による実装 Movement on medical standard and its implementation by Ruby 小林慎治; 愛媛大学医学部第一内科 Shinji KOBAYASHI; Ehime University

Upload: others

Post on 28-Jan-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

  • 医療情報分野における標準化の動向 と Ruby 言語による実装

    Movement on medical standard and its implementation by Ruby

    小林慎治; 愛媛大学医学部第一内科Shinji KOBAYASHI; Ehime University

  • Who am I?Why do I use Ruby?

    Agenda

  • e-Health care in Japan and My bibliography

    Era E-Health in Japan My bibliography

    1970Happy Origin

    Start for research Born in Saga Japan at April 19, 1970

    1980Hopefuldevelopment

    'Receipt computer'Claiming system for insurance

    Manga, Anime, ComputerMedical student/ Kyushu University

    1990Painful growth

    Clinical Physicians Order / Entry system

    MD license, 1995Resident, Clinical hematology/oncology

    2000Explosion

    Electronic medical record/Electronic health record, full digital

    PhD. research and development on OSS in medical field

  • I can do it better!

  • Why do I use Ruby?

    Cost to change brain mode Lower cost Short time

    Open source software Free to use, financially, politically

    Object Oriented Programing Language Next challenge

    To learn innovative skill of software Experimental, research use

  • Health care environment of Japan

    Total health insurance system To provide average level health care to all nations.

    Universal access When, Where, Who, What

    High cost performance Low cost Longest life span Minimal level maternal/infant mortality

  • Japanese Medical Insurance System From a patient and a medical perspective

    All citizens are able to join one insurance system Free access to providers and specialists Fee-for-service payment Providers must submit claims for processing by the

    10th of the month following the visit. Co-payments collected by providers each visit Each prefecture and county-level government, as

    well as cities, towns and villages, has its own individual system of additional subsidies for medical care payments.

    Average life span and infant mortality rates are among the best in the world!

  • Health expenditure/GDP

  • 'Receipt' claim form

    Demographics Insurance number Diagnosis Laboratory test/exam Procedure Prescription Many local rules

  • 'Receipt computer'

    Claiming/billing application Calculate medical claim under complex rule Print out 'Receipt'

    Database Patients' demographics

    Name, birthday, insurance Disease, drug, procedures

    Proprietary Data can be utilized for only 'Receipt' work

  • Problems of e-Health (in Japan)

    High cost, Low investment Oligopoly market Suppression to raising cost for health care

    Many standards, few implementation 'Paper' standard, restriction to use 'Proprietary' standards

    'Lock in' Vendor lock in → Oligopoly Data lock in → absence of reusability

    How many patients? Disease outcome?

  • AYDBTU?

    VENDOR: ALL YOUR DATA ARE BELONG TO US!?

  • OSS

    Open license, free distribution Share intellectual resources

    Avoid 'lock in' Health data has long life time as Human. Assurance for future availability

    Drives open standard Reference implementation accelerate 'OPEN'

    standard Cost reduction

    Not aim, but result.

  • ORCA Project

    JMA Standard Receipt Computer OSS, under GPL 2.0(translated into Japanese) Avoid 'lock-in'

    Standard Implementation based 'de facto' MML/CLAIM protocol ↔ EMR

    Collect data Health care policy based data against meaningless

    government policy

  • Grace Murray Hopper

  • 16

    Adoption of ORCA

  • 17

    Adoption of ORCA(May 2002 ~April 2010)

    17

    Working・・・8800

    Preparing・・・1145

    Planning・・・ 498

     

    【specification】 

     ・OSS+Billing software, morethan 1M steps ・Process 1T JPY( 10B USD) claims/year ・Only 2 week for adjust new rules/2years

  • Made in Matsue

  • OSS2010, Notre Dame, USA

  • OSS2010, Notre Dame, USA

  • MOSC2010, Kuala Lumpur

  • MOSC2010, Kuala Lumpur

  • Open Source EHR Summit, 2012

  • Problems on medical standards

    Many standards, few implementations About 250 standards 'Proprietary' standards

    Lack of interoperability Not accessable 'Connectathon' Harmonization not sound cooperatively

    Political flames Academics, Commercialisms,....

    Too many inquiries Too greedy

  • 2011/12/14 CIMI press release

    ● CIMIとは– 臨床情報モデリングイニシアティブ(CIMI; Clinical

    Information Modeling Initiative)は、健康に関する記録やメッセージ文書として作成され保存される情報が意味論的に相互運用可能なものとなるために、健康情報の内容を表現する共通形式についての詳細な仕様を提供するための国際的な共同研究である。(2011年7月から活動)

    ● 2011/11/29-12/1 London meeting– グループとしての基本方針

  • Principle

    ● CIMI specifications will be freely available to all.

    ● CIMI is committed to making these specifications available in a number of formats, beginning with the Archetype Definition Language (ADL) from the openEHR Foundation (ISO 13606.2) and the Unified Modeling Language (UML).

    ● 3. CIMI is committed to transparency in its work product and process.

  • Approach

    ● ADL 1.5 will be the initial formalism for representing clinical models in the repository.

    ● CIMI will use the openEHR constraint model ● A set of UML stereotypes, XMI specifications and transformations

    will be concurrently developed using UML 2.0 and OCL as the constraint language.

    ● A Work Plan for how the AOM and target reference models will be maintained and updated will be developed and approved by the end of January 2012.

    ● Lessons learned from the development and implementation of the HL7 Clinical Statement Pattern and HL7 RIM as well as from the Entry models of 13606, openEHR and the SMART (Substitutable Medical Apps, Reusable Technologies) initiative will inform baseline inputs into this process.

  • Clinical modelingとは

    ● 臨床概念の明確化– 集めるべき情報は何か。項目はどれか。– 「血圧」と言う場合に考慮されるべき情報は何か

    ● 臨床概念の構造化– 概念同士の関係を明らかにする– オントロジー、シソーラス

    ● 臨床概念の結合– ユースケースに合わせて必要に応じて概念を組み

    合わせる(CDA-RIM, Archetype-Template)

  • The openEHRProject

  • Features of the openEHR

    Open Source implementation based standard Free to use Not paper based standad Reference implementation

    Eiffel, Java, C# Two level modeling

    Separate clinical domain concept from technical architecture

    Archetype model/reference model

  • Semantic interoperability of healthcare information

  • Semantic interoperability

    One record, multiple use Health care provider

    Clinical use, history presentation Government

    Public health Researcher

    Clinical trial Domain authorized concept model

    Computer processable Domain experts authored

  • Known difficulties

  • Multiple inheritance

  • Single inheritance+mixin(implementation)

  • ISO8601_DATE

    rm::support::assumed_library

    ISO8601_TIME

    ISO8601_DATE_TIME

  • ISO8601_Date_Time+year+month+day+hour+minute+second+fractional_second+as_string

    ISO8601_Date+year+month+day+as_string

    ISO8601_Time+hour+minute+second+fractional_second+as_string

  • Module = Class - constructor

  • Class = Module + constructor

  • ISO8601_Date_Module+year+month+day+as_string

    ISO8601_Date+initialize

  • ISO8601_Time_Module+hour+minute+second+fractional_second+as_string

    ISO8601_Time+initialize

  • ISO8601_Date_Time

    +initialize+as_string

    ISO8601_Date_Module

    +year+month+day+as_string

    ISO8601_Time_Module

    +hour+minute+second+fractional_second+as_string

    a

    mixin

  • Circular import

  • A.java

    import Bpublic class A

    B.java

    import Apublic class B

  • ab.rb

    class A

    end

    class B

    end

  • a.rb

    require Bclass A

    b.rb

    require Aclass B

  • SupportData TypesData StructuresSecurity Commo

    n

    Composition Archetype profTemplate OMIntegration

    Integration

    DemographicEHR

    EHR

    AOM ADL

  • Language AM RM TotalEiffel 10,145 8,258 18,403C# 5,472 17,488 22,960Java 11,603 3,642 15,245Ruby 945 3,358 4,303

    Effective steps of libraries

  • Magic of Duck typing

  • ADL Parser

    Archetype Definition Language Portable domain specific language Concept describing language Ontology based data definition

    Grammatical issues Partially left recursive Lexical traverse

    cADL, dADL

  • Parser algorithm

    LALR(1) Most popular implementation Grammatical flexibility Exponential computing cost

    LL(k) Classical simple way Grammatical restriction

    PEG/Packrat LL/Memoize, best performance

  • Packrat ADL parser implementation

    Algorithm Packrat/PEG

    Grammar Convert yacc type LALR(1) rule to PEG Remove left recursion

    A → A α1∣⋯∣A αn∣β1⋯∣βmA →β1 A ' ∣⋯∣βm A'A ' →ε∣α1 A '∣⋯∣αn A '

  • Parser benchmark

  • Impact Download

    More than 2,300(70/version) GitHub

    1fork, 8watchers

  • How to install

    gem install openehr

  • How to use

    require 'openehr'

    parser = ADLParser.new(adl_file)archetype = parser.parse

  • Mission

    ADL Validator ADL Serializer Rails

    generator for erb template, migration, controlle 15min EHR!

    Archetype flattener, etc, etc Education of Object Oriented technology for

    medical informaticians

  • Discussion

    Ruby proved its capability to implement openEHR specification with known implementation problems.

    Programming steps could be reduced, but efficiency for EHR development needs another study.

    Runtime performance is a known deficit of Ruby. Our benchmark tests also proved lower performance than Java runtime, but it was within the tolerable speed.

    ページ 1ページ 2ページ 3ページ 4ページ 5ページ 6ページ 7ページ 8ページ 9ページ 10ページ 11ページ 12ページ 13ページ 14ページ 15ページ 16ページ 17ページ 18ページ 19ページ 20ページ 21ページ 22ページ 23ページ 24ページ 25ページ 26ページ 27ページ 28ページ 29ページ 30ページ 31ページ 32ページ 33ページ 34ページ 35ページ 36ページ 37ページ 38ページ 39ページ 40ページ 41ページ 42ページ 43ページ 44ページ 45ページ 46ページ 47ページ 48ページ 49ページ 50ページ 51ページ 52ページ 53ページ 54ページ 55ページ 56ページ 57ページ 58