clinic_finder 0.0.0 → 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +21 -2
- data/clinic_finder.gemspec +2 -2
- data/lib/clinic_finder.rb +1 -1
- data/test/test_clinic_finder.rb +2 -17
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 741438e7beda3144d4f1f42f20e8596f032c07da
|
4
|
+
data.tar.gz: e7496fc1f2a7d271f8bfeb050b6720d0314e25ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 40804f797f85769e3f1782dca2cfd925fe39abffe16449e884a7d1af9d870e1f46f112b4ad59e3fc22ea931f4375029df6f42b319c992eb72c848b7c4f1f9379
|
7
|
+
data.tar.gz: 2ebdf1f8cacaebddec292f400e503ab3daa3b17fae01ede25be901901ea303272a0c06bc0a0939ef8a696015cc4af152dec134de69c62abc946bbbcce2856f65
|
data/README.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# clinic_finder
|
2
2
|
# ABORTRON
|
3
3
|
|
4
|
+
* gem: https://github.com/colinxfleming/clinic_finder
|
4
5
|
* CI: https://travis-ci.org/colinxfleming/clinic_finder
|
5
6
|
* build script: build.sh
|
6
7
|
* run tests: rake test
|
@@ -33,7 +34,13 @@ Information from a patient that we'd like to plug into the tool:
|
|
33
34
|
|
34
35
|
## Setup
|
35
36
|
|
36
|
-
|
37
|
+
Add clinic_finder to your application's Gemfile. Consult the rubygems page for most recent version
|
38
|
+
|
39
|
+
`gem 'clinic_finder', '~> 0.0.0'`
|
40
|
+
|
41
|
+
Run bundler from your terminal
|
42
|
+
|
43
|
+
Manually install the geokit gem in your application, as the client_finder gem is dependent on it (*open ticket to resolve)
|
37
44
|
|
38
45
|
This gem currently requires data to be in the form of a .yml file, which is passed in to the library instance at the point of initialization as such:
|
39
46
|
|
@@ -94,13 +101,25 @@ This will return an array of hashes that look like so:
|
|
94
101
|
'costs_24wks' => nil,
|
95
102
|
'costs_30wks' => nil}}]
|
96
103
|
```
|
104
|
+
|
105
|
+
To find the closest clinic within your dataset that will serve the patient based on their LMP and patient zip code, call:
|
106
|
+
|
107
|
+
`@abortron.locate_nearest_clinic(patient_zip: 94117, gestational_age: 100)`
|
97
108
|
|
109
|
+
This will return an array of hashes of the 3 closest clinics and their calculated distance, which should look like so:
|
110
|
+
|
111
|
+
```
|
112
|
+
=> [{:name => "castro_family_planning", :distance => 0.92356303468274},
|
113
|
+
{:name => "planned_parenthood_san_fran", :distance => 1.8319683663768311},
|
114
|
+
{:name => "planned_parenthood_oakland", :distance => 9.580895789655901}]
|
115
|
+
```
|
98
116
|
|
99
117
|
## Further goals
|
100
118
|
* Make gem usable with ActiveRecord models directly, instead of via a yml file that requires maintenance
|
119
|
+
* Fix dependency on user manually requiring geokit
|
101
120
|
* Incorporate check for NAF only (the infrastructure is currently present as a default-false argument, but is not being used)
|
102
121
|
* Create method for cheapest **and** closest, defined as the cheapest clinic of your three closest clinics
|
103
|
-
* Create a method for easiest/fastest access via public transportation (this may require patient to provide full address, not just zip)
|
122
|
+
* Create a method for easiest/fastest access via public transportation (this may require patient to provide full address, not just zip code)
|
104
123
|
|
105
124
|
## Measuring success
|
106
125
|
|
data/clinic_finder.gemspec
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'clinic_finder'
|
3
|
-
s.version = '0.0.
|
3
|
+
s.version = '0.0.1'
|
4
4
|
s.date = '2017-02-23'
|
5
5
|
s.summary = 'Finding abortion clinics based on zip and LMP'
|
6
6
|
s.description = 'Help abortion fund case managers match ' \
|
7
7
|
'patients to optimal clinics.'
|
8
|
-
s.authors = ['Team Code for DCAF', 'Colin Fleming', 'Lisa Waldschmitt']
|
8
|
+
s.authors = ['Team Code for DCAF', 'Colin Fleming', 'Lisa Waldschmitt', 'Sara Gilford', 'Claire Schlessinger', 'Katherine Bui', 'Sierra McLawhorn']
|
9
9
|
s.email = 'info@dcabortionfund.org'
|
10
10
|
s.files = ['lib/clinic_finder.rb', 'lib/clinic_finder/gestation_helper.rb']
|
11
11
|
s.homepage = 'http://www.dcabortionfund.org'
|
data/lib/clinic_finder.rb
CHANGED
@@ -69,7 +69,7 @@ class ClinicFinder
|
|
69
69
|
# This method makes the sorted clinic data more easily traversible by converting the data into a hash of names (keys) and informational attributes (values) rather than leaving them as separate values in a nested array.
|
70
70
|
private def decorate_data(data)
|
71
71
|
sorted_clinics = []
|
72
|
-
three_cheapest(data).map { |clinic_array| sorted_clinics << { clinic_array.first
|
72
|
+
three_cheapest(data).map { |clinic_array| sorted_clinics << { name: clinic_array.first, cost: clinic_array.last[@gestational_tier] } }
|
73
73
|
sorted_clinics
|
74
74
|
end
|
75
75
|
|
data/test/test_clinic_finder.rb
CHANGED
@@ -57,22 +57,7 @@ class TestClinicFinder < TestClass
|
|
57
57
|
end
|
58
58
|
|
59
59
|
def test_locate_cheapest_clinic_locates
|
60
|
-
|
61
|
-
|
62
|
-
{
|
63
|
-
'street_address' => '1001 Broadway',
|
64
|
-
'city' => 'Oakland',
|
65
|
-
'state' => 'CA',
|
66
|
-
'zip' => 94607,
|
67
|
-
'accepts_naf' => false,
|
68
|
-
'gestational_limit' => 139,
|
69
|
-
'costs_9wks' => 425,
|
70
|
-
'costs_12wks' => 475,
|
71
|
-
'costs_18wks' => 975,
|
72
|
-
'costs_24wks' => nil,
|
73
|
-
'costs_30wks' => nil
|
74
|
-
}
|
75
|
-
}
|
76
|
-
assert_equal clinic, @abortron.locate_cheapest_clinic(gestational_age: 100)[0]
|
60
|
+
clinic_result = {name: 'planned_parenthood_oakland', cost: 975}
|
61
|
+
assert_equal clinic_result, @abortron.locate_cheapest_clinic(gestational_age: 100)[0]
|
77
62
|
end
|
78
63
|
end
|
metadata
CHANGED
@@ -1,12 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: clinic_finder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Team Code for DCAF
|
8
8
|
- Colin Fleming
|
9
9
|
- Lisa Waldschmitt
|
10
|
+
- Sara Gilford
|
11
|
+
- Claire Schlessinger
|
12
|
+
- Katherine Bui
|
13
|
+
- Sierra McLawhorn
|
10
14
|
autorequire:
|
11
15
|
bindir: bin
|
12
16
|
cert_chain: []
|
@@ -52,7 +56,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
52
56
|
version: '0'
|
53
57
|
requirements: []
|
54
58
|
rubyforge_project: clinic_finder
|
55
|
-
rubygems_version: 2.
|
59
|
+
rubygems_version: 2.4.5.1
|
56
60
|
signing_key:
|
57
61
|
specification_version: 4
|
58
62
|
summary: Finding abortion clinics based on zip and LMP
|