open_ehr 0.9.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -9,12 +9,12 @@ GEM
9
9
  diff-lcs (1.1.3)
10
10
  ffi (1.0.9)
11
11
  git (1.2.5)
12
- guard (0.7.0)
12
+ guard (0.8.4)
13
13
  thor (~> 0.14.6)
14
14
  guard-rspec (0.4.5)
15
15
  guard (>= 0.4.0)
16
- guard-spork (0.2.1)
17
- guard (>= 0.2.2)
16
+ guard-spork (0.3.0)
17
+ guard (>= 0.8.2)
18
18
  spork (>= 0.8.4)
19
19
  i18n (0.6.0)
20
20
  jeweler (1.6.4)
@@ -28,7 +28,7 @@ GEM
28
28
  multi_json (1.0.3)
29
29
  polyglot (0.3.2)
30
30
  rake (0.9.2)
31
- rb-inotify (0.8.6)
31
+ rb-inotify (0.8.8)
32
32
  ffi (>= 0.5.0)
33
33
  rdoc (3.9.4)
34
34
  rspec (2.6.0)
data/History.txt CHANGED
@@ -1,11 +1,15 @@
1
- === 0.6.1 2011-05-09
2
-
3
- * First gem package release
1
+ === 0.9.1 2011-10-04
2
+ Archetype instance generated from ADL file.
4
3
 
5
- === 0.6.2 2011-05-09
6
- * Fixed some package hierachy
4
+ === 0.9.0 2011-09
5
+ * Fixed ADL parser and AOM generation
7
6
 
8
7
  === 0.7.0 2011-05
9
8
  * Fixed ADL parser library
10
9
 
10
+ === 0.6.2 2011-05-09
11
+ * Fixed some package hierachy
11
12
 
13
+ === 0.6.1 2011-05-09
14
+
15
+ * First gem package release
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.9.0
1
+ 0.9.1
@@ -47,6 +47,10 @@ module OpenEHR
47
47
  def definition
48
48
  arch_definition.value
49
49
  end
50
+
51
+ def ontology
52
+ arch_ontology.value
53
+ end
50
54
  }
51
55
  end
52
56
 
@@ -148,7 +152,22 @@ module OpenEHR
148
152
  end
149
153
 
150
154
  rule arch_ontology
151
- SYM_ONTOLOGY V_DADL_TEXT space
155
+ SYM_ONTOLOGY ontology:V_DADL_TEXT space {
156
+ def value
157
+ ao = ontology.value[:term_definitions]
158
+ term_definitions = {}
159
+ ao.map do |lang, term_defs|
160
+ items = term_defs[:items]
161
+ terms = items.map do |code, item|
162
+ OpenEHR::AM::Archetype::Ontology::ArchetypeTerm.new(
163
+ :code => code.to_s, :items => item)
164
+ end
165
+ term_definitions[lang.to_s] = terms
166
+ end
167
+ OpenEHR::AM::Archetype::Ontology::ArchetypeOntology.new(
168
+ :term_definitions => term_definitions)
169
+ end
170
+ }
152
171
  end
153
172
  end
154
173
  end
@@ -4,6 +4,9 @@ require 'polyglot'
4
4
  require 'treetop'
5
5
 
6
6
  include OpenEHR::Parser
7
+ include OpenEHR::AM::Archetype
8
+ include OpenEHR::RM::DataTypes::Text
9
+ include OpenEHR::RM::Support::Identification
7
10
 
8
11
  module OpenEHR
9
12
  module Parser
@@ -22,13 +25,21 @@ module OpenEHR
22
25
  end
23
26
 
24
27
  def parse
