US 12,265,949 B2
Dynamically controlling case model structure using case fragments
Ashraf Ali Syed, Bangalore (IN); Sachin Gopaldas Totale, Pleasanton, CA (US); Satyapal Reddy, San Ramon, CA (US); Swathi Natarajan, Bangalore (IN); and Prasad Thotakura, Bangalore (IN)
Assigned to OPEN TEXT CORPORATION, Waterloo (CA)
Filed by Open Text Corporation, Waterloo (CA)
Filed on Nov. 23, 2022, as Appl. No. 17/993,004.
Application 17/993,004 is a continuation of application No. 16/847,149, filed on Apr. 13, 2020, granted, now 11,537,989.
Application 16/847,149 is a continuation of application No. 14/870,459, filed on Sep. 30, 2015, granted, now 10,621,552, issued on Apr. 14, 2020.
Prior Publication US 2023/0086854 A1, Mar. 23, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06Q 10/00 (2023.01); G06Q 10/10 (2023.01)
CPC G06Q 10/103 (2013.01) 20 Claims
OG exemplary drawing
 
1. A non-transitory computer readable medium having computer readable program code stored thereon, the computer readable program code comprising instructions for:
maintaining a plurality of case fragments in a repository, each case fragment of the plurality of case fragments associated with a respective case fragment identifier;
obtaining, from a plurality of case model definitions, a first case model definition for a case, the first case model definition including a case fragment expression, the case fragment expression including references to a first data source and a function that maps data from the first data source to a case fragment identifier of a respective case fragment of the plurality of case fragments, the first case model definition defining a template for the case;
dynamically generating a case model from the first case model definition to manage the case during a runtime of the case model, wherein generating the case model from the first case model definition comprises:
obtaining first data from the first data source;
executing the case fragment expression using the first data from the first data source as input to the case fragment expression to obtain a first case fragment identifier;
selecting, from the plurality of case fragments stored in the repository, a first case fragment identified by the first case fragment identifier;
populating the case model with the first case fragment based on the case model definition;
storing the case model; and
managing the case during the runtime of the case model, wherein the managing comprises:
administering access to the case according to a set of roles and permissions provided by the case model;
allowing access to the template of the case, wherein the allowing access is according the set of roles and permissions; and
generating content for the case from the template defined in the case model definition.