You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Next »

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
  • 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:

  1. A .zip file of GMDN data is put on to the mapping.backup.ihtsdo Amazon S3 bucket
  2. 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
  3. Any files containing "gmdn" in the filename are downloaded
  4. For each
    1. 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.
    2. If the filename does not follow this pattern, it gets unzipped into a directory matching the filename without .zip
    3. It is expected that this top-level directory contains the actual XML GMDN files
  5. 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
    
    
  6. 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
  7. Determine the older version(s) of GMDN

    mysql> select distinct destinationTerminologyVersion from map_projects where destinationTerminology='GMDN';
    +-------------------------------+
    | destinationTerminologyVersion |
    +-------------------------------+
    | 16_10                         |
    +-------------------------------+
  8. 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
  9. Navigate to the mapping tool (e.g. https://mapping.ihtsdotools.org).
    1. Log in as "mappingadmin"
    2. Change to the GMDN project
    3. Find the GMDN project in the "map projects" accordion
    4. Update the destination terminology version the latest version (e.g. 17_1)
    5. Save the map project.
       
  10. 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
  • n/a