25
- archetype = ArchetypeMock.new(:archetype_id => @result.archetype_id,
26
- :adl_version => @result.adl_version,
27
- :concept => @result.concept,
28
- :original_language => @result.original_language,
29
- :translation => @result.translations,
30
- :description => @result.description,
31
- :definition => @result.definition)
28
+ terminology_id = TerminologyID.new(:value => 'ISO_639-1')
29
+ original_language = CodePhrase.new(
30
+ :terminology_id => terminology_id,
31
+ :code_string => @result.original_language)
32
+ archetype_id = ArchetypeID.new(:value => @result.archetype_id)
33
+ definition = @result.definition
34
+ ontology = @result.ontology
35
+ archetype = Archetype.new(:archetype_id => archetype_id,
36
+ :adl_version => @result.adl_version,
37
+ :concept => @result.concept,
38
+ :original_language => original_language,
39
+ :translation => @result.translations,
40
+ :description => @result.description,
41
+ :definition => @result.definition,
42
+ :ontology => @result.ontology)
32
43
  return archetype
33
44
  end
34
45
 
data/open_ehr.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{open_ehr}
8
- s.version = "0.9.0"
8
+ s.version = "0.9.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = [%q{Shinji KOBAYASHI}, %q{Akimichi Tatsukawa}]
12
- s.date = %q{2011-09-25}
12
+ s.date = %q{2011-10-04}
13
13
  s.description = %q{This project is an implementation of the openEHR specification on Ruby.}
14
14
  s.email = %q{skoba@moss.gr.jp}
15
15
  s.executables = [%q{adl_validator.rb}]
@@ -22,7 +22,6 @@ Gem::Specification.new do |s|
22
22
  "Gemfile.lock",
23
23
  "Guardfile",
24
24
  "History.txt",
25
- "Manifest.txt",
26
25
  "PostInstall.txt",
27
26
  "README.rdoc",
28
27
  "Rakefile",
@@ -1,7 +1,9 @@
1
1
  require File.dirname(__FILE__) + '/../../../spec_helper'
2
2
  include OpenEHR::Parser
3
+ include OpenEHR::AM::Archetype
3
4
  include OpenEHR::AM::Archetype::ConstraintModel
4
5
  include OpenEHR::AM::Archetype::Assertion
6
+ include OpenEHR::AM::Archetype::Ontology
5
7
 
6
8
  describe ADLParser do
7
9
 
@@ -24,8 +26,13 @@ describe ADLParser do
24
26
  @archetype = @ap.parse
25
27
  end
26
28
 
29
+ it 'archetype is an instance of Archetype' do
30
+ @archetype.should be_an_instance_of Archetype
31
+ end
32
+
27
33
  it 'archetype_id should be openEHR-EHR-SECTION-summary' do
28
- @archetype.archetype_id.should == 'openEHR-EHR-SECTION.summary.v1'
34
+ @archetype.archetype_id.value.should ==
35
+ 'openEHR-EHR-SECTION.summary.v1'
29
36
  end
30
37
 
31
38
  it 'adl_version should be 1.4' do
@@ -37,7 +44,8 @@ describe ADLParser do
37
44
  end
38
45
 
39
46
  it 'original language is ISO_639-1::en' do
40
- @archetype.original_language.should == 'ISO_639-1::en'
47
+ @archetype.original_language.code_string.should ==
48
+ 'ISO_639-1::en'
41
49
  end
42
50
 
43
51
  context 'description' do
@@ -188,7 +196,7 @@ describe ADLParser do
188
196
  @assertion0 = @includes[0]
189
197
  end
190
198
 
191
- it 'assertion0 should be an instance of assertion' do
199
+ it 'assertion0 should be an instance of Assertion' do
192
200
  @assertion0.should be_an_instance_of Assertion
193
201
  end
194
202
 
@@ -200,10 +208,140 @@ describe ADLParser do
200
208
  @assertion0.expression.item.pattern.should == '/clinical_synopsis\.v1/'
201
209
  end
202
210
  end
