Patent Issued for Modifying and using spreadsheets to create a GUI on another device (USPTO 11138370): Massachusetts Mututal Life Insurance Company
2021 OCT 27 (NewsRx) -- By a
The assignee for this patent, patent number 11138370, is
Reporters obtained the following quote from the background information supplied by the inventors: “Data intake forms (e.g., questionnaires) may provide an interactive cellular interface for data intake and processing. Online questionnaires can be locally run or network-based. The questionnaires can contain a single worksheet or a plurality of worksheets, whether related or unrelated to each other in content or form. As the processing power of computers allow for greater computer functionality and the Internet technology era allows for interconnectivity between computing systems, many institutions rely on online questionnaires to receive data from users and potential clients. However, new technical challenges have been identified. For example, conventional software solutions utilize a static method to display data intake questionnaires by rendering the questionnaires based on existing code (e.g., code stored within an internal or an external database). To combat this problem, many existing software solutions have attempted to dynamically render the questionnaires by allowing an employee to update and/or modify the corresponding code. However, this method requires the employees to be familiar with complex coding algorithms; this task has been proven difficult because most employees have little or no software programming knowledge. For example, an employee must be familiar with XML or HTML in order to modify the code and to customize the data intake questionnaire. The technical challenges become more challenging if the network page (displaying the questionnaire) should contain a set of labels and a set of fields, both of which would dynamically change in real-time, whether in content or type, based on a set of user inputs into the set of fields. The technical challenges become even more challenging if the set of labels must precisely match a preexisting content output, such as a paper document or an electronic document. The technical challenges become yet even more challenging if a file should be generated based on the set of user inputs.
“Furthermore, many data intake questionnaires are associated with sensitive data, such as medical or personal data. These data intakes questionnaires may be regulated by various state and/or federal laws. For example, several federal and/or state laws require various disclaimers to be displayed based upon a potential client’s responses to certain questions. Conventional online questionnaires display all the disclaimers associated with the data intake (whether relevant to the potential client’s responses or not). These disclaimers are complicated, wordy, and confusing; therefore, conventional solutions create a negative user experience by “crowding” the graphical user interface provided to the potential clients. Some disclaimers are often unnecessary and not-applicable to all users. However, conventional software solutions usually include all the relevant disclaimers because modifying the code that controls the rendering of the graphical user interface is too burdensome and technically challenging. Moreover, many entities are not willing to risk allowing employees to modify the code because the employees (e.g., field agents) typically do not have proper programming experience and knowledge.”
In addition to obtaining background information on this patent, NewsRx editors also obtained the inventors’ summary information for this patent: “For the aforementioned reasons, there is a need for an accurate and efficient computer-implemented system and method for dynamically generating and rendering an online data intake questionnaire, which is configured to be modified by a person with a minimal knowledge of programming. This disclosure at least partially addresses at least one of the above challenges. However, this disclosure can prove useful to other technical areas. Therefore, at least some claims should not be construed as necessarily limited to addressing any of the above challenges.
“In an embodiment, a computer-implemented method comprises receiving, by a server, from a first computing device, a first file comprising a spreadsheet, wherein the spreadsheet comprises at least a first row and a second row, wherein the first row comprises a first statement cell comprising a first statement, a first data type cell comprising a first data type identifier, a first logic cell comprising a first logic, and a first field cell comprising a first field identifier, wherein the second row comprises a second statement cell comprising a second statement, a second data type cell comprising a second data type identifier, a second logic cell comprising a second logic, and a second field cell comprising a second field identifier; dynamically rendering, by the server, a graphical user interface configured to be displayed on a second computing device, wherein the graphical user interface comprises a first label and a first input element, wherein the first label comprises the first statement sourced from and corresponding to the first statement cell, wherein the first input element is configured for a first input according to the first data type identifier sourced from and corresponding to the first data type cell; in response to receiving, by the server, the first input from the second computing device: evaluating, by the server, the first input against the first logic, and in response to the first input corresponding to the first logic: dynamically rendering, by the server, a second label and a second input element to be displayed on the graphical user interface, wherein the second label comprises the second statement sourced from and corresponding to the second statement cell, and wherein the second input element is configured for a second input according to the second data type identifier sourced from and corresponding to the second data type cell; and in response to receiving, by the server, the second input: evaluating, by the server, the second input against the second logic, and in response to the second input corresponding to the second logic: generating, by the server, a second file, wherein the server inserts the first input into a first field of the second file based on the first field identifier and inserts the second input into a second field of the second file based on the second field identifier; and transmitting, by the server, the second file comprising the first input and the second input to the first computing device.
“In another embodiment, a computer system comprises a server, which is configured to a server configured to: receive, from a first computing device, a first file comprising a spreadsheet, wherein the spreadsheet comprises at least a first row and a second row, wherein the first row comprises a first statement cell comprising a first statement, a first data type cell comprising a first data type identifier, a first logic cell comprising a first logic, and a first field cell comprising a first field identifier, wherein the second row comprises a second statement cell comprising a second statement, a second data type cell comprising a second data type identifier, a second logic cell comprising a second logic, and a second field cell comprising a second field identifier; dynamically render a graphical user interface configured to be displayed on a second computing device, wherein the graphical user interface comprises a first label and a first input element, wherein the first label comprises the first statement sourced from and corresponding to the first statement cell, wherein the first input element is configured for a first input according to the first data type identifier sourced from and corresponding to the first data type cell; in response to receiving the first input from the second computing device: evaluate the first input against the first logic, and in response to the first input corresponding to the first logic: dynamically render a second label and a second input element to be displayed on the graphical user interface, wherein the second label comprises the second statement sourced from and corresponding to the second statement cell, and wherein the second input element is configured for a second input according to the second data type identifier sourced from and corresponding to the second data type cell; and in response to receiving the second input: evaluate the second input against the second logic, and in response to the second input corresponding to the second logic: generate a second file, wherein the server inserts the first input into a first field of the second file based on the first field identifier and inserts the second input into a second field of the second file based on the second field identifier; and transmit the second file comprising the first input and the second input to the first computing device.
“In another embodiment, a computer-implemented method comprises receiving, by a server, from a first computing device, a rendering request comprising a request to render a graphical user interface displayed on a second computing device; querying, by the server, a database to retrieve a spreadsheet associated with the graphical user interface, wherein the spreadsheet comprises at least a first row and a second row, wherein the first row comprises a first statement cell comprising a first statement, a first data type cell comprising a first data type identifier, a first logic cell comprising a first logic, and a first field cell comprising a first field identifier, wherein the second row comprises a second statement cell comprising a second statement, a second data type cell comprising a second data type identifier, a second logic cell comprising a second logic, and a second field cell comprising a second field identifier; upon retrieving the spreadsheet, dynamically rendering, by the server, the graphical user interface on the second computing device, wherein the graphical user interface comprises a first label and a first input element, wherein the first label comprises the first statement sourced from and corresponding to the first statement cell, wherein the first input element is configured for a first input according to the first data type identifier sourced from and corresponding to the first data type cell; upon displaying the first label, receiving, by the server, a first input from the second computing device; in response to receiving the first input: evaluating, by the server, the first input against the first logic, and in response to the first input corresponding to the first logic: dynamically rendering, by the server, a second label and a second input element to be displayed on the graphical user interface, wherein the second label comprises the second statement sourced from and corresponding to the second statement cell, and wherein the second input element is configured for a second input according to the second data type identifier sourced from and corresponding to the second data type cell; and in response to receiving, by the server, the second input: evaluating, by the server, the second input against the second logic.
“In another embodiment, a computer system comprised a server, which is configured to: receive from a first computing device, a rendering request comprising a request to render a graphical user interface displayed on a second computing device; query a database to retrieve a spreadsheet associated with the graphical user interface, wherein the spreadsheet comprises at least a first row and a second row, wherein the first row comprises a first statement cell comprising a first statement, a first data type cell comprising a first data type identifier, a first logic cell comprising a first logic, and a first field cell comprising a first field identifier, wherein the second row comprises a second statement cell comprising a second statement, a second data type cell comprising a second data type identifier, a second logic cell comprising a second logic, and a second field cell comprising a second field identifier; upon retrieving the spreadsheet, dynamically render the graphical user interface on the second computing device, wherein the graphical user interface comprises a first label and a first input element, wherein the first label comprises the first statement sourced from and corresponding to the first statement cell, wherein the first input element is configured for a first input according to the first data type identifier sourced from and corresponding to the first data type cell; upon displaying the first label, receive a first input from the second computing device; in response to receiving the first input: evaluate the first input against the first logic, and in response to the first input corresponding to the first logic: dynamically render a second label and a second input element to be displayed on the graphical user interface, wherein the second label comprises the second statement sourced from and corresponding to the second statement cell, and wherein the second input element is configured for a second input according to the second data type identifier sourced from and corresponding to the second data type cell; and in response to receiving the second input: evaluate the second input against the second logic.”
The claims supplied by the inventors are:
“1. A method comprising: retrieving, by a server, a file comprising a spreadsheet, wherein the spreadsheet comprises a parent worksheet, wherein the parent worksheet comprises a first row, wherein the first row comprises a first statement cell comprising a first statement, a first data type cell comprising a first data type identifier, and a first logic cell comprising a first logic, wherein the first logic comprises a string comprising at least one of a conditional statement or a Boolean statement and a key; in response to receiving, by the server, a generation request from a first client computing device, generating, by the server, a child worksheet in the spreadsheet, wherein the child worksheet comprises a second row, wherein the second row inherits the first row in format and content such that the second row comprises a second statement cell inclusive of the first statement, a second data type cell inclusive of the first data type identifier, and a second logic cell inclusive of the first logic, the key of the first logic corresponding to the at least one of the conditional statement or the Boolean statement being satisfied and a third row of the child worksheet, and the third row comprising a third statement cell comprising a second statement, a third data type cell comprising a second data type identifier, a key cell comprising the key, and a third logic cell comprising a second logic including at least one of a second conditional statement or a second Boolean statement; receiving, by the server, from the first client computing device, a modification request programmed to modify at least one of the first statement in the second statement cell, the first data type identifier in the second data type cell, or the first logic in the second logic cell, wherein the server receives the generation request before the modification request, wherein the modification request comprises a modification input; modifying, by the server, at least one of the first statement in the second statement cell, the first data type identifier in the second data type cell, or the first logic in the second logic cell based on the modification input; evaluating, by the server, after the child worksheet has been modified based on the modification input, the first statement in the second statement cell, the first data type identifier in the second data type cell, and the first logic in the second logic cell; and rendering, by the server, on a second client computing device, a graphical user interface based on the child worksheet being evaluated as modified, wherein the graphical user interface includes a plurality of visual elements, wherein the visual elements are conditionally generated based on the first statement in the second statement cell, the first data type identifier in the second data type cell, the first logic in the second logic cell, the second statement in the third statement cell, the second data type identifier in the third data type cell, and the second logic in the third logic cell, wherein rendering visual elements associated with the second statement in the third statement cell is performed in response to: determining, by the server, that the conditional statement or the Boolean statement of the at least one of the conditional statement or the Boolean statement of the first logic has been satisfied; responsive to determining the conditional statement or the Boolean statement has been satisfied, searching, by the server, rows of the child worksheet for a row with a key cell comprising a matching key to the key of the first logic; and processing, by the server, the cells of the third row responsive to identifying the key in the key cell of the third row as the matching key.
“2. The method of claim 1, wherein the child worksheet as modified comprises a fourth row and inherits a fifth row from the parent worksheet such that the fourth row comprises a fourth statement cell comprising a fifth statement, a fourth data type cell comprising a fifth data type identifier, and a fourth logic cell comprising a fifth logic.
“3. The method of claim 1, wherein the child worksheet as modified comprises a fourth row in the child worksheet, wherein the fourth row has been modified relative to the parent worksheet.
“4. The method of claim 3, wherein the fourth row has been modified based on the modification input.
“5. The method of claim 3, wherein the fourth row has been modified based on the first logic.
“6. The method of claim 3, wherein the fourth row has been modified based on a logic in the parent worksheet other than the first logic.
“7. The method of claim 1, wherein the server appends the modification input to the second row.
“8. The method of claim 1, wherein the file is stored in the first client computing device.
“9. The method of claim 1, wherein each of the second statement cell, the second data type cell, and the second logic cell are located in separate columns of the child worksheet.
“10. The method of claim 1, wherein at least one row from the child worksheet is configured to prevent any modifications.
“11. A computer system comprising: a server comprising a processor and a memory comprising instructions thereon for causing the processor to: retrieve a file comprising a spreadsheet, wherein the spreadsheet comprises a parent worksheet, wherein the parent worksheet comprises a first row, wherein the first row comprises a first statement cell comprising a first statement, a first data type cell comprising a first data type identifier, and a first logic cell comprising a first logic, wherein the first logic comprises a string comprising at least one of a conditional statement or a Boolean statement and a key; in response to receiving a generation request from a first client computing device, generate a child worksheet in the spreadsheet, wherein the child worksheet comprises a second row, wherein the second row inherits the first row in format and content such that the second row comprises a second statement cell inclusive of the first statement, a second data type cell inclusive of the first data type identifier, and a second logic cell inclusive of the first logic, the key corresponding to the at least one of the conditional statement or the Boolean statement being satisfied and a third row of the child worksheet, and the third row comprising a third statement cell comprising a second statement, a third data type cell comprising a second data type identifier, a key cell comprising the key, and a third logic cell comprising second logic including at least one of a second conditional statement or a second Boolean statement; receive from the first client computing device, a modification request programmed to modify at least one of the first statement in the second statement cell, the first data type identifier in the second data type cell, or the first logic in the second logic cell, wherein the server receives the generation request before the modification request, wherein the modification request comprises a modification input; modify at least one of the first statement in the second statement cell, the first data type identifier in the second data type cell, or the first logic in the second logic celli the child based on the modification input; evaluate, after the child worksheet has been modified based on the modification input, the first statement in the second statement cell, the first data type identifier in the second data type cell, and the first logic in the second logic cell; and render a graphical user interface on a second client computing device, wherein the graphical user interface is based on the child worksheet being evaluated as modified, wherein the graphical user interface includes a plurality of visual elements, wherein the visual elements are conditionally generated based on the first statement in the second statement cell, the first data type identifier in the second data type cell, the first logic in the second logic cell, the second statement in the third statement cell, the second data type identifier in the third data type cell, and the second logic in the third logic cell, wherein rendering visual elements associated with the second statement in the third statement cell is performed in response to: determining, by the server, that the conditional statement or the Boolean statement of the at least one of the conditional statement or the Boolean statement of the first logic has been satisfied; responsive to determining the conditional statement or the Boolean statement has been satisfied, searching, by the server, rows of the child worksheet for a row with a key cell comprising a matching key to the key of the first logic; and processing, by the server, the cells of the third row responsive to identifying the key in the key cell of the third row as the matching key.
“12. The computer system of claim 11, wherein the child worksheet as modified comprises a fourth row and inherits a fifth row from the parent worksheet such that the fourth row comprises a fourth statement cell comprising a fifth statement, a fourth data type cell comprising a fifth data type identifier, and a fourth logic cell comprising a fifth logic.
“13. The computer system of claim 11, wherein the child worksheet comprises a fourth row in the child worksheet, wherein the fourth row has been modified relative to the parent worksheet.
“14. The computer system of claim 13, wherein the fourth row has been modified based on the modification input.
“15. The computer system of claim 13, wherein the fourth row has been modified based on the first logic.
“16. The computer system of claim 13, wherein the fourth row has been modified based on a logic in the parent worksheet other than the first logic.
“17. The computer system of claim 11, wherein the server appends the modification input to the second row.”
There are additional claims. Please visit full patent to read further.
For more information, see this patent: Elsamman, Sam. Modifying and using spreadsheets to create a GUI on another device.
(Our reports deliver fact-based news of research and discoveries from around the world.)


