{"id":18365276,"url":"https://github.com/mit-lcp/cwmed","last_synced_at":"2025-07-23T16:05:13.154Z","repository":{"id":201047877,"uuid":"704227200","full_name":"MIT-LCP/cwmed","owner":"MIT-LCP","description":"A Python package that facilities the conversion of clinical terminology between two different coding systems for interoperability.","archived":false,"fork":false,"pushed_at":"2023-10-18T19:39:29.000Z","size":269,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-05-10T14:04:34.137Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://pypi.org/project/cwmed/0.1.0/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MIT-LCP.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-12T20:08:04.000Z","updated_at":"2024-03-17T06:14:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"71c12657-b4fb-461d-9d1c-c9837b74de02","html_url":"https://github.com/MIT-LCP/cwmed","commit_stats":null,"previous_names":["mit-lcp/cwmed"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/MIT-LCP/cwmed","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MIT-LCP%2Fcwmed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MIT-LCP%2Fcwmed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MIT-LCP%2Fcwmed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MIT-LCP%2Fcwmed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MIT-LCP","download_url":"https://codeload.github.com/MIT-LCP/cwmed/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MIT-LCP%2Fcwmed/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266708371,"owners_count":23971942,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T23:13:02.151Z","updated_at":"2025-07-23T16:05:13.085Z","avatar_url":"https://github.com/MIT-LCP.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Crosswalk Medical\n\n## Introduction\n\nCrosswalk medical faciliates the conversion of clinical terminology between two different coding systems. This enables seemless data exchange, integration and interoperability between different healthcare information systems, overcoming barries imposed by disparate coding systems.\n\n## Documentation and Usage\n\nCrosswalk medical is a Python package to assist the semantic interoperability when federating clinical databases. The objective of the package is to guide the crosswalk from one standard source vocabulary to a target vocabulary by defining concepts and utilizing semantic relationships avaliable via downloadable source and target dictionaries on [Athena](https://athena.ohdsi.org/vocabulary/list) that capture associations between two different concepts.\n\nSee [Downloading Source and Target Vocabularies](#download-vocabs) section for downloading source and target vocabularies.\n\nSee [Installation](#install) section for package installation.\n\nSee [demo.ipynb](https://github.com/MIT-LCP/cwmed/blob/main/demo.ipynb) notebook file for example use cases.\n\n## \u003ca id=\"install\"\u003e\u003c/a\u003eInstallation\n\nThe distribution is hosted on PyPI at: https://pypi.org/project/cwmed/0.1.0/. The package can be directly installed from PyPI using pip:\n\n```sh\npip install cwmed\n```\n\n## \u003ca id=\"download-vocabs\"\u003e\u003c/a\u003eDownloading Source and Target Vocabularies\n\nRegister on [Athena](https://athena.ohdsi.org/vocabulary/list), log in, and select the desired source and target vocabularies for download.\n\nA link will be sent to your registered email to enable the download of a ZIP file that will include these dependencies:\n\nCONCEPT.csv: This dictionary contains the relation between concept_code and concept_id.\u003cbr\u003e\nCONCEPT_RELATIONSHIP.csv: This dictionary contains the relationships between the different `concept_id(s). We will use the \"Maps to\" type of relation to translate codes between dictionaries.\nThese files are dictionaries that need to be stored in the same folder as the python notebook. \n\nFew examaples of downloadable vocabularies avaliable on Athena:\n\nLOINC\t-\tLogical Observation Identifiers Names and Codes (Regenstrief Institute)\u003cbr\u003e\nSNOMED\t-\tSystematic Nomenclature of Medicine - Clinical Terms (IHTSDO)\u003cbr\u003e\nNDC\t-\tNational Drug Code (FDA and manufacturers)\u003cbr\u003e\nRxNorm Extension\t-\tRxNorm Extension (OHDSI)\u003cbr\u003e\nRxNorm\t-\tRxNorm (NLM)\u003cbr\u003e\nICD10CM\t-\tInternational Classification of Diseases, Tenth Revision, Clinical Modification (NCHS) \u003cbr\u003e\nICD9CM\t-\tInternational Classification of Diseases, Ninth Revision, Clinical Modification, Volume 1 and 2 (NCHS)\u003cbr\u003e\nICD9Proc\t-\tInternational Classification of Diseases, Ninth Revision, Clinical Modification, Volume 3 (NCHS)\u003cbr\u003e\nCPT4\t-\tCurrent Procedural Terminology version 4 (AMA)\u003cbr\u003e\nOMOP Extension\t-\tOMOP Extension (OHDSI)\u003cbr\u003e\n\n### Crosswalk Medical Recipe\n\nDefinitions:\n`concept_code`: code from the source vocabulary that represents one concept. \nExample: For the concept  (0.5 ML Fondaparinux sodium 5 MG/ML Prefilled Syringe [Arixtra] the concept_code for NDC is: 00007323001\n`concept_id`: code from [OMOP](https://www.ohdsi.org/data-standardization/) that corresponds to a concept_code. \nExample: For concept (0.5 ML Fondaparinux sodium 5 MG/ML Prefilled Syringe [Arixtra] the concept_id corresponding to concept_code 00007323001 is 44838028.\n\nEvery concept_code has a related `concept_id`. The `concept_code` does not converge to a `concept_id`: For the same concept(amoxicillin 250mg Oral Capsule), there will be different OMOP codes(concept_id) one for each vocabulary. Those  `concept_id`(s) are related in the dictionary concept_relationship.\n|DRUG | VOCAB | concept_code  | concept_id |\n |-------------------------------| -------- | ------------ | ------- |\namoxicillin 250 MG Oral Capsule | RX NORM | 308182      | 19073183 |\n amoxicillin 250 MG Oral Capsule| NDC     | 44420386 | 43858035231 | \n \n Every `concept_code` has a different `concept_id` even though they represent the same concept in the real world. In the above table, the same drug has two different `concept_code`s for each vocabulary and also a different `concept_id`.\n\n\n### Use Case\n\nUse Case: Translate [amoxicillin 250 MG Oral Capsule] from RxNorm code to NDC code.\n\nStep 1:\nTranslate the source code to the OMOP code.\nCONCEPT_CODE(SOURCE CODE)--  CONCEPT  --\u003e CONCEPT_ID(OMOP CODE)\n\n\n| VOCAB | concept_code (RX NORM) | concept_id |\n| -------- | ------------ | ------- |\n| RX NORM | 308182      | 19073183 |\n\nStep 2:\nUse the concept_relationship dictionary to relate the `concept_id` obtained from step 1 and map it to the target vocabulary `concept_id` .\n\nCONCEPT_ID_1(OMOP CODE FROM SOURCE VOCAB) --\u003e CONCEPT_RELATIONSHIP --\u003e CONCEPT_ID_2(OMOP CODE FROM TARGET VOCAB)\n\nsource concept_id is concept_id_1 and target concept_id is concept_id_2\n\n| concept_id_1 | concept_id_2 |\n| --------- | ---------- |\n| 19073183  | 44420386 |\n\nStep 3:\nUse the new concept_id_2  to obtain the `concept_code` of the target vocabulary. \n\nCONCEPT_ID_2(OMOP CODE FROM TARGET VOCAB) --\u003eCONCEPT--\u003e CONCEPT_CODE(TARGET CODE)\n\n| VOCAB | concept_id| concept_code (NDC) | \n| -------- | ------------ | ------- |\n| NDC     | 44420386 | 43858035231 | \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmit-lcp%2Fcwmed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmit-lcp%2Fcwmed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmit-lcp%2Fcwmed/lists"}