diff --git a/CHANGELOG.md b/CHANGELOG.md index 9d678bb..4def9a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,45 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ## [Unreleased] +## [v1.8.4] - 2026-10-28 + +Custom concepts with a standard equivalent move to the standard concept, and one missing answer is added. The candidates came from the vocabulary review of v1.8.3 against `omop_vocab` (`validate_concept_map_vocab.sql` V8 and a name search ignoring case and punctuation); each target's class, standard status and validity were confirmed in `omop_vocab`. Seven rows are edited in place and one is appended (line 2144), so every existing line number is the same as in v1.8.3. The ETL must apply these changes (OBSERVATION and CONDITION_OCCURRENCE concepts). + +### Changed — custom → standard + +| Line | Row | v1.8.3 | v1.8.4 | +|---|---|---|---| +| 929 | `pxne16` question "The crime rate in my neighborhood makes it unsafe to go on walks during the day…" | 2005200121 (custom) | **40192414** (PPI `ips_16`, Question, standard; same wording), exactMatch 1 | +| 957, 964 | `pxne4`, `pxne5` answer 88 "Does not apply to my neighborhood" | 2005200268 (custom) | **40192520** (PPI `SDOH_9`, Answer, standard; same wording), exactMatch 1 | +| 1869 | `mh_a1c` "Yes" (Condition) "Elevated A1C levels (elevated blood sugars)" | 2005200547 (custom) | **4214376** *Hyperglycemia* (SNOMED 80394007, Condition, standard), closeMatch 0.75 | +| 1849 | `mh_a1c` question `MODIFIER` | 2005200547 | 4214376 (follows line 1869, as for the v1.5 health-history conditions) | + +- `TARGET_DOMAIN_ID` of the two answer rows stays *Meas Value*: the answer is written as `value_as_concept_id` of the OBSERVATION. The vocabulary domain of 40192520 is Observation (PPI answers), so `validate_concept_map_vocab.sql` V2 lists these two rows as a deliberate domain override. +- `mh_a1c` "Yes" now writes a standard CONDITION_OCCURRENCE (hyperglycemia) that OHDSI cohorts can find. closeMatch 0.75: the answer reports elevated A1C (blood sugar), which `mhterm_predm` and `mhterm_dm2` complement as separate items. +- The custom concepts 2005200121, 2005200268 and 2005200547 are no longer referenced by the map but are kept in `concept_manual.csv` (IDs are never reused). +- Reviewed and not changed: the other `pxne*` items (PPI `ips_1`–`ips_7` are non-standard and map to the PhenX LOINC questions the map already uses; `pxne8`–`pxne15` and `pxne17` have no PPI question); the insurance block `pxhic1`–`pxhic7` (All of Us models insurance as one non-standard question, `basics_11a`, with the insurance types as answers, so `cope_a_193` *Medicare* is an Answer, not a question concept); `viaomthd` *EVA* (the same-name standard concept 42066053 is a Geography place); `pxhic*` *Covered* (SNOMED 255334000 is a general qualifier, not insurance coverage); `mhoccur_circ`, `mhoccur_cvdot` (compound answers; only very broad standard parents exist). + +### Added + +- `eos_dsvst` answer 3 "Devices Returned" (line 2144) → **2005200589** *Device returned* (existing AI-READI custom concept, as used for `dcvgmenyn` and `dvenvenyn`), exactMatch 1, in the format of line 267. Stages 0–2 were mapped and stage 3 was not; the current data has 3 records with stage 3. + +### Changed — metadata + +- `SRC_CODE` filled for the two imported ratio questions that had it blank: line 554 `import_buncreatinineratio` → 31045-8, line 584 `import_ag_ratio` → 1759-0 (the LOINC code, as for the other imported labs). The ETL and the unit lookup match on `FIELD_ID`, so this changes nothing in the data. + +### Added — release check script + +- `redCapDataDictionaryWithExtension/scripts/validate_concept_map_against_data.sql` (read-only, Databricks): checks the map against the OMOP survey data and the vocabulary, alongside `validate_concept_map_vocab.sql`. Row count; targets non-standard, invalid or missing in `omop_vocab`; answer and question fan-out (one value row per REDCap answer); the v1.8.x changes in place; data fields with no map row; answer codes in the data with no map row; unit coverage, no fan-out and Unit-domain units; question rows pointing at Answer-class concepts and the reverse. Each check states its expected result. + +### Changed — master REDCap data dictionary + +- Eight master rows take the new values (`Origin` = Changed, `Date_of_Variable_Modification` 10/28/2026), including the existing `eos_dsvst` 3 row (now `Map_to_OMOP` = Yes). 3,150 rows; every concept map row has a master row with the same values. + +### Regenerated + +- map2omop (2,113 rows) and open-source public (1,998) versions, SSSOM (2,068 rows; 75 incomplete) and LinkML (2,143 records). `unit_concept_lookup.csv` and `unit_concept_lookup_extended.csv` unchanged. +- Counts: standard 1,519 (403 concepts); custom 486 (339); mapped 2,005 (69.0%, 742); designated but unmapped 138; not designated 763. SNOMED 172/75; PPI 8/7. Standard predicates: exact 1,258; close 259 (170 at 1, 89 at 0.75); related 2. Audit A7 (custom Condition targets) 3 → 2. `count_concept_map.sql` expected values and `validate_concept_map_vocab.sql` V0 (2,143) updated. + ## [v1.8.3] - 2026-10-27 Two lab unit rows are corrected to the units the data is reported in. A check of the delivered OMOP survey data against the v1.8.2 unit lookup found that the unit text in the data and the value ranges disagree with the map for C-peptide and urine albumin; the field key (which the join applies first) would have labeled C-peptide 1,000× and urine albumin 10× off. Two rows are edited in place, so every line number is the same as in v1.8.2. The ETL must apply this change (`MEASUREMENT.unit_concept_id`). diff --git a/CITATION.cff b/CITATION.cff index e7a5f32..d023c25 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -16,8 +16,8 @@ repository-code: "https://github.com/AI-READI/DataElementMaps" repository-artifact: "https://github.com/AI-READI/DataElementMaps/blob/main/manuscript-tvst2026/ai_readi_redcap_value_set_mapping_common.csv" url: "https://aireadi.org" license: MIT -version: "v1.8.3" -date-released: "2026-10-27" +version: "v1.8.4" +date-released: "2026-10-28" identifiers: - type: doi value: "10.5281/zenodo.23375723" diff --git a/codemeta.json b/codemeta.json index ba6d1c5..a800086 100644 --- a/codemeta.json +++ b/codemeta.json @@ -7,11 +7,11 @@ "codeRepository": "https://github.com/AI-READI/DataElementMaps", "downloadUrl": "https://github.com/AI-READI/DataElementMaps", "issueTracker": "https://github.com/AI-READI/DataElementMaps/issues", - "version": "v1.8.3", - "datePublished": "2026-10-27", + "version": "v1.8.4", + "datePublished": "2026-10-28", "releaseNotes": "Concept map v1.6: maps the A/G ratio, BUN/creatinine ratio (stored as creatinine/BUN), BMI and waist circumference to standard LOINC concepts, adds the unit ratio for the three ratio fields, and excludes the leftover answers of two removed questions. ETL re-run required. See CHANGELOG.md.", "dateCreated": "2023-06-28", - "dateModified": "2026-10-27", + "dateModified": "2026-10-28", "applicationCategory": "Scientific", "developmentStatus": "active", "isPartOf": "https://aireadi.org/", diff --git a/redCapDataDictionaryWithExtension/linkml/ai_readi_redcap_value_set_mapping_data.yaml b/redCapDataDictionaryWithExtension/linkml/ai_readi_redcap_value_set_mapping_data.yaml index 42a06f9..e25d04b 100644 --- a/redCapDataDictionaryWithExtension/linkml/ai_readi_redcap_value_set_mapping_data.yaml +++ b/redCapDataDictionaryWithExtension/linkml/ai_readi_redcap_value_set_mapping_data.yaml @@ -11632,6 +11632,7 @@ mappings: field_id: import_buncreatinineratio field_id_num: 2960 question_or_answer: Question + src_code: 31045-8 src_code_id: BUN/Creatinine ratio src_cd_description: BUN/Creatinine ratio target_concept_id: 3033837 @@ -12153,6 +12154,7 @@ mappings: field_id: import_ag_ratio field_id_num: 2990 question_or_answer: Question + src_code: 1759-0 src_code_id: A/G Ratio (calculated field) src_cd_description: Albumin/Globulin ratio target_concept_id: 3020509 @@ -19421,13 +19423,13 @@ mappings: src_code: pxne16 src_cd_description: The crime rate in my neighborhood makes it unsafe to go on walks during the day. Would you say that you... - target_concept_id: 2005200121 - local_concept_id: 2005200121 + target_concept_id: 40192414 target_concept_name: The crime rate in my neighborhood makes it unsafe to go on walks during the day. Would you say that you... target_domain_id: Observation - target_vocabulary_id: AIREADI - target_concept_class_id: Survey + target_vocabulary_id: PPI + target_concept_class_id: Question + target_concept_code: ips_16 target_standard_concept: S predicate_id: skos:exactMatch confidence: 1.0 @@ -20037,12 +20039,12 @@ mappings: src_code: '88' src_code_id: pxne4_88 src_cd_description: Does not apply to my neighborhood - target_concept_id: 2005200268 - local_concept_id: 2005200268 + target_concept_id: 40192520 target_concept_name: Does not apply to my neighborhood target_domain_id: Meas Value - target_vocabulary_id: AIREADI + target_vocabulary_id: PPI target_concept_class_id: Answer + target_concept_code: SDOH_9 target_standard_concept: S predicate_id: skos:exactMatch confidence: 1.0 @@ -20191,12 +20193,12 @@ mappings: src_code: '88' src_code_id: pxne5_88 src_cd_description: Does not apply to my neighborhood - target_concept_id: 2005200268 - local_concept_id: 2005200268 + target_concept_id: 40192520 target_concept_name: Does not apply to my neighborhood target_domain_id: Meas Value - target_vocabulary_id: AIREADI + target_vocabulary_id: PPI target_concept_class_id: Answer + target_concept_code: SDOH_9 target_standard_concept: S predicate_id: skos:exactMatch confidence: 1.0 @@ -39782,7 +39784,7 @@ mappings: target_standard_concept: S predicate_id: skos:exactMatch confidence: 1.0 - modifier: '2005200547' + modifier: '4214376' qualifier_concept_id: 2005200547 qualifier_source_value: Elevated A1C levels (elevated blood sugars) - mapping_record_id: AIREADI_MAPPING_1849 @@ -40207,15 +40209,15 @@ mappings: src_code: '1' src_code_id: mh_a1c_1 src_cd_description: 'Yes' - target_concept_id: 2005200547 - local_concept_id: 2005200547 - target_concept_name: Elevated A1C levels (elevated blood sugars) + target_concept_id: 4214376 + target_concept_name: Hyperglycemia target_domain_id: Condition - target_vocabulary_id: AIREADI + target_vocabulary_id: SNOMED target_concept_class_id: Disorder + target_concept_code: '80394007' target_standard_concept: S - predicate_id: skos:exactMatch - confidence: 1.0 + predicate_id: skos:closeMatch + confidence: 0.75 - mapping_record_id: AIREADI_MAPPING_1869 map_to_omop: 'Yes' transferred_to_fairhub_redcap_dataset: 'Yes' @@ -46196,3 +46198,24 @@ mappings: target_standard_concept: S predicate_id: skos:exactMatch confidence: 1.0 +- mapping_record_id: AIREADI_MAPPING_2143 + map_to_omop: 'Yes' + transferred_to_fairhub_redcap_dataset: 'Yes' + protected_or_open_source: open-source + extension_needed: 'Yes' + form_name: disposition + field_type: radio + field_id: eos_dsvst + question_or_answer: Answer + src_code: '3' + src_code_id: eos_dsvst_3 + src_cd_description: Devices Returned + target_concept_id: 2005200589 + local_concept_id: 2005200589 + target_concept_name: Device returned + target_domain_id: Observation + target_vocabulary_id: AIREADI + target_concept_class_id: Qualifier Value + target_standard_concept: S + predicate_id: skos:exactMatch + confidence: 1.0 diff --git a/redCapDataDictionaryWithExtension/linkml/ai_readi_redcap_value_set_mapping_summary.md b/redCapDataDictionaryWithExtension/linkml/ai_readi_redcap_value_set_mapping_summary.md index f244733..3e74ac7 100644 --- a/redCapDataDictionaryWithExtension/linkml/ai_readi_redcap_value_set_mapping_summary.md +++ b/redCapDataDictionaryWithExtension/linkml/ai_readi_redcap_value_set_mapping_summary.md @@ -1,7 +1,7 @@ # AI-READI REDCap Value Set Mapping LinkML Conversion Summary - Source file: `_ai_readi_redcap_value_set_mapping_common.csv` -- Rows converted: 2142 +- Rows converted: 2143 - Source columns: 26 ## Generated files @@ -23,7 +23,7 @@ ### TARGET_DOMAIN_ID - Meas Value: 1240 -- Observation: 442 +- Observation: 443 - Unit: 153 - Measurement: 116 - [blank]: 75 @@ -35,24 +35,24 @@ ### TARGET_VOCABULARY_ID - LOINC: 1198 -- AIREADI: 424 -- SNOMED: 171 +- AIREADI: 421 +- SNOMED: 172 - UCUM: 153 - [blank]: 75 - AIREADI-Vision: 69 - AIREADI-MOCA: 30 - CPT4: 12 -- PPI: 5 +- PPI: 8 - Ethnicity: 4 - OMOP Extension: 1 ### PREDICATE_ID - skos:exactMatch: 1779 -- skos:closeMatch: 286 +- skos:closeMatch: 287 - [blank]: 75 - skos:relatedMatch: 2 ### Extension_Needed - No: 1618 -- Yes: 523 +- Yes: 524 - [blank]: 1 diff --git a/redCapDataDictionaryWithExtension/redcap-data-dictionary/_master_red_cap_data_dictionary_with_extensions.csv b/redCapDataDictionaryWithExtension/redcap-data-dictionary/_master_red_cap_data_dictionary_with_extensions.csv index ea67c13..f93508d 100644 --- a/redCapDataDictionaryWithExtension/redcap-data-dictionary/_master_red_cap_data_dictionary_with_extensions.csv +++ b/redCapDataDictionaryWithExtension/redcap-data-dictionary/_master_red_cap_data_dictionary_with_extensions.csv @@ -304,7 +304,7 @@ Changed,11/1/2024,Yes,Yes,open-source,No,health_survey,radio,mhoccur_pdr,1984,An Changed,11/1/2024,Yes,Yes,open-source,Yes,screening_survey,yesno,,1041,Question,mhterm_dm1,,Type I Diabetes,2005200014,2005200014,Has a doctor or other healthcare professional ever told you that you have/had...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,201254,,201254,Type 1 diabetes mellitus,, Changed,10/25/2026,Yes,Yes,open-source,No,screening_survey,yesno,mhterm_dm1,,Answer,1,mhterm_dm1_1,Yes,201254,,Type 1 diabetes mellitus,Condition,SNOMED,Disorder,46635009,S,skos:exactMatch,1,,,,,, Changed,11/1/2024,Yes,Yes,open-source,No,screening_survey,yesno,mhterm_predm,,Answer,1,mhterm_predm_1,Yes,37018196,,Prediabetes,Condition,SNOMED,Clinical Finding,714628002,S,skos:exactMatch,1,,,,,, -Changed,10/25/2026,Yes,Yes,open-source,Yes,screening_survey,yesno,mh_a1c,,Answer,1,mh_a1c_1,Yes,2005200547,2005200547,Elevated A1C levels (elevated blood sugars),Condition,AIREADI,Disorder,,S,skos:exactMatch,1,,,,,"LA32146-5 | Decided to keep all ""yes"" answers going to condition", +Changed,10/28/2026,Yes,Yes,open-source,Yes,screening_survey,yesno,mh_a1c,,Answer,1,mh_a1c_1,Yes,4214376,,Hyperglycemia,Condition,SNOMED,Disorder,80394007,S,skos:closeMatch,0.75,,,,,"LA32146-5 | Decided to keep all ""yes"" answers going to condition", Changed,10/14/2024,Yes,Yes,open-source,No,bcva,text,,1494,Question,viaocmpdat,,Date BCVA performed,4160030,,Performed,Observation,SNOMED,Qualifier Value,398166005,S,skos:closeMatch,0.75,Date BCVA performed,,4303261,Best corrected visual acuity,Performed on value_as_concept_id = 1035260 | LA30233-3, Changed,10/14/2024,Yes,Yes,open-source,No,cesd10_survey,text,,1194,Question,cesmpdat,,CES-D-10 survey date,4160030,,Performed,Observation,SNOMED,Qualifier Value,398166005,S,skos:closeMatch,0.75,CES-D-10 survey date,,2005200570,CES-D-10 Survey,Performed on value_as_concept_id = 1035260 | LA30233-3, Changed,10/19/2026,Yes,Yes,open-source,Yes,cesd10_survey,text,,1208,Question,cesstartts,,CES-D-10 Survey Started Timestamp (from REDCap),2005200558,,Survey Started Timestamp,Observation,AIREADI,Qualifier Value,,S,skos:closeMatch,0.75,CES-D-10 Survey Started Timestamp (from REDCap),,2005200570,CES-D-10 Survey,99423-6, @@ -502,7 +502,7 @@ Added,10/14/2024,Yes,Yes,open-source,No,retinal_imaging_v2,yesno,rttr_osm2,,Answ Added,10/14/2024,Yes,Yes,open-source,No,retinal_imaging_v2,yesno,rtfl_os,,Answer,1,rtfl_os_1,Yes,45877994,,Yes,Meas Value,LOINC,Answer,LA33-6,S,skos:exactMatch,1,left eye|45883829,,45883829,Left eye,, Added,10/14/2024,Yes,Yes,open-source,No,retinal_imaging_v2,yesno,rtfl_os,,Answer,0,rtfl_os_0,No,45878245,,No,Meas Value,LOINC,Answer,LA32-8,S,skos:exactMatch,1,left eye|45883829,,45883829,Left eye,, Changed,10/14/2024,Yes,Yes,open-source,No,screening_survey,text,,1037,Question,scrcmpdat,,Screening survey date (date survey/form opened),4160030,,Performed,Observation,SNOMED,Qualifier Value,398166005,S,skos:closeMatch,0.75,Screening survey date (date survey/form opened),,2005200563,Screening Survey,, -Changed,10/14/2024,Yes,Yes,open-source,Yes,screening_survey,yesno,,1042,Question,mh_a1c,,Elevated A1C levels (elevated blood sugars),2005200014,2005200014,Has a doctor or other healthcare professional ever told you that you have/had...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,2005200547,,2005200547,Elevated A1C levels (elevated blood sugars),269823000, +Changed,10/28/2026,Yes,Yes,open-source,Yes,screening_survey,yesno,,1042,Question,mh_a1c,,Elevated A1C levels (elevated blood sugars),2005200014,2005200014,Has a doctor or other healthcare professional ever told you that you have/had...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,4214376,,2005200547,Elevated A1C levels (elevated blood sugars),269823000, Changed,10/14/2024,Yes,Yes,open-source,Yes,screening_survey,yesno,,1043,Question,mhterm_dm2,,Type II Diabetes,2005200014,2005200014,Has a doctor or other healthcare professional ever told you that you have/had...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,201826,,201826,Type 2 diabetes mellitus,LA10552-0 | 44054006, Changed,10/14/2024,Yes,Yes,open-source,Yes,screening_survey,yesno,,1045,Question,mhterm_predm,,Pre-diabetes,2005200014,2005200014,Has a doctor or other healthcare professional ever told you that you have/had...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,37018196,,37018196,Prediabetes,714628002, Changed,10/19/2026,Yes,Yes,open-source,Yes,screening_survey,text,,1060,Question,scrstartts,,Screening Survey Started Timestamp (from REDCap),2005200558,,Survey Started Timestamp,Observation,AIREADI,Qualifier Value,,S,skos:closeMatch,0.75,Screening Survey Started Timestamp (from REDCap),,2005200563,Screening Survey,99423-6, @@ -600,7 +600,7 @@ Original,7/16/2024,Yes,Yes,open-source,No,disposition,checkbox,,1731,Question,eo Changed,10/16/2026,Yes,Yes,open-source,Yes,disposition,radio,,1732,Question,eos_dsvst,,Provide the last study visit/stage completed:,2005200632,2005200632,Last study visit/stage completed,Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,,,,"0, Signed Consent | 1, Pre-Visit | 2, In Person (Baseline) | 3, Devices Returned" Original,7/16/2024,No,Yes,open-source,No,disposition,radio,uppdaeot2,3343,Answer,1,uppdaeot2_1,Yes,45877994,,Yes,Meas Value,LOINC,Answer,LA33-6,S,skos:exactMatch,1,,,,,, Original,7/16/2024,No,Yes,open-source,No,disposition,radio,uppdaeot2,3344,Answer,0,uppdaeot2_0,No,45878245,,No,Meas Value,LOINC,Answer,LA32-8,S,skos:exactMatch,1,,,,,, -Original,7/16/2024,No,Yes,open-source,No,disposition,radio,eos_dsvst,3364,Answer,3,eos_dsvst_3,Devices Returned,none - OPS,,,,,,,,,,,,,,, +Changed,10/28/2026,Yes,Yes,open-source,Yes,disposition,radio,eos_dsvst,,Answer,3,eos_dsvst_3,Devices Returned,2005200589,2005200589,Device returned,Observation,AIREADI,Qualifier Value,,S,skos:exactMatch,1,,,,,, Original,7/16/2024,No,Yes,open-source,No,driving_record,checkbox,,1426,Question,dricmpyn,,,4123211,,Review procedure,Observation,SNOMED,Qualifier Value,288564002,S,skos:broadMatch,0.25,,,,,,"999, Driving assessment NOT done" Original,7/16/2024,No,Yes,protected,No,driving_record,notes,,1428,Question,drireasn,,"If not completed, why?",44788487,,Procedure not completed,Observation,OMOP,Context-dependent,178291000000101,S,skos:relatedMatch,0.5,,,,,, Changed,7/16/2024,No,Yes,open-source,No,faq_survey,checkbox,,1033,Question,faq_nd,,No participant response,915709,,Patient survey results not available,Observation,HCPCS,HCPCS,G9604,S,skos:closeMatch,0.75,,,,,LA10996-9,"999, FAQ survey not done" @@ -1102,7 +1102,7 @@ Changed,5/2/2024,Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radi Changed,5/2/2024,Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1340,Question,pxne13,,"The sidewalks in my neighborhood are well maintained (paved, with few cracks) and not obstructed. Would you say that you...",2005200118,2005200118,"The sidewalks in my neighborhood are well maintained (paved, with few cracks) and not obstructed. Would you say that you...",Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,,,,"1, Strongly disagree | 2, Somewhat disagree | 3, Somewhat agree | 4, Strongly agree | 555, Don't know/Not sure | 777, Prefer not to say" Changed,5/2/2024,Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1341,Question,pxne14,,Places for bicycling (such as bike paths) in and around my neighborhood are well maintained and not obstructed. Would you say that you...,2005200119,2005200119,Places for bicycling (such as bike paths) in and around my neighborhood are well maintained and not obstructed. Would you say that you...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,,,,"1, Strongly disagree | 2, Somewhat disagree | 3, Somewhat agree | 4, Strongly agree | 555, Don't know/Not sure | 777, Prefer not to say" Changed,5/2/2024,Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1342,Question,pxne15,,There is so much traffic on the streets that it makes it difficult or unpleasant to ride a bicycle in my neighborhood. Would you say that you...,2005200120,2005200120,There is so much traffic on the streets that it makes it difficult or unpleasant to ride a bicycle in my neighborhood. Would you say that you...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,,,,"1, Strongly disagree | 2, Somewhat disagree | 3, Somewhat agree | 4, Strongly agree | 555, Don't know/Not sure | 777, Prefer not to say" -Changed,5/2/2024,Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1343,Question,pxne16,,The crime rate in my neighborhood makes it unsafe to go on walks during the day. Would you say that you...,2005200121,2005200121,The crime rate in my neighborhood makes it unsafe to go on walks during the day. Would you say that you...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,,,,"1, Strongly disagree | 2, Somewhat disagree | 3, Somewhat agree | 4, Strongly agree | 555, Don't know/Not sure | 777, Prefer not to say" +Changed,10/28/2026,Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1343,Question,pxne16,,The crime rate in my neighborhood makes it unsafe to go on walks during the day. Would you say that you...,40192414,,The crime rate in my neighborhood makes it unsafe to go on walks during the day. Would you say that you...,Observation,PPI,Question,ips_16,S,skos:exactMatch,1,,,,,,"1, Strongly disagree | 2, Somewhat disagree | 3, Somewhat agree | 4, Strongly agree | 555, Don't know/Not sure | 777, Prefer not to say" Changed,5/2/2024,Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1344,Question,pxne17,,There are many places to go within easy walking distance of my home. Would you say that you...,2005200122,2005200122,There are many places to go within easy walking distance of my home. Would you say that you...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,,,,"1, Strongly disagree | 2, Somewhat disagree | 3, Somewhat agree | 4, Strongly agree | 555, Don't know/Not sure | 777, Prefer not to say" Changed,5/2/2024,Yes,Yes,open-source,Yes,px_racial_ethnic_discrimination_survey,radio,,1351,Question,pxrd1,,How often in the past year?,2005200126,2005200126,How often have you been treated unfairly by teachers and professors because of your race/ethnic group? How often in the past year?,Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,,,,"1, Never | 2, Once in a while | 3, Sometimes | 4, A lot | 5, Most of the time | 6, Almost all the time | 777, Prefer not to say" Changed,5/2/2024,Yes,Yes,open-source,Yes,px_racial_ethnic_discrimination_survey,radio,,1352,Question,pxrd2,,How often in your entire life?,2005200127,2005200127,How often have you been treated unfairly by teachers and professors because of your race/ethnic group? How often in your entire life?,Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,,,,"1, Never | 2, Once in a while | 3, Sometimes | 4, A lot | 5, Most of the time | 6, Almost all the time | 777, Prefer not to say" @@ -1434,8 +1434,8 @@ Changed,4/25/2024,Yes,Yes,open-source,Yes,paid5_dm_survey,radio,paid_cml,2141,An Changed,4/25/2024,Yes,Yes,open-source,Yes,paid5_dm_survey,radio,paid_cml,2142,Answer,4,paid_cml_4,Serious problem,2005200217,2005200217,Serious problem,Meas Value,AIREADI,Answer,,S,skos:exactMatch,1,,,,,LA9617-7, Changed,10/22/2026,Yes,Yes,open-source,No,physical_assessment,text,,1485,Question,waist_vsorres,,Waist Circumference (cm),3016258,,Waist Circumference at umbilicus by Tape measure,Measurement,LOINC,Clinical Observation,8280-0,S,skos:closeMatch,1,,,,,, Changed,8/7/2025,Yes,Yes,open-source,No,physical_assessment,text,,1486,Question,hip_vsorres,,Hip Circumference (cm),4111665,,Hip circumference,Measurement,SNOMED,Observable Entity,284472007,S,skos:exactMatch,1,,,,,, -Changed,4/25/2024,Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,pxne4,2523,Answer,88,pxne4_88,Does not apply to my neighborhood,2005200268,2005200268,Does not apply to my neighborhood,Meas Value,AIREADI,Answer,,S,skos:exactMatch,1,,,,,LA14452-9, -Changed,4/25/2024,Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,pxne5,2530,Answer,88,pxne5_88,Does not apply to my neighborhood,2005200268,2005200268,Does not apply to my neighborhood,Meas Value,AIREADI,Answer,,S,skos:exactMatch,1,,,,,LA14452-9, +Changed,10/28/2026,Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,pxne4,2523,Answer,88,pxne4_88,Does not apply to my neighborhood,40192520,,Does not apply to my neighborhood,Meas Value,PPI,Answer,SDOH_9,S,skos:exactMatch,1,,,,,LA14452-9, +Changed,10/28/2026,Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,pxne5,2530,Answer,88,pxne5_88,Does not apply to my neighborhood,40192520,,Does not apply to my neighborhood,Meas Value,PPI,Answer,SDOH_9,S,skos:exactMatch,1,,,,,LA14452-9, Changed,4/25/2024,Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,dropdown,pxne11,2565,Answer,6,pxne11_6,6 or more,2005200270,2005200270,6 or more,Meas Value,AIREADI,Answer,,S,skos:exactMatch,1,,,,,LA14674-8, Changed,4/25/2024,Yes,Yes,open-source,Yes,px_sdoh_combined_survey,radio,,1269,Question,pxji1,,"Thinking about the next 12 months, how likely do you think it is that you will lose your job or be laid off?",2005200073,2005200073,"Thinking about the next 12 months, how likely do you think it is that you will lose your job or be laid off?",Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,,,,"1, Very likely | 2, Fairly likely | 3, Not too likely | 4, Not at all likely | 5, Will be leaving labor force voluntarily | 555, Don't know | 777, Prefer not to say | 0, Not applicable" Changed,4/25/2024,Yes,Yes,open-source,Yes,px_sdoh_combined_survey,radio,,1270,Question,pxji2,,"About how easy would it be for you to find a job with another employer with approximately the same income and fringe benefits you now have? Would you say very easy, somewhat easy, or not easy at all?",2005200074,2005200074,"About how easy would it be for you to find a job with another employer with approximately the same income and fringe benefits you now have? Would you say very easy, somewhat easy, or not easy at all?",Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,,,,"1, Very easy | 2, Somewhat easy | 3, Not easy at all | 555, Don't know | 777, Prefer not to say | 0, Not applicable" @@ -2972,7 +2972,7 @@ Changed,10/14/2026,Yes,Yes,open-source,No,imported,text,import_creatinine,2956,Q Changed,10/14/2026,Yes,Yes,open-source,No,imported,text,import_creatinine_u,2957,Unit,mg/dL,import_creatinine_u,milligram per deciliter,8840,,milligram per deciliter,Unit,UCUM,Unit,mg/dL,S,skos:exactMatch,1,,,,,, Changed,10/14/2026,Yes,Yes,open-source,No,imported,text,import_creatinine_min,2958,Question,,,COMP,,,Creatinine min,,,,,,,,,,,,, Changed,10/14/2026,Yes,Yes,open-source,No,imported,text,import_creatinine_max,2959,Question,,,COMP,,,Creatinine max,,,,,,,,,,,,, -Changed,10/22/2026,Yes,Yes,open-source,No,imported,text,import_buncreatinineratio,2960,Question,,BUN/Creatinine ratio,BUN/Creatinine ratio,3033837,,Creatinine/Urea nitrogen [Mass Ratio] in Serum or Plasma,Measurement,LOINC,Lab Test,31045-8,S,skos:exactMatch,1,Stored value is creatinine/BUN (REDCap calculation inverted; field label says BUN/Creatinine); remap to 3018311 (LOINC 3097-3) when the REDCap formula and values are corrected,,,,, +Changed,10/28/2026,Yes,Yes,open-source,No,imported,text,import_buncreatinineratio,2960,Question,31045-8,BUN/Creatinine ratio,BUN/Creatinine ratio,3033837,,Creatinine/Urea nitrogen [Mass Ratio] in Serum or Plasma,Measurement,LOINC,Lab Test,31045-8,S,skos:exactMatch,1,Stored value is creatinine/BUN (REDCap calculation inverted; field label says BUN/Creatinine); remap to 3018311 (LOINC 3097-3) when the REDCap formula and values are corrected,,,,, Changed,10/14/2026,Yes,Yes,open-source,No,imported,text,import_sodium,2961,Question,2951-2,Sodium,Sodium [Moles/volume] in Serum or Plasma,3019550,,Sodium [Moles/volume] in Serum or Plasma,Measurement,LOINC,Lab Test,2951-2,S,skos:exactMatch,1,,,,,, Changed,10/14/2026,Yes,Yes,open-source,No,imported,text,import_sodium_u,2962,Unit,mEq/L,import_sodium_u,milliequivalent per liter,9557,,milliequivalent per liter,Unit,UCUM,Unit,10*-3.eq/L,S,skos:exactMatch,1,,,,,, Changed,10/14/2026,Yes,Yes,open-source,No,imported,text,import_sodium_min,2963,Question,,,COMP,,,Sodium min,,,,,,,,,,,,, @@ -3002,7 +3002,7 @@ Changed,10/14/2026,Yes,Yes,open-source,No,imported,text,import_albumin_u,2986,Un Changed,10/14/2026,Yes,Yes,open-source,No,imported,text,import_albumin_min,2987,Question,,,COMP,,,Albumin min,,,,,,,,,,,,, Changed,10/14/2026,Yes,Yes,open-source,No,imported,text,import_albumin_max,2988,Question,,,COMP,,,Albumin max,,,,,,,,,,,,, Changed,10/14/2026,Yes,Yes,open-source,No,imported,text,import_globulin_total_norc,2989,Question,2336-6,"Globulin, total (calculated field)",Globulin [Mass/volume] in Serum,3021886,,Globulin [Mass/volume] in Serum,Measurement,LOINC,Lab Test,2336-6,S,skos:exactMatch,1,,,,,, -Changed,10/22/2026,Yes,Yes,open-source,No,imported,text,import_ag_ratio,2990,Question,,A/G Ratio (calculated field),Albumin/Globulin ratio,3020509,,Albumin/Globulin [Mass Ratio] in Serum or Plasma,Measurement,LOINC,Lab Test,1759-0,S,skos:exactMatch,1,,,,,, +Changed,10/28/2026,Yes,Yes,open-source,No,imported,text,import_ag_ratio,2990,Question,1759-0,A/G Ratio (calculated field),Albumin/Globulin ratio,3020509,,Albumin/Globulin [Mass Ratio] in Serum or Plasma,Measurement,LOINC,Lab Test,1759-0,S,skos:exactMatch,1,,,,,, Changed,10/14/2026,Yes,Yes,open-source,No,imported,text,import_bilirubin_total,2991,Question,1975-2,"Bilirubin, Total",Bilirubin.total [Mass/volume] in Serum or Plasma,3024128,,Bilirubin.total [Mass/volume] in Serum or Plasma,Measurement,LOINC,Lab Test,1975-2,S,skos:exactMatch,1,,,,,, Changed,10/14/2026,Yes,Yes,open-source,No,imported,text,import_alkaline_phosphatase,2992,Question,6768-6,Alkaline Phosphatase,Alkaline phosphatase [Enzymatic activity/volume] in Serum or Plasma,3035995,,Alkaline phosphatase [Enzymatic activity/volume] in Serum or Plasma,Measurement,LOINC,Lab Test,6768-6,S,skos:exactMatch,1,,,,,, Changed,10/14/2026,Yes,Yes,open-source,No,imported,text,import_alkaline_phosphatase_u,2993,Unit,IU/L,import_alkaline_phosphatase_u,international unit per liter,8923,,international unit per liter,Unit,UCUM,Unit,[iU]/L,S,skos:exactMatch,1,,,,,, diff --git a/redCapDataDictionaryWithExtension/scripts/count_concept_map.sql b/redCapDataDictionaryWithExtension/scripts/count_concept_map.sql index 59d0983..0d3a47b 100644 --- a/redCapDataDictionaryWithExtension/scripts/count_concept_map.sql +++ b/redCapDataDictionaryWithExtension/scripts/count_concept_map.sql @@ -40,7 +40,7 @@ -- * Answer rows switched off because the answer is not a REDCap choice (Map_to_OMOP = 'No', -- answer 0 of susmkstoage, sualcage, suvptoyr since v1.8) are counted with -- "Answer to an excluded question". --- * Not designated (764 in v1.8) = REDCap data elements in the curated dictionary +-- * Not designated (763 in v1.8.4) = REDCap data elements in the curated dictionary -- (2,906) that are not rows in this mapping file. Rows that are not REDCap data -- elements (the unit rows added in v1.4, v1.6 and v1.7, the 44 retinal imaging procedure -- rows added in v1.7, the Yes/No answer rows and the ECG @@ -121,9 +121,9 @@ FROM rows ORDER BY CASE category WHEN 'Standard' THEN 1 WHEN 'Custom' THEN 2 WHEN 'Mapped total' THEN 3 WHEN 'Designated but unmapped' THEN 4 WHEN 'Not designated' THEN 5 ELSE 6 END; --- Expected (v1.8.2): Standard 1,515 (52.1%) / 400; Custom 489 (16.8%) / 342; --- Mapped 2,004 (69.0%) / 742; Designated-unmapped 138 (4.7%); --- Not designated 764 (26.3%); Total 2,906. +-- Expected (v1.8.4): Standard 1,519 (52.3%) / 403; Custom 486 (16.7%) / 339; +-- Mapped 2,005 (69.0%) / 742; Designated-unmapped 138 (4.7%); +-- Not designated 763 (26.3%); Total 2,906. -- 2. Elements and distinct concepts by vocabulary ---------------------------------- SELECT mapping_category, @@ -134,8 +134,8 @@ FROM mapping_classified WHERE mapping_category IN ('Standard','Custom') GROUP BY mapping_category, TARGET_VOCABULARY_ID ORDER BY mapping_category DESC, elements DESC; --- Expected (v1.8.2): LOINC 1,190/277; SNOMED 171/74; UCUM 132/40; CPT4 12/1; PPI 5/5; --- Ethnicity 4/2; OMOP Extension 1/1; AIREADI 390/265; AIREADI-Vision 69/47; AIREADI-MOCA 30/30. +-- Expected (v1.8.4): LOINC 1,190/277; SNOMED 172/75; UCUM 132/40; CPT4 12/1; PPI 8/7; +-- Ethnicity 4/2; OMOP Extension 1/1; AIREADI 387/262; AIREADI-Vision 69/47; AIREADI-MOCA 30/30. -- 3. Designated-but-unmapped breakdown ------------------------------------------------- SELECT unmapped_reason, COUNT(*) AS n @@ -143,7 +143,7 @@ FROM mapping_classified WHERE mapping_category = 'Designated but unmapped' GROUP BY unmapped_reason ORDER BY n DESC; --- Expected (v1.8.2): reference range 46; survey timestamp 34; superseded unit row 20; specimen handling 12; +-- Expected (v1.8.4): reference range 46; survey timestamp 34; superseded unit row 20; specimen handling 12; -- BCVA 10; answer to an excluded question 7; no matching concept 5; not collected (NRBC) 2; -- REDCap administrative 1; MoCA paper flag 1 (total 138). @@ -156,9 +156,9 @@ FROM mapping_classified WHERE mapping_category IN ('Standard','Custom') GROUP BY mapping_category, PREDICATE_ID, CONFIDENCE ORDER BY mapping_category DESC, PREDICATE_ID, CONFIDENCE DESC; --- Expected (v1.8.2, standard): exact 1,255; close 258 (170 at 1, 88 at 0.75); related 2; --- confidence 1 = 1,425; 0.75 = 89; 0.5 = 1. --- Expected (v1.8.2, custom): all 489 exact match at confidence 1. +-- Expected (v1.8.4, standard): exact 1,258; close 259 (170 at 1, 89 at 0.75); related 2; +-- confidence 1 = 1,428; 0.75 = 90; 0.5 = 1. +-- Expected (v1.8.4, custom): all 486 exact match at confidence 1. -- 5. Laterality qualifiers --------------------------------------------------------------- SELECT qualifier_concept_id, qualifier_source_value, COUNT(*) AS n diff --git a/redCapDataDictionaryWithExtension/scripts/validate_concept_map_against_data.sql b/redCapDataDictionaryWithExtension/scripts/validate_concept_map_against_data.sql new file mode 100644 index 0000000..2fe25d8 --- /dev/null +++ b/redCapDataDictionaryWithExtension/scripts/validate_concept_map_against_data.sql @@ -0,0 +1,198 @@ +-- ============================================================================= +-- validate_concept_map_against_data.sql +-- AI-READI concept map: release checks against the OMOP survey data (Databricks / Spark SQL) +-- Added in v1.8.4. Run with validate_concept_map_vocab.sql before every release. +-- +-- READ-ONLY: only SELECT and TEMPORARY VIEWs. Nothing is written to omop_survey, +-- omop_vocab or redcapsurveydb. +-- +-- Before running: +-- 1. Load the release's _ai_readi_redcap_value_set_mapping_common.csv as a table +-- (all columns as STRING) and set its name in section 0 (here redcapsurveydb.concept_map_v184). +-- 2. redcapsurveydb.unit_concept_lookup = the release's scripts/unit_concept_lookup.csv. +-- 3. Run validate_concept_map_vocab.sql against the same table (section A lists what it must return). +-- +-- Each check states PASS = the expected result for v1.8.4. Section 5 checks the rows changed in +-- v1.8.x; update it for later releases. +-- ============================================================================= + +-- ----------------------------------------------------------------------------- +-- A. Vocabulary (validate_concept_map_vocab.sql on concept_map_v184) +-- ----------------------------------------------------------------------------- +-- PASS: V0 = 2,143 rows. V1, V3, V4, V5, V6 = 0 rows. +-- V2 = only deliberate domain overrides (including pxne4 / pxne5 code 88 -> 40192520, +-- map domain Meas Value, vocabulary domain Observation). +-- V7, V8, V9 = review lists, same as v1.8.3 except: V8 no longer lists pxne16 or code 88. +-- V10 = 2 rows (monofilament msslftt, mssrftt). +-- S4 = 2 rows (mhoccur_circ, mhoccur_cvdot; mh_a1c is now standard). + +-- ----------------------------------------------------------------------------- +-- 0. Setup (temporary views only) +-- ----------------------------------------------------------------------------- +CREATE OR REPLACE TEMPORARY VIEW cm AS +SELECT TRIM(Map_to_OMOP) AS map_yes, TRIM(FIELD_ID) AS field_id, TRIM(SRC_CODE) AS src_code, + TRIM(temp_Question_or_Answer) AS row_type, TRIM(TARGET_DOMAIN_ID) AS domain_id, + CAST(NULLIF(TRIM(TARGET_CONCEPT_ID), '') AS BIGINT) AS tid, TARGET_CONCEPT_NAME AS tname, + TRIM(TARGET_VOCABULARY_ID) AS vocab, TRIM(TARGET_CONCEPT_CODE) AS tcode, + TRIM(PREDICATE_ID) AS predicate, TRIM(CONFIDENCE) AS confidence, TRIM(MODIFIER) AS modifier +FROM redcapsurveydb.concept_map_v184; + +-- ----------------------------------------------------------------------------- +-- 1. Row count +-- ----------------------------------------------------------------------------- +-- PASS: 2143 +SELECT COUNT(*) AS n_rows FROM cm; + +-- ----------------------------------------------------------------------------- +-- 2. Standard targets that are no longer standard or valid (query 4) +-- ----------------------------------------------------------------------------- +-- PASS: 0 rows +SELECT m.field_id, m.src_code, m.tid, c.concept_name, c.standard_concept, c.invalid_reason, + r.concept_id_2 AS maps_to_id +FROM cm m +JOIN omop_vocab.concept c ON c.concept_id = m.tid +LEFT JOIN omop_vocab.concept_relationship r + ON r.concept_id_1 = c.concept_id AND r.relationship_id = 'Maps to' AND r.invalid_reason IS NULL +WHERE m.map_yes = 'Yes' AND m.tid BETWEEN 1 AND 1999999999 + AND (c.standard_concept IS NULL OR c.standard_concept <> 'S' OR c.invalid_reason IS NOT NULL); + +-- Standard targets missing from the vocabulary altogether +-- PASS: 0 rows +SELECT m.field_id, m.src_code, m.tid, m.tname +FROM cm m LEFT JOIN omop_vocab.concept c ON c.concept_id = m.tid +WHERE m.map_yes = 'Yes' AND m.tid BETWEEN 1 AND 1999999999 AND c.concept_id IS NULL; + +-- ----------------------------------------------------------------------------- +-- 3. Answer fan-out: at most one VALUE row (Meas Value) per (field, code) +-- Observation, Condition and Procedure answer rows are separate records by design +-- (e.g. mhoccur_yn 1 -> 46234759 Other health condition; paate_6hr 1/0 -> Non fasting / Fasting) +-- ----------------------------------------------------------------------------- +-- PASS: 0 rows +SELECT field_id, src_code, COUNT(*) AS value_rows, COLLECT_LIST(tid) AS targets +FROM cm +WHERE map_yes = 'Yes' AND row_type = 'Answer' AND domain_id = 'Meas Value' +GROUP BY field_id, src_code +HAVING COUNT(*) > 1; + +-- ----------------------------------------------------------------------------- +-- 4. Question fan-out: at most one row per question per domain +-- ----------------------------------------------------------------------------- +-- PASS: 0 rows (rtekgcmpdattim has 2 rows, Observation + Procedure, so it does not appear) +SELECT COALESCE(NULLIF(field_id, ''), src_code) AS field, domain_id, COUNT(*) AS n +FROM cm +WHERE map_yes = 'Yes' AND row_type = 'Question' +GROUP BY 1, 2 +HAVING COUNT(*) > 1; + +-- ----------------------------------------------------------------------------- +-- 5. v1.8.4 changes are in place +-- ----------------------------------------------------------------------------- +-- PASS (9 rows): +-- pxne16 (Question) 40192414 PPI ips_16 +-- pxne4 88 (Answer, Meas Value) 40192520 PPI SDOH_9 +-- pxne5 88 (Answer, Meas Value) 40192520 PPI SDOH_9 +-- mh_a1c (Question) 2005200014 modifier 4214376 +-- mh_a1c 1 (Condition) 4214376 SNOMED 80394007 closeMatch 0.75 +-- eos_dsvst 3 (Answer) 2005200589 AIREADI +-- import_buncreatinineratio 3033837 src_code 31045-8 +-- import_ag_ratio 3020509 src_code 1759-0 +-- import_bun_creatinine_ratio 3018311 src_code 3097-3 (v1.8.2, unchanged) +SELECT field_id, src_code, row_type, domain_id, tid, tname, vocab, tcode, predicate, confidence, modifier +FROM cm +WHERE (src_code IN ('pxne16', 'mh_a1c') AND row_type = 'Question') + OR (field_id IN ('pxne4', 'pxne5') AND src_code = '88') + OR (field_id = 'mh_a1c' AND domain_id = 'Condition') + OR (field_id = 'eos_dsvst' AND src_code = '3') + OR (field_id IN ('import_buncreatinineratio', 'import_ag_ratio', 'import_bun_creatinine_ratio') AND row_type = 'Question') +ORDER BY field_id, src_code; + +-- Earlier v1.8.x fixes still in place +-- PASS: c_peptide_u 8842, urine_albumin_u 8840, rp_childpot 0 -> 42530854, cmdosu 2 -> 32912, +-- sumrjfr 777 present, NRBC rows Map_to_OMOP = No, rtekgcmpdattim Procedure 4145308 +SELECT field_id, src_code, row_type, domain_id, tid, tname, map_yes +FROM cm +WHERE field_id IN ('import_c_peptide_u', 'import_urine_albumin_u', 'lbscat_nrbc_u') + OR (field_id = 'rp_childpot' AND src_code = '0') + OR (field_id = 'cmdosu' AND src_code = '2') + OR (field_id = 'sumrjfr' AND src_code = '777') + OR (src_code IN ('lbscat_nrbc', 'rtekgcmpdattim') AND row_type = 'Question') +ORDER BY field_id, src_code, domain_id; + +-- ----------------------------------------------------------------------------- +-- 6. Coverage: fields in the delivered data with no active map row +-- ----------------------------------------------------------------------------- +-- PASS: 0 rows +CREATE OR REPLACE TEMPORARY VIEW map_fields AS +SELECT DISTINCT COALESCE(NULLIF(field_id, ''), src_code) AS field FROM cm WHERE map_yes = 'Yes'; + +SELECT t.tbl, t.field, COUNT(*) AS n +FROM (SELECT 'observation' AS tbl, SPLIT_PART(observation_source_value, ',', 1) AS field FROM omop_survey.observation + UNION ALL + SELECT 'measurement', SPLIT_PART(measurement_source_value, ',', 1) FROM omop_survey.measurement) t +LEFT JOIN map_fields f ON f.field = t.field +WHERE f.field IS NULL +GROUP BY ALL ORDER BY n DESC; + +-- ----------------------------------------------------------------------------- +-- 7. Answer codes in the data with no map row (coded questions only) +-- ----------------------------------------------------------------------------- +-- PASS: only numeric-by-design codes (ages, years, counts, 1-6 scale midpoints: +-- sualcage, susmk*, suvp*, sumrj*, su*dosfr, pxne11, pxrd*, pdrx9). +-- eos_dsvst 3 must NOT appear (added in v1.8.4). +CREATE OR REPLACE TEMPORARY VIEW map_answers AS +SELECT DISTINCT field_id AS field, src_code AS code FROM cm WHERE row_type = 'Answer'; + +SELECT SPLIT_PART(o.observation_source_value, ',', 1) AS field, + CAST(CAST(o.value_as_number AS BIGINT) AS STRING) AS code, COUNT(*) AS n +FROM omop_survey.observation o +JOIN (SELECT DISTINCT field FROM map_answers) af ON af.field = SPLIT_PART(o.observation_source_value, ',', 1) +LEFT JOIN map_answers a ON a.field = af.field AND a.code = CAST(CAST(o.value_as_number AS BIGINT) AS STRING) +WHERE o.value_as_number IS NOT NULL AND a.code IS NULL +GROUP BY ALL ORDER BY n DESC; + +-- Summary of the same, by field (easier to scan) +SELECT SPLIT_PART(o.observation_source_value, ',', 1) AS field, COUNT(DISTINCT o.value_as_number) AS n_codes, COUNT(*) AS n +FROM omop_survey.observation o +JOIN (SELECT DISTINCT field FROM map_answers) af ON af.field = SPLIT_PART(o.observation_source_value, ',', 1) +LEFT JOIN map_answers a ON a.field = af.field AND a.code = CAST(CAST(o.value_as_number AS BIGINT) AS STRING) +WHERE o.value_as_number IS NOT NULL AND a.code IS NULL +GROUP BY 1 ORDER BY n DESC; + +-- ----------------------------------------------------------------------------- +-- 8. Units (unit lookup unchanged in v1.8.4; rerun for completeness) +-- ----------------------------------------------------------------------------- +CREATE OR REPLACE TEMPORARY VIEW measurement_units_test AS +SELECT m.*, + COALESCE(f.unit_concept_id, s.unit_concept_id, 0) AS test_unit_concept_id +FROM omop_survey.measurement m +LEFT JOIN redcapsurveydb.unit_concept_lookup f + ON f.key_type = 'field' AND f.lookup_key = TRIM(SPLIT_PART(m.measurement_source_value, ',', 1)) +LEFT JOIN redcapsurveydb.unit_concept_lookup s + ON s.key_type = 'string' AND s.lookup_key = NULLIF(TRIM(m.unit_source_value), ''); + +-- PASS: unit filled 86 fields / 337,169 rows; no unit 26 fields / 104,454 rows +SELECT CASE WHEN test_unit_concept_id = 0 THEN 'no unit' ELSE 'unit filled' END AS status, + COUNT(DISTINCT SPLIT_PART(measurement_source_value, ',', 1)) AS fields, COUNT(*) AS n +FROM measurement_units_test WHERE value_as_number IS NOT NULL GROUP BY 1; + +-- PASS: equal counts (no fan-out) +SELECT (SELECT COUNT(*) FROM measurement_units_test) AS view_rows, + (SELECT COUNT(*) FROM omop_survey.measurement) AS table_rows; + +-- PASS: every map unit row's concept is in the Unit domain +SELECT m.field_id, m.src_code, m.tid, c.concept_name, c.domain_id +FROM cm m JOIN omop_vocab.concept c ON c.concept_id = m.tid +WHERE m.map_yes = 'Yes' AND m.domain_id = 'Unit' AND c.domain_id <> 'Unit'; + +-- ----------------------------------------------------------------------------- +-- 9. Vocabulary class sanity for question and answer rows +-- ----------------------------------------------------------------------------- +-- Question rows pointing at an Answer-class concept (the pxhic3 trap), and answer rows +-- pointing at a Question-class concept. +-- PASS: 0 rows +SELECT m.row_type, m.field_id, m.src_code, m.tid, c.concept_name, c.vocabulary_id, c.concept_class_id +FROM cm m JOIN omop_vocab.concept c ON c.concept_id = m.tid +WHERE m.map_yes = 'Yes' + AND ((m.row_type = 'Question' AND c.concept_class_id = 'Answer') + OR (m.row_type = 'Answer' AND c.concept_class_id = 'Question')); +-- ============================================================================= diff --git a/redCapDataDictionaryWithExtension/scripts/validate_concept_map_vocab.sql b/redCapDataDictionaryWithExtension/scripts/validate_concept_map_vocab.sql index dd9f60b..a9054d0 100644 --- a/redCapDataDictionaryWithExtension/scripts/validate_concept_map_vocab.sql +++ b/redCapDataDictionaryWithExtension/scripts/validate_concept_map_vocab.sql @@ -19,7 +19,7 @@ SELECT *, TRY_CAST(TRIM(CAST(qualifier_concept_id AS STRING)) AS BIGINT) AS qid FROM redcapsurveydb.ai_readi_redcap_value_set_mapping_common; --- V0. Row count (v1.4 and v1.5: 2,076; v1.6: 2,079; v1.7: 2,127; v1.8 to v1.8.2: 2,142) +-- V0. Row count (v1.4 and v1.5: 2,076; v1.6: 2,079; v1.7: 2,127; v1.8 to v1.8.3: 2,142; v1.8.4: 2,143) SELECT COUNT(*) AS n_rows FROM cmap; -- V1. Standard (non-custom) targets missing from the vocabulary, not standard, or invalid. Expect 0 rows. diff --git a/redCapDataDictionaryWithExtension/sssom/ai_readi_redcap_value_set_mapping.sssom.tsv b/redCapDataDictionaryWithExtension/sssom/ai_readi_redcap_value_set_mapping.sssom.tsv index aa1f314..3a19489 100644 --- a/redCapDataDictionaryWithExtension/sssom/ai_readi_redcap_value_set_mapping.sssom.tsv +++ b/redCapDataDictionaryWithExtension/sssom/ai_readi_redcap_value_set_mapping.sssom.tsv @@ -509,7 +509,7 @@ AIREADI_REDCAP:imported.3094-0.BUN Urea nitrogen [Mass/volume] in Serum or Plasm AIREADI_REDCAP:imported.mg_dL.import_bun_u milligram per deciliter skos:exactMatch OMOP:8840 milligram per deciliter semapv:ManualMappingCuration 1 AI-READI REDCap UCUM AI-READI manual_curation imported text import_bun_u 2953 mg/dL import_bun_u Unit 8840 Unit UCUM Unit mg/dL S No open-source Yes AIREADI_REDCAP:imported.2160-0.Creatinine Creatinine [Mass/volume] in Serum or Plasma skos:exactMatch OMOP:3016723 Creatinine [Mass/volume] in Serum or Plasma semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation imported text import_creatinine 2956 2160-0 Creatinine Question 3016723 Measurement LOINC Lab Test 2160-0 S No open-source Yes AIREADI_REDCAP:imported.mg_dL.import_creatinine_u milligram per deciliter skos:exactMatch OMOP:8840 milligram per deciliter semapv:ManualMappingCuration 1 AI-READI REDCap UCUM AI-READI manual_curation imported text import_creatinine_u 2957 mg/dL import_creatinine_u Unit 8840 Unit UCUM Unit mg/dL S No open-source Yes -AIREADI_REDCAP:imported.import_buncreatinineratio.BUN_Creatinine_ratio BUN/Creatinine ratio skos:exactMatch OMOP:3033837 Creatinine/Urea nitrogen [Mass Ratio] in Serum or Plasma semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation Stored value is creatinine/BUN (REDCap calculation inverted; field label says BUN/Creatinine); remap to 3018311 (LOINC 3097-3) when the REDCap formula and values are corrected imported text import_buncreatinineratio 2960 BUN/Creatinine ratio Question 3033837 Measurement LOINC Lab Test 31045-8 S No open-source Yes +AIREADI_REDCAP:imported.31045-8.BUN_Creatinine_ratio BUN/Creatinine ratio skos:exactMatch OMOP:3033837 Creatinine/Urea nitrogen [Mass Ratio] in Serum or Plasma semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation Stored value is creatinine/BUN (REDCap calculation inverted; field label says BUN/Creatinine); remap to 3018311 (LOINC 3097-3) when the REDCap formula and values are corrected imported text import_buncreatinineratio 2960 31045-8 BUN/Creatinine ratio Question 3033837 Measurement LOINC Lab Test 31045-8 S No open-source Yes AIREADI_REDCAP:imported.2951-2.Sodium Sodium [Moles/volume] in Serum or Plasma skos:exactMatch OMOP:3019550 Sodium [Moles/volume] in Serum or Plasma semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation imported text import_sodium 2961 2951-2 Sodium Question 3019550 Measurement LOINC Lab Test 2951-2 S No open-source Yes AIREADI_REDCAP:imported.mEq_L.import_sodium_u milliequivalent per liter skos:exactMatch OMOP:9557 milliequivalent per liter semapv:ManualMappingCuration 1 AI-READI REDCap UCUM AI-READI manual_curation imported text import_sodium_u 2962 mEq/L import_sodium_u Unit 9557 Unit UCUM Unit 10*-3.eq/L S No open-source Yes AIREADI_REDCAP:imported.2823-3.Potassium Potassium [Moles/volume] in Serum or Plasma skos:exactMatch OMOP:3023103 Potassium [Moles/volume] in Serum or Plasma semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation imported text import_potassium 2965 2823-3 Potassium Question 3023103 Measurement LOINC Lab Test 2823-3 S No open-source Yes @@ -525,7 +525,7 @@ AIREADI_REDCAP:imported.g_dL.import_protein_total_u gram per deciliter skos:exac AIREADI_REDCAP:imported.1751-7.Albumin Albumin [Mass/volume] in Serum or Plasma skos:exactMatch OMOP:3024561 Albumin [Mass/volume] in Serum or Plasma semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation imported text import_albumin 2985 1751-7 Albumin Question 3024561 Measurement LOINC Lab Test 1751-7 S No open-source Yes AIREADI_REDCAP:imported.g_dL.import_albumin_u gram per deciliter skos:exactMatch OMOP:8713 gram per deciliter semapv:ManualMappingCuration 1 AI-READI REDCap UCUM AI-READI manual_curation imported text import_albumin_u 2986 g/dL import_albumin_u Unit 8713 Unit UCUM Unit g/dL S No open-source Yes AIREADI_REDCAP:imported.2336-6.Globulin_total_calculated_field Globulin [Mass/volume] in Serum skos:exactMatch OMOP:3021886 Globulin [Mass/volume] in Serum semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation imported text import_globulin_total_norc 2989 2336-6 Globulin, total (calculated field) Question 3021886 Measurement LOINC Lab Test 2336-6 S No open-source Yes -AIREADI_REDCAP:imported.import_ag_ratio.A_G_Ratio_calculated_field Albumin/Globulin ratio skos:exactMatch OMOP:3020509 Albumin/Globulin [Mass Ratio] in Serum or Plasma semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation imported text import_ag_ratio 2990 A/G Ratio (calculated field) Question 3020509 Measurement LOINC Lab Test 1759-0 S No open-source Yes +AIREADI_REDCAP:imported.1759-0.A_G_Ratio_calculated_field Albumin/Globulin ratio skos:exactMatch OMOP:3020509 Albumin/Globulin [Mass Ratio] in Serum or Plasma semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation imported text import_ag_ratio 2990 1759-0 A/G Ratio (calculated field) Question 3020509 Measurement LOINC Lab Test 1759-0 S No open-source Yes AIREADI_REDCAP:imported.1975-2.Bilirubin_Total Bilirubin.total [Mass/volume] in Serum or Plasma skos:exactMatch OMOP:3024128 Bilirubin.total [Mass/volume] in Serum or Plasma semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation imported text import_bilirubin_total 2991 1975-2 Bilirubin, Total Question 3024128 Measurement LOINC Lab Test 1975-2 S No open-source Yes AIREADI_REDCAP:imported.6768-6.Alkaline_Phosphatase Alkaline phosphatase [Enzymatic activity/volume] in Serum or Plasma skos:exactMatch OMOP:3035995 Alkaline phosphatase [Enzymatic activity/volume] in Serum or Plasma semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation imported text import_alkaline_phosphatase 2992 6768-6 Alkaline Phosphatase Question 3035995 Measurement LOINC Lab Test 6768-6 S No open-source Yes AIREADI_REDCAP:imported.IU_L.import_alkaline_phosphatase_u international unit per liter skos:exactMatch OMOP:8923 international unit per liter semapv:ManualMappingCuration 1 AI-READI REDCap UCUM AI-READI manual_curation imported text import_alkaline_phosphatase_u 2993 IU/L import_alkaline_phosphatase_u Unit 8923 Unit UCUM Unit [iU]/L S No open-source Yes @@ -853,7 +853,7 @@ AIREADI_REDCAP:px_neighborhood_environment_survey.pxne12 There are many four-way AIREADI_REDCAP:px_neighborhood_environment_survey.pxne13 The sidewalks in my neighborhood are well maintained (paved, with few cracks) and not obstructed. Would you say that you... skos:exactMatch OMOP:2005200118 The sidewalks in my neighborhood are well maintained (paved, with few cracks) and not obstructed. Would you say that you... semapv:ManualMappingCuration 1 AI-READI REDCap AIREADI AI-READI manual_curation px_neighborhood_environment_survey radio 1340 pxne13 Question 2005200118 2005200118 Observation AIREADI Survey S Yes open-source Yes AIREADI_REDCAP:px_neighborhood_environment_survey.pxne14 Places for bicycling (such as bike paths) in and around my neighborhood are well maintained and not obstructed. Would you say that you... skos:exactMatch OMOP:2005200119 Places for bicycling (such as bike paths) in and around my neighborhood are well maintained and not obstructed. Would you say that you... semapv:ManualMappingCuration 1 AI-READI REDCap AIREADI AI-READI manual_curation px_neighborhood_environment_survey radio 1341 pxne14 Question 2005200119 2005200119 Observation AIREADI Survey S Yes open-source Yes AIREADI_REDCAP:px_neighborhood_environment_survey.pxne15 There is so much traffic on the streets that it makes it difficult or unpleasant to ride a bicycle in my neighborhood. Would you say that you... skos:exactMatch OMOP:2005200120 There is so much traffic on the streets that it makes it difficult or unpleasant to ride a bicycle in my neighborhood. Would you say that you... semapv:ManualMappingCuration 1 AI-READI REDCap AIREADI AI-READI manual_curation px_neighborhood_environment_survey radio 1342 pxne15 Question 2005200120 2005200120 Observation AIREADI Survey S Yes open-source Yes -AIREADI_REDCAP:px_neighborhood_environment_survey.pxne16 The crime rate in my neighborhood makes it unsafe to go on walks during the day. Would you say that you... skos:exactMatch OMOP:2005200121 The crime rate in my neighborhood makes it unsafe to go on walks during the day. Would you say that you... semapv:ManualMappingCuration 1 AI-READI REDCap AIREADI AI-READI manual_curation px_neighborhood_environment_survey radio 1343 pxne16 Question 2005200121 2005200121 Observation AIREADI Survey S Yes open-source Yes +AIREADI_REDCAP:px_neighborhood_environment_survey.pxne16 The crime rate in my neighborhood makes it unsafe to go on walks during the day. Would you say that you... skos:exactMatch OMOP:40192414 The crime rate in my neighborhood makes it unsafe to go on walks during the day. Would you say that you... semapv:ManualMappingCuration 1 AI-READI REDCap PPI AI-READI manual_curation px_neighborhood_environment_survey radio 1343 pxne16 Question 40192414 Observation PPI Question ips_16 S Yes open-source Yes AIREADI_REDCAP:px_neighborhood_environment_survey.pxne17 There are many places to go within easy walking distance of my home. Would you say that you... skos:exactMatch OMOP:2005200122 There are many places to go within easy walking distance of my home. Would you say that you... semapv:ManualMappingCuration 1 AI-READI REDCap AIREADI AI-READI manual_curation px_neighborhood_environment_survey radio 1344 pxne17 Question 2005200122 2005200122 Observation AIREADI Survey S Yes open-source Yes AIREADI_REDCAP:px_neighborhood_environment_survey.pxnestartts PhenX Neighborhood Enviroment Survey Started Timestamp (from REDCap) skos:exactMatch OMOP:2005200558 Survey Started Timestamp semapv:ManualMappingCuration 1 AI-READI REDCap AIREADI AI-READI manual_curation PhenX Neighborhood Enviroment Survey Started Timestamp (from REDCap) px_neighborhood_environment_survey text 1345 pxnestartts Question 2005200558 Observation AIREADI Qualifier Value S Yes open-source Yes 2005200585 PhenX Neighborhood Environment Survey AIREADI_REDCAP:px_neighborhood_environment_survey.pxnecmpts PhenX Neighborhood Environment Survey Completed Timestamp (from REDCap) skos:exactMatch OMOP:2005200559 Survey Completed Timestamp semapv:ManualMappingCuration 1 AI-READI REDCap AIREADI AI-READI manual_curation PhenX Neighborhood Environment Survey Completed Timestamp (from REDCap) px_neighborhood_environment_survey text 1346 pxnecmpts Question 2005200559 Observation AIREADI Qualifier Value S Yes open-source Yes 2005200585 PhenX Neighborhood Environment Survey @@ -881,14 +881,14 @@ AIREADI_REDCAP:px_neighborhood_environment_survey.1.pxne4_1 Strongly disagree sk AIREADI_REDCAP:px_neighborhood_environment_survey.2.pxne4_2 Somewhat disagree skos:exactMatch OMOP:45879539 Somewhat disagree semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation px_neighborhood_environment_survey radio pxne4 2520 2 pxne4_2 Answer 45879539 Meas Value LOINC Answer LA15234-0 S No open-source Yes AIREADI_REDCAP:px_neighborhood_environment_survey.3.pxne4_3 Somewhat agree skos:exactMatch OMOP:45884684 Somewhat agree semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation px_neighborhood_environment_survey radio pxne4 2521 3 pxne4_3 Answer 45884684 Meas Value LOINC Answer LA15235-7 S No open-source Yes AIREADI_REDCAP:px_neighborhood_environment_survey.4.pxne4_4 Strongly agree skos:exactMatch OMOP:45879208 Strongly agree semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation px_neighborhood_environment_survey radio pxne4 2522 4 pxne4_4 Answer 45879208 Meas Value LOINC Answer LA15237-3 S No open-source Yes -AIREADI_REDCAP:px_neighborhood_environment_survey.88.pxne4_88 Does not apply to my neighborhood skos:exactMatch OMOP:2005200268 Does not apply to my neighborhood semapv:ManualMappingCuration 1 AI-READI REDCap AIREADI AI-READI manual_curation px_neighborhood_environment_survey radio pxne4 2523 88 pxne4_88 Answer 2005200268 2005200268 Meas Value AIREADI Answer S Yes open-source Yes +AIREADI_REDCAP:px_neighborhood_environment_survey.88.pxne4_88 Does not apply to my neighborhood skos:exactMatch OMOP:40192520 Does not apply to my neighborhood semapv:ManualMappingCuration 1 AI-READI REDCap PPI AI-READI manual_curation px_neighborhood_environment_survey radio pxne4 2523 88 pxne4_88 Answer 40192520 Meas Value PPI Answer SDOH_9 S Yes open-source Yes AIREADI_REDCAP:px_neighborhood_environment_survey.555.pxne4_555 Don't know/Not sure skos:exactMatch OMOP:45876636 Don't know semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation px_neighborhood_environment_survey radio pxne4 2524 555 pxne4_555 Answer 45876636 Meas Value LOINC Answer LA12688-0 S No open-source Yes AIREADI_REDCAP:px_neighborhood_environment_survey.777.pxne4_777 Prefer not to say skos:exactMatch OMOP:36311156 Prefer not to say semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation px_neighborhood_environment_survey radio pxne4 2525 777 pxne4_777 Answer 36311156 Meas Value LOINC Answer LA28803-7 S No open-source Yes AIREADI_REDCAP:px_neighborhood_environment_survey.1.pxne5_1 Strongly disagree skos:exactMatch OMOP:45882953 Strongly disagree semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation px_neighborhood_environment_survey radio pxne5 2526 1 pxne5_1 Answer 45882953 Meas Value LOINC Answer LA15236-5 S No open-source Yes AIREADI_REDCAP:px_neighborhood_environment_survey.2.pxne5_2 Somewhat disagree skos:exactMatch OMOP:45879539 Somewhat disagree semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation px_neighborhood_environment_survey radio pxne5 2527 2 pxne5_2 Answer 45879539 Meas Value LOINC Answer LA15234-0 S No open-source Yes AIREADI_REDCAP:px_neighborhood_environment_survey.3.pxne5_3 Somewhat agree skos:exactMatch OMOP:45884684 Somewhat agree semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation px_neighborhood_environment_survey radio pxne5 2528 3 pxne5_3 Answer 45884684 Meas Value LOINC Answer LA15235-7 S No open-source Yes AIREADI_REDCAP:px_neighborhood_environment_survey.4.pxne5_4 Strongly agree skos:exactMatch OMOP:45879208 Strongly agree semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation px_neighborhood_environment_survey radio pxne5 2529 4 pxne5_4 Answer 45879208 Meas Value LOINC Answer LA15237-3 S No open-source Yes -AIREADI_REDCAP:px_neighborhood_environment_survey.88.pxne5_88 Does not apply to my neighborhood skos:exactMatch OMOP:2005200268 Does not apply to my neighborhood semapv:ManualMappingCuration 1 AI-READI REDCap AIREADI AI-READI manual_curation px_neighborhood_environment_survey radio pxne5 2530 88 pxne5_88 Answer 2005200268 2005200268 Meas Value AIREADI Answer S Yes open-source Yes +AIREADI_REDCAP:px_neighborhood_environment_survey.88.pxne5_88 Does not apply to my neighborhood skos:exactMatch OMOP:40192520 Does not apply to my neighborhood semapv:ManualMappingCuration 1 AI-READI REDCap PPI AI-READI manual_curation px_neighborhood_environment_survey radio pxne5 2530 88 pxne5_88 Answer 40192520 Meas Value PPI Answer SDOH_9 S Yes open-source Yes AIREADI_REDCAP:px_neighborhood_environment_survey.555.pxne5_555 Don't know/Not sure skos:exactMatch OMOP:45876636 Don't know semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation px_neighborhood_environment_survey radio pxne5 2531 555 pxne5_555 Answer 45876636 Meas Value LOINC Answer LA12688-0 S No open-source Yes AIREADI_REDCAP:px_neighborhood_environment_survey.777.pxne5_777 Prefer not to say skos:exactMatch OMOP:36311156 Prefer not to say semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation px_neighborhood_environment_survey radio pxne5 2532 777 pxne5_777 Answer 36311156 Meas Value LOINC Answer LA28803-7 S No open-source Yes AIREADI_REDCAP:px_neighborhood_environment_survey.1.pxne6_1 Strongly disagree skos:exactMatch OMOP:45882953 Strongly disagree semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation px_neighborhood_environment_survey radio pxne6 2533 1 pxne6_1 Answer 45882953 Meas Value LOINC Answer LA15236-5 S No open-source Yes @@ -1771,7 +1771,7 @@ AIREADI_REDCAP:retinal_imaging_v2.1.rtfl_os_1 Yes skos:exactMatch OMOP:45877994 AIREADI_REDCAP:retinal_imaging_v2.0.rtfl_os_0 No skos:exactMatch OMOP:45878245 No semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation left eye|45883829 retinal_imaging_v2 yesno rtfl_os 0 rtfl_os_0 Answer 45878245 Meas Value LOINC Answer LA32-8 S No open-source Yes 45883829 Left eye AIREADI_REDCAP:screening_survey.scrcmpdat Screening survey date (date survey/form opened) skos:closeMatch OMOP:4160030 Performed semapv:ManualMappingCuration 0.75 AI-READI REDCap SNOMED AI-READI manual_curation Screening survey date (date survey/form opened) screening_survey text 1037 scrcmpdat Question 4160030 Observation SNOMED Qualifier Value 398166005 S No open-source Yes 2005200563 Screening Survey AIREADI_REDCAP:screening_survey.mhterm_dm1 Type I Diabetes skos:exactMatch OMOP:2005200014 Has a doctor or other healthcare professional ever told you that you have/had... semapv:ManualMappingCuration 1 AI-READI REDCap AIREADI AI-READI manual_curation 201254 screening_survey yesno 1041 mhterm_dm1 Question 2005200014 2005200014 Observation AIREADI Survey S Yes open-source Yes 201254 Type 1 diabetes mellitus -AIREADI_REDCAP:screening_survey.mh_a1c Elevated A1C levels (elevated blood sugars) skos:exactMatch OMOP:2005200014 Has a doctor or other healthcare professional ever told you that you have/had... semapv:ManualMappingCuration 1 AI-READI REDCap AIREADI AI-READI manual_curation 2005200547 screening_survey yesno 1042 mh_a1c Question 2005200014 2005200014 Observation AIREADI Survey S Yes open-source Yes 2005200547 Elevated A1C levels (elevated blood sugars) +AIREADI_REDCAP:screening_survey.mh_a1c Elevated A1C levels (elevated blood sugars) skos:exactMatch OMOP:2005200014 Has a doctor or other healthcare professional ever told you that you have/had... semapv:ManualMappingCuration 1 AI-READI REDCap AIREADI AI-READI manual_curation 4214376 screening_survey yesno 1042 mh_a1c Question 2005200014 2005200014 Observation AIREADI Survey S Yes open-source Yes 2005200547 Elevated A1C levels (elevated blood sugars) AIREADI_REDCAP:screening_survey.mhterm_dm2 Type II Diabetes skos:exactMatch OMOP:2005200014 Has a doctor or other healthcare professional ever told you that you have/had... semapv:ManualMappingCuration 1 AI-READI REDCap AIREADI AI-READI manual_curation 201826 screening_survey yesno 1043 mhterm_dm2 Question 2005200014 2005200014 Observation AIREADI Survey S Yes open-source Yes 201826 Type 2 diabetes mellitus AIREADI_REDCAP:screening_survey.mh_dm_age If yes, at what age were you first diagnosed? skos:closeMatch OMOP:4307859 Age at diagnosis semapv:ManualMappingCuration 0.75 AI-READI REDCap SNOMED AI-READI manual_curation screening_survey text 1044 mh_dm_age Question 4307859 Observation SNOMED Observable Entity 423493009 S No open-source Yes AIREADI_REDCAP:screening_survey.mhterm_predm Pre-diabetes skos:exactMatch OMOP:2005200014 Has a doctor or other healthcare professional ever told you that you have/had... semapv:ManualMappingCuration 1 AI-READI REDCap AIREADI AI-READI manual_curation 37018196 screening_survey yesno 1045 mhterm_predm Question 2005200014 2005200014 Observation AIREADI Survey S Yes open-source Yes 37018196 Prediabetes @@ -1791,7 +1791,7 @@ AIREADI_REDCAP:screening_survey.1.mhterm_predm_1 Yes skos:exactMatch OMOP:458779 AIREADI_REDCAP:screening_survey.1.mh_a1c_1 Yes skos:exactMatch OMOP:45877994 Yes semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation screening_survey yesno mh_a1c 1 mh_a1c_1 Answer 45877994 Meas Value LOINC Answer LA33-6 S No open-source Yes AIREADI_REDCAP:screening_survey.1.mhterm_dm1_1 Yes skos:exactMatch OMOP:201254 Type 1 diabetes mellitus semapv:ManualMappingCuration 1 AI-READI REDCap SNOMED AI-READI manual_curation screening_survey yesno mhterm_dm1 1 mhterm_dm1_1 Answer 201254 Condition SNOMED Disorder 46635009 S No open-source Yes AIREADI_REDCAP:screening_survey.1.mhterm_predm_1 Yes skos:exactMatch OMOP:37018196 Prediabetes semapv:ManualMappingCuration 1 AI-READI REDCap SNOMED AI-READI manual_curation screening_survey yesno mhterm_predm 1 mhterm_predm_1 Answer 37018196 Condition SNOMED Clinical Finding 714628002 S No open-source Yes -AIREADI_REDCAP:screening_survey.1.mh_a1c_1 Yes skos:exactMatch OMOP:2005200547 Elevated A1C levels (elevated blood sugars) semapv:ManualMappingCuration 1 AI-READI REDCap AIREADI AI-READI manual_curation screening_survey yesno mh_a1c 1 mh_a1c_1 Answer 2005200547 2005200547 Condition AIREADI Disorder S Yes open-source Yes +AIREADI_REDCAP:screening_survey.1.mh_a1c_1 Yes skos:closeMatch OMOP:4214376 Hyperglycemia semapv:ManualMappingCuration 0.75 AI-READI REDCap SNOMED AI-READI manual_curation screening_survey yesno mh_a1c 1 mh_a1c_1 Answer 4214376 Condition SNOMED Disorder 80394007 S Yes open-source Yes AIREADI_REDCAP:screening_survey.0.mhterm_dm2_0 No skos:exactMatch OMOP:45878245 No semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation screening_survey yesno mhterm_dm2 0 mhterm_dm2_0 Answer 45878245 Meas Value LOINC Answer LA32-8 S No open-source Yes AIREADI_REDCAP:screening_survey.1.cmtrt_insln_1 Yes skos:closeMatch OMOP:440922 Diabetic on insulin semapv:ManualMappingCuration 0.75 AI-READI REDCap SNOMED AI-READI manual_curation screening_survey yesno cmtrt_insln 1 cmtrt_insln_1 Answer 440922 Observation SNOMED Clinical Finding 170747006 S No open-source Yes AIREADI_REDCAP:screening_survey.1.cmtrt_glcs_1 Yes skos:exactMatch OMOP:36714369 Diabetic on non-insulin injectable medication semapv:ManualMappingCuration 1 AI-READI REDCap SNOMED AI-READI manual_curation screening_survey yesno cmtrt_glcs 1 cmtrt_glcs_1 Answer 36714369 Observation SNOMED Clinical Finding 719566006 S No open-source Yes @@ -2066,3 +2066,4 @@ AIREADI_REDCAP:current_medications.cmcmpdat2 Date current medication collected s AIREADI_REDCAP:current_medications.cmrouteot If Other, please specify: skos:exactMatch OMOP:2005200485 Specify other semapv:ManualMappingCuration 1 AI-READI REDCap AIREADI AI-READI manual_curation current_medications text 1472 cmrouteot Question 2005200485 2005200485 Observation AIREADI Survey S Yes protected Yes AIREADI_REDCAP:health_survey.mhoccur_ot If yes, please specify: skos:exactMatch OMOP:2005200485 Specify other semapv:ManualMappingCuration 1 AI-READI REDCap AIREADI AI-READI manual_curation health_survey text 1158 mhoccur_ot Question 2005200485 2005200485 Observation AIREADI Survey S Yes protected Yes AIREADI_REDCAP:screening_survey.0.rp_childpot_0 No skos:exactMatch OMOP:42530854 Not pregnant semapv:ManualMappingCuration 1 AI-READI REDCap LOINC AI-READI manual_curation screening_survey yesno rp_childpot 0 rp_childpot_0 Answer 42530854 Meas Value LOINC Answer LA26683-5 S No protected Yes +AIREADI_REDCAP:disposition.3.eos_dsvst_3 Devices Returned skos:exactMatch OMOP:2005200589 Device returned semapv:ManualMappingCuration 1 AI-READI REDCap AIREADI AI-READI manual_curation disposition radio eos_dsvst 3 eos_dsvst_3 Answer 2005200589 2005200589 Observation AIREADI Qualifier Value S Yes open-source Yes diff --git a/redCapDataDictionaryWithExtension/sssom/ai_readi_redcap_value_set_mapping.sssom.yaml b/redCapDataDictionaryWithExtension/sssom/ai_readi_redcap_value_set_mapping.sssom.yaml index ef5598b..3b794f0 100644 --- a/redCapDataDictionaryWithExtension/sssom/ai_readi_redcap_value_set_mapping.sssom.yaml +++ b/redCapDataDictionaryWithExtension/sssom/ai_readi_redcap_value_set_mapping.sssom.yaml @@ -15,4 +15,4 @@ curie_map: semapv: https://w3id.org/semapv/vocab/ subject_source: AI-READI REDCap object_source: OMOP Standardized Vocabularies -mapping_date: '2026-10-27' +mapping_date: '2026-10-28' diff --git a/redCapDataDictionaryWithExtension/sssom/ai_readi_redcap_value_set_mapping_sssom_README.md b/redCapDataDictionaryWithExtension/sssom/ai_readi_redcap_value_set_mapping_sssom_README.md index 4269b12..3ca7728 100644 --- a/redCapDataDictionaryWithExtension/sssom/ai_readi_redcap_value_set_mapping_sssom_README.md +++ b/redCapDataDictionaryWithExtension/sssom/ai_readi_redcap_value_set_mapping_sssom_README.md @@ -10,8 +10,8 @@ Generated from `_ai_readi_redcap_value_set_mapping_common.csv` with `generate_li ## Row counts -- Source rows: 2,142 -- Rows included in SSSOM TSV: 2,067 +- Source rows: 2,143 +- Rows included in SSSOM TSV: 2,068 - Rows excluded as incomplete for SSSOM: 75 ## Identifier conventions diff --git a/redCapDataDictionaryWithExtension/value-set-mapping-common/_ai_readi_redcap_value_set_mapping_common.csv b/redCapDataDictionaryWithExtension/value-set-mapping-common/_ai_readi_redcap_value_set_mapping_common.csv index 6988f58..d49e630 100644 --- a/redCapDataDictionaryWithExtension/value-set-mapping-common/_ai_readi_redcap_value_set_mapping_common.csv +++ b/redCapDataDictionaryWithExtension/value-set-mapping-common/_ai_readi_redcap_value_set_mapping_common.csv @@ -551,7 +551,7 @@ Yes,Yes,open-source,No,imported,text,import_creatinine_min,2958,Question,,,COMP, Yes,Yes,open-source,No,imported,text,import_creatinine_min2,,Question,,,COMP,,,Creatinine min,,,,,,,,,,, Yes,Yes,open-source,No,imported,text,import_creatinine_max,2959,Question,,,COMP,,,Creatinine max,,,,,,,,,,, Yes,Yes,open-source,No,imported,text,import_creatinine_max2,,Question,,,COMP,,,Creatinine max,,,,,,,,,,, -Yes,Yes,open-source,No,imported,text,import_buncreatinineratio,2960,Question,,BUN/Creatinine ratio,BUN/Creatinine ratio,3033837,,Creatinine/Urea nitrogen [Mass Ratio] in Serum or Plasma,Measurement,LOINC,Lab Test,31045-8,S,skos:exactMatch,1,Stored value is creatinine/BUN (REDCap calculation inverted; field label says BUN/Creatinine); remap to 3018311 (LOINC 3097-3) when the REDCap formula and values are corrected,,, +Yes,Yes,open-source,No,imported,text,import_buncreatinineratio,2960,Question,31045-8,BUN/Creatinine ratio,BUN/Creatinine ratio,3033837,,Creatinine/Urea nitrogen [Mass Ratio] in Serum or Plasma,Measurement,LOINC,Lab Test,31045-8,S,skos:exactMatch,1,Stored value is creatinine/BUN (REDCap calculation inverted; field label says BUN/Creatinine); remap to 3018311 (LOINC 3097-3) when the REDCap formula and values are corrected,,, Yes,Yes,open-source,No,imported,text,import_sodium,2961,Question,2951-2,Sodium,Sodium [Moles/volume] in Serum or Plasma,3019550,,Sodium [Moles/volume] in Serum or Plasma,Measurement,LOINC,Lab Test,2951-2,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,imported,text,import_sodium_u,2962,Unit,mEq/L,import_sodium_u,milliequivalent per liter,9557,,milliequivalent per liter,Unit,UCUM,Unit,10*-3.eq/L,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,imported,text,import_sodium_min,2963,Question,,,COMP,,,Sodium min,,,,,,,,,,, @@ -581,7 +581,7 @@ Yes,Yes,open-source,No,imported,text,import_albumin_u,2986,Unit,g/dL,import_albu Yes,Yes,open-source,No,imported,text,import_albumin_min,2987,Question,,,COMP,,,Albumin min,,,,,,,,,,, Yes,Yes,open-source,No,imported,text,import_albumin_max,2988,Question,,,COMP,,,Albumin max,,,,,,,,,,, Yes,Yes,open-source,No,imported,text,import_globulin_total_norc,2989,Question,2336-6,"Globulin, total (calculated field)",Globulin [Mass/volume] in Serum,3021886,,Globulin [Mass/volume] in Serum,Measurement,LOINC,Lab Test,2336-6,S,skos:exactMatch,1,,,, -Yes,Yes,open-source,No,imported,text,import_ag_ratio,2990,Question,,A/G Ratio (calculated field),Albumin/Globulin ratio,3020509,,Albumin/Globulin [Mass Ratio] in Serum or Plasma,Measurement,LOINC,Lab Test,1759-0,S,skos:exactMatch,1,,,, +Yes,Yes,open-source,No,imported,text,import_ag_ratio,2990,Question,1759-0,A/G Ratio (calculated field),Albumin/Globulin ratio,3020509,,Albumin/Globulin [Mass Ratio] in Serum or Plasma,Measurement,LOINC,Lab Test,1759-0,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,imported,text,import_bilirubin_total,2991,Question,1975-2,"Bilirubin, Total",Bilirubin.total [Mass/volume] in Serum or Plasma,3024128,,Bilirubin.total [Mass/volume] in Serum or Plasma,Measurement,LOINC,Lab Test,1975-2,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,imported,text,import_alkaline_phosphatase,2992,Question,6768-6,Alkaline Phosphatase,Alkaline phosphatase [Enzymatic activity/volume] in Serum or Plasma,3035995,,Alkaline phosphatase [Enzymatic activity/volume] in Serum or Plasma,Measurement,LOINC,Lab Test,6768-6,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,imported,text,import_alkaline_phosphatase_u,2993,Unit,IU/L,import_alkaline_phosphatase_u,international unit per liter,8923,,international unit per liter,Unit,UCUM,Unit,[iU]/L,S,skos:exactMatch,1,,,, @@ -926,7 +926,7 @@ Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1339,Question, Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1340,Question,pxne13,,"The sidewalks in my neighborhood are well maintained (paved, with few cracks) and not obstructed. Would you say that you...",2005200118,2005200118,"The sidewalks in my neighborhood are well maintained (paved, with few cracks) and not obstructed. Would you say that you...",Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,, Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1341,Question,pxne14,,Places for bicycling (such as bike paths) in and around my neighborhood are well maintained and not obstructed. Would you say that you...,2005200119,2005200119,Places for bicycling (such as bike paths) in and around my neighborhood are well maintained and not obstructed. Would you say that you...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,, Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1342,Question,pxne15,,There is so much traffic on the streets that it makes it difficult or unpleasant to ride a bicycle in my neighborhood. Would you say that you...,2005200120,2005200120,There is so much traffic on the streets that it makes it difficult or unpleasant to ride a bicycle in my neighborhood. Would you say that you...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,, -Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1343,Question,pxne16,,The crime rate in my neighborhood makes it unsafe to go on walks during the day. Would you say that you...,2005200121,2005200121,The crime rate in my neighborhood makes it unsafe to go on walks during the day. Would you say that you...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,, +Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1343,Question,pxne16,,The crime rate in my neighborhood makes it unsafe to go on walks during the day. Would you say that you...,40192414,,The crime rate in my neighborhood makes it unsafe to go on walks during the day. Would you say that you...,Observation,PPI,Question,ips_16,S,skos:exactMatch,1,,,, Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1344,Question,pxne17,,There are many places to go within easy walking distance of my home. Would you say that you...,2005200122,2005200122,There are many places to go within easy walking distance of my home. Would you say that you...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,, Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,text,,1345,Question,pxnestartts,,PhenX Neighborhood Enviroment Survey Started Timestamp (from REDCap),2005200558,,Survey Started Timestamp,Observation,AIREADI,Qualifier Value,,S,skos:exactMatch,1,PhenX Neighborhood Enviroment Survey Started Timestamp (from REDCap),,2005200585,PhenX Neighborhood Environment Survey Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,text,,1346,Question,pxnecmpts,,PhenX Neighborhood Environment Survey Completed Timestamp (from REDCap),2005200559,,Survey Completed Timestamp,Observation,AIREADI,Qualifier Value,,S,skos:exactMatch,1,PhenX Neighborhood Environment Survey Completed Timestamp (from REDCap),,2005200585,PhenX Neighborhood Environment Survey @@ -954,14 +954,14 @@ Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne4,2519,Answe Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne4,2520,Answer,2,pxne4_2,Somewhat disagree,45879539,,Somewhat disagree,Meas Value,LOINC,Answer,LA15234-0,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne4,2521,Answer,3,pxne4_3,Somewhat agree,45884684,,Somewhat agree,Meas Value,LOINC,Answer,LA15235-7,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne4,2522,Answer,4,pxne4_4,Strongly agree,45879208,,Strongly agree,Meas Value,LOINC,Answer,LA15237-3,S,skos:exactMatch,1,,,, -Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,pxne4,2523,Answer,88,pxne4_88,Does not apply to my neighborhood,2005200268,2005200268,Does not apply to my neighborhood,Meas Value,AIREADI,Answer,,S,skos:exactMatch,1,,,, +Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,pxne4,2523,Answer,88,pxne4_88,Does not apply to my neighborhood,40192520,,Does not apply to my neighborhood,Meas Value,PPI,Answer,SDOH_9,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne4,2524,Answer,555,pxne4_555,Don't know/Not sure,45876636,,Don't know,Meas Value,LOINC,Answer,LA12688-0,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne4,2525,Answer,777,pxne4_777,Prefer not to say,36311156,,Prefer not to say,Meas Value,LOINC,Answer,LA28803-7,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne5,2526,Answer,1,pxne5_1,Strongly disagree,45882953,,Strongly disagree,Meas Value,LOINC,Answer,LA15236-5,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne5,2527,Answer,2,pxne5_2,Somewhat disagree,45879539,,Somewhat disagree,Meas Value,LOINC,Answer,LA15234-0,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne5,2528,Answer,3,pxne5_3,Somewhat agree,45884684,,Somewhat agree,Meas Value,LOINC,Answer,LA15235-7,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne5,2529,Answer,4,pxne5_4,Strongly agree,45879208,,Strongly agree,Meas Value,LOINC,Answer,LA15237-3,S,skos:exactMatch,1,,,, -Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,pxne5,2530,Answer,88,pxne5_88,Does not apply to my neighborhood,2005200268,2005200268,Does not apply to my neighborhood,Meas Value,AIREADI,Answer,,S,skos:exactMatch,1,,,, +Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,pxne5,2530,Answer,88,pxne5_88,Does not apply to my neighborhood,40192520,,Does not apply to my neighborhood,Meas Value,PPI,Answer,SDOH_9,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne5,2531,Answer,555,pxne5_555,Don't know/Not sure,45876636,,Don't know,Meas Value,LOINC,Answer,LA12688-0,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne5,2532,Answer,777,pxne5_777,Prefer not to say,36311156,,Prefer not to say,Meas Value,LOINC,Answer,LA28803-7,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne6,2533,Answer,1,pxne6_1,Strongly disagree,45882953,,Strongly disagree,Meas Value,LOINC,Answer,LA15236-5,S,skos:exactMatch,1,,,, @@ -1846,7 +1846,7 @@ Yes,Yes,open-source,No,retinal_imaging_v2,yesno,rtfl_os,,Answer,1,rtfl_os_1,Yes, Yes,Yes,open-source,No,retinal_imaging_v2,yesno,rtfl_os,,Answer,0,rtfl_os_0,No,45878245,,No,Meas Value,LOINC,Answer,LA32-8,S,skos:exactMatch,1,left eye|45883829,,45883829,Left eye Yes,Yes,open-source,No,screening_survey,text,,1037,Question,scrcmpdat,,Screening survey date (date survey/form opened),4160030,,Performed,Observation,SNOMED,Qualifier Value,398166005,S,skos:closeMatch,0.75,Screening survey date (date survey/form opened),,2005200563,Screening Survey Yes,Yes,open-source,Yes,screening_survey,yesno,,1041,Question,mhterm_dm1,,Type I Diabetes,2005200014,2005200014,Has a doctor or other healthcare professional ever told you that you have/had...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,201254,,201254,Type 1 diabetes mellitus -Yes,Yes,open-source,Yes,screening_survey,yesno,,1042,Question,mh_a1c,,Elevated A1C levels (elevated blood sugars),2005200014,2005200014,Has a doctor or other healthcare professional ever told you that you have/had...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,2005200547,,2005200547,Elevated A1C levels (elevated blood sugars) +Yes,Yes,open-source,Yes,screening_survey,yesno,,1042,Question,mh_a1c,,Elevated A1C levels (elevated blood sugars),2005200014,2005200014,Has a doctor or other healthcare professional ever told you that you have/had...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,4214376,,2005200547,Elevated A1C levels (elevated blood sugars) Yes,Yes,open-source,Yes,screening_survey,yesno,,1043,Question,mhterm_dm2,,Type II Diabetes,2005200014,2005200014,Has a doctor or other healthcare professional ever told you that you have/had...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,201826,,201826,Type 2 diabetes mellitus Yes,Yes,open-source,No,screening_survey,text,,1044,Question,mh_dm_age,,"If yes, at what age were you first diagnosed?",4307859,,Age at diagnosis,Observation,SNOMED,Observable Entity,423493009,S,skos:closeMatch,0.75,,,, Yes,Yes,open-source,Yes,screening_survey,yesno,,1045,Question,mhterm_predm,,Pre-diabetes,2005200014,2005200014,Has a doctor or other healthcare professional ever told you that you have/had...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,37018196,,37018196,Prediabetes @@ -1866,7 +1866,7 @@ Yes,Yes,open-source,No,screening_survey,yesno,mhterm_predm,,Answer,1,mhterm_pred Yes,Yes,open-source,No,screening_survey,yesno,mh_a1c,,Answer,1,mh_a1c_1,Yes,45877994,,Yes,Meas Value,LOINC,Answer,LA33-6,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,screening_survey,yesno,mhterm_dm1,,Answer,1,mhterm_dm1_1,Yes,201254,,Type 1 diabetes mellitus,Condition,SNOMED,Disorder,46635009,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,screening_survey,yesno,mhterm_predm,,Answer,1,mhterm_predm_1,Yes,37018196,,Prediabetes,Condition,SNOMED,Clinical Finding,714628002,S,skos:exactMatch,1,,,, -Yes,Yes,open-source,Yes,screening_survey,yesno,mh_a1c,,Answer,1,mh_a1c_1,Yes,2005200547,2005200547,Elevated A1C levels (elevated blood sugars),Condition,AIREADI,Disorder,,S,skos:exactMatch,1,,,, +Yes,Yes,open-source,Yes,screening_survey,yesno,mh_a1c,,Answer,1,mh_a1c_1,Yes,4214376,,Hyperglycemia,Condition,SNOMED,Disorder,80394007,S,skos:closeMatch,0.75,,,, Yes,Yes,open-source,No,screening_survey,yesno,mhterm_dm2,,Answer,0,mhterm_dm2_0,No,45878245,,No,Meas Value,LOINC,Answer,LA32-8,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,screening_survey,yesno,cmtrt_insln,,Answer,1,cmtrt_insln_1,Yes,440922,,Diabetic on insulin,Observation,SNOMED,Clinical Finding,170747006,S,skos:closeMatch,0.75,,,, Yes,Yes,open-source,No,screening_survey,yesno,cmtrt_glcs,,Answer,1,cmtrt_glcs_1,Yes,36714369,,Diabetic on non-insulin injectable medication,Observation,SNOMED,Clinical Finding,719566006,S,skos:exactMatch,1,,,, @@ -2141,3 +2141,4 @@ Yes,Yes,protected,No,current_medications,text,,1468,Question,cmcmpdat2,,Date cur Yes,Yes,protected,Yes,current_medications,text,,1472,Question,cmrouteot,,"If Other, please specify:",2005200485,2005200485,Specify other,Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,, Yes,Yes,protected,Yes,health_survey,text,,1158,Question,mhoccur_ot,,"If yes, please specify:",2005200485,2005200485,Specify other,Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,, Yes,Yes,protected,No,screening_survey,yesno,rp_childpot,,Answer,0,rp_childpot_0,No,42530854,,Not pregnant,Meas Value,LOINC,Answer,LA26683-5,S,skos:exactMatch,1,,,, +Yes,Yes,open-source,Yes,disposition,radio,eos_dsvst,,Answer,3,eos_dsvst_3,Devices Returned,2005200589,2005200589,Device returned,Observation,AIREADI,Qualifier Value,,S,skos:exactMatch,1,,,, diff --git a/redCapDataDictionaryWithExtension/value-set-mapping-common/_ai_readi_redcap_value_set_mapping_common_map2omop.csv b/redCapDataDictionaryWithExtension/value-set-mapping-common/_ai_readi_redcap_value_set_mapping_common_map2omop.csv index 5030046..8e93390 100644 --- a/redCapDataDictionaryWithExtension/value-set-mapping-common/_ai_readi_redcap_value_set_mapping_common_map2omop.csv +++ b/redCapDataDictionaryWithExtension/value-set-mapping-common/_ai_readi_redcap_value_set_mapping_common_map2omop.csv @@ -549,7 +549,7 @@ Yes,Yes,open-source,No,imported,text,import_creatinine_min,2958,Question,,,COMP, Yes,Yes,open-source,No,imported,text,import_creatinine_min2,,Question,,,COMP,,,Creatinine min,,,,,,,,,,, Yes,Yes,open-source,No,imported,text,import_creatinine_max,2959,Question,,,COMP,,,Creatinine max,,,,,,,,,,, Yes,Yes,open-source,No,imported,text,import_creatinine_max2,,Question,,,COMP,,,Creatinine max,,,,,,,,,,, -Yes,Yes,open-source,No,imported,text,import_buncreatinineratio,2960,Question,,BUN/Creatinine ratio,BUN/Creatinine ratio,3033837,,Creatinine/Urea nitrogen [Mass Ratio] in Serum or Plasma,Measurement,LOINC,Lab Test,31045-8,S,skos:exactMatch,1,Stored value is creatinine/BUN (REDCap calculation inverted; field label says BUN/Creatinine); remap to 3018311 (LOINC 3097-3) when the REDCap formula and values are corrected,,, +Yes,Yes,open-source,No,imported,text,import_buncreatinineratio,2960,Question,31045-8,BUN/Creatinine ratio,BUN/Creatinine ratio,3033837,,Creatinine/Urea nitrogen [Mass Ratio] in Serum or Plasma,Measurement,LOINC,Lab Test,31045-8,S,skos:exactMatch,1,Stored value is creatinine/BUN (REDCap calculation inverted; field label says BUN/Creatinine); remap to 3018311 (LOINC 3097-3) when the REDCap formula and values are corrected,,, Yes,Yes,open-source,No,imported,text,import_sodium,2961,Question,2951-2,Sodium,Sodium [Moles/volume] in Serum or Plasma,3019550,,Sodium [Moles/volume] in Serum or Plasma,Measurement,LOINC,Lab Test,2951-2,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,imported,text,import_sodium_u,2962,Unit,mEq/L,import_sodium_u,milliequivalent per liter,9557,,milliequivalent per liter,Unit,UCUM,Unit,10*-3.eq/L,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,imported,text,import_sodium_min,2963,Question,,,COMP,,,Sodium min,,,,,,,,,,, @@ -579,7 +579,7 @@ Yes,Yes,open-source,No,imported,text,import_albumin_u,2986,Unit,g/dL,import_albu Yes,Yes,open-source,No,imported,text,import_albumin_min,2987,Question,,,COMP,,,Albumin min,,,,,,,,,,, Yes,Yes,open-source,No,imported,text,import_albumin_max,2988,Question,,,COMP,,,Albumin max,,,,,,,,,,, Yes,Yes,open-source,No,imported,text,import_globulin_total_norc,2989,Question,2336-6,"Globulin, total (calculated field)",Globulin [Mass/volume] in Serum,3021886,,Globulin [Mass/volume] in Serum,Measurement,LOINC,Lab Test,2336-6,S,skos:exactMatch,1,,,, -Yes,Yes,open-source,No,imported,text,import_ag_ratio,2990,Question,,A/G Ratio (calculated field),Albumin/Globulin ratio,3020509,,Albumin/Globulin [Mass Ratio] in Serum or Plasma,Measurement,LOINC,Lab Test,1759-0,S,skos:exactMatch,1,,,, +Yes,Yes,open-source,No,imported,text,import_ag_ratio,2990,Question,1759-0,A/G Ratio (calculated field),Albumin/Globulin ratio,3020509,,Albumin/Globulin [Mass Ratio] in Serum or Plasma,Measurement,LOINC,Lab Test,1759-0,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,imported,text,import_bilirubin_total,2991,Question,1975-2,"Bilirubin, Total",Bilirubin.total [Mass/volume] in Serum or Plasma,3024128,,Bilirubin.total [Mass/volume] in Serum or Plasma,Measurement,LOINC,Lab Test,1975-2,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,imported,text,import_alkaline_phosphatase,2992,Question,6768-6,Alkaline Phosphatase,Alkaline phosphatase [Enzymatic activity/volume] in Serum or Plasma,3035995,,Alkaline phosphatase [Enzymatic activity/volume] in Serum or Plasma,Measurement,LOINC,Lab Test,6768-6,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,imported,text,import_alkaline_phosphatase_u,2993,Unit,IU/L,import_alkaline_phosphatase_u,international unit per liter,8923,,international unit per liter,Unit,UCUM,Unit,[iU]/L,S,skos:exactMatch,1,,,, @@ -901,7 +901,7 @@ Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1339,Question, Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1340,Question,pxne13,,"The sidewalks in my neighborhood are well maintained (paved, with few cracks) and not obstructed. Would you say that you...",2005200118,2005200118,"The sidewalks in my neighborhood are well maintained (paved, with few cracks) and not obstructed. Would you say that you...",Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,, Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1341,Question,pxne14,,Places for bicycling (such as bike paths) in and around my neighborhood are well maintained and not obstructed. Would you say that you...,2005200119,2005200119,Places for bicycling (such as bike paths) in and around my neighborhood are well maintained and not obstructed. Would you say that you...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,, Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1342,Question,pxne15,,There is so much traffic on the streets that it makes it difficult or unpleasant to ride a bicycle in my neighborhood. Would you say that you...,2005200120,2005200120,There is so much traffic on the streets that it makes it difficult or unpleasant to ride a bicycle in my neighborhood. Would you say that you...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,, -Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1343,Question,pxne16,,The crime rate in my neighborhood makes it unsafe to go on walks during the day. Would you say that you...,2005200121,2005200121,The crime rate in my neighborhood makes it unsafe to go on walks during the day. Would you say that you...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,, +Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1343,Question,pxne16,,The crime rate in my neighborhood makes it unsafe to go on walks during the day. Would you say that you...,40192414,,The crime rate in my neighborhood makes it unsafe to go on walks during the day. Would you say that you...,Observation,PPI,Question,ips_16,S,skos:exactMatch,1,,,, Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1344,Question,pxne17,,There are many places to go within easy walking distance of my home. Would you say that you...,2005200122,2005200122,There are many places to go within easy walking distance of my home. Would you say that you...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,, Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,text,,1345,Question,pxnestartts,,PhenX Neighborhood Enviroment Survey Started Timestamp (from REDCap),2005200558,,Survey Started Timestamp,Observation,AIREADI,Qualifier Value,,S,skos:exactMatch,1,PhenX Neighborhood Enviroment Survey Started Timestamp (from REDCap),,2005200585,PhenX Neighborhood Environment Survey Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,text,,1346,Question,pxnecmpts,,PhenX Neighborhood Environment Survey Completed Timestamp (from REDCap),2005200559,,Survey Completed Timestamp,Observation,AIREADI,Qualifier Value,,S,skos:exactMatch,1,PhenX Neighborhood Environment Survey Completed Timestamp (from REDCap),,2005200585,PhenX Neighborhood Environment Survey @@ -929,14 +929,14 @@ Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne4,2519,Answe Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne4,2520,Answer,2,pxne4_2,Somewhat disagree,45879539,,Somewhat disagree,Meas Value,LOINC,Answer,LA15234-0,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne4,2521,Answer,3,pxne4_3,Somewhat agree,45884684,,Somewhat agree,Meas Value,LOINC,Answer,LA15235-7,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne4,2522,Answer,4,pxne4_4,Strongly agree,45879208,,Strongly agree,Meas Value,LOINC,Answer,LA15237-3,S,skos:exactMatch,1,,,, -Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,pxne4,2523,Answer,88,pxne4_88,Does not apply to my neighborhood,2005200268,2005200268,Does not apply to my neighborhood,Meas Value,AIREADI,Answer,,S,skos:exactMatch,1,,,, +Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,pxne4,2523,Answer,88,pxne4_88,Does not apply to my neighborhood,40192520,,Does not apply to my neighborhood,Meas Value,PPI,Answer,SDOH_9,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne4,2524,Answer,555,pxne4_555,Don't know/Not sure,45876636,,Don't know,Meas Value,LOINC,Answer,LA12688-0,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne4,2525,Answer,777,pxne4_777,Prefer not to say,36311156,,Prefer not to say,Meas Value,LOINC,Answer,LA28803-7,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne5,2526,Answer,1,pxne5_1,Strongly disagree,45882953,,Strongly disagree,Meas Value,LOINC,Answer,LA15236-5,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne5,2527,Answer,2,pxne5_2,Somewhat disagree,45879539,,Somewhat disagree,Meas Value,LOINC,Answer,LA15234-0,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne5,2528,Answer,3,pxne5_3,Somewhat agree,45884684,,Somewhat agree,Meas Value,LOINC,Answer,LA15235-7,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne5,2529,Answer,4,pxne5_4,Strongly agree,45879208,,Strongly agree,Meas Value,LOINC,Answer,LA15237-3,S,skos:exactMatch,1,,,, -Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,pxne5,2530,Answer,88,pxne5_88,Does not apply to my neighborhood,2005200268,2005200268,Does not apply to my neighborhood,Meas Value,AIREADI,Answer,,S,skos:exactMatch,1,,,, +Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,pxne5,2530,Answer,88,pxne5_88,Does not apply to my neighborhood,40192520,,Does not apply to my neighborhood,Meas Value,PPI,Answer,SDOH_9,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne5,2531,Answer,555,pxne5_555,Don't know/Not sure,45876636,,Don't know,Meas Value,LOINC,Answer,LA12688-0,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne5,2532,Answer,777,pxne5_777,Prefer not to say,36311156,,Prefer not to say,Meas Value,LOINC,Answer,LA28803-7,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne6,2533,Answer,1,pxne6_1,Strongly disagree,45882953,,Strongly disagree,Meas Value,LOINC,Answer,LA15236-5,S,skos:exactMatch,1,,,, @@ -1821,7 +1821,7 @@ Yes,Yes,open-source,No,retinal_imaging_v2,yesno,rtfl_os,,Answer,1,rtfl_os_1,Yes, Yes,Yes,open-source,No,retinal_imaging_v2,yesno,rtfl_os,,Answer,0,rtfl_os_0,No,45878245,,No,Meas Value,LOINC,Answer,LA32-8,S,skos:exactMatch,1,left eye|45883829,,45883829,Left eye Yes,Yes,open-source,No,screening_survey,text,,1037,Question,scrcmpdat,,Screening survey date (date survey/form opened),4160030,,Performed,Observation,SNOMED,Qualifier Value,398166005,S,skos:closeMatch,0.75,Screening survey date (date survey/form opened),,2005200563,Screening Survey Yes,Yes,open-source,Yes,screening_survey,yesno,,1041,Question,mhterm_dm1,,Type I Diabetes,2005200014,2005200014,Has a doctor or other healthcare professional ever told you that you have/had...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,201254,,201254,Type 1 diabetes mellitus -Yes,Yes,open-source,Yes,screening_survey,yesno,,1042,Question,mh_a1c,,Elevated A1C levels (elevated blood sugars),2005200014,2005200014,Has a doctor or other healthcare professional ever told you that you have/had...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,2005200547,,2005200547,Elevated A1C levels (elevated blood sugars) +Yes,Yes,open-source,Yes,screening_survey,yesno,,1042,Question,mh_a1c,,Elevated A1C levels (elevated blood sugars),2005200014,2005200014,Has a doctor or other healthcare professional ever told you that you have/had...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,4214376,,2005200547,Elevated A1C levels (elevated blood sugars) Yes,Yes,open-source,Yes,screening_survey,yesno,,1043,Question,mhterm_dm2,,Type II Diabetes,2005200014,2005200014,Has a doctor or other healthcare professional ever told you that you have/had...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,201826,,201826,Type 2 diabetes mellitus Yes,Yes,open-source,No,screening_survey,text,,1044,Question,mh_dm_age,,"If yes, at what age were you first diagnosed?",4307859,,Age at diagnosis,Observation,SNOMED,Observable Entity,423493009,S,skos:closeMatch,0.75,,,, Yes,Yes,open-source,Yes,screening_survey,yesno,,1045,Question,mhterm_predm,,Pre-diabetes,2005200014,2005200014,Has a doctor or other healthcare professional ever told you that you have/had...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,37018196,,37018196,Prediabetes @@ -1841,7 +1841,7 @@ Yes,Yes,open-source,No,screening_survey,yesno,mhterm_predm,,Answer,1,mhterm_pred Yes,Yes,open-source,No,screening_survey,yesno,mh_a1c,,Answer,1,mh_a1c_1,Yes,45877994,,Yes,Meas Value,LOINC,Answer,LA33-6,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,screening_survey,yesno,mhterm_dm1,,Answer,1,mhterm_dm1_1,Yes,201254,,Type 1 diabetes mellitus,Condition,SNOMED,Disorder,46635009,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,screening_survey,yesno,mhterm_predm,,Answer,1,mhterm_predm_1,Yes,37018196,,Prediabetes,Condition,SNOMED,Clinical Finding,714628002,S,skos:exactMatch,1,,,, -Yes,Yes,open-source,Yes,screening_survey,yesno,mh_a1c,,Answer,1,mh_a1c_1,Yes,2005200547,2005200547,Elevated A1C levels (elevated blood sugars),Condition,AIREADI,Disorder,,S,skos:exactMatch,1,,,, +Yes,Yes,open-source,Yes,screening_survey,yesno,mh_a1c,,Answer,1,mh_a1c_1,Yes,4214376,,Hyperglycemia,Condition,SNOMED,Disorder,80394007,S,skos:closeMatch,0.75,,,, Yes,Yes,open-source,No,screening_survey,yesno,mhterm_dm2,,Answer,0,mhterm_dm2_0,No,45878245,,No,Meas Value,LOINC,Answer,LA32-8,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,screening_survey,yesno,cmtrt_insln,,Answer,1,cmtrt_insln_1,Yes,440922,,Diabetic on insulin,Observation,SNOMED,Clinical Finding,170747006,S,skos:closeMatch,0.75,,,, Yes,Yes,open-source,No,screening_survey,yesno,cmtrt_glcs,,Answer,1,cmtrt_glcs_1,Yes,36714369,,Diabetic on non-insulin injectable medication,Observation,SNOMED,Clinical Finding,719566006,S,skos:exactMatch,1,,,, @@ -2111,3 +2111,4 @@ Yes,Yes,protected,No,current_medications,text,,1468,Question,cmcmpdat2,,Date cur Yes,Yes,protected,Yes,current_medications,text,,1472,Question,cmrouteot,,"If Other, please specify:",2005200485,2005200485,Specify other,Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,, Yes,Yes,protected,Yes,health_survey,text,,1158,Question,mhoccur_ot,,"If yes, please specify:",2005200485,2005200485,Specify other,Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,, Yes,Yes,protected,No,screening_survey,yesno,rp_childpot,,Answer,0,rp_childpot_0,No,42530854,,Not pregnant,Meas Value,LOINC,Answer,LA26683-5,S,skos:exactMatch,1,,,, +Yes,Yes,open-source,Yes,disposition,radio,eos_dsvst,,Answer,3,eos_dsvst_3,Devices Returned,2005200589,2005200589,Device returned,Observation,AIREADI,Qualifier Value,,S,skos:exactMatch,1,,,, diff --git a/redCapDataDictionaryWithExtension/value-set-mapping-common/_ai_readi_redcap_value_set_mapping_map2omop_open_source_public_version.csv b/redCapDataDictionaryWithExtension/value-set-mapping-common/_ai_readi_redcap_value_set_mapping_map2omop_open_source_public_version.csv index 8f46ab1..92140ef 100644 --- a/redCapDataDictionaryWithExtension/value-set-mapping-common/_ai_readi_redcap_value_set_mapping_map2omop_open_source_public_version.csv +++ b/redCapDataDictionaryWithExtension/value-set-mapping-common/_ai_readi_redcap_value_set_mapping_map2omop_open_source_public_version.csv @@ -491,7 +491,7 @@ Yes,Yes,open-source,No,imported,text,import_creatinine_min,2958,Question,,,COMP, Yes,Yes,open-source,No,imported,text,import_creatinine_min2,,Question,,,COMP,,,Creatinine min,,,,,,,,,,, Yes,Yes,open-source,No,imported,text,import_creatinine_max,2959,Question,,,COMP,,,Creatinine max,,,,,,,,,,, Yes,Yes,open-source,No,imported,text,import_creatinine_max2,,Question,,,COMP,,,Creatinine max,,,,,,,,,,, -Yes,Yes,open-source,No,imported,text,import_buncreatinineratio,2960,Question,,BUN/Creatinine ratio,BUN/Creatinine ratio,3033837,,Creatinine/Urea nitrogen [Mass Ratio] in Serum or Plasma,Measurement,LOINC,Lab Test,31045-8,S,skos:exactMatch,1,Stored value is creatinine/BUN (REDCap calculation inverted; field label says BUN/Creatinine); remap to 3018311 (LOINC 3097-3) when the REDCap formula and values are corrected,,, +Yes,Yes,open-source,No,imported,text,import_buncreatinineratio,2960,Question,31045-8,BUN/Creatinine ratio,BUN/Creatinine ratio,3033837,,Creatinine/Urea nitrogen [Mass Ratio] in Serum or Plasma,Measurement,LOINC,Lab Test,31045-8,S,skos:exactMatch,1,Stored value is creatinine/BUN (REDCap calculation inverted; field label says BUN/Creatinine); remap to 3018311 (LOINC 3097-3) when the REDCap formula and values are corrected,,, Yes,Yes,open-source,No,imported,text,import_sodium,2961,Question,2951-2,Sodium,Sodium [Moles/volume] in Serum or Plasma,3019550,,Sodium [Moles/volume] in Serum or Plasma,Measurement,LOINC,Lab Test,2951-2,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,imported,text,import_sodium_u,2962,Unit,mEq/L,import_sodium_u,milliequivalent per liter,9557,,milliequivalent per liter,Unit,UCUM,Unit,10*-3.eq/L,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,imported,text,import_sodium_min,2963,Question,,,COMP,,,Sodium min,,,,,,,,,,, @@ -521,7 +521,7 @@ Yes,Yes,open-source,No,imported,text,import_albumin_u,2986,Unit,g/dL,import_albu Yes,Yes,open-source,No,imported,text,import_albumin_min,2987,Question,,,COMP,,,Albumin min,,,,,,,,,,, Yes,Yes,open-source,No,imported,text,import_albumin_max,2988,Question,,,COMP,,,Albumin max,,,,,,,,,,, Yes,Yes,open-source,No,imported,text,import_globulin_total_norc,2989,Question,2336-6,"Globulin, total (calculated field)",Globulin [Mass/volume] in Serum,3021886,,Globulin [Mass/volume] in Serum,Measurement,LOINC,Lab Test,2336-6,S,skos:exactMatch,1,,,, -Yes,Yes,open-source,No,imported,text,import_ag_ratio,2990,Question,,A/G Ratio (calculated field),Albumin/Globulin ratio,3020509,,Albumin/Globulin [Mass Ratio] in Serum or Plasma,Measurement,LOINC,Lab Test,1759-0,S,skos:exactMatch,1,,,, +Yes,Yes,open-source,No,imported,text,import_ag_ratio,2990,Question,1759-0,A/G Ratio (calculated field),Albumin/Globulin ratio,3020509,,Albumin/Globulin [Mass Ratio] in Serum or Plasma,Measurement,LOINC,Lab Test,1759-0,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,imported,text,import_bilirubin_total,2991,Question,1975-2,"Bilirubin, Total",Bilirubin.total [Mass/volume] in Serum or Plasma,3024128,,Bilirubin.total [Mass/volume] in Serum or Plasma,Measurement,LOINC,Lab Test,1975-2,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,imported,text,import_alkaline_phosphatase,2992,Question,6768-6,Alkaline Phosphatase,Alkaline phosphatase [Enzymatic activity/volume] in Serum or Plasma,3035995,,Alkaline phosphatase [Enzymatic activity/volume] in Serum or Plasma,Measurement,LOINC,Lab Test,6768-6,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,imported,text,import_alkaline_phosphatase_u,2993,Unit,IU/L,import_alkaline_phosphatase_u,international unit per liter,8923,,international unit per liter,Unit,UCUM,Unit,[iU]/L,S,skos:exactMatch,1,,,, @@ -843,7 +843,7 @@ Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1339,Question, Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1340,Question,pxne13,,"The sidewalks in my neighborhood are well maintained (paved, with few cracks) and not obstructed. Would you say that you...",2005200118,2005200118,"The sidewalks in my neighborhood are well maintained (paved, with few cracks) and not obstructed. Would you say that you...",Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,, Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1341,Question,pxne14,,Places for bicycling (such as bike paths) in and around my neighborhood are well maintained and not obstructed. Would you say that you...,2005200119,2005200119,Places for bicycling (such as bike paths) in and around my neighborhood are well maintained and not obstructed. Would you say that you...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,, Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1342,Question,pxne15,,There is so much traffic on the streets that it makes it difficult or unpleasant to ride a bicycle in my neighborhood. Would you say that you...,2005200120,2005200120,There is so much traffic on the streets that it makes it difficult or unpleasant to ride a bicycle in my neighborhood. Would you say that you...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,, -Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1343,Question,pxne16,,The crime rate in my neighborhood makes it unsafe to go on walks during the day. Would you say that you...,2005200121,2005200121,The crime rate in my neighborhood makes it unsafe to go on walks during the day. Would you say that you...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,, +Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1343,Question,pxne16,,The crime rate in my neighborhood makes it unsafe to go on walks during the day. Would you say that you...,40192414,,The crime rate in my neighborhood makes it unsafe to go on walks during the day. Would you say that you...,Observation,PPI,Question,ips_16,S,skos:exactMatch,1,,,, Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,,1344,Question,pxne17,,There are many places to go within easy walking distance of my home. Would you say that you...,2005200122,2005200122,There are many places to go within easy walking distance of my home. Would you say that you...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,,,, Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,text,,1345,Question,pxnestartts,,PhenX Neighborhood Enviroment Survey Started Timestamp (from REDCap),2005200558,,Survey Started Timestamp,Observation,AIREADI,Qualifier Value,,S,skos:exactMatch,1,PhenX Neighborhood Enviroment Survey Started Timestamp (from REDCap),,2005200585,PhenX Neighborhood Environment Survey Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,text,,1346,Question,pxnecmpts,,PhenX Neighborhood Environment Survey Completed Timestamp (from REDCap),2005200559,,Survey Completed Timestamp,Observation,AIREADI,Qualifier Value,,S,skos:exactMatch,1,PhenX Neighborhood Environment Survey Completed Timestamp (from REDCap),,2005200585,PhenX Neighborhood Environment Survey @@ -871,14 +871,14 @@ Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne4,2519,Answe Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne4,2520,Answer,2,pxne4_2,Somewhat disagree,45879539,,Somewhat disagree,Meas Value,LOINC,Answer,LA15234-0,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne4,2521,Answer,3,pxne4_3,Somewhat agree,45884684,,Somewhat agree,Meas Value,LOINC,Answer,LA15235-7,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne4,2522,Answer,4,pxne4_4,Strongly agree,45879208,,Strongly agree,Meas Value,LOINC,Answer,LA15237-3,S,skos:exactMatch,1,,,, -Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,pxne4,2523,Answer,88,pxne4_88,Does not apply to my neighborhood,2005200268,2005200268,Does not apply to my neighborhood,Meas Value,AIREADI,Answer,,S,skos:exactMatch,1,,,, +Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,pxne4,2523,Answer,88,pxne4_88,Does not apply to my neighborhood,40192520,,Does not apply to my neighborhood,Meas Value,PPI,Answer,SDOH_9,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne4,2524,Answer,555,pxne4_555,Don't know/Not sure,45876636,,Don't know,Meas Value,LOINC,Answer,LA12688-0,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne4,2525,Answer,777,pxne4_777,Prefer not to say,36311156,,Prefer not to say,Meas Value,LOINC,Answer,LA28803-7,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne5,2526,Answer,1,pxne5_1,Strongly disagree,45882953,,Strongly disagree,Meas Value,LOINC,Answer,LA15236-5,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne5,2527,Answer,2,pxne5_2,Somewhat disagree,45879539,,Somewhat disagree,Meas Value,LOINC,Answer,LA15234-0,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne5,2528,Answer,3,pxne5_3,Somewhat agree,45884684,,Somewhat agree,Meas Value,LOINC,Answer,LA15235-7,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne5,2529,Answer,4,pxne5_4,Strongly agree,45879208,,Strongly agree,Meas Value,LOINC,Answer,LA15237-3,S,skos:exactMatch,1,,,, -Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,pxne5,2530,Answer,88,pxne5_88,Does not apply to my neighborhood,2005200268,2005200268,Does not apply to my neighborhood,Meas Value,AIREADI,Answer,,S,skos:exactMatch,1,,,, +Yes,Yes,open-source,Yes,px_neighborhood_environment_survey,radio,pxne5,2530,Answer,88,pxne5_88,Does not apply to my neighborhood,40192520,,Does not apply to my neighborhood,Meas Value,PPI,Answer,SDOH_9,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne5,2531,Answer,555,pxne5_555,Don't know/Not sure,45876636,,Don't know,Meas Value,LOINC,Answer,LA12688-0,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne5,2532,Answer,777,pxne5_777,Prefer not to say,36311156,,Prefer not to say,Meas Value,LOINC,Answer,LA28803-7,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,px_neighborhood_environment_survey,radio,pxne6,2533,Answer,1,pxne6_1,Strongly disagree,45882953,,Strongly disagree,Meas Value,LOINC,Answer,LA15236-5,S,skos:exactMatch,1,,,, @@ -1716,7 +1716,7 @@ Yes,Yes,open-source,No,retinal_imaging_v2,yesno,rtfl_os,,Answer,1,rtfl_os_1,Yes, Yes,Yes,open-source,No,retinal_imaging_v2,yesno,rtfl_os,,Answer,0,rtfl_os_0,No,45878245,,No,Meas Value,LOINC,Answer,LA32-8,S,skos:exactMatch,1,left eye|45883829,,45883829,Left eye Yes,Yes,open-source,No,screening_survey,text,,1037,Question,scrcmpdat,,Screening survey date (date survey/form opened),4160030,,Performed,Observation,SNOMED,Qualifier Value,398166005,S,skos:closeMatch,0.75,Screening survey date (date survey/form opened),,2005200563,Screening Survey Yes,Yes,open-source,Yes,screening_survey,yesno,,1041,Question,mhterm_dm1,,Type I Diabetes,2005200014,2005200014,Has a doctor or other healthcare professional ever told you that you have/had...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,201254,,201254,Type 1 diabetes mellitus -Yes,Yes,open-source,Yes,screening_survey,yesno,,1042,Question,mh_a1c,,Elevated A1C levels (elevated blood sugars),2005200014,2005200014,Has a doctor or other healthcare professional ever told you that you have/had...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,2005200547,,2005200547,Elevated A1C levels (elevated blood sugars) +Yes,Yes,open-source,Yes,screening_survey,yesno,,1042,Question,mh_a1c,,Elevated A1C levels (elevated blood sugars),2005200014,2005200014,Has a doctor or other healthcare professional ever told you that you have/had...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,4214376,,2005200547,Elevated A1C levels (elevated blood sugars) Yes,Yes,open-source,Yes,screening_survey,yesno,,1043,Question,mhterm_dm2,,Type II Diabetes,2005200014,2005200014,Has a doctor or other healthcare professional ever told you that you have/had...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,201826,,201826,Type 2 diabetes mellitus Yes,Yes,open-source,No,screening_survey,text,,1044,Question,mh_dm_age,,"If yes, at what age were you first diagnosed?",4307859,,Age at diagnosis,Observation,SNOMED,Observable Entity,423493009,S,skos:closeMatch,0.75,,,, Yes,Yes,open-source,Yes,screening_survey,yesno,,1045,Question,mhterm_predm,,Pre-diabetes,2005200014,2005200014,Has a doctor or other healthcare professional ever told you that you have/had...,Observation,AIREADI,Survey,,S,skos:exactMatch,1,37018196,,37018196,Prediabetes @@ -1736,7 +1736,7 @@ Yes,Yes,open-source,No,screening_survey,yesno,mhterm_predm,,Answer,1,mhterm_pred Yes,Yes,open-source,No,screening_survey,yesno,mh_a1c,,Answer,1,mh_a1c_1,Yes,45877994,,Yes,Meas Value,LOINC,Answer,LA33-6,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,screening_survey,yesno,mhterm_dm1,,Answer,1,mhterm_dm1_1,Yes,201254,,Type 1 diabetes mellitus,Condition,SNOMED,Disorder,46635009,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,screening_survey,yesno,mhterm_predm,,Answer,1,mhterm_predm_1,Yes,37018196,,Prediabetes,Condition,SNOMED,Clinical Finding,714628002,S,skos:exactMatch,1,,,, -Yes,Yes,open-source,Yes,screening_survey,yesno,mh_a1c,,Answer,1,mh_a1c_1,Yes,2005200547,2005200547,Elevated A1C levels (elevated blood sugars),Condition,AIREADI,Disorder,,S,skos:exactMatch,1,,,, +Yes,Yes,open-source,Yes,screening_survey,yesno,mh_a1c,,Answer,1,mh_a1c_1,Yes,4214376,,Hyperglycemia,Condition,SNOMED,Disorder,80394007,S,skos:closeMatch,0.75,,,, Yes,Yes,open-source,No,screening_survey,yesno,mhterm_dm2,,Answer,0,mhterm_dm2_0,No,45878245,,No,Meas Value,LOINC,Answer,LA32-8,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,screening_survey,yesno,cmtrt_insln,,Answer,1,cmtrt_insln_1,Yes,440922,,Diabetic on insulin,Observation,SNOMED,Clinical Finding,170747006,S,skos:closeMatch,0.75,,,, Yes,Yes,open-source,No,screening_survey,yesno,cmtrt_glcs,,Answer,1,cmtrt_glcs_1,Yes,36714369,,Diabetic on non-insulin injectable medication,Observation,SNOMED,Clinical Finding,719566006,S,skos:exactMatch,1,,,, @@ -1996,3 +1996,4 @@ Yes,Yes,open-source,No,device_return,yesno,dvenvenyn,,Answer,0,dvenvenyn_0,No,45 Yes,Yes,open-source,No,disposition,yesno,eos_ds,,Answer,1,eos_ds_1,Yes,45877994,,Yes,Meas Value,LOINC,Answer,LA33-6,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,disposition,yesno,eos_ds,,Answer,0,eos_ds_0,No,45878245,,No,Meas Value,LOINC,Answer,LA32-8,S,skos:exactMatch,1,,,, Yes,Yes,open-source,No,ecg,text,,,Question,rtekgcmpdattim,,Date & time Cardiology - EKG - Pagewriter TC30 Cardiograp performed,4145308,,12 lead ECG,Procedure,SNOMED,Procedure,268400002,S,skos:exactMatch,1,,,, +Yes,Yes,open-source,Yes,disposition,radio,eos_dsvst,,Answer,3,eos_dsvst_3,Devices Returned,2005200589,2005200589,Device returned,Observation,AIREADI,Qualifier Value,,S,skos:exactMatch,1,,,,