In Glific forms, for selectable fields, user can either specify the "Option ID" or a case-insensitive "Option value" as the input.
Therefore, the Flow_result we received, could have the inputValue for CodedConcepts in a different case than that configured in the MappingMetadata table.
Probable Fix
To handle this, make use of inputCategory while initializing Student Data for CodedConcepts.
In DataExtractorService.getResultData(), map tuple of [inputCategory, inputValue] as the value, and while populating codedConcept observation use inputCategory, otherwise use inputValue everywhere else.
Acceptance Criteria
We should be able to sync students that have inputValue for CodeConcepts in different case than the expected one, by using inputCategory to do the mapping
In Glific forms, for selectable fields, user can either specify the "Option ID" or a case-insensitive "Option value" as the input. Therefore, the Flow_result we received, could have the inputValue for CodedConcepts in a different case than that configured in the MappingMetadata table.
Probable Fix To handle this, make use of inputCategory while initializing Student Data for CodedConcepts. In DataExtractorService.getResultData(), map tuple of [inputCategory, inputValue] as the value, and while populating codedConcept observation use inputCategory, otherwise use inputValue everywhere else.
Acceptance Criteria