lifen-fhir 0.1.0

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.
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