-
Notifications
You must be signed in to change notification settings - Fork 6
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
Jigsaw to pull lab values from custom vocabulary operators #253
Comments
In order to implement #253, we needed to turn our current dynamic vocabularies system on its head. Originally we had a single class that would impersonate all the dynamically generated vocabularies. Now we actually create a proper class for each dynamically generated library and even create OMOP and GDM-based variants. Now that each vocabulary is properly represented as a class, we can modify individual classes to behave as we'd like, so we should be able to get dynamically generated operators to include lab values much more easily now. As with many large overhauls, I ran into other issues that I addressed along the way: - Validations we're working correctly and I've addressed an issue where identical warnings could stack up within the same operator - ICD10 is now properly a multi-vocabulary operator - Removed all hard-coded vocabulary-related operators except for Read - Put existing behaviors under ConceptQL::Behaviors - Reworked how requiring operators works
In order to implement #253, we needed to turn our current dynamic vocabularies system on its head. Originally we had a single class that would impersonate all the dynamically generated vocabularies. Now we actually create a proper class for each dynamically generated library and even create OMOP and GDM-based variants. Now that each vocabulary is properly represented as a class, we can modify individual classes to behave as we'd like, so we should be able to get dynamically generated operators to include lab values much more easily now. As with many large overhauls, I ran into other issues that I addressed along the way: - Validations we're working correctly and I've addressed an issue where identical warnings could stack up within the same operator - ICD10 is now properly a multi-vocabulary operator - Removed all hard-coded vocabulary-related operators except for Read - Put existing behaviors under ConceptQL::Behaviors - Reworked how requiring operators works
In order to implement #253, we needed to turn our current dynamic vocabularies system on its head. Originally we had a single class that would impersonate all the dynamically generated vocabularies. Now we actually create a proper class for each dynamically generated library and even create OMOP and GDM-based variants. Now that each vocabulary is properly represented as a class, we can modify individual classes to behave as we'd like, so we should be able to get dynamically generated operators to include lab values much more easily now. As with many large overhauls, I ran into other issues that I addressed along the way: - Validations we're working correctly and I've addressed an issue where identical warnings could stack up within the same operator - ICD10 is now properly a multi-vocabulary operator - Removed all hard-coded vocabulary-related operators except for Read - Put existing behaviors under ConceptQL::Behaviors - Reworked how requiring operators works
This should be ready to go. Thanks, @marc-outins, for updating the vocabularies file in gdm_vocabularies! |
confirmed this works. Please note that the values are determined by the operator you choose in the algo. So if GDM has cpt code that has a measurement_detail_id and you use the CPT operator to query the code, the measurement_details will not be output in jigsaw because CPT operator is not defined as a "lab" operator. But, if you use the LOINC operator, the measurement_details will be output because the LOINC operator is defined as a "lab" operator. Tested on gdm_250_extended_20190708 and pending test for framework. Also adding note for documentation in the diagram editor manual. Closed. |
We need output from custom vocabulary operators to bring out lab records. The current use case is CPRD's vocabulary "enttype". Lab values are associated to these enttype codes (via measurement_details_id from the clinical_codes table). This affects a whole slew of tickets: #145 #241 #184 and #185. But, probably the easiest fix is to assign domains to custom vocabularies in GDM (described in outcomesinsights/generalized_data_model#118) and then have lexicon read the assignment and know to pull out lab values (and also drug - since we're at it) for output.
Tagging @aguynamedryan for implementation and @marc-outins for GDM changes(?) This is now a high priority ticket since it directly affects a project we are working on (CPRD). Assigning to chisel 2.
The text was updated successfully, but these errors were encountered: