open_ehr 0.9.3 → 0.9.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. data/History.txt +6 -0
  2. data/README.rdoc +6 -8
  3. data/VERSION +1 -1
  4. data/lib/open_ehr/am/archetype/constraint_model/primitive.rb +2 -2
  5. data/lib/open_ehr/am/archetype/ontology.rb +23 -28
  6. data/lib/open_ehr/am/archetype.rb +1 -1
  7. data/lib/open_ehr/parser/adl.rb +42 -4
  8. data/lib/open_ehr/parser/adl_grammar.tt +67 -42
  9. data/lib/open_ehr/parser/adl_parser.rb +1 -1
  10. data/lib/open_ehr/parser/cadl_grammar.tt +227 -61
  11. data/lib/open_ehr/parser/cadl_node.rb +1 -0
  12. data/lib/open_ehr/parser/dadl_grammar.tt +10 -10
  13. data/lib/open_ehr/parser/shared_token_grammar.tt +13 -13
  14. data/open_ehr.gemspec +14 -4
  15. data/spec/lib/open_ehr/am/archetype/archetype_spec.rb +1 -1
  16. data/spec/lib/open_ehr/am/archetype/ontology/archetype_ontology_spec.rb +22 -13
  17. data/spec/lib/open_ehr/parser/adl14/adl-test-SOME_TYPE.generic_type_use_node.draft.adl +1 -1
  18. data/spec/lib/open_ehr/parser/adl14/adl-test-entry.archetype_bindings.test.adl +1 -1
  19. data/spec/lib/open_ehr/parser/adl14/adl-test-entry.archetype_internal_ref.test.adl +1 -1
  20. data/spec/lib/open_ehr/parser/adl14/adl-test-entry.archetype_internal_ref2.test.adl +1 -1
  21. data/spec/lib/open_ehr/parser/adl14/adl-test-entry.archetype_language.test.adl +1 -1
  22. data/spec/lib/open_ehr/parser/adl14/adl-test-entry.archetype_language_no_accreditation.test.adl +1 -1
  23. data/spec/lib/open_ehr/parser/adl14/adl-test-entry.archetype_language_order_of_translation_details.test.adl +1 -1
  24. data/spec/lib/open_ehr/parser/adl14/adl-test-entry.archetype_ontology.test.adl +1 -1
  25. data/spec/lib/open_ehr/parser/adl14/adl-test-entry.translations_author_language.test.adl +1 -1
  26. data/spec/lib/open_ehr/parser/adl14/adl-test-entry.translations_language_author.test.adl +1 -1
  27. data/spec/lib/open_ehr/parser/adl_archetype_internal_ref2_spec.rb +42 -0
  28. data/spec/lib/open_ehr/parser/adl_archetype_internal_ref_spec.rb +125 -0
  29. data/spec/lib/open_ehr/parser/adl_archetype_internal_ref_with_generics_spec.rb +258 -0
  30. data/spec/lib/open_ehr/parser/adl_archetype_ontology_binding_spec.rb +98 -0
  31. data/spec/lib/open_ehr/parser/adl_archetype_ontology_spec.rb +42 -0
  32. data/spec/lib/open_ehr/parser/adl_description_spec.rb +13 -2
  33. data/spec/lib/open_ehr/parser/adl_language_no_accreditation_spec.rb +66 -0
  34. data/spec/lib/open_ehr/parser/adl_language_order_spec.rb +68 -0
  35. data/spec/lib/open_ehr/parser/adl_language_spec.rb +119 -0
  36. data/spec/lib/open_ehr/parser/adl_language_translation_author_language_spec.rb +50 -0
  37. data/spec/lib/open_ehr/parser/adl_language_translation_language_author_spec.rb +46 -0
  38. data/spec/lib/open_ehr/parser/adl_parser_spec.rb +2 -2
  39. data/spec/lib/open_ehr/parser/parser_spec_helper.rb +7 -0
  40. data/spec/lib/open_ehr/rm/common/resource/translation_details_spec.rb +4 -4
  41. metadata +49 -39
  42. data/Gemfile.lock +0 -85
@@ -28,10 +28,10 @@ module OpenEHR
28
28
  args[:occurrences] ||= OpenEHR::AssumedLibraryTypes::Interval.new(
29
29
  :lower => 1, :upper => 1)
