IP Library Granted Patent US 8,752,014
Granted Patent B2
US 8,752,014 · App. 13/038,965 · Granted Jun 10, 2014

Configurable software application

Inventor: Tonya Joy Harmon (Great Falls, VA)
Assignee: Harmony Information Systems, Inc.
G06F9/44505G06F9/4446
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,752,014
App. No.
13/038,965
Granted
Jun 10, 2014
Kind
B2
Abstract

A configurable software application is provided, where the software application may be designed on a platform including at least one configuration utility for enabling end users to customize various aspects of the application. For example, end users may use the configuration utility to customize one or more user interface elements, event handlers, data handlers, and/or data elements of the application. The software application may be automatically updated to incorporate the user customizations. In one implementation, custom user interface elements may be used to control a navigation of the application or an interaction with data elements of the application. In another implementation, custom data elements, based on a hierarchical metadata structure, may dictate an organization of the application. In another implementation, custom event handlers may control business logic and rules for the application, while custom data handlers may control interfacing with the data elements.

Claims (51)

1. A method for configuring a software application, the method being executed by a computer having one or more physical processors programmed by computer program instructions that, when executed, cause the one or physical processors to perform the method, the method comprising:

providing, by the one or more physical processors, access to one or more configuration utilities of a software application;

receiving, through the one or more configuration utilities, one or more user inputs that specify one or more data or event handlers used to customize an operation of the software application, wherein the one or more configuration utilities are related to the software application such that the software application is self-configuring based on the one or more user inputs;

defining the one or more data or event handlers to be used in the software application based on the one or more user inputs;

building one or more displays of the software application, wherein the one or more displays are: (i) configured with the one or more configuration utilities of the software application, and (ii) cause the one or more data or event handlers to be triggered; and

displaying a populated user interface associated with the software application, wherein the populated user interface includes the one or more displays configured with the one or more configuration utilities;

wherein the one or more configuration utilities expose a framework associated with the software application, and wherein the exposed framework includes a hierarchical metadata structure that contains one or more data elements within the one or more displays, the one or more displays within one or more chapters that describe relationships among the one or more data elements, and the one or more chapters within one or more groups that assign one or more roles to one or more users.

2. The method of claim 1 , wherein the method further comprising:

using the one or more configuration utilities to create or extend one or more metadata records that control the software application and the one or more displays of the software application.

3. The method of claim 1 , wherein building the one or more displays of the software application includes binding one or more metadata records created or extended with the one or more configuration utilities to a hierarchical metadata structure that controls the software application.

4. The method of claim 3 , wherein the one or more metadata records control navigation and interaction associated with the one or more displays.

5. The method of claim 3 , wherein defining the one or more data or event handlers further comprising:

using the one or more configuration utilities to create or extend one or more data handlers that control the software application and convert data elements from the hierarchical metadata structure to a format associated with the exposed framework; and

using the one or more configuration utilities to create or extend one or more event handlers that initiate one or more actions in response to one or more events associated with the software application.

6. The method of claim 1 , wherein the one or more displays are built and displayed in the populated user interface in response to receiving an authenticated request from one or more of the users.

7. The method of claim 1 , wherein defining the one or more data or event handlers comprises defining one or more data handlers that are attached to one or more external services or applications that perform a function external to the software application, wherein the function allows the software application to access the one or more external services or applications.

8. The method of claim 7 , wherein the one or more external services or applications comprise a batch print server.

9. The method of claim 7 , wherein the one or more external services or applications comprise an interactive voice recognition service.

10. The method of claim 1 , wherein defining the one or more data or event handlers comprises defining one or more event handlers that respond to one or more events occurring at the software application.

11. The method of claim 10 , wherein the one or more event handlers include a workflow wizard that guides a user through a task to be completed responsive to the one or more events.

12. A system for configuring a software application, wherein the system comprises one or more physical processors programmed by computer program instructions to:

provide access to one or more configuration utilities of a software application;

receive, through the one or more configuration utilities, one or more user inputs that specify one or more data or event handler used to customize an operation of the software application, wherein the one or more configuration utilities are related to the software application such that the software a dication is self-configuring based on the one or more user inputs;

