lifen-fhir 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/.rspec +2 -0
  4. data/.ruby-version +1 -0
  5. data/CHANGELOG.md +4 -0
  6. data/Gemfile +3 -0
  7. data/Gemfile.lock +74 -0
  8. data/License.txt +22 -0
  9. data/README.md +131 -0
  10. data/lib/lifen.rb +29 -0
  11. data/lib/lifen/app_authenticated_client.rb +37 -0
  12. data/lib/lifen/attachment.rb +26 -0
  13. data/lib/lifen/base.rb +7 -0
  14. data/lib/lifen/binary.rb +31 -0
  15. data/lib/lifen/category.rb +26 -0
  16. data/lib/lifen/channel.rb +31 -0
  17. data/lib/lifen/client.rb +107 -0
  18. data/lib/lifen/communication_request.rb +67 -0
  19. data/lib/lifen/configuration.rb +22 -0
  20. data/lib/lifen/content_string.rb +15 -0
  21. data/lib/lifen/error.rb +27 -0
  22. data/lib/lifen/medium.rb +17 -0
  23. data/lib/lifen/patient.rb +27 -0
  24. data/lib/lifen/practitioner.rb +97 -0
  25. data/lib/lifen/user_authenticated_client.rb +39 -0
  26. data/lib/lifen/version.rb +3 -0
  27. data/lifen-fhir.gemspec +30 -0
  28. data/spec/binary_spec.rb +29 -0
  29. data/spec/cassettes/binary/download/invalid.yml +65 -0
  30. data/spec/cassettes/binary/download/valid.yml +1320 -0
  31. data/spec/cassettes/communication_request/send/invalid_medium.yml +69 -0
  32. data/spec/cassettes/communication_request/send/valid_attributes.yml +75 -0
  33. data/spec/cassettes/communication_request/send/valid_attributes_binary.yml +74 -0
  34. data/spec/cassettes/practitionner/create_channel/address/old_valid_attributes.yml +71 -0
  35. data/spec/cassettes/practitionner/create_channel/address/valid_attributes.yml +71 -0
  36. data/spec/cassettes/practitionner/create_channel/telecom/valid_attributes.yml +70 -0
  37. data/spec/cassettes/practitionner/find_by_rpps/existing_rpps.yml +125 -0
  38. data/spec/cassettes/practitionner/find_by_rpps/missing_line_attribute.yml +122 -0
  39. data/spec/cassettes/practitionner/find_by_rpps/wrong_rpps.yml +68 -0
  40. data/spec/category_spec.rb +21 -0
  41. data/spec/communication_request_spec.rb +64 -0
  42. data/spec/practitionner_spec.rb +76 -0
  43. data/spec/spec_helper.rb +24 -0
  44. data/spec/support/master_plan.pdf +0 -0
  45. metadata +230 -0