30
30
  node.id = args[:node_id]
31
- if node.root?
32
- args[:path] = '/'
31
+ if node.root? or node.id.nil?
32
+ args[:path] = node.path
33
33
  else
34
- args[:path] = node.path + '[' + args[:node_id] + ']'
34
+ args[:path] = node.path + '[' + node.id + ']'
35
35
  end
36
36
  args.update body.value(node)
37
37
  OpenEHR::AM::Archetype::ConstraintModel::CComplexObject.new(args)
@@ -42,13 +42,8 @@ module OpenEHR
42
42
  args = c_complex_object_head.value
43
43
  args[:occurrences] ||= OpenEHR::AssumedLibraryTypes::Interval.new(
44
44
  :lower => 1, :upper => 1)
45
- if node.root?
46
- node.path = '/'
47
- else
48
- node.id = args[:node_id]
49
- p args[:rm_type_name]
50
- node.path += '[' + args[:node_id] + ']'
51
- end
45
+ node.id = args[:node_id]
46
+ args[:path] = node.path
52
47
  OpenEHR::AM::Archetype::ConstraintModel::CComplexObject.new(args)
53
48
  end
54
49
  }
@@ -57,7 +52,7 @@ p args[:rm_type_name]
57
52
  rule c_complex_object_head
58
53
  c_complex_object_id c_occurrences {
59
54
  def value
60
- c_complex_object_id.value.update c_occurrences.value
55
+ c_complex_object_id.value[:occurrences] = c_occurrences.value
61
56
  c_complex_object_id.value
62
57
  end
63
58
  }
@@ -85,31 +80,25 @@ p args[:rm_type_name]
85
80
  rule c_complex_object_body
86
81
  c_any '' {
87
82
  def value(node)
88
- {:any_allowed? => true}
83
+ Hash[:attributes => c_any.value(node)]
89
84
  end
90
85
  }
91
86
  / c_attributes '' {
92
- def value(node = nil)
93
- {:attributes => c_attributes.value(node),
94
- :any_allowed? => false}
87
+ def value(node)
88
+ Hash[:attributes => c_attributes.value(node)]
95
89
  end
96
90
  }
97
91
  end
98
92
 
99
93
  rule c_object