211
+
212
+ context '2nd assertion' do
213
+ before(:all) do
214
+ @assertion1 = @includes[1]
215
+ end
216
+
217
+ it 'assertion1 is an instanse of Assertion' do
218
+ @assertion1.should be_an_instance_of Assertion
219
+ end
220
+
221
+ it 'Assertion1 type is Boolean' do
222
+ @assertion1.expression.type.should == 'Boolean'
223
+ end
224
+
225
+ it 'expression value of assertion1 is /problem\.v1/' do
226
+ @assertion1.expression.item.pattern.should ==
227
+ '/problem\.v1/'
228
+ end
229
+ end
230
+
231
+ context '3rd assertion' do
232
+ before(:all) do
233
+ @assertion2 = @includes[2]
234
+ end
235
+
236
+ it 'assertion2 is an instanse of Assertion' do
237
+ @assertion2.should be_an_instance_of Assertion
238
+ end
239
+
240
+ it 'Assertion2 type is Boolean' do
241
+ @assertion2.expression.type.should == 'Boolean'
242
+ end
243
+
244
+ it 'expression value of Assertion2 is /problem\.v1/' do
245
+ @assertion2.expression.item.pattern.should ==
246
+ '/problem-diagnosis\.v1/'
247
+ end
248
+ end
249
+
250
+ context '4th assertion' do
251
+ before(:all) do
252
+ @assertion3 = @includes[3]
253
+ end
254
+
255
+ it 'assertion3 is an instanse of Assertion' do
256
+ @assertion3.should be_an_instance_of Assertion
257
+ end
258
+
259
+ it 'Assertion3 type is Boolean' do
260
+ @assertion3.expression.type.should == 'Boolean'
261
+ end
262
+
263
+ it 'expression value of assertion3 is /problem\.v1/' do
264
+ @assertion3.expression.item.pattern.should ==
265
+ '/problem-diagnosis-histological\.v1/'
266
+ end
267
+ end
268
+
269
+ context '5th assertion' do
270
+ before(:all) do
271
+ @assertion4 = @includes[4]
272
+ end
273
+
274
+ it 'assertion4 is an instanse of Assertion' do
275
+ @assertion4.should be_an_instance_of Assertion
276
+ end
277
+
278
+ it 'Assertion4 type is Boolean' do
279
+ @assertion4.expression.type.should == 'Boolean'
280
+ end
281
+
282
+ it 'expression value of assertion4 is /problem\.v1/' do
283
+ @assertion4.expression.item.pattern.should ==
284
+ '/problem-genetic\.v1/'
285
+ end
286
+ end
287
+
288
+ context '6th assertion' do
289
+ before(:all) do
290
+ @assertion5 = @includes[5]
291
+ end
292
+
293
+ it 'assertion5 is an instanse of Assertion' do
294
+ @assertion5.should be_an_instance_of Assertion
295
+ end
296
+
297
+ it 'Assertion5 type is Boolean' do
298
+ @assertion5.expression.type.should == 'Boolean'
299
+ end
300
+
301
+ it 'expression value of assertion5 is /problem\.v1/' do
302
+ @assertion5.expression.item.pattern.should ==
303
+ '/risk\.v1/'
304
+ end
305
+ end
306
+
307
+ context '7th assertion(is null)' do
308
+ it '7th assersion is nil' do
309
+ @includes[6].should be_nil
310
+ end
311
+ end
203
312
  end
204
313
  end
205
314
  end
206
315
  end #definition
316
+
317
+ context 'ontology section' do
318
+ before(:all) do
319
+ @archetype_ontology = @archetype.ontology
320
+ end
321
+
322
+ it 'is an ArchtypeOntology instance' do
323
+ @archetype_ontology.should be_an_instance_of ArchetypeOntology
324
+ end
325
+
326
+ it 'term_definitions parsed and assigned properly' do
327
+ @archetype_ontology.term_definition(:lang => 'en',
328
+ :code => 'at0000')[:text].should == 'Summary'
329
+ end
330
+
331
+ it 'description term_definitions parsed and assigned properly' do
332
+ @archetype_ontology.term_definition(:lang => 'en',
333
+ :code => 'at0000')[:description].should ==
334
+ 'A heading for conclusions and other evaluations'
335
+ end
336
+
337
+ it 'term_codes should be assigned properly' do
338
+ @archetype_ontology.term_codes.should == ['at0000']
339
+ end
340
+
341
+ it 'ArchetypeOntology has en lang' do
342
+ @archetype_ontology.should have_language 'en'
343
+ end
344
+ end
207
345
  end
