SergiCSim/SNOMED-CT-AutomatedClinicalCoding

Source code from the Final Master Thesis of "Automated Clinical Coding of Medical Notes into the SNOMED CT Medical Terminology Structuring System" in the MSc in Fundamental Principles of Data Science of Universitat de Barcelona

Python

2

32 commits

updated Sep 2, 2024

See the code

README

SNOMED CT Automated Clinical Coding

This repository contains materials developed as part of a Master's Thesis titled "Automated Clinical Coding of Medical Notes into the SNOMED CT Medical Terminology Structuring System." This thesis was completed as part of the MSc in Fundamental Principles of Data Science program at the Universitat de Barcelona.

Repository Structure

The repository is organized into four main folders:

  • application/:

    • Contains the script for vital signs detection and an example script that demonstrates this function.
    • The examples correspond to those used in the written report.
  • data/:

    • This folder is where all notes and annotations data should be stored.
    • Separated train-test data should be placed in the train_test_data/ subfolder.
  • methods/:

    • Includes the two methods used in this project with the modifications detailed in the thesis.
    • The methods are from the two winners of the SNOMED CT Entity Linking Challenge.
  • submissions/:

    • This folder is for submission files containing predictions generated by the methods, which can then be used to calculate metrics.

Each folder contains further detailed information within.

Other Files

In addition to the folders, the repository includes three key files:

  • Data_exploration.ipynb:

    • A Jupyter notebook that explores the initial notes and annotations data.
  • metrics.py:

    • A Python script that contains functions to calculate metrics such as
    • macro-averaged intersection-over-union, F1-score, and macro-averaged F1-score.
  • Metrics_calculation.ipynb:

    • A Jupyter notebook that serves as an example of metric calculation using the data from the submissions/ folder.

Methods

The methods/ folder contains the two modified methods:

  1. First Method:

    • Original Method: The original source code for this method, along with instructions on how to run it and the necessary data, can be found at this link.
    • Modifications: The contribution includes adding the file score_mixing.py to the submissions/ folder, and modifying main.py.
  2. Second Method:

    • Original Method: The original source code for this method, along with instructions on how to run it and the necessary data, can be found at this link.
    • Modifications: The train-test process can be executed by running the train_test.sh bash script, which automatically divides the notes and annotations into train and test sets, and performs the training and testing processes.

BibTex reference format for citation for the Code

@misc{ACCSergi,
title={Automated Clinical Coding of Medical Notes into the SNOMED CT Medical Terminology Structuring System},
url={https://github.com/axelbrando/Mixture-Density-Networks-for-distribution-and-uncertainty-estimation/},
note={GitHub repository with the material of the Master Thesis in the field of automatic clinical coding.},
author={Sergi Cantón Simó},
  year={2024}
}

BibTex reference format for citation for the report of the Master's Thesis

@misc{ACCSergiMasterThesis,
title={Automated Clinical Coding of Medical Notes into the SNOMED CT Medical Terminology Structuring System},
url={https://github.com/axelbrando/Mixture-Density-Networks-for-distribution-and-uncertainty-estimation/blob/master/ABrando-MDN-MasterThesis.pdf},
note={Report of the Master's Thesis: Automated Clinical Coding of Medical Notes into the SNOMED CT Medical Terminology Structuring System.},
author={Sergi Cantón Simó},
  year={2024}
}

SergiCSim/SNOMED-CT-AutomatedClinicalCoding

Source code from the Final Master Thesis of "Automated Clinical Coding of Medical Notes into the SNOMED CT Medical Terminology Structuring System" in the MSc in Fundamental Principles of Data Science of Universitat de Barcelona

Python

2

32 commits

updated Sep 2, 2024

See the code

README

SNOMED CT Automated Clinical Coding

This repository contains materials developed as part of a Master's Thesis titled "Automated Clinical Coding of Medical Notes into the SNOMED CT Medical Terminology Structuring System." This thesis was completed as part of the MSc in Fundamental Principles of Data Science program at the Universitat de Barcelona.

Repository Structure

The repository is organized into four main folders:

  • application/:

    • Contains the script for vital signs detection and an example script that demonstrates this function.
    • The examples correspond to those used in the written report.
  • data/:

    • This folder is where all notes and annotations data should be stored.
    • Separated train-test data should be placed in the train_test_data/ subfolder.
  • methods/:

    • Includes the two methods used in this project with the modifications detailed in the thesis.
    • The methods are from the two winners of the SNOMED CT Entity Linking Challenge.
  • submissions/:

    • This folder is for submission files containing predictions generated by the methods, which can then be used to calculate metrics.

Each folder contains further detailed information within.

Other Files

In addition to the folders, the repository includes three key files:

  • Data_exploration.ipynb:

    • A Jupyter notebook that explores the initial notes and annotations data.
  • metrics.py:

    • A Python script that contains functions to calculate metrics such as
    • macro-averaged intersection-over-union, F1-score, and macro-averaged F1-score.
  • Metrics_calculation.ipynb:

    • A Jupyter notebook that serves as an example of metric calculation using the data from the submissions/ folder.

Methods

The methods/ folder contains the two modified methods:

  1. First Method:

    • Original Method: The original source code for this method, along with instructions on how to run it and the necessary data, can be found at this link.
    • Modifications: The contribution includes adding the file score_mixing.py to the submissions/ folder, and modifying main.py.
  2. Second Method:

    • Original Method: The original source code for this method, along with instructions on how to run it and the necessary data, can be found at this link.
    • Modifications: The train-test process can be executed by running the train_test.sh bash script, which automatically divides the notes and annotations into train and test sets, and performs the training and testing processes.

BibTex reference format for citation for the Code

@misc{ACCSergi,
title={Automated Clinical Coding of Medical Notes into the SNOMED CT Medical Terminology Structuring System},
url={https://github.com/axelbrando/Mixture-Density-Networks-for-distribution-and-uncertainty-estimation/},
note={GitHub repository with the material of the Master Thesis in the field of automatic clinical coding.},
author={Sergi Cantón Simó},
  year={2024}
}

BibTex reference format for citation for the report of the Master's Thesis

@misc{ACCSergiMasterThesis,
title={Automated Clinical Coding of Medical Notes into the SNOMED CT Medical Terminology Structuring System},
url={https://github.com/axelbrando/Mixture-Density-Networks-for-distribution-and-uncertainty-estimation/blob/master/ABrando-MDN-MasterThesis.pdf},
note={Report of the Master's Thesis: Automated Clinical Coding of Medical Notes into the SNOMED CT Medical Terminology Structuring System.},
author={Sergi Cantón Simó},
  year={2024}
}