100
- c_complex_object '' {
94
+ c_primitive_object '' {
101
95
  def value(node)
102
- c_complex_object.value(node)
96
+ c_primitive_object.value
103
97
  end
104
98
  }
105
- / archetype_slot '' {
99
+ / c_complex_object '' {
106
100
  def value(node)
107
- archetype_slot.value(node)
108
- end
109
- }
110
- / archetype_internal_ref '' {
111
- def value(node = nil)
112
- archetype_internal_ref.value(node)
101
+ c_complex_object.value(node)
113
102
  end
114
103
  }
115
104
  / constraint_ref '' {
@@ -117,9 +106,14 @@ p args[:rm_type_name]
117
106
  constraint_ref.value
118
107
  end
119
108
  }
120
- / c_primitive_object '' {
109
+ / archetype_slot '' {
110
+ def value(node)
111
+ archetype_slot.value(node)
112
+ end
113
+ }
114
+ / archetype_internal_ref '' {
121
115
  def value(node = nil)
122
- c_primitive_object.value
116
+ archetype_internal_ref.value(node)
123
117
  end
124
118
  }
125
119
  / V_C_DOMAIN_TYPE '' {
@@ -261,7 +255,14 @@ p args[:rm_type_name]
261
255
  end
262
256
 
263
257
  rule c_any
264
- '*' space
258
+ '*' space {
259
+ def value(node)
260
+ OpenEHR::AM::Archetype::ConstraintModel::CAttribute.new(
261
+ :path => node.path, :rm_attribute_name => node.id,
262
+ :exsitence => OpenEHR::AssumedLibraryTypes::Interval.new(
263
+ :lower => 1, :upper => 1))
264
+ end
265
+ }
265
266
  end
266
267
 
267
268
  rule c_attributes
@@ -291,7 +292,13 @@ p args[:rm_type_name]
291
292
  rule c_attr_head
292
293
  id:(V_ATTRIBUTE_IDENTIFIER) white_space c_existence c_cardinality {
293
294
  def value(node)
294
- path = (node.root? ? '/' : (node.path + "[#{node.id}]" + '/')) + id.value
295
+ if node.root?
296
+ path = node.path + id.value
297
+ elsif node.id
298
+ path = node.path + "[#{node.id}]/" + id.value
299
+ elsif
300
+ path = node.path + '/' + id.value
301
+ end
295
302
  OpenEHR::AM::Archetype::ConstraintModel::CMultipleAttribute.new(
296
303
  :rm_attribute_name => id.value,
297
304
  :path => path,
@@ -301,7 +308,13 @@ p args[:rm_type_name]
301
308
  }
302
309
  / id:V_ATTRIBUTE_IDENTIFIER white_space c_existence {
303
310
  def value(node)
304
- path = (node.root? ? '/' : (node.path + "[#{node.id}]" + '/')) + id.value
311
+ if node.root?
312
+ path = node.path + id.value
313
+ elsif node.id
314
+ path = node.path + "[#{node.id}]/" + id.value
315
+ elsif
316
+ path = node.path + '/' + id.value
317
+ end
305
318
  OpenEHR::AM::Archetype::ConstraintModel::CSingleAttribute.new(
306
319
  :rm_attribute_name => id.value,
307
320
  :path => path,
@@ -310,7 +323,13 @@ p args[:rm_type_name]
310
323
  }
311
324
  / id:(V_ATTRIBUTE_IDENTIFIER) white_space c_cardinality {
312
325
  def value(node)
313
- path = (node.root? ? '/' : (node.path + "[#{node.id}]" + '/')) + id.value
326
+ if node.root?
327
+ path = node.path + id.value
328
+ elsif node.id
329
+ path = node.path + "[#{node.id}]/" + id.value
330
+ elsif
331
+ path = node.path + '/' + id.value
332
+ end
314
333
  OpenEHR::AM::Archetype::ConstraintModel::CMultipleAttribute.new(
315
334
  :rm_attribute_name => id.value,
316
335
  :path => path,
@@ -319,7 +338,13 @@ p args[:rm_type_name]
319
338
  }
320
339
  / id:(V_ATTRIBUTE_IDENTIFIER) white_space {
321
340
  def value(node)
322
- path = (node.root? ? '/' : (node.path + "[#{node.id}]" + '/')) + id.value
341
+ if node.root?
342
+ path = node.path + id.value
343
+ elsif node.id
344
+ path = node.path + "[#{node.id}]/" + id.value
345
+ elsif
346
+ path = node.path + '/' + id.value
347
+ end
323
348
  OpenEHR::AM::Archetype::ConstraintModel::CSingleAttribute.new(
324
349
  :rm_attribute_name => id.value, :path => path)
325
350
  end
@@ -512,7 +537,7 @@ p args[:rm_type_name]
512
537
  integer_interval_value.value
513
538
  end
514
539
  }
515
- / occurrence_spec {
540
+ / occurrence_spec '' {
516
541
  def value
517
542
  occurrence_spec.value
518
543
  end
@@ -520,62 +545,184 @@ p args[:rm_type_name]
520
545
  end
521
546
 
522
547
  rule c_integer
523
- c_integer_spec (';' integer_value)?
548
+ c_integer_spec '' {
549
+ def value
550
+ c_integer_spec.value
551
+ end
552
+ }
553
+ / c_integer_spec ';' integer_value {
554
+ def value
555
+ c_integer_spec.value
556
+ end
557
+ }
524
558
  end
525
559
 
526
560
  rule c_real_spec
527
- real_value
528
- / real_list_value
529
- / real_interval_value
561
+ real_value '' {
562
+ def value
563
+ real_value.value
564
+ end
565
+ }
566
+ / real_list_value '' {
567
+ def value
568
+ real_list_value.value
569
+ end
570
+ }
571
+ / real_interval_value '' {
572
+ def value
573
+ real_interval_value.value
574
+ end
575
+ }
530
576
  end
531
577
 
532
578
  rule c_real
533
- c_real_spec (';' real_value)?
579
+ c_real_spec '' {
580
+ def value
581
+ c_real_spec.value
582
+ end
583
+ }
584
+ / c_real_spec ';' real_value {
585
+ def value
586
+ c_real_spec.assumed_value = real_value.value
587
+ end
588
+ }
534
589
  end
535
590
 
536
591
  rule c_date_constraint
537
- V_ISO8601_DATE_CONSTRAINT_PATTERN
538
- / date_value
539
- / date_interval_value
592
+ V_ISO8601_DATE_CONSTRAINT_PATTERN '' {
593
+ def value
594
+ V_ISO8601_DATE_CONSTRAINT_PATTERN.value
595
+ end
596
+ }
597
+ / date_value '' {
598
+ def value
599
+ date_value.value
600
+ end
601
+ }
602
+ / date_interval_value '' {
603
+ def value
604
+ date_interval_value.value
605
+ end
606
+ }
540
607
  end
541
608
 
542
609
  rule c_date
543
- c_date_constraint (';' date_value)?
610
+ c_date_constraint '' {
611
+ def value
612
+ c_date_constraint.value
613
+ end
614
+ }
615
+ / c_date_constraint ';' date_value {
616
+ def value
617
+ c_date_constraint.value
618
+ end
619
+ }
544
620
  end
545
621
 
546
622
  rule c_time_constraint
547
- V_ISO8601_TIME_CONSTRAINT_PATTERN
548
- / time_value
549
- / time_interval_value
623
+ V_ISO8601_TIME_CONSTRAINT_PATTERN '' {
624
+ def value
625
+ V_ISO8601_TIME_CONSTRAINT_PATTERN.value
626
+ end
627
+ }
628
+ / time_value '' {
629
+ def value
630
+ time_value.value
631
+ end
632
+ }
633
+ / time_interval_value {
634
+ def value
635
+ time_interval_value.value
636
+ end
637
+ }
550
638
  end
551
639
 
552
640
  rule c_time
553
- c_time_constraint (';' time_value)?
641
+ c_time_constraint '' {
642
+ def value
643
+ c_time_constraint.value
644
+ end
645
+ }
646
+ / c_time_constraint ';' time_value {
647
+ def value
648
+ c_time_constraint.value
649
+ end
650
+ }
554
651
  end
555
652
 
556
653
  rule c_date_time_constraint
557
- V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN
558
- / date_time_value
559
- / date_time_interval_value
654
+ V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN '' {
655
+ def value
656
+ V_ISO8601_DATE_TIME_CONSTRAINT_PATTERN.value
657
+ end
658
+ }
659
+ / date_time_value '' {
660
+ def value
661
+ date_time_value.value
662
+ end
663
+ }
664
+ / date_time_interval_value '' {
665
+ def value
666
+ date_time_interval_value.value
667
+ end
668
+ }
560
669
  end
561
670
 
562
671
  rule c_date_time
563
- c_date_time_constraint
564
- / c_date_time_constraint ';' date_time_value
672
+ c_date_time_constraint '' {
673
+ def value
674
+ c_date_time_constraint.value
675
+ end
676
+ }
677
+ / c_date_time_constraint ';' date_time_value {
678
+ def value
679
+ c_date_time_constraint.value
680
+ end
681
+ }
565
682
  end
566
683
 
567
684
  rule c_duration_constraint
568
- duration_pattern ('/' duration_interval_pattern)?
569
- / duration_value
570
- / duration_interval_value
685
+ duration_pattern '' {
686
+ def value
687
+ duration_pattern.value
688
+ end
689
+ }
690
+ / duration_pattern '/' duration_interval_pattern {
691
+ def value
692
+ duration_interval_patternl.value
693
+ end
694
+ }
695
+ / duration_value {
696
+ def value
697
+ duration_value.value
698
+ end
699
+ }
700
+ / duration_interval_value {
701
+ def value
702
+ duration_interval_value.value
703
+ end
704
+ }
571
705
  end
572
706
 
573
707
  rule duration_pattern
574
- V_ISO8601_TIME_CONSTRAINT_PATTERN
708
+ V_ISO8601_TIME_CONSTRAINT_PATTERN '' {
709
+ def value
710
+ V_ISO8601_TIME_CONSTRAINT_PATTERN.value
711
+ end
712
+ }
575
713
  end
576
714
 
577
715
  rule c_duration
578
- c_duration_constraint (';' duration_value)?
716
+ c_duration_constraint '' {
717
+ def value
718
+ c_duration_constraint.value
719
+ end
720
+ }
721
+ / c_duration_constraint ';' duration_value {
722
+ def value
723
+ c_duration_constraint.value
724
+ end
725
+ }
579
726
  end
580
727
 
581
728
  rule c_string_spec
@@ -614,20 +761,40 @@ p args[:rm_type_name]
614
761
  end
615
762
 
616
763
  rule c_boolean_spec
617
- SYM_TRUE (',' SYM_FALSE)? {
764
+ SYM_TRUE '' {
765
+ def value
766
+ {:true_valid => true, :false_valid => false}
767
+ end
768
+ }
769
+ / SYM_TRUE ',' SYM_FALSE {
770
+ def value
771
+ {:true_valid => true, :false_valid => true}
772
+ end
773
+ }
774
+ / SYM_FALSE '' {
775
+ def value
776
+ {:true_valid => false, :false_valid => true}
777
+ end
778
+ }
779
+ / SYM_FALSE ',' SYM_TRUE {
780
+ def value
781
+ {:true_valid => true, :false_valid => true}
782
+ end
618
783
  }
619
- / SYM_FALSE (',' SYM_TRUE)?
620
784
  end
621
785
 
622
786
  rule c_boolean
623
787
  c_boolean_spec ';' boolean_value {
624
788
  def value
625
- c_boolean_spec.value
789
+ c_boolean_spec.value[:assumed_value] = boolean_value.value
790
+ OpenEHR::AM::Archetype::ConstraintModel::Primitive::CBoolean.new(
791
+ c_boolean_spec.value)
626
792
  end
627
793
  }
628
794
  / c_boolean_spec '' {
629
795
  def value
630
- c_boolean_spec.value
796
+ OpenEHR::AM::Archetype::ConstraintModel::Primitive::CBoolean.new(
797
+ c_boolean_spec.value)
631
798
  end
632
799
  }
633
800
  end
@@ -717,8 +884,7 @@ p args[:rm_type_name]
717
884
  boolean_leaf.value
718
885
  end
719
886
  }
720
- / arithmetic_expression (SYM_EQ / SYM_NE / SYM_LT / SYM_GT / SYM_LE / SYM_GE) arithmetic_expression {
721
- def value
887
+ / arithmetic_expression (SYM_EQ / SYM_NE / SYM_LT / SYM_GT / SYM_LE / SYM_GE) arithmetic_expression { def value
722
888
  p elements
723
889
  end
724
890
  }
@@ -7,6 +7,7 @@ module OpenEHR
7
7
 
8
8
  def initialize(parent = nil)
9
9
  @parent = parent
10
+ @path = '/' if parent.nil?
10
11
  end
11
12
 
12
13
  def root?
@@ -35,7 +35,7 @@ module OpenEHR
35
35
  rule attr_val
36
36
  attr_id SYM_EQ object_block {
37
37
  def value
38
- {attr_id.value.to_sym => object_block.value}
38
+ {attr_id.value => object_block.value}
39
39
  end
40
40
  }
41
41
  end
@@ -105,7 +105,7 @@ module OpenEHR
105
105
  rule keyed_object
106
106
  object_key SYM_EQ object_block {
107
107
  def value
108
- {object_key.value.to_sym => object_block.value}
108
+ {object_key.value => object_block.value}
109
109
  end
110
110
  }
111
111
  end
@@ -203,9 +203,9 @@ module OpenEHR
203
203
  boolean_value.value
204
204
  end
205
205
  }
206
- / character_value '' {
206
+ / uri_value '' {
207
207
  def value
208
- character_value.value
208
+ uri_value.value
209
209
  end
210
210
  }
211
211
  / date_value '' {
@@ -228,14 +228,14 @@ module OpenEHR
228
228
  duration_value.value
229
229
  end
230
230
  }
231
- / uri_value '' {
231
+ / string_value '' {
232
232
  def value
233
- uri_value.value
233
+ string_value.value
234
234
  end
235
235
  }
236
- / string_value '' {
236
+ / character_value '' {
237
237
  def value
238
- string_value.value
238
+ character_value.value
239
239
  end
240
240
  }
241
241
  end
@@ -347,9 +347,9 @@ module OpenEHR
347
347
  end
348
348
 
349
349
  rule uri_value
350
- V_URI '' {
350
+ uri:V_URI '' {
351
351
  def value
352
- V_URI.value
352
+ uri.value
353
353
  end
354
354
  }
355
355
  end
@@ -18,22 +18,22 @@ module OpenEHR
18
18
  end
19
19
 
20
20
  rule type_identifier
21
- '(' id:V_TYPE_IDENTIFIER ')' white_space {
21
+ '(' id:V_GENERIC_TYPE_IDENTIFIER ')' white_space {
22
22
  def value
23
23
  id.value
24
24
  end
25
25
  }
26
- / '(' id:V_GENERIC_TYPE_IDENTIFIER ')' white_space {
26
+ / id:V_GENERIC_TYPE_IDENTIFIER white_space {
27
27
  def value
28
28
  id.value
29
29
  end
30
30
  }
31
- / id:V_TYPE_IDENTIFIER white_space {
31
+ / '(' id:V_TYPE_IDENTIFIER ')' white_space {
32
32
  def value
33
33
  id.value
34
34
  end
35
35
  }
36
- / id:V_GENERIC_TYPE_IDENTIFIER space {
36
+ / id:V_TYPE_IDENTIFIER white_space {
37
37
  def value
38
38
  id.value
39
39
  end
@@ -172,7 +172,7 @@ module OpenEHR
172
172
  end
173
173
 
174
174
  rule real_value
175
- ('+' / '-') V_REAL {
175
+ ('+' / '-')? V_REAL {
176
176
  def value
177
177
  text_value.to_f
178
178
  end
@@ -253,10 +253,10 @@ module OpenEHR
253
253
  :lower_included => false)
254
254
  end
255
255
  }
256
- / SYM_INTERVAL_DELIM SYM_GE real_value SYM_INTERVAL_DELIM {
256
+ / SYM_INTERVAL_DELIM SYM_GE lo:real_value SYM_INTERVAL_DELIM {
257
257
  def value
258
258
  OpenEHR::AssumedLibraryTypes::Interval.new(
259
- :lower => up.value,
259
+ :lower => lo.value,
260
260
  :upper_unbounded => true,
261
261
  :lower_included => true)
262
262
  end
@@ -839,19 +839,19 @@ module OpenEHR
839
839
  end
840
840
 
841
841
  rule SYM_GE
842
- '=>'
842
+ '=>' / '>=' white_space
843
843
  end
844
844
 
845
845
  rule SYM_LE
846
- '<='
846
+ '<=' / '=>' white_space
847
847
  end
848
848
 
849
849
  rule SYM_LT
850
- '<'
850
+ '<' white_space
851
851
  end
852
852
 
853
853
  rule SYM_GT
854
- '>'
854
+ '>' white_space
855
855
  end
856
856
 
857
857
  rule SYM_START_DBLOCK
@@ -1059,7 +1059,7 @@ module OpenEHR
1059
1059
  end
1060
1060
 
1061
1061
  rule V_URI
1062
- [a-z]+ '://' [^<>|\\{}^~"\[\] ]* {
1062
+ [a-z]+ '://' [^<>|\\{}^~"\[\] ]* {
1063
1063
  def value
1064
1064
  text_value
1065
1065
  end
@@ -1139,7 +1139,7 @@ module OpenEHR
1139
1139
  end
1140
1140
 
1141
1141
  rule V_GENERIC_TYPE_IDENTIFIER
1142
- [A-Z] IDCHAR* '<' [a-zA-Z0-9,_<>]+ '>' {
1142
+ [A-Z] IDCHAR* '<' [a-zA-Z0-9,_]+ '>' { # <>
1143
1143
  def value
1144
1144
  text_value
1145
1145
  end
data/open_ehr.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "open_ehr"
8
- s.version = "0.9.3"
8
+ s.version = "0.9.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Shinji KOBAYASHI", "Akimichi Tatsukawa"]
12
- s.date = "2011-11-19"
12
+ s.date = "2011-11-22"
13
13
  s.description = "This project is an implementation of the openEHR specification on Ruby."
14
14
  s.email = "skoba@moss.gr.jp"
15
15
  s.extra_rdoc_files = [
@@ -18,7 +18,6 @@ Gem::Specification.new do |s|
18
18
  s.files = [
19
19
  ".document",
20
20
  "Gemfile",
21
- "Gemfile.lock",
22
21
  "Guardfile",
23
22
  "History.txt",
24
23
  "PostInstall.txt",
@@ -223,11 +222,22 @@ Gem::Specification.new do |s|
223
222
  "spec/lib/open_ehr/parser/adl14/openEHR-EHR-SECTION.reason_for_encounter.v1.adl",
224
223
  "spec/lib/open_ehr/parser/adl14/openEHR-EHR-SECTION.summary.v1.adl",
225
224
  "spec/lib/open_ehr/parser/adl14/openEHR-EHR-SECTION.vital_signs.v1.adl",
225
+ "spec/lib/open_ehr/parser/adl_archetype_internal_ref2_spec.rb",
226
+ "spec/lib/open_ehr/parser/adl_archetype_internal_ref_spec.rb",
227
+ "spec/lib/open_ehr/parser/adl_archetype_internal_ref_with_generics_spec.rb",
228
+ "spec/lib/open_ehr/parser/adl_archetype_ontology_binding_spec.rb",
229
+ "spec/lib/open_ehr/parser/adl_archetype_ontology_spec.rb",
226
230
  "spec/lib/open_ehr/parser/adl_description_spec.rb",
227
231
  "spec/lib/open_ehr/parser/adl_identification_spec.rb",
232
+ "spec/lib/open_ehr/parser/adl_language_no_accreditation_spec.rb",
233
+ "spec/lib/open_ehr/parser/adl_language_order_spec.rb",
234
+ "spec/lib/open_ehr/parser/adl_language_spec.rb",
235
+ "spec/lib/open_ehr/parser/adl_language_translation_author_language_spec.rb",
236
+ "spec/lib/open_ehr/parser/adl_language_translation_language_author_spec.rb",
228
237
  "spec/lib/open_ehr/parser/adl_parser_spec.rb",
229
238
  "spec/lib/open_ehr/parser/adl_path_spec.rb",
230
239
  "spec/lib/open_ehr/parser/base_spec.rb",
240
+ "spec/lib/open_ehr/parser/parser_spec_helper.rb",
231
241
  "spec/lib/open_ehr/rm/common/archetyped/archetyped_spec.rb",
232
242
  "spec/lib/open_ehr/rm/common/archetyped/feeder_audit_details_spec.rb",
233
243
  "spec/lib/open_ehr/rm/common/archetyped/feeder_audit_spec.rb",
@@ -348,7 +358,7 @@ Gem::Specification.new do |s|
348
358
  s.homepage = "http://github.com/skoba/ruby-impl-openehr"
349
359
  s.licenses = ["The openEHR Open Source Software license(mozilla tri-license)"]
350
360
  s.require_paths = ["lib"]
351
- s.rubygems_version = "1.8.10"
361
+ s.rubygems_version = "1.8.11"
352
362
  s.summary = "Ruby implementation of the openEHR specification"
353
363
 
354
364
  if s.respond_to? :specification_version then
@@ -14,7 +14,7 @@ describe Archetype do
14
14
  definition = stub(CComplexObject, :rm_type_name => 'SECTION')
15
15
  items = {:text => 'Physical examination'}
16
16
  term1 = ArchetypeTerm.new(:code => 'at0000', :items => items)
17
- ontology = ArchetypeOntology.new(:specialisation_depth => 1, :term_definitions => {'ja' => [term1]})
17
+ ontology = ArchetypeOntology.new(:specialisation_depth => 1, :term_definitions => {'ja' => {'at0000' =>term1}})
18
18
  uid = HierObjectID.new(:value => 'ABCD::1')
19
19
  parent_archetype_id = ArchetypeID.new(:value => 'openEHR-EHR-SECTION.physical_examination.v1')
20
20
  invariants = stub(Set, :size => 2)