208
346
  end
209
347
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: open_ehr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2011-09-25 00:00:00.000000000Z
13
+ date: 2011-10-04 00:00:00.000000000Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: xml-simple
17
- requirement: &17196536560 !ruby/object:Gem::Requirement
17
+ requirement: &17200461040 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '0'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *17196536560
25
+ version_requirements: *17200461040
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: activesupport
28
- requirement: &17196534820 !ruby/object:Gem::Requirement
28
+ requirement: &17200458540 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *17196534820
36
+ version_requirements: *17200458540
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: locale
39
- requirement: &17196534160 !ruby/object:Gem::Requirement
39
+ requirement: &17200455940 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: '0'
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *17196534160
47
+ version_requirements: *17200455940
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: builder
50
- requirement: &17196533300 !ruby/object:Gem::Requirement
50
+ requirement: &17200455020 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: '0'
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *17196533300
58
+ version_requirements: *17200455020
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: jeweler
61
- requirement: &17196532200 !ruby/object:Gem::Requirement
61
+ requirement: &17200453940 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ! '>='
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: '0'
67
67
  type: :runtime
68
68
  prerelease: false
69
- version_requirements: *17196532200
69
+ version_requirements: *17200453940
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: i18n
72
- requirement: &17196531600 !ruby/object:Gem::Requirement
72
+ requirement: &17200452240 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ! '>='
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: '0'
78
78
  type: :runtime
79
79
  prerelease: false
80
- version_requirements: *17196531600
80
+ version_requirements: *17200452240
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: treetop
83
- requirement: &17196530920 !ruby/object:Gem::Requirement
83
+ requirement: &17200451120 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ! '>='
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: '0'
89
89
  type: :runtime
90
90
  prerelease: false
91
- version_requirements: *17196530920
91
+ version_requirements: *17200451120
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: polyglot
94
- requirement: &17196530100 !ruby/object:Gem::Requirement
94
+ requirement: &17200448980 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ! '>='
@@ -99,10 +99,10 @@ dependencies:
99
99
  version: '0'
100
100
  type: :runtime
101
101
  prerelease: false
102
- version_requirements: *17196530100
102
+ version_requirements: *17200448980
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: rdoc
105
- requirement: &17196529060 !ruby/object:Gem::Requirement
105
+ requirement: &17200447680 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
108
  - - ! '>='
@@ -110,10 +110,10 @@ dependencies:
110
110
  version: '0'
111
111
  type: :runtime
112
112
  prerelease: false
113
- version_requirements: *17196529060
113
+ version_requirements: *17200447680
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: rspec
116
- requirement: &17196526440 !ruby/object:Gem::Requirement
116
+ requirement: &17200446420 !ruby/object:Gem::Requirement
117
117
  none: false
118
118
  requirements:
119
119
  - - ! '>='
@@ -121,10 +121,10 @@ dependencies:
121
121
  version: '0'
122
122
  type: :development
123
123
  prerelease: false
124
- version_requirements: *17196526440
124
+ version_requirements: *17200446420
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: guard-rspec
127
- requirement: &17196525420 !ruby/object:Gem::Requirement
127
+ requirement: &17200445360 !ruby/object:Gem::Requirement
128
128
  none: false
129
129
  requirements:
130
130
  - - ! '>='
@@ -132,10 +132,10 @@ dependencies:
132
132
  version: '0'
133
133
  type: :development
134
134
  prerelease: false
135
- version_requirements: *17196525420
135
+ version_requirements: *17200445360
136
136
  - !ruby/object:Gem::Dependency
137
137
  name: ruby-debug19
138
- requirement: &17196524100 !ruby/object:Gem::Requirement
138
+ requirement: &17200443980 !ruby/object:Gem::Requirement
139
139
  none: false
140
140
  requirements:
141
141
  - - ! '>='
@@ -143,10 +143,10 @@ dependencies:
143
143
  version: '0'
144
144
  type: :development
