fhir_dstu2_models 1.0.3 → 1.0.4
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.
- checksums.yaml +4 -4
- data/.travis.yml +6 -6
- data/Gemfile.lock +44 -44
- data/README.md +32 -5
- data/fhir_dstu2_models.gemspec +3 -3
- data/lib/fhir_dstu2_models/bootstrap/hashable.rb +8 -22
- data/lib/fhir_dstu2_models/version.rb +1 -1
- metadata +9 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a1140fc77a44dcf10b01c38ef6513f08641eac65
|
|
4
|
+
data.tar.gz: 802d339f92786c05b707528184df1a782728264d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 472ccacf205f9270cee8859250e62dda8283ea3d2ba21096a992ab46bb9e81e3f8315b7a70432c6b7eba0764cc8d2d9d64afdcc85e36b08418152ce6038370db
|
|
7
|
+
data.tar.gz: ba36e569e66c5cb18b9dfeef4fef0c78fa256ea3f25710fc505a8cb2b2e9e609b1460478fcb8cec4bdb7bbf7b844c354f5562caf60f4258c2be377c6d4474259
|
data/.travis.yml
CHANGED
|
@@ -2,20 +2,20 @@ language: ruby
|
|
|
2
2
|
env:
|
|
3
3
|
- TESTMEMORY=0 GCDELAY=2.0
|
|
4
4
|
rvm:
|
|
5
|
-
-
|
|
6
|
-
-
|
|
7
|
-
-
|
|
5
|
+
- 2.2
|
|
6
|
+
- 2.3
|
|
7
|
+
- 2.4
|
|
8
|
+
- 2.5
|
|
8
9
|
script:
|
|
9
10
|
- bundle exec rake
|
|
10
11
|
- bundle exec codeclimate-test-reporter
|
|
11
12
|
notifications:
|
|
12
13
|
email:
|
|
13
14
|
recipients:
|
|
14
|
-
-
|
|
15
|
+
- fhir-testing-list@lists.mitre.org
|
|
15
16
|
on_failure: change
|
|
16
17
|
addons:
|
|
17
18
|
code_climate:
|
|
18
19
|
repo_token: 0230b3379581b30743b7b4355d7394e427648e604d19a2aba987956201eee290
|
|
19
20
|
before_install:
|
|
20
|
-
- gem
|
|
21
|
-
- gem update bundler
|
|
21
|
+
- gem install bundler
|
data/Gemfile.lock
CHANGED
|
@@ -1,30 +1,31 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
fhir_dstu2_models (1.0.
|
|
4
|
+
fhir_dstu2_models (1.0.4)
|
|
5
5
|
bcp47 (>= 0.3)
|
|
6
6
|
date_time_precision (>= 0.8)
|
|
7
7
|
mime-types (>= 1.16, < 3)
|
|
8
|
-
nokogiri (>= 1.
|
|
8
|
+
nokogiri (>= 1.8.2)
|
|
9
9
|
|
|
10
10
|
GEM
|
|
11
11
|
remote: https://rubygems.org/
|
|
12
12
|
specs:
|
|
13
|
-
ast (2.
|
|
13
|
+
ast (2.4.0)
|
|
14
14
|
bcp47 (0.3.3)
|
|
15
15
|
i18n
|
|
16
16
|
codeclimate-test-reporter (1.0.8)
|
|
17
17
|
simplecov (<= 0.13)
|
|
18
|
-
coderay (1.1.
|
|
18
|
+
coderay (1.1.2)
|
|
19
|
+
concurrent-ruby (1.0.5)
|
|
19
20
|
date_time_precision (0.8.1)
|
|
20
21
|
diff-lcs (1.3)
|
|
21
22
|
docile (1.1.5)
|
|
22
|
-
ffi (1.9.
|
|
23
|
+
ffi (1.9.23)
|
|
23
24
|
formatador (0.2.5)
|
|
24
|
-
guard (2.14.
|
|
25
|
+
guard (2.14.2)
|
|
25
26
|
formatador (>= 0.2.4)
|
|
26
27
|
listen (>= 2.7, < 4.0)
|
|
27
|
-
lumberjack (
|
|
28
|
+
lumberjack (>= 1.0.12, < 2.0)
|
|
28
29
|
nenv (~> 0.1)
|
|
29
30
|
notiffany (~> 0.0)
|
|
30
31
|
pry (>= 0.9.12)
|
|
@@ -38,53 +39,53 @@ GEM
|
|
|
38
39
|
guard-test (2.0.8)
|
|
39
40
|
guard-compat (~> 1.2)
|
|
40
41
|
test-unit (~> 3.0)
|
|
41
|
-
i18n (0.
|
|
42
|
+
i18n (1.0.1)
|
|
43
|
+
concurrent-ruby (~> 1.0)
|
|
42
44
|
json (2.1.0)
|
|
43
45
|
listen (3.1.5)
|
|
44
46
|
rb-fsevent (~> 0.9, >= 0.9.4)
|
|
45
47
|
rb-inotify (~> 0.9, >= 0.9.7)
|
|
46
48
|
ruby_dep (~> 1.2)
|
|
47
|
-
lumberjack (1.0.
|
|
48
|
-
method_source (0.
|
|
49
|
+
lumberjack (1.0.13)
|
|
50
|
+
method_source (0.9.0)
|
|
49
51
|
mime-types (2.99.3)
|
|
50
|
-
mini_portile2 (2.
|
|
52
|
+
mini_portile2 (2.3.0)
|
|
51
53
|
nenv (0.3.0)
|
|
52
|
-
nokogiri (1.
|
|
53
|
-
mini_portile2 (~> 2.
|
|
54
|
+
nokogiri (1.8.2)
|
|
55
|
+
mini_portile2 (~> 2.3.0)
|
|
54
56
|
nokogiri-diff (0.2.0)
|
|
55
57
|
nokogiri (~> 1.5)
|
|
56
58
|
tdiff (~> 0.3, >= 0.3.2)
|
|
57
59
|
notiffany (0.1.1)
|
|
58
60
|
nenv (~> 0.1)
|
|
59
61
|
shellany (~> 0.0)
|
|
60
|
-
parallel (1.
|
|
61
|
-
parser (2.
|
|
62
|
-
ast (~> 2.
|
|
63
|
-
power_assert (1.
|
|
62
|
+
parallel (1.12.1)
|
|
63
|
+
parser (2.5.1.0)
|
|
64
|
+
ast (~> 2.4.0)
|
|
65
|
+
power_assert (1.1.1)
|
|
64
66
|
powerpack (0.1.1)
|
|
65
|
-
pry (0.
|
|
67
|
+
pry (0.11.3)
|
|
66
68
|
coderay (~> 1.1.0)
|
|
67
|
-
method_source (~> 0.
|
|
68
|
-
slop (~> 3.4)
|
|
69
|
+
method_source (~> 0.9.0)
|
|
69
70
|
rainbow (2.2.2)
|
|
70
71
|
rake
|
|
71
|
-
rake (12.
|
|
72
|
-
rb-fsevent (0.
|
|
73
|
-
rb-inotify (0.9.
|
|
74
|
-
ffi (>= 0.5.0)
|
|
75
|
-
rspec (3.
|
|
76
|
-
rspec-core (~> 3.
|
|
77
|
-
rspec-expectations (~> 3.
|
|
78
|
-
rspec-mocks (~> 3.
|
|
79
|
-
rspec-core (3.
|
|
80
|
-
rspec-support (~> 3.
|
|
81
|
-
rspec-expectations (3.
|
|
72
|
+
rake (12.3.1)
|
|
73
|
+
rb-fsevent (0.10.3)
|
|
74
|
+
rb-inotify (0.9.10)
|
|
75
|
+
ffi (>= 0.5.0, < 2)
|
|
76
|
+
rspec (3.7.0)
|
|
77
|
+
rspec-core (~> 3.7.0)
|
|
78
|
+
rspec-expectations (~> 3.7.0)
|
|
79
|
+
rspec-mocks (~> 3.7.0)
|
|
80
|
+
rspec-core (3.7.1)
|
|
81
|
+
rspec-support (~> 3.7.0)
|
|
82
|
+
rspec-expectations (3.7.0)
|
|
82
83
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
83
|
-
rspec-support (~> 3.
|
|
84
|
-
rspec-mocks (3.
|
|
84
|
+
rspec-support (~> 3.7.0)
|
|
85
|
+
rspec-mocks (3.7.0)
|
|
85
86
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
86
|
-
rspec-support (~> 3.
|
|
87
|
-
rspec-support (3.
|
|
87
|
+
rspec-support (~> 3.7.0)
|
|
88
|
+
rspec-support (3.7.1)
|
|
88
89
|
rubocop (0.49.0)
|
|
89
90
|
parallel (~> 1.10)
|
|
90
91
|
parser (>= 2.3.3.1, < 3.0)
|
|
@@ -92,20 +93,19 @@ GEM
|
|
|
92
93
|
rainbow (>= 1.99.1, < 3.0)
|
|
93
94
|
ruby-progressbar (~> 1.7)
|
|
94
95
|
unicode-display_width (~> 1.0, >= 1.0.1)
|
|
95
|
-
ruby-progressbar (1.
|
|
96
|
+
ruby-progressbar (1.9.0)
|
|
96
97
|
ruby_dep (1.5.0)
|
|
97
98
|
shellany (0.0.1)
|
|
98
99
|
simplecov (0.13.0)
|
|
99
100
|
docile (~> 1.1.0)
|
|
100
101
|
json (>= 1.8, < 3)
|
|
101
102
|
simplecov-html (~> 0.10.0)
|
|
102
|
-
simplecov-html (0.10.
|
|
103
|
-
slop (3.6.0)
|
|
103
|
+
simplecov-html (0.10.2)
|
|
104
104
|
tdiff (0.3.3)
|
|
105
|
-
test-unit (3.2.
|
|
105
|
+
test-unit (3.2.7)
|
|
106
106
|
power_assert
|
|
107
|
-
thor (0.
|
|
108
|
-
unicode-display_width (1.2
|
|
107
|
+
thor (0.20.0)
|
|
108
|
+
unicode-display_width (1.3.2)
|
|
109
109
|
|
|
110
110
|
PLATFORMS
|
|
111
111
|
ruby
|
|
@@ -120,12 +120,12 @@ DEPENDENCIES
|
|
|
120
120
|
pry
|
|
121
121
|
rake
|
|
122
122
|
rspec
|
|
123
|
-
rubocop
|
|
123
|
+
rubocop (= 0.49)
|
|
124
124
|
simplecov
|
|
125
125
|
test-unit
|
|
126
126
|
|
|
127
127
|
RUBY VERSION
|
|
128
|
-
ruby 2.
|
|
128
|
+
ruby 2.2.7p470
|
|
129
129
|
|
|
130
130
|
BUNDLED WITH
|
|
131
|
-
1.
|
|
131
|
+
1.16.1
|
data/README.md
CHANGED
|
@@ -28,21 +28,48 @@ json = File.read('patient-example.json')
|
|
|
28
28
|
patient = FHIR::DSTU2.from_contents(json)
|
|
29
29
|
puts patient.to_json
|
|
30
30
|
```
|
|
31
|
+
|
|
32
|
+
Creating an `Observation` by hand...
|
|
33
|
+
```ruby
|
|
34
|
+
obs = FHIR::DSTU2::Observation.new(
|
|
35
|
+
'status' => 'final',
|
|
36
|
+
'code' => {
|
|
37
|
+
'coding' => [{ 'system' => 'http://loinc.org', 'code' => '3141-9', 'display' => 'Weight Measured' }],
|
|
38
|
+
'text' => 'Weight Measured'
|
|
39
|
+
},
|
|
40
|
+
'category' => {
|
|
41
|
+
'coding' => [{ 'system' => 'http://hl7.org/fhir/observation-category', 'code' => 'vital-signs' }]
|
|
42
|
+
},
|
|
43
|
+
'subject' => { 'reference' => 'Patient/example' },
|
|
44
|
+
'encounter' => { 'reference' => 'Encounter/example' }
|
|
45
|
+
)
|
|
46
|
+
obs.valueQuantity = FHIR::DSTU2::Quantity.new(
|
|
47
|
+
'value' => 185,
|
|
48
|
+
'unit' => 'lbs',
|
|
49
|
+
'code' => '[lb_av]',
|
|
50
|
+
'system' => 'http://unitsofmeasure.org'
|
|
51
|
+
)
|
|
52
|
+
```
|
|
53
|
+
|
|
31
54
|
### Validation
|
|
32
55
|
|
|
33
|
-
Using
|
|
56
|
+
Using built in validation...
|
|
34
57
|
```ruby
|
|
35
|
-
|
|
36
|
-
|
|
58
|
+
patient.valid? # returns true or false
|
|
59
|
+
patient.validate # returns Hash of errors, empty if valid
|
|
37
60
|
```
|
|
38
|
-
|
|
61
|
+
|
|
62
|
+
Using a profile or structure definition...
|
|
39
63
|
```ruby
|
|
64
|
+
sd = FHIR::DSTU2::Definitions.resource_definition('Patient')
|
|
65
|
+
sd.validates_resource?(patient) # passing in FHIR::DSTU2::Patient
|
|
66
|
+
# Validation failed? Get the errors and warnings...
|
|
40
67
|
puts sd.errors
|
|
41
68
|
puts sd.warnings
|
|
42
69
|
```
|
|
43
70
|
# License
|
|
44
71
|
|
|
45
|
-
Copyright 2014-
|
|
72
|
+
Copyright 2014-2018 The MITRE Corporation
|
|
46
73
|
|
|
47
74
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
48
75
|
you may not use this file except in compliance with the License.
|
data/fhir_dstu2_models.gemspec
CHANGED
|
@@ -6,7 +6,7 @@ require 'fhir_dstu2_models/version'
|
|
|
6
6
|
Gem::Specification.new do |spec|
|
|
7
7
|
spec.name = 'fhir_dstu2_models'
|
|
8
8
|
spec.version = FHIR::DSTU2::Models::VERSION
|
|
9
|
-
spec.authors = ['Jason Walonoski', 'Andre Quina', "Michael O'Keefe"]
|
|
9
|
+
spec.authors = ['Jason Walonoski', 'Andre Quina', "Michael O'Keefe", 'Robert Scanlon']
|
|
10
10
|
spec.email = ['jwalonoski@mitre.org']
|
|
11
11
|
|
|
12
12
|
spec.summary = %q{A Gem for handling FHIR DSTU2 models in ruby}
|
|
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
|
|
|
20
20
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
21
21
|
spec.require_paths = ['lib']
|
|
22
22
|
|
|
23
|
-
spec.add_dependency 'nokogiri', '>= 1.
|
|
23
|
+
spec.add_dependency 'nokogiri', '>= 1.8.2'
|
|
24
24
|
spec.add_dependency 'date_time_precision', '>= 0.8'
|
|
25
25
|
spec.add_dependency 'bcp47', '>= 0.3'
|
|
26
26
|
spec.add_dependency 'mime-types', '>= 1.16', '< 3'
|
|
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
|
|
|
32
32
|
spec.add_development_dependency 'rspec'
|
|
33
33
|
spec.add_development_dependency 'simplecov'
|
|
34
34
|
spec.add_development_dependency 'nokogiri-diff'
|
|
35
|
-
spec.add_development_dependency 'rubocop'
|
|
35
|
+
spec.add_development_dependency 'rubocop', '0.49'
|
|
36
36
|
spec.add_development_dependency 'codeclimate-test-reporter'
|
|
37
37
|
spec.add_development_dependency 'guard-rspec'
|
|
38
38
|
spec.add_development_dependency 'guard-test'
|
|
@@ -17,28 +17,14 @@ module FHIR
|
|
|
17
17
|
end
|
|
18
18
|
end
|
|
19
19
|
end
|
|
20
|
-
hash
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
def prune(thing)
|
|
26
|
-
if thing.is_a?(Array)
|
|
27
|
-
return nil if thing.empty?
|
|
28
|
-
thing.map! { |i| prune(i) }
|
|
29
|
-
thing.compact!
|
|
30
|
-
return nil if thing.empty?
|
|
31
|
-
elsif thing.is_a?(Hash)
|
|
32
|
-
return nil if thing.empty?
|
|
33
|
-
thing.each do |key, value|
|
|
34
|
-
thing[key] = prune(value)
|
|
35
|
-
end
|
|
36
|
-
thing.delete_if do |_key, value|
|
|
37
|
-
value.nil?
|
|
38
|
-
end
|
|
39
|
-
return nil if thing.empty?
|
|
20
|
+
hash.keep_if do |_key, value|
|
|
21
|
+
!value.nil? && ((value.is_a?(Hash) && !value.empty?) ||
|
|
22
|
+
(value.is_a?(Array) && !value.empty?) ||
|
|
23
|
+
(!value.is_a?(Hash) && !value.is_a?(Array))
|
|
24
|
+
)
|
|
40
25
|
end
|
|
41
|
-
|
|
26
|
+
hash['resourceType'] = resourceType if respond_to?(:resourceType)
|
|
27
|
+
hash
|
|
42
28
|
end
|
|
43
29
|
|
|
44
30
|
def from_hash(hash)
|
|
@@ -131,7 +117,7 @@ module FHIR
|
|
|
131
117
|
rval
|
|
132
118
|
end
|
|
133
119
|
|
|
134
|
-
private :
|
|
120
|
+
private :make_child, :convert_primitive
|
|
135
121
|
end
|
|
136
122
|
end
|
|
137
123
|
end
|
metadata
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fhir_dstu2_models
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jason Walonoski
|
|
8
8
|
- Andre Quina
|
|
9
9
|
- Michael O'Keefe
|
|
10
|
+
- Robert Scanlon
|
|
10
11
|
autorequire:
|
|
11
12
|
bindir: exe
|
|
12
13
|
cert_chain: []
|
|
13
|
-
date:
|
|
14
|
+
date: 2018-05-01 00:00:00.000000000 Z
|
|
14
15
|
dependencies:
|
|
15
16
|
- !ruby/object:Gem::Dependency
|
|
16
17
|
name: nokogiri
|
|
@@ -18,14 +19,14 @@ dependencies:
|
|
|
18
19
|
requirements:
|
|
19
20
|
- - ">="
|
|
20
21
|
- !ruby/object:Gem::Version
|
|
21
|
-
version:
|
|
22
|
+
version: 1.8.2
|
|
22
23
|
type: :runtime
|
|
23
24
|
prerelease: false
|
|
24
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
26
|
requirements:
|
|
26
27
|
- - ">="
|
|
27
28
|
- !ruby/object:Gem::Version
|
|
28
|
-
version:
|
|
29
|
+
version: 1.8.2
|
|
29
30
|
- !ruby/object:Gem::Dependency
|
|
30
31
|
name: date_time_precision
|
|
31
32
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -176,16 +177,16 @@ dependencies:
|
|
|
176
177
|
name: rubocop
|
|
177
178
|
requirement: !ruby/object:Gem::Requirement
|
|
178
179
|
requirements:
|
|
179
|
-
- -
|
|
180
|
+
- - '='
|
|
180
181
|
- !ruby/object:Gem::Version
|
|
181
|
-
version: '0'
|
|
182
|
+
version: '0.49'
|
|
182
183
|
type: :development
|
|
183
184
|
prerelease: false
|
|
184
185
|
version_requirements: !ruby/object:Gem::Requirement
|
|
185
186
|
requirements:
|
|
186
|
-
- -
|
|
187
|
+
- - '='
|
|
187
188
|
- !ruby/object:Gem::Version
|
|
188
|
-
version: '0'
|
|
189
|
+
version: '0.49'
|
|
189
190
|
- !ruby/object:Gem::Dependency
|
|
190
191
|
name: codeclimate-test-reporter
|
|
191
192
|
requirement: !ruby/object:Gem::Requirement
|