caruby-tissue 1.3.1 → 1.3.2
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +4 -0
- data/README.md +6 -0
- data/lib/catissue/annotation/annotation_class.rb +1 -1
- data/lib/catissue/cli/migrate.rb +1 -0
- data/lib/catissue/domain/container.rb +13 -8
- data/lib/catissue/domain/specimen.rb +9 -3
- data/lib/catissue/domain/specimen_event_parameters.rb +1 -8
- data/lib/catissue/domain/specimen_requirement.rb +1 -1
- data/lib/catissue/domain/storage_container.rb +4 -3
- data/lib/catissue/domain/uniquify.rb +82 -0
- data/lib/catissue/migration/migrator.rb +15 -7
- data/lib/catissue/migration/uniquify.rb +2 -111
- data/lib/catissue/util/position.rb +14 -2
- data/lib/catissue/version.rb +1 -1
- data/test/fixtures/catissue/domain/conf/catissue_override.yaml +9 -0
- data/test/fixtures/catissue/extract/conf/scg_extract.yaml +3 -0
- data/test/fixtures/catissue/extract/conf/scg_fields.yaml +3 -0
- data/test/fixtures/catissue/extract/conf/spc_extract.yaml +3 -0
- data/test/fixtures/catissue/extract/conf/spc_fields.yaml +4 -0
- data/test/fixtures/lib/catissue/defaults_test_fixture.rb +202 -0
- data/test/lib/catissue/database/controlled_values_test.rb +47 -0
- data/test/lib/catissue/database/database_test.rb +28 -0
- data/test/lib/catissue/domain/address_test.rb +53 -0
- data/test/lib/catissue/domain/base_haemotology_pathology_test.rb +25 -0
- data/test/lib/catissue/domain/ca_tissue_test_defaults_test.rb +27 -0
- data/test/lib/catissue/domain/capacity_test.rb +12 -0
- data/test/lib/catissue/domain/collection_event_parameters_test.rb +24 -0
- data/test/lib/catissue/domain/collection_protocol_event_test.rb +25 -0
- data/test/lib/catissue/domain/collection_protocol_registration_test.rb +71 -0
- data/test/lib/catissue/domain/collection_protocol_test.rb +69 -0
- data/test/lib/catissue/domain/container_position_test.rb +29 -0
- data/test/lib/catissue/domain/department_test.rb +21 -0
- data/test/lib/catissue/domain/disposal_event_parameters_test.rb +16 -0
- data/test/lib/catissue/domain/location_test.rb +38 -0
- data/test/lib/catissue/domain/metadata_test.rb +62 -0
- data/test/lib/catissue/domain/participant_medical_identifier_test.rb +26 -0
- data/test/lib/catissue/domain/participant_test.rb +96 -0
- data/test/lib/catissue/domain/site_test.rb +30 -0
- data/test/lib/catissue/domain/specimen_array_test.rb +38 -0
- data/test/lib/catissue/domain/specimen_array_type_test.rb +27 -0
- data/test/lib/catissue/domain/specimen_characteristics_test.rb +15 -0
- data/test/lib/catissue/domain/specimen_collection_group_test.rb +216 -0
- data/test/lib/catissue/domain/specimen_event_parameters_test.rb +61 -0
- data/test/lib/catissue/domain/specimen_position_test.rb +62 -0
- data/test/lib/catissue/domain/specimen_requirement_test.rb +61 -0
- data/test/lib/catissue/domain/specimen_test.rb +272 -0
- data/test/lib/catissue/domain/storage_container_test.rb +150 -0
- data/test/lib/catissue/domain/storage_type_test.rb +70 -0
- data/test/lib/catissue/domain/transfer_event_parameters_test.rb +38 -0
- data/test/lib/catissue/domain/user_test.rb +50 -0
- data/test/lib/catissue/extract/delta_test.rb +25 -0
- data/test/lib/catissue/extract/extractor_test.rb +43 -0
- data/test/lib/catissue/import/importable_module_test.rb +14 -0
- data/test/lib/catissue/migration/test_case.rb +103 -0
- data/test/lib/catissue/test_case.rb +225 -0
- data/test/lib/examples/galena/domain/examples_test.rb +70 -0
- data/test/lib/examples/galena/migration/catissue.log +0 -0
- data/test/lib/examples/galena/migration/filter_test.rb +26 -0
- data/test/lib/examples/galena/migration/frozen_test.rb +28 -0
- data/test/lib/examples/galena/migration/general_test.rb +44 -0
- data/test/lib/examples/galena/migration/simple_test.rb +29 -0
- data/test/lib/examples/galena/migration/test_case.rb +52 -0
- data/test/lib/examples/galena/migration/uniquify.rb +93 -0
- metadata +223 -184
@@ -0,0 +1,70 @@
|
|
1
|
+
$:.unshift 'examples/galena/lib'
|
2
|
+
|
3
|
+
require 'test/lib/catissue/test_case'
|
4
|
+
require 'galena/seed/defaults'
|
5
|
+
|
6
|
+
# Verifies the Galena caTissue usage examples.
|
7
|
+
class ExamplesTest < Test::Unit::TestCase
|
8
|
+
include CaTissue::TestCase
|
9
|
+
|
10
|
+
def setup
|
11
|
+
super
|
12
|
+
@pcl = defaults.protocol
|
13
|
+
@pcl.title = @pcl.short_title = 'Galena CP'.uniquify
|
14
|
+
@pnt = CaTissue::Participant.new(:name => 'Test Participant'.uniquify)
|
15
|
+
@pnt.add_mrn(defaults.hospital, Uniquifier.qualifier)
|
16
|
+
tissue = CaTissue::Specimen.create_specimen(:class => :tissue, :type => 'Frozen Tissue', :quantity => 1.0)
|
17
|
+
blood = CaTissue::Specimen.create_specimen(:class => :fluid, :type => 'Whole Blood', :quantity => 10)
|
18
|
+
rcvr = defaults.tissue_bank.coordinator
|
19
|
+
@scg = @pcl.add_specimens(blood, tissue, :participant => @pnt, :receiver => rcvr)
|
20
|
+
end
|
21
|
+
|
22
|
+
def defaults
|
23
|
+
@defaults ||= Galena::Seed.defaults.uniquify
|
24
|
+
end
|
25
|
+
|
26
|
+
# TODO - uncomment, test and fix
|
27
|
+
# # Verifies the consent withdrawal usage example.
|
28
|
+
# def test_withdraw_consent
|
29
|
+
# # add a protocol consent tier
|
30
|
+
# @pcl.consent_tiers << ct = CaTissue::ConsentTier.new(:statement => 'Test Consent'.uniquify)
|
31
|
+
# # add a CPR consent tier response
|
32
|
+
# @scg.registration.consent_tier_responses << CaTissue::ConsentTierResponse.new(:consent_tier => ct)
|
33
|
+
# # create the SCG
|
34
|
+
# @scg.create
|
35
|
+
# logger.debug { "Verifying #{@scg} fluid specimen consent withdrawal..." }
|
36
|
+
# # the participant MRN
|
37
|
+
# mrn = @pnt.medical_record_number
|
38
|
+
# # the template to fetch a PMI for the MRN
|
39
|
+
# pmi = CaTissue::ParticipantMedicalIdentifier.new(:medical_record_number => mrn)
|
40
|
+
# # the Specimens for the individual with the MRN
|
41
|
+
# spcs = pmi.query(:participant, :registrations, :specimen_collection_groups, :specimens).select { |spc| spc.specimen_class == 'Fluid' }
|
42
|
+
# # withdraw consent and update each fetched specimen
|
43
|
+
# spcs.each do |spc|
|
44
|
+
# spc.withdraw_consent(ct)
|
45
|
+
# verify_save(spc)
|
46
|
+
# end
|
47
|
+
# end
|
48
|
+
|
49
|
+
# Verifies the Specimen relabel usage example.
|
50
|
+
def test_cp_specimens_relabel
|
51
|
+
@scg.create
|
52
|
+
@pcl.find.specimens.each do |spc|
|
53
|
+
spc.label = 'CP-' + spc.label
|
54
|
+
verify_save(spc)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
# Verifies the Specimen relabel usage example.
|
59
|
+
def test_site_specimens_relabel
|
60
|
+
tb = defaults.tissue_bank
|
61
|
+
tb.name = tb_name = tb.name.uniquify
|
62
|
+
@scg.create
|
63
|
+
CaTissue::SpecimenCollectionGroup.new(:site => tb).query(:specimen_collection_group, :specimens).each do |spc|
|
64
|
+
spc.label = 'CP-' + spc.label
|
65
|
+
verify_save(spc)
|
66
|
+
end
|
67
|
+
# reset the default
|
68
|
+
tb.name = tb_name
|
69
|
+
end
|
70
|
+
end
|
File without changes
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'test_case')
|
2
|
+
|
3
|
+
# Tests the Galena example migration.
|
4
|
+
class FilterMigrationTest < Test::Unit::TestCase
|
5
|
+
include Galena::MigrationTestCase
|
6
|
+
|
7
|
+
def test_filter
|
8
|
+
verify_target(:filter, :bad => BAD_FILE) do |spc|
|
9
|
+
assert_not_nil(spc.initial_quantity, "Missing quantity")
|
10
|
+
scg = spc.specimen_collection_group
|
11
|
+
assert_not_nil(scg, "Missing SCG")
|
12
|
+
pnt = scg.registration.participant
|
13
|
+
assert_not_nil(pnt, "Missing Participant")
|
14
|
+
assert_not_nil(pnt.first_name, "Missing first name")
|
15
|
+
assert_not_nil(pnt.last_name, "Missing last name")
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_save
|
20
|
+
verify_save(:filter, :bad => BAD_FILE)
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
BAD_FILE = 'test/results/examples/galena/bad.csv'
|
26
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'test_case')
|
2
|
+
require 'galena/seed/defaults'
|
3
|
+
|
4
|
+
# Tests the Galena example migration.
|
5
|
+
module Galena
|
6
|
+
class FrozenMigrationTest < Test::Unit::TestCase
|
7
|
+
include MigrationTestCase
|
8
|
+
|
9
|
+
# Makes the {Galena::Defaults#freezer_type} container type hierarchy, if necessary.
|
10
|
+
def setup
|
11
|
+
super
|
12
|
+
defaults.freezer_type.find(:create)
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_target
|
16
|
+
verify_target(:frozen) do |spc|
|
17
|
+
pos = spc.position
|
18
|
+
assert_not_nil(pos, "#{spc} missing position")
|
19
|
+
assert_not_nil(pos.holder, "#{pos} missing storage container")
|
20
|
+
assert_same(spc, pos.occupant,"#{pos} occupant incorrect")
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_save
|
25
|
+
verify_save(:frozen)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'test_case')
|
2
|
+
|
3
|
+
# Tests the Galena example migration.
|
4
|
+
class GeneralMigrationTest < Test::Unit::TestCase
|
5
|
+
include Galena::MigrationTestCase
|
6
|
+
|
7
|
+
def test_target
|
8
|
+
verify_target(:general) do |spc|
|
9
|
+
assert_not_nil(spc.initial_quantity, "Missing quantity")
|
10
|
+
scg = spc.specimen_collection_group
|
11
|
+
assert_not_nil(scg, "Missing SCG")
|
12
|
+
pnt = scg.registration.participant
|
13
|
+
assert_not_nil(pnt, "Missing Participant")
|
14
|
+
pmi = pnt.participant_medical_identifiers.first
|
15
|
+
assert_not_nil(pmi, "Missing PMI")
|
16
|
+
mrn = pmi.medical_record_number
|
17
|
+
assert_not_nil(mrn, "Missing MRN")
|
18
|
+
rep = scg.received_event_parameters
|
19
|
+
assert_not_nil(rep, "Missing REP")
|
20
|
+
assert_not_nil(rep.timestamp, "Missing received date")
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_save
|
25
|
+
# Make the surgeon user, if necessary, by copying the required attributes from the coordinator.
|
26
|
+
srg = defaults.tissue_bank.coordinator.copy(:address, :cancer_research_group, :department, :institution)
|
27
|
+
srg.email_address = 'serge.on@galena.edu'
|
28
|
+
srg.first_name = 'Serge'
|
29
|
+
srg.last_name = 'On'
|
30
|
+
srg.find(:create)
|
31
|
+
|
32
|
+
# migrate the Specimen input record
|
33
|
+
verify_save(:general) do |spc|
|
34
|
+
logger.debug { "Verifying saved #{spc}..." }
|
35
|
+
assert_equal('Frozen Tissue', spc.specimen_type, "#{spc} specimen type incorrect")
|
36
|
+
scg = spc.specimen_collection_group
|
37
|
+
assert_not_nil(scg, "#{spc} missing SCG")
|
38
|
+
assert_equal('Complete', scg.collection_status, "#{scg} collection status incorrect")
|
39
|
+
spcs = scg.specimens
|
40
|
+
assert_equal(1, spcs.size, "#{scg} specimen count incorrect")
|
41
|
+
assert_same(spc, spcs.first, "#{scg} specimen incorrect")
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'test_case')
|
2
|
+
|
3
|
+
# Tests the Galena example migration.
|
4
|
+
module Galena
|
5
|
+
class SimpleMigrationTest < Test::Unit::TestCase
|
6
|
+
include MigrationTestCase
|
7
|
+
|
8
|
+
def test_target
|
9
|
+
verify_target(:simple) do |spc|
|
10
|
+
assert_not_nil(spc.initial_quantity, "Missing quantity")
|
11
|
+
scg = spc.specimen_collection_group
|
12
|
+
assert_not_nil(scg, "Missing SCG")
|
13
|
+
pnt = scg.registration.participant
|
14
|
+
assert_not_nil(pnt, "Missing Participant")
|
15
|
+
pmi = pnt.participant_medical_identifiers.first
|
16
|
+
assert_not_nil(pmi, "Missing PMI")
|
17
|
+
mrn = pmi.medical_record_number
|
18
|
+
assert_not_nil(mrn, "Missing MRN")
|
19
|
+
rep = scg.received_event_parameters
|
20
|
+
assert_not_nil(rep, "Missing REP")
|
21
|
+
assert_not_nil(rep.timestamp, "Missing received date")
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_save
|
26
|
+
verify_save(:simple)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
$:.unshift 'examples/galena/lib'
|
2
|
+
|
3
|
+
require 'test/lib/catissue/migration/test_case'
|
4
|
+
require 'galena/seed/defaults'
|
5
|
+
|
6
|
+
# Inject migrate methods that simulate administrative setup.
|
7
|
+
require File.join(File.dirname(__FILE__), 'uniquify')
|
8
|
+
|
9
|
+
module Galena
|
10
|
+
# Tests the Galena example migration.
|
11
|
+
module MigrationTestCase
|
12
|
+
include CaTissue::MigrationTestCase
|
13
|
+
|
14
|
+
# The migration input data directory.
|
15
|
+
FIXTURES = 'examples/galena/data'
|
16
|
+
|
17
|
+
# The migration input data directory.
|
18
|
+
SHIMS = 'examples/galena/lib/galena/migration'
|
19
|
+
|
20
|
+
# The migration configuration directory.
|
21
|
+
CONFIGS = 'examples/galena/conf/migration'
|
22
|
+
|
23
|
+
# The migration options are obtained from the file named _fixture_+_migration.yaml+
|
24
|
+
# in the {CONFIGS} directory.
|
25
|
+
def setup
|
26
|
+
super(FIXTURES)
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
# @return [Galena::Seed::Defaults] the {Galena::Seed.defaults}
|
32
|
+
def defaults
|
33
|
+
@defaults ||= Galena::Seed.defaults
|
34
|
+
end
|
35
|
+
|
36
|
+
# Adds the +:target+, +:mapping+ and +:shims+ to the options and delegates
|
37
|
+
# to the superclass.
|
38
|
+
#
|
39
|
+
# @see {CaTissue::MigrationTestCase#create_migrator}
|
40
|
+
def create_migrator(fixture, opts={})
|
41
|
+
opts[:target] = CaTissue::TissueSpecimen
|
42
|
+
opts[:mapping] = File.join(CONFIGS, "#{fixture}_fields.yaml")
|
43
|
+
shims = File.join(SHIMS, "#{fixture}_shims.rb")
|
44
|
+
if File.exists?(shims) then
|
45
|
+
sopt = opts[:shims] ||= []
|
46
|
+
sopt << shims
|
47
|
+
end
|
48
|
+
super
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
@@ -0,0 +1,93 @@
|
|
1
|
+
require 'caruby/util/inflector'
|
2
|
+
require 'caruby/migration/migratable'
|
3
|
+
require 'galena/seed/defaults'
|
4
|
+
|
5
|
+
module CaTissue
|
6
|
+
# Augment the classes below with sufficient content to pass the create mandatory attribute validation.
|
7
|
+
# This simulates an existing administrative object for testing purposes.
|
8
|
+
shims CollectionProtocol, CollectionProtocolEvent, Site, SpecimenPosition, User
|
9
|
+
|
10
|
+
class CollectionProtocol
|
11
|
+
# Augments {CaRuby::Migratable#migrate} for the Galena example by adding the following defaults:
|
12
|
+
# * the CP principal_investigator defaults to the {Galena::Seed::Defaults#protocol} PI
|
13
|
+
# * if the sites is empty, then the {Galena::Seed::Defaults#tissue_bank} is added
|
14
|
+
# to the CP sites
|
15
|
+
#
|
16
|
+
# @param (see CaRuby::Migratable#migrate)
|
17
|
+
def migrate(row, migrated)
|
18
|
+
super
|
19
|
+
self.principal_investigator ||= Galena::Seed.defaults.protocol.principal_investigator
|
20
|
+
sites << Galena::Seed.defaults.tissue_bank if sites.empty?
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
class CollectionProtocolEvent
|
25
|
+
# Augments {CaRuby::Migratable#migrate} for the example by adding the following defaults:
|
26
|
+
# * create a {CaTissue::TissueSpecimenRequirement}
|
27
|
+
#
|
28
|
+
# @param (see CaRuby::Migratable#migrate)
|
29
|
+
def migrate(row, migrated)
|
30
|
+
super
|
31
|
+
CaTissue::TissueSpecimenRequirement.new(:collection_event => self)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
class Site
|
36
|
+
# Augments {CaRuby::Migratable#migrate} for the example by merging the content of the
|
37
|
+
# {Galena::Seed::Defaults} site which matches on this Site's name, if any.
|
38
|
+
#
|
39
|
+
# @param (see CaRuby::Migratable#migrate)
|
40
|
+
def migrate(row, migrated)
|
41
|
+
super
|
42
|
+
tmpl = TEMPLATES.detect { |site| name[site.name.gsub(' ', '_')] }
|
43
|
+
# merge the default mandatory attribute values
|
44
|
+
if tmpl then merge(tmpl, mandatory_attributes) end
|
45
|
+
end
|
46
|
+
|
47
|
+
private
|
48
|
+
|
49
|
+
TEMPLATES = [Galena::Seed.defaults.hospital, Galena::Seed.defaults.tissue_bank]
|
50
|
+
end
|
51
|
+
|
52
|
+
class StorageContainer
|
53
|
+
# Augments {CaRuby::Migratable#migrate} for the example by setting the
|
54
|
+
# the container site and type to the {Galena::Seed::Defaults}
|
55
|
+
# box site and type, resp.
|
56
|
+
#
|
57
|
+
# @param (see CaRuby::Migratable#migrate)
|
58
|
+
def migrate(row, migrated)
|
59
|
+
super
|
60
|
+
self.site ||= Galena::Seed.defaults.tissue_bank
|
61
|
+
self.storage_type ||= Galena::Seed.defaults.box_type
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
class User
|
66
|
+
# Augments {CaRuby::Migratable#migrate} for the example as follows:
|
67
|
+
# * infer the first and last name from the email address
|
68
|
+
# * copy the address and organizations from the tissue bank coordinator
|
69
|
+
#
|
70
|
+
# @param (see CaRuby::Migratable#migrate)
|
71
|
+
def migrate(row, migrated)
|
72
|
+
super
|
73
|
+
# invent the mandatory name fields based on the email address, if necessary
|
74
|
+
if email_address then
|
75
|
+
n1, n2 = email_address[/[^@]+/].split('.')
|
76
|
+
if n2 then
|
77
|
+
first, last = n1, n2
|
78
|
+
else
|
79
|
+
first = 'Oscar'
|
80
|
+
last = n1.capitalize
|
81
|
+
end
|
82
|
+
self.first_name = n1.capitalize
|
83
|
+
self.last_name = n2.capitalize
|
84
|
+
end
|
85
|
+
# the coordinator serves as the User content template
|
86
|
+
coord = Galena::Seed.defaults.hospital.coordinator
|
87
|
+
# deep copy of the address
|
88
|
+
self.address = coord.address.copy
|
89
|
+
# shallow copy of the mandatory references
|
90
|
+
merge(coord, [:cancer_research_group, :department, :institution])
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
metadata
CHANGED
@@ -1,200 +1,239 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
+
name: caruby-tissue
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease:
|
5
|
+
version: 1.3.2
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- OHSU
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
|
13
|
+
date: 2010-11-30 00:00:00 -08:00
|
14
|
+
default_executable:
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: caruby-core
|
18
|
+
prerelease: false
|
19
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
|
+
none: false
|
21
|
+
requirements:
|
22
|
+
- - ">="
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: "0"
|
25
|
+
type: :runtime
|
26
|
+
version_requirements: *id001
|
27
|
+
description: " The caruby-tissue gem applies the caRuby facade to the caTissue application.\n"
|
28
|
+
email: caruby.org@gmail.com
|
29
|
+
executables:
|
30
|
+
- crtdump
|
31
|
+
- crtexample
|
32
|
+
- crtextract
|
33
|
+
- crtmigrate
|
34
|
+
- crtsmoke
|
2
35
|
extensions: []
|
3
36
|
|
37
|
+
extra_rdoc_files: []
|
38
|
+
|
39
|
+
files:
|
40
|
+
- bin/crtdump
|
41
|
+
- bin/crtexample
|
42
|
+
- bin/crtextract
|
43
|
+
- bin/crtmigrate
|
44
|
+
- bin/crtsmoke
|
45
|
+
- conf/extract/simple_fields.yaml
|
46
|
+
- conf/migration/filter_fields.yaml
|
47
|
+
- conf/migration/filter_migration.yaml
|
48
|
+
- conf/migration/frozen_fields.yaml
|
49
|
+
- conf/migration/frozen_migration.yaml
|
50
|
+
- conf/migration/general_fields.yaml
|
51
|
+
- conf/migration/general_migration.yaml
|
52
|
+
- conf/migration/simple_fields.yaml
|
53
|
+
- conf/migration/simple_migration.yaml
|
54
|
+
- conf/migration/small_fields.yaml
|
55
|
+
- conf/migration/small_migration.yaml
|
56
|
+
- examples/galena/README.md
|
57
|
+
- examples/galena/bin/seed
|
58
|
+
- examples/galena/conf/extract/simple_fields.yaml
|
59
|
+
- examples/galena/conf/migration/filter_fields.yaml
|
60
|
+
- examples/galena/conf/migration/frozen_fields.yaml
|
61
|
+
- examples/galena/conf/migration/general_fields.yaml
|
62
|
+
- examples/galena/conf/migration/simple_fields.yaml
|
63
|
+
- examples/galena/data/filter.csv
|
64
|
+
- examples/galena/data/frozen.csv
|
65
|
+
- examples/galena/data/general.csv
|
66
|
+
- examples/galena/data/minimal.csv
|
67
|
+
- examples/galena/data/simple.csv
|
68
|
+
- examples/galena/data/small.csv
|
69
|
+
- examples/galena/lib/galena.rb
|
70
|
+
- examples/galena/lib/galena/cli/seed.rb
|
71
|
+
- examples/galena/lib/galena/migration/filter_shims.rb
|
72
|
+
- examples/galena/lib/galena/migration/frozen_shims.rb
|
73
|
+
- examples/galena/lib/galena/seed/defaults.rb
|
74
|
+
- lib/catissue.rb
|
75
|
+
- lib/catissue/database.rb
|
76
|
+
- lib/catissue/resource.rb
|
77
|
+
- lib/catissue/version.rb
|
78
|
+
- lib/catissue/annotation/annotatable.rb
|
79
|
+
- lib/catissue/annotation/annotatable_class.rb
|
80
|
+
- lib/catissue/annotation/annotation.rb
|
81
|
+
- lib/catissue/annotation/annotation_class.rb
|
82
|
+
- lib/catissue/annotation/annotation_module.rb
|
83
|
+
- lib/catissue/annotation/proxy.rb
|
84
|
+
- lib/catissue/annotation/proxy_class.rb
|
85
|
+
- lib/catissue/cli/command.rb
|
86
|
+
- lib/catissue/cli/example.rb
|
87
|
+
- lib/catissue/cli/migrate.rb
|
88
|
+
- lib/catissue/cli/smoke.rb
|
89
|
+
- lib/catissue/database/controlled_value_finder.rb
|
90
|
+
- lib/catissue/database/controlled_values.rb
|
91
|
+
- lib/catissue/database/annotation/annotation_service.rb
|
92
|
+
- lib/catissue/database/annotation/annotator.rb
|
93
|
+
- lib/catissue/database/annotation/entity_facade.rb
|
94
|
+
- lib/catissue/database/annotation/id_generator.rb
|
95
|
+
- lib/catissue/database/annotation/integration_service.rb
|
96
|
+
- lib/catissue/database/annotation/reference_writer.rb
|
97
|
+
- lib/catissue/domain/abstract_domain_object.rb
|
98
|
+
- lib/catissue/domain/abstract_position.rb
|
99
|
+
- lib/catissue/domain/abstract_specimen.rb
|
100
|
+
- lib/catissue/domain/abstract_specimen_collection_group.rb
|
101
|
+
- lib/catissue/domain/address.rb
|
102
|
+
- lib/catissue/domain/cancer_research_group.rb
|
103
|
+
- lib/catissue/domain/capacity.rb
|
104
|
+
- lib/catissue/domain/check_in_check_out_event_parameter.rb
|
105
|
+
- lib/catissue/domain/collection_event_parameters.rb
|
106
|
+
- lib/catissue/domain/collection_protocol.rb
|
107
|
+
- lib/catissue/domain/collection_protocol_event.rb
|
108
|
+
- lib/catissue/domain/collection_protocol_registration.rb
|
109
|
+
- lib/catissue/domain/consent_tier_response.rb
|
110
|
+
- lib/catissue/domain/consent_tier_status.rb
|
111
|
+
- lib/catissue/domain/container.rb
|
112
|
+
- lib/catissue/domain/container_position.rb
|
113
|
+
- lib/catissue/domain/container_type.rb
|
114
|
+
- lib/catissue/domain/department.rb
|
115
|
+
- lib/catissue/domain/disposal_event_parameters.rb
|
116
|
+
- lib/catissue/domain/embedded_event_parameters.rb
|
117
|
+
- lib/catissue/domain/external_identifier.rb
|
118
|
+
- lib/catissue/domain/frozen_event_parameters.rb
|
119
|
+
- lib/catissue/domain/institution.rb
|
120
|
+
- lib/catissue/domain/new_specimen_array_order_item.rb
|
121
|
+
- lib/catissue/domain/order_details.rb
|
122
|
+
- lib/catissue/domain/participant.rb
|
123
|
+
- lib/catissue/domain/participant_medical_identifier.rb
|
124
|
+
- lib/catissue/domain/password.rb
|
125
|
+
- lib/catissue/domain/race.rb
|
126
|
+
- lib/catissue/domain/received_event_parameters.rb
|
127
|
+
- lib/catissue/domain/scg_event_parameters.rb
|
128
|
+
- lib/catissue/domain/site.rb
|
129
|
+
- lib/catissue/domain/specimen.rb
|
130
|
+
- lib/catissue/domain/specimen_array.rb
|
131
|
+
- lib/catissue/domain/specimen_array_content.rb
|
132
|
+
- lib/catissue/domain/specimen_array_type.rb
|
133
|
+
- lib/catissue/domain/specimen_characteristics.rb
|
134
|
+
- lib/catissue/domain/specimen_collection_group.rb
|
135
|
+
- lib/catissue/domain/specimen_event_parameters.rb
|
136
|
+
- lib/catissue/domain/specimen_position.rb
|
137
|
+
- lib/catissue/domain/specimen_protocol.rb
|
138
|
+
- lib/catissue/domain/specimen_requirement.rb
|
139
|
+
- lib/catissue/domain/storage_container.rb
|
140
|
+
- lib/catissue/domain/storage_type.rb
|
141
|
+
- lib/catissue/domain/transfer_event_parameters.rb
|
142
|
+
- lib/catissue/domain/uniquify.rb
|
143
|
+
- lib/catissue/domain/user.rb
|
144
|
+
- lib/catissue/extract/command.rb
|
145
|
+
- lib/catissue/extract/delta.rb
|
146
|
+
- lib/catissue/extract/extractor.rb
|
147
|
+
- lib/catissue/migration/migrator.rb
|
148
|
+
- lib/catissue/migration/shims.rb
|
149
|
+
- lib/catissue/migration/uniquify.rb
|
150
|
+
- lib/catissue/util/controlled_value.rb
|
151
|
+
- lib/catissue/util/location.rb
|
152
|
+
- lib/catissue/util/log.rb
|
153
|
+
- lib/catissue/util/person.rb
|
154
|
+
- lib/catissue/util/position.rb
|
155
|
+
- lib/catissue/util/storable.rb
|
156
|
+
- lib/catissue/util/storage_type_holder.rb
|
157
|
+
- test/fixtures/catissue/domain/conf/catissue_override.yaml
|
158
|
+
- test/fixtures/catissue/extract/conf/scg_extract.yaml
|
159
|
+
- test/fixtures/catissue/extract/conf/scg_fields.yaml
|
160
|
+
- test/fixtures/catissue/extract/conf/spc_extract.yaml
|
161
|
+
- test/fixtures/catissue/extract/conf/spc_fields.yaml
|
162
|
+
- test/fixtures/lib/catissue/defaults_test_fixture.rb
|
163
|
+
- test/lib/catissue/test_case.rb
|
164
|
+
- test/lib/catissue/database/controlled_values_test.rb
|
165
|
+
- test/lib/catissue/database/database_test.rb
|
166
|
+
- test/lib/catissue/domain/address_test.rb
|
167
|
+
- test/lib/catissue/domain/base_haemotology_pathology_test.rb
|
168
|
+
- test/lib/catissue/domain/ca_tissue_test_defaults_test.rb
|
169
|
+
- test/lib/catissue/domain/capacity_test.rb
|
170
|
+
- test/lib/catissue/domain/collection_event_parameters_test.rb
|
171
|
+
- test/lib/catissue/domain/collection_protocol_event_test.rb
|
172
|
+
- test/lib/catissue/domain/collection_protocol_registration_test.rb
|
173
|
+
- test/lib/catissue/domain/collection_protocol_test.rb
|
174
|
+
- test/lib/catissue/domain/container_position_test.rb
|
175
|
+
- test/lib/catissue/domain/department_test.rb
|
176
|
+
- test/lib/catissue/domain/disposal_event_parameters_test.rb
|
177
|
+
- test/lib/catissue/domain/location_test.rb
|
178
|
+
- test/lib/catissue/domain/metadata_test.rb
|
179
|
+
- test/lib/catissue/domain/participant_medical_identifier_test.rb
|
180
|
+
- test/lib/catissue/domain/participant_test.rb
|
181
|
+
- test/lib/catissue/domain/site_test.rb
|
182
|
+
- test/lib/catissue/domain/specimen_array_test.rb
|
183
|
+
- test/lib/catissue/domain/specimen_array_type_test.rb
|
184
|
+
- test/lib/catissue/domain/specimen_characteristics_test.rb
|
185
|
+
- test/lib/catissue/domain/specimen_collection_group_test.rb
|
186
|
+
- test/lib/catissue/domain/specimen_event_parameters_test.rb
|
187
|
+
- test/lib/catissue/domain/specimen_position_test.rb
|
188
|
+
- test/lib/catissue/domain/specimen_requirement_test.rb
|
189
|
+
- test/lib/catissue/domain/specimen_test.rb
|
190
|
+
- test/lib/catissue/domain/storage_container_test.rb
|
191
|
+
- test/lib/catissue/domain/storage_type_test.rb
|
192
|
+
- test/lib/catissue/domain/transfer_event_parameters_test.rb
|
193
|
+
- test/lib/catissue/domain/user_test.rb
|
194
|
+
- test/lib/catissue/extract/delta_test.rb
|
195
|
+
- test/lib/catissue/extract/extractor_test.rb
|
196
|
+
- test/lib/catissue/import/importable_module_test.rb
|
197
|
+
- test/lib/catissue/migration/test_case.rb
|
198
|
+
- test/lib/examples/galena/domain/examples_test.rb
|
199
|
+
- test/lib/examples/galena/migration/catissue.log
|
200
|
+
- test/lib/examples/galena/migration/filter_test.rb
|
201
|
+
- test/lib/examples/galena/migration/frozen_test.rb
|
202
|
+
- test/lib/examples/galena/migration/general_test.rb
|
203
|
+
- test/lib/examples/galena/migration/simple_test.rb
|
204
|
+
- test/lib/examples/galena/migration/test_case.rb
|
205
|
+
- test/lib/examples/galena/migration/uniquify.rb
|
206
|
+
- History.txt
|
207
|
+
- LEGAL
|
208
|
+
- LICENSE
|
209
|
+
- README.md
|
210
|
+
has_rdoc: true
|
4
211
|
homepage: http://rubyforge.org/projects/caruby/tissue
|
5
|
-
|
6
|
-
-
|
7
|
-
- crtexample
|
8
|
-
- crtextract
|
9
|
-
- crtmigrate
|
10
|
-
- crtsmoke
|
11
|
-
version: !ruby/object:Gem::Version
|
12
|
-
prerelease: false
|
13
|
-
version: 1.3.1
|
14
|
-
segments:
|
15
|
-
- 1
|
16
|
-
- 3
|
17
|
-
- 1
|
212
|
+
licenses:
|
213
|
+
- MIT
|
18
214
|
post_install_message:
|
19
|
-
date: 2010-11-30 08:00:00 +00:00
|
20
|
-
files:
|
21
|
-
- bin/crtdump
|
22
|
-
- bin/crtexample
|
23
|
-
- bin/crtextract
|
24
|
-
- bin/crtmigrate
|
25
|
-
- bin/crtsmoke
|
26
|
-
- conf/extract/simple_fields.yaml
|
27
|
-
- conf/migration/filter_fields.yaml
|
28
|
-
- conf/migration/filter_migration.yaml
|
29
|
-
- conf/migration/frozen_fields.yaml
|
30
|
-
- conf/migration/frozen_migration.yaml
|
31
|
-
- conf/migration/general_fields.yaml
|
32
|
-
- conf/migration/general_migration.yaml
|
33
|
-
- conf/migration/simple_fields.yaml
|
34
|
-
- conf/migration/simple_migration.yaml
|
35
|
-
- conf/migration/small_fields.yaml
|
36
|
-
- conf/migration/small_migration.yaml
|
37
|
-
- examples/galena/README.md
|
38
|
-
- examples/galena/bin/seed
|
39
|
-
- examples/galena/conf/extract/simple_fields.yaml
|
40
|
-
- examples/galena/conf/migration/filter_fields.yaml
|
41
|
-
- examples/galena/conf/migration/frozen_fields.yaml
|
42
|
-
- examples/galena/conf/migration/general_fields.yaml
|
43
|
-
- examples/galena/conf/migration/simple_fields.yaml
|
44
|
-
- examples/galena/data/filter.csv
|
45
|
-
- examples/galena/data/frozen.csv
|
46
|
-
- examples/galena/data/general.csv
|
47
|
-
- examples/galena/data/minimal.csv
|
48
|
-
- examples/galena/data/simple.csv
|
49
|
-
- examples/galena/data/small.csv
|
50
|
-
- examples/galena/lib/galena.rb
|
51
|
-
- examples/galena/lib/galena/cli/seed.rb
|
52
|
-
- examples/galena/lib/galena/migration/filter_shims.rb
|
53
|
-
- examples/galena/lib/galena/migration/frozen_shims.rb
|
54
|
-
- examples/galena/lib/galena/seed/defaults.rb
|
55
|
-
- lib/catissue.rb
|
56
|
-
- lib/catissue/database.rb
|
57
|
-
- lib/catissue/resource.rb
|
58
|
-
- lib/catissue/version.rb
|
59
|
-
- lib/catissue/annotation/annotatable.rb
|
60
|
-
- lib/catissue/annotation/annotatable_class.rb
|
61
|
-
- lib/catissue/annotation/annotation.rb
|
62
|
-
- lib/catissue/annotation/annotation_class.rb
|
63
|
-
- lib/catissue/annotation/annotation_module.rb
|
64
|
-
- lib/catissue/annotation/proxy.rb
|
65
|
-
- lib/catissue/annotation/proxy_class.rb
|
66
|
-
- lib/catissue/cli/command.rb
|
67
|
-
- lib/catissue/cli/example.rb
|
68
|
-
- lib/catissue/cli/migrate.rb
|
69
|
-
- lib/catissue/cli/smoke.rb
|
70
|
-
- lib/catissue/database/controlled_value_finder.rb
|
71
|
-
- lib/catissue/database/controlled_values.rb
|
72
|
-
- lib/catissue/database/annotation/annotation_service.rb
|
73
|
-
- lib/catissue/database/annotation/annotator.rb
|
74
|
-
- lib/catissue/database/annotation/entity_facade.rb
|
75
|
-
- lib/catissue/database/annotation/id_generator.rb
|
76
|
-
- lib/catissue/database/annotation/integration_service.rb
|
77
|
-
- lib/catissue/database/annotation/reference_writer.rb
|
78
|
-
- lib/catissue/domain/abstract_domain_object.rb
|
79
|
-
- lib/catissue/domain/abstract_position.rb
|
80
|
-
- lib/catissue/domain/abstract_specimen.rb
|
81
|
-
- lib/catissue/domain/abstract_specimen_collection_group.rb
|
82
|
-
- lib/catissue/domain/address.rb
|
83
|
-
- lib/catissue/domain/cancer_research_group.rb
|
84
|
-
- lib/catissue/domain/capacity.rb
|
85
|
-
- lib/catissue/domain/check_in_check_out_event_parameter.rb
|
86
|
-
- lib/catissue/domain/collection_event_parameters.rb
|
87
|
-
- lib/catissue/domain/collection_protocol.rb
|
88
|
-
- lib/catissue/domain/collection_protocol_event.rb
|
89
|
-
- lib/catissue/domain/collection_protocol_registration.rb
|
90
|
-
- lib/catissue/domain/consent_tier_response.rb
|
91
|
-
- lib/catissue/domain/consent_tier_status.rb
|
92
|
-
- lib/catissue/domain/container.rb
|
93
|
-
- lib/catissue/domain/container_position.rb
|
94
|
-
- lib/catissue/domain/container_type.rb
|
95
|
-
- lib/catissue/domain/department.rb
|
96
|
-
- lib/catissue/domain/disposal_event_parameters.rb
|
97
|
-
- lib/catissue/domain/embedded_event_parameters.rb
|
98
|
-
- lib/catissue/domain/external_identifier.rb
|
99
|
-
- lib/catissue/domain/frozen_event_parameters.rb
|
100
|
-
- lib/catissue/domain/institution.rb
|
101
|
-
- lib/catissue/domain/new_specimen_array_order_item.rb
|
102
|
-
- lib/catissue/domain/order_details.rb
|
103
|
-
- lib/catissue/domain/participant.rb
|
104
|
-
- lib/catissue/domain/participant_medical_identifier.rb
|
105
|
-
- lib/catissue/domain/password.rb
|
106
|
-
- lib/catissue/domain/race.rb
|
107
|
-
- lib/catissue/domain/received_event_parameters.rb
|
108
|
-
- lib/catissue/domain/scg_event_parameters.rb
|
109
|
-
- lib/catissue/domain/site.rb
|
110
|
-
- lib/catissue/domain/specimen.rb
|
111
|
-
- lib/catissue/domain/specimen_array.rb
|
112
|
-
- lib/catissue/domain/specimen_array_content.rb
|
113
|
-
- lib/catissue/domain/specimen_array_type.rb
|
114
|
-
- lib/catissue/domain/specimen_characteristics.rb
|
115
|
-
- lib/catissue/domain/specimen_collection_group.rb
|
116
|
-
- lib/catissue/domain/specimen_event_parameters.rb
|
117
|
-
- lib/catissue/domain/specimen_position.rb
|
118
|
-
- lib/catissue/domain/specimen_protocol.rb
|
119
|
-
- lib/catissue/domain/specimen_requirement.rb
|
120
|
-
- lib/catissue/domain/storage_container.rb
|
121
|
-
- lib/catissue/domain/storage_type.rb
|
122
|
-
- lib/catissue/domain/transfer_event_parameters.rb
|
123
|
-
- lib/catissue/domain/user.rb
|
124
|
-
- lib/catissue/extract/command.rb
|
125
|
-
- lib/catissue/extract/delta.rb
|
126
|
-
- lib/catissue/extract/extractor.rb
|
127
|
-
- lib/catissue/migration/migrator.rb
|
128
|
-
- lib/catissue/migration/shims.rb
|
129
|
-
- lib/catissue/migration/uniquify.rb
|
130
|
-
- lib/catissue/util/controlled_value.rb
|
131
|
-
- lib/catissue/util/location.rb
|
132
|
-
- lib/catissue/util/log.rb
|
133
|
-
- lib/catissue/util/person.rb
|
134
|
-
- lib/catissue/util/position.rb
|
135
|
-
- lib/catissue/util/storable.rb
|
136
|
-
- lib/catissue/util/storage_type_holder.rb
|
137
|
-
- History.txt
|
138
|
-
- LEGAL
|
139
|
-
- LICENSE
|
140
|
-
- README.md
|
141
|
-
rubygems_version: 1.3.7
|
142
215
|
rdoc_options: []
|
143
216
|
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
name: caruby-tissue
|
148
|
-
has_rdoc: yard
|
149
|
-
platform: ruby
|
150
|
-
summary: Ruby facade for caTissue.
|
151
|
-
default_executable:
|
152
|
-
bindir: bin
|
153
|
-
licenses:
|
154
|
-
- MIT
|
155
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
217
|
+
require_paths:
|
218
|
+
- lib
|
219
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
156
220
|
none: false
|
157
221
|
requirements:
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
- 0
|
163
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
222
|
+
- - ">="
|
223
|
+
- !ruby/object:Gem::Version
|
224
|
+
version: "0"
|
225
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
164
226
|
none: false
|
165
227
|
requirements:
|
166
|
-
|
167
|
-
- !ruby/object:Gem::Version
|
168
|
-
version: "0"
|
169
|
-
segments:
|
170
|
-
- 0
|
171
|
-
require_paths:
|
172
|
-
- lib
|
173
|
-
specification_version: 3
|
174
|
-
test_files: []
|
175
|
-
|
176
|
-
dependencies:
|
177
|
-
- !ruby/object:Gem::Dependency
|
178
|
-
prerelease: false
|
179
|
-
type: :runtime
|
180
|
-
name: caruby-core
|
181
|
-
version_requirements: &id001 !ruby/object:Gem::Requirement
|
182
|
-
none: false
|
183
|
-
requirements:
|
184
|
-
- - '>='
|
228
|
+
- - ">="
|
185
229
|
- !ruby/object:Gem::Version
|
186
230
|
version: "0"
|
187
|
-
segments:
|
188
|
-
- 0
|
189
|
-
requirement: *id001
|
190
|
-
description: " The caruby-tissue gem applies the caRuby facade to the caTissue \
|
191
|
-
application.\n"
|
192
|
-
email: caruby.org@gmail.com
|
193
|
-
authors:
|
194
|
-
- OHSU
|
195
|
-
extra_rdoc_files: []
|
196
|
-
|
197
231
|
requirements: []
|
198
232
|
|
199
233
|
rubyforge_project: caruby
|
200
|
-
|
234
|
+
rubygems_version: 1.5.2
|
235
|
+
signing_key:
|
236
|
+
specification_version: 3
|
237
|
+
summary: Ruby facade for caTissue.
|
238
|
+
test_files: []
|
239
|
+
|