fhir_client 1.0.1

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.
@@ -0,0 +1,79 @@
1
+ <Bundle xmlns="http://hl7.org/fhir">
2
+ <id value="example"/>
3
+ <meta>
4
+ <versionId value="1"/>
5
+ <lastUpdated value="2014-08-18T01:43:30Z"/>
6
+ </meta>
7
+ <type value="transaction"/>
8
+ <base value="http://example.com/base"/>
9
+ <total value="3"/>
10
+ <link>
11
+ <relation value="next"/>
12
+ <url value="https://example.com/base/MedicationOrder?patient=347&amp;searchId=ff15fd40-ff71-4b48-b366-09c
13
+ 706bed9d0&amp;page=2"/>
14
+ </link>
15
+ <link>
16
+ <relation value="self"/>
17
+ <url value="https://example.com/base/MedicationOrder?patient=347"/>
18
+ </link>
19
+ <entry>
20
+ <status value="update"/>
21
+ <resource>
22
+ <MedicationOrder>
23
+ <id value="3123"/>
24
+ <meta>
25
+ <versionId value="1"/>
26
+ <lastUpdated value="2014-08-16T05:31:17Z"/>
27
+ </meta>
28
+ <text>
29
+ <status value="generated"/>
30
+ <div xmlns="http://www.w3.org/1999/xhtml"><!-- Snipped for brevity --></div>
31
+ </text>
32
+ <status value="active"/>
33
+ <patient>
34
+ <reference value="Patient/example"/>
35
+ </patient>
36
+ <prescriber>
37
+ <reference value="Practitioner/example"/>
38
+ </prescriber>
39
+
40
+ <medicationReference>
41
+ <reference value="Medication/example"/>
42
+ </medicationReference>
43
+
44
+ <dosageInstruction>
45
+ <timing>
46
+ <repeat>
47
+ <frequency value="3"/>
48
+ <duration value="1"/>
49
+ <units value="d"/>
50
+ </repeat>
51
+ </timing>
52
+ <route>
53
+ <coding>
54
+ <system value="http://snomed.info/sct"/>
55
+ <code value="394899003"/>
56
+ <display value="oral administration of treatment"/>
57
+ </coding>
58
+ </route>
59
+ <doseQuantity>
60
+ <value value="5"/>
61
+ <units value="ml"/>
62
+ <system value="http://unitsofmeasure.org"/>
63
+ <code value="ml"/>
64
+ </doseQuantity>
65
+ </dosageInstruction>
66
+
67
+ <dispenseRequest>
68
+ <quantity>
69
+ <value value="100"/>
70
+ <units value="ml"/>
71
+ <system value="http://unitsofmeasure.org"/>
72
+ <code value="ml"/>
73
+ </quantity>
74
+ </dispenseRequest>
75
+
76
+ </MedicationOrder>
77
+ </resource>
78
+ </entry>
79
+ </Bundle>
@@ -0,0 +1,18 @@
1
+ {
2
+ "resourceType": "Parameters",
3
+ "id": "example",
4
+ "parameter": [
5
+ {
6
+ "name": "start",
7
+ "valueDate": "2010-01-01"
8
+ },
9
+ {
10
+ "name": "end",
11
+ "resource": {
12
+ "resourceType": "Binary",
13
+ "contentType": "text/plain",
14
+ "content": "VGhpcyBpcyBhIHRlc3QgZXhhbXBsZQ=="
15
+ }
16
+ }
17
+ ]
18
+ }
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Parameters xmlns="http://hl7.org/fhir">
3
+ <id value="example"/>
4
+ <parameter>
5
+ <name value="start"/>
6
+ <valueDate value="2010-01-01"/>
7
+ </parameter>
8
+ <parameter>
9
+ <name value="end"/>
10
+ <resource>
11
+ <Binary>
12
+ <contentType value="text/plain"/>
13
+ <content value="VGhpcyBpcyBhIHRlc3QgZXhhbXBsZQ=="/>
14
+ </Binary>
15
+ </resource>
16
+ </parameter>
17
+ </Parameters>
data/test/simplecov.rb ADDED
@@ -0,0 +1,17 @@
1
+ require 'simplecov'
2
+ SimpleCov.command_name 'Unit Tests'
3
+ SimpleCov.start do
4
+ add_filter "test/"
5
+ add_group "Library", "lib"
6
+ end
7
+
8
+ class SimpleCov::Formatter::QualityFormatter
9
+ def format(result)
10
+ SimpleCov::Formatter::HTMLFormatter.new.format(result)
11
+ File.open("coverage/covered_percent", "w") do |f|
12
+ f.puts result.source_files.covered_percent.to_f
13
+ end
14
+ end
15
+ end
16
+
17
+ SimpleCov.formatter = SimpleCov::Formatter::QualityFormatter
@@ -0,0 +1,8 @@
1
+ require_relative "./simplecov"
2
+ require_relative '../lib/fhir_client'
3
+
4
+ require 'pry'
5
+ require 'minitest/autorun'
6
+ require 'bundler/setup'
7
+ require 'test/unit'
8
+ require 'turn'
@@ -0,0 +1,17 @@
1
+ require_relative '../test_helper'
2
+
3
+ class BasicTest < Test::Unit::TestCase
4
+
5
+ TESTING_ENDPOINT = 'http://fhirtest.uhn.ca/baseDstu3'
6
+
7
+ def test_client_initialization
8
+ client = FHIR::Client.new(TESTING_ENDPOINT)
9
+ assert !client.use_format_param, "Using _format instead of [Accept] headers."
10
+ end
11
+
12
+ def test_conformance
13
+ client = FHIR::Client.new(TESTING_ENDPOINT)
14
+ assert !client.conformanceStatement.nil?, "Unable to retrieve conformance statement."
15
+ end
16
+
17
+ end
@@ -0,0 +1,21 @@
1
+ require_relative '../test_helper'
2
+
3
+ class BundleTest < Test::Unit::TestCase
4
+
5
+ def test_example_bundle
6
+ client = FHIR::Client.new("feed-test")
7
+ root = File.expand_path '..', File.dirname(File.absolute_path(__FILE__))
8
+ bundle_xml = File.read(File.join(root, 'fixtures', 'bundle-example.xml'))
9
+ response = {
10
+ :code => '200',
11
+ :headers => {},
12
+ :body => bundle_xml
13
+ }
14
+ clientReply = FHIR::ClientReply.new('feed-test', response)
15
+
16
+ bundle = client.parse_reply(FHIR::Bundle, FHIR::Formats::FeedFormat::FEED_XML, clientReply)
17
+
18
+ assert !bundle.nil?, "Failed to parse example Bundle."
19
+ end
20
+
21
+ end
@@ -0,0 +1,44 @@
1
+ require_relative '../test_helper'
2
+
3
+ class ParametersTest < Test::Unit::TestCase
4
+ # <?xml version="1.0" encoding="UTF-8"?>
5
+ # <Parameters xmlns="http://hl7.org/fhir">
6
+ # <id value="example"/>
7
+ # <parameter>
8
+ # <name value="start"/>
9
+ # <valueDate value="2010-01-01"/>
10
+ # </parameter>
11
+ # <parameter>
12
+ # <name value="end"/>
13
+ # <resource>
14
+ # <Binary>
15
+ # <contentType value="text/plain"/>
16
+ # <content value="VGhpcyBpcyBhIHRlc3QgZXhhbXBsZQ=="/>
17
+ # </Binary>
18
+ # </resource>
19
+ # </parameter>
20
+ # </Parameters>
21
+ def test_example_parameters_xml
22
+ root = File.expand_path '..', File.dirname(File.absolute_path(__FILE__))
23
+ xml = File.read(File.join(root, 'fixtures', 'parameters-example.xml'))
24
+ parameters = FHIR::Xml.from_xml(xml)
25
+ check_params(parameters)
26
+ end
27
+
28
+ def test_example_parameters_json
29
+ root = File.expand_path '..', File.dirname(File.absolute_path(__FILE__))
30
+ json = File.read(File.join(root, 'fixtures', 'parameters-example.json'))
31
+ parameters = FHIR::Json.from_json(json)
32
+ check_params(parameters)
33
+ end
34
+
35
+ def check_params(parameters)
36
+ message = "Failed to parse example Parameters."
37
+ assert parameters.parameter.length==2, message
38
+ assert parameters.parameter[0].name=='start', message
39
+ assert parameters.parameter[0].valueDate=='2010-01-01', message
40
+ assert parameters.parameter[1].name=='end', message
41
+ assert !parameters.parameter[1].resource.nil? && parameters.parameter[1].resource.class==FHIR::Binary, message
42
+ end
43
+
44
+ end
metadata ADDED
@@ -0,0 +1,177 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fhir_client
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Andre Quina
8
+ - Jason Walonoski
9
+ - Janoo Fernandes
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2016-06-08 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: fhir_models
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - "~>"
20
+ - !ruby/object:Gem::Version
21
+ version: '0.3'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - "~>"
27
+ - !ruby/object:Gem::Version
28
+ version: '0.3'
29
+ - !ruby/object:Gem::Dependency
30
+ name: tilt
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: '1.1'
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: '1.1'
43
+ - !ruby/object:Gem::Dependency
44
+ name: rest-client
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '1.8'
50
+ type: :runtime
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '1.8'
57
+ - !ruby/object:Gem::Dependency
58
+ name: oauth2
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: '1.1'
64
+ type: :runtime
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - "~>"
69
+ - !ruby/object:Gem::Version
70
+ version: '1.1'
71
+ - !ruby/object:Gem::Dependency
72
+ name: activesupport
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ version: '3'
78
+ type: :runtime
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: '3'
85
+ - !ruby/object:Gem::Dependency
86
+ name: addressable
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: '2.3'
92
+ type: :runtime
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ version: '2.3'
99
+ - !ruby/object:Gem::Dependency
100
+ name: pry
101
+ requirement: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ type: :development
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: '0'
113
+ description: A Gem for handling FHIR client requests in ruby
114
+ email: aquina@mitre.org
115
+ executables: []
116
+ extensions: []
117
+ extra_rdoc_files: []
118
+ files:
119
+ - ".gitignore"
120
+ - ".travis.yml"
121
+ - Gemfile
122
+ - Gemfile.lock
123
+ - LICENSE
124
+ - README.md
125
+ - Rakefile
126
+ - fhir_client.gemspec
127
+ - lib/client_interface.rb
128
+ - lib/feed_format.rb
129
+ - lib/fhir_api_validation.json
130
+ - lib/fhir_client.rb
131
+ - lib/model/bundle.rb
132
+ - lib/model/client_reply.rb
133
+ - lib/model/tag.rb
134
+ - lib/patch_format.rb
135
+ - lib/resource_address.rb
136
+ - lib/resource_format.rb
137
+ - lib/sections/crud.rb
138
+ - lib/sections/feed.rb
139
+ - lib/sections/history.rb
140
+ - lib/sections/operations.rb
141
+ - lib/sections/search.rb
142
+ - lib/sections/tags.rb
143
+ - lib/sections/transactions.rb
144
+ - lib/sections/validate.rb
145
+ - lib/tasks/tasks.rake
146
+ - test/fixtures/bundle-example.xml
147
+ - test/fixtures/parameters-example.json
148
+ - test/fixtures/parameters-example.xml
149
+ - test/simplecov.rb
150
+ - test/test_helper.rb
151
+ - test/unit/basic_test.rb
152
+ - test/unit/bundle_test.rb
153
+ - test/unit/parameters_test.rb
154
+ homepage: https://github.com/hl7-fhir/fhir-svn
155
+ licenses: []
156
+ metadata: {}
157
+ post_install_message:
158
+ rdoc_options: []
159
+ require_paths:
160
+ - lib
161
+ required_ruby_version: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ required_rubygems_version: !ruby/object:Gem::Requirement
167
+ requirements:
168
+ - - ">="
169
+ - !ruby/object:Gem::Version
170
+ version: '0'
171
+ requirements: []
172
+ rubyforge_project:
173
+ rubygems_version: 2.4.3
174
+ signing_key:
175
+ specification_version: 4
176
+ summary: A Gem for handling FHIR client requests in ruby
177
+ test_files: []