@@ -0,0 +1,122 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://develop.lifen.fr/fhir/Practitioner/?identifier=810004085790
6
+ body:
7
+ encoding: UTF-8
8
+ string: "{}"
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.11.0
12
+ Authorization:
13
+ - Bearer valid_application_access_token
14
+ Accept:
15
+ - application/json
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - Apache-Coyote/1.1
25
+ X-B3-Sampled:
26
+ - '1'
27
+ X-B3-Spanid:
28
+ - b3724b375a363665
29
+ X-B3-Traceid:
30
+ - b3724b375a363665
31
+ X-Content-Type-Options:
32
+ - nosniff
33
+ X-Xss-Protection:
34
+ - 1; mode=block
35
+ Cache-Control:
36
+ - no-cache, no-store, max-age=0, must-revalidate
37
+ Pragma:
38
+ - no-cache
39
+ Expires:
40
+ - '0'
41
+ X-Powered-By:
42
+ - HAPI FHIR 2.4 REST Server (FHIR Server; FHIR 3.0.1/DSTU3)
43
+ Last-Modified:
44
+ - Fri, 19 May 2017 14:48:42 GMT
45
+ Content-Type:
46
+ - application/json+fhir;charset=UTF-8
47
+ Transfer-Encoding:
48
+ - chunked
49
+ Date:
50
+ - Fri, 19 May 2017 14:48:41 GMT
51
+ Connection:
52
+ - close
53
+ Access-Control-Allow-Credentials:
54
+ - 'true'
55
+ body:
56
+ encoding: UTF-8
57
+ string: |-
58
+ {
59
+ "resourceType": "Bundle",
60
+ "id": "b7a03b48-612d-44aa-bacd-05f4f05b8d89",
61
+ "meta": {
62
+ "lastUpdated": "2017-05-19T14:48:42.500+00:00"
63
+ },
64
+ "type": "searchset",
65
+ "total": 1,
66
+ "link": [
67
+ {
68
+ "relation": "self",
69
+ "url": "http://rc.lifen.fr/fhir/Practitioner/?identifier=810004085790"
70
+ }
71
+ ],
72
+ "entry": [
73
+ {
74
+ "fullUrl": "http://rc.lifen.fr/fhir/Practitioner/11e5c86b-e4ba-eee4-9b29-deb9993a92c0",
75
+ "resource": {
76
+ "resourceType": "Practitioner",
77
+ "id": "11e5c86b-e4ba-eee4-9b29-deb9993a92c0",
78
+ "identifier": [
79
+ {
80
+ "system": "http://honestica.com/fhir/identifier/fr/asip",
81
+ "value": "810004085790"
82
+ }
83
+ ],
84
+ "name": [
85
+ {
86
+ "text": "WILLIAM ECLANCHER",
87
+ "family": "ECLANCHER",
88
+ "given": [
89
+ "WILLIAM"
90
+ ],
91
+ "prefix": [
92
+ "DR"
93
+ ]
94
+ }
95
+ ],
96
+ "telecom": [
97
+ {
98
+ "id": "11e61052-91cf-185b-8234-6accfa9deeee",
99
+ "system": "email",
100
+ "value": "William.ECLANCHER@medical75.apicrypt.org"
101
+ },
102
+ {
103
+ "id": "11e62721-8caa-da09-b2d8-6accfa9deeee",
104
+ "system": "email",
105
+ "value": "william.eclancher@medecin.mssante.fr"
106
+ }
107
+ ],
108
+ "address": [
109
+ {
110
+ "id": "11e5c86e-adb9-5453-9b29-deb9993a92c0",
111
+ "city": "Paris",
112
+ "postalCode": "75016",
113
+ "country": "FRANCE"
114
+ }
115
+ ]
116
+ }
117
+ }
118
+ ]
119
+ }
120
+ http_version:
121
+ recorded_at: Fri, 19 May 2017 14:48:12 GMT
122
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,68 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://develop.lifen.fr/fhir/Practitioner/?identifier=8888888888
6
+ body:
7
+ encoding: UTF-8
8
+ string: "{}"
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.11.0
12
+ Authorization:
13
+ - Bearer valid_application_access_token
14
+ Accept:
15
+ - application/json
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 404
21
+ message: Not Found
22
+ headers:
23
+ Server:
24
+ - Apache-Coyote/1.1
25
+ X-B3-Sampled:
26
+ - '1'
27
+ X-B3-Spanid:
28
+ - a02774f0dfc94452
29
+ X-B3-Traceid:
30
+ - a02774f0dfc94452
31
+ X-Content-Type-Options:
32
+ - nosniff
33
+ X-Xss-Protection:
34
+ - 1; mode=block
35
+ Cache-Control:
36
+ - no-cache, no-store, max-age=0, must-revalidate
37
+ Pragma:
38
+ - no-cache
39
+ Expires:
40
+ - '0'
41
+ X-Powered-By:
42
+ - HAPI FHIR 2.4 REST Server (FHIR Server; FHIR 3.0.1/DSTU3)
43
+ Content-Type:
44
+ - application/json+fhir;charset=UTF-8
45
+ Transfer-Encoding:
46
+ - chunked
47
+ Date:
48
+ - Fri, 19 May 2017 15:35:06 GMT
49
+ Connection:
50
+ - close
51
+ Access-Control-Allow-Credentials:
52
+ - 'true'
53
+ body:
54
+ encoding: UTF-8
55
+ string: |-
56
+ {
57
+ "resourceType": "OperationOutcome",
58
+ "issue": [
59
+ {
60
+ "severity": "error",
61
+ "code": "processing",
62
+ "diagnostics": "Failed to find practitioner from system"
63
+ }
64
+ ]
65
+ }
66
+ http_version:
67
+ recorded_at: Fri, 19 May 2017 15:34:36 GMT
68
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,21 @@
1
+ require 'spec_helper'
2
+
3
+ describe Lifen::Category do
4
+
5
+ let(:category) { Lifen::Category.new }
6
+
7
+ describe ':valid?' do
8
+
9
+ it 'default case is valid' do
10
+ expect(category).to be_valid
11
+ end
12
+
13
+ it 'unknown case is not valid' do
14
+ category.code = "UNKOWN CODE"
15
+
16
+ expect(category).to_not be_valid
17
+ end
18
+
19
+ end
20
+
21
+ end
@@ -0,0 +1,64 @@
1
+ require 'spec_helper'
2
+
3
+ describe Lifen::CommunicationRequest do
4
+
5
+
6
+ let(:medium1) { Lifen::Medium.new(uuid: "valid-medium-uuid-1") } #valid_channel_uuid
7
+ let(:medium2) { Lifen::Medium.new(uuid: "valid-medium-uuid-2") }
8
+
9
+ let(:sender) { Lifen::Practitioner.new(uuid: "valid-sender-uuid") } #valid_sender_uuid
10
+
11
+ let(:recipient1) { Lifen::Practitioner.new(uuid: "valid-recipient-uuid-1") }
12
+ let(:recipient2) { Lifen::Practitioner.new(uuid: "valid-recipient-uuid-2") }#valid_recipient_uuid
13
+
14
+ let(:binary) { Lifen::Binary.new(uuid: "valid-binary-uuid") }
15
+
16
+ let(:attachment) { Lifen::Attachment.new(title: "Master Plan", path: File.dirname(__FILE__) + "/support/master_plan.pdf", content_type: "application/pdf") }
17
+
18
+ let(:patient) { Lifen::Patient.new(first_name: "Jean", last_name: "Dupond", birthdate: Date.new(2000,1,1)) }
19
+
20
+
21
+
22
+ describe ':send multi-recipients with a binary' do
23
+
24
+ let(:communication_request) { Lifen::CommunicationRequest.new(sender: sender, recipients: [recipient1, recipient2], medium: [medium1, medium2], binary: binary, patient: patient) }
25
+
26
+ it 'works' do
27
+ VCR.use_cassette "communication_request/send/valid_attributes_binary" do
28
+ communication_request.send
29
+ end
30
+
31
+ expect(communication_request.uuid).to_not be_nil
32
+ expect(communication_request.number_communications).to eq(2)
33
+ end
34
+ end
35
+
36
+ describe ':send multi-recipients with an attachment' do
37
+
38
+ let(:communication_request) { Lifen::CommunicationRequest.new(sender: sender, recipients: [recipient1, recipient2], medium: [medium1, medium2], attachment: attachment, patient: patient) }
39
+
40
+ it 'works' do
41
+ VCR.use_cassette "communication_request/send/valid_attributes" do
42
+ communication_request.send
43
+ end
44
+
45
+ expect(communication_request.uuid).to_not be_nil
46
+ expect(communication_request.number_communications).to eq(2)
47
+ end
48
+ end
49
+
50
+ describe 'invalid medium' do
51
+ let(:invalid_medium) { Lifen::Medium.new(uuid: "invalid-medium-uuid") }
52
+ let(:communication_request) { Lifen::CommunicationRequest.new(sender: sender, recipients: [recipient1, recipient2], medium: [invalid_medium, medium2], binary: binary, patient: patient) }
53
+
54
+ it 'raises an error' do
55
+
56
+ VCR.use_cassette "communication_request/send/invalid_medium" do
57
+ expect{
58
+ communication_request.send
59
+ }.to raise_error Lifen::Error
60
+ end
61
+ end
62
+ end
63
+
64
+ end
@@ -0,0 +1,76 @@
1
+ require 'spec_helper'
2
+
3
+ describe Lifen::Practitioner do
4
+
5
+ describe ':find_by_rpps' do
6
+
7
+
8
+ it 'finds the practitionners' do
9
+ VCR.use_cassette "practitionner/find_by_rpps/existing_rpps" do
10
+ @practitionner = Lifen::Practitioner.find_by_rpps("810004085790")
11
+ end
12
+
13
+ expect(@practitionner.channels.size).to eq(3)
14
+
15
+ address = @practitionner.channels.last
16
+
17
+ expect(address.value).to eq "11 RUE CHARLES TELLIER, 75016 Paris"
18
+ end
19
+
20
+ it 'cannot find rpps' do
21
+ VCR.use_cassette "practitionner/find_by_rpps/wrong_rpps" do
22
+ expect { @practitionner = Lifen::Practitioner.find_by_rpps("8888888888") }.to raise_error Lifen::Error
23
+ end
24
+ end
25
+
26
+ end
27
+
28
+ context 'missing lines attribute' do
29
+
30
+ it 'does not raise an issue' do
31
+ VCR.use_cassette "practitionner/find_by_rpps/missing_line_attribute" do
32
+ @practitionner = Lifen::Practitioner.find_by_rpps("810004085790")
33
+ end
34
+
35
+ address = @practitionner.channels.last
36
+
37
+ expect(address.value).to eq ", 75016 Paris"
38
+ end
39
+ end
40
+
41
+ describe ':create_address' do
42
+
43
+ let(:practitionner) { Lifen::Practitioner.new(uuid: "11e5c85e-9bc0-4c6e-9b29-deb9993a92c0") }
44
+
45
+ it 'creates the address' do
46
+ VCR.use_cassette "practitionner/create_channel/address/valid_attributes" do
47
+ @channel = practitionner.create_address(type: "address", lines: ["Honestica", "39 rue d'Aboukir"], city: "Paris", postal_code: "75002", country: "France")
48
+ end
49
+
50
+ expect(@channel.value).to eq "Honestica, 39 rue d'Aboukir, 75002 Paris"
51
+ expect(@channel.uuid).to eq "11e73ca3-c4b2-fe69-b5c5-0242ac110002"
52
+ expect(practitionner.channels.size).to eq 1
53
+ end
54
+
55
+ it 'creates the channel - old version' do
56
+ VCR.use_cassette "practitionner/create_channel/address/old_valid_attributes" do
57
+ @channel = practitionner.create_address(type: "address", lines: ["Honestica", "39 rue d'Aboukir"], city: "Paris", postal_code: "75002", country: "France")
58
+ end
59
+
60
+ expect(@channel.value).to eq "Honestica, 39 rue d'Aboukir, 75002 Paris"
61
+ expect(@channel.uuid).to eq "11e73ca4-e3d4-8c5f-b5c5-0242ac110002"
62
+ expect(practitionner.channels.size).to eq 1
63
+ end
64
+
65
+ it 'creates the telecom-fax channel' do
66
+ VCR.use_cassette "practitionner/create_channel/telecom/valid_attributes" do
67
+ @channel = practitionner.create_telecom(type: "telecom", system: "fax", value: "+33102030405")
68
+ end
69
+
70
+ expect(@channel.uuid).to eq "11e73ca3-c56a-8e9b-b5c5-0242ac110002"
71
+ expect(practitionner.channels.size).to eq 1
72
+ end
73
+ end
74
+
75
+
76
+ end
@@ -0,0 +1,24 @@
1
+ require 'bundler/setup'
2
+ require 'webmock/rspec'
3
+ require 'vcr'
4
+ require 'awesome_print'
5
+
6
+ require_relative '../lib/lifen.rb'
7
+
8
+ VCR.configure do |c|
9
+ c.cassette_library_dir = 'spec/cassettes'
10
+ c.hook_into :webmock
11
+ c.allow_http_connections_when_no_cassette = false
12
+ c.before_record do |i|
13
+ i.response.body.force_encoding('UTF-8')
14
+ end
15
+ end
16
+
17
+ RSpec.configure do |c|
18
+ c.before(:each) do
19
+ Lifen.configure do |config|
20
+ config.site = "https://develop.lifen.fr/"
21
+ config.application_access_token = "valid_application_access_token"
22
+ end
23
+ end
24
+ end
metadata ADDED
@@ -0,0 +1,230 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: lifen-fhir
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Leonard Sellam
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-05-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.12'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.12'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.5'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.5'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.5'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.5'
55
+ - !ruby/object:Gem::Dependency
56
+ name: vcr
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: webmock
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.24'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.24'
83
+ - !ruby/object:Gem::Dependency
84
+ name: awesome_print
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: virtus
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '1.0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '1.0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: inflecto
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: faraday
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0.9'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0.9'
139
+ description: Lifen FHIR API Ruby client
140
+ email:
141
+ - leonard@lifen.fr
142
+ executables: []
143
+ extensions: []
144
+ extra_rdoc_files: []
145
+ files:
146
+ - ".gitignore"
147
+ - ".rspec"
148
+ - ".ruby-version"
149
+ - CHANGELOG.md
150
+ - Gemfile
151
+ - Gemfile.lock
152
+ - License.txt
153
+ - README.md
154
+ - lib/lifen.rb
155
+ - lib/lifen/app_authenticated_client.rb
156
+ - lib/lifen/attachment.rb
157
+ - lib/lifen/base.rb
158
+ - lib/lifen/binary.rb
159
+ - lib/lifen/category.rb
160
+ - lib/lifen/channel.rb
161
+ - lib/lifen/client.rb
162
+ - lib/lifen/communication_request.rb
163
+ - lib/lifen/configuration.rb
164
+ - lib/lifen/content_string.rb
165
+ - lib/lifen/error.rb
166
+ - lib/lifen/medium.rb
167
+ - lib/lifen/patient.rb
168
+ - lib/lifen/practitioner.rb
169
+ - lib/lifen/user_authenticated_client.rb
170
+ - lib/lifen/version.rb
171
+ - lifen-fhir.gemspec
172
+ - spec/binary_spec.rb
173
+ - spec/cassettes/binary/download/invalid.yml
174
+ - spec/cassettes/binary/download/valid.yml
175
+ - spec/cassettes/communication_request/send/invalid_medium.yml
176
+ - spec/cassettes/communication_request/send/valid_attributes.yml
177
+ - spec/cassettes/communication_request/send/valid_attributes_binary.yml
178
+ - spec/cassettes/practitionner/create_channel/address/old_valid_attributes.yml
179
+ - spec/cassettes/practitionner/create_channel/address/valid_attributes.yml
180
+ - spec/cassettes/practitionner/create_channel/telecom/valid_attributes.yml
181
+ - spec/cassettes/practitionner/find_by_rpps/existing_rpps.yml
182
+ - spec/cassettes/practitionner/find_by_rpps/missing_line_attribute.yml
183
+ - spec/cassettes/practitionner/find_by_rpps/wrong_rpps.yml
184
+ - spec/category_spec.rb
185
+ - spec/communication_request_spec.rb
186
+ - spec/practitionner_spec.rb
187
+ - spec/spec_helper.rb
188
+ - spec/support/master_plan.pdf
189
+ homepage: https://github.com/honestica/lifen-fhir
190
+ licenses:
191
+ - MIT
192
+ metadata: {}
193
+ post_install_message:
194
+ rdoc_options: []
195
+ require_paths:
196
+ - lib
197
+ required_ruby_version: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ required_rubygems_version: !ruby/object:Gem::Requirement
203
+ requirements:
204
+ - - ">="
205
+ - !ruby/object:Gem::Version
206
+ version: '0'
207
+ requirements: []
208
+ rubyforge_project:
209
+ rubygems_version: 2.6.11
210
+ signing_key:
211
+ specification_version: 4
212
+ summary: Lifen FHIR API Ruby client
213
+ test_files:
214
+ - spec/binary_spec.rb
215
+ - spec/cassettes/binary/download/invalid.yml
216
+ - spec/cassettes/binary/download/valid.yml
217
+ - spec/cassettes/communication_request/send/invalid_medium.yml
218
+ - spec/cassettes/communication_request/send/valid_attributes.yml
219
+ - spec/cassettes/communication_request/send/valid_attributes_binary.yml
220
+ - spec/cassettes/practitionner/create_channel/address/old_valid_attributes.yml
221
+ - spec/cassettes/practitionner/create_channel/address/valid_attributes.yml
222
+ - spec/cassettes/practitionner/create_channel/telecom/valid_attributes.yml
223
+ - spec/cassettes/practitionner/find_by_rpps/existing_rpps.yml
224
+ - spec/cassettes/practitionner/find_by_rpps/missing_line_attribute.yml
225
+ - spec/cassettes/practitionner/find_by_rpps/wrong_rpps.yml
226
+ - spec/category_spec.rb
227
+ - spec/communication_request_spec.rb
228
+ - spec/practitionner_spec.rb
229
+ - spec/spec_helper.rb
230
+ - spec/support/master_plan.pdf