プロジェクト

全般

プロフィール

WikiStart » 履歴 » バージョン 10

KOBAYASHI Shinji, 2009/11/13 23:55

1 1 KOBAYASHI Shinji
h1. Ruby reference implementation of openEHR.
2
3
h2. The origin
4
5 6 KOBAYASHI Shinji
In 2007, there are no implementation in script language of openEHR. I and Dr Akimichi Tatsukawa (Aki) knew each other on our activity in the Ruby and the other script language (I translated 'Beginning Perl for Bioinformatics', O'Reilly 2002 to Japanese, and Aki developed psychology test with Ruby on Rails in his hospital). I was also bored in the obsoleted environment around medical informatics in Japan. The openEHR project stimulated our intellectual concern directly. Thus, we decided to implement the openEHR in some script language. Ruby was the only language that both I and Aki shared. (But I don't know Ruby much, just be enjoying)
6 1 KOBAYASHI Shinji
7
h2. The status and road map
8
9 2 KOBAYASHI Shinji
Fortunately, no one disturbed us. Moreover the openEHR.org and many people have supported us. Yeah! Tim Cook started the Python project at almost same time and gave us some significant suggestions.
10
11
Since we are sometimes too busy to develop, the road map is unstable and incredible for even me.
12 1 KOBAYASHI Shinji
13 9 KOBAYASHI Shinji
However, I have a presentation in the 7th "ICICTH":http://www.ineag.gr/ICICTH/ 2009 in Samos. So the next target version is [[Samos]] as 0.5.0 that covers almost all reference models of the stable specification.
14 8 KOBAYASHI Shinji
15 10 KOBAYASHI Shinji
In 2010, established version will be released as [[Capetown release]].
16
17
h2. The coding guide line
18
19
h3. Nomenclature of module and classes.
20
21
Now, our coding style is not established, but some refinements have been performed our libraries. After [[Samos]] release, nomenclature of module and class will be unified to the Rails style.
22
23
As the Eiffel description, the openEHR nomenclature of classes in specification documents defined all the class and module name are CAPITAL. Otherwise, Java and Python implementation describe their classes as camelCase. In Ruby language, class and module name should be started in capital alphabet. So we can address class name as 'ARCHETYPE_ONTOLOGY' or 'ArchetypeOntology'. Formerly, we described classes as 'Archetype_Ontology'. But we decided to describe class name as the rule like Java and Python, such as 'ArchetypeOntology', because we should appeal our implementation for both Python and Java people. This decision was aimed to enhance the similarity to Rails environment.
24
25
h3. Arguments format
26
27
The constructors of some classes of the openEHR specification have more than five arguments. Since the order of the arguments bothers us sometimes, we changed the argument style as Hash.