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.
Files changed (133) hide show
  1. data/History.txt +4 -0
  2. data/LEGAL +5 -0
  3. data/LICENSE +22 -0
  4. data/README.md +44 -0
  5. data/bin/crtdump +31 -0
  6. data/bin/crtexample +18 -0
  7. data/bin/crtextract +47 -0
  8. data/bin/crtmigrate +17 -0
  9. data/bin/crtsmoke +27 -0
  10. data/examples/galena/README.md +53 -0
  11. data/examples/galena/bin/migrate.rb +42 -0
  12. data/examples/galena/bin/seed.rb +43 -0
  13. data/examples/galena/conf/extract/simple_fields.yaml +4 -0
  14. data/examples/galena/conf/migration/filter_fields.yaml +7 -0
  15. data/examples/galena/conf/migration/filter_migration.yaml +9 -0
  16. data/examples/galena/conf/migration/frozen_fields.yaml +11 -0
  17. data/examples/galena/conf/migration/frozen_migration.yaml +9 -0
  18. data/examples/galena/conf/migration/general_fields.yaml +42 -0
  19. data/examples/galena/conf/migration/general_migration.yaml +9 -0
  20. data/examples/galena/conf/migration/simple_fields.yaml +30 -0
  21. data/examples/galena/conf/migration/simple_migration.yaml +7 -0
  22. data/examples/galena/conf/migration/small_fields.yaml +24 -0
  23. data/examples/galena/conf/migration/small_migration.yaml +9 -0
  24. data/examples/galena/data/filter.csv +1 -0
  25. data/examples/galena/data/frozen.csv +1 -0
  26. data/examples/galena/data/general.csv +1 -0
  27. data/examples/galena/data/minimal.csv +1 -0
  28. data/examples/galena/data/simple.csv +1 -0
  29. data/examples/galena/data/small.csv +1 -0
  30. data/examples/galena/doc/CaTissue.html +93 -0
  31. data/examples/galena/doc/CaTissue/CollectionProtocolRegistration.html +181 -0
  32. data/examples/galena/doc/CaTissue/Participant.html +241 -0
  33. data/examples/galena/doc/CaTissue/SpecimenCollectionGroup.html +190 -0
  34. data/examples/galena/doc/CaTissue/StorageContainer.html +179 -0
  35. data/examples/galena/doc/CaTissue/TissueSpecimen.html +320 -0
  36. data/examples/galena/doc/Galena.html +290 -0
  37. data/examples/galena/doc/Galena/Seed.html +203 -0
  38. data/examples/galena/doc/Galena/Seed/Defaults.html +646 -0
  39. data/examples/galena/doc/_index.html +188 -0
  40. data/examples/galena/doc/class_list.html +36 -0
  41. data/examples/galena/doc/css/common.css +1 -0
  42. data/examples/galena/doc/css/full_list.css +53 -0
  43. data/examples/galena/doc/css/style.css +307 -0
  44. data/examples/galena/doc/file.README.html +108 -0
  45. data/examples/galena/doc/file_list.html +38 -0
  46. data/examples/galena/doc/frames.html +13 -0
  47. data/examples/galena/doc/index.html +108 -0
  48. data/examples/galena/doc/js/app.js +202 -0
  49. data/examples/galena/doc/js/full_list.js +149 -0
  50. data/examples/galena/doc/js/jquery.js +154 -0
  51. data/examples/galena/doc/method_list.html +179 -0
  52. data/examples/galena/doc/top-level-namespace.html +112 -0
  53. data/examples/galena/lib/README.html +33 -0
  54. data/examples/galena/lib/galena.rb +8 -0
  55. data/examples/galena/lib/galena/cli/seed.rb +43 -0
  56. data/examples/galena/lib/galena/migration/filter_shims.rb +43 -0
  57. data/examples/galena/lib/galena/migration/frozen_shims.rb +54 -0
  58. data/examples/galena/lib/galena/seed/defaults.rb +97 -0
  59. data/lib/catissue.rb +26 -0
  60. data/lib/catissue/cli/command.rb +51 -0
  61. data/lib/catissue/cli/example.rb +31 -0
  62. data/lib/catissue/cli/migrate.rb +60 -0
  63. data/lib/catissue/cli/smoke.rb +45 -0
  64. data/lib/catissue/database.rb +451 -0
  65. data/lib/catissue/database/annotation/annotatable_service.rb +25 -0
  66. data/lib/catissue/database/annotation/annotation_service.rb +79 -0
  67. data/lib/catissue/database/annotation/annotator.rb +84 -0
  68. data/lib/catissue/database/annotation/entity_manager.rb +10 -0
  69. data/lib/catissue/database/annotation/integration_service.rb +87 -0
  70. data/lib/catissue/database/controlled_value_finder.rb +43 -0
  71. data/lib/catissue/database/controlled_values.rb +162 -0
  72. data/lib/catissue/domain/abstract_domain_object.rb +8 -0
  73. data/lib/catissue/domain/abstract_position.rb +22 -0
  74. data/lib/catissue/domain/abstract_specimen.rb +288 -0
  75. data/lib/catissue/domain/abstract_specimen_collection_group.rb +25 -0
  76. data/lib/catissue/domain/address.rb +13 -0
  77. data/lib/catissue/domain/cancer_research_group.rb +11 -0
  78. data/lib/catissue/domain/capacity.rb +34 -0
  79. data/lib/catissue/domain/check_in_check_out_event_parameter.rb +19 -0
  80. data/lib/catissue/domain/collection_event_parameters.rb +13 -0
  81. data/lib/catissue/domain/collection_protocol.rb +177 -0
  82. data/lib/catissue/domain/collection_protocol_event.rb +108 -0
  83. data/lib/catissue/domain/collection_protocol_registration.rb +108 -0
  84. data/lib/catissue/domain/consent_tier_response.rb +13 -0
  85. data/lib/catissue/domain/consent_tier_status.rb +29 -0
  86. data/lib/catissue/domain/container.rb +234 -0
  87. data/lib/catissue/domain/container_position.rb +21 -0
  88. data/lib/catissue/domain/container_type.rb +131 -0
  89. data/lib/catissue/domain/department.rb +13 -0
  90. data/lib/catissue/domain/disposal_event_parameters.rb +13 -0
  91. data/lib/catissue/domain/embedded_event_parameters.rb +10 -0
  92. data/lib/catissue/domain/external_identifier.rb +22 -0
  93. data/lib/catissue/domain/frozen_event_parameters.rb +10 -0
  94. data/lib/catissue/domain/institution.rb +13 -0
  95. data/lib/catissue/domain/new_specimen_array_order_item.rb +35 -0
  96. data/lib/catissue/domain/order_details.rb +25 -0
  97. data/lib/catissue/domain/participant.rb +138 -0
  98. data/lib/catissue/domain/participant_medical_identifier.rb +38 -0
  99. data/lib/catissue/domain/password.rb +11 -0
  100. data/lib/catissue/domain/race.rb +11 -0
  101. data/lib/catissue/domain/received_event_parameters.rb +25 -0
  102. data/lib/catissue/domain/scg_event_parameters.rb +11 -0
  103. data/lib/catissue/domain/site.rb +30 -0
  104. data/lib/catissue/domain/specimen.rb +456 -0
  105. data/lib/catissue/domain/specimen_array.rb +47 -0
  106. data/lib/catissue/domain/specimen_array_content.rb +19 -0
  107. data/lib/catissue/domain/specimen_array_type.rb +20 -0
  108. data/lib/catissue/domain/specimen_characteristics.rb +20 -0
  109. data/lib/catissue/domain/specimen_collection_group.rb +412 -0
  110. data/lib/catissue/domain/specimen_event_parameters.rb +111 -0
  111. data/lib/catissue/domain/specimen_position.rb +38 -0
  112. data/lib/catissue/domain/specimen_protocol.rb +34 -0
  113. data/lib/catissue/domain/specimen_requirement.rb +143 -0
  114. data/lib/catissue/domain/storage_container.rb +204 -0
  115. data/lib/catissue/domain/storage_type.rb +82 -0
  116. data/lib/catissue/domain/transfer_event_parameters.rb +53 -0
  117. data/lib/catissue/domain/user.rb +100 -0
  118. data/lib/catissue/extract/command.rb +31 -0
  119. data/lib/catissue/extract/delta.rb +62 -0
  120. data/lib/catissue/extract/extractor.rb +99 -0
  121. data/lib/catissue/migration/migrator.rb +101 -0
  122. data/lib/catissue/migration/shims.rb +108 -0
  123. data/lib/catissue/migration/uniquify.rb +111 -0
  124. data/lib/catissue/resource.rb +84 -0
  125. data/lib/catissue/util/controlled_value.rb +29 -0
  126. data/lib/catissue/util/location.rb +116 -0
  127. data/lib/catissue/util/log.rb +30 -0
  128. data/lib/catissue/util/person.rb +31 -0
  129. data/lib/catissue/util/position.rb +54 -0
  130. data/lib/catissue/util/storable.rb +34 -0
  131. data/lib/catissue/util/storage_type_holder.rb +30 -0
  132. data/lib/catissue/version.rb +7 -0
  133. metadata +212 -0
data/History.txt ADDED
@@ -0,0 +1,4 @@
1
+ === 1.2.1 / 2010-11-23
2
+
3
+ * Initial public release
4
+
data/LEGAL ADDED
@@ -0,0 +1,5 @@
1
+ LEGAL NOTICE INFORMATION
2
+ ------------------------
3
+
4
+ All the files in this distribution are covered under either the MIT
5
+ license (see the file LICENSE).
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,4 @@
1
+ MRN: specimen_collection_group.registration.participant_identifier
2
+ SPN: specimen_collection_group.surgical_pathology_number
3
+ Collection Date: specimen_collection_group.collection_event_parameters.timestamp
4
+ Quantity: initial_quantity
@@ -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