caruby-tissue 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
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