Patent Issued for System, method and apparatus for cognitive oral health management (USPTO 11139076): International Business Machines Corporation
New Asthma Research from Waseda University Discussed (A Quasi-Experimental Study of the Effects of Pre-Kindergarten Education on Pediatric Asthma): Lung Diseases and Conditions – Asthma
Advisor News
- Nearly half of nonretirees doubt they will fully retire
- How much could failure to fund Social Security cost average Americans?
- How can more Americans achieve financial independence?
- Savers vs. spenders: How money management attitudes impact financial confidence
- Demonstrating the value of life insurance to Gen Z
More Advisor NewsAnnuity News
- Jackson CEO Laura Prieskorn to retire at the end of 2026
- Has your annuity been reinsured in the Cayman Islands? Here’s why it matters
- DOL slams pension risk transfer lawsuit as ‘opportunistic’ litigation
- AM Best Affirms Credit Ratings of New York Life Insurance Company and Its Subsidiaries
- Advisors don’t have an annuity problem; they have an integration problem.
More Annuity NewsHealth/Employee Benefits News
- They harvest the nation’s food, but a new rule may strip them of health insurance
- A new option for long-term care costs
- Rising health insurance exchange costs are bad news for Mississippi's working poor
- Iowa health insurers propose premium increases for ACA customers
- IOWANS ARE HOLDING ASHLEY HINSON ACCOUNTABLE FOR RAISING THEIR HEALTH INSURANCE PREMIUMS
More Health/Employee Benefits NewsLife Insurance News
- AM Best Comments on Credit Ratings of Horace Mann Educators Corporation and Its Subsidiaries Following Announced Transaction with Medical Mutual of Ohio
- AM Best Affirms Credit Ratings of Hanwha General Insurance Company Limited
- Globe Life boosts Q2 earnings, eyes AI shift for long-term growth
- ATTORNEY GENERAL BRENNA BIRD LEADS FIGHT TO PROTECT IOWA PENSIONS
- AM Best Affirms Credit Ratings of Bao Viet Insurance Corporation
More Life Insurance News