Systems and methods for utilizing data object references to merge a program
View Patent ↗A method of utilizing data object references to merge one or more programs, the method including: initiating, via a server, a session of a study for a user; assigning, via the server, a first program of the study to the user, the first program including a plurality of events divided into a plurality of phases, generating respective first data objects to reference each event in the first program; receiving a second program for the user, the second program including a plurality of second events divided into a plurality of second phases; identifying a current phase at which the user will enter the second program; generating second data objects to reference each event in the second program that occurs after the current phase; and merging the first program and the second program to determine a merged program.
1 . A method of utilizing data object references to merge one or more programs, the method comprising:
initiating, via a server, a session of a study for a user;
assigning, via the server, a first program of the study to the user, the first program including a plurality of events divided into a plurality of phases,
generating respective first data objects to reference each event in the first program, wherein the first data objects include first metadata identifying (i) each event in the first program and (ii) the user;
receiving a second program for the user, the second program including a plurality of second events divided into a plurality of second phases;
identifying a current phase at which the user will enter the second program;
generating second data objects to reference each event in the second program that occurs after the current phase, wherein the second data objects include second metadata identifying (i) each event in the second program and (ii) the user; and
merging the first program and the second program to determine a merged program specific to the user, wherein merging the first program and second program includes:
identifying and deleting all data objects of the first data object in phases of the first program that have not occurred;
merging remaining data objects of the first data objects and data objects of the second data objects; and
storing, at the server, the merged program.
2 . The method of claim 1 , wherein the first program includes a document, procedure, or data listing that outlines timelines and procedures for the study.
3 . The method of claim 1 , wherein the current phase corresponds to a beginning phase, a middle phase, an end phase, an event, an event activity, or a recurring activity.
4 . The method of claim 1 , wherein the first data objects include:
first data reference links connecting the user to a respective event in the plurality of events in the first program.
5 . The method of claim 1 , wherein identifying a current phase at which the user will enter the second program includes:
identifying all phases that have previously occurred in the first program; and
identifying a next phase to occur in the first program, wherein the next phase is the current phase.
6 . The method of claim 1 , wherein identifying a current phase at which the user will enter the second program includes:
identifying all phases that have previously occurred in the first program;
determining that a user has completed a portion of events in a respective phase of the first program;
identifying a corresponding phase of the second program;
identifying an anchor point referring to a particular event in the corresponding phase of the second program for the user to begin the second program; and
generating second data objects for each event in the current phase of the second program that take place after the anchor point.
7 . The method of claim 1 , further including:
generating and transmitting, to a user computing device, computer-executable instructions configured to cause the user computing device to display the merged program through a graphical user interface of the user computing device.
8 . The method of claim 1 , further including:
identifying a current status for the user, the identifying of the current phase based on the identified current status.
9 . A system, the system comprising:
at least one memory storing instructions; and
at least one processor configured to execute the instructions to perform operations for determining data integrity, the operations including:
initiating, via a server, a session of a study for a user;
assigning, via the server, a first program of the study to the user, the first program including a plurality of events divided into a plurality of phases,
generating respective first data objects to reference each event in the first program, wherein the first data objects include first metadata identifying (i) each event in the first program and (ii) the user;
receiving a second program for the user, the second program including a plurality of second events divided into a plurality of second phases;
identifying a current phase at which the user will enter the second program;
generating second data objects to reference each event in the second program that occurs after the current phase, wherein the second data objects include second metadata identifying (i) each event in the second program and (ii) the user; and
merging the first program and the second program to determine a merged program specific to the user, wherein merging the first program and second program includes:
identifying and deleting all data objects of the first data object in phases of the first program that have not occurred;
merging remaining data objects of the first data objects and data objects of the second data objects; and
storing, at the server, the merged program.
10 . The system of claim 9 , wherein the first program includes a document, procedure, or data listing that outlines timelines and procedures for the study.
11 . The system of claim 9 , wherein the current phase corresponds to a beginning phase, a middle phase, an end phase, an event, an event activity, or a recurring activity.
12 . The system of claim 9 , wherein the first data objects include:
first data reference links connecting the user to a respective event in the plurality of events in the first program.
13 . The system of claim 9 , wherein identifying a current phase at which the user will enter the second program includes:
identifying all phases that have previously occurred in the first program; and
identifying a next phase to occur in the first program, wherein the next phase is the current phase.
14 . The system of claim 9 , wherein identifying a current phase at which the user will enter the second program includes:
identifying all phases that have previously occurred in the first program;
determining that a user has completed a portion of events in a respective phase of the first program;
identifying a corresponding phase of the second program;
identifying an anchor point referring to a particular event in the corresponding phase of the second program for the user to begin the second program; and
generating second data objects for each event in the current phase of the second program that take place after the anchor point.
15 . The system of claim 9 , further including:
generating and transmitting, to a user computing device, computer-executable instructions configured to cause the user computing device to display the merged program through a graphical user interface of the user computing device.
16 . The system of claim 9 , further including:
identifying a current status for the user, the identifying of the current phase based on the identified current status.
17 . A non-transitory computer readable medium storing processor-readable instructions which, when executed by at least one processor, cause the at least one processor to perform operations including:
initiating, via a server, a session of a study for a user;
assigning, via the server, a first program of the study to the user, the first program including a plurality of events divided into a plurality of phases,
generating respective first data objects to reference each event in the first program, wherein the first data objects include first metadata identifying (i) each event in the first program and (ii) the user;
receiving a second program for the user, the second program including a plurality of second events divided into a plurality of second phases;
identifying a current phase at which the user will enter the second program;
generating second data objects to reference each event in the second program that occurs after the current phase, wherein the second data objects include second metadata identifying (i) each event in the second program and (ii) the user; and
merging the first program and the second program to determine a merged program specific to the user, wherein merging the first program and second program includes:
identifying and deleting all data objects of the first data object in phases of the first program that have not occurred;
merging remaining data objects of the first data objects and data objects of the second data objects; and
storing, at the server, the merged program.
18 . The non-transitory computer readable medium of claim 17 , wherein the first program includes a document, procedure, or data listing that outlines timelines and procedures for the study.
19 . The non-transitory computer readable medium of claim 17 , wherein the current phase corresponds to a beginning phase, a middle phase, an end phase, an event, an event activity, or a recurring activity.
20 . The non-transitory computer readable medium of claim 17 , wherein the first data objects include:
first data reference links connecting the user to a respective event in the plurality of events in the first program.