Dynamically controlling case model structure using case fragments
Case fragment management includes obtaining a case model definition for a case, and generating a case model from the case model definition. Generating the case model includes obtaining a case fragment expression, executing the case fragment expression using data gathered from a data source to obtain a case fragment identifier, selecting, from multiple case fragments, a case fragment corresponding to the case fragment identifier, and populating the case model with the case fragment. Case fragment management also includes storing the case model.
1. A method for case fragment management comprising:
maintaining a plurality of case fragments, wherein each case fragment in the plurality of case fragments is a case model definition portion and is associated with a respective case fragment identifier;
obtaining, by a processor, a case model definition for a case, the case model definition including a case fragment expression that is executable to output a first case fragment identifier as a function on data from a first data source;
generating, by the processor, a case model from the case model definition, wherein generating the case model comprises:
obtaining the case fragment expression from the case model definition;
executing the case fragment expression using first data gathered from the first data source to determine the first case fragment identifier as a result of the executing the case fragment expression, using the first data as input to the executing;
selecting, from the plurality of case fragments, a first case fragment identified by the first case fragment identifier, the first case fragment comprising a first portion of a document structure definition;
populating the case model with the selected first case fragment by:
creating a first portion of a document structure according to the first portion of the document structure definition, and
storing the first portion of the document structure in a data repository;
creating a second portion of the document structure according to a second portion of the document structure definition in the case model definition; and
storing the second portion of the document structure in the data repository; and
storing the case model.
2. The method of claim 1 , further comprising:
managing performance of the case using the case model.
3. The method of claim 2 , wherein the first case fragment comprises a first roles definition and a first access control definition, wherein managing performance of the case comprises:
administering access to a plurality of documents in the case according to:
the first roles definition and first access control definition, and
a second roles definition and a second access control definition located in the case model definition.
4. The method of claim 2 , wherein the first case fragment comprises a first portion of a plurality of phases definition, and wherein managing performance of the case comprises:
transitioning through a plurality of phases using:
the first portion of the plurality of phases definition, and
a second portion of the plurality of phases definition located in the case model definition.
5. The method of claim 1 , wherein executing the case fragment expression comprises:
performing an operation in the case fragment expression that identifies the first case fragment identifier.
6. The method of claim 5 , further comprising:
gathering the first data from an internal source within the case,
wherein performing the operation uses the first data from the internal source.
7. The method of claim 6 , further comprising:
gathering the first data from a case context of the case, wherein performing the operation uses the first data from the case context.
8. The method of claim 1 , further comp sing:
executing the case fragment expression using second data gathered from a second data source to obtain a second case fragment identifier; and
selecting, from the plurality of case fragments, a second case fragment corresponding to the second case fragment identifier.
9. A system for case fragment management comprising:
a data repository for storing a plurality of case fragments, wherein each case fragment in the plurality of case fragments a case model definition portion and is associated with a respective case fragment identifier;
a computer processor; and
memory comprising instructions executable on the computer processor to provide a fragment subsystem configured to:
obtain a case model definition for a case, the case model definition including a case fragment expression that is executable to output a first case fragment identifier as a function on data from a first data source;
generate a case model from the case model definition, wherein generating the case model comprises:
obtaining the case fragment expression from the case model definition;
executing the case fragment expression using first data gathered from the first data source to determine the first case fragment identifier as a result of the executing the case fragment expression, using the first data as input to the executing;
selecting, from the plurality of case fragments, a first case fragment identified by the first case fragment identifier, the first case fragment comprising a first portion of a document structure definition;
populating the case model with the selected first case fragment by:
creating a first portion of a document structure according to the first portion of the document structure definition, and
storing the first portion of the document structure in the data repository;
creating a second portion of the document structure according to a second portion of the document structure definition in the case model definition; and
storing the second portion of the document structure in the data repository; and
store the case model.
10. The system of claim 9 , wherein the memory further comprises instructions executable on the computer processor to provide a case engine configured to;
manage performance of the case using the case model.
11. The system of claim 10 , wherein the first case fragment comprises a first roles definition and a first access control definition, wherein managing performance of the case comprises;
administering access to a plurality of documents in the case according to:
the first roles definition and first access control definition, and
a second roles definition and a second access control definition located in the case model definition.
12. The system of claim 10 , wherein the first case fragment, comprises a first portion of a plurality of phases definition, and wherein managing performance of the case comprises:
transitioning through a plurality of phases using:
the first portion of the plurality of phases definition, and
a second portion of the plurality of phases definition located in the case model definition.
13. The system of claim 9 , wherein executing the case fragment expression comprises;
performing an operation in the case fragment expression that identifies the first case fragment identifier.
14. The system of claim 9 , wherein the fragment subsystem is further configured to;
execute the case fragment expression using second data gathered from a second data source to obtain a second case fragment identifier; and
select, from the plurality of case fragments, a second case fragment corresponding to the second case fragment identifier.
15. A non-transitory computer readable medium for case fragment management comprising computer readable program code for:
obtaining a case model definition for a case, the case model definition including a case fragment expression that is executable to output a first case fragment identifier as a function on data from a first data source;
generating a case model from the case model definition, wherein generating the case model comprises:
obtaining the case fragment expression from the case model definition;
executing the case fragment expression using first data gathered from a data source to determine the first case fragment identifier as a result of the executing the case fragment expression, using the first data as input to the executing;
selecting, from a plurality of case fragments, a first case fragment identified by the first case fragment identifier, the first case fragment comprising a first portion of a document structure definition, wherein each case fragment in the plurality of case fragments is a case model definition portion and is associated with a respective case fragment identifier;
populating the case model with the selected first case fragment by:
creating a first portion of a document structure according to the first portion of the document structure definition, and
storing the first portion of the document structure in a data repository;
creating a second portion of the document structure according to a second portion of the document structure definition in the case model definition; and
storing the second portion of the document structure in the data repository; and
storing the case model.
16. The non-transitory computer readable medium of claim 15 , further comprising computer readable program code for:
managing performance of the case using the case model.
17. The method of claim 1 , wherein generating the case model comprises generating the case model as a runtime instance of the case model definition.
18. The system of claim 9 , wherein the fragment subsystem is configured to generate the case model as a runtime instance of the case model definition.
19. The non-transitory computer readable medium of claim 15 , wherein generating the case model from the case model definition comprises generating the case model as a runtime instance of the case model definition.