openehr 1.1.4 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,8 @@
1
1
  # ticket 203
2
2
  require File.dirname(__FILE__) + '/../../../../../../spec_helper'
3
+ require 'openehr/am/openehr_profile/data_types/quantity'
3
4
  include OpenEHR::AssumedLibraryTypes
4
- include ::OpenEHR::AM::OpenEHRProfile::DataTypes::Quantity
5
+ include OpenEHR::AM::OpenEHRProfile::DataTypes::Quantity
5
6
 
6
7
  describe CQuantityItem do
7
8
  before(:each) do
@@ -36,6 +36,10 @@ describe DvState do
36
36
  @dv_state.is_terminal?.should be_false
37
37
  end
38
38
 
39
+ it 'should not be terminal * another expression' do
40
+ @dv_state.should_not be_terminal
41
+ end
42
+
39
43
  it 'should change to terminal' do
40
44
  lambda {
41
45
  @dv_state.is_terminal = true
@@ -0,0 +1,29 @@
1
+ require File.dirname(__FILE__) + '/../../../../../spec_helper'
2
+
3
+ module OpenEHR
4
+ module RM
5
+ module DataTypes
6
+ module Text
7
+ describe DvCodedText do
8
+ let(:dv_coded_text) {
9
+ defining_code = double(CodePhrase)
10
+ defining_code.stub(:code_string).and_return('Acute myeloid leukemia')
11
+ DvCodedText.new(value: 'C920', defining_code: defining_code) }
12
+
13
+ it "should be_an_instance_of DvCodedText" do
14
+ dv_coded_text.should be_an_instance_of DvCodedText
15
+ end
16
+
17
+ it 'value should be assigned valid' do
18
+ dv_coded_text.value.should == 'C920'
19
+ end
20
+
21
+ it 'defining code string is Acute myeloid leukemia' do
22
+ dv_coded_text.defining_code.code_string.should ==
23
+ 'Acute myeloid leukemia'
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,189 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper'
2
+
3
+ module OpenEHR
4
+ module RM
5
+ describe Factory do
6
+ describe DvBooleanFactory do
7
+ subject { Factory.create('DvBoolean', value: true) }
8
+ it { should be_an_instance_of OpenEHR::RM::DataTypes::Basic::DvBoolean }
9
+ end
10
+
11
+ describe DvStateFactory do
12
+ subject { Factory.create('DV_STATE', value: double(), terminal: true) }
13
+ it { should be_an_instance_of OpenEHR::RM::DataTypes::Basic::DvState }
14
+ end
15
+
16
+ describe DvIdentifierFactory do
17
+ subject { Factory.create('DV_IDENTIFIER',
18
+ issuer: 'Ehime univ', assigner: 'Hospital',
19
+ id: '012345', type: 'local id') }
20
+
21
+ it { should be_an_instance_of OpenEHR::RM::DataTypes::Basic::DvIdentifier }
22
+ end
23
+
24
+ describe DvTextFactory do
25
+ subject { Factory.create("DvText", value: 'text') }
26
+
27
+ it { should be_an_instance_of OpenEHR::RM::DataTypes::Text::DvText }
28
+ end
29
+
30
+ context "DV_TEXT mapped to camelized RM type" do
31
+ subject { Factory.create('DV_TEXT', value:'text') }
32
+
33
+ it { should be_an_instance_of OpenEHR::RM::DataTypes::Text::DvText }
34
+ end
35
+
36
+ describe TermMappingFactory do
37
+ let(:target) { double() }
38
+ subject { Factory.create('TERM_MAPPING', target: target, match: '=') }
39
+
40
+ it { should be_an_instance_of OpenEHR::RM::DataTypes::Text::TermMapping }
41
+ end
42
+
43
+ describe CodePhraseFactory do
44
+ let(:terminology_id) { double() }
45
+ subject { Factory.create('CODE_PHRASE',
46
+ terminology_id: terminology_id,
47
+ code_string: 'C890') }
48
+
49
+ it { should be_an_instance_of OpenEHR::RM::DataTypes::Text::CodePhrase }
50
+ end
51
+
52
+ describe DvCodedTextFactory do
53
+ subject { Factory.create('DV_CODED_TEXT', value: 'C089', defining_code: double()) }
54
+
55
+ it { should be_an_instance_of OpenEHR::RM::DataTypes::Text::DvCodedText }
56
+ end
57
+
58
+ describe DvParagraphFactory do
59
+ let(:items) { ['short sentence', 'long sentence']}
60
+ subject { Factory.create('DV_PARAGRAPH', items: items) }
61
+
62
+ it { should be_an_instance_of OpenEHR::RM::DataTypes::Text::DvParagraph }
63
+ end
64
+
65
+ describe DvOrderedFactory do
66
+ subject { Factory.create('DV_ORDERED') }
67
+
68
+ it { should be_an_instance_of OpenEHR::RM::DataTypes::Quantity::DvOrdered }
69
+ end
70
+
71
+ describe DvIntervalFactory do
72
+ subject { Factory.create('DV_INTERVAL', upper: 100, lower: 1) }
73
+
74
+ it { should be_an_instance_of OpenEHR::RM::DataTypes::Quantity::DvInterval }
75
+ end
76
+
77
+ describe ReferenceRangeFactory do
78
+ subject { Factory.create('REFERENCE_RANGE', meaning: 'spec', range: double) }
79
+ it { should be_an_instance_of OpenEHR::RM::DataTypes::Quantity::ReferenceRange }
80
+ end
81
+
82
+ describe DvOrdinalFactory do
83
+ subject { Factory.create('DV_ORDINAL', value: 1, symbol: double()) }
84
+
85
+ it { should be_an_instance_of OpenEHR::RM::DataTypes::Quantity::DvOrdinal }
86
+ end
87
+
88
+ describe DvQuantifiedFactory do
89
+ subject { Factory.create('DV_QUANTIFIED', magnitude: 1) }
90
+
91
+ it { should be_an_instance_of OpenEHR::RM::DataTypes::Quantity::DvQuantified }
92
+ end
93
+
94
+ describe DvAmountFactory do
95
+ subject { Factory.create('DV_AMOUNT', magnitude: 0) }
96
+
97
+ it { should be_an_instance_of DataTypes::Quantity::DvAmount }
98
+ end
99
+
100
+ describe DvQuantityFactory do
101
+ subject { Factory.create("DvQuantity", magnitude: 10, units: 'mg') }
102
+
103
+ it { should be_an_instance_of OpenEHR::RM::DataTypes::Quantity::DvQuantity }
104
+ end
105
+
106
+ describe DvCountFactory do
107
+ subject { Factory.create("DV_COUNT", magnitude: 3) }
108
+
109
+ it { should be_an_instance_of DataTypes::Quantity::DvCount }
110
+ end
111
+
112
+ describe DvProportionFactory do
113
+ subject { Factory.create('DV_PROPORTION', numerator: 2, denominator: 1,
114
+ type: DataTypes::Quantity::ProportionKind::PK_UNITARY) }
115
+
116
+ it { should be_an_instance_of DataTypes::Quantity::DvProportion }
117
+ end
118
+
119
+ describe DvAbsoluteQuantityFactory do
120
+ subject { Factory.create('DV_ABSOLUTE_QUANTITY', magnitude: 6) }
121
+
122
+ it { should be_an_instance_of DataTypes::Quantity::DvAbsoluteQuantity }
123
+ end
124
+
125
+ describe DvTemporalFactory do
126
+ subject { Factory.create('DV_TEMPORAL', value: '2013-02-20T02:09:30') }
127
+
128
+ it { should be_an_instance_of DataTypes::Quantity::DateTime::DvTemporal }
129
+ end
130
+
131
+ describe DvDateFactory do
132
+ subject { Factory.create("DV_DATE", value: '2013-02-19') }
133
+
134
+ it { should be_an_instance_of OpenEHR::RM::DataTypes::Quantity::DateTime::DvDate }
135
+ end
136
+
137
+ describe DvTimeFactory do
138
+ subject { Factory.create('DV_TIME', value: '02:13:39') }
139
+
140
+ it { should be_an_instance_of DataTypes::Quantity::DateTime::DvTime }
141
+ end
142
+
143
+ describe DvDateTimeFactory do
144
+ subject { Factory.create('DV_DATE_TIME', value: '2013-02-21T01:02:23') }
145
+
146
+ it { should be_an_instance_of DataTypes::Quantity::DateTime::DvDateTime }
147
+ end
148
+
149
+ describe DvDurationFactory do
150
+ subject { Factory.create('DV_DURATION', value: 'P1Y2M') }
151
+
152
+ it { should be_an_instance_of DataTypes::Quantity::DateTime::DvDuration }
153
+ end
154
+
155
+ describe DvEncapsulatedFactory do
156
+ subject { Factory.create('DV_ENCAPSULATED', value: 'sample') }
157
+
158
+ it { should be_an_instance_of DataTypes::Encapsulated::DvEncapsulated }
159
+ end
160
+
161
+ describe DvMultimediaFactory do
162
+ subject { media_type = stub('media_type')
163
+ media_type.stub(:code_string).and_return('SVG')
164
+ Factory.create('DV_MULTIMEDIA', value: '<SVG> test </SVG>',
165
+ media_type: media_type) }
166
+
167
+ it { should be_an_instance_of DataTypes::Encapsulated::DvMultimedia }
168
+ end
169
+
170
+ describe DvParsableFactory do
171
+ subject { Factory.create('DvParsable', value: 'test', formalism: 'plain/text') }
172
+
173
+ it { should be_an_instance_of DataTypes::Encapsulated::DvParsable }
174
+ end
175
+
176
+ describe DvUriFactory do
177
+ subject { Factory.create('DV_URI', value: 'http://openehr.jp') }
178
+
179
+ it { should be_an_instance_of DataTypes::URI::DvUri }
180
+ end
181
+
182
+ describe DvEhrUriFactory do
183
+ subject { Factory.create('DV_EHR_URI', value: 'ehr://test/87284370-2D4B-4e3d-A3F3-F303D2F4F34B@2005-08-02T04:30:00') }
184
+
185
+ it { should be_an_instance_of DataTypes::URI::DvEhrUri }
186
+ end
187
+ end
188
+ end
189
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openehr
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.4
4
+ version: 1.1.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,10 +10,10 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-07-31 00:00:00.000000000 Z
13
+ date: 2013-02-20 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: xml-simple
16
+ name: rake
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
@@ -29,7 +29,7 @@ dependencies:
29
29
  - !ruby/object:Gem::Version
30
30
  version: '0'
31
31
  - !ruby/object:Gem::Dependency
32
- name: activesupport
32
+ name: xml-simple
33
33
  requirement: !ruby/object:Gem::Requirement
34
34
  none: false
35
35
  requirements:
@@ -45,7 +45,7 @@ dependencies:
45
45
  - !ruby/object:Gem::Version
46
46
  version: '0'
47
47
  - !ruby/object:Gem::Dependency
48
- name: locale
48
+ name: activesupport
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
@@ -61,7 +61,7 @@ dependencies:
61
61
  - !ruby/object:Gem::Version
62
62
  version: '0'
63
63
  - !ruby/object:Gem::Dependency
64
- name: builder
64
+ name: locale
65
65
  requirement: !ruby/object:Gem::Requirement
66
66
  none: false
67
67
  requirements:
@@ -77,7 +77,7 @@ dependencies:
77
77
  - !ruby/object:Gem::Version
78
78
  version: '0'
79
79
  - !ruby/object:Gem::Dependency
80
- name: jeweler
80
+ name: builder
81
81
  requirement: !ruby/object:Gem::Requirement
82
82
  none: false
83
83
  requirements:
@@ -205,7 +205,7 @@ dependencies:
205
205
  - !ruby/object:Gem::Version
206
206
  version: '0'
207
207
  - !ruby/object:Gem::Dependency
208
- name: guard-rspec
208
+ name: cucumber
209
209
  requirement: !ruby/object:Gem::Requirement
210
210
  none: false
211
211
  requirements:
@@ -221,7 +221,7 @@ dependencies:
221
221
  - !ruby/object:Gem::Version
222
222
  version: '0'
223
223
  - !ruby/object:Gem::Dependency
224
- name: ruby-debug19
224
+ name: guard
225
225
  requirement: !ruby/object:Gem::Requirement
226
226
  none: false
227
227
  requirements:
@@ -237,19 +237,51 @@ dependencies:
237
237
  - !ruby/object:Gem::Version
238
238
  version: '0'
239
239
  - !ruby/object:Gem::Dependency
240
- name: spork
240
+ name: guard-rspec
241
241
  requirement: !ruby/object:Gem::Requirement
242
242
  none: false
243
243
  requirements:
244
244
  - - ~>
245
245
  - !ruby/object:Gem::Version
246
- version: 1.0rc
246
+ version: 2.4.0
247
247
  type: :development
248
248
  prerelease: false
249
249
  version_requirements: !ruby/object:Gem::Requirement
250
250
  none: false
251
251
  requirements:
252
252
  - - ~>
253
+ - !ruby/object:Gem::Version
254
+ version: 2.4.0
255
+ - !ruby/object:Gem::Dependency
256
+ name: guard-cucumber
257
+ requirement: !ruby/object:Gem::Requirement
258
+ none: false
259
+ requirements:
260
+ - - ! '>='
261
+ - !ruby/object:Gem::Version
262
+ version: '0'
263
+ type: :development
264
+ prerelease: false
265
+ version_requirements: !ruby/object:Gem::Requirement
266
+ none: false
267
+ requirements:
268
+ - - ! '>='
269
+ - !ruby/object:Gem::Version
270
+ version: '0'
271
+ - !ruby/object:Gem::Dependency
272
+ name: spork
273
+ requirement: !ruby/object:Gem::Requirement
274
+ none: false
275
+ requirements:
276
+ - - ! '>'
277
+ - !ruby/object:Gem::Version
278
+ version: 1.0rc
279
+ type: :development
280
+ prerelease: false
281
+ version_requirements: !ruby/object:Gem::Requirement
282
+ none: false
283
+ requirements:
284
+ - - ! '>'
253
285
  - !ruby/object:Gem::Version
254
286
  version: 1.0rc
255
287
  - !ruby/object:Gem::Dependency
@@ -284,6 +316,22 @@ dependencies:
284
316
  - - ! '>='
285
317
  - !ruby/object:Gem::Version
286
318
  version: '0'
319
+ - !ruby/object:Gem::Dependency
320
+ name: listen
321
+ requirement: !ruby/object:Gem::Requirement
322
+ none: false
323
+ requirements:
324
+ - - '='
325
+ - !ruby/object:Gem::Version
326
+ version: '0.6'
327
+ type: :development
328
+ prerelease: false
329
+ version_requirements: !ruby/object:Gem::Requirement
330
+ none: false
331
+ requirements:
332
+ - - '='
333
+ - !ruby/object:Gem::Version
334
+ version: '0.6'
287
335
  - !ruby/object:Gem::Dependency
288
336
  name: libnotify
289
337
  requirement: !ruby/object:Gem::Requirement
@@ -308,6 +356,7 @@ extra_rdoc_files:
308
356
  - README.rdoc
309
357
  files:
310
358
  - .document
359
+ - .gitignore
311
360
  - .rspec
312
361
  - .travis.yml
313
362
  - Gemfile
@@ -318,6 +367,9 @@ files:
318
367
  - Rakefile
319
368
  - VERSION
320
369
  - doc/openehr_terminology.xml
370
+ - features/rmfactory.feature
371
+ - features/step_definitions/rmfactory_steps.rb
372
+ - features/support/env.rb
321
373
  - lib/openehr.rb
322
374
  - lib/openehr/am.rb
323
375
  - lib/openehr/am/archetype.rb
@@ -365,6 +417,7 @@ files:
365
417
  - lib/openehr/rm/data_types/uri.rb
366
418
  - lib/openehr/rm/demographic.rb
367
419
  - lib/openehr/rm/ehr.rb
420
+ - lib/openehr/rm/factory.rb
368
421
  - lib/openehr/rm/integration.rb
369
422
  - lib/openehr/rm/security.rb
370
423
  - lib/openehr/rm/support.rb
@@ -375,6 +428,7 @@ files:
375
428
  - lib/openehr/serializer.rb
376
429
  - lib/openehr/terminology.rb
377
430
  - lib/openehr/terminology/open_ehr_terminology.rb
431
+ - lib/openehr/version.rb
378
432
  - lib/openehr/writer.rb
379
433
  - openehr.gemspec
380
434
  - spec/lib/openehr/am/archetype/archetype_spec.rb
@@ -644,6 +698,7 @@ files:
644
698
  - spec/lib/openehr/rm/data_types/quantity/proportion_kind_spec.rb
645
699
  - spec/lib/openehr/rm/data_types/quantity/reference_range_spec.rb
646
700
  - spec/lib/openehr/rm/data_types/text/code_phrase_spec.rb
701
+ - spec/lib/openehr/rm/data_types/text/dv_coded_text_spec.rb
647
702
  - spec/lib/openehr/rm/data_types/text/dv_paragraph_spec.rb
648
703
  - spec/lib/openehr/rm/data_types/text/dv_text_spec.rb
649
704
  - spec/lib/openehr/rm/data_types/text/term_mapping_spec.rb
@@ -661,6 +716,7 @@ files:
661
716
  - spec/lib/openehr/rm/ehr/ehr_spec.rb
662
717
  - spec/lib/openehr/rm/ehr/ehr_status_spec.rb
663
718
  - spec/lib/openehr/rm/ehr/versioned_composition_spec.rb
719
+ - spec/lib/openehr/rm/factory_spec.rb
664
720
  - spec/lib/openehr/rm/integration/generic_entry_spec.rb
665
721
  - spec/lib/openehr/rm/support/identification/access_group_ref_spec.rb
666
722
  - spec/lib/openehr/rm/support/identification/archetype_id_spec.rb
@@ -689,9 +745,9 @@ files:
689
745
  - spec/lib/openehr/terminology/open_ehr_terminology_spec.rb
690
746
  - spec/spec.opts
691
747
  - spec/spec_helper.rb
692
- homepage: http://github.com/skoba/ruby-impl-openehr
748
+ homepage: http://openehr.jp
693
749
  licenses:
694
- - Apache 2.0 license
750
+ - Apache 2.0
695
751
  post_install_message:
696
752
  rdoc_options: []
697
753
  require_paths:
@@ -702,9 +758,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
702
758
  - - ! '>='
703
759
  - !ruby/object:Gem::Version
704
760
  version: '0'
705
- segments:
706
- - 0
707
- hash: -3026411643743733801
708
761
  required_rubygems_version: !ruby/object:Gem::Requirement
709
762
  none: false
710
763
  requirements:
@@ -713,8 +766,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
713
766
  version: '0'
714
767
  requirements: []
715
768
  rubyforge_project:
716
- rubygems_version: 1.8.24
769
+ rubygems_version: 1.8.25
717
770
  signing_key:
718
771
  specification_version: 3
719
772
  summary: Ruby implementation of the openEHR specification
720
773
  test_files: []
774
+ has_rdoc: