caruby-tissue 1.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +4 -0
- data/LEGAL +5 -0
- data/LICENSE +22 -0
- data/README.md +44 -0
- data/bin/crtdump +31 -0
- data/bin/crtexample +18 -0
- data/bin/crtextract +47 -0
- data/bin/crtmigrate +17 -0
- data/bin/crtsmoke +27 -0
- data/examples/galena/README.md +53 -0
- data/examples/galena/bin/migrate.rb +42 -0
- data/examples/galena/bin/seed.rb +43 -0
- data/examples/galena/conf/extract/simple_fields.yaml +4 -0
- data/examples/galena/conf/migration/filter_fields.yaml +7 -0
- data/examples/galena/conf/migration/filter_migration.yaml +9 -0
- data/examples/galena/conf/migration/frozen_fields.yaml +11 -0
- data/examples/galena/conf/migration/frozen_migration.yaml +9 -0
- data/examples/galena/conf/migration/general_fields.yaml +42 -0
- data/examples/galena/conf/migration/general_migration.yaml +9 -0
- data/examples/galena/conf/migration/simple_fields.yaml +30 -0
- data/examples/galena/conf/migration/simple_migration.yaml +7 -0
- data/examples/galena/conf/migration/small_fields.yaml +24 -0
- data/examples/galena/conf/migration/small_migration.yaml +9 -0
- data/examples/galena/data/filter.csv +1 -0
- data/examples/galena/data/frozen.csv +1 -0
- data/examples/galena/data/general.csv +1 -0
- data/examples/galena/data/minimal.csv +1 -0
- data/examples/galena/data/simple.csv +1 -0
- data/examples/galena/data/small.csv +1 -0
- data/examples/galena/doc/CaTissue.html +93 -0
- data/examples/galena/doc/CaTissue/CollectionProtocolRegistration.html +181 -0
- data/examples/galena/doc/CaTissue/Participant.html +241 -0
- data/examples/galena/doc/CaTissue/SpecimenCollectionGroup.html +190 -0
- data/examples/galena/doc/CaTissue/StorageContainer.html +179 -0
- data/examples/galena/doc/CaTissue/TissueSpecimen.html +320 -0
- data/examples/galena/doc/Galena.html +290 -0
- data/examples/galena/doc/Galena/Seed.html +203 -0
- data/examples/galena/doc/Galena/Seed/Defaults.html +646 -0
- data/examples/galena/doc/_index.html +188 -0
- data/examples/galena/doc/class_list.html +36 -0
- data/examples/galena/doc/css/common.css +1 -0
- data/examples/galena/doc/css/full_list.css +53 -0
- data/examples/galena/doc/css/style.css +307 -0
- data/examples/galena/doc/file.README.html +108 -0
- data/examples/galena/doc/file_list.html +38 -0
- data/examples/galena/doc/frames.html +13 -0
- data/examples/galena/doc/index.html +108 -0
- data/examples/galena/doc/js/app.js +202 -0
- data/examples/galena/doc/js/full_list.js +149 -0
- data/examples/galena/doc/js/jquery.js +154 -0
- data/examples/galena/doc/method_list.html +179 -0
- data/examples/galena/doc/top-level-namespace.html +112 -0
- data/examples/galena/lib/README.html +33 -0
- data/examples/galena/lib/galena.rb +8 -0
- data/examples/galena/lib/galena/cli/seed.rb +43 -0
- data/examples/galena/lib/galena/migration/filter_shims.rb +43 -0
- data/examples/galena/lib/galena/migration/frozen_shims.rb +54 -0
- data/examples/galena/lib/galena/seed/defaults.rb +97 -0
- data/lib/catissue.rb +26 -0
- data/lib/catissue/cli/command.rb +51 -0
- data/lib/catissue/cli/example.rb +31 -0
- data/lib/catissue/cli/migrate.rb +60 -0
- data/lib/catissue/cli/smoke.rb +45 -0
- data/lib/catissue/database.rb +451 -0
- data/lib/catissue/database/annotation/annotatable_service.rb +25 -0
- data/lib/catissue/database/annotation/annotation_service.rb +79 -0
- data/lib/catissue/database/annotation/annotator.rb +84 -0
- data/lib/catissue/database/annotation/entity_manager.rb +10 -0
- data/lib/catissue/database/annotation/integration_service.rb +87 -0
- data/lib/catissue/database/controlled_value_finder.rb +43 -0
- data/lib/catissue/database/controlled_values.rb +162 -0
- data/lib/catissue/domain/abstract_domain_object.rb +8 -0
- data/lib/catissue/domain/abstract_position.rb +22 -0
- data/lib/catissue/domain/abstract_specimen.rb +288 -0
- data/lib/catissue/domain/abstract_specimen_collection_group.rb +25 -0
- data/lib/catissue/domain/address.rb +13 -0
- data/lib/catissue/domain/cancer_research_group.rb +11 -0
- data/lib/catissue/domain/capacity.rb +34 -0
- data/lib/catissue/domain/check_in_check_out_event_parameter.rb +19 -0
- data/lib/catissue/domain/collection_event_parameters.rb +13 -0
- data/lib/catissue/domain/collection_protocol.rb +177 -0
- data/lib/catissue/domain/collection_protocol_event.rb +108 -0
- data/lib/catissue/domain/collection_protocol_registration.rb +108 -0
- data/lib/catissue/domain/consent_tier_response.rb +13 -0
- data/lib/catissue/domain/consent_tier_status.rb +29 -0
- data/lib/catissue/domain/container.rb +234 -0
- data/lib/catissue/domain/container_position.rb +21 -0
- data/lib/catissue/domain/container_type.rb +131 -0
- data/lib/catissue/domain/department.rb +13 -0
- data/lib/catissue/domain/disposal_event_parameters.rb +13 -0
- data/lib/catissue/domain/embedded_event_parameters.rb +10 -0
- data/lib/catissue/domain/external_identifier.rb +22 -0
- data/lib/catissue/domain/frozen_event_parameters.rb +10 -0
- data/lib/catissue/domain/institution.rb +13 -0
- data/lib/catissue/domain/new_specimen_array_order_item.rb +35 -0
- data/lib/catissue/domain/order_details.rb +25 -0
- data/lib/catissue/domain/participant.rb +138 -0
- data/lib/catissue/domain/participant_medical_identifier.rb +38 -0
- data/lib/catissue/domain/password.rb +11 -0
- data/lib/catissue/domain/race.rb +11 -0
- data/lib/catissue/domain/received_event_parameters.rb +25 -0
- data/lib/catissue/domain/scg_event_parameters.rb +11 -0
- data/lib/catissue/domain/site.rb +30 -0
- data/lib/catissue/domain/specimen.rb +456 -0
- data/lib/catissue/domain/specimen_array.rb +47 -0
- data/lib/catissue/domain/specimen_array_content.rb +19 -0
- data/lib/catissue/domain/specimen_array_type.rb +20 -0
- data/lib/catissue/domain/specimen_characteristics.rb +20 -0
- data/lib/catissue/domain/specimen_collection_group.rb +412 -0
- data/lib/catissue/domain/specimen_event_parameters.rb +111 -0
- data/lib/catissue/domain/specimen_position.rb +38 -0
- data/lib/catissue/domain/specimen_protocol.rb +34 -0
- data/lib/catissue/domain/specimen_requirement.rb +143 -0
- data/lib/catissue/domain/storage_container.rb +204 -0
- data/lib/catissue/domain/storage_type.rb +82 -0
- data/lib/catissue/domain/transfer_event_parameters.rb +53 -0
- data/lib/catissue/domain/user.rb +100 -0
- data/lib/catissue/extract/command.rb +31 -0
- data/lib/catissue/extract/delta.rb +62 -0
- data/lib/catissue/extract/extractor.rb +99 -0
- data/lib/catissue/migration/migrator.rb +101 -0
- data/lib/catissue/migration/shims.rb +108 -0
- data/lib/catissue/migration/uniquify.rb +111 -0
- data/lib/catissue/resource.rb +84 -0
- data/lib/catissue/util/controlled_value.rb +29 -0
- data/lib/catissue/util/location.rb +116 -0
- data/lib/catissue/util/log.rb +30 -0
- data/lib/catissue/util/person.rb +31 -0
- data/lib/catissue/util/position.rb +54 -0
- data/lib/catissue/util/storable.rb +34 -0
- data/lib/catissue/util/storage_type_holder.rb +30 -0
- data/lib/catissue/version.rb +7 -0
- metadata +212 -0
data/History.txt
ADDED
data/LEGAL
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2010 Oregon Health & Science University Knight Cancer Institute
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person
|
4
|
+
obtaining a copy of this software and associated documentation
|
5
|
+
files (the "Software"), to deal in the Software without
|
6
|
+
restriction, including without limitation the rights to use,
|
7
|
+
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
8
|
+
copies of the Software, and to permit persons to whom the
|
9
|
+
Software is furnished to do so, subject to the following
|
10
|
+
conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be
|
13
|
+
included in all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
17
|
+
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
19
|
+
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
20
|
+
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
21
|
+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
22
|
+
OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
caRuby Tissue: caTissue API facade
|
2
|
+
===================================
|
3
|
+
|
4
|
+
**Home**: [http://caruby.rubyforge.com](http://caruby.rubyforge.com)
|
5
|
+
**Git**: [http://github.com/caruby/tissue](http://github.com/caruby/tissue)
|
6
|
+
**Author**: OHSU Knight Cancer Institute
|
7
|
+
**Copyright**: 2010
|
8
|
+
**License**: MIT License
|
9
|
+
**Latest Version**: 1.2.1
|
10
|
+
**Release Date**: November 23rd 2010
|
11
|
+
|
12
|
+
caRuby presents a JRuby facade that simplifies interaction with caBIG applications.
|
13
|
+
|
14
|
+
Feature List
|
15
|
+
------------
|
16
|
+
|
17
|
+
1. caTissue API wrapper.
|
18
|
+
|
19
|
+
2. Built on the caRuby Core.
|
20
|
+
|
21
|
+
3. Migration utility.
|
22
|
+
|
23
|
+
Installing
|
24
|
+
----------
|
25
|
+
|
26
|
+
jgem install caruby-tissue
|
27
|
+
|
28
|
+
Usage
|
29
|
+
-----
|
30
|
+
|
31
|
+
See the project [http://caruby.rubyforge.com](Home) Page for usage examples.
|
32
|
+
|
33
|
+
Changelog
|
34
|
+
---------
|
35
|
+
|
36
|
+
- **November.23.10**: 1.2.1 release
|
37
|
+
- Initial public release
|
38
|
+
|
39
|
+
Copyright
|
40
|
+
---------
|
41
|
+
|
42
|
+
caRuby © 2010 by [Oregon Health & Science University](mailto:loneyf@ohsu.edu).
|
43
|
+
caRuby is licensed under the MIT license. Please see the LICENSE and LEGAL
|
44
|
+
files for more information.
|
data/bin/crtdump
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
#!/usr/bin/env jruby
|
2
|
+
#
|
3
|
+
# crtdump: Dumps the content of a caTissue object to stdout
|
4
|
+
#
|
5
|
+
|
6
|
+
# load the caruby-tissue gem
|
7
|
+
require 'rubygems'
|
8
|
+
begin
|
9
|
+
gem 'caruby-tissue'
|
10
|
+
rescue LoadError
|
11
|
+
# if the gem is not available, then try a local source
|
12
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
13
|
+
end
|
14
|
+
|
15
|
+
# the default log file
|
16
|
+
DEF_LOG_FILE = 'log/catissue.log'
|
17
|
+
|
18
|
+
require 'catissue/cli/command'
|
19
|
+
|
20
|
+
# run the command
|
21
|
+
CaTissue::Command.new(:class, :id).execute do |opts, class_name, id|
|
22
|
+
# the search template
|
23
|
+
obj = CaTissue.const_get(class_name).new(:identifier=>id.to_i)
|
24
|
+
unless obj.find then
|
25
|
+
print("#{class_name} with identifier #{id} not found") and exit(-1)
|
26
|
+
end
|
27
|
+
# fetch the references
|
28
|
+
obj.references
|
29
|
+
# print the object graph
|
30
|
+
puts obj.dump
|
31
|
+
end
|
data/bin/crtexample
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
#!/usr/bin/env jruby
|
2
|
+
#
|
3
|
+
# crtexample: list and run caRuby Tissue examples
|
4
|
+
#
|
5
|
+
|
6
|
+
# load the caruby-tissue gem
|
7
|
+
require 'rubygems'
|
8
|
+
begin
|
9
|
+
gem 'caruby-tissue'
|
10
|
+
rescue LoadError
|
11
|
+
# if the gem is not available, then try a local source
|
12
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
13
|
+
end
|
14
|
+
|
15
|
+
require 'catissue/cli/example'
|
16
|
+
|
17
|
+
# run the command
|
18
|
+
CaTissue::CLI::Example.new.start
|
data/bin/crtextract
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
#!/usr/bin/env jruby
|
2
|
+
#
|
3
|
+
# crtextract: extracts caTissue records which changed during a time interval
|
4
|
+
#
|
5
|
+
# == Usage
|
6
|
+
#
|
7
|
+
# catissue-extract.rb [options]
|
8
|
+
#
|
9
|
+
# --help, -h:
|
10
|
+
# print this help message and exit
|
11
|
+
# --target, -t class:
|
12
|
+
# target class to extract (default Specimen)
|
13
|
+
# --log file, -l file:
|
14
|
+
# log file (default ./log/migration.log)
|
15
|
+
# --since date, -s date:
|
16
|
+
# earliest change date selection condition (optional)
|
17
|
+
# --before date, -b date:
|
18
|
+
# latest change date selection condition (optional)
|
19
|
+
# --on date, -b date:
|
20
|
+
# change date selection condition (optional)
|
21
|
+
# --debug, -d:
|
22
|
+
# print debug messages to log (optional)
|
23
|
+
#
|
24
|
+
# See the ohsu distribution doc/extract.html file for more information.
|
25
|
+
#
|
26
|
+
# == License
|
27
|
+
#
|
28
|
+
# This program is licensed under the terms of the +LEGAL+ file in
|
29
|
+
# the source distribution.
|
30
|
+
#
|
31
|
+
# load the required gems
|
32
|
+
require 'rubygems'
|
33
|
+
gem 'caruby-tissue'
|
34
|
+
|
35
|
+
require 'catissue/cli/command'
|
36
|
+
require 'catissue/extract/delta'
|
37
|
+
require 'catissue/extract/extractor'
|
38
|
+
|
39
|
+
# the command line specification
|
40
|
+
spec = [
|
41
|
+
[:version, "--version", "prints the version of caRuby Tissue and the supported caTissue releases"],
|
42
|
+
]
|
43
|
+
|
44
|
+
# run the command
|
45
|
+
CaRuby::Command.new(spec).execute do |opts|
|
46
|
+
if opts[:version] then puts "#{CaTissue::VERSION} for caTissue v#{CaTissue::CATISSUE_VERSIONS}" end
|
47
|
+
end
|
data/bin/crtmigrate
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
#!/usr/bin/env jruby
|
2
|
+
#
|
3
|
+
# crtmigrate: migrates a source file to caTissue
|
4
|
+
#
|
5
|
+
|
6
|
+
# load the required gems
|
7
|
+
require 'rubygems'
|
8
|
+
begin
|
9
|
+
gem 'caruby-tissue'
|
10
|
+
rescue LoadError
|
11
|
+
# if the gem is not available, then try a local source
|
12
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
13
|
+
end
|
14
|
+
|
15
|
+
require 'catissue/migration/command'
|
16
|
+
|
17
|
+
CaTissue::MigrateCommand.new.execute
|
data/bin/crtsmoke
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
#!/usr/bin/env jruby
|
2
|
+
#
|
3
|
+
# crtsmoke: Verifies a caTissue connection
|
4
|
+
#
|
5
|
+
|
6
|
+
# Don't print messages if the help or version option is set.
|
7
|
+
quiet = ARGV.include?('--help') || ARGV.include?('--version')
|
8
|
+
|
9
|
+
puts "Starting the smoke test..." unless quiet
|
10
|
+
|
11
|
+
puts "Loading the caruby-tissue gem..." unless quiet
|
12
|
+
|
13
|
+
# load the caruby-tissue gem
|
14
|
+
require 'rubygems'
|
15
|
+
begin
|
16
|
+
gem 'caruby-tissue'
|
17
|
+
rescue LoadError
|
18
|
+
# if the gem is not available, then try a local source
|
19
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
20
|
+
end
|
21
|
+
|
22
|
+
puts "Loading the caTissue client..." unless quiet
|
23
|
+
|
24
|
+
require 'catissue/cli/smoke'
|
25
|
+
|
26
|
+
# run the command
|
27
|
+
CaTissue::CLI::Smoke.new.start
|
@@ -0,0 +1,53 @@
|
|
1
|
+
Galena caRuby Tissue example
|
2
|
+
============================
|
3
|
+
|
4
|
+
Synopsis
|
5
|
+
--------
|
6
|
+
This directory contains the caRuby Tissue example for the hypothetical Galena Cancer Center.
|
7
|
+
The example files are a useful template for building your own migrator.
|
8
|
+
|
9
|
+
The Galena example demonstrates how to load the content of a custom tissue bank into caTissue.
|
10
|
+
The use cases illustrate several common migration impediments:
|
11
|
+
|
12
|
+
* Different terminology than caTissue
|
13
|
+
* Different associations than caTissue
|
14
|
+
* Incomplete input for caTissue
|
15
|
+
* Denormalized input
|
16
|
+
* Inconsistent input
|
17
|
+
* Input data scrubbing
|
18
|
+
* Aliquot inference
|
19
|
+
* Pre-defined caTissue protocol
|
20
|
+
|
21
|
+
Setup
|
22
|
+
-----
|
23
|
+
1. Run the `crtexample --list` command to display the Galena example location.
|
24
|
+
|
25
|
+
2. Copy the example into a location of your choosing.
|
26
|
+
|
27
|
+
3. Configure a caTissue client to connect to a test caTissue instance, as described in the
|
28
|
+
caTissue Technical Guide.
|
29
|
+
|
30
|
+
4. Define the caRuby Tissue access property file as described in
|
31
|
+
[http://caruby.tenderapp.com/faqs/getting-started/tissue_config](FAQ).
|
32
|
+
|
33
|
+
Migration
|
34
|
+
---------
|
35
|
+
The example migration input data resides in the `data` directory.
|
36
|
+
Each CSV input file holds one row for each specimen.
|
37
|
+
|
38
|
+
Each example has a field mapping configuration in the `conf/migration` directory.
|
39
|
+
For example, the `simple.csv` input file is migrated into caTissue using the
|
40
|
+
`simple_migration.yaml` configuration file.
|
41
|
+
|
42
|
+
Migrate the Galena `simple` example as follows:
|
43
|
+
|
44
|
+
1. Open a console in the copied Galena example location.
|
45
|
+
|
46
|
+
2. Run the following:
|
47
|
+
|
48
|
+
crtmigrate --file conf/migration/simple.yaml data/simple.yaml
|
49
|
+
|
50
|
+
3. Check the test database and verify that a there is a collection protocol
|
51
|
+
named `Galena CP.
|
52
|
+
|
53
|
+
The other examples are run in a similar manner.
|
@@ -0,0 +1,42 @@
|
|
1
|
+
#!/usr/bin/env jruby
|
2
|
+
#
|
3
|
+
# == Synopsis
|
4
|
+
#
|
5
|
+
# catissue-migrate-galena: migrates the Galena example to caTissue
|
6
|
+
#
|
7
|
+
# == Usage
|
8
|
+
#
|
9
|
+
# catissue-migrate-galena.rb [options] file
|
10
|
+
#
|
11
|
+
# See catissue-migrate.rb for the argments
|
12
|
+
#
|
13
|
+
# == License
|
14
|
+
#
|
15
|
+
# This program is licensed under the terms of the +LEGAL+ file in
|
16
|
+
# the source distribution.
|
17
|
+
|
18
|
+
# Load the caruby-tissue gem.
|
19
|
+
require 'rubygems'
|
20
|
+
begin
|
21
|
+
gem 'caruby-tissue'
|
22
|
+
rescue LoadError
|
23
|
+
# if the gem is not available, then try a local source
|
24
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
25
|
+
end
|
26
|
+
|
27
|
+
# Add the example library to the Ruby class load path.
|
28
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', 'examples', 'galena', 'lib')
|
29
|
+
|
30
|
+
# the default log file
|
31
|
+
DEF_LOG_FILE = 'log/migration.log'
|
32
|
+
|
33
|
+
# Load the caRuby classes.
|
34
|
+
require 'catissue'
|
35
|
+
require 'catissue/migration/command'
|
36
|
+
require 'galena/seed/defaults'
|
37
|
+
|
38
|
+
# Seed the database, if necessary.
|
39
|
+
Galena.seed
|
40
|
+
|
41
|
+
# Migrate the example input using the command line arguments.
|
42
|
+
CaTissue::CLI::Migrate.new.start
|
@@ -0,0 +1,43 @@
|
|
1
|
+
#!/usr/bin/env jruby
|
2
|
+
#
|
3
|
+
# == Synopsis
|
4
|
+
#
|
5
|
+
# catissue-seed-galena.rb: seeds the Galena example administrative objects in the database
|
6
|
+
#
|
7
|
+
# == Usage
|
8
|
+
#
|
9
|
+
# catissue-seed-galena.rb [options] file
|
10
|
+
#
|
11
|
+
# --help, -h:
|
12
|
+
# print this help message and exit
|
13
|
+
#
|
14
|
+
# --log file, -l file:
|
15
|
+
# log file (default ./log/migration.log)
|
16
|
+
#
|
17
|
+
# --debug, -d:
|
18
|
+
# print debug messages to log (optional)
|
19
|
+
#
|
20
|
+
# == License
|
21
|
+
#
|
22
|
+
# This program is licensed under the terms of the +LEGAL+ file in
|
23
|
+
# the source distribution.
|
24
|
+
|
25
|
+
# load the required gems
|
26
|
+
require 'rubygems'
|
27
|
+
begin
|
28
|
+
gem 'caruby-tissue'
|
29
|
+
rescue LoadError
|
30
|
+
# if the gem is not available, then try a local source
|
31
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
32
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', 'examples', 'galena', 'lib')
|
33
|
+
end
|
34
|
+
|
35
|
+
# the default log file
|
36
|
+
DEF_LOG_FILE = 'log/migration.log'
|
37
|
+
|
38
|
+
require 'catissue'
|
39
|
+
require 'catissue/cli/command'
|
40
|
+
|
41
|
+
require 'galena/seed/defaults'
|
42
|
+
|
43
|
+
CaTissue::Command.new.start { Galena::Seed.defaults.ensure_exists }
|
@@ -0,0 +1,7 @@
|
|
1
|
+
Protocol: CollectionProtocol.short_title
|
2
|
+
MRN: ParticipantMedicalIdentifier.medical_record_number
|
3
|
+
Initials: Participant.first_name, Participant.last_name
|
4
|
+
Frozen?: TissueSpecimen.specimen_type
|
5
|
+
SPN: SpecimenCollectionGroup.surgical_pathology_number
|
6
|
+
Collection Date: ReceivedEventParameters.timestamp
|
7
|
+
Quantity: TissueSpecimen.initial_quantity
|
@@ -0,0 +1,9 @@
|
|
1
|
+
# This is the Galena filter example migration configuration file.
|
2
|
+
|
3
|
+
# The field heading => CaTissue mapping file.
|
4
|
+
mapping: examples/galena/conf/migration/filter_fields.yaml
|
5
|
+
|
6
|
+
# The filter code.
|
7
|
+
shims: examples/galena/lib/galena/migration/filter_shims.rb
|
8
|
+
|
9
|
+
target: TissueSpecimen
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# This is the Galena frozen example migration field mapping file.
|
2
|
+
# This example extends the simple migration with storage fields
|
3
|
+
# and the frozen defaults.
|
4
|
+
|
5
|
+
MRN: ParticipantMedicalIdentifier.medical_record_number, Participant.last_name
|
6
|
+
SPN: SpecimenCollectionGroup.surgical_pathology_number
|
7
|
+
Collection Date: ReceivedEventParameters.timestamp
|
8
|
+
Quantity: TissueSpecimen.initial_quantity
|
9
|
+
Box: SpecimenPosition.container.name
|
10
|
+
X: SpecimenPosition.position_dimension_one
|
11
|
+
Y: SpecimenPosition.position_dimension_two
|
@@ -0,0 +1,9 @@
|
|
1
|
+
# This is the Galena frozen example migration configuration file.
|
2
|
+
# The frozen example extends the simple example with storage fields
|
3
|
+
# and shims.
|
4
|
+
|
5
|
+
mapping: examples/galena/conf/migration/frozen_fields.yaml
|
6
|
+
|
7
|
+
shims: examples/galena/lib/galena/migration/frozen_shims.rb
|
8
|
+
|
9
|
+
target: TissueSpecimen
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# This is the Galena general example migration field mapping file in the format:
|
2
|
+
# input field: caTissue property
|
3
|
+
|
4
|
+
Protocol: CollectionProtocol.short_title
|
5
|
+
|
6
|
+
Collection Site: Site.name
|
7
|
+
|
8
|
+
SPN: SpecimenCollectionGroup.surgical_pathology_number
|
9
|
+
|
10
|
+
PPI: CollectionProtocolRegistration.protocol_participant_identifier
|
11
|
+
|
12
|
+
MRN: ParticipantMedicalIdentifier.medical_record_number
|
13
|
+
|
14
|
+
First Name: Participant.first_name
|
15
|
+
|
16
|
+
Last Name: Participant.last_name
|
17
|
+
|
18
|
+
Collection Point: CollectionProtocolEvent.event_point
|
19
|
+
|
20
|
+
Receiver: ReceivedEventParameters.user.login_name
|
21
|
+
|
22
|
+
Received Timestamp: ReceivedEventParameters.timestamp
|
23
|
+
|
24
|
+
Collector: CollectionEventParameters.user.login_name
|
25
|
+
|
26
|
+
Collected Timestamp: CollectionEventParameters.timestamp
|
27
|
+
|
28
|
+
Diagnosis: SpecimenCollectionGroup.clinical_diagnosis
|
29
|
+
|
30
|
+
Anatomic Site: SpecimenCharacteristics.tissue_site
|
31
|
+
|
32
|
+
Label: TissueSpecimen.label
|
33
|
+
|
34
|
+
Type: TissueSpecimen.specimen_type
|
35
|
+
|
36
|
+
Quantity: TissueSpecimen.initial_quantity
|
37
|
+
|
38
|
+
Box: SpecimenPosition.container.name
|
39
|
+
|
40
|
+
X: SpecimenPosition.position_dimension_one
|
41
|
+
|
42
|
+
Y: SpecimenPosition.position_dimension_two
|