open_fda_api 0.0.9 → 0.0.12
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/CHANGELOG.md +12 -0
- data/Gemfile.lock +1 -1
- data/README.md +3 -0
- data/lib/open_fda_api/animal_and_veterinary.rb +26 -0
- data/lib/open_fda_api/client.rb +20 -0
- data/lib/open_fda_api/device.rb +138 -0
- data/lib/open_fda_api/drugs.rb +4 -27
- data/lib/open_fda_api/endpoint.rb +29 -0
- data/lib/open_fda_api/food.rb +40 -0
- data/lib/open_fda_api/other.rb +40 -0
- data/lib/open_fda_api/tobacco.rb +26 -0
- data/lib/open_fda_api/version.rb +1 -1
- data/lib/open_fda_api.rb +7 -1
- metadata +7 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3f55d1b8140f12ed25ecf99fd227e0c053a50455abcc2153e03ba7a5f5d724bb
|
4
|
+
data.tar.gz: 74f2219cfd2812e2576e9e748132332f049d9925b5afd763609528f0fa1a049e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '06953c4682f9bd4948c23a24035094452b85ee73bcb9c3a37f5e16151c39bedb90afab6b11881f73d9106cdf052dcc4d3bb98747b4126409fcbf9fb57eb59082'
|
7
|
+
data.tar.gz: acbddbb9dc475a1243ef8415e411d1c365de227509d3dc7ceddd3221136b96329dea226acad155b4d87269dd754fcf59166ea880f2a053acccfc987b2374dc37
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,17 @@
|
|
1
1
|
## [Unreleased]
|
2
2
|
|
3
|
+
## [0.0.12] - 2022-01-24
|
4
|
+
- Animal & Veterinary Endpoint
|
5
|
+
- Tobacco Endpoint
|
6
|
+
- Other Endpoint
|
7
|
+
|
8
|
+
## [0.0.11] - 2022-01-24
|
9
|
+
- Include Food endpoints
|
10
|
+
|
11
|
+
## [0.0.10] - 2022-01-24
|
12
|
+
- Include Device endpoints
|
13
|
+
- Pull out Endpoint common behavior to a base class
|
14
|
+
|
3
15
|
## [0.0.9] - 2022-01-24
|
4
16
|
- Filled out the following Drug endpoints:
|
5
17
|
- product_labeling
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenFdaApi
|
4
|
+
# Interact with the Animal & Veterinary API Endpoint:
|
5
|
+
# - Adverse Events
|
6
|
+
class AnimalAndVeterinary < Endpoint
|
7
|
+
# @param search [Array<Hash>] Search fields defined in https://open.fda.gov/apis/animalandveterinary/event/searchable-fields/
|
8
|
+
# @param sort [Array<Hash>] Sort fields defined in https://open.fda.gov/apis/animalandveterinary/event/searchable-fields/
|
9
|
+
# @param count [Array<Hash>] Count fields defined https://open.fda.gov/apis/animalandveterinary/event/searchable-fields/
|
10
|
+
# @param skip [Integer] Number of results to skip
|
11
|
+
# @param limit [Integer] Number of results to return
|
12
|
+
# @return Response from the API parsed as JSON
|
13
|
+
def adverse_events(search: [], sort: [], count: [], skip: 0, limit: 1)
|
14
|
+
endpoint = "event.json"
|
15
|
+
inputs = build_inputs(search: search, sort: sort, count: count, skip: skip, limit: limit)
|
16
|
+
query = build_query(inputs, {}) # TODO: Upload valid fields
|
17
|
+
make_request(endpoint, query)
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def endpoint_path
|
23
|
+
"/animalandveterinary"
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/lib/open_fda_api/client.rb
CHANGED
@@ -20,6 +20,26 @@ module OpenFdaApi
|
|
20
20
|
OpenFdaApi::Drugs.new(self)
|
21
21
|
end
|
22
22
|
|
23
|
+
def device
|
24
|
+
OpenFdaApi::Device.new(self)
|
25
|
+
end
|
26
|
+
|
27
|
+
def food
|
28
|
+
OpenFdaApi::Food.new(self)
|
29
|
+
end
|
30
|
+
|
31
|
+
def animal_and_veterinary
|
32
|
+
OpenFdaApi::AnimalAndVeterinary.new(self)
|
33
|
+
end
|
34
|
+
|
35
|
+
def tobacco
|
36
|
+
OpenFdaApi::Tobacco.new(self)
|
37
|
+
end
|
38
|
+
|
39
|
+
def other
|
40
|
+
OpenFdaApi::Other.new(self)
|
41
|
+
end
|
42
|
+
|
23
43
|
def connection
|
24
44
|
@connection ||= Faraday.new(BASE_URL) do |conn|
|
25
45
|
conn.request :json
|
@@ -0,0 +1,138 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenFdaApi
|
4
|
+
# Interact with the Device API Endpoint:
|
5
|
+
# - 501(k)
|
6
|
+
# - Classification
|
7
|
+
# - Recall Enforcement Reports
|
8
|
+
# - Adverse Events
|
9
|
+
# - Pre-market Approval
|
10
|
+
# - Recalls
|
11
|
+
# - Registrations and Listings
|
12
|
+
# - Covid19 Serological Testing Evaluations
|
13
|
+
# - Unique Device Identifier
|
14
|
+
class Device < Endpoint
|
15
|
+
# @param search [Array<Hash>] Search fields defined in https://open.fda.gov/apis/device/event/searchable-fields/
|
16
|
+
# @param sort [Array<Hash>] Sort fields defined in https://open.fda.gov/apis/device/event/searchable-fields/
|
17
|
+
# @param count [Array<Hash>] Count fields defined https://open.fda.gov/apis/device/event/searchable-fields/
|
18
|
+
# @param skip [Integer] Number of results to skip
|
19
|
+
# @param limit [Integer] Number of results to return
|
20
|
+
# @return Response from the API parsed as JSON
|
21
|
+
def adverse_events(search: [], sort: [], count: [], skip: 0, limit: 1)
|
22
|
+
endpoint = "event.json"
|
23
|
+
inputs = build_inputs(search: search, sort: sort, count: count, skip: skip, limit: limit)
|
24
|
+
query = build_query(inputs, {})
|
25
|
+
make_request(endpoint, query)
|
26
|
+
end
|
27
|
+
|
28
|
+
# @param search [Array<Hash>] Search fields defined in https://open.fda.gov/apis/device/classification/searchable-fields/
|
29
|
+
# @param sort [Array<Hash>] Sort fields defined in https://open.fda.gov/apis/device/classification/searchable-fields/
|
30
|
+
# @param count [Array<Hash>] Count fields defined https://open.fda.gov/apis/device/classification/searchable-fields/
|
31
|
+
# @param skip [Integer] Number of results to skip
|
32
|
+
# @param limit [Integer] Number of results to return
|
33
|
+
# @return Response from the API parsed as JSON
|
34
|
+
def classification(search: [], sort: [], count: [], skip: 0, limit: 1)
|
35
|
+
endpoint = "classification.json"
|
36
|
+
inputs = build_inputs(search: search, sort: sort, count: count, skip: skip, limit: limit)
|
37
|
+
query = build_query(inputs, {}) # TODO: Upload valid fields
|
38
|
+
make_request(endpoint, query)
|
39
|
+
end
|
40
|
+
|
41
|
+
# @param search [Array<Hash>] Search fields defined in https://open.fda.gov/apis/device/510k/searchable-fields/
|
42
|
+
# @param sort [Array<Hash>] Sort fields defined in https://open.fda.gov/apis/device/510k/searchable-fields/
|
43
|
+
# @param count [Array<Hash>] Count fields defined https://open.fda.gov/apis/device/510k/searchable-fields/
|
44
|
+
# @param skip [Integer] Number of results to skip
|
45
|
+
# @param limit [Integer] Number of results to return
|
46
|
+
# @return Response from the API parsed as JSON
|
47
|
+
def premarket_510ks(search: [], sort: [], count: [], skip: 0, limit: 1)
|
48
|
+
endpoint = "510k.json"
|
49
|
+
inputs = build_inputs(search: search, sort: sort, count: count, skip: skip, limit: limit)
|
50
|
+
query = build_query(inputs, {}) # TODO: Upload valid fields
|
51
|
+
make_request(endpoint, query)
|
52
|
+
end
|
53
|
+
|
54
|
+
# @param search [Array<Hash>] Search fields defined in https://open.fda.gov/apis/device/enforcement/searchable-fields/
|
55
|
+
# @param sort [Array<Hash>] Sort fields defined in https://open.fda.gov/apis/device/enforcement/searchable-fields/
|
56
|
+
# @param count [Array<Hash>] Count fields defined https://open.fda.gov/apis/device/enforcement/searchable-fields/
|
57
|
+
# @param skip [Integer] Number of results to skip
|
58
|
+
# @param limit [Integer] Number of results to return
|
59
|
+
# @return Response from the API parsed as JSON
|
60
|
+
def recall_enforcement_reports(search: [], sort: [], count: [], skip: 0, limit: 1)
|
61
|
+
endpoint = "enforcement.json"
|
62
|
+
inputs = build_inputs(search: search, sort: sort, count: count, skip: skip, limit: limit)
|
63
|
+
query = build_query(inputs, {}) # TODO: Upload valid fields
|
64
|
+
make_request(endpoint, query)
|
65
|
+
end
|
66
|
+
|
67
|
+
# @param search [Array<Hash>] Search fields defined in https://open.fda.gov/apis/device/pma/searchable-fields/
|
68
|
+
# @param sort [Array<Hash>] Sort fields defined in https://open.fda.gov/apis/device/pma/searchable-fields/
|
69
|
+
# @param count [Array<Hash>] Count fields defined https://open.fda.gov/apis/device/pma/searchable-fields/
|
70
|
+
# @param skip [Integer] Number of results to skip
|
71
|
+
# @param limit [Integer] Number of results to return
|
72
|
+
# @return Response from the API parsed as JSON
|
73
|
+
def premarket_approval(search: [], sort: [], count: [], skip: 0, limit: 1)
|
74
|
+
endpoint = "pma.json"
|
75
|
+
inputs = build_inputs(search: search, sort: sort, count: count, skip: skip, limit: limit)
|
76
|
+
query = build_query(inputs, {}) # TODO: Upload valid fields
|
77
|
+
make_request(endpoint, query)
|
78
|
+
end
|
79
|
+
|
80
|
+
# @param search [Array<Hash>] Search fields defined in https://open.fda.gov/apis/device/recall/searchable-fields/
|
81
|
+
# @param sort [Array<Hash>] Sort fields defined in https://open.fda.gov/apis/device/recall/searchable-fields/
|
82
|
+
# @param count [Array<Hash>] Count fields defined https://open.fda.gov/apis/device/recall/searchable-fields/
|
83
|
+
# @param skip [Integer] Number of results to skip
|
84
|
+
# @param limit [Integer] Number of results to return
|
85
|
+
# @return Response from the API parsed as JSON
|
86
|
+
def recalls(search: [], sort: [], count: [], skip: 0, limit: 1)
|
87
|
+
endpoint = "recall.json"
|
88
|
+
inputs = build_inputs(search: search, sort: sort, count: count, skip: skip, limit: limit)
|
89
|
+
query = build_query(inputs, {}) # TODO: Upload valid fields
|
90
|
+
make_request(endpoint, query)
|
91
|
+
end
|
92
|
+
|
93
|
+
# @param search [Array<Hash>] Search fields defined in https://open.fda.gov/apis/device/registrationlisting/searchable-fields/
|
94
|
+
# @param sort [Array<Hash>] Sort fields defined in https://open.fda.gov/apis/device/registrationlisting/searchable-fields/
|
95
|
+
# @param count [Array<Hash>] Count fields defined https://open.fda.gov/apis/device/registrationlisting/searchable-fields/
|
96
|
+
# @param skip [Integer] Number of results to skip
|
97
|
+
# @param limit [Integer] Number of results to return
|
98
|
+
# @return Response from the API parsed as JSON
|
99
|
+
def registrations_and_listings(search: [], sort: [], count: [], skip: 0, limit: 1)
|
100
|
+
endpoint = "registrationlisting.json"
|
101
|
+
inputs = build_inputs(search: search, sort: sort, count: count, skip: skip, limit: limit)
|
102
|
+
query = build_query(inputs, {}) # TODO: Upload valid fields
|
103
|
+
make_request(endpoint, query)
|
104
|
+
end
|
105
|
+
|
106
|
+
# @param search [Array<Hash>] Search fields defined in https://open.fda.gov/apis/device/covid19serology/searchable-fields/
|
107
|
+
# @param sort [Array<Hash>] Sort fields defined in https://open.fda.gov/apis/device/covid19serology/searchable-fields/
|
108
|
+
# @param count [Array<Hash>] Count fields defined https://open.fda.gov/apis/device/covid19serology/searchable-fields/
|
109
|
+
# @param skip [Integer] Number of results to skip
|
110
|
+
# @param limit [Integer] Number of results to return
|
111
|
+
# @return Response from the API parsed as JSON
|
112
|
+
def covid19_serological_tests(search: [], sort: [], count: [], skip: 0, limit: 1)
|
113
|
+
endpoint = "covid19serology.json"
|
114
|
+
inputs = build_inputs(search: search, sort: sort, count: count, skip: skip, limit: limit)
|
115
|
+
query = build_query(inputs, {}) # TODO: Upload valid fields
|
116
|
+
make_request(endpoint, query)
|
117
|
+
end
|
118
|
+
|
119
|
+
# @param search [Array<Hash>] Search fields defined in https://open.fda.gov/apis/device/udi/searchable-fields/
|
120
|
+
# @param sort [Array<Hash>] Sort fields defined in https://open.fda.gov/apis/device/udi/searchable-fields/
|
121
|
+
# @param count [Array<Hash>] Count fields defined https://open.fda.gov/apis/device/udi/searchable-fields/
|
122
|
+
# @param skip [Integer] Number of results to skip
|
123
|
+
# @param limit [Integer] Number of results to return
|
124
|
+
# @return Response from the API parsed as JSON
|
125
|
+
def unique_device_identifier(search: [], sort: [], count: [], skip: 0, limit: 1)
|
126
|
+
endpoint = "udi.json"
|
127
|
+
inputs = build_inputs(search: search, sort: sort, count: count, skip: skip, limit: limit)
|
128
|
+
query = build_query(inputs, {}) # TODO: Upload valid fields
|
129
|
+
make_request(endpoint, query)
|
130
|
+
end
|
131
|
+
|
132
|
+
private
|
133
|
+
|
134
|
+
def endpoint_path
|
135
|
+
"/device"
|
136
|
+
end
|
137
|
+
end
|
138
|
+
end
|
data/lib/open_fda_api/drugs.rb
CHANGED
@@ -1,25 +1,15 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "net/http"
|
4
|
-
require "json"
|
5
3
|
require "yaml"
|
6
4
|
|
7
5
|
module OpenFdaApi
|
8
6
|
# Interact with the Drugs API Endpoint:
|
9
|
-
#
|
7
|
+
# - Adverse Events
|
10
8
|
# - Product Labeling
|
11
9
|
# - NDC Directory
|
12
10
|
# - Recall Enforcement Reports
|
13
11
|
# - Drugs@FDA)
|
14
|
-
class Drugs
|
15
|
-
attr_reader :client, :path_base
|
16
|
-
|
17
|
-
def initialize(client)
|
18
|
-
@client = client
|
19
|
-
@host = "api.fda.gov"
|
20
|
-
@path_base = "/drug"
|
21
|
-
end
|
22
|
-
|
12
|
+
class Drugs < Endpoint
|
23
13
|
# @param search [Array<Hash>] Search fields defined in https://open.fda.gov/apis/drug/event/searchable-fields/
|
24
14
|
# @param sort [Array<Hash>] Sort fields defined in https://open.fda.gov/apis/drug/event/searchable-fields/
|
25
15
|
# @param count [Array<Hash>] Count fields defined https://open.fda.gov/apis/drug/event/searchable-fields/
|
@@ -91,21 +81,8 @@ module OpenFdaApi
|
|
91
81
|
|
92
82
|
private
|
93
83
|
|
94
|
-
def
|
95
|
-
|
96
|
-
end
|
97
|
-
|
98
|
-
def build_inputs(search:, sort:, count:, skip:, limit:)
|
99
|
-
QueryInputs.new(search: search, sort: sort, count: count, skip: skip, limit: limit)
|
100
|
-
end
|
101
|
-
|
102
|
-
def make_request(endpoint, query)
|
103
|
-
url = "#{path_base}/#{endpoint}"
|
104
|
-
if query.empty?
|
105
|
-
client.connection.get(url)
|
106
|
-
else
|
107
|
-
client.connection.get(url, query)
|
108
|
-
end.body
|
84
|
+
def endpoint_path
|
85
|
+
"/drug"
|
109
86
|
end
|
110
87
|
end
|
111
88
|
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenFdaApi
|
4
|
+
# Base class for all endpoints to share behavior like building queries and making requests
|
5
|
+
class Endpoint
|
6
|
+
attr_reader :client
|
7
|
+
|
8
|
+
def initialize(client)
|
9
|
+
@client = client
|
10
|
+
end
|
11
|
+
|
12
|
+
def build_query(query_input, valid_search_fields)
|
13
|
+
QueryBuilder.new(query_input: query_input, valid_search_fields: valid_search_fields).build_query
|
14
|
+
end
|
15
|
+
|
16
|
+
def build_inputs(search:, sort:, count:, skip:, limit:)
|
17
|
+
QueryInputs.new(search: search, sort: sort, count: count, skip: skip, limit: limit)
|
18
|
+
end
|
19
|
+
|
20
|
+
def make_request(endpoint, query)
|
21
|
+
url = "#{endpoint_path}/#{endpoint}"
|
22
|
+
if query.empty?
|
23
|
+
client.connection.get(url)
|
24
|
+
else
|
25
|
+
client.connection.get(url, query)
|
26
|
+
end.body
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenFdaApi
|
4
|
+
# Interact with the Food API Endpoint:
|
5
|
+
# - Adverse Events
|
6
|
+
# - Recall Enforcement Reports
|
7
|
+
class Food < Endpoint
|
8
|
+
# @param search [Array<Hash>] Search fields defined in https://open.fda.gov/apis/food/enforcement/searchable-fields/
|
9
|
+
# @param sort [Array<Hash>] Sort fields defined in https://open.fda.gov/apis/food/enforcement/searchable-fields/
|
10
|
+
# @param count [Array<Hash>] Count fields defined https://open.fda.gov/apis/food/enforcement/searchable-fields/
|
11
|
+
# @param skip [Integer] Number of results to skip
|
12
|
+
# @param limit [Integer] Number of results to return
|
13
|
+
# @return Response from the API parsed as JSON
|
14
|
+
def adverse_events(search: [], sort: [], count: [], skip: 0, limit: 1)
|
15
|
+
endpoint = "event.json"
|
16
|
+
inputs = build_inputs(search: search, sort: sort, count: count, skip: skip, limit: limit)
|
17
|
+
query = build_query(inputs, {}) # TODO: Upload valid fields
|
18
|
+
make_request(endpoint, query)
|
19
|
+
end
|
20
|
+
|
21
|
+
# @param search [Array<Hash>] Search fields defined in https://open.fda.gov/apis/food/enforcement/searchable-fields/
|
22
|
+
# @param sort [Array<Hash>] Sort fields defined in https://open.fda.gov/apis/food/enforcement/searchable-fields/
|
23
|
+
# @param count [Array<Hash>] Count fields defined https://open.fda.gov/apis/food/enforcement/searchable-fields/
|
24
|
+
# @param skip [Integer] Number of results to skip
|
25
|
+
# @param limit [Integer] Number of results to return
|
26
|
+
# @return Response from the API parsed as JSON
|
27
|
+
def recall_enforcement_reports(search: [], sort: [], count: [], skip: 0, limit: 1)
|
28
|
+
endpoint = "enforcement.json"
|
29
|
+
inputs = build_inputs(search: search, sort: sort, count: count, skip: skip, limit: limit)
|
30
|
+
query = build_query(inputs, {}) # TODO: Upload valid fields
|
31
|
+
make_request(endpoint, query)
|
32
|
+
end
|
33
|
+
|
34
|
+
private
|
35
|
+
|
36
|
+
def endpoint_path
|
37
|
+
"/food"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenFdaApi
|
4
|
+
# Interact with the Other API Endpoint:
|
5
|
+
# - NSDE
|
6
|
+
# - Substance Data Reports
|
7
|
+
class Other < Endpoint
|
8
|
+
# @param search [Array<Hash>] Search fields defined in https://open.fda.gov/apis/other/nsde/searchable-fields/
|
9
|
+
# @param sort [Array<Hash>] Sort fields defined in https://open.fda.gov/apis/other/nsde/searchable-fields/
|
10
|
+
# @param count [Array<Hash>] Count fields defined https://open.fda.gov/apis/other/nsde/searchable-fields/
|
11
|
+
# @param skip [Integer] Number of results to skip
|
12
|
+
# @param limit [Integer] Number of results to return
|
13
|
+
# @return Response from the API parsed as JSON
|
14
|
+
def nsde(search: [], sort: [], count: [], skip: 0, limit: 1)
|
15
|
+
endpoint = "nsde.json"
|
16
|
+
inputs = build_inputs(search: search, sort: sort, count: count, skip: skip, limit: limit)
|
17
|
+
query = build_query(inputs, {}) # TODO: Upload valid fields
|
18
|
+
make_request(endpoint, query)
|
19
|
+
end
|
20
|
+
|
21
|
+
# @param search [Array<Hash>] Search fields defined in https://open.fda.gov/apis/other/substance/searchable-fields/
|
22
|
+
# @param sort [Array<Hash>] Sort fields defined in https://open.fda.gov/apis/other/substance/searchable-fields/
|
23
|
+
# @param count [Array<Hash>] Count fields defined https://open.fda.gov/apis/other/substance/searchable-fields/
|
24
|
+
# @param skip [Integer] Number of results to skip
|
25
|
+
# @param limit [Integer] Number of results to return
|
26
|
+
# @return Response from the API parsed as JSON
|
27
|
+
def substance_data_reports(search: [], sort: [], count: [], skip: 0, limit: 1)
|
28
|
+
endpoint = "substance.json"
|
29
|
+
inputs = build_inputs(search: search, sort: sort, count: count, skip: skip, limit: limit)
|
30
|
+
query = build_query(inputs, {}) # TODO: Upload valid fields
|
31
|
+
make_request(endpoint, query)
|
32
|
+
end
|
33
|
+
|
34
|
+
private
|
35
|
+
|
36
|
+
def endpoint_path
|
37
|
+
"/other"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenFdaApi
|
4
|
+
# Interact with the Tobacco API Endpoint:
|
5
|
+
# - Problem Reports
|
6
|
+
class Tobacco < Endpoint
|
7
|
+
# @param search [Array<Hash>] Search fields defined in https://open.fda.gov/apis/tobacco/problem/searchable-fields/
|
8
|
+
# @param sort [Array<Hash>] Sort fields defined in https://open.fda.gov/apis/tobacco/problem/searchable-fields/
|
9
|
+
# @param count [Array<Hash>] Count fields defined https://open.fda.gov/apis/tobacco/problem/searchable-fields/
|
10
|
+
# @param skip [Integer] Number of results to skip
|
11
|
+
# @param limit [Integer] Number of results to return
|
12
|
+
# @return Response from the API parsed as JSON
|
13
|
+
def problem_reports(search: [], sort: [], count: [], skip: 0, limit: 1)
|
14
|
+
endpoint = "problem.json"
|
15
|
+
inputs = build_inputs(search: search, sort: sort, count: count, skip: skip, limit: limit)
|
16
|
+
query = build_query(inputs, {}) # TODO: Upload valid fields
|
17
|
+
make_request(endpoint, query)
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def endpoint_path
|
23
|
+
"/tobacco"
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/lib/open_fda_api/version.rb
CHANGED
data/lib/open_fda_api.rb
CHANGED
@@ -7,7 +7,13 @@ module OpenFdaApi
|
|
7
7
|
class Error < StandardError; end
|
8
8
|
|
9
9
|
autoload :Client, "open_fda_api/client"
|
10
|
-
autoload :
|
10
|
+
autoload :Endpoint, "open_fda_api/endpoint"
|
11
|
+
autoload :AnimalAndVeterinary, "open_fda_api/animal_and_veterinary"
|
12
|
+
autoload :Drugs, "open_fda_api/drugs"
|
13
|
+
autoload :Device, "open_fda_api/device"
|
14
|
+
autoload :Food, "open_fda_api/food"
|
15
|
+
autoload :Other, "open_fda_api/other"
|
16
|
+
autoload :Tobacco, "open_fda_api/tobacco"
|
11
17
|
autoload :QueryInputs, "open_fda_api/query_inputs"
|
12
18
|
autoload :QueryBuilder, "open_fda_api/query_builder"
|
13
19
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: open_fda_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hebron George
|
@@ -74,10 +74,16 @@ files:
|
|
74
74
|
- bin/setup
|
75
75
|
- lib/open_fda_api.rb
|
76
76
|
- lib/open_fda_api/adverse_events_fields.yml
|
77
|
+
- lib/open_fda_api/animal_and_veterinary.rb
|
77
78
|
- lib/open_fda_api/client.rb
|
79
|
+
- lib/open_fda_api/device.rb
|
78
80
|
- lib/open_fda_api/drugs.rb
|
81
|
+
- lib/open_fda_api/endpoint.rb
|
82
|
+
- lib/open_fda_api/food.rb
|
83
|
+
- lib/open_fda_api/other.rb
|
79
84
|
- lib/open_fda_api/query_builder.rb
|
80
85
|
- lib/open_fda_api/query_inputs.rb
|
86
|
+
- lib/open_fda_api/tobacco.rb
|
81
87
|
- lib/open_fda_api/version.rb
|
82
88
|
- open_fda_api.gemspec
|
83
89
|
homepage: https://github.com/hebron-george/open_fda_api
|