quality-measure-engine 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/js/map_reduce_utils.js +4 -0
- data/lib/qme/importer/entry.rb +3 -1
- data/lib/qme/importer/patient_importer.rb +1 -0
- data/lib/qme/randomizer/patient_randomizer.rb +33 -0
- metadata +103 -97
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.
|
1
|
+
1.0.2
|
data/js/map_reduce_utils.js
CHANGED
@@ -66,6 +66,8 @@ function() {
|
|
66
66
|
if (allInDateRange.length==0)
|
67
67
|
return defaultValue;
|
68
68
|
var min = _.min(allInDateRange, function(reading) {return reading.value;});
|
69
|
+
if (min==undefined)
|
70
|
+
return defaultValue;
|
69
71
|
return min.value;
|
70
72
|
};
|
71
73
|
|
@@ -83,6 +85,8 @@ function() {
|
|
83
85
|
if (allInDateRange.length==0)
|
84
86
|
return defaultValue;
|
85
87
|
var latest = _.max(allInDateRange, function(reading) {return reading.date;});
|
88
|
+
if (latest==undefined)
|
89
|
+
return defaultValue;
|
86
90
|
return latest.value;
|
87
91
|
};
|
88
92
|
|
data/lib/qme/importer/entry.rb
CHANGED
@@ -121,6 +121,7 @@ module QME
|
|
121
121
|
patient_record['gender'] = patient_hash['gender']
|
122
122
|
patient_record['patient_id'] = patient_hash['patient_id']
|
123
123
|
patient_record['birthdate'] = patient_hash['birthdate']
|
124
|
+
patient_record['addresses'] = patient_hash['addresses']
|
124
125
|
event_hash = {}
|
125
126
|
patient_hash['events'].each do |key, value|
|
126
127
|
event_hash[key.intern] = parse_events(value)
|
@@ -20,6 +20,25 @@ module QME
|
|
20
20
|
}
|
21
21
|
# 500 most popular surnames according to US census 1990
|
22
22
|
@surnames = %w{Smith Johnson Williams Jones Brown Davis Miller Wilson Moore Taylor Anderson Thomas Jackson White Harris Martin Thompson Garcia Martinez Robinson Clark Rodriguez Lewis Lee Walker Hall Allen Young Hernandez King Wright Lopez Hill Scott Green Adams Baker Gonzalez Nelson Carter Mitchell Perez Roberts Turner Phillips Campbell Parker Evans Edwards Collins Stewart Sanchez Morris Rogers Reed Cook Morgan Bell Murphy Bailey Rivera Cooper Richardson Cox Howard Ward Torres Peterson Gray Ramirez James Watson Brooks Kelly Sanders Price Bennett Wood Barnes Ross Henderson Coleman Jenkins Perry Powell Long Patterson Hughes Flores Washington Butler Simmons Foster Gonzales Bryant Alexander Russell Griffin Diaz Hayes Myers Ford Hamilton Graham Sullivan Wallace Woods Cole West Jordan Owens Reynolds Fisher Ellis Harrison Gibson Mcdonald Cruz Marshall Ortiz Gomez Murray Freeman Wells Webb Simpson Stevens Tucker Porter Hunter Hicks Crawford Henry Boyd Mason Morales Kennedy Warren Dixon Ramos Reyes Burns Gordon Shaw Holmes Rice Robertson Hunt Black Daniels Palmer Mills Nichols Grant Knight Ferguson Rose Stone Hawkins Dunn Perkins Hudson Spencer Gardner Stephens Payne Pierce Berry Matthews Arnold Wagner Willis Ray Watkins Olson Carroll Duncan Snyder Hart Cunningham Bradley Lane Andrews Ruiz Harper Fox Riley Armstrong Carpenter Weaver Greene Lawrence Elliott Chavez Sims Austin Peters Kelley Franklin Lawson Fields Gutierrez Ryan Schmidt Carr Vasquez Castillo Wheeler Chapman Oliver Montgomery Richards Williamson Johnston Banks Meyer Bishop Mccoy Howell Alvarez Morrison Hansen Fernandez Garza Harvey Little Burton Stanley Nguyen George Jacobs Reid Kim Fuller Lynch Dean Gilbert Garrett Romero Welch Larson Frazier Burke Hanson Day Mendoza Moreno Bowman Medina Fowler Brewer Hoffman Carlson Silva Pearson Holland Douglas Fleming Jensen Vargas Byrd Davidson Hopkins May Terry Herrera Wade Soto Walters Curtis Neal Caldwell Lowe Jennings Barnett Graves Jimenez Horton Shelton Barrett Obrien Castro Sutton Gregory Mckinney Lucas Miles Craig Rodriquez Chambers Holt Lambert Fletcher Watts Bates Hale Rhodes Pena Beck Newman Haynes Mcdaniel Mendez Bush Vaughn Parks Dawson Santiago Norris Hardy Love Steele Curry Powers Schultz Barker Guzman Page Munoz Ball Keller Chandler Weber Leonard Walsh Lyons Ramsey Wolfe Schneider Mullins Benson Sharp Bowen Daniel Barber Cummings Hines Baldwin Griffith Valdez Hubbard Salazar Reeves Warner Stevenson Burgess Santos Tate Cross Garner Mann Mack Moss Thornton Dennis Mcgee Farmer Delgado Aguilar Vega Glover Manning Cohen Harmon Rodgers Robbins Newton Todd Blair Higgins Ingram Reese Cannon Strickland Townsend Potter Goodwin Walton Rowe Hampton Ortega Patton Swanson Joseph Francis Goodman Maldonado Yates Becker Erickson Hodges Rios Conner Adkins Webster Norman Malone Hammond Flowers Cobb Moody Quinn Blake Maxwell Pope Floyd Osborne Paul Mccarthy Guerrero Lindsey Estrada Sandoval Gibbs Tyler Gross Fitzgerald Stokes Doyle Sherman Saunders Wise Colon Gill Alvarado Greer Padilla Simon Waters Nunez Ballard Schwartz Mcbride Houston Christensen Klein Pratt Briggs Parsons Mclaughlin Zimmerman French Buchanan Moran Copeland Roy Pittman Brady Mccormick Holloway Brock Poole Frank Logan Owen Bass Marsh Drake Wong Jefferson Park Morton Abbott Sparks Patrick Norton Huff Clayton Massey Lloyd Figueroa Carson Bowers Roberson Barton Tran Lamb Harrington Casey Boone Cortez Clarke Mathis Singleton Wilkins Cain Bryan Underwood Hogan Mckenzie Collier Luna Phelps Mcguire Allison Bridges Wilkerson Nash Summers Atkins}
|
23
|
+
|
24
|
+
@streetnames = %w{Park Main Oak Pine Maple Cedar Elm Lake Hill Second Washington}
|
25
|
+
@zipcodes = {
|
26
|
+
'01000' => {'city' => 'Springfield', 'state'=> 'MA'},
|
27
|
+
'01200' => {'city' => 'Springfield', 'state'=> 'MA'},
|
28
|
+
'01400' => {'city' => 'Worcester', 'state'=> 'MA'},
|
29
|
+
'02000' => {'city' => 'Brockton', 'state'=> 'MA'},
|
30
|
+
'02100' => {'city' => 'Boston', 'state'=> 'MA'},
|
31
|
+
'02500' => {'city' => 'Cape Cod', 'state'=> 'MA'},
|
32
|
+
'03000' => {'city' => 'Manchester', 'state'=> 'NH'},
|
33
|
+
'03300' => {'city' => 'Concord', 'state'=> 'NH'},
|
34
|
+
'03500' => {'city' => 'White River Junction', 'state'=> 'VT'},
|
35
|
+
'03800' => {'city' => 'Portsmouth', 'state'=> 'NH'},
|
36
|
+
'04000' => {'city' => 'Portland', 'state'=> 'ME'},
|
37
|
+
'04400' => {'city' => 'Bangor', 'state'=> 'ME'},
|
38
|
+
'05400' => {'city' => 'Burlington', 'state'=> 'VT'},
|
39
|
+
'06000' => {'city' => 'Hartford', 'state'=> 'CT'},
|
40
|
+
'06500' => {'city' => 'New Haven', 'state'=> 'CT'}
|
41
|
+
}
|
23
42
|
end
|
24
43
|
|
25
44
|
# Pick a gender at random
|
@@ -40,6 +59,20 @@ module QME
|
|
40
59
|
def surname
|
41
60
|
@surnames[rand(@surnames.length)]
|
42
61
|
end
|
62
|
+
|
63
|
+
# Create an address at random
|
64
|
+
# @return an address hash
|
65
|
+
def address
|
66
|
+
zip = @zipcodes.keys[rand(@zipcodes.length)]
|
67
|
+
{
|
68
|
+
'street' => [
|
69
|
+
"#{rand(100)} #{@streetnames[rand(@streetnames.length)]} Street"
|
70
|
+
],
|
71
|
+
'city' => @zipcodes[zip]['city'],
|
72
|
+
'state' => @zipcodes[zip]['state'],
|
73
|
+
'postalCode' => zip
|
74
|
+
}.to_json
|
75
|
+
end
|
43
76
|
|
44
77
|
# Pick a patient id, which will be a 10 character string, limited to numeric
|
45
78
|
# values for the string
|
metadata
CHANGED
@@ -1,158 +1,161 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: quality-measure-engine
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.1
|
3
|
+
version: !ruby/object:Gem::Version
|
5
4
|
prerelease:
|
5
|
+
version: 1.0.2
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Marc Hadley
|
9
9
|
- Andy Gregorowicz
|
10
10
|
- Rob Dingwell
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
|
14
|
+
|
15
|
+
date: 2011-09-29 00:00:00 -04:00
|
15
16
|
default_executable:
|
16
|
-
dependencies:
|
17
|
-
- !ruby/object:Gem::Dependency
|
17
|
+
dependencies:
|
18
|
+
- !ruby/object:Gem::Dependency
|
18
19
|
name: mongo
|
19
|
-
|
20
|
+
prerelease: false
|
21
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
22
|
none: false
|
21
|
-
requirements:
|
23
|
+
requirements:
|
22
24
|
- - ~>
|
23
|
-
- !ruby/object:Gem::Version
|
24
|
-
version:
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: "1.3"
|
25
27
|
type: :runtime
|
26
|
-
|
27
|
-
|
28
|
-
- !ruby/object:Gem::Dependency
|
28
|
+
version_requirements: *id001
|
29
|
+
- !ruby/object:Gem::Dependency
|
29
30
|
name: rubyzip
|
30
|
-
|
31
|
+
prerelease: false
|
32
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
31
33
|
none: false
|
32
|
-
requirements:
|
34
|
+
requirements:
|
33
35
|
- - ~>
|
34
|
-
- !ruby/object:Gem::Version
|
36
|
+
- !ruby/object:Gem::Version
|
35
37
|
version: 0.9.4
|
36
38
|
type: :runtime
|
37
|
-
|
38
|
-
|
39
|
-
- !ruby/object:Gem::Dependency
|
39
|
+
version_requirements: *id002
|
40
|
+
- !ruby/object:Gem::Dependency
|
40
41
|
name: nokogiri
|
41
|
-
|
42
|
+
prerelease: false
|
43
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
42
44
|
none: false
|
43
|
-
requirements:
|
45
|
+
requirements:
|
44
46
|
- - ~>
|
45
|
-
- !ruby/object:Gem::Version
|
47
|
+
- !ruby/object:Gem::Version
|
46
48
|
version: 1.4.4
|
47
49
|
type: :runtime
|
48
|
-
|
49
|
-
|
50
|
-
- !ruby/object:Gem::Dependency
|
50
|
+
version_requirements: *id003
|
51
|
+
- !ruby/object:Gem::Dependency
|
51
52
|
name: resque
|
52
|
-
|
53
|
+
prerelease: false
|
54
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
53
55
|
none: false
|
54
|
-
requirements:
|
56
|
+
requirements:
|
55
57
|
- - ~>
|
56
|
-
- !ruby/object:Gem::Version
|
58
|
+
- !ruby/object:Gem::Version
|
57
59
|
version: 1.15.0
|
58
60
|
type: :runtime
|
59
|
-
|
60
|
-
|
61
|
-
- !ruby/object:Gem::Dependency
|
61
|
+
version_requirements: *id004
|
62
|
+
- !ruby/object:Gem::Dependency
|
62
63
|
name: resque-status
|
63
|
-
|
64
|
+
prerelease: false
|
65
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
64
66
|
none: false
|
65
|
-
requirements:
|
67
|
+
requirements:
|
66
68
|
- - ~>
|
67
|
-
- !ruby/object:Gem::Version
|
69
|
+
- !ruby/object:Gem::Version
|
68
70
|
version: 0.2.3
|
69
71
|
type: :runtime
|
70
|
-
|
71
|
-
|
72
|
-
- !ruby/object:Gem::Dependency
|
72
|
+
version_requirements: *id005
|
73
|
+
- !ruby/object:Gem::Dependency
|
73
74
|
name: jsonschema
|
74
|
-
|
75
|
+
prerelease: false
|
76
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
75
77
|
none: false
|
76
|
-
requirements:
|
78
|
+
requirements:
|
77
79
|
- - ~>
|
78
|
-
- !ruby/object:Gem::Version
|
80
|
+
- !ruby/object:Gem::Version
|
79
81
|
version: 2.0.0
|
80
82
|
type: :development
|
81
|
-
|
82
|
-
|
83
|
-
- !ruby/object:Gem::Dependency
|
83
|
+
version_requirements: *id006
|
84
|
+
- !ruby/object:Gem::Dependency
|
84
85
|
name: rspec
|
85
|
-
|
86
|
+
prerelease: false
|
87
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
86
88
|
none: false
|
87
|
-
requirements:
|
89
|
+
requirements:
|
88
90
|
- - ~>
|
89
|
-
- !ruby/object:Gem::Version
|
91
|
+
- !ruby/object:Gem::Version
|
90
92
|
version: 2.5.0
|
91
93
|
type: :development
|
92
|
-
|
93
|
-
|
94
|
-
- !ruby/object:Gem::Dependency
|
94
|
+
version_requirements: *id007
|
95
|
+
- !ruby/object:Gem::Dependency
|
95
96
|
name: awesome_print
|
96
|
-
|
97
|
+
prerelease: false
|
98
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
97
99
|
none: false
|
98
|
-
requirements:
|
100
|
+
requirements:
|
99
101
|
- - ~>
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version:
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: "0.3"
|
102
104
|
type: :development
|
103
|
-
|
104
|
-
|
105
|
-
- !ruby/object:Gem::Dependency
|
105
|
+
version_requirements: *id008
|
106
|
+
- !ruby/object:Gem::Dependency
|
106
107
|
name: roo
|
107
|
-
|
108
|
+
prerelease: false
|
109
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
108
110
|
none: false
|
109
|
-
requirements:
|
111
|
+
requirements:
|
110
112
|
- - ~>
|
111
|
-
- !ruby/object:Gem::Version
|
113
|
+
- !ruby/object:Gem::Version
|
112
114
|
version: 1.9.3
|
113
115
|
type: :development
|
114
|
-
|
115
|
-
|
116
|
-
- !ruby/object:Gem::Dependency
|
116
|
+
version_requirements: *id009
|
117
|
+
- !ruby/object:Gem::Dependency
|
117
118
|
name: builder
|
118
|
-
|
119
|
+
prerelease: false
|
120
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
119
121
|
none: false
|
120
|
-
requirements:
|
122
|
+
requirements:
|
121
123
|
- - ~>
|
122
|
-
- !ruby/object:Gem::Version
|
124
|
+
- !ruby/object:Gem::Version
|
123
125
|
version: 3.0.0
|
124
126
|
type: :development
|
125
|
-
|
126
|
-
|
127
|
-
- !ruby/object:Gem::Dependency
|
127
|
+
version_requirements: *id010
|
128
|
+
- !ruby/object:Gem::Dependency
|
128
129
|
name: spreadsheet
|
129
|
-
|
130
|
+
prerelease: false
|
131
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
130
132
|
none: false
|
131
|
-
requirements:
|
133
|
+
requirements:
|
132
134
|
- - ~>
|
133
|
-
- !ruby/object:Gem::Version
|
135
|
+
- !ruby/object:Gem::Version
|
134
136
|
version: 0.6.5.2
|
135
137
|
type: :development
|
136
|
-
|
137
|
-
|
138
|
-
- !ruby/object:Gem::Dependency
|
138
|
+
version_requirements: *id011
|
139
|
+
- !ruby/object:Gem::Dependency
|
139
140
|
name: google-spreadsheet-ruby
|
140
|
-
|
141
|
+
prerelease: false
|
142
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
141
143
|
none: false
|
142
|
-
requirements:
|
144
|
+
requirements:
|
143
145
|
- - ~>
|
144
|
-
- !ruby/object:Gem::Version
|
146
|
+
- !ruby/object:Gem::Version
|
145
147
|
version: 0.1.2
|
146
148
|
type: :development
|
147
|
-
|
148
|
-
|
149
|
-
description: A library for extracting quality measure information from HITSP C32's
|
150
|
-
and ASTM CCR's
|
149
|
+
version_requirements: *id012
|
150
|
+
description: A library for extracting quality measure information from HITSP C32's and ASTM CCR's
|
151
151
|
email: talk@projectpophealth.org
|
152
152
|
executables: []
|
153
|
+
|
153
154
|
extensions: []
|
155
|
+
|
154
156
|
extra_rdoc_files: []
|
155
|
-
|
157
|
+
|
158
|
+
files:
|
156
159
|
- lib/qme/database_access.rb
|
157
160
|
- lib/qme/importer/code_system_helper.rb
|
158
161
|
- lib/qme/importer/entry.rb
|
@@ -187,27 +190,30 @@ files:
|
|
187
190
|
has_rdoc: true
|
188
191
|
homepage: http://github.com/pophealth/quality-measure-engine
|
189
192
|
licenses: []
|
193
|
+
|
190
194
|
post_install_message:
|
191
195
|
rdoc_options: []
|
192
|
-
|
196
|
+
|
197
|
+
require_paths:
|
193
198
|
- lib
|
194
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
199
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
195
200
|
none: false
|
196
|
-
requirements:
|
197
|
-
- -
|
198
|
-
- !ruby/object:Gem::Version
|
199
|
-
version:
|
200
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
201
|
+
requirements:
|
202
|
+
- - ">="
|
203
|
+
- !ruby/object:Gem::Version
|
204
|
+
version: "0"
|
205
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
201
206
|
none: false
|
202
|
-
requirements:
|
203
|
-
- -
|
204
|
-
- !ruby/object:Gem::Version
|
205
|
-
version:
|
207
|
+
requirements:
|
208
|
+
- - ">="
|
209
|
+
- !ruby/object:Gem::Version
|
210
|
+
version: "0"
|
206
211
|
requirements: []
|
212
|
+
|
207
213
|
rubyforge_project:
|
208
|
-
rubygems_version: 1.
|
214
|
+
rubygems_version: 1.5.0
|
209
215
|
signing_key:
|
210
216
|
specification_version: 3
|
211
|
-
summary: A library for extracting quality measure information from HITSP C32's and
|
212
|
-
ASTM CCR's
|
217
|
+
summary: A library for extracting quality measure information from HITSP C32's and ASTM CCR's
|
213
218
|
test_files: []
|
219
|
+
|