caruby-tissue 1.2.1
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/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
|