ohdsi / oncologywg Goto Github PK
View Code? Open in Web Editor NEWOncology Working Group Repository
Home Page: https://ohdsi.github.io/OncologyWG
License: Apache License 2.0
Oncology Working Group Repository
Home Page: https://ohdsi.github.io/OncologyWG
License: Apache License 2.0
Before:
concept_id | concept_name | concept_code | valid_start_date | valid_end_date | invalid_reason |
---|---|---|---|---|---|
1 | Panic disorder without agoraphobia | F41.0 | 1/1/2007 | 12/31/2099 | |
2 | Trichiasis without entropian | H02.05 | 1/1/2012 | 12/31/2099 |
After:
concept_id | concept_name | concept_code | valid_start_date | valid_end_date | invalid_reason |
---|---|---|---|---|---|
1 | Panic disorder [episodic paroxysmal anxiety] | F41.0 | 1/1/2007 | 12/31/2099 | |
2 | Trichiasis without entropion | H02.05 | 1/1/2012 | 12/31/2099 |
Before:
concept_id | concept_name | concept_code | valid_start_date | valid_end_date | invalid_reason |
---|---|---|---|---|---|
3 | Subluxation and dislocation of proximal interphalangeal joint of thumb | S63.13 | 1/1/2012 | 12/31/2099 | |
4 | Subluxation and dislocation of distal interphalangeal joint of thumb | S63.14 | 1/1/2012 | 12/31/2099 |
After:
concept_id | concept_name | concept_code | valid_start_date | valid_end_date | invalid_reason |
---|---|---|---|---|---|
3 | Subluxation and dislocation of proximal interphalangeal joint of thumb | S63.13 | 1/1/2012 | 9/30/2017 | D |
4 | Subluxation and dislocation of distal interphalangeal joint of thumb | S63.14 | 1/1/2012 | 9/30/2017 | D |
Before:
concept_id_1 | concept_id_2 | relationship_id | valid_start_date | valid_end_date | invalid_reason |
---|---|---|---|---|---|
22274(Neoplasm of uncertain behavior of larynx) | 4240671 (Anatomical structure) | Has finding site | 7/31/2011 | 12/31/2099 |
After:
concept_id_1 | concept_id_2 | relationship_id | valid_start_date | valid_end_date | invalid_reason |
---|---|---|---|---|---|
22274(Neoplasm of uncertain behavior of larynx) | 4240671 (Anatomical structure) | Has finding site | 7/31/2011 | 1/30/2013 | D |
22274(Neoplasm of uncertain behavior of larynx) | 4262229 (Laryngeal structure) | Has finding site | 1/31/2013 | 12/31/2099 |
concept_id | concept_name | domain_id | vocabulary_id | concept_class_id | standard_concept | concept_code | valid_start_date | valid_end_date | invalid_reason |
---|---|---|---|---|---|---|---|---|---|
next concept id | Tumor Registry | Type Concept | Meas Type | Meas Type | S | OMOP generated | 1970-01-01 | 2099-12-31 |
We are planning on ingesting the Observational Research in Oncology Toolbox(OROT) into the OMOP vocabulary tables to provide a bridge between the low-level codes used in observational sources (EHRs/claims databases) to higher-level Procedure/Treatment concepts to be placed in the episode_object_concept_id column in the EPISODE table for 'Treatment Regimen '/'Treatment Cycle' episodes. See here: https://seer.cancer.gov/oncologytoolbox/
We are asking NCI/SEER to add some formal ontology properties to OROT to facilitate the ongoing ingestion of OROT into the OMOP tables.
Formal Ontology Properties
This documentation will be the basis for a public facing website and content for tutorials.
At the CDM and Vocabulary Development Working Group meeting on 12/4/2018, the issue was raised whether the linkages between the EPISODE table and clinical event tables should be made at all levels of an episode hierarchy or only at the leaf. A convention should be decided upon and recommended in the EPISODE_EVENT table conventions documentation. Options:
Dmytry's ingestion script needs to be frontloaded with a curated list of NAACCR items/NAACCR item codes. The curated list should be maintained in the OncologyWG repository. The curated NAACCR list should identify the following:
At the 4/16/2019 OHDSI Oncology Workgroup meeting we decided the following:
'Hemong.org' regimen concepts should be placed in the 'Drug' domain as standard concepts. 'Hemong.org' regimen category concepts should be placed in the 'Drug' domain as standard concepts.
Duplicates #22
We need to calculate the delta between different versions of NAACCR. The SEER API should be able to be used at least on the NAACCR item level and non-schema specific NAACCR item code level to give us the ability to compare different versions of NAACCR. If NAACCR item numbers and NAACCR item codes are stable over time then the representation of NAACCR version within OMOP will be unnecessary.
The idea is that in the end NAACCR will be a 'source' vocabulary and that Nebraska Lexicon will be the 'standard' vocabulary for condition/disease episodes. This will task will be a placeholder for mapping all anatomic sites in NAACCR to all anatomic sites in the Nebraska Lexicon. Each anatomic site or groups of anatomic sites will have separate tasks.
@dimshitc has already published the first version of the Hemonc.org regimen ontology within Athena. See here for an example Hemonc.org regimen:
http://athena.ohdsi.org/search-terms/terms?conceptClass=Regimen&vocabulary=HemOnc&page=1&pageSize=15&query=R-CHOP
So no need to review the staging area. We can review the real thing.
We need to update the
ETL Instructions for Mapping ICDO to SNOMED'
to include NAACCR as a source and target the Episode table.
A modified measurement table or a new modifier table or something else.
Recommend creating a new 'Procedure/Treatment' domain. There exist currently concepts in the 'Procedure Domain' that are more akin to the concept of a Treatment than a Procedure. These concepts most properly belong to a Treatment domain but we don't want to force users to create Treatment Episodes that just want to stick with Procedures.
Ingest concepts into the 'Procedure/Treatment' domain based on NAACCR treatment variables. Reuse standardized SNOMED concepts when possible. Will require moving some concepts from the 'Procedure' domain to the new 'Procedure/Treatment' domain.
CONCEPT
concept_id | concept_name | domain_id | vocabulary_id | concept_class_id | standard_concept | concept_code | valid_start_date | valid_end_date | invalid_reason |
---|---|---|---|---|---|---|---|---|---|
4273629 | Chemotherapy | Procedure/Treatment | SNOMED | Procedure | S | 367336001 | 1969-12-31 | 2099-12-30 | |
4061650 | Hormone therapy | Procedure/Treatment | SNOMED | Procedure | S | 169413002 | 1969-12-31 | 2099-12-30 | |
4295112 | Immunological therapy | Procedure/Treatment | SNOMED | Procedure | S | 76334006 | 1969-12-31 | 2099-12-30 | |
4039581 | Combination therapy | Procedure/Treatment | SNOMED | Procedure | S | 229554006 | 1969-12-31 | 2099-12-30 | |
? | External beam, NOS | Procedure/Treatment | NAACCR | NAACCR Code | S | 1506-01 | 1969-12-31 | 2099-12-30 | |
? | External beam, NOS | Procedure/Treatment | NAACCR | NAACCR Code | S | 1506-01 | 1969-12-31 | 2099-12-30 | |
? | External beam, photons | Procedure/Treatment | NAACCR | NAACCR Code | S | 1506-02 | 1969-12-31 | 2099-12-30 | |
? | External beam, protons | Procedure/Treatment | NAACCR | NAACCR Code | S | 1506-03 | 1969-12-31 | 2099-12-30 | |
? | External beam, electrons | Procedure/Treatment | NAACCR | NAACCR Code | S | 1506-04 | 1969-12-31 | 2099-12-30 | |
? | External beam, neutrons | Procedure/Treatment | NAACCR | NAACCR Code | S | 1506-05 | 1969-12-31 | 2099-12-30 | |
? | External beam, carbon ions | Procedure/Treatment | NAACCR | NAACCR Code | S | 1506-06 | 1969-12-31 | 2099-12-30 | |
? | Brachytherapy, NOS | Procedure/Treatment | NAACCR | NAACCR Code | S | 1506-07 | 1969-12-31 | 2099-12-30 | |
? | Brachytherapy, intracavitary, LDR | Procedure/Treatment | NAACCR | NAACCR Code | S | 1506-08 | 1969-12-31 | 2099-12-30 | |
? | Brachytherapy, intracavitary, HDR | Procedure/Treatment | NAACCR | NAACCR Code | S | 1506-09 | 1969-12-31 | 2099-12-30 | |
? | Brachytherapy, Interstitial, LDR | Procedure/Treatment | NAACCR | NAACCR Code | S | 1506-10 | 1969-12-31 | 2099-12-30 | |
? | Brachytherapy, Interstitial, HDR | Procedure/Treatment | NAACCR | NAACCR Code | S | 1506-11 | 1969-12-31 | 2099-12-30 | |
? | Brachytherapy, electronic | Procedure/Treatment | NAACCR | NAACCR Code | S | 1506-12 | 1969-12-31 | 2099-12-30 | |
? | Radioisotopes, NOS | Procedure/Treatment | NAACCR | NAACCR Code | S | 1506-13 | 1969-12-31 | 2099-12-30 | |
? | Radioisotopes, Radium-232 | Procedure/Treatment | NAACCR | NAACCR Code | S | 1506-14 | 1969-12-31 | 2099-12-30 | |
? | Radioisotopes, Strontium-89 | Procedure/Treatment | NAACCR | NAACCR Code | S | 1506-15 | 1969-12-31 | 2099-12-30 | |
? | Radioisotopes, Strontium-90 | Procedure/Treatment | NAACCR | NAACCR Code | S | 1506-16 | 1969-12-31 | 2099-12-30 |
For example NAACCR #752 'Tumor Size Clinical', has the following list of NAACCR item codes
000 No mass/tumor found
001 1 mm or described as less than 1 mm
002-988 Exact size in millimeters (2 mm to 988 mm)
989 989 millimeters or larger
990 Microscopic focus or foci only and no size of focus is given
999 Unknown
Size not stated
Not documented in patient record
Size of tumor cannot be assessed
Not applicable
Rimma's proposed solution: The NAACCR item should contain no list of possible values in the 'Meas Value' domain and should be recorded in Measurement.value_as_number as it appears in the source.
There are two types of provenance concepts: one describing diagnostic source (e.g. pathologist, clinician) and another describing record source (e.g. pathology report, EHR). Which one should we use? Or should we simply import these as separate Measurement entries?
See input
Now that Hemonc.org is in the OMOP vocabulary tables we can do this on our side.
In the most current version of the Oncology/Episode of Care Combined Proposal #23, the polymorphic pair of columns that allow the EPISODE_EVENT table to reference any clinical event table are named 'event_id' and 'event_table_concept_id'. This diverges from the current OMOP naming convention for polymorphic column pairs:
Options:
DOMAIN
domain_id | domain_name | domain_concept_id |
---|---|---|
Episode | Episode | ? |
VOCABULARY
vocabulary_id | vocabulary_name | vocabulary_reference | vocabulary_version | vocabulary_concept_id |
---|---|---|---|---|
Episode | OMOP Episode | OMOP generated | ? |
CONCEPT_CLASS
concept_class_id | concept_class_name | concept_class_concept_id |
---|---|---|
Disease Episode | Disease Episode | ? |
Treatment Episode | Treatment Episode | ? |
Episode of Care | Episode of Care | ? |
CONCEPT
concept_id | concept_name | domain_id | vocabulary_id | concept_class_id | standard_concept | concept_code | valid_start_date | valid_end_date | invalid_reason |
---|---|---|---|---|---|---|---|---|---|
? | Episode | Metadata | Domain | Domain | OMOP generated | 1970-01-01 | 2099-12-31 | ||
? | Disease Episode | Metadata | Concept Class | Concept Class | OMOP generated | 1970-01-01 | 2099-12-31 | ||
? | Treatment Episode | Metadata | Concept Class | Concept Class | OMOP generated | 1970-01-01 | 2099-12-31 | ||
? | Episode of Care Episode | Metadata | Concept Class | Concept Class | OMOP generated | 1970-01-01 | 2099-12-31 | ||
? | Disease First Occurrence | Episode | Episode | Disease Episode | S | OMOP generated | 1970-01-01 | 2099-12-31 | |
? | Disease Recurrence | Episode | Episode | Disease Episode | S | OMOP generated | 1970-01-01 | 2099-12-31 | |
? | Disease Remission | Episode | Episode | Disease Episode | S | OMOP generated | 1970-01-01 | 2099-12-31 | |
? | Treatment Regimen | Episode | Episode | Treatment Episode | S | OMOP generated | 1970-01-01 | 2099-12-31 | |
? | Treatment Cycle | Episode | Episode | Treatment Episode | S | OMOP generated | 1970-01-01 | 2099-12-31 | |
? | Episode of Care | Episode | Episode | Episode of Care | S | OMOP generated | 1970-01-01 | 2099-12-31 |
See decision made in #20. The DDL SQL does not follow this decision. Needs to be fixed.
Options:
Currently the SEER API only provides possible values for Union for International Cancer Control (UICC) TNM 7th edition classification? TNM categories, stage groups, and definitions are based on the Union for International Cancer Control (UICC) TNM 7th edition classification. UICC 7th edition and AJCC 7th edition TNM categories and stage groups are very similar; however, there are some differences.
Should we try to obtain possible values for other TNM versions? This would require that ETL writers would need to scope the look up of their staging variables with NAACCR item #1060 TNM Edition Number. See here:http://datadictionary.naaccr.org/default.aspx?c=10#1060
VOCABULARY
vocabulary_id | vocabulary_name | vocabulary_reference | vocabulary_version | vocabulary_concept_id |
---|---|---|---|---|
Episode Tpe | OMOP Episode Type | OMOP generated | ? |
CONCEPT_CLASS
concept_class_id | concept_class_name | concept_class_concept_id |
---|---|---|
Episode Type | Episode Type | ? |
CONCEPT
concept_id | concept_name | domain_id | vocabulary_id | concept_class_id | standard_concept | concept_code | valid_start_date | valid_end_date | invalid_reason |
---|---|---|---|---|---|---|---|---|---|
? | Episode Type | Metadata | Concept Class | Concept Class | OMOP generated | 1970-01-01 | 2099-12-31 | ||
? | Episode Type | Metadata | Vocabulary | Vocabulary | OMOP generated | 1970-01-01 | 2099-12-31 | ||
? | Pre-made treatment abstraction with pre-made clinical events connections. | Type Concept | Episode Type | Episode Type | S | OMOP generated | 1970-01-01 | 2099-12-31 | |
? | Pre-made treatment abstraction with algorithmically derived clinical events connections. | Type Concept | Episode Type | Episode Type | S | OMOP generated | 1970-01-01 | 2099-12-31 | |
? | Pre-made treatment abstraction with no clinical events connections. | Type Concept | Episode Type | Episode Type | S | OMOP generated | 1970-01-01 | 2099-12-31 | |
? | Algorithmically derived treatment abstraction and clinical event connections. | Type Concept | Episode Type | Episode Type | S | OMOP generated | 1970-01-01 | 2099-12-31 |
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.