Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEAT] add vocabulary annotation #92

Merged
merged 9 commits into from
Mar 28, 2022
Merged

Conversation

surchs
Copy link
Contributor

@surchs surchs commented Mar 28, 2022

This PR adds a new annotation component (annot-vocabulary.vue) for

  • diagnosis
  • assessment tools

annotation.
The functionality at the moment is limited to freeform text fields without validation.
For diagnosis, every unique value is displayed and can be mapped to a term. The tooltip suggestions ask for SNOMED-CT.
For assessment tools, every column name labeled as "about assessment" can be mapped to a term, and no unique values are shown.

Closes #63

Known limitations:

  • the provided mappings are not (yet) tied to the global app state. So navigating away and back to the annotation page will reset all text fields
  • similarly, the mappings (unique value -> vocabulary term, and column Name -> vocabulary term) are not emitted to the parent components. Thus: the data dictionary does not get updated based on these mappings (yet)
  • because of the above, annotating assessment tools currently does not affect the app outside of the annotation page (no unique values to update in the data table, and heuristics are not emitted). In a future iteration, we'll want to use the mappings of the annotation columns to update the data dictionary
  • there is no validation on the input data (although the code is prepared and commented out). Even for this preliminary version (where we do not actively search vocabularies but just provide text fields), we should validate the input to check that we get valid vocabulary URIs. This is not yet implemented, so any text input is valid at the moment
  • there is a lot of code duplication between this component and the ones used for age and sex.

- can handle column-only (e.g. assessment tools) and row mode
- added a mode property that defaults to row (will show values)
- prepared text field for validation (URI mode)
- connected to category-assessment.vue
- connected to category-diagnosis.vue
- can handle column-only (e.g. assessment tools) and row mode
- added a mode property that defaults to row (will show values)
- prepared text field for validation (URI mode)
- connected to category-assessment.vue
- connected to category-diagnosis.vue
- passes data dictionary to the vocabulary annotation component
- displays descriptions for row and column mode
- added button to upload mappings
- linked button to mapping fields -> will only enable when all are mapped
- emit update:dataTable on button press
@surchs surchs requested a review from jarmoza March 28, 2022 16:50
@surchs surchs merged commit 43faa18 into master Mar 28, 2022
@surchs surchs deleted the feat-add-vocabulary-annotation branch March 28, 2022 19:22
@surchs surchs restored the feat-add-vocabulary-annotation branch March 28, 2022 19:22
@surchs surchs deleted the feat-add-vocabulary-annotation branch April 14, 2022 18:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create a component to map raw values to vocabularies
1 participant