dpickett-clinical 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.
data/.document ADDED
@@ -0,0 +1,5 @@
1
+ README.rdoc
2
+ lib/**/*.rb
3
+ bin/*
4
+ features/**/*.feature
5
+ LICENSE
data/.gitignore ADDED
@@ -0,0 +1,5 @@
1
+ *.sw?
2
+ .DS_Store
3
+ coverage
4
+ rdoc
5
+ pkg
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2009 Dan Pickett
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,7 @@
1
+ = clinical
2
+
3
+ Description goes here.
4
+
5
+ == Copyright
6
+
7
+ Copyright (c) 2009 Dan Pickett. See LICENSE for details.
data/Rakefile ADDED
@@ -0,0 +1,70 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+
4
+ begin require "metric_fu" rescue Exception; end
5
+
6
+ begin
7
+ require 'jeweler'
8
+ Jeweler::Tasks.new do |gem|
9
+ gem.name = "clinical"
10
+ gem.summary = %Q{a library for accessing data from ClinicalTrials.gov}
11
+ gem.email = "dpickett@enlightsolutions.com"
12
+ gem.homepage = "http://github.com/dpickett/clinical"
13
+ gem.authors = ["Dan Pickett"]
14
+ gem.add_dependency("jnunemaker-httparty", ">= 0.4.3")
15
+ gem.add_dependency("jnunemaker-happymapper", ">= 0.2.5")
16
+ gem.add_dependency("mislav-will_paginate", ">= 2.3.11")
17
+
18
+ # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
19
+ end
20
+
21
+ rescue LoadError
22
+ puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
23
+ end
24
+
25
+ require 'rake/testtask'
26
+ Rake::TestTask.new(:test) do |test|
27
+ test.libs << 'lib' << 'test'
28
+ test.pattern = 'test/**/*_test.rb'
29
+ test.verbose = true
30
+ end
31
+
32
+ begin
33
+ require 'rcov/rcovtask'
34
+ Rcov::RcovTask.new do |test|
35
+ test.libs << 'test'
36
+ test.pattern = 'test/**/*_test.rb'
37
+ test.verbose = true
38
+ end
39
+ rescue LoadError
40
+ task :rcov do
41
+ abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
42
+ end
43
+ end
44
+
45
+ begin
46
+ require 'cucumber/rake/task'
47
+ Cucumber::Rake::Task.new(:features)
48
+ rescue LoadError
49
+ task :features do
50
+ abort "Cucumber is not available. In order to run features, you must: sudo gem install cucumber"
51
+ end
52
+ end
53
+
54
+ task :default => :test
55
+
56
+ require 'rake/rdoctask'
57
+ Rake::RDocTask.new do |rdoc|
58
+ if File.exist?('VERSION.yml')
59
+ config = YAML.load(File.read('VERSION.yml'))
60
+ version = "#{config[:major]}.#{config[:minor]}.#{config[:patch]}"
61
+ else
62
+ version = ""
63
+ end
64
+
65
+ rdoc.rdoc_dir = 'rdoc'
66
+ rdoc.title = "clinical #{version}"
67
+ rdoc.rdoc_files.include('README*')
68
+ rdoc.rdoc_files.include('lib/**/*.rb')
69
+ end
70
+
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.1.1
data/clinical.gemspec ADDED
@@ -0,0 +1,69 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{clinical}
5
+ s.version = "0.1.0"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["Dan Pickett"]
9
+ s.date = %q{2009-06-28}
10
+ s.email = %q{dpickett@enlightsolutions.com}
11
+ s.extra_rdoc_files = [
12
+ "LICENSE",
13
+ "README.rdoc"
14
+ ]
15
+ s.files = [
16
+ ".document",
17
+ ".gitignore",
18
+ "LICENSE",
19
+ "README.rdoc",
20
+ "Rakefile",
21
+ "VERSION",
22
+ "clinical.gemspec",
23
+ "features/finding_clinical_trials.feature",
24
+ "features/step_definitions/clinical_steps.rb",
25
+ "features/support/env.rb",
26
+ "lib/clinical.rb",
27
+ "lib/clinical/collection.rb",
28
+ "lib/clinical/extensions.rb",
29
+ "lib/clinical/intervention.rb",
30
+ "lib/clinical/outcome.rb",
31
+ "lib/clinical/primary_outcome.rb",
32
+ "lib/clinical/secondary_outcome.rb",
33
+ "lib/clinical/status.rb",
34
+ "lib/clinical/trial.rb",
35
+ "test/clinical/trial_test.rb",
36
+ "test/fixtures/lupus_single.xml",
37
+ "test/fixtures/open_set.xml",
38
+ "test/test_helper.rb"
39
+ ]
40
+ s.has_rdoc = true
41
+ s.homepage = %q{http://github.com/dpickett/clinical}
42
+ s.rdoc_options = ["--charset=UTF-8"]
43
+ s.require_paths = ["lib"]
44
+ s.rubygems_version = %q{1.3.2}
45
+ s.summary = %q{a library for accessing data from ClinicalTrials.gov}
46
+ s.test_files = [
47
+ "test/clinical/trial_test.rb",
48
+ "test/test_helper.rb"
49
+ ]
50
+
51
+ if s.respond_to? :specification_version then
52
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
53
+ s.specification_version = 3
54
+
55
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
56
+ s.add_runtime_dependency(%q<jnunemaker-httparty>, [">= 0.4.3"])
57
+ s.add_runtime_dependency(%q<jnunemaker-happymapper>, [">= 0.2.5"])
58
+ s.add_runtime_dependency(%q<mislav-will_paginate>, [">= 2.3.11"])
59
+ else
60
+ s.add_dependency(%q<jnunemaker-httparty>, [">= 0.4.3"])
61
+ s.add_dependency(%q<jnunemaker-happymapper>, [">= 0.2.5"])
62
+ s.add_dependency(%q<mislav-will_paginate>, [">= 2.3.11"])
63
+ end
64
+ else
65
+ s.add_dependency(%q<jnunemaker-httparty>, [">= 0.4.3"])
66
+ s.add_dependency(%q<jnunemaker-happymapper>, [">= 0.2.5"])
67
+ s.add_dependency(%q<mislav-will_paginate>, [">= 2.3.11"])
68
+ end
69
+ end
@@ -0,0 +1,43 @@
1
+ Feature: As a potential participant for a clinical study
2
+ I want to search for clinical trials
3
+ So that I can find out more information about them
4
+
5
+ Scenario: Find open studies
6
+ Given I am searching for trials where "recruiting" is "true"
7
+ When I perform the search
8
+ Then I should get trials that are "open"
9
+
10
+ Scenario: Find closed studies
11
+ Given I am searching for trials where "recruiting" is "false"
12
+ When I perform the search
13
+ Then I should get trials that are not "open"
14
+
15
+ Scenario: Find a specific condition
16
+ Given I am searching for trials where "condition" is "hemophelia"
17
+ When I perform the extended search
18
+ Then I should get trials where the "conditions" contains "hemophelia"
19
+
20
+ Scenario: Find a specific intervention
21
+ Given I am searching for trials where "intervention" is "drug"
22
+ When I perform the extended search
23
+ Then I should get trials where the "interventions" contains "drug"
24
+
25
+ Scenario: Find a specific outcome
26
+ Given I am searching for trials where "outcome" is "toxic"
27
+ When I perform the extended search
28
+ Then I should get trials where the "outcomes" contains "toxic"
29
+
30
+ Scenario: Find a specific sponsor
31
+ Given I am searching for trials where "sponsor" is "Eli Lilly"
32
+ When I perform the extended search
33
+ Then I should get trials where the "sponsors" contains "Eli Lilly"
34
+
35
+ Scenario: Find a specific trial
36
+ When I attempt to retrieve trial "NCT00001372"
37
+ Then I should get a trial
38
+ And the trial should have an "id" of "NCT00001372"
39
+
40
+ Scenario: Find a non-existant trial
41
+ When I attempt to retrieve trial "4325785"
42
+ Then I should not get a trial
43
+
@@ -0,0 +1,65 @@
1
+ Given /^I am searching for trials where "([^\"]*)" is "([^\"]*)"$/ do |field, value|
2
+ @params ||= {}
3
+
4
+ if value == "true"
5
+ value = true
6
+ elsif value == "false"
7
+ value = false
8
+ end
9
+
10
+ @params[field.to_sym] = value
11
+ end
12
+
13
+ When /^I perform the search$/ do
14
+ @trials = Clinical::Trial.find(:conditions => @params)
15
+ end
16
+
17
+ When /^I perform the extended search$/ do
18
+ @trials = Clinical::Trial.find(:conditions => @params, :extended => true)
19
+ end
20
+
21
+ When /^I attempt to retrieve trial "([^\"]*)"$/ do |id|
22
+ @trial = Clinical::Trial.find_by_id(id)
23
+ end
24
+
25
+ Then /^I should get trials that are (not )?"([^\"]*)"$/ do |not_included, field|
26
+ if not_included
27
+ result = false
28
+ else
29
+ result = true
30
+ end
31
+
32
+ @trials.each do |trial|
33
+ trial.send(field + "?").should(eql(result))
34
+ end
35
+ end
36
+
37
+ Then /^I should get trials where the "([^\"]*)" contains "([^\"]*)"$/ do |field, value|
38
+ @trials.each do |trial|
39
+ item_values = []
40
+ result = trial.send(field)
41
+ if result.is_a?(Array)
42
+ found = false
43
+ result.each do |i|
44
+ found = true if i.to_s =~ /#{value}/i
45
+ end
46
+ debugger if !found
47
+ found.should be_true
48
+ else
49
+ result.to_s.should =~ /#{value}/i
50
+ end
51
+ end
52
+ end
53
+
54
+ Then /^I should get a trial$/ do
55
+ @trial.should_not be_nil
56
+ end
57
+
58
+ Then /^the trial should have an "([^\"]*)" of "([^\"]*)"$/ do |field, value|
59
+ @trial.send(field).should eql(value)
60
+ end
61
+
62
+ Then /^I should not get a trial$/ do
63
+ @trial.should be_nil
64
+ end
65
+
@@ -0,0 +1,6 @@
1
+ $LOAD_PATH.unshift(File.dirname(__FILE__) + '/../../lib')
2
+ require 'clinical'
3
+
4
+ require 'test/unit/assertions'
5
+
6
+ World(Test::Unit::Assertions)
@@ -0,0 +1,24 @@
1
+ module Clinical
2
+ class Collection < WillPaginate::Collection
3
+ include HappyMapper
4
+ attr_accessor :count
5
+ class << self
6
+ def create_from_results(page, per_page, body)
7
+ results = SearchResult.parse(body)
8
+ col = create(page, per_page, results.count || 0) do |pager|
9
+ pager.replace(results.trials)
10
+ end
11
+ col.count = results.count
12
+ col
13
+ end
14
+ end
15
+
16
+ class SearchResult
17
+ include HappyMapper
18
+ tag "search_results"
19
+ attribute "count", Integer
20
+
21
+ has_many :trials, Clinical::Trial
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,28 @@
1
+ #thanks Rails Core!
2
+ module Clinical
3
+ module Extensions
4
+ module Array
5
+ def extract_options!
6
+ last.is_a?(::Hash) ? pop : {}
7
+ end
8
+
9
+ end
10
+
11
+ module String
12
+ def underscore(camel_cased_word)
13
+ camel_cased_word.to_s.gsub(/::/, '/').
14
+ gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
15
+ gsub(/([a-z\d])([A-Z])/,'\1_\2').
16
+ tr("-", "_").
17
+ downcase
18
+ end
19
+ end
20
+ end
21
+ end
22
+
23
+ unless String.instance_methods.include?("underscore")
24
+ String.send(:include, Clinical::Extensions::String)
25
+ end
26
+ unless Array.instance_methods.include?("extract_options!")
27
+ Array.send(:include, Clinical::Extensions::Array)
28
+ end
@@ -0,0 +1,13 @@
1
+ module Clinical
2
+ class Intervention
3
+ include HappyMapper
4
+
5
+ element :type, String, :tag => "intervention_type"
6
+ element :description, String
7
+ element :name, String, :tag => "intervention_name"
8
+
9
+ def to_s
10
+ "#{self.name} (#{self.type}): #{self.description}"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,29 @@
1
+ module Clinical
2
+ module Outcome
3
+
4
+ def self.included(base)
5
+ base.send(:include, InstanceMethods)
6
+ base.class_eval do
7
+ include InstanceMethods
8
+ include HappyMapper
9
+ element :measure, String
10
+ element :time_frame, String
11
+ element :safety_issue, String
12
+ end
13
+ end
14
+
15
+ module InstanceMethods
16
+ def primary?
17
+ self.class.tag_name == "primary_outcome"
18
+ end
19
+
20
+ def to_s
21
+ val = "#{measure}"
22
+ val << ", TIME FRAME: #{time_frame}" if time_frame
23
+ val << ",SAFETY ISSUE: #{safety_issue}" if safety_issue
24
+ val
25
+ end
26
+ end
27
+
28
+ end
29
+ end
@@ -0,0 +1,6 @@
1
+ module Clinical
2
+ class PrimaryOutcome
3
+ include Outcome
4
+ tag :primary_outcome
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ module Clinical
2
+ class SecondaryOutcome
3
+ include Outcome
4
+ tag :secondary_outcome
5
+ end
6
+ end
@@ -0,0 +1,42 @@
1
+ module Clinical
2
+ class Status
3
+ STATUSES = [
4
+ :not_yet_recruiting,
5
+ :recruiting,
6
+ :enrolling_by_invitation,
7
+ :active,
8
+ :not_recruiting,
9
+ :completed,
10
+ :suspended,
11
+ :terminated,
12
+ :withdrawn,
13
+ :available,
14
+ :no_longer_available
15
+ ]
16
+
17
+ OPEN_STATUSES = [
18
+ :not_yet_recruiting,
19
+ :recruiting
20
+ ]
21
+
22
+ attr_reader :name
23
+
24
+ def initialize(sym)
25
+ @name = sym
26
+ end
27
+
28
+ def open?
29
+ OPEN_STATUSES.include?(name)
30
+ end
31
+
32
+ def to_s
33
+ sym.to_s
34
+ end
35
+
36
+ class << self
37
+ def parse(s)
38
+ s.nil? ? nil : Status.new(s.downcase.gsub(" ", "_").to_sym)
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,150 @@
1
+ require "ruby-debug"
2
+
3
+ module Clinical
4
+ class Trial
5
+ include HappyMapper
6
+ include HTTParty
7
+
8
+ base_uri "http://clinicaltrials.gov"
9
+ default_params :displayxml => true
10
+
11
+ tag "clinical_study"
12
+ element :nct_id, String, :deep => true
13
+ element :read_status, Clinical::Status, :tag => "status", :parser => :parse
14
+ element :overall_status, Clinical::Status, :parser => :parse
15
+ element :url, String
16
+ element :short_title, String, :tag => "title"
17
+ element :official_title, String
18
+ element :condition_summary, String
19
+ has_many :condition_items, String, :tag => "condition"
20
+
21
+ element :phase, Integer
22
+ element :study_type, String
23
+ element :study_design, String
24
+
25
+ element :lead_sponsor, String, :tag => "sponsors/lead_sponsor"
26
+ has_many :collaborators, String, :tag => "sponsors/collaborator"
27
+ has_many :agencies, String, :tag => "sponsors/agency"
28
+
29
+ has_many :interventions, Intervention, :tag => "intervention"
30
+ has_many :primary_outcomes, PrimaryOutcome
31
+ has_many :secondary_outcomes, SecondaryOutcome
32
+
33
+ has_many :locations, Location, :tag => "location"
34
+ element :start_date, Date
35
+ element :end_date, Date
36
+
37
+ element :last_changed_at, Date, :tag => "lastchanged_date"
38
+
39
+ element :minimum_age, String
40
+ element :maximum_age, String
41
+ element :gender, String
42
+ element :healthy_volunteers, String
43
+
44
+ element :participant_quantity, Integer, :tag => "enrollment"
45
+
46
+ element :url, String, :tag => "required_header/url"
47
+ element :eligibility_criteria, String, :tag => "eligibility/criteria/textblock"
48
+
49
+ element :brief_summary, String, :tag => "brief_summary/textblock"
50
+ element :detailed_description, String, :tag => "brief_summary/textblock"
51
+
52
+ def id
53
+ self.nct_id
54
+ end
55
+
56
+ def open?
57
+ self.status && self.status.open?
58
+ end
59
+
60
+ def sponsors
61
+ @sponsors ||= [lead_sponsor, (collaborators || []), (agencies || [])].flatten
62
+ end
63
+
64
+ def outcomes
65
+ @outcomes ||= [primary_outcomes, secondary_outcomes].flatten
66
+ end
67
+
68
+ def status
69
+ self.read_status || self.overall_status
70
+ end
71
+
72
+ def conditions
73
+ if condition_items.nil? || condition_items.empty?
74
+ condition_summary.split(";")
75
+ else
76
+ condition_items
77
+ end
78
+ end
79
+
80
+ class << self
81
+ def find_by_id(id)
82
+ response = get("/show/#{id}")
83
+ if response.code == 400
84
+ nil
85
+ else
86
+ begin
87
+ parse(response.body)
88
+ rescue LibXML::XML::Error
89
+ return nil
90
+ end
91
+ end
92
+ end
93
+
94
+ def find(*args)
95
+ options = args.extract_options!
96
+
97
+ options[:page] ||= 1
98
+ options[:per_page] ||= 20
99
+
100
+ query = query_hash_for(*[args, options])
101
+ response = get("/search", :query => query)
102
+ trials = Collection.create_from_results(options[:page],
103
+ options[:per_page],
104
+ response.body)
105
+
106
+ if options[:extended]
107
+ fetch_more_details(trials)
108
+ else
109
+ trials
110
+ end
111
+ end
112
+
113
+ def query_hash_for(*args)
114
+ query = {}
115
+ options = args.extract_options! || {}
116
+
117
+ conditions = options[:conditions] || {}
118
+ query["start"] = (options[:per_page] * options[:page]) - (options[:per_page] - 1)
119
+ unless conditions[:recruiting].nil?
120
+ query["recr"] = conditions[:recruiting] ? "open" : "closed"
121
+ end
122
+ query["term"] = args.first if args.first.is_a?(String)
123
+
124
+ {
125
+ :condition => "cond",
126
+ :sponsor => "spons",
127
+ :intervention => "intr",
128
+ :outcome => "outc",
129
+ :sponsor => "spons"
130
+ }.each do |key,value|
131
+ query[value] = conditions[key] unless conditions[key].nil?
132
+ end
133
+
134
+ query
135
+ end
136
+
137
+ def extract_options!
138
+ last.is_a?(Hash) ? pop : { }
139
+ end
140
+
141
+ private
142
+ def fetch_more_details(trials)
143
+ detailed_trials = trials.collect {|i| find_by_id(i.id)}
144
+ Collection.create(trials.current_page, trials.per_page, trials.count || 0) do |pager|
145
+ pager.replace(detailed_trials)
146
+ end
147
+ end
148
+ end
149
+ end
150
+ end
data/lib/clinical.rb ADDED
@@ -0,0 +1,21 @@
1
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
2
+
3
+ require "will_paginate"
4
+ require "httparty"
5
+ require "happymapper"
6
+
7
+ require "clinical/extensions"
8
+
9
+ require "clinical/status"
10
+ require "clinical/intervention"
11
+ require "clinical/outcome"
12
+ require "clinical/primary_outcome"
13
+ require "clinical/secondary_outcome"
14
+
15
+ require "clinical/address"
16
+ require "clinical/contact"
17
+ require "clinical/location"
18
+
19
+ require "clinical/trial"
20
+
21
+ require "clinical/collection"
@@ -0,0 +1,48 @@
1
+ require "test_helper"
2
+
3
+ class Clinical::TrialTest < Test::Unit::TestCase
4
+ context "when finding based on a hash of conditions" do
5
+ setup do
6
+ register_response("/search?displayxml=true&start=1&recr=open", "open_set")
7
+ end
8
+
9
+ should "return a paginated list of trials" do
10
+ @trials = Clinical::Trial.find({:conditions => {:recruiting => true}})
11
+ assert_instance_of Clinical::Collection, @trials
12
+ end
13
+ end
14
+
15
+ context "a trial" do
16
+ setup do
17
+ @npi_id = "NPI5245"
18
+ register_response("/show/NPI5245?displayxml=true", "lupus_single")
19
+ @trial = Clinical::Trial.find_by_id(@npi_id)
20
+ end
21
+
22
+ should "have a status" do
23
+ assert_not_nil @trial.status
24
+ end
25
+
26
+ should "indicate whether the trial is open" do
27
+ assert_equal @trial.open?, @trial.status.open?
28
+ end
29
+
30
+ should "have a location" do
31
+ assert_not_nil @trial.locations
32
+ assert !@trial.locations.empty?
33
+ end
34
+
35
+ should "have a start date" do
36
+ assert_not_nil @trial.start_date
37
+ end
38
+
39
+ should "have a location with an address" do
40
+ assert !@trial.locations[0].address.nil?
41
+ end
42
+
43
+ should "have a study type" do
44
+ assert_not_nil @trial.study_type
45
+ end
46
+ end
47
+
48
+ end
@@ -0,0 +1,171 @@
1
+ HTTP/1.1 200 OK
2
+ Date: Sat, 27 Jun 2009 19:11:20 GMT
3
+ Set-Cookie: CTOpts=6ihzm6CLRiWguT0gEyUgzw-R98Ly0RGHhgE; Path=/ct2/
4
+ Expires: Sat, 27 Jun 2009 19:11:21 GMT
5
+ Content-Type: text/xml;charset=UTF-8
6
+ Content-Length: 7971
7
+ Set-Cookie: BIGipServerctgov-http-pool=290524802.22610.0000; path=/
8
+
9
+ <?xml version="1.0" encoding="UTF-8"?>
10
+ <clinical_study>
11
+ <required_header>
12
+ <download_date>Information obtained from ClinicalTrials.gov on June 26, 2009</download_date>
13
+ <link_text>Link to the current ClinicalTrials.gov record.</link_text>
14
+ <url>http://clinicaltrials.gov/show/NCT00001372</url>
15
+ </required_header>
16
+ <id_info>
17
+ <org_study_id>940066</org_study_id>
18
+ <secondary_id>94-AR-0066</secondary_id>
19
+ <nct_id>NCT00001372</nct_id>
20
+ </id_info>
21
+ <brief_title>Study of Systemic Lupus Erythematosus</brief_title>
22
+ <official_title>Studies of the Pathogenesis and Natural History of Systemic Lupus Erythematosus (SLE)</official_title>
23
+ <sponsors>
24
+ <lead_sponsor>
25
+ <agency>National Institute of Arthritis and Musculoskeletal and Skin Diseases (NIAMS)</agency>
26
+ </lead_sponsor>
27
+ </sponsors>
28
+ <source>National Institutes of Health Clinical Center (CC)</source>
29
+ <oversight_info>
30
+ <authority>United States: Federal Government</authority>
31
+ </oversight_info>
32
+ <brief_summary>
33
+ <textblock>
34
+ This protocol will evaluate patients with systemic lupus erythematosus (SLE) and their
35
+ relatives to learn more about how the disease develops and changes over time. It will also
36
+ study genetic factors that make a person susceptible to SLE.
37
+
38
+ Patients 10 years of age and older with known or suspected SLE and their relatives may be
39
+ eligible for this study. Patients will be evaluated with a medical history and physical
40
+ examination, blood and urine tests. Other procedures may include:
41
+
42
+ 1. Electrocardiogram
43
+
44
+ 2. 24-hour urine collection
45
+
46
+ 3. Imaging studies, such as chest and joint X-rays, magnetic resonance imaging (MRI) scans,
47
+ bone scans, and bone densitometry.
48
+
49
+ 4. Questionnaire about the degree of disease activity, and survey of risk factors for
50
+ disease complications.
51
+
52
+ 5. Apheresis-Collection of plasma (fluid portion of blood) or blood cells for analysis.
53
+ Whole blood is collected through a needle in an arm vein. The blood circulates through
54
+ a machine that separates it into its components. The required component (plasma or
55
+ cells) is removed and the rest of the blood is returned to the body through the same
56
+ needle or through a second needle in the other arm.
57
+
58
+ 6. Skin biopsy-Removal of a small skin sample for microscopic analysis. An area of skin is
59
+ numbed with an anesthetic and a small circular portion (about 1/4 inch in diameter) is
60
+ removed, using a sharp cookie cutter-type instrument.
61
+
62
+ 7. Kidney, bone marrow or other organ biopsy-Removal of a small sample of organ tissue.
63
+ These biopsies are done only if they can provide information useful in better
64
+ understanding the disease or making treatment decisions.
65
+
66
+ 8. Genetic studies-Collection of a blood sample for gene testing.
67
+
68
+ Patients will be followed at least once a year with a brief history and physical examination
69
+ and routine blood and urine tests. Some patients may be seen more often. Treatment
70
+ recommendations will be offered to patients' physicians, and patients who are eligible for
71
+ other research treatment studies will be invited to enroll.
72
+
73
+ Participating relatives of patients will fill out a brief medical history questionnaire and
74
+ provide a DNA sample (either a blood sample or tissue swab from the inside of the cheek) for
75
+ genetic testing.
76
+ </textblock>
77
+ </brief_summary>
78
+ <detailed_description>
79
+ <textblock>
80
+ This research protocol will evaluate subjects with systemic lupus erythematosus (SLE) and
81
+ their relatives to study the pathogenesis and natural history of the disease. Patients will
82
+ be evaluated by a history and physical examination and routine laboratory studies will be
83
+ obtained as needed to assess disease activity or complications of the disease and to monitor
84
+ for drug-related toxicities. Blood, skin or urine specimens may be requested for
85
+ laboratory-based research investigations. DNA will be isolated from eligible subjects for
86
+ genetic studies. Patients who are eligible for other research protocols will be offered the
87
+ opportunity to participate in these studies by signed informed consent. Any medical care
88
+ recommended or provided to the patient will be consistent with routine standards of practice
89
+ and provided in consultation with the patient's referring physician.
90
+ </textblock>
91
+ </detailed_description>
92
+ <overall_status>Recruiting</overall_status>
93
+ <start_date>February 1994</start_date>
94
+ <phase>N/A</phase>
95
+ <study_type>Observational</study_type>
96
+ <study_design>N/A</study_design>
97
+ <condition>Lupus Nephritis</condition>
98
+ <condition>Systemic Lupus Erythematosus</condition>
99
+ <eligibility>
100
+ <criteria>
101
+ <textblock>
102
+ - INCLUSION CRITERIA
103
+
104
+ SLE or suspected SLE established by ARA criteria.
105
+
106
+ Ability to give informed consent .
107
+
108
+ Adult and minor relatives (first and second degree) of individuals included in III-A-1
109
+ (only for genetic studies) .
110
+
111
+ Willingness of the patient's or minor relative's parents to give informed consent (only for
112
+ genetic studies).
113
+
114
+ Adult healthy volunteers (for punch biopsy of the skin and bone marrow biopsy).
115
+
116
+ EXCLUSION CRITERIA:
117
+
118
+ Concomitant medical problems which would confound the interpretation of studies gathered by
119
+ this protocol. Included in this is the presence of HIV in the blood if it interferes with
120
+ interpretation of some lupus studies.
121
+
122
+ Concomitant medical, surgical or other conditions for which inadequate facilities are
123
+ available to support their care at the NIH .
124
+ </textblock>
125
+ </criteria>
126
+ <gender>Both</gender>
127
+ <minimum_age>N/A</minimum_age>
128
+ <maximum_age>N/A</maximum_age>
129
+ <healthy_volunteers>Accepts Healthy Volunteers</healthy_volunteers>
130
+ </eligibility>
131
+ <overall_contact>
132
+ <last_name>Patient Recruitment and Public Liaison Office</last_name>
133
+ <phone>(800) 411-1222</phone>
134
+ <email>prpl@mail.cc.nih.gov</email>
135
+ </overall_contact>
136
+ <overall_contact_backup>
137
+ <last_name>TTY</last_name>
138
+ <phone>1-866-411-1010</phone>
139
+ </overall_contact_backup>
140
+ <location>
141
+ <facility>
142
+ <name>National Institutes of Health Clinical Center, 9000 Rockville Pike</name>
143
+ <address>
144
+ <city>Bethesda</city>
145
+ <state>Maryland</state>
146
+ <zip>20892</zip>
147
+ <country>United States</country>
148
+ </address>
149
+ </facility>
150
+ <status>Recruiting</status>
151
+ </location>
152
+ <link>
153
+ <url>http://clinicalstudies.info.nih.gov/detail/A_1994-AR-0066.html</url>
154
+ <description>NIH Clinical Center Detailed Web Page</description>
155
+ </link>
156
+ <reference>
157
+ <citation>Boumpas DT, Fessler BJ, Austin HA 3rd, Balow JE, Klippel JH, Lockshin MD. Systemic lupus erythematosus: emerging concepts. Part 2: Dermatologic and joint disease, the antiphospholipid antibody syndrome, pregnancy and hormonal therapy, morbidity and mortality, and pathogenesis. Ann Intern Med. 1995 Jul 1;123(1):42-53. Review.</citation>
158
+ <PMID>7762914</PMID>
159
+ </reference>
160
+ <reference>
161
+ <citation>Emlen W, Niebur J, Kadera R. Accelerated in vitro apoptosis of lymphocytes from patients with systemic lupus erythematosus. J Immunol. 1994 Apr 1;152(7):3685-92.</citation>
162
+ <PMID>8144943</PMID>
163
+ </reference>
164
+ <reference>
165
+ <citation>Casciola-Rosen LA, Anhalt G, Rosen A. Autoantigens targeted in systemic lupus erythematosus are clustered in two populations of surface structures on apoptotic keratinocytes. J Exp Med. 1994 Apr 1;179(4):1317-30.</citation>
166
+ <PMID>7511686</PMID>
167
+ </reference>
168
+ <verification_date>October 2008</verification_date>
169
+ <lastchanged_date>November 25, 2008</lastchanged_date>
170
+ <firstreceived_date>November 3, 1999</firstreceived_date>
171
+ </clinical_study>
@@ -0,0 +1,212 @@
1
+ HTTP/1.1 200 OK
2
+ Date: Fri, 26 Jun 2009 21:40:41 GMT
3
+ Set-Cookie: CTOpts=6ihzm6CLRiFiQRcyCyUgzw-R98LyNR4i-CE; Path=/ct2/
4
+ Expires: Fri, 26 Jun 2009 21:40:42 GMT
5
+ Content-Type: text/xml;charset=UTF-8
6
+ Content-Length: 9221
7
+ Set-Cookie: BIGipServerctgov-http-pool=189861506.22610.0000; path=/
8
+
9
+ <?xml version="1.0" encoding="UTF-8"?>
10
+ <search_results count="28928">
11
+ <query>( &quot;Recruiting&quot; OR &quot;Not yet recruiting&quot; OR &quot;Available&quot; ) [SUMMARY-STATUS]</query>
12
+ <clinical_study>
13
+ <order>1</order>
14
+ <score>0.9801</score>
15
+ <nct_id>NCT00004400</nct_id>
16
+ <url>http://ClinicalTrials.gov/show/NCT00004400</url>
17
+ <title>Phase II Randomized Study of Physiologic Testosterone Replacement in Premenopausal, HIV-Positive Women</title>
18
+ <status open="Y">Recruiting</status>
19
+ <condition_summary>HIV Infections; Cachexia</condition_summary>
20
+ <last_changed>June 23, 2005</last_changed>
21
+ </clinical_study>
22
+ <clinical_study>
23
+ <order>2</order>
24
+ <score>0.9801</score>
25
+ <nct_id>NCT00005100</nct_id>
26
+ <url>http://ClinicalTrials.gov/show/NCT00005100</url>
27
+ <title>Measurement of Outcome of Surgical Treatment in Patients With Acromegaly</title>
28
+ <status open="Y">Recruiting</status>
29
+ <condition_summary>Acromegaly</condition_summary>
30
+ <last_changed>June 23, 2005</last_changed>
31
+ </clinical_study>
32
+ <clinical_study>
33
+ <order>3</order>
34
+ <score>0.9801</score>
35
+ <nct_id>NCT00011700</nct_id>
36
+ <url>http://ClinicalTrials.gov/show/NCT00011700</url>
37
+ <title>Stachybotrys Induced Hemorrhage in the Developing Lung</title>
38
+ <status open="Y">Recruiting</status>
39
+ <condition_summary>Idiopathic Pulmonary Hemorrhage</condition_summary>
40
+ <last_changed>December 1, 2006</last_changed>
41
+ </clinical_study>
42
+ <clinical_study>
43
+ <order>4</order>
44
+ <score>0.9801</score>
45
+ <nct_id>NCT00041600</nct_id>
46
+ <url>http://ClinicalTrials.gov/show/NCT00041600</url>
47
+ <title>Human Epilepsy Genetics--Neuronal Migration Disorders Study</title>
48
+ <status open="Y">Recruiting</status>
49
+ <condition_summary>Epilepsy; Seizures; Cognition Disorders; Neuronal Migration Disorders</condition_summary>
50
+ <last_changed>February 3, 2009</last_changed>
51
+ </clinical_study>
52
+ <clinical_study>
53
+ <order>5</order>
54
+ <score>0.9801</score>
55
+ <nct_id>NCT00044200</nct_id>
56
+ <url>http://ClinicalTrials.gov/show/NCT00044200</url>
57
+ <title>Positron Emission Tomography (PET) to Study Brain Signaling</title>
58
+ <status open="Y">Recruiting</status>
59
+ <condition_summary>Healthy</condition_summary>
60
+ <last_changed>June 9, 2009</last_changed>
61
+ </clinical_study>
62
+ <clinical_study>
63
+ <order>6</order>
64
+ <score>0.9801</score>
65
+ <nct_id>NCT00050700</nct_id>
66
+ <url>http://ClinicalTrials.gov/show/NCT00050700</url>
67
+ <title>Brain Imaging in Depression</title>
68
+ <status open="Y">Recruiting</status>
69
+ <condition_summary>Depression; Bipolar Disorder</condition_summary>
70
+ <last_changed>June 9, 2009</last_changed>
71
+ </clinical_study>
72
+ <clinical_study>
73
+ <order>7</order>
74
+ <score>0.9801</score>
75
+ <nct_id>NCT00062400</nct_id>
76
+ <url>http://ClinicalTrials.gov/show/NCT00062400</url>
77
+ <title>Assessing Women's Attitudes About the Risk of Infertility Related to Adjuvant Therapy for Early Breast Cancer</title>
78
+ <status open="Y">Recruiting</status>
79
+ <condition_summary>Breast Cancer; Psychosocial Effects/Treatment; Sexual Dysfunction and Infertility; Sexuality and Reproductive Issues</condition_summary>
80
+ <last_changed>June 16, 2009</last_changed>
81
+ </clinical_study>
82
+ <clinical_study>
83
+ <order>8</order>
84
+ <score>0.9801</score>
85
+ <nct_id>NCT00083200</nct_id>
86
+ <url>http://ClinicalTrials.gov/show/NCT00083200</url>
87
+ <title>Two Dose Levels of Capecitabine With Docetaxel in Treating Women With Locally Advanced or Metastatic Breast Cancer That Has Not Responded to Previous Anthracycline-Based Chemotherapy</title>
88
+ <status open="Y">Recruiting</status>
89
+ <condition_summary>Breast Cancer</condition_summary>
90
+ <last_changed>February 26, 2009</last_changed>
91
+ </clinical_study>
92
+ <clinical_study>
93
+ <order>9</order>
94
+ <score>0.9801</score>
95
+ <nct_id>NCT00096200</nct_id>
96
+ <url>http://ClinicalTrials.gov/show/NCT00096200</url>
97
+ <title>Sorafenib With or Without Paclitaxel and Carboplatin in Treating Patients With Recurrent Ovarian Cancer, Primary Peritoneal Cancer, or Fallopian Tube Cancer</title>
98
+ <status open="Y">Recruiting</status>
99
+ <condition_summary>Fallopian Tube Cancer; Ovarian Cancer; Peritoneal Cavity Cancer</condition_summary>
100
+ <last_changed>May 5, 2009</last_changed>
101
+ </clinical_study>
102
+ <clinical_study>
103
+ <order>10</order>
104
+ <score>0.9801</score>
105
+ <nct_id>NCT00115700</nct_id>
106
+ <url>http://ClinicalTrials.gov/show/NCT00115700</url>
107
+ <title>Radiotherapy Versus Radiotherapy Plus Chemotherapy in Early Stage Follicular Lymphoma</title>
108
+ <status open="Y">Recruiting</status>
109
+ <condition_summary>Follicular Lymphoma</condition_summary>
110
+ <last_changed>May 6, 2009</last_changed>
111
+ </clinical_study>
112
+ <clinical_study>
113
+ <order>11</order>
114
+ <score>0.9801</score>
115
+ <nct_id>NCT00124800</nct_id>
116
+ <url>http://ClinicalTrials.gov/show/NCT00124800</url>
117
+ <title>The Effect of Tinnitus Retraining Therapy on Subjective and Objective Measures of Chronic Tinnitus</title>
118
+ <status open="Y">Recruiting</status>
119
+ <condition_summary>Tinnitus</condition_summary>
120
+ <last_changed>February 10, 2009</last_changed>
121
+ </clinical_study>
122
+ <clinical_study>
123
+ <order>12</order>
124
+ <score>0.9801</score>
125
+ <nct_id>NCT00136500</nct_id>
126
+ <url>http://ClinicalTrials.gov/show/NCT00136500</url>
127
+ <title>Familial Amyotrophic Lateral Sclerosis (FALS) Study</title>
128
+ <status open="Y">Recruiting</status>
129
+ <condition_summary>Amyotrophic Lateral Sclerosis</condition_summary>
130
+ <last_changed>February 16, 2009</last_changed>
131
+ </clinical_study>
132
+ <clinical_study>
133
+ <order>13</order>
134
+ <score>0.9801</score>
135
+ <nct_id>NCT00135200</nct_id>
136
+ <url>http://ClinicalTrials.gov/show/NCT00135200</url>
137
+ <title>Clinical Trial of Consolidation Treatment With Iodine I 131 Tositumomab for Multiple Myeloma</title>
138
+ <status open="Y">Recruiting</status>
139
+ <condition_summary>Multiple Myeloma</condition_summary>
140
+ <last_changed>March 7, 2009</last_changed>
141
+ </clinical_study>
142
+ <clinical_study>
143
+ <order>14</order>
144
+ <score>0.9801</score>
145
+ <nct_id>NCT00153400</nct_id>
146
+ <url>http://ClinicalTrials.gov/show/NCT00153400</url>
147
+ <title>California WISEWOMAN Project</title>
148
+ <status open="Y">Not yet recruiting</status>
149
+ <condition_summary>Cardiovascular Diseases; Chronic Diseases</condition_summary>
150
+ <last_changed>February 10, 2006</last_changed>
151
+ </clinical_study>
152
+ <clinical_study>
153
+ <order>15</order>
154
+ <score>0.9801</score>
155
+ <nct_id>NCT00157300</nct_id>
156
+ <url>http://ClinicalTrials.gov/show/NCT00157300</url>
157
+ <title>PROTECT: Prospective Trial on Erythropoietin in Clinical Transplantation</title>
158
+ <status open="Y">Recruiting</status>
159
+ <condition_summary>Patients Receiving a Kidney From a Non-Heart-Beating Donor</condition_summary>
160
+ <last_changed>September 19, 2007</last_changed>
161
+ </clinical_study>
162
+ <clinical_study>
163
+ <order>16</order>
164
+ <score>0.9801</score>
165
+ <nct_id>NCT00162500</nct_id>
166
+ <url>http://ClinicalTrials.gov/show/NCT00162500</url>
167
+ <title>A Novel Vaccine for the Treatment of MUC1-Expressing Tumor Malignancies</title>
168
+ <status open="Y">Not yet recruiting</status>
169
+ <condition_summary>Multiple Myeloma; Tumors</condition_summary>
170
+ <last_changed>January 9, 2007</last_changed>
171
+ </clinical_study>
172
+ <clinical_study>
173
+ <order>17</order>
174
+ <score>0.9801</score>
175
+ <nct_id>NCT00172900</nct_id>
176
+ <url>http://ClinicalTrials.gov/show/NCT00172900</url>
177
+ <title>MRS and DTI of White Matter in Alzheimer's Disease</title>
178
+ <status open="Y">Recruiting</status>
179
+ <condition_summary>Alzheimer's Disease; Vascular Dementia</condition_summary>
180
+ <last_changed>December 20, 2005</last_changed>
181
+ </clinical_study>
182
+ <clinical_study>
183
+ <order>18</order>
184
+ <score>0.9801</score>
185
+ <nct_id>NCT00167700</nct_id>
186
+ <url>http://ClinicalTrials.gov/show/NCT00167700</url>
187
+ <title>The Effects of Maternal Nutrition During Pregnancy and Breast Feeding on the Risk of Allergic Disease in Child</title>
188
+ <status open="Y">Recruiting</status>
189
+ <condition_summary>Atopic Eczema; Rhinitis; Asthma</condition_summary>
190
+ <last_changed>June 9, 2008</last_changed>
191
+ </clinical_study>
192
+ <clinical_study>
193
+ <order>19</order>
194
+ <score>0.9801</score>
195
+ <nct_id>NCT00179400</nct_id>
196
+ <url>http://ClinicalTrials.gov/show/NCT00179400</url>
197
+ <title>Insulin Action in Individuals With Type 2 Diabetes by Natural Fatty Acids or the Medication Pioglitazone</title>
198
+ <status open="Y">Recruiting</status>
199
+ <condition_summary>Type 2 Diabetes Mellitus</condition_summary>
200
+ <last_changed>September 13, 2005</last_changed>
201
+ </clinical_study>
202
+ <clinical_study>
203
+ <order>20</order>
204
+ <score>0.9801</score>
205
+ <nct_id>NCT00182000</nct_id>
206
+ <url>http://ClinicalTrials.gov/show/NCT00182000</url>
207
+ <title>Effectiveness of D-Cycloserine as an Aid to Enhance Learning for Individuals With OCD Receiving Behavior Therapy</title>
208
+ <status open="Y">Recruiting</status>
209
+ <condition_summary>Obsessive-Compulsive Disorder</condition_summary>
210
+ <last_changed>September 7, 2007</last_changed>
211
+ </clinical_study>
212
+ </search_results>
@@ -0,0 +1,23 @@
1
+ require 'rubygems'
2
+ require 'test/unit'
3
+ require 'shoulda'
4
+ require 'fakeweb'
5
+
6
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
7
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
8
+ require 'clinical'
9
+
10
+ begin require "redgreen" rescue Exceptions; end
11
+
12
+ FakeWeb.allow_net_connect = false
13
+
14
+ class Test::Unit::TestCase
15
+ def register_response(path, fixture)
16
+ FakeWeb.register_uri("http://clinicaltrials.gov:80#{path}",
17
+ :response => xml_fixture_path(fixture))
18
+ end
19
+
20
+ def xml_fixture_path(fixture)
21
+ File.join(File.dirname(__FILE__), "fixtures", "#{fixture}.xml")
22
+ end
23
+ end
metadata ADDED
@@ -0,0 +1,106 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dpickett-clinical
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Dan Pickett
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-06-28 00:00:00 -07:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: jnunemaker-httparty
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 0.4.3
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: jnunemaker-happymapper
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.2.5
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: mislav-will_paginate
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 2.3.11
44
+ version:
45
+ description:
46
+ email: dpickett@enlightsolutions.com
47
+ executables: []
48
+
49
+ extensions: []
50
+
51
+ extra_rdoc_files:
52
+ - LICENSE
53
+ - README.rdoc
54
+ files:
55
+ - .document
56
+ - .gitignore
57
+ - LICENSE
58
+ - README.rdoc
59
+ - Rakefile
60
+ - VERSION
61
+ - clinical.gemspec
62
+ - features/finding_clinical_trials.feature
63
+ - features/step_definitions/clinical_steps.rb
64
+ - features/support/env.rb
65
+ - lib/clinical.rb
66
+ - lib/clinical/collection.rb
67
+ - lib/clinical/extensions.rb
68
+ - lib/clinical/intervention.rb
69
+ - lib/clinical/outcome.rb
70
+ - lib/clinical/primary_outcome.rb
71
+ - lib/clinical/secondary_outcome.rb
72
+ - lib/clinical/status.rb
73
+ - lib/clinical/trial.rb
74
+ - test/clinical/trial_test.rb
75
+ - test/fixtures/lupus_single.xml
76
+ - test/fixtures/open_set.xml
77
+ - test/test_helper.rb
78
+ has_rdoc: true
79
+ homepage: http://github.com/dpickett/clinical
80
+ post_install_message:
81
+ rdoc_options:
82
+ - --charset=UTF-8
83
+ require_paths:
84
+ - lib
85
+ required_ruby_version: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: "0"
90
+ version:
91
+ required_rubygems_version: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: "0"
96
+ version:
97
+ requirements: []
98
+
99
+ rubyforge_project:
100
+ rubygems_version: 1.2.0
101
+ signing_key:
102
+ specification_version: 3
103
+ summary: a library for accessing data from ClinicalTrials.gov
104
+ test_files:
105
+ - test/clinical/trial_test.rb
106
+ - test/test_helper.rb