Overview
Information on the GMDN mapping project.
- ModuleId: 466707005
- RefsetId: 467614008
Setting Up
The following steps were used to create the projects:
- Load the terminology
- The data is available in the repo (see GMDN folder):
- git.ihtsdotools.org:ihtsdo/ihtsdo-mapping-tool-data.git
- The data is available in the repo (see GMDN folder):
- Create and configure the project
- Including users, scope definition, reports and QA checks.
- INCLUDES
- 707732003 |Device material (physical object)|
- EXCLUDES
- n/a
- Load the previously published map records.
- NOTE: the scope for "device" was computed for 20150131 and each SNOMED device not mapped to GMDN was added as a blank entry, allowing this scope to be reliably used going forward.
- After this, the effectiveTime = lastModified
- Compute workflow
Monthly GMDN Update
The data files for GMDN get updated monthly and should be loaded in a timely fashion. To get the data files onto the prod mapping server the following process is used:
- A .zip file of GMDN data is put on to the mapping.backup.ihtsdo Amazon S3 bucket
The "pullGmdn.csh" script on the prod server (in /home/ihtsdo/bin, and also in the repository as part of the prod config package) a cron job every 20 min to check for the availablility fo a GMDN package. NOTE: this requires the cron user to be able to run "sudo aws s3 ls mapping.backup.ihtsdo"
* 20 * * 0,1,2,3,4,5,6 csh /home/ihtsdo/config/bin/pullGmdn.csh > /home/ihtsdo/logs/pullGmdn.log 2>&1
- Any files containing "gmdn" in the filename are downloaded
- For each
- A file name with the pattern "gmdn.*(\d\d_\d\d).zip" is expected and a directory of the digits is created (e.g. 17_1) in the /home/ihtsdo/data/GMDN folder.
- If the filename does not follow this pattern, it gets unzipped into a directory matching the filename without .zip
- It is expected that this top-level directory contains the actual XML GMDN files
For example,
% ls -lt /home/ihtsdo/data/GMDN/17_1 total 93700 -rw-rw-r-- 1 ihtsdo ihtsdo 58681302 Jan 3 12:02 termcollectiveterm17_1.xml -rw-rw-r-- 1 ihtsdo ihtsdo 34357440 Jan 3 11:57 term17_1.xml -rw-rw-r-- 1 ihtsdo ihtsdo 1889072 Jan 3 11:56 collectiveterm17_1.xml -rw-rw-r-- 1 ihtsdo ihtsdo 1003824 Jan 3 11:56 cttreenode17_1.xml
As a separate (and currently manual process), the GMDN version should be loaded (the server must be taken down for this process). NOTE: if there are any problems, download the GMDN version (e.g. zip and copy to the "doc" folder and the file should be accessible, e.g. https://mapping.ihtsdotools.org/doc/17_1.zip) and try loading it into a local dev environment to track down the errors. The loader assumes the structure of the .xml files is constant - if it changes that may cause problems.
# This process takes about 10 min service tomcat7 stop cd ~/code/admin/loader mvn install -PGMDN -Dinput.dir=/home/ihtsdo/data/GMDN/17_1 \ -Dterminology=GMDN -Dversion=17_1 -D$run.config=/home/ihtsdo/config/config.properties
Determine the older version(s) of GMDN
mysql> select distinct destinationTerminologyVersion from map_projects where destinationTerminology='GMDN'; +-------------------------------+ | destinationTerminologyVersion | +-------------------------------+ | 16_10 | +-------------------------------+
Remove the older version, then restart the server
cd ~/code/admin/remover mvn install -PTerminology -Dterminology=GMDN -Dversion=16_10 -Drun.config=/home/ihtsdo/config/config.properties service tomcat7 start
- Navigate to the mapping tool (e.g. https://mapping.ihtsdotools.org).
- Log in as "mappingadmin"
- Change to the GMDN project
- Find the GMDN project in the "map projects" accordion
- Update the destination terminology version the latest version (e.g. 17_1)
- Save the map project.
- Concepts from the updated GMDN version should now be available to mappers.
Helpful Admin Commands
Remove
cd ~/code/admin/remover
mvn install -PMapRecords -D$rc -Drefset.id=467614008
mvn install -PTerminology -D$rc -Dterminology=GMDN -Dversion=latest
Load
cd ~/code/admin/loader
mvn install -PGMDN -Dinput.dir=/home/ihtsdo/data/GMDN/16_10 -Dterminology=GMDN -Dversion=17_1 -D$rc
cd ~/code/admin/loader
set file = /home/ihtsdo/data/doc/release/20160731/gmdn/der2_sRefset_SimpleMapActiveSnapshot_INT_20160731.txt
/bin/rm -f /tmp/x.txt
perl -ne '@_=split/\t/; print if $_[4] eq "467614008"' $file > /tmp/x.txt
mvn install -PSimpleMapRecords -D$rc -Dinput.file=/tmp/x.txt -Dmember.flag=true -Drecord.flag=false
Compute
cd ~/code/admin/loader
mvn install -PComputeWorkflow -D$rc -Drefset.id=467614008
Release
cd ~/code/admin/release
mvn install -PBeginRelease -D$rc -Drefset.id=467614008 -Dtest.mode.flag=true
mvn install -PRelease -D$rc -Drefset.id=467614008 -Doutput.dir=. -Dtime=20170131 -Dmodule.id=466707005 -Dtest.mode.flag=true
mvn install -PFinishRelease -D$rc -Drefset.id=467614008
mvn install -PBeginEditingCycle -D$rc -Drefset.id=467614008
Loading "Human Readable" View
Similar approach to ICD10 but using the "simple" map loader. e.g.
cd ~/code/admin/loader set file = ~/data/GMDN/*2016*txt grep -v 900000000000207008 $file | perl -pe 's/467614008/P467614008/;' >! x.txt mvn install -PSimpleMapRecords -Drun.config=/home/ihtsdo/config/config.properties -Dinput.file=x.txt -Dmember.flag=false -Drecord.flag=true >&! mvn.log
References/Links
- n/a