Context IDs for Evaluation Forms

I was wondering what the reasoning was for adding static Context IDs for evaluation forms itself, but not each individual question group, question, answer, etc?

Would it be difficult for you guys to add the same static context ids logic, as an extra property to represent these question group, question, answer ids? This would solve all the issues we have and could easily have a constant value to compare against stored historical data ids.

For some context, I am pulling completed evaluation data to display on a dashboard for managers to view for performance review reasons to better help with employees skills and their perf with customers. But where we ran into an issue was when a revision would be made to a form, even a simple text change, the different ids for the evaluations would change causing an issue when trying to compare historical evaluation form data against the most recent published evaluation form ids.

The compromise for this was to stored a xml string of previous form, question group, question, etc ids in a string to check if we are looking at the correct question. But if someone removes, adds or even changes the order of the questions, then my functionality to automatically get the latest published form data will not properly align with what we currently have causing incorrect historical ids to be stored in the wrong table record row.

Below is a example string, so for this specific question, if someone decides to change the order of two questions, or even removed this, my functionality to update any evaluation forms might concatenate the incorrect id now.

Example string:
<FormID>52d60c2b-c9f7-441a-8356-f5cc2e67fbfe</FormID><GroupID>5de60c75-6e20-4479-9c50-3ac132092b5a</GroupID><HistoricalForm><PrevFormID>8b5e5a56-706b-498e-a72e-c8f6a2b8a2e7,38014135-a4ef-40db-88f2-e8d60221b242</PrevFormID><PrevGroupID>f89088d5-2ba9-42ad-9d3f-f0cb15188c5e,3c5f7f09-edd7-445a-bb05-c1d67543ec06</PrevGroupID><ModifiedDate>7/10/2023 7:53:54 AM</ModifiedDate></HistoricalForm>

@tim.smith Sorry to tag you directly, but I was curious if you could give me a business logic reasoning for this. This has been a constant issue for me team and I.

If you have any suggestions as well I'd greatly appreciate it. The one that was completely taken off the table was just storing numerous table records for each revision of a evaluation. Although I feel like that might be the only logical method at this point. That would allow for figuring out which evaluation form revision we should be looking at via the form that was used for a completed Evaluation itself. Rather than relying on xml tags. Since the big issue is the addition, removal, or order change of questions within a question group. It would be ALOT more records in the database, but should cut down on possible data issue

I've reviewed with the dev team for evaluations and it's not currently a feature to link questions between published versions of forms. Your current workaround of mapping IDs between published versions is a good approach to solve for your use case given the current behavior. Adding such a feature to map between versions would be a good feature request to post on https://genesyscloud.ideas.aha.io/.

As to the why, it boils down to a level of complexity required to solve this problem in the initial feature offering. Consider these two changes in questions:

  • "Did the agent do a bad job?" -> "Did the agent do a rad job?"
  • "Did the agent follow the appropriate marketing materials to offer the customer the correct promotions?" -> "Did the agent sufficiently upsell?"

The first only changed by exactly one character, but the entire meaning of the question changed. The second was entirely rewritten, but is functionally the exact same question. These nuances can't be determined without the intervention of a human so the design decision was made to make questions unique to the form version.

1 Like

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.