145
145
  prerelease: false
146
- version_requirements: *17196524100
146
+ version_requirements: *17200443980
147
147
  - !ruby/object:Gem::Dependency
148
148
  name: spork
149
- requirement: &17196522540 !ruby/object:Gem::Requirement
149
+ requirement: &17200442260 !ruby/object:Gem::Requirement
150
150
  none: false
151
151
  requirements:
152
152
  - - ! '>='
@@ -154,10 +154,10 @@ dependencies:
154
154
  version: 0.9.0.rc2
155
155
  type: :development
156
156
  prerelease: false
157
- version_requirements: *17196522540
157
+ version_requirements: *17200442260
158
158
  - !ruby/object:Gem::Dependency
159
159
  name: guard-spork
160
- requirement: &17196521000 !ruby/object:Gem::Requirement
160
+ requirement: &17200441080 !ruby/object:Gem::Requirement
161
161
  none: false
162
162
  requirements:
163
163
  - - ! '>='
@@ -165,10 +165,10 @@ dependencies:
165
165
  version: '0'
166
166
  type: :development
167
167
  prerelease: false
168
- version_requirements: *17196521000
168
+ version_requirements: *17200441080
169
169
  - !ruby/object:Gem::Dependency
170
170
  name: simplecov
171
- requirement: &17196520360 !ruby/object:Gem::Requirement
171
+ requirement: &17200405560 !ruby/object:Gem::Requirement
172
172
  none: false
173
173
  requirements:
174
174
  - - ! '>='
@@ -176,10 +176,10 @@ dependencies:
176
176
  version: '0'
177
177
  type: :development
178
178
  prerelease: false
179
- version_requirements: *17196520360
179
+ version_requirements: *17200405560
180
180
  - !ruby/object:Gem::Dependency
181
181
  name: rb-inotify
182
- requirement: &17196519580 !ruby/object:Gem::Requirement
182
+ requirement: &17200402760 !ruby/object:Gem::Requirement
183
183
  none: false
184
184
  requirements:
185
185
  - - ! '>='
@@ -187,10 +187,10 @@ dependencies:
187
187
  version: '0'
188
188
  type: :development
189
189
  prerelease: false
190
- version_requirements: *17196519580
190
+ version_requirements: *17200402760
191
191
  - !ruby/object:Gem::Dependency
192
192
  name: libnotify
193
- requirement: &17196518140 !ruby/object:Gem::Requirement
193
+ requirement: &17200401640 !ruby/object:Gem::Requirement
194
194
  none: false
195
195
  requirements:
196
196
  - - ! '>='
@@ -198,7 +198,7 @@ dependencies:
198
198
  version: '0'
199
199
  type: :development
200
200
  prerelease: false
201
- version_requirements: *17196518140
201
+ version_requirements: *17200401640
202
202
  description: This project is an implementation of the openEHR specification on Ruby.
203
203
  email: skoba@moss.gr.jp
204
204
  executables:
@@ -212,7 +212,6 @@ files:
212
212
  - Gemfile.lock
213
213
  - Guardfile
214
214
  - History.txt
215
- - Manifest.txt
216
215
  - PostInstall.txt
217
216
  - README.rdoc
218
217
  - Rakefile
@@ -499,7 +498,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
499
498
  version: '0'
500
499
  segments:
501
500
  - 0
502
- hash: 2975758498502846331
501
+ hash: -4104105171065841354
503
502
  required_rubygems_version: !ruby/object:Gem::Requirement
504
503
  none: false
505
504
  requirements:
data/Manifest.txt DELETED
@@ -1,14 +0,0 @@
1
- Gemfile
2
- Guardfile
3
- History.txt
4
- Manifest.txt
5
- PostInstall.txt
6
- README.rdoc
7
- Rakefile
8
- VERSION
9
- lib/open_ehr.rb
10
- lib/open_ehr/cli.rb
11
- spec/open_ehr_cli_spec.rb
12
- spec/open_ehr_spec.rb
13
- spec/spec.opts
14
- spec/spec_helper.rb