qpid 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/.gemtest +0 -0
- data/lib/qpid.rb +3 -3
- data/test/content/3000888_report_pat_4313382_1.xml +58 -0
- data/test/content/3000888_report_rad_63580395.xml +86 -0
- data/test/content/3000888_search_type.xml +1 -0
- data/test/content/3000888_search_type_fromdate.xml +1 -0
- data/test/content/3000888_search_type_rad.xml +17 -0
- data/test/mock_http_client.rb +113 -0
- data/test/qpid.yml +6 -0
- data/test/qpid_test_data.yml +21 -0
- metadata +107 -86
- data/script/destroy +0 -14
- data/script/generate +0 -14
data/.gemtest
ADDED
File without changes
|
data/lib/qpid.rb
CHANGED
@@ -6,7 +6,7 @@ require 'cgi'
|
|
6
6
|
require 'happymapper'
|
7
7
|
|
8
8
|
class Qpid
|
9
|
-
VERSION = '0.1.
|
9
|
+
VERSION = '0.1.3'
|
10
10
|
|
11
11
|
class SearchItem
|
12
12
|
include HappyMapper
|
@@ -82,7 +82,7 @@ class Qpid
|
|
82
82
|
case xml = client.get_content(function_uri(:updatestatus, mrn))
|
83
83
|
when /<message>NO PATIENT<\/message>/
|
84
84
|
raise Qpid::NoPatientError.new(mrn)
|
85
|
-
when /<message>NEW<\/message>/
|
85
|
+
when /<message>(?:NEW|UNKNOWN STATUS)<\/message>/
|
86
86
|
nil
|
87
87
|
when /<lastupdate>(.+)<\/lastupdate>/
|
88
88
|
begin
|
@@ -183,4 +183,4 @@ class Qpid
|
|
183
183
|
def self.ondate(date)
|
184
184
|
todate(date) + " AND " + fromdate(date)
|
185
185
|
end
|
186
|
-
end
|
186
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
<table id="report"><tr><td><pre>Accession Number: BS07W17636 Report Status: Final
|
2
|
+
Type: Surgical Pathology
|
3
|
+
Specimen Type: LEFT THIGH MASS
|
4
|
+
Procedure Date:
|
5
|
+
Ordering Provider: GAMZE AYATA M.D.
|
6
|
+
|
7
|
+
CASE: BS-07-W17636
|
8
|
+
PATIENT: PETER RABBITSKI
|
9
|
+
|
10
|
+
|
11
|
+
Resident: Peter M Sadow, M.D., Ph.D.
|
12
|
+
Pathologist: Christopher D. M. Fletcher, M.D. FRCPath
|
13
|
+
|
14
|
+
PATHOLOGIC DIAGNOSIS:
|
15
|
+
|
16
|
+
CONSULT SLIDES FROM UMASS MEMORIAL, WORCESTER, MA
|
17
|
+
|
18
|
+
A. LEFT THIGH MASS BIOPSY (S07-16978):
|
19
|
+
|
20
|
+
HIGH GRADE SPINDLE CELL SARCOMA, likely myofibroblastic in type.
|
21
|
+
|
22
|
+
|
23
|
+
Immunohistochemistry performed at BWH demonstrates the following staining
|
24
|
+
profile in tumor cells:
|
25
|
+
|
26
|
+
Positive: Desmin, SMA (multifocal)
|
27
|
+
Negative: GFAP, S100, CD34, Fast Myosin, Myf4
|
28
|
+
|
29
|
+
(See letter)
|
30
|
+
|
31
|
+
|
32
|
+
CLINICAL DATA:
|
33
|
+
History: 51 year-old male with a large mass in the left thigh.
|
34
|
+
|
35
|
+
TISSUE SUBMITTED:
|
36
|
+
Consult slides.
|
37
|
+
|
38
|
+
GROSS DESCRIPTION:
|
39
|
+
Received from UMASS MEMORIAL, THREE BIOTECH, ONE INNOVATION DRIVE, WORCESTER,
|
40
|
+
MA, 01655, are four (4) slides and one (1) block.
|
41
|
+
|
42
|
+
One (1) block is labeled \"S07-16978\" and sublabeled \"B\" and four (4 HE) stained
|
43
|
+
slides are labeled \"S07-16978\" and sublabeled \"FS1\", \"A\", \"B\" and \"D\" which
|
44
|
+
correspond to left thigh mass performed on 4/20/2007, according to the
|
45
|
+
accompanying pathology report bearing the patient\"s name and a letter from Dr.
|
46
|
+
Gamze Ayata.
|
47
|
+
|
48
|
+
|
49
|
+
|
50
|
+
By his/her signature below, the senior physician certifies that he/she
|
51
|
+
personally conducted a microscopic examination (\"gross only\" exam if so stated)
|
52
|
+
of the described specimen(s) and rendered or confirmed the diagnosis(es)
|
53
|
+
related thereto.
|
54
|
+
|
55
|
+
Final Diagnosis by Christopher D. M. Fletcher M.D. FRCPath, Electronically
|
56
|
+
signed on 4/30/2007
|
57
|
+
|
58
|
+
</pre></td></tr></table>
|
@@ -0,0 +1,86 @@
|
|
1
|
+
<table id="report"><tr><th class="report_header">CDR Lab: RAD - CTBxRetper 07/01/2010</th></tr><tr><th>Site: MGH Acc: 301654345 Status: Final</th></tr><a href= "http://radamicas1.mgh.harvard.edu/servlet/com.amicas.servlet.integration.EmbeddedGateway?AN=301654345"> Image </a><tr><td><pre>Exam Number: 301654345 Report Status: Final
|
2
|
+
Type: CTBxRetper
|
3
|
+
Date/Time: 07/01/2010 10:41
|
4
|
+
Exam Code: CTBXRE
|
5
|
+
Ordering Provider: Temel, Jennifer S MD
|
6
|
+
|
7
|
+
HISTORY:
|
8
|
+
SEE HX - LUNG CA WITH NEW RP SOFT TISSUE
|
9
|
+
|
10
|
+
|
11
|
+
REPORT PROCEDURE:
|
12
|
+
CT-Guided Retroperitoneal Soft Tissue Biopsy
|
13
|
+
|
14
|
+
INDICATION: T2N1M0 stage IIB NSCLC s/p RM and RL bilobectomy, s/p 4
|
15
|
+
cycles of adjuvant chemotherapy. Follow-up PET/CT dated 6/16/10
|
16
|
+
revealed a PET positive retroperitoneal soft tissue new from CT of
|
17
|
+
2009.
|
18
|
+
Allergies: Penicillin
|
19
|
+
Patient held 81 mg Aspirin approximately 10 days before the procedure.
|
20
|
+
|
21
|
+
OPERATORS:
|
22
|
+
FELLOW: Dr. Nisha Sainani
|
23
|
+
ATTENDING: Dr. Ronald Arellano was present for the entire procedure
|
24
|
+
|
25
|
+
CONSENT:
|
26
|
+
The patient was informed of the nature of the proposed procedure.
|
27
|
+
The purposes, alternatives, risks, and benefits were explained and
|
28
|
+
discussed. All questions were answered and written consent was
|
29
|
+
obtained.
|
30
|
+
|
31
|
+
ANESTHESIA: Intravenous conscious sedation was administered by
|
32
|
+
radiology nursing. Continuous hemodynamic and respiratory monitoring
|
33
|
+
was performed, including the use of pulse oximetry.
|
34
|
+
|
35
|
+
START TIME: 9:25 am
|
36
|
+
STOP TIME: 10:45 am
|
37
|
+
|
38
|
+
MEDICATIONS:
|
39
|
+
Fentanyl (mcg) IV 200 mcg
|
40
|
+
Versed (mg) IV 4 mg
|
41
|
+
1% Local Lidocaine
|
42
|
+
|
43
|
+
SUPPLIES:
|
44
|
+
22 G x 20 cm Chiba needle (Cook)
|
45
|
+
18 G x 20 cm Temno (CardinalHealth) co-axial biopsy needle set
|
46
|
+
|
47
|
+
INFECTION CONTROL: All elements of maximal sterile barrier technique
|
48
|
+
followed including: cap, mask, sterile gown, sterile gloves, a large
|
49
|
+
sterile sheet, hand hygiene, 2% chlorhexidine for cutaneous
|
50
|
+
antisepsis (or acceptable alternative antiseptics, per current
|
51
|
+
guideline).
|
52
|
+
|
53
|
+
PROCEDURE:
|
54
|
+
The patient was placed in right lateral decubitus position on the CT
|
55
|
+
table. A "timeout" was performed before the start of the procedure
|
56
|
+
with the patient on the table to verify the correct patient,
|
57
|
+
procedure and position. Preliminary axial CT images were obtained
|
58
|
+
with radioopaque cutaneous grid. The retroperitoneal peri-aortic
|
59
|
+
soft tissue was localized. After assessing the most direct access to
|
60
|
+
the lesion from the left side, the patient's skin was prepped and
|
61
|
+
draped in the usual sterile fashion. 1% Lidocaine local anesthetic
|
62
|
+
was infiltrated in the skin and subcutaneous tissues. Subsequently,
|
63
|
+
a 17 gauge introducer needle was advanced through left
|
64
|
+
retroperitoneum into the lesion. Fine needle aspirations (22 gauge)
|
65
|
+
and and 18 gauge core biopsy samples (three) of the mass obtained and
|
66
|
+
were sent for cytology and surgical pathology analysis.
|
67
|
+
|
68
|
+
Postbiopsy images demonstrated no hemorrhage and few pockets of air
|
69
|
+
in the retroperitoneum.
|
70
|
+
|
71
|
+
The patient tolerated the procedure well and was transported to the
|
72
|
+
recovery area in stable condition.
|
73
|
+
|
74
|
+
|
75
|
+
IMPRESSION:
|
76
|
+
CT GUIDED BIOPSY OF RETROPERITONEAL SOFT TISSUE.
|
77
|
+
|
78
|
+
PLAN:
|
79
|
+
Follow up on biopsy results.
|
80
|
+
|
81
|
+
|
82
|
+
RADIOLOGISTS: SIGNATURES:
|
83
|
+
Sainani, Nisha I MBBS
|
84
|
+
Arellano, Ronald S Attending Arellano, Ronald S Attending
|
85
|
+
|
86
|
+
</pre></td></tr></table>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version='1.0'?><searchlist><mrn>3000888</mrn><request>type:PAT</request><query><search>{type:PAT}</search><searchitem><type>PAT</type><MID>4417067</MID><Scheduledate>2007-07-17</Scheduledate><site></site><status></status><desc><![CDATA[Surgical Pathology]]></desc><context><![CDATA[]]></context></searchitem><searchitem><type>PAT</type><MID>4318532</MID><Scheduledate>2007-04-26</Scheduledate><site></site><status></status><desc><![CDATA[Surgical Pathology]]></desc><context><![CDATA[]]></context></searchitem><searchitem><type>PAT</type><MID>4313382</MID><Scheduledate>2007-04-23</Scheduledate><site></site><status></status><desc><![CDATA[Surgical Pathology]]></desc><context><![CDATA[]]></context></searchitem></query></searchlist>
|
@@ -0,0 +1 @@
|
|
1
|
+
<?xml version='1.0'?><searchlist><request>type:PAT and fromdate:\"07/01/2007\"</request><query><search>({type:PAT} AND {fromdate:07/01/2007})</search><searchitem><type>PAT</type><MRN>3000888</MRN><MID>4417067</MID><Scheduledate>2007-07-17</Scheduledate><site></site><status></status><desc><![CDATA[Surgical Pathology]]></desc><context><![CDATA[]]></context></searchitem></query></searchlist>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<?xml version='1.0'?>
|
2
|
+
<searchlist>
|
3
|
+
<mrn>3000888</mrn>
|
4
|
+
<request>type:RAD</request>
|
5
|
+
<query>
|
6
|
+
<search>{type:RAD}</search>
|
7
|
+
<searchitem>
|
8
|
+
<type>RAD</type>
|
9
|
+
<MID>63580395</MID>
|
10
|
+
<Scheduledate>2010-07-01</Scheduledate>
|
11
|
+
<site></site>
|
12
|
+
<status></status>
|
13
|
+
<desc><![CDATA[CTBxRetper]]></desc>
|
14
|
+
<context><![CDATA[]]></context>
|
15
|
+
</searchitem>
|
16
|
+
</query>
|
17
|
+
</searchlist>
|
@@ -0,0 +1,113 @@
|
|
1
|
+
require 'cgi'
|
2
|
+
require 'yaml'
|
3
|
+
require 'logger'
|
4
|
+
require 'date'
|
5
|
+
require 'active_support'
|
6
|
+
require 'fake_web'
|
7
|
+
|
8
|
+
class MockHttpClient
|
9
|
+
attr_accessor :data, :logger, :username, :password, :next_response_nil
|
10
|
+
attr_reader :updatetimes, :delays, :reload_times
|
11
|
+
|
12
|
+
FakeWeb.allow_net_connect = false
|
13
|
+
|
14
|
+
def initialize(yaml_file, logger = nil)
|
15
|
+
self.logger = logger || Logger.new(STDERR)
|
16
|
+
config = YAML.load_file(yaml_file)
|
17
|
+
config[:content].each do |item|
|
18
|
+
content = File.open(File.join(File.dirname(__FILE__), "content", item[:content])) do |f|
|
19
|
+
f.read
|
20
|
+
end
|
21
|
+
self.logger.info("Setting up test URI #{item[:url]}")
|
22
|
+
FakeWeb.register_uri(:get, item[:url], :body => content)
|
23
|
+
end
|
24
|
+
@updatetimes = {}
|
25
|
+
@reload_times = {}
|
26
|
+
@delays = {}
|
27
|
+
config[:patients].each_pair do |mrn, times|
|
28
|
+
@updatetimes[mrn] = DateTime.parse(times[:updatetime])
|
29
|
+
@delays[mrn] = times[:delay]
|
30
|
+
end
|
31
|
+
yield self if block_given?
|
32
|
+
self
|
33
|
+
end
|
34
|
+
|
35
|
+
def set_auth(foo, username, password)
|
36
|
+
logger.info("Setting username and password, username is \"#{username}\"")
|
37
|
+
self.username = username
|
38
|
+
self.password = password
|
39
|
+
self
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.parse_uri(uri)
|
43
|
+
uri = uri.respond_to?(:query) ? uri : URI::parse(uri)
|
44
|
+
terms = Hash.new(nil)
|
45
|
+
uri.query.split('&').each do |el|
|
46
|
+
el =~ /^(.+)=(.+)$/
|
47
|
+
terms[$1] = CGI.unescape($2)
|
48
|
+
end
|
49
|
+
terms
|
50
|
+
end
|
51
|
+
|
52
|
+
def get_content(uri)
|
53
|
+
uri = uri.respond_to?(:host) ? uri : URI::parse(uri)
|
54
|
+
logger.info("Getting content for URI [#{uri.to_s}]")
|
55
|
+
req = MockHttpClient.parse_uri(uri)
|
56
|
+
raise "Must specify a USER in a QPID URI (got [#{uri.to_s}])" unless req["USER"]
|
57
|
+
raise "Must specify a MRN in a QPID URI (got [#{uri.to_s}])" unless req["MRN"]
|
58
|
+
|
59
|
+
# Check if we're giving junk next
|
60
|
+
if next_response_nil && next_response_nil > 0
|
61
|
+
logger.warn "Giving null response (#{next_response_nil - 1} left)"
|
62
|
+
self.next_response_nil = next_response_nil - 1
|
63
|
+
return nil
|
64
|
+
end
|
65
|
+
|
66
|
+
# Check to see if we know about this patient
|
67
|
+
unless updatetimes[req["MRN"]]
|
68
|
+
return no_patient_response
|
69
|
+
end
|
70
|
+
|
71
|
+
# Otherwise, figure out what we're doing
|
72
|
+
case req["function"]
|
73
|
+
when "updatestatus"
|
74
|
+
updatestatus_response(req["MRN"])
|
75
|
+
when "reload"
|
76
|
+
status = "UPDATING"
|
77
|
+
delay = delays[req["MRN"]] || 5
|
78
|
+
if reload_times[req["MRN"]]
|
79
|
+
if DateTime.now > reload_times[req["MRN"]].since(delay)
|
80
|
+
updatetimes[req["MRN"]] = reload_times[req["MRN"]].since(delay)
|
81
|
+
reload_times.delete(req["MRN"])
|
82
|
+
status = "OK"
|
83
|
+
end
|
84
|
+
else
|
85
|
+
reload_times[req["MRN"]] = DateTime.now
|
86
|
+
end
|
87
|
+
updatestatus_response(req["MRN"], status)
|
88
|
+
when "search"
|
89
|
+
raise "Tried to use the search function without a search parameter [#{uri.to_s}]" unless req["search"]
|
90
|
+
Net::HTTP.get(uri)
|
91
|
+
when "report"
|
92
|
+
raise "Tried to use the report function without a type parameter" unless req["type"]
|
93
|
+
raise "Tried to use the report function without a MID parameter" unless req["MID"]
|
94
|
+
Net::HTTP.get(uri)
|
95
|
+
else
|
96
|
+
raise "Got an apparently invalid QPID function \"#{req.function}\" [#{uri.to_s}]"
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
def updatestatus_response(mrn, status = nil)
|
101
|
+
if updatetime = updatetimes[mrn]
|
102
|
+
hours_ago = (DateTime.now - updatetime).to_f * 24.0
|
103
|
+
status ||= (hours_ago < 1) ? "OK" : "STALE"
|
104
|
+
"<updatestatus><lastupdate>#{updatetime.strftime("%Y-%m-%dT%H:%M:%S")}</lastupdate><message>#{status}</message></updatestatus>"
|
105
|
+
else
|
106
|
+
no_patient_response
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
def no_patient_response
|
111
|
+
"<updatestatus><message>NO PATIENT</message></updatestatus>"
|
112
|
+
end
|
113
|
+
end
|
data/test/qpid.yml
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
---
|
2
|
+
:patients:
|
3
|
+
"3000888":
|
4
|
+
:updatetime: 2010-06-12 12:15:23 0
|
5
|
+
:delay: 3
|
6
|
+
"1358881":
|
7
|
+
:updatetime: 2010-07-15 13:15:55 0
|
8
|
+
:delay: 2
|
9
|
+
:content:
|
10
|
+
- :url: http://qpid.example.org/path/to/servlet?xml=1&search=type%3APAT&function=search&MRN=3000888&USER=realuser
|
11
|
+
:content: 3000888_search_type.xml
|
12
|
+
- :url: http://qpid.example.org/path/to/servlet?xml=1&search=type%3ARAD&function=search&MRN=3000888&USER=realuser
|
13
|
+
:content: 3000888_search_type_rad.xml
|
14
|
+
- :url: http://qpid.example.org/path/to/servlet?xml=1&search=type%3APAT+and+fromdate%3A%2207%2F01%2F2007%22&function=search&MRN=3000888&USER=realuser
|
15
|
+
:content: 3000888_search_type_fromdate.xml
|
16
|
+
- :url: http://qpid.example.org/path/to/servlet?type=PAT&xml=1&function=report&MID=4417067&MRN=3000888&USER=realuser
|
17
|
+
:content: 3000888_report_pat_4313382_1.xml
|
18
|
+
- :url: http://qpid.example.org/path/to/servlet?type=PAT&xml=1&function=report&MID=4313382&MRN=3000888&USER=realuser
|
19
|
+
:content: 3000888_report_pat_4313382_1.xml
|
20
|
+
- :url: http://qpid.example.org/path/to/servlet?type=RAD&xml=1&function=report&MID=63580395&MRN=3000888&USER=realuser
|
21
|
+
:content: 3000888_report_rad_63580395.xml
|
metadata
CHANGED
@@ -1,128 +1,149 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: qpid
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 1
|
9
|
-
- 2
|
10
|
-
version: 0.1.2
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.3
|
5
|
+
prerelease:
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
13
|
-
- Tarik K. Alkasab
|
7
|
+
authors:
|
8
|
+
- Tarik K. Alkasab, MD, PhD
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-10-03 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
22
15
|
name: happymapper
|
23
|
-
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
25
17
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
hash: 19
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
- 3
|
33
|
-
- 0
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
34
21
|
version: 0.3.0
|
35
22
|
type: :runtime
|
36
|
-
version_requirements: *id001
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: httpclient
|
39
23
|
prerelease: false
|
40
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 0.3.0
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: httpclient
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
41
33
|
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
hash: 119
|
46
|
-
segments:
|
47
|
-
- 2
|
48
|
-
- 1
|
49
|
-
- 5
|
50
|
-
- 2
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
51
37
|
version: 2.1.5.2
|
52
38
|
type: :runtime
|
53
|
-
version_requirements: *id002
|
54
|
-
- !ruby/object:Gem::Dependency
|
55
|
-
name: hoe
|
56
39
|
prerelease: false
|
57
|
-
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 2.1.5.2
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rdoc
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
58
49
|
none: false
|
59
|
-
requirements:
|
60
|
-
- -
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
|
63
|
-
segments:
|
64
|
-
- 2
|
65
|
-
- 3
|
66
|
-
- 3
|
67
|
-
version: 2.3.3
|
50
|
+
requirements:
|
51
|
+
- - ~>
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '3.10'
|
68
54
|
type: :development
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.10'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: newgem
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 1.5.3
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 1.5.3
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: hoe
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ~>
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '3.1'
|
86
|
+
type: :development
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '3.1'
|
94
|
+
description: Interface to QPID, the Queriable Patient Inference Dossier system.
|
95
|
+
email:
|
96
|
+
- talkasab@partners.org
|
73
97
|
executables: []
|
74
|
-
|
75
98
|
extensions: []
|
76
|
-
|
77
|
-
extra_rdoc_files:
|
99
|
+
extra_rdoc_files:
|
78
100
|
- History.txt
|
79
101
|
- Manifest.txt
|
80
|
-
|
102
|
+
- README.rdoc
|
103
|
+
files:
|
81
104
|
- History.txt
|
82
105
|
- Manifest.txt
|
83
106
|
- README.rdoc
|
84
107
|
- Rakefile
|
85
108
|
- lib/qpid.rb
|
86
109
|
- script/console
|
87
|
-
- script/destroy
|
88
|
-
- script/generate
|
89
110
|
- test/test_helper.rb
|
90
111
|
- test/test_qpid.rb
|
91
|
-
|
112
|
+
- test/content/3000888_report_pat_4313382_1.xml
|
113
|
+
- test/content/3000888_report_rad_63580395.xml
|
114
|
+
- test/content/3000888_search_type.xml
|
115
|
+
- test/content/3000888_search_type_fromdate.xml
|
116
|
+
- test/content/3000888_search_type_rad.xml
|
117
|
+
- test/mock_http_client.rb
|
118
|
+
- test/qpid.yml
|
119
|
+
- test/qpid_test_data.yml
|
120
|
+
- .gemtest
|
92
121
|
homepage: http://github.com/talkasab/qpid
|
93
122
|
licenses: []
|
94
|
-
|
95
123
|
post_install_message:
|
96
|
-
rdoc_options:
|
124
|
+
rdoc_options:
|
97
125
|
- --main
|
98
126
|
- README.rdoc
|
99
|
-
require_paths:
|
127
|
+
require_paths:
|
100
128
|
- lib
|
101
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
129
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
102
130
|
none: false
|
103
|
-
requirements:
|
104
|
-
- -
|
105
|
-
- !ruby/object:Gem::Version
|
106
|
-
|
107
|
-
|
108
|
-
- 0
|
109
|
-
version: "0"
|
110
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
131
|
+
requirements:
|
132
|
+
- - ! '>='
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: '0'
|
135
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
111
136
|
none: false
|
112
|
-
requirements:
|
113
|
-
- -
|
114
|
-
- !ruby/object:Gem::Version
|
115
|
-
|
116
|
-
segments:
|
117
|
-
- 0
|
118
|
-
version: "0"
|
137
|
+
requirements:
|
138
|
+
- - ! '>='
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
version: '0'
|
119
141
|
requirements: []
|
120
|
-
|
121
142
|
rubyforge_project: qpid
|
122
|
-
rubygems_version: 1.
|
143
|
+
rubygems_version: 1.8.24
|
123
144
|
signing_key:
|
124
145
|
specification_version: 3
|
125
|
-
summary: Interface to
|
126
|
-
test_files:
|
146
|
+
summary: Interface to QPID, the Queriable Patient Inference Dossier system.
|
147
|
+
test_files:
|
127
148
|
- test/test_helper.rb
|
128
149
|
- test/test_qpid.rb
|
data/script/destroy
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
3
|
-
|
4
|
-
begin
|
5
|
-
require 'rubigen'
|
6
|
-
rescue LoadError
|
7
|
-
require 'rubygems'
|
8
|
-
require 'rubigen'
|
9
|
-
end
|
10
|
-
require 'rubigen/scripts/destroy'
|
11
|
-
|
12
|
-
ARGV.shift if ['--help', '-h'].include?(ARGV[0])
|
13
|
-
RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
|
14
|
-
RubiGen::Scripts::Destroy.new.run(ARGV)
|
data/script/generate
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
3
|
-
|
4
|
-
begin
|
5
|
-
require 'rubigen'
|
6
|
-
rescue LoadError
|
7
|
-
require 'rubygems'
|
8
|
-
require 'rubigen'
|
9
|
-
end
|
10
|
-
require 'rubigen/scripts/generate'
|
11
|
-
|
12
|
-
ARGV.shift if ['--help', '-h'].include?(ARGV[0])
|
13
|
-
RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
|
14
|
-
RubiGen::Scripts::Generate.new.run(ARGV)
|