Status at 2015, Ruby implementation of openEHR

Embed Size (px)

Citation preview

Ruby on the openEHR

Shinji KOBAYASHI

Ruby implementation of openEHR

DoneRM, AM implementation

ADL 1.4 parser

Archetype to Rails app

DoingOPT parser

Rails Engine for openEHR

Sample app for our next generation EHR

To doTerminology (ontology) flattener

ADL 2.0 parserRR grammar

Dolphin project

Union of regional health care systemKyoto, Miyazaki, Kumamoto, Tokyo

Web based system for hospitals and patients.

Standardised by MMLXML standard for sharing clinical information

22 XML formalism

12 years historyMainly coded by Perl and M(Mumps).

DB Engine is Cache(TM).

rDolphin Project

Revised DolphinModernise architecture. MVC Framework

Object oriented programming, Cache to RDBMS(or NoSQL)

Research DolphinFor implementation research of openEHR

For clinical research

Ruby DolphinRuby and Ruby on Rails implementation

Implementation overview

Ruby on Rails(Ruby 2.2.3, Rails 4.2)

Re-construction of MML by archetype concept modelsHand generated forms and classes

PostgreSQL database engine

Open Source Software

Logical model of Ruby classes

Person

Party

Organization

EHR

Composition

ContentItem

ContentItem

ContentItem

ContentItem

Database model

Performance benchmark(1)

MySQL 10 1001000

Vital sign report: 108.8560.757657.42

Vital Sign report: 10059.241580.315829.14

Vital Sign 1000580.295794.3758019.49

PostgreSQL 10 1001000

Vital sign 109.08560.62582.21

Vital Sign 10067.36585.966010.87

Vital Sign 1000678.785827.7458819.23

sqlite3 10 1001000

Vital sign 1020.229162.741610.13

Core i7 4770, 3.4GHz, RAM 32GB, SSD 250GB, FreeBSD(64bit), ZFS Ruby 2.1.1

Performance bench mark(2)

Document sizeConcurrent access: 1Concurrent access: 10Concurrent access: 100

HTML8,500bytes29.9930.3530.15

XML812bytes104.62104.48106.22

JSON172bytes108.83109.08107.01

CSV16bytes140.74146.85143.93

HTTP server: unicorn 4.8.3, CPU Core i7 4770, 3.4GHz, RAM 32GB, SSD 255GBMeasured by Apache bench to localhost. Unit: request/second.Each result was the avarage of 1,000 trials

Further works

Rails EngineAuto-generation from OPT(Operational Template) to Web forms

DB schema

Ruby codes for models, controllers, views on Rails

Javascripts and CSSs

DB EngineRDBMS: PostgreSQL, MySQL

NoSQL: Google Big Table, Hadoop