build one or more displays of the software application, wherein the one or more displays are: (i) configured with the one or more inputs to the one or more configuration utilities of the software application, and (ii) cause the one or more data or event handlers to be triggered;

display a populated user interface associated with the software application, wherein the populated user interface includes the one or more displays configured with the one or more configuration utilities; and

wherein the one or more configuration utilities expose a framework associated with the software application, and wherein the exposed framework includes a hierarchical metadata structure that contains one or more data elements within the one or more displays, the one or more displays within one or more chapters that describe relationships among the one or more data elements, and the one or more chapters within one or more groups that assign one or more roles to one or more users.

13. The system of claim 12 , wherein the one or more inputs to the one or more configuration utilities create or extend one or more metadata records that control the software application and the one or more displays of the software application.

14. The system of claim 12 , wherein the one or more processors are further programmed to bind one or more metadata records created or extended with the one or more inputs to the one or more configuration utilities to a hierarchical metadata structure that controls the software application to build the one or more displays.

15. The system of claim 14 , wherein the one or more metadata records control navigation and interaction associated with the one or more displays.

16. The system of claim 14 , wherein the one or more processors are further programmed to:

create or extend one or more data handlers in response to the one or more inputs to configure the framework associated with the software application, wherein the one or more data handlers control the software application and convert data elements from the hierarchical metadata structure to a format associated with the exposed framework; and

create or extend one or more event handlers in response to the one or more inputs to configure the framework associated with the software application, wherein the one or more event handlers initiate one or more actions in response to one or more events associated with the software application.

17. The system of claim 12 , wherein the one or more processors are further programmed to build the displays and display the populated user interface in response to receiving an authenticated request from one or more of the users.

18. A computer-readable storage medium for configuring a software application, wherein the computer-readable storage medium contains computer-executable instructions that cause one or more processors to:

provide access to one or more configuration utilities of a software application;

receive, through the one or more configuration utilities, one or more user inputs that specify one or more data or event handler used to customize an operation of the software application, wherein the one or more configuration utilities are related to the software application such that the software application is self-configuring based on the one or more user inputs;

build one or more displays of the software application, wherein the one or more displays are: (i) configured with the one or more inputs to the one or more configuration utilities of the software application, and (ii) cause the one or more data or event handlers to be triggered;

display a populated user interface associated with the software application, wherein the populated user interface includes the one or more displays configured with the one or more configuration utilities; and

wherein the one or more configuration utilities expose a framework associated with the software application, and wherein the exposed framework includes a hierarchical metadata structure that contains one or more data elements within the one or more displays, the one or more displays within one or more chapters that describe relationships among the one or more data elements, and the one or more chapters within one or more groups that assign one or more roles to one or more users.

19. The computer-readable storage medium of claim 18 , wherein the one or more inputs to the one or more configuration utilities create or extend one or more metadata records that control the software application and the one or more displays of the software application.

20. The computer-readable storage medium of claim 18 , wherein the computer-executable instructions further cause the one or more processors to bind one or more metadata records created or extended with the one or more inputs to a hierarchical metadata structure that controls the software application to build the one or more displays.

21. The computer-readable storage medium of claim 20 , wherein the one or more metadata records control navigation and interaction associated with the one or more displays.

22. The computer-readable storage medium of claim 20 , wherein the computer-executable instructions further cause the one or more processors to:

create or extend one or more data handlers in response to the one or more inputs to configure the framework associated with the software application, wherein the one or more data handlers control the software application and convert data elements from the hierarchical metadata structure to a format associated with the exposed framework; and

create or extend one or more event handlers in response to the one or more inputs to configure the framework associated with the software application, wherein the one or more event handlers initiate one or more actions in response to one or more events associated with the software application.

23. The computer-readable storage medium of claim 18 , wherein the one or more processors build the displays and display the populated user interface in response to receiving an authenticated request from one or more of the users.

24. A method for configuring a software application, the method being executed by a computer having one or more physical processors programmed by computer program instructions that, when executed, cause the one or physical processors to perform the method, the method comprising:

providing, by the one or more physical processors, access to one or more configuration utilities of a software application, wherein the one or more configuration utilities receive one or more user inputs that specify one or more data or event handlers used to customize an operation of the software application and are related to the software application such that the software application is self-configuring based on the one or more user inputs;

defining the one or more data or event handlers to be used in the software application based on the one or more user inputs;

building one or more displays of the software application, wherein the one or more displays are: (i) configured with the one or more configuration utilities of the software application, and (ii) cause the one or more data or event handlers to be triggered; and

displaying a populated user interface associated with the software application, wherein the populated user interface includes the one or more displays configured with the one or more configuration utilities.

Assignments (14)
NOTICE OF SUCCESSOR AGENT AND ASSIGNMENT OF SECURITY INTEREST (INTELLECTUAL PROPERTY) Recorded Oct 15, 2024
From: ARES CAPITAL CORPORATION, AS PREDECESSOR AGENT
To: ALTER DOMUS (US) LLC, AS SUCCESSOR AGENT
Reel/Frame 069175/0138 →
RELEASE OF SECURITY INTEREST Recorded Mar 18, 2021
From: BANK OF AMERICA, N.A., AS AGENT
To: WELLSKY HUMAN & SOCIAL SERVICES, INC.
Reel/Frame 055634/0526 →
SECURITY INTEREST Recorded Mar 16, 2021
From: WELLSKY CORPORATION; WELLSKY HUMAN & SOCIAL SERVICES CORPORATION; WELL SKY HOME HEALTH & HOSPICE CORPORATION; CLEARCARE, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 055608/0633 →
SECURITY INTEREST Recorded Mar 11, 2021
From: WELLSKY HUMAN & SOCIAL SERVICES CORPORATION; WELLSKY HOME HEALTH & HOSPICE CORPORATION; CLEARCARE, INC.
To: ARES CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 055564/0354 →
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2021
From: CORTLAND CAPITAL MARKET SERVICES LLC
To: WELLSKY HUMAN & SOCIAL SERVICES, INC.
Reel/Frame 055551/0695 →
CHANGE OF NAME Recorded Nov 13, 2018
From: MEDIWARE HUMAN & SOCIAL SERVICES, INC.
To: WELLSKY HUMAN & SOCIAL SERVICES CORPORATION
Reel/Frame 047510/0020 →
SECURITY INTEREST Recorded Feb 22, 2017
From: MEDIWARE HUMAN & SOCIAL SERVICES, INC., AS GRANTOR
To: CORTLAND CAPITAL MARKET SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 041343/0646 →
FIRST LIEN SECURITY AGREEMENT Recorded Feb 10, 2017
From: MEDIWARE HUMAN & SOCIAL SERVICES, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 041675/0029 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT REEL 040183, FRAME 0158 Recorded Feb 9, 2017
From: SUNTRUST BANK, AS COLLATERAL AGENT
To: MEDIWARE HUMAN & SOCIAL SERVICES, INC.
Reel/Frame 041670/0737 →
PATENT SECURITY AGREEMENT Recorded Sep 29, 2016
From: MEDIWARE HUMAN & SOCIAL SERVICES, INC.
To: SUNTRUST BANK, AS COLLATERAL AGENT
Reel/Frame 040183/0158 →
RELEASE AND TERMINATION OF SECURITY INTEREST IN PATENTS, AS RECORDED ON REEL 033125 / FRAME 0466 Recorded Sep 28, 2016
From: TPG SPECIALTY LENDING, INC., AS COLLATERAL AGENT
To: MEDIWARE HUMAN & SOCIAL SERVICES, INC., F/K/A HARMONY INFORMATION SYSTEMS, INC.
Reel/Frame 040173/0389 →
CHANGE OF NAME Recorded Sep 26, 2016
From: HARMONY INFORMATION SYSTEMS, INC.
To: MEDIWARE HUMAN & SOCIAL SERVICES, INC.
Reel/Frame 040149/0543 →
SECURITY INTEREST Recorded Jun 11, 2014
From: HARMONY INFORMATION SYSTEMS, INC.
To: TPG SPECIALTY LENDING, INC.
Reel/Frame 033125/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2011
From: HARMON, TONYA JOY
To: HARMONY INFORMATION SYSTEMS, INC.
Reel/Frame 025888/0707 →
Continuity (3)
Continuation 11540509 · Oct 2, 2006
Provisional Application 60722013 · Sep 30, 2005
Related Publication 20110167408A1 · Jul 7, 2011