WO2021154741A1 - Insight recommendation cross-reference to related applications - Google Patents

Insight recommendation cross-reference to related applications Download PDF

Info

Publication number
WO2021154741A1
WO2021154741A1 PCT/US2021/015109 US2021015109W WO2021154741A1 WO 2021154741 A1 WO2021154741 A1 WO 2021154741A1 US 2021015109 W US2021015109 W US 2021015109W WO 2021154741 A1 WO2021154741 A1 WO 2021154741A1
Authority
WO
WIPO (PCT)
Prior art keywords
insight
insights
engines
service platform
recommendation
Prior art date
Application number
PCT/US2021/015109
Other languages
French (fr)
Inventor
Christoper Taylor CREEL
Bharath Kumar Reddy LINGANNAGARI
Original Assignee
Rialtic, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rialtic, Inc. filed Critical Rialtic, Inc.
Publication of WO2021154741A1 publication Critical patent/WO2021154741A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Definitions

  • Businesses may utilize automated processes to automatically make decisions based on criteria in (policies written into) algorithms and data provided thereto instead of occupying employees to determine such insights.
  • Such automated processes provide consistency and fast computing times.
  • utilizing automated processes requires infrastructure and costs for development.
  • Embodiments of the invention relate to methods, systems, and products for determining a plurality of insights based on a target context, a plurality of insights engines, and reference data as well as providing at least one recommended insight from the plurality of insights.
  • a method for determining one or more insights with a service platform includes receiving, from a requestor at a client computing device, a request for one or more insights based on a target context, one or more sets of data, and a plurality of insight engines stored in the service platform.
  • the method includes producing a plurality of insights with the target context, a selected data set of the one or more sets of data, and the plurality of insight engines.
  • the method includes outputting a list of recommendation engines to the client computing device.
  • the method includes receiving a recommendation engine selection from the requestor.
  • the method includes ranking the plurality of insights according to a selected recommendation engine corresponding to the recommendation engine selection.
  • the method includes outputting at least a highest ranked insight of the plurality of insights to the client computing device.
  • a computing system for providing a service platform for determining insights includes a non-transitory memory storage medium storing machine readable and executable instructions.
  • the instructions include instructions for receiving, from a requestor at a client computing device, a request for one or more insights based on a target context, one or more sets of data, and a plurality of insight engines stored in the service platform; producing a plurality of insights with the target context, a selected data set of the one or more sets of data, and the plurality of insight engines; outputting a list of recommendation engines to the client computing device; receiving a recommendation engine selection from the requestor; ranking the plurality of insights according to a selected recommendation engine corresponding to the recommendation engine selection; and outputting at least a highest ranked insight of the plurality of insights to the client computing device.
  • the computing system includes a processor configured to access and execute the machine readable and executable instructions.
  • a method for obtaining one or more insights from a service platform includes inputting, from a client computing device, a request for one or more insights based on a target context, one or more sets of data, and plurality of insight engines stored in the service platform.
  • the method includes assigning the target context in the service platform.
  • the method includes causing the service platform to produce a plurality of insights with the target context, a selected data set from the one or more sets of data, and the plurality of insight engines.
  • the method includes selecting at least one recommendation engine from a plurality of recommendation engines, wherein the recommendation engines rank the plurality of insights according to selected criteria.
  • the method includes collecting at least one recommended insight of the plurality of insights from the at least one recommendation engine, with the client computing device.
  • Embodiments include service platforms for determining insights.
  • FIG. 1 is a block diagram of configuration for obtaining one or more insights with a service platform, according to an embodiment.
  • FIG. 2 is a flow chart of an algorithm of an insight engine, according to an embodiment.
  • FIG. 3 is a flow chart of a recommendation engine, according to an embodiment.
  • FIG. 4 is a schematic of a configuration for producing a recommended insight, according to an embodiment.
  • FIG. 5 is a flow diagram of a method for determining one or more insights with a service platform, according to an embodiment.
  • FIG. 6 is a flow diagram of a method of obtaining one or more insights from a service platform, according to an embodiment.
  • FIG. 7 is a schematic of a system for executing any of the example methods disclosed herein, according to an embodiment.
  • FIG.8 is a block diagram illustrating an example computer program product 800.
  • Embodiments of the invention relate to generating a plurality of insights using insight engines with reference data and providing at least a highest ranked insight using recommendation engines, in a secure service platform, based on a target context from a requestor.
  • the target context includes requestor-identified data (e.g. , highly regulated data such as personally identifiable information, protected health information, or the like).
  • the insight engines, the reference data, and the recommendation engines may be provided by third party entities.
  • the methods, systems, and products disclosed herein provide recommended insights based on requestor-identified data according to recommendation criteria selected by the requestor without exposing the requestor identified data to any entity outside of the service platform.
  • consumers may securely procure at least one of a variety of insights, based on protected information (e.g., sensitive or highly regulated data such as personally identifiable information, protected health information, or the like), without exposing the protected information to any outside entities such as the developers of the insight engines or recommendation engines or curators of reference data used in the service platform.
  • protected information e.g., sensitive or highly regulated data such as personally identifiable information, protected health information, or the like
  • FIG. 1 is a block diagram of configuration 100 for obtaining one or more insights with a service platform 110, according to an embodiment.
  • the service platform 110 includes machine readable and executable instructions for determining, ranking, and providing at least one insight based on a target context 112 identified by the requestor of the insight(s).
  • the service platform 110 accepts a request for one or more insights based on the target context 112 identified by the client 130.
  • the service platform 110 utilizes workspaces 114 to operate individual insight engines 116 with the target context 112 and at least some reference data 118 to determine a plurality of insights 120. At least some of the insight engines 116 may not be pertinent to the target insight that the client 130 is seeking.
  • the service platform 110 utilizes recommendation engines 122 that rank (e.g., score) the insights 120 based on criteria selected by the client 130, such as least costly outcome, best medical outcome, qualification for insurance coverage, qualification for a loan or rate, etc.
  • the client 130 selects a recommendation engine 122, based on a description of the outputs or criteria of the recommendation engine, to obtain at least one recommended insight 124 from the plurality of insights 120 produced from the plurality of insight engines 116. Accordingly, all of the insight engines 116 may be ran for each insight request and a selected recommendation engine 122 filters the insights so that only relevant insights are, or the most relevant insight is, presented to the client 130.
  • the insight engines 116 and the recommendation engines 122 operate solely within the service platform 110.
  • the service platform 110 provides insights for any type of target context 112 without exposing the target context (e.g., personally identifiable information) to any entity outside of the service platform 110.
  • the service platform 110 may be located in the memory of one or more computing devices, such as one or more servers, computers, or the like.
  • the service platform 110 may be decentralized, such as a cloud computing platform.
  • the service platform 110 may be accessible for external entities via a network 170, such as the internet, a local area network (LAN), a cloud computing platform, or the like.
  • the service platform 110 may be accessible to external entities via one or more interfaces 131, 132, 133, 141, 151, and 161.
  • the interfaces 131, 132, 133, 141, 151, and 161 may include application programming interfaces (“APIs”) or user interfaces.
  • the APIs may be representational state transfer (“REST”) APIs which require specific formats, languages, or the like.
  • the service platform 110 may communicate or accept communications with one or more external entities, such as a client 130, developers 140, curators 150, and recommender developers 160.
  • the external entities may include computing devices, such a desktop computers, laptop computers, servers, tablets, smartphones, or the like.
  • the client 130 may access the service platform 110 via a computer or server.
  • the client 130 may upload or identify target contexts 112 for one or more insight requests via an interface 131 (e.g., API(s) or user interface(s)).
  • the client 130 may select a recommendation engine via the interface 132. Only limited portions of the service platform 110 may be accessible to external entities.
  • an interface 141, 151, or 161 of the service platform 110 may be accessible to an external entity, such as for receiving insight engines 116, reference data 118, or recommendation engines 122.
  • Such architecture ensures that personally identifiable information or other protected information identified (e.g., provided at least in part) by the client 130 is isolated within the service platform 110 such that the outside entities cannot access or view the protected information.
  • the developers 140, the curators 150, and the recommender developers 160 may only be able to upload engines and reference data into the service platform 110 via one or more interfaces 141, 151, or 161 (e.g., REST API endpoints and/or user interfaces). Only the client 130 may be able to remove data from the service platform 110, such as receiving the recommended insight from interface 133 (e.g., API endpoint or user interface).
  • the interfaces 131, 132, 133, 141, 151, or 161 may include a user interface having one or more APIs associated therewith, such as REST APIs for uploading different types (e.g., formats or languages) of components.
  • the APIs may be configured to receive components (e.g.,, target contexts 112, insight engines 116, reference data 118, recommendation engines 122, recommendation engine selections, or the like) for use in the service platform 110 according to various standards, formats, and languages. Accordingly, only working components may be imported or uploaded into the service platform 110.
  • the APIs at interfaces 131, 132, 133, 141, 151, or 161 may be configured to receive components from a third party remote source different than the client, developers, or curators, such as GitHub, Gitlab, Bitbucket, or the like.
  • the third party remote source may indicate or require the same formatting as the APIs and may communicate directly with the APIs at interfaces 131, 132, 133, 141, 151, or 161. Accordingly, the client 130, developers 140, curators 150, or recommender developers 160 may upload their components from the third party remote source, such as in a format that is known to comply with the APIs at interfaces 131, 132, 133, 141, 151, or 161.
  • the client 130 may access the service platform 110, such as via the network 170, to request one or more insights.
  • the client 130 may access the service platform 110 via interface 131 over the network 170 to form the request.
  • the client 130 may access the service platform 110 in a server-to-server upload of one or more insight requests, via an API of the service platform 110.
  • the request for one or more insights may include identifying the target context 112 upon which the service platform 110 operates.
  • the client 130 may identify the target context 112 via the interface 131 provided by the service platform 110.
  • the target context 112 may include data corresponding to one or more entities or persons, such as a health history, a claims history, an account history, a criminal history, a transaction history, request history, or the like.
  • the client 130 may provide (e.g. , upload) at least a portion of a medical history of one or more patients in conjunction with a request for one or more insights based on the medical history.
  • the target context 112 may include personally identifiable information, protected health information, account information, or other protected information that requires secure handling.
  • the target context 112 may be time limited, such as specifying only a selected duration of portion of a history (e.g., three months, six months, one year, three years, five years, or ten years).
  • At least a portion of the target context 112 may be stored in the service platform 110, such as in the memory of a server storing at least a portion of the service platform 110. In such examples, at least some of the target context 112 may be stored in the memory prior to requesting the one or more insights. At least some of the target context 112 in the memory may be identified by the client 130, for use in producing the insights, such as by identifying a subset of data in the memory. At least some of the target context 112 may be supplied from the client 130 for use in producing the insights, such as in conjunction with one or more portions of the target context 112 that were previously stored in the memory.
  • the service platform 110 may assign a transaction identifier (“transaction ID”) to the processes and components (e.g., target context 112, workspaces 114, insight engines 116, reference data 118, recommendation engine 122, insights 120, recommended insight 124, etc.) thereof used to produce the recommended insight 124.
  • transaction ID a transaction identifier
  • the service platform 110 may track and document the components utilized in the transaction and provide such documentation (e.g., such as in the metadata) with the transaction ID.
  • the versions of target context, insight engines, reference data, selected data set(s), selected recommendation engine, insights, recommended insight(s), etc. may be documented, stored, and identified with the transaction ID.
  • the client 130 may enter a transaction ID into the service platform to receive the corresponding recommended insight 124.
  • an electronic address may be stored for the client 130 and the recommended insight 124 may be automatically communicated to the client 130 at the electronic address, such as in an e- mail.
  • the target context 112 is utilized by the plurality of insight engines 116 to determine a plurality of insights 120.
  • the insight engines 116 may be uploaded to the service platform 110 by (third party) developers 140, such as through the network 170.
  • the developers 140 may provide the programs to the service platform 110 in a selected format, such as in a coding language and format required by the service platform 110.
  • the service platform 110 may identify coding languages, standards, and guidelines that are compatible therewith, such as which coding formats, languages, standards, or guidelines are compatible with the anonymous functions and APIs therein.
  • the service platform 110 via APIs or user interfaces at the interface 141, may require the insight engines 116 to be provided in a selected format (e.g., XML, JSON, YAML, etc.), selected programming language (e.g., JVM compliant languages such as Java or Scala, Python, Ruby, Golang, Node.js, .NET etc.), or the like.
  • the service platform 110 may require the insight engines 116 to query target contexts 112 and reference data 118 in a selected manner. Accordingly, developers 140 may write programs for insight engines 116 without the need to see the target context 112 and reference data 118 that their insight engine 116 will query. If the insight engine is not in the required format or language, the insight engine will not be accepted beyond the interface 141.
  • the developer 140 of an insight engine may be a third party developer, such as an entity or party unrelated to the client 130 (e.g., requestor).
  • the developer 140 may upload one or more insight engines into the service platform 110 via the network 170 without having any contact with the requestor (client), the target context 112, the reference data 118, or any other information in the service platform 110.
  • a developer 140 may upload an insight engine 116 into the platform via the interface 141 (e.g., API or user interface), accessible via the network 170.
  • the developer 140 may upload one or more insight engines 112 into the service platform 110 via a third party source such as Github or the like. Such upload may be carried out through an API at the interface 131 or 141.
  • the developer 140 of an insight engine may not be a third party developer.
  • a requestor may upload at least one insight engine via interface 131 and the network 170.
  • Each insight engine of the plurality of insight engines 116 may be given an engine identifier (e.g., engine number, identification number, etc.) upon upload into the service platform 110.
  • the service platform 110 may track the use of individual data sets of the reference data 118 by the data identifier. Developers 140 may be paid for each instance that their insight engine is utilized, by the amount of their reference data 118 that is processed (e.g. , how many bytes are utilized) with the insight engine, or the like.
  • the insight engines 116 include machine readable and executable instructions for progressions of queries formulated to arrive at one or more specific insights.
  • the queries are codified into machine readable and executable instructions to search one or more sets of data for answers to discrete questions that provide answers to a larger question (e.g., insights).
  • the plurality of insight engines 116 may each ran upon submission of a request, whether formulated to answer the question the requestor is investigating or not.
  • FIG. 2 is a flow chart of an algorithm 210 of an insight engine, according to an embodiment.
  • the algorithm 210 includes a plurality of queries 220-260 which query (e.g., include instructions to query) the target context 112 and reference data 118 to advance through the algorithm to determine one or more insights 222, 232, 252, 262, or 264.
  • the algorithm 210 may be constructed to determine wheelchair maintenance should be approved under an Arizona policy (e.g., Arizona Medicare).
  • the first query 220 of the algorithm 210 may query whether a wheelchair maintenance policy exists for Arizona.
  • the first query may be answered based on information in one or more of the target context 112 or the reference data 118.
  • the target context 112 may include a residence address of a party or the reference data 118 may include a list of all policies, by state, for cross-referencing with the residence address of the claimant. If the policy does not exist for Arizona, the algorithm 210 proceeds to insight 222, which indicates to deny the maintenance request. If the policy does exist, then the algorithm 210 proceeds to second query 230.
  • the second query 230 may query whether the requested maintenance is covered by the Arizona policy.
  • the reference data may include a list of maintenance and parts covered under the Arizona policy.
  • the second query 230 may determine that the requested maintenance is not covered under the Arizona policy. In such cases, the algorithm 210 advances to the insight 232, which indicates to deny the maintenance request.
  • the second query 230 may determine that the requested maintenance is covered under the Arizona policy and advance the algorithm 210 to the third query 240.
  • the third query 240 may examine whether the party has previously received the requested maintenance.
  • the third query 240 may examine the target context 112 (e.g., medical history, request history, account history, maintenance history, and/or benefit history of claimant) to determine the party has previously received the requested benefit. If the party has previously received the requested maintenance, the algorithm 210 advances to the fourth query 250. If the party has not previously received the requested maintenance, the algorithm 210 advances to the fifth query 260.
  • target context 112 e.g., medical history, request history, account history, maintenance history, and/or benefit history of claimant
  • the algorithm queries whether the number of times the party has received the requested maintenance is under the number of times the Arizona policy allows the requested maintenance. For example, the fourth query 250 may access an allowed maintenance table from the reference data 118 and compare a number of times the requested maintenance has been received by the party (e.g., within a selected time period) as may be found in the target context 112 to determine if the party’s wheelchair is under a maintenance limit. If the party has received the benefit more times than is allowed under the policy, the algorithm advances to the insight 252, which indicates to deny the maintenance request. If the party has not received the maintenance more times than is allowed under the policy, the algorithm 210 advances to the fifth query 260.
  • the fourth query 250 may access an allowed maintenance table from the reference data 118 and compare a number of times the requested maintenance has been received by the party (e.g., within a selected time period) as may be found in the target context 112 to determine if the party’s wheelchair is under a maintenance limit. If the party has received the benefit more times than is allowed under the policy,
  • the fifth query 260 may examine whether the maintenance request is supported by manufacturer’s documentation (e.g., manufacturer’s recommended maintenance schedule, or the like).
  • the fifth query 260 may examine the target context 112 (e.g., maintenance schedule, records, or requests) to determine if the maintenance request is supported by manufacturer’s documentation. If the maintenance request is not supported by manufacturer’s documentation, the algorithm 210 advances to insight 262, which indicates to deny the maintenance request. If the claim is supported by manufacturer’s documentation, the algorithm 210 advances to insight 264 which indicates to approve the maintenance request.
  • the queries may present time-dependent investigations, such as how many times a particular prescription may be ordered during a selected duration, or how often a party qualifies for a new orthopedic shoes. Any number of queries may be present in an algorithm, such as, is a doctor within coverage network, where cheaper options attempted first, is it cheaper to replace the item than maintain it, are there conflicting diagnoses, how often does a party make a claim, how much does the proposed course of action cost, does an account have any negative history, etc.
  • Insight engines via the underlying algorithms therein, may be constructed to investigate target contexts using reference data to provide any of a plurality of insights. While the algorithm 210 is presented as providing only binary insights (e.g., deny or approve), other algorithms may provide non-binary insights, such as having queries that provides insights with having various outputs, such as graduated amounts, a plurality of discrete outcomes, or the like. For example, an algorithm may be constructed to determine the amount of interest that a loan requestor is qualified to receive under a selected policy. Another algorithm may be constructed to determine which model of wheelchair a claimant may qualify for, or which model of wheelchair is most cost effective for a claimant’s condition. Another algorithm may be constructed to determine if a claim should be covered under a policy.
  • binary insights e.g., deny or approve
  • other algorithms may provide non-binary insights, such as having queries that provides insights with having various outputs, such as graduated amounts, a plurality of discrete outcomes, or the like.
  • an algorithm may be constructed to determine the amount of
  • a requesting party is disclosed as being the subject relevant to the algorithm 210, in embodiments, the subject of algorithms may be any entity (e.g., service provider, claimant, insurer, investigator, etc.), any request, or any action.
  • the requesting party may be a claimant or a third party, such as a benefit claimant, insurance representative, or health care representative.
  • the machine readable and executable instructions of the service platform 110 include instructions in the form of one or more anonymous functions to operate each insight engine 116 and to import the target context 112, one or more sets of data from the reference data 118, and any other data needed to execute the insight engines 116 into a workspace 114 (e.g., processing space) for each insight engine 116.
  • one or more anonymous functions may include instructions to determine the required components of each insight engine and to fetch and import the components (e.g. , target context 112, insight engines 116, data set(s) from the reference data 118, etc.) into the workspace 114 corresponding to each respective insight engine 116.
  • the workspace 114 may be imported into each respective insight engine and the insight engine may fetch the necessary components from the workspace 114 during operation thereof.
  • the workspaces 114 may include a plurality of workspaces 114, each for operating an individual insight engine of the plurality of insight engines.
  • a first anonymous function may create additional anonymous functions, each for processing a selected insight engine of the plurality of insight engines. Accordingly, a single request may operate all of the plurality of insight engines using the target context 112.
  • the first anonymous function or additional anonymous functions may form individual workspaces 114 for each insight engine 116.
  • the anonymous function may create a separate workspace 114 (e.g., processing space), such as a virtual secure compartmented information facility (“VSCIF’), for each individual insight engine 116 to operate in or on.
  • VSCIF virtual secure compartmented information facility
  • any personally identifiable data or other protected data present in the target context 112 may be at least temporarily retained within the service platform 110 in a location that is not accessible to third parties, such as developers, curators, or recommender developers.
  • the insight engine in a specific workspace 114 may only access data within the workspace, such that the insight engines work in an isolated environment within their respective workspaces 114.
  • the curators 150 may upload the reference data 118 to the service platform 110 via the network 170 an interface 151.
  • the reference data 118 includes one or more sets of data such as one or more lists, tables, libraries, databases, or the like.
  • the one or more sets of data in the reference data 118 may include actuarial tables, medical billing codes, laws, account balances, account histories, or any other information for answering queries, in electronic format.
  • the reference data 118 may include a costs list of certain items such as medical apparatuses, devices, services, or the like.
  • the reference data 118 may include a first data set including criteria for qualifying to receive a wheelchair under a coverage model and a second data set providing a cost list of various wheelchairs.
  • the reference data 118 may include a first data set including a list of (financial or health) risk factors and a second data set may include a correlation table listing (loan rates or insurance premium) rates associated with the risk factors.
  • the service platform 110 via APIs or user interface at the interface 151, may require the reference data 118 to be provided in a specific format, language, or labelling.
  • the reference data 118 may be in comma-separated values format, tab- delimited file format, extensible mark-up language format, rich text format, JSON format, or any other suitable data format.
  • Each data set of the reference data may be labelled or be required to be labelled in a selected manner, as indicated by a REST API or user interface, such that the insight engines 116 can locate and access the data set from among the reference data 118 as needed. If the data set is not in the required format, language, or labelling, the data may not pass beyond the interface 151. Accordingly, the curators 150 may curate reference data 118 without the need of viewing the insight engines which operate using the reference data 118. Each set of data in the reference data 118 may include information necessary to perform one or more queries of an insight engine. As noted above, the curator 150 may upload one or more data sets into the reference data 118 via a third party source such as Github or the like. Such upload may be carried out through an API at the interface 151.
  • a third party source such as Github or the like. Such upload may be carried out through an API at the interface 151.
  • Each data set of the reference data 118 may be individually uploaded to the service platform 110 by the curator 150 of the data set(s).
  • the curator 150 may upload one or more data sets into a reference data library of the service platform via interface 151 accessed through the network 170, such as via a webpage.
  • Each data set of the reference data 118 may be given a data identifier (e.g., upload number, identification number, etc.) upon upload into the service platform 110.
  • the service platform 110 may track the use of individual data sets of the reference data 118 by the data identifier.
  • Curators 150 may be paid for each instance that their reference data 118 is utilized, by the amount of their reference data 118 that is utilized (e.g., how many bytes are utilized), or the like.
  • the curator 150 may be a third party or may be the client 130.
  • the curator 150 may be the developer 140 or the client 130.
  • recommender developers 160 may provide recommendation engines 122 into the service platform 110.
  • each recommendation engine 122 may be individually uploaded to the service platform 110 by the recommender developer 160, such as via the network 170.
  • the service platform 110 via APIs or user interfaces at the interface 161, may require the recommendation engines 122 to be provided in a selected format (e.g., XML, JSON, YAML, etc.), selected programming language (e.g., JVM compliant languages such as Java or Scala, Python, Ruby, Golang, Node.js, .NET etc.), or the like.
  • the recommender developers 160 do not need to see the target context, reference data, or other components used to reach the insights in order to provide working recommendation engine.
  • the recommender developer 160 may upload one or more recommendation engines 122 into the service platform 110 via a third party source such as Github or the like. Such upload may be carried out through an API at the interface 161.
  • the recommendation engines 122 may be stored in repository of recommendation engines for later use. Each recommendation engine 122 may be given a recommendation engine identifier (e.g., upload number, identification number, etc.) upon upload into the service platform 110. The service platform 110 may track the use of individual recommendation engines 122 by the identifier. Recommender developers 160 may be paid based upon each instance that their recommendation engine 122 is utilized, by the amount of data that is utilized (e.g., how many bytes are utilized) by the recommendation engine 122, or the like.
  • a recommendation engine identifier e.g., upload number, identification number, etc.
  • the recommendation engines 122 rank the insights according to one or more criteria.
  • the recommender developer 160 may provide (e.g. , upload) a description of the criteria or intended output of the recommendation engine 122.
  • the requestor may select a recommendation engine 122 based on the description of the criteria or intended output of the recommendation engine, such as from a list of criteria of intended outputs of a plurality of recommendation engines.
  • the description may include a few words or sentences describing the criteria the recommendation engine operates by or the intended outputs of the recommendation engine.
  • the description may include how or what the recommendation engine ranks, how or what the recommendation engine examines, or the like.
  • Recommendation engines may rank the plurality of insights 120 produced from the plurality of insight engines 116 according to a selected criteria. For example, a first recommendation engine may rank the plurality of insights based on one or more of least data use to determine a selected insight, least computing power required to determine the selected insight, a fastest computing time for determining the selected insight, a publish date of an insight engine used to determine the selected insight, a code version of an insight engine used to determine the selected insight, an insight engine for determining the selected insight that most closely matches one or more criteria indicated by a requestor of the one or more insights, an insight that provides the least expensive option, an insight that provides a solution expected to be the most efficient or have the highest probability of success, or any other criteria.
  • FIG. 3 is a flow chart of a recommendation engine 300, according to an embodiment.
  • the recommendation engine 300 may rank the savings of the plurality of insights.
  • the recommendation engine 300 includes an initial block 310 which directs importation of the plurality of insights into the recommendation engine 300.
  • the block 310 may include importing computational data into the recommendation engine, such as data required to complete one or more portions (e.g., queries or calculations) of the recommendation engine. Such computational data may be provided as a data set in the reference data 118.
  • Block 320 queries the insights to determine if the insights include qualified subject matter. For example, block 320 may query the insights for qualified subject matter, such as outputs that relate to one or more criteria (e.g., key words) indicated by the recommendation engine or a value within a range of values indicated by the recommendation engine. If the criteria is present in the insight or the value of the insight is within a specified range, the block 320 may indicate that the insight is a qualified insight. [0049] Block 330 may query the qualified insights for associated savings. For example, the block 330 may determine the savings of the qualified insight (according to criteria and computational data) or locate the savings listed in the qualified insight. The block 330 may determine the savings by calculating the savings of an item or action indicated in the insight according to computational data (e.g., a data set of the reference data 118) in the recommendation engine imported therein from the reference data 118.
  • computational data e.g., a data set of the reference data 118
  • Block 340 may rank the insights according to the associated savings (determined at block 330). For example, the block 340 may include ranking the insights from a lowest to highest savings or a highest to lowest savings.
  • Block 350 may present a subset of the ranked qualified insights.
  • the subset may include only one insight.
  • block 350 may present the highest valued insight or the lowest valued insight, of the ranked qualified insights.
  • the subset may include a plurality of insights, such as the three most relevant insights, the three highest valued insights, or the five lowest valued insights.
  • Blocks 310-350 are provided as machine readable and executable instructions for carrying out the acts described above. Different recommendation engines may provide different recommendations based on different criteria than those disclosed above for the recommendation engine 300.
  • the requestor may select a recommendation engine from the plurality of recommendation engines, such as by viewing the descriptions and selecting the recommendation engine based on the description (clicking on a link or fillable field).
  • the requestor may select the recommendation engine upon submitting the insight request or upon receiving the plurality of insights.
  • the client 130 may select a recommendation engine via interface 132 of the service platform 110 via the network 170.
  • the interface 132 may include one or more APIs or user interfaces for selecting a recommendation engine 122 according to a description thereof.
  • the client 130 may select a REST service endpoint directly from an API or indirectly via a user interface.
  • the recommendation engines 122 By providing the recommendation engines 122, only relevant insights, or the most relevant insight, of the plurality of insights 120 may be presented to the requestor. Accordingly, all of the insight engines 116 are ran responsive to a request, but only the recommended insight(s) 124 may be presented to a client 130 in real time. By determining and providing only the most relevant insight(s), the service platform 110 may provide any one of a number of insights as the recommended insight 124, based on a single request, without the selecting which insight engines 116 are ran by the service platform 110. As discussed in more detail below, the plurality of insights may be available to the client 130 for batch processing using a different recommendation engine than originally used.
  • the service platform 110 may output at least the highest ranked (e.g., most relevant) insight, as the recommended insight, to the client 130.
  • the recommended insight 124 may be provided to the requestor (e.g., client 130) via the network 170.
  • the client 130 may access a user interface of the service platform 110 via the network 170 to receive the recommended insight 124.
  • the service platform 110 may store the transaction ID and all data associated therewith, such as the target context (e.g., context ID), the insight engines (e.g., engine ID), the reference data (e.g., selected data set therefrom as data ID), recommendation engine (e.g., recommendation engine ID), insights (e.g. , insight ID), recommended insight (e.g.
  • the client 130 may enter the transaction ID into the user interface to receive the recommended insight 124.
  • the client may access the recommended insight 124 via a REST endpoint provided by the service platform, such as upon making a recommendation engine selection.
  • the recommended insights may be automatically communicated to requestor (or another entity) via an API.
  • the plurality of insights generated responsive to a request may be stored in the service platform 110 for later use.
  • the client 130 may enter the transaction ID to access the plurality of insights associated with the request corresponding to the transaction ID.
  • a client 130 may view a ranking of some or all of the insights according to one or more recommended insight engines.
  • the plurality of insights may be utilized in batch processing to provide different recommended insights.
  • the client 130 may select a different recommendation engine 122 to ran on the plurality of insights 120 to receive different recommended insights 124 from the service platform 110 based on the same target context 112, reference data 118, and insight engines 116 as the originally returned recommended insight 124.
  • the new recommendation engine selection may trigger the service platform 110 to assign a new transaction ID for the components used in and produced by the new request.
  • Such functionality allows the service platform 110 and clients 130 to iteratively utilize insights to provide different recommended insights based on different criteria.
  • the versatility of the service platform 110 is not possible without the once through, run-all or run-many format of the insight engines in service platform 110 to produce the plurality of insights.
  • Such batch production and storage of the plurality of insights may also reduce the computational burden on the service platform (e.g., computing device(s) hosting the service platform) when a client later wishes to utilize the target context underlying the plurality of insights in a different way, by eliminating the need to rerun an insight engine or engines to determine a new recommended insight.
  • the service platform e.g., computing device(s) hosting the service platform
  • the service platform 110 may apply various recommendation engines against the plurality of insights to produce new recommended insights.
  • the service platform 110 may inform the client of the new recommended insights, such as via an offer to purchase the recommended insights.
  • the service platform 110 may be stored on one or more computing devices (e.g. , servers) and may include multiple repositories for storing information, such as for a target context 112, insight engines 116, reference data 118, anonymous functions, workspaces 114, insights 120, recommendation engines 122, and recommended insights 124.
  • a target context 112 insight engines 116, reference data 118, anonymous functions, workspaces 114, insights 120, recommendation engines 122, and recommended insights 124.
  • the machine readable and executable instructions may include instructions to process the target context 112 with a plurality of insight engines 116 to provide a plurality of insights 120 utilizing selected data sets from the reference data 118, rank the plurality of insights 120 with a recommendation engine 122, and output at least the highest ranked insight to the client 130 as a recommended insight 124.
  • the service platform 110 may include a secure space for client information storage, such as a secure data warehouse 135.
  • the secure data warehouse 135 may only be accessible to the service platform 110 and the client 130.
  • each of the client’s interactions with the service platform 110 may be stored in the secure data warehouse 135.
  • the request, target context 112, the recommendation engine selection, and recommended insight 124 may be stored in the data warehouse 135.
  • the target contexts stored in the secure data warehouse 135 may be updated prior to processing a new insight request.
  • the data warehouse 135 may be stored on one or more computing devices (e.g., servers), such as the same computing device(s) as the service platform 110.
  • the data warehouse 135 may store proprietary reference data 118, target contexts 112, insight engines 116, recommendation engines 122, or the like. In such examples, only the client 130 may access and use the proprietary reference data 118, target contexts 112, insight engines 116, recommendation engines 122, or the like stored in the data warehouse 135 to generate insights 120 and recommended insights 124.
  • the client 130 may limit the processes for determining the insights and recommended insights to at least some of the components stored in the data warehouse 135. For example, client 130 may save data indicating one or more preferred insight engines and one or more recommendation engine selections, to be used for later requests submitted by the client 130, in the secure data warehouse 135.
  • FIG. 4 is a schematic of a configuration 400 for producing a recommended insight, according to an embodiment.
  • the configuration 400 may be implemented as a method using hardware, software, firmware, or a cloud-based service as provided by a system (e.g., computer system, server(s), network, cloud computing system, etc.).
  • the configuration 400 includes a client computing device 402 and the service platform 410.
  • the service platform 410 may be similar or identical to the service platform 110 in one or more aspects.
  • the client computing device 402 may interface with the service platform 410 via one or more interfaces 404a-404c of the service platform 410.
  • the interfaces 404a- 404c of the service platform 410 may include one or more of user interfaces or APIs, such as REST API endpoints.
  • the client computing device 402 may access the service platform 410 via the network 170 (e.g., internet web page(s)).
  • the service platform 410 may receive, from a requestor at the client computing device 402, a request for one or more insights.
  • the request may be based on a target context, one or more sets of data (e.g. , reference data), and a plurality of insight engines that are stored in the service platform 410.
  • a client may access the service platform 410 via an initial interface 404a to request an insight, input or indicate a target context, provide an insight engine, provide a recommendation engine, select a recommendation engine, or provide reference data.
  • interface 404a may include a webpage that allows the client to input a request for an insight and to indicate target data.
  • the requestor may request an insight based on a specific target context.
  • the requestor may provide, select, or identify the target context upon which the insight engines will work.
  • the requestor may upload the target context, identify the target context from data uploaded to the service platform or already present in a secure data warehouse in the service platform, or select individual target context from a plurality of target contexts.
  • the target context may include protected information such as personally identifiable data, personal health information, or the like, such that it is not desirable or legal to expose the target context to third party entities.
  • the target context may include one or more of a medical history, a medical status, a personal address, a social security number, a prescription history, an insurance payout history, an insurance claim history, a financial history, an account history, payment history, or the like relating to one or more individuals or entities.
  • the requestor may identify or select a specific subset of data, from a database of the above-noted data, to be used as the target context.
  • the requestor or the service platform 410 may assign a time-out duration for maintaining data associated with the request, the insights, or the recommended insight(s) in high speed storage. After the time-out duration, the service platform 410 may remove the data from the high speed storage and may only maintain the data in reporting databases or low speed storage.
  • the service platform 410 may label one or more of the target context, the selected data set(s), the insight engines, the insights produced therefrom, the selected recommendation engine, the recommended insight(s) identified thereby, with one or more of a customer identification number, a transaction identification number, or an insight identification number. For example, upon identification of the target context and submission of the request, the service platform 410 may label one or more of the target context and the request with one or more identification numbers, such as a customer identification number, a transaction identification number, or an insight identification number. The identification number(s) may be utilized throughout the service platform 410 in determining the recommended insight(s) with the target context responsive to the request.
  • each part of the process of producing the recommended insight with the service platform 410 may be identified, tracked, and stored for later use.
  • the requestor may assign an identification number to the request or the target context, such as a number associated with the protected information therein (e.g., a patient or policy holder identification number).
  • an anonymous function forms a separate workspace for each insight engine 116 of a plurality of insight engines stored at block 416 (e.g., memory of a server or cloud computing system).
  • the anonymous functions in the service platform 410 may include generic machine readable and executable instructions to perform one or more functions.
  • the anonymous functions in the service platform 410 may include one or more of any of the programming languages or formats disclosed herein (e.g. , Java, Scala, Python, etc.).
  • the anonymous functions in the service platform 410 may include lambda functions, lambda expressions, lambda abstractions, blocks, Closures, or the like.
  • the anonymous functions may include Amazon Web Services (AWS) Lambda functions and the service platform 410 may be implemented as a cloud based platform via AWS or the like.
  • AWS Amazon Web Services
  • the target context at 412 may be locked to prevent changes thereto.
  • the target context 412 may be unlocked later. For example, locking the target context may prevent changes thereto until after the target context is unlocked, such as until after producing a plurality of insights and outputting at least a highest ranked insight are completed.
  • the anonymous function 415 may create a workspace for every insight engine stored in the repository of insight engines at block 416. Accordingly, all of the insight engines may be run responsive to a single request, no matter whether the insight engine is programmed to provide the intended insight or not.
  • the anonymous function at block 415 may include machine readable and executable instructions to import each of the insight engines 116 from the repository of insight engines at block 416 into an individual workspace 42 la-42 In.
  • the anonymous function at block 415 may include machine readable and executable instructions to import the target context 412 into each workspace.
  • the individual workspaces 421a-421n may be VSCIFs. In such examples, the target context, reference data, and insight engines may be protected from viewing by a third party entity.
  • the anonymous function at block 415 may include machine readable and executable instructions to provide at least one additional anonymous function 419 (e.g., process request anonymous function) for each workspace 421a-421n.
  • each workspace 421a-421n may include additional anonymous function 419 which populates the workspace with the insight engine, target context 412, and reference data to determine the insight with the respective insight engine.
  • the workspace or functions therein may operate the respective insight engine therein using the target context 412 and reference data.
  • the anonymous function at block 419 may include machine readable and executable instructions to find the reference data or subset thereof called by the insight engine in the respective workspace.
  • the anonymous function at block 419 may include a retrieval command which retrieves a selected data set from the one or more sets of data in the reference data 418.
  • the reference data 418 may be similar or identical to the reference data 118.
  • the reference data 418 may include one or more sets of data 118a-118n.
  • Various insight engines may call up different sets of data (e.g., selected data sets) to perform the functions therein.
  • the anonymous function 419 may fetch the selected data set(s) from the one or more sets of data 118a-118n in the reference data 418. Accordingly, each workspace 421a-421n has all of the components (e.g., insight engine, target context, selected data set(s)) necessary to reach an insight utilizing the respective insight engine therein.
  • the anonymous function in each workspace Upon running the insight engine to determine the insights 120, the anonymous function in each workspace outputs the respective insight therefrom to a repository of insights at block 426. Accordingly, the service platform 410 produces the plurality of insights 120 with the target context, selected data set(s) of the one or more sets of data, and the plurality of insight engines.
  • the insights 120 may be stored in the service platform 410 such as at one or more of block 426 or block 430.
  • Information associated with the production of the insights 120 may be stored with the insights 120.
  • the insight engine used to reach a particular insight or the amount of data processed using the insight engine may be stored with the corresponding insight 120.
  • the amount of a specific data set or sets of reference data processed to reach a particular insight may be stored with the insight 120.
  • Such data may be used to charge the requestor or pay the developers and/or curators for the operations performed responsive to the request.
  • the specific sets of data from the reference data that are used to perform operations in the insight engines may be tracked and stored at block 432. Such data may be used to charge the requestor or pay the curators for the data sets used to reach an insight.
  • the insights 120 in block 426 may be utilized to determine at least one recommended insight 124.
  • a selected recommendation engine from a plurality of recommendation engines may be used to rank the insights according to selected criteria.
  • the requestor may select a specific recommendation engine from the plurality of recommendation engines based on a desired outcome or area of interest.
  • the requestor may select the specific recommendation engine from a list of recommendation engines, such as at the time of making the request for an insight.
  • the requestor selects a specific recommendation engine after submitting the request for an insight, such as after the insight engines provide the plurality of insights.
  • Such later selection may be responsive to a prompt, such as via a user interface or API at interface 404a or 404b.
  • the recommendation selection may be communicated to service platform 410 via the interface 404b which is relayed to the anonymous function 440 via a selection command at block 438.
  • the service platform 410 may output a list of recommendation engines to the requestor (e.g., client) via the interface 404a or 404b.
  • the list of recommendation engines may be presented as or with a description of the outputs or criteria of the respective recommendation engines to allow the requestor to understand and select the selected recommendation engine.
  • the list may be output to (e.g., displayed on) the client computing device 402 via the interface 404a or 404b and the network 170.
  • the list of recommendation engines may be output (e.g., presented) as a list of criteria or intended outputs of the respective recommendation engines and may include a selectable icon, checkbox, link, etc. to allow the requestor to select the a specific recommendation engine from the list.
  • the requestor may select a specific recommendation engine via a REST service, accessible at interface 404b (e.g., user interface and/or API), such as via a REST service endpoint presented on a user interface.
  • the requestor may have a recommender selection pre-stored in the service platform 410.
  • the requestor may provide an indication of the criteria which the requestor wishes the recommendation engine to operate by, and the service platform may match the indication with one of the descriptions provided by the recommendation engine developers.
  • the indication may be provided by the client via an API or user interface.
  • the recommendation engines may rank the plurality of insights based on one or more of least expensive insight to implement, statistically most effective insight to implement, insight with the highest probability of success, least data use to determine an insight, least computing power required to determine the insight, a fastest computing time for determining the insight, a publish date of an insight engine used to determine the insight, a code version of an insight engine used to determine the insight, an insight engine for determining the selected insight that most closely matches one or more criteria indicated by a requestor of the one or more insights, or any other criteria.
  • the service platform 410 receives the recommendation selection from the requestor, such as via interface 404a and 404b. Responsive to receiving the recommendation selection, the anonymous function at block 440 may import the selected recommendation engine from a repository of recommendation engines 422. The selected recommendation engine may be retrieved from the repository of recommendation engines 422 by the anonymous function 440 using the recommendation engine identifier corresponding to the selected recommendation engine.
  • the anonymous function 440 may create a workspace (e.g., VSCIF) for each insight 120 and import an insight 120 and the selected recommendation engine into each workspace.
  • the anonymous function 440 may create workspaces 443a-443n and import respective insights 120 and the selected recommendation engine thereto.
  • the workspaces 443a-443n may include an additional anonymous function therein for executing the selected recommendation function.
  • the anonymous function 440 may also identify and retrieve any reference data necessary (from the repository of reference data 418) to execute the selected recommendation engine.
  • the workspaces 443a-443n may be protected from any third party access. Accordingly, the insights 120, any protected information therein, and the recommended insight(s) may be protected from disclosure to third party entities, such as the developers or curators.
  • the selected recommendation engine(s) rank the plurality of insights according the criteria in the selected recommendation engine.
  • the selected recommendation engine in each workspace 443a-443n may score the respective insight therein according to one or more criteria specified in the machine readable and executable instructions of the selected recommendation engine.
  • a highest scoring insight may be determined to be the recommended insight.
  • a “highest score” may relate to an insight with a lowest cost, an insight with a highest expected success rate, an insight with an expected highest profit, an insight which most closely matches a selected value or characteristic, or an insight which meets some other criteria set forth in the selected recommendation engine.
  • the selected recommendation engine ranks the plurality of insights according to criteria that relates back to the description of the recommendation engine that was presented to the requestor.
  • the selected recommendation engine may be imported into a single workspace and the plurality of insights may be imported into the workspace.
  • the selected recommendation engine may iteratively score or rank the plurality of insights in the workspace.
  • the selected recommendation engine may include machine readable and executable instructions to select a highest score (e.g., highest or lowest cost), a closest match, or the like, as the recommended insight 124.
  • the selected recommendation engine may be programmed to output a plurality of highest ranked insights, such as a top three (e.g., highest values or lowest values) insights, a number of insights above (or below) a threshold value, or the like.
  • the recommended insight 124 (e.g., highest ranked insight) may be output to the requestor via the interface 404a or 404b.
  • the service platform 410 may output the recommended insight 124 to the client computing device 402 via the network 170 and the interface 404b (e.g., user interface and/or REST API endpoint).
  • the requestor may access the interface 404b to view or download the recommended insight 124 by providing an authentication code to block 446.
  • the requestor may provide the transaction ID number, the customer ID number, or the like, via the interface 404b, which provides authentication at block 446.
  • the service platform 410 may output the recommended insight (e.g., highest ranked insight) to the client computing device 402 via the interface 404b (or 404a) and the network 170.
  • the requestor may receive the recommended insight via a REST API endpoint of the interface 404b automatically upon determining the recommended insight.
  • the endpoint may be provided to the client at the time of request, such that only the client may view or download the recommended insight.
  • the service platform progresses to anonymous function 450 which instructs the service platform to unlock the target context 412 at block 418 and to update the target context 412 with the recommended insight.
  • the recommended insight may be inferred as an action taken (e.g., approve medical claim, pay claim at selected amount) by the requestor, and may be added to the target context (e.g., update claims record and/or medical history) as having been taken by the requestor.
  • the service platform 410 may update the target context 412 to include the recommended insight.
  • the updated target context may be backed up (e.g., saved) based on the assumption that the recommended insight is implemented by the requestor.
  • the updated target context may be provided with a version identification number to differentiate between the original target context and the updated target context.
  • the target context 412 may be updated prior to running the insight engines, such as responsive to new target context data provided by the client.
  • the recommended insight, the target context, insight engines, reference data, and all other data used to determine the recommended insight, including any identification numbers and versions thereof may be stored in the service platform, under the transaction ID number or client ID number for later retrieval or reference. Such stored data may be placed in long term or low speed storage.
  • the service platform may identify and track one or more of an amount of data processed through the plurality of insight engines, an amount of data processed through a selected insight engine of the plurality of insight engines, a number of times a selected insight engine of the plurality of insight engines operates on a selected data set, which recommendation engine is the selected recommendation engine, an amount of data processed through the selected recommendation engine, the number of times or the amount of data from a selected data set is used, the compute time of the request from input to output, or the like.
  • the data corresponding to the use of the plurality of insight engines may be stored and at block 432 the data corresponding to the use of the reference data 418 (e.g., number of times or amount of data used) may be stored.
  • the data corresponding to the selected recommendation engine e.g., which recommendation engine is used, the amount of data processed with the recommendation engine, or the like
  • One or more anonymous functions at block 460 may include machine readable and executable instructions to calculate the amount of money due, from the requestor, for the use of the insight engines, reference data, and recommendation engines in determining and providing the recommended insight(s).
  • the one or more anonymous functions may also calculate the amount of money to be payed to the developers of the insight engines, the curators of the reference data, and/or the recommendation engine developers for the use of the components in fulfilling the request.
  • the insight engine developer may be paid based on the amount of data processed through their insight engine and the curator may be paid based upon the amount of their curated data that is used in fulfilling the request for a recommended insight.
  • the recommendation engine developer’s payment may be calculated on the number of times their recommendation engine is selected or used. Any type of rationale may be used to calculate the payment, such as per use, per data amount, per unit time, or the like.
  • the calculated amount(s) may be determined and input into communications 464 for sending to the respective parties.
  • the communications 464 may include an invoice or account status.
  • the communications 464 may be accessible via the interface 404c.
  • the developer of the insight engine may have a developer identification number that may be used as authorization at block 466 to access the communication 464 at the interface 404c.
  • the requestor may enter the transaction ID or client ID as authorization to block 466 via the interface 404c (e.g., user interface and/or REST API endpoint) to view and/or pay the amount they owe for fulfilling the request.
  • Interfaces 404a-404c may be displayed or accessed on the same computing device, such as client computing device 402. In some examples, one or more of the interface 404a-404c may be displayed on different computing devices. For example, the interface 404a-404c may be displayed on the client computing device 402 of the requestor, while a developer or curator may only access interface 404c. Developers and curators can access the service platform 410 to check invoicing information, receiving payments, or the like through interfaces (e.g., 404c) specifically configured for such tasks.
  • interfaces e.g., 404c
  • the service platform 410 may include additional interfaces for uploading insight engines, reference data, or recommendation engines. Developers of insight engines and recommendation engines, as well as curators can access the service platform 410 to upload insight engines, reference data, and recommendation engines through user interfaces or APIs (not shown) specifically configured for such tasks.
  • the service platform 410 provides a number of benefits, such as the ability to process protected information (e.g. , protected health information, personally identifiable information, account information, or the like) without allowing access to such information to the developers of the insight engines, reference data, and recommendation engines.
  • the service platform 410 allows the service platform provider, the developers, the curators, and the recommendation engine developers to reduce legal exposure and costs.
  • the service platform 410 can accept insight engines, reference data, and recommendation engines from any source, so long as said components satisfy system requirements such as code language and format. Additionally, due to the low costs of cloud based data processing, the service platform can operate on a “run-aH” concept where all of the insight engines run for a single request and the insights therefrom may be further refined to recommended insights using recommendation engines. Such operation may be less costly and more time efficient than selecting specific insight engines and setting up operations for only the specific insight engines.
  • the run-all concept enables clients to see which insight engines are generating insights before paying to see what those insights might be. Additionally, the run-all concept allows for producing insights to any myriad of problems or questions based on the single request. In some examples, one or more recommendation engines may be run in sequence to provide different recommended insights based on the same batch of insights.
  • One or more portions of the service platform 410 may be implemented as software, hardware, firmware, or a cloud-based service as provided by a system (e.g., computer system, server(s), network, etc.).
  • the service platform 410 or portions thereof may be implemented by a processor or virtual processor as portions of a computer readable and executable program stored in a cloud based computing network.
  • the service platform 410 may be utilized for determining one or more (recommended) insights, providing a platform for developers and curators to provide tools for determining insights, or for obtaining one or more insights.
  • FIG. 5 is a flow diagram of a method 500 for determining one or more insights with a service platform, according to an embodiment.
  • the method 500 includes block 510 of receiving, from a requestor at a client computing device, a request for one or more insights based on a target context, one or more sets of data, and a plurality of insight engines stored in the service platform; block 520 of producing a plurality of insights with the target context, a selected data set of the one or more sets of data, and the plurality of insight engines; block 530 outputting a list of recommendation engines to the client computing device; block 540 of receiving a recommendation engine selection from the requestor; block 550 of ranking the plurality of insights according to a selected recommendation engine corresponding to the recommendation engine selection; and block 560 of outputting at least a highest ranked insight of the plurality of insights to the client computing device.
  • At least some of the acts at blocks 510-560 may be performed in a different order than presented, may be omitted, may be combined, or may have additional acts performed therebetween.
  • block 530 of outputting a list of recommendation engines to the client computing device may be omitted.
  • Block 510 of receiving, from a requestor at a client computing device, a request for one or more insights based on a target context, one or more sets of data, and a plurality of insight engines stored in the service platform may include receiving a request from a first computing device.
  • the request may be entered by a person via an interface over a network as disclosed herein.
  • the request may be submitted to a service platform such as any of the service platforms disclosed herein.
  • the service platform is a cloud based service platform stored on one or more servers.
  • the requestor Upon entering the request, the requestor (e.g., client) may identify or provide the target context.
  • the target context may include any of the target contexts disclosed herein, such as one or more of a medical history, a claims history, an account history, a date of request, a payment history, a criminal history, or the like.
  • the target context may include protected information, such as personally identifiable information or protected health information of one or more individuals.
  • the target context may include a subset of a data set provided by the requestor or previously stored in the service platform. For example, the requestor may identify a specific policy holder from a plurality of policy holders’ claims in an upload of claims requests submitted for insights.
  • the requestor Upon entering the request, the requestor (e.g., client) may identify or provide the reference data for use in performing one or more functions in the plurality of insight engines. For example, the requestor may upload reference data indicating a claims policy, claims pay schedule, or the like for use in determining the insights. In some examples, the requestor may upload an insight engine for determining insights with the request.
  • Block 520 of producing a plurality of insights with the target context, a selected data set of the one or more sets of data, and the plurality of insight engines may be carried out by the service platform, such as any of the service platforms disclosed herein.
  • Producing the plurality of insights may include running all of the insight engines in the service platform using the target context, one or more selected data sets of one or more sets of data (e.g., reference data) stored in the service platform.
  • Producing the plurality of insights with the target context, the selected data set, and the plurality of insight engines may include processing the target context and the selected data set(s) with the plurality of insight engines to produce the plurality of insights.
  • the plurality of insights are produced.
  • Producing the plurality of insights with the target context, the selected data set, and the plurality of insight engines may include making a separate workspace for each insight engine, such as to execute each insight engine in a separate workspace.
  • each of the plurality of insight engines, the target context, and the selected data may be imported into a respective workspace (e.g., VSCIF) in the service platform, such as via directions from one or more anonymous functions, for processing the target context and the selected data set with a specific insight engine of the plurality of insight engines, to produce the plurality of insights.
  • Block 530 of outputting a list of recommendation engines to the client computing device may be carried out by the service platform, such as any of the service platforms disclosed herein.
  • the service platform may output a list of recommendation engines or descriptions thereof to the requestor via an interface such as one or more of a user interface, API, and the network (e.g., world wide web, intranet, etc.).
  • Outputting the list of recommendation engines to the client computing device may include providing a listing of recommendation engines with corresponding descriptions of one or more of intended outputs or criteria on which the respective recommendation engines operate.
  • Outputting the list of recommendation engines to the client computing device may be carried out substantially simultaneously or contemporaneously with presenting the interface (e.g., user interface or API) for forming the request or receiving the request.
  • Outputting the list of recommendation engines to the client computing device may be carried out after the plurality of insight engines produce the plurality of insights.
  • Outputting the list of recommendation engines to the client computing device may include presenting the list of recommendation engines in a user interface or API for providing the recommendation engine selection.
  • Block 540 of receiving a recommendation engine selection from the requestor may be carried out by the service platform, such as any of the service platforms disclosed herein. Receiving the recommendation engine selection may be carried out substantially simultaneously or contemporaneously with receiving the request for one or more insights. Receiving the recommendation engine selection may include receiving input from the interface displaying the list of recommendation engines, such as a selection of a link or filling a checkbox in the interface. In some examples, selection of a recommendation engine may be carried out using a REST endpoint, such as a link provided or displayed to the client.
  • Block 550 of ranking the plurality of insights according to a selected recommendation engine corresponding to the recommendation engine selection may be carried out by the service platform such as any of the service platforms disclosed herein.
  • Ranking the plurality of insights according to a selected recommendation engine corresponding to the recommendation engine selection may include forming one or more workspaces (e.g. , VSCIFs) in the service platform for ranking the plurality of insights using the selected recommendation engine.
  • ranking the plurality of insights according to a selected recommendation engine corresponding to the recommendation engine selection may include importing the selected recommendation engine into one or more VSCIFs in the service platform and the plurality of insights are imported into the one or more VSCIFs for ranking the plurality of insights.
  • an anonymous function may form the one or more workspaces and execute the selected recommendation engine therein.
  • the criteria in the recommendation engine may include any of the criteria disclosed herein.
  • ranking the plurality of insights according to criteria identified in a selected recommendation engine corresponding to the recommendation engine selection includes ranking the plurality of insights according to one or more of a least expensive insight, a most expensive insight, an insight calculated or expected to be a most effective insight, an insight expected to provide a shortest conclusion (e.g., shortest healing time), least data use to determine a selected insight, least computing power required to determine the selected insight, a fastest computing time for determining the selected insight, a publish date of an insight engine used to determine the selected insight, a code version of an insight engine used to determine the selected insight, an insight engine for determining the selected insight that most closely matches one or more criteria indicated by a requestor of the one or more insights, or the like.
  • Block 560 of outputting at least a highest ranked insight of the plurality of insights to the client computing device may include outputting the highest ranked insight(s) as a recommended insight(s).
  • Outputting at least a highest ranked insight of the plurality of insights to the client computing device may include outputting the highest ranked insight from the service platform, such as any of the service platforms disclosed herein.
  • Outputting at least a highest ranked insight of the plurality of insights to the client computing device includes presenting a plurality of highest ranked insights to the requestor via the client computing device.
  • Outputting at least a highest ranked insight of the plurality of insights to the client computing device may include outputting the highest ranked insight(s) to the client computing device via an interface via the network.
  • Outputting at least a highest ranked insight of the plurality of insights to the client computing device may include outputting the highest ranked insight(s) to a client computing device of an individual or entity other than the requestor.
  • a first entity e.g., policy holder
  • a second entity e.g., insurance company
  • Outputting at least a highest ranked insight of the plurality of insights to the client computing device may be carried out responsive to receiving an authentication, such as a transaction ID number, client ID number, or authentication ID associated therewith.
  • the method 500 may include locking the target context to prevent changes thereto until after producing a plurality of insights and outputting at least a highest ranked insight are completed.
  • the method 500 may include unlocking the target context, after producing the recommended insight (e. g. , highest ranked insight), such as responsive to outputting at least a highest ranked insight of the plurality of insights.
  • the method 500 may include receiving, from the client computing device, the target context, an indication of the (e.g., bounds of the) target context, or at least some of the target context.
  • the requestor may define or upload the target context from the client computing device.
  • the method 500 may include receiving, from a third party curator, at least some of the one or more sets of data (e.g., reference data).
  • a third party curator may upload reference data into the service platform for use by insight engines or recommendation engines.
  • the third party curator may interface with the service platform via an interface for uploading reference data.
  • the requestor may upload reference data through the interface.
  • the interface may include an API or user interface.
  • the curator may upload their reference data to a source control such as GitHub or the like, which then interfaces with the service platform via one or more APIs to upload the reference data.
  • the method 500 may include receiving and storing one or more insight engines from one or more developers in the service platform.
  • the developers may interface with and upload insight engines to the service platform through an interface over the network (e.g., world wide web).
  • the interface may include an API or user interface.
  • the developer may upload their insight engine(s) to a source control such as GitHub or the like, which then interfaces with the service platform via one or more APIs to upload the insight engine(s).
  • the method 500 may include receiving and storing one or more recommendation engines from one or more recommender developers in the service platform.
  • the developers may interface with and upload recommendation engines to the service platform through an interface over the network (e.g., world wide web).
  • the interface may include an API or user interface.
  • the recommender developer may upload their recommendation engine(s) to a source control such as GitHub or the like, which then interfaces with the service platform via one or more APIs to upload the recommendation engine(s).
  • the one or more sets of data may be received from third party curators, the plurality of insight engines may be received from third party developers, and the recommendation engines may be received from third party recommender developers.
  • One or more of the reference data, the insight engines, or recommendation engines may be received from the a source other than the developer, curator, or recommender developer, such as via a source control as disclosed above.
  • one or more of the reference data, the insight engines, or recommendation engines may be received from the requestor. At least some of the one or more sets of data, the plurality of insight engines, and the recommendation engines are stored in the service platform prior to use.
  • the method 500 may include tracking one or more of an amount of data processed through the plurality of insight engines, an amount of data processed through a selected insight engine of the plurality of insight engines, a number of times a selected insight engine of the plurality of insight engines operates on a selected data set, which recommendation engine is the selected recommendation engine, or an amount of data processed through the selected recommendation engine. Such tracking may be accomplished via associating a transaction ID, client ID, or another identifier to the insight engines, recommendation engines, and reference data used in producing the recommended insight.
  • the method 500 may include calculating a charge for the one or more of an amount of data processed through the plurality of insight engines, an amount of data processed through a selected insight engine of the plurality of insight engines, a number of times a selected insight engine of the plurality of insight engines operates on a selected data set, which recommendation engine is the selected recommendation engine, an amount of data processed through the selected recommendation engine, or other criteria.
  • the method 500 may include calculating a payment (to the developer and/or curator) for the one or more of an amount of data processed through the plurality of insight engines, an amount of data processed through a selected insight engine of the plurality of insight engines, a number of times a selected insight engine of the plurality of insight engines operates on a selected data set, which recommendation engine is the selected recommendation engine, an amount of data processed through the selected recommendation engine, or other criteria.
  • the target context is not accessible to any entity outside of the service platform. Accordingly, the method 500 provides recommended insights based on target contexts — which may include protected information — without exposing the target context to any entity outside of the service platform, without requiring the requestor to write their own insight engines and recommendation engines. Accordingly, any party may utilize the method 500 to receive recommended insights without incurring the expense of building their own platform for determining insights.
  • target contexts which may include protected information — without exposing the target context to any entity outside of the service platform, without requiring the requestor to write their own insight engines and recommendation engines. Accordingly, any party may utilize the method 500 to receive recommended insights without incurring the expense of building their own platform for determining insights.
  • any of the acts, functions, or techniques of the method 500 may be performed by one or more computing functions on the service platform 110 (FIG. 1) or 410 (FIG. 4). For example, one or more of producing a plurality of insights with the target context, the selected data set, and the plurality of insight engines; ranking the plurality of insights according to criteria identified in a selected recommendation engine corresponding to the recommendation engine selection; or outputting at least a highest ranked insight of the plurality of insights to the client computing device are performed by one or more computing functions on the service platform. Any of the acts, functions, or techniques disclosed herein with respect to service platforms 110 or 410 may be included in the method 500.
  • the method 500 describes a method for determining one or more insights, largely from a service platform provider perspective, the service platforms herein may be used by a consumer or client for obtaining one or more insights therefrom.
  • FIG. 6 is a flow diagram of a method 600 of obtaining one or more insights from a service platform, according to an embodiment.
  • the method 600 includes block 610 of inputting, from a client computing device, a request for one or more insights based on a target context, one or more sets of data, and plurality of insight engines stored in the service platform; block 620 of assigning the target context in the service platform; block 630 causing the service platform to produce a plurality of insights with the target context, a selected data set from the one or more sets of data, and the plurality of insight engines; block 640 of selecting at least one recommendation engine from a plurality of recommendation engines, wherein the recommendation engines rank the plurality of insights according to selected criteria; and block 650 of collecting at least one recommended insight of the plurality of insights from the at least one recommendation engine, with the client computing device.
  • block 610-650 may be performed in a different order than presented, may be omitted, may be combined, or may have additional acts performed therebetween.
  • one or more of blocks 610, 620, 630, or 640 may be combined or performed substantially simultaneously or contemporaneously.
  • Block 610 of inputting, from a client computing device, a request for one or more insights based on a target context, one or more sets of data, and plurality of insight engines stored in the service platform may include inputting the request into the service platform, such as any of the service platforms disclosed herein.
  • Inputting the request may include inputting the request into an interface of the service platform via a network.
  • inputting the request may include inputting one or more requests into a REST API of the service platform via the network, such as from a server-to-server data upload.
  • the REST API may require the request to be submitted in a specific format or language from the client computing device(s).
  • inputting the request may include inputting the request into an interface of the service platform displayed on the client computing device via the network.
  • Inputting the request may include selecting an option to initiate operation of the service platform to perform the operations disclosed herein of the service platforms.
  • the one or more sets of data may be received from third party curators, the plurality of insight engines may be received from third party developers, and the recommendation engines may be received from third party recommender developers as disclosed herein.
  • the requestor may provide one or more of the reference data (e.g., one or more sets of data), insight engine(s), or recommendation engine(s) as disclosed herein.
  • Block 620 of assigning the target context in the service platform may be carried out by the requestor via the client computing device.
  • the target context may include any of the target contexts disclosed herein such as one or more of a medical history, a financial history, an insurance claim history, an account history, a criminal history, or the like.
  • Assigning the target context in the service platform may include uploading the target context or defining the target context as disclosed herein.
  • assigning the target context in the service platform may include inputting the target context into the service platform via an interface of the service platform.
  • Assigning the target context may include assigning the target context via one or more of a user interface or REST API.
  • Assigning the target context in the service platform may include specifying a target context from among one or more data sets stored in the service platform, as disclosed herein.
  • the requestor may assign the target context as a subset of a larger data set.
  • the requestor may assign the target context for an individual member of a health plan, a specific physician, or specific physician group provided to or stored in the service platform as contexts (e.g. , histories and characteristics) for a group of members of the health plan, group of physicians, or groups of physicians.
  • Block 630 of causing the service platform to produce a plurality of insights with the target context, a selected data set from the one or more sets of data, and the plurality of insight engines may include providing instructions to produce the plurality of insights, such as via a connection to the client computing device via a network.
  • causing the service platform to produce a plurality of insights with the selected data set and the plurality of insight engines may include executing a command to produce the plurality of insights via an interface of the service platform, such an a REST API or user interface.
  • Block 640 of selecting at least one recommendation engine from a plurality of recommendation engines, wherein the recommendation engines rank the plurality of insights according to selected criteria may be carried out on the client computing device.
  • selecting at least one recommendation engine from a plurality of recommendation engines may include entering a recommendation engine selection into an interface (e.g. , user interface or REST API) of the service platform. The interface may be communicated to the client computing device over the network.
  • selecting at least one recommendation engine may include selecting the recommendation engine based on a description of the recommendation engine in a list of recommendation engines or description thereof.
  • Selecting at least one recommendation engine may include selecting a description (e.g., an output description) associated with the at least one recommendation engine, and wherein the output description describes an output of the recommendation engine or a criteria by which the recommendation engine operates. Selecting at least one recommendation engine may include selecting a link (e.g., link to a REST API) in the interface or filling a checkbox for the selected recommendation engine in the interface displayed on the client computing device via the network.
  • a description e.g., an output description
  • the output description describes an output of the recommendation engine or a criteria by which the recommendation engine operates.
  • Selecting at least one recommendation engine may include selecting a link (e.g., link to a REST API) in the interface or filling a checkbox for the selected recommendation engine in the interface displayed on the client computing device via the network.
  • Block 650 of collecting at least one recommended insight of the plurality of insights from the at least one recommendation engine, with the client computing device may include accessing the service platform to receive the recommended insight(s).
  • Collecting at least one recommended insight of the plurality of insights from the at least one recommendation engine may include collecting at least a highest ranked insight of the plurality of insights.
  • Collecting at least one recommended insight of the plurality of insights from the at least one recommendation engine may include downloading the at least one recommended insight from the service platform, such as via an interface specifically configured to provide the recommend insight. For example, the requestor may select a link (e.g., REST API endpoint) on the user interface to collect the at least one recommend insight.
  • a link e.g., REST API endpoint
  • the at least one recommended insight may be automatically collected by the client computing device via an API at the interface of the service platform.
  • the service platform may have machine readable and executable instructions to output a REST API endpoint (e.g., link) providing the at least one recommended insight to the client responsive to requesting the insight, selecting a recommendation engine, or any other action taken by the client.
  • the interface may require an authentication to access the recommended insight.
  • the authentication may be a transaction ID, a client ID, or an authentication number associated with one of the foregoing.
  • the at least one recommended insight may include any of the insights disclosed herein, such as an insight recommended from the service platform based on one or more of an amount of data processed through the plurality of insight engines, an amount of data processed through a selected insight engine of the plurality of insight engines, a number of times a selected insight engine of the plurality of insight engines operates on a selected data set, which recommendation engine is the selected recommendation engine, an amount of data processed through the selected recommendation engine, or any of the criteria of any of the recommendation engines disclosed herein.
  • an insight recommended from the service platform based on one or more of an amount of data processed through the plurality of insight engines, an amount of data processed through a selected insight engine of the plurality of insight engines, a number of times a selected insight engine of the plurality of insight engines operates on a selected data set, which recommendation engine is the selected recommendation engine, an amount of data processed through the selected recommendation engine, or any of the criteria of any of the recommendation engines disclosed herein.
  • any of the acts, functions, or techniques of the method 600 may be performed by one or more computing functions on the service platform 110 (FIG. 1) or 410 (FIG. 4) or client computing device at 130 or 402. Any of the acts, functions, or techniques disclosed herein with respect to service platforms 110 or 410 or the client computing devices at 130 or 402 may be included in the method 600.
  • Each of the acts of the methods 500 or 600 disclosed herein may be performed by a computing device (e.g., personal computer, laptop computer, server, tablet, smart phone, or the like), cloud computing device(s), or the like according to a computer program (e.g., software, application software, or the like) stored thereon.
  • a computer program e.g., software, application software, or the like
  • One or more of the acts, process, blocks, or techniques described herein with respect to the method 500 or 600, the algorithms of the insight engines or recommendation engines, or the configurations 100 or 400 may be carried out by one or more processors of one or more computing devices.
  • Any of the example systems disclosed herein may be used to carry out any of the example methods disclosed herein, such as using a system. FIG.
  • the system 700 may be configured to implement any of the example methods disclosed herein, such as the method 500 or 600, or any of the acts of the configurations 100 or 400.
  • the system 700 includes at least one computing device 710.
  • the at least one computing device 710 is an exemplary computing device that may be configured to perform one or more of the acts described above, such as the method 500 or 600 or any of the acts of the configuration 100 or 400.
  • the at least one computing device 710 can include one or more servers (e.g. , cloud storage platform), one or more computers (e.g., desktop computer, laptop computer), or one or more mobile computing devices (e.g., smartphone, tablet, etc.).
  • the at least one computing device 710 can comprise at least one processor 720, memory 730, a storage device 740, an input/output (“I/O”) device/interface 750, and a communication interface 760. While an example computing device 710 is shown in FIG. 7, the components illustrated in FIG. 7 are not intended to be limiting of the system 700 or computing device 710. Additional or alternative components may be used in some examples. Further, in some examples, the system 700 or the computing device 710 can include fewer components than those shown in FIG. 7. For example, the system 700 may not include the one or more additional computing devices 712 or 714. In some examples, the at least one computing device 710 may include a plurality of computing devices, such as a server farm, computational network, a cloud network, or cluster of computing devices. Components of computing device(s) 710 shown in FIG. 7 are described in additional detail below.
  • the processor(s) 720 includes hardware for accessing and executing machine readable and executable instructions (e.g., instructions for carrying out one or more portions of any of the methods disclosed herein), such as those making up a computer program.
  • the processor(s) 720 may retrieve (or fetch) the instructions from an internal register, an internal cache, the memory 730, or a storage device 740 and decode and execute them.
  • processor(s) 720 may include one or more internal caches for data such as databases or libraries.
  • the processor(s) 720 may include one or more instruction caches, one or more data caches, and one or more translation lookaside buffers (TLBs).
  • TLBs translation lookaside buffers
  • Instructions in the instruction caches may be copies of instructions in memory 730 or storage device 740.
  • the processor 720 may be configured (e.g., include programming stored thereon or executed thereby) to carry out one or more portions of any of the example methods disclosed herein.
  • the processor 720 is equipped or programmed to perform any of the acts disclosed herein such as in method 500 or 600 or the acts performed by the configuration 100 or 400, or cause one or more portions of the computing device 710 or system 700 to perform at least one of the acts disclosed herein.
  • Such configuration can include one or more operational programs (e.g., computer program products) that are executable by the at least one processor 720.
  • the processor 720 may be configured to receive, from a requestor at a client computing device, a request for one or more insights based on a target context, one or more sets of data, and a plurality of insight engines stored in the service platform; produce a plurality of insights with the target context, a selected data set of the one or more sets of data, and the plurality of insight engines; output a list of recommendation engines to the client computing device; receive a recommendation engine selection from the requestor; rank the plurality of insights according to a selected recommendation engine corresponding to the recommendation engine selection; and output at least a highest ranked insight of the plurality of insights to the client computing device as disclosed in the example method 600.
  • the at least one computing device 710 may include at least one non-transitory memory storage medium (e.g. , memory 730 and/or storage device 740).
  • the at least one computing device 710 may include memory 730, which is operably coupled to the processor(s) 720.
  • the memory 730 may be used for storing data, metadata, and programs for execution by the processor(s) 720.
  • the memory 730 may include one or more of volatile and non-volatile memories, such as Random Access Memory (RAM), Read Only Memory (ROM), a solid state disk (SSD), Flash, Phase Change Memory (PCM), or other types of data storage.
  • RAM Random Access Memory
  • ROM Read Only Memory
  • SSD solid state disk
  • Flash Phase Change Memory
  • PCM Phase Change Memory
  • the memory 730 may be internal or distributed memory.
  • the at least one computing device 710 may include the storage device 740 having storage for storing data or instructions.
  • the storage device 740 may be operably coupled to the at least one processor 720.
  • the storage device 740 can comprise a non-transitory memory storage medium, such as any of those described above.
  • the storage device 740 (e.g., non-transitory storage medium) may include a hard disk drive (HDD), a floppy disk drive, flash memory, an optical disc, a magneto-optical disc, magnetic tape, or a Universal Serial Bus (USB) drive or a combination of two or more of these.
  • the storage device 740 may include one or more servers of a cloud storage platform.
  • Storage device 740 may include removable or non-removable (or fixed) media. Storage device 740 may be internal or external to the at least one computing device 710. In some examples, storage device 740 may include non-volatile, solid-state memory. In some examples, storage device 740 may include read-only memory (ROM). Where appropriate, this ROM may be mask programmed ROM, programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), electrically alterable ROM (EAROM), or flash memory or a combination of two or more of these. In some examples, one or more portions of the memory 730 and/or storage device 740 (e.g., memory storage medium(s)) may store one or more databases thereon. At least some of the databases may be used to store reference data, target contexts, insight engines, anonymous functions, recommendation engines, process data, or the like, as disclosed herein. At least some of the databases may include libraries of data therein, such as any of the libraries disclosed herein.
  • one or more databases, instructions for performing any of the acts disclosed herein, instructions for performing any of the algorithms disclosed herein, or instructions of any of the computer programs disclosed herein may be stored in a memory storage medium such as one or more of the at least one processor 720 (e.g., internal cache of the processor), memory 730, or the storage device 740.
  • the at least one processor 720 may be configured to access (e.g., via bus 770) the memory storage medium(s) such as one or more of the memory 730 or the storage device 740.
  • the at least one processor 720 may receive and store the data (e.g., look-up tables) as a plurality of data points in the memory storage medium(s).
  • the at least one processor 720 may execute programming stored therein adapted access the data in the memory storage medium(s) to carry out any of the acts of the method 500 or 600.
  • the at least one processor 720 may access insight engines and reference data in the memory storage medium(s) such as memory 730 or storage device 740.
  • the at least one computing device 710 also includes one or more I/O devices/interfaces 750, which are provided to allow a user to provide input to, receive output from, and otherwise transfer data to and from the at least one computing device 710.
  • I/O devices/interfaces 750 may include a mouse, keypad or a keyboard, a touch screen, camera, optical scanner, network interface, web-based access, modem, a port, other known I/O devices or a combination of such I/O devices/interfaces 750.
  • the touch screen may be activated with a stylus or a finger.
  • the I/O devices/interfaces 750 may include one or more devices for presenting output to a user, including, but not limited to, a graphics engine, a display (e.g., a display screen or monitor), one or more output drivers (e.g., display drivers), one or more audio speakers, and one or more audio drivers.
  • I/O devices/interfaces 750 are configured to provide graphical data to a display for presentation to a user, such as on a user interface.
  • the graphical data may be representative of one or more graphical user interfaces and/or any other graphical content as may serve a particular implementation.
  • the at least one computing device 710 can further include a communication interface 760.
  • the communication interface 760 can include hardware, software, or both.
  • the communication interface 760 can provide one or more interfaces for communication (such as, for example, packet-based communication) between the at least one computing device 710 and one or more additional computing devices 712 and 714 or one or more networks.
  • communication interface 760 may include a network interface controller (NIC) or network adapter for communicating with an Ethernet or other wire- based network or a wireless NIC (WNIC) or wireless adapter for communicating with a wireless network, such as a WI-FI, or a cloud network.
  • NIC network interface controller
  • WNIC wireless NIC
  • Any suitable network and any suitable communication interface 760 may be used.
  • At least one computing device 710 may communicate with an ad hoc network, a personal area network (PAN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), or one or more portions of the Internet or a combination of two or more of these.
  • PAN personal area network
  • LAN local area network
  • WAN wide area network
  • MAN metropolitan area network
  • One or more portions of one or more of these networks may be wired or wireless.
  • one or more portions of system 700 or at least one computing device 710 may communicate with a wireless PAN (WPAN) (such as, for example, a BLUETOOTH WPAN), a WI-FI network, a WI-MAX network, a cellular telephone network (such as, for example, a Global System for Mobile Communications (GSM) network), or other suitable wireless network or a combination thereof.
  • WPAN wireless PAN
  • WI-FI wireless local area network
  • WI-MAX such as, for example, a GSM network
  • GSM Global System for Mobile Communications
  • the at least one computing device 710 may include a bus 770.
  • the bus 770 can include hardware, software, or both that couples components of the at least one computing device 710 to each other.
  • bus 770 may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a front-side bus (FSB), a HYPERTRANSPORT (HT) interconnect, an Industry Standard Architecture (ISA) bus, an INFINIBAND interconnect, a low-pin-count (LPC) bus, a memory bus, a Micro Channel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI- Express (PCIe) bus, a serial advanced technology attachment (SATA) bus, a Video Electronics Standards Association local (VLB) bus, or another suitable bus or a combination thereof.
  • AGP Accelerated Graphics Port
  • EISA Enhanced Industry Standard Architecture
  • FAB front-side bus
  • HT HYPERTRANSPORT
  • the additional computing devices 712 and 714 may include programming thereon to communicate with the at least one computing device 710.
  • the additional computing devices 712 and 714 may be similar or identical to the at least one computing device 710 in one or more aspects.
  • the computing device may be a server
  • the additional computing device 712 may be the computing device of a sender of an electronic communication (e.g., requestor)
  • the additional computing device 714 may be the computing device of another sender of an electronic communication (e.g., developer or curator).
  • the instructions for carrying out the methods disclosed herein may be stored on and carried out by the at least one computing device 710.
  • the at least one computing device 710 is a plurality of cloud computing servers and the computing device 514 is the computing device of the requestor, developer, or curator.
  • the instructions for carrying out the methods disclosed herein may be stored on and executed by the at least one computing device 710. It should be appreciated that any of the example acts described herein, such as in the configurations 100 or 400, the or methods 500 or 600 may be performed by and/or at one or more of the at least one computing device 710, the additional computing device 712, or the computing device 714.
  • the system 700 may store one or more components of any of the configurations disclosed herein or one or more machine readable and executable instructions for carrying out any of the methods (or portions thereof) disclosed herein.
  • FIG. 8 is a block diagram illustrating an example computer program product 800 that is arranged to store instructions for determining one or more insights with a service platform or obtaining one or more insights from a service platform, as disclosed herein.
  • the signal bearing medium 810 non- transitory memory storage medium
  • the machine readable and executable instructions 820 stores machine readable and executable instructions 820 that may configure an associated processing unit to perform all or some of the techniques (e.g., acts) disclosed herein.
  • the machine readable and executable instructions may include instructions for carrying out any of the methods 500 or 600, or any of the portions or acts of the configurations 100 or 400, as disclosed herein.
  • Such instructions may include, one or more machine readable and executable instructions for receiving, from a requestor at a client computing device, a request for one or more insights based on a target context, one or more sets of data, and a plurality of insight engines stored in the service platform; producing a plurality of insights with the target context, a selected data set of the one or more sets of data, and the plurality of insight engines; outputting a list of recommendation engines to the client computing device; receiving a recommendation engine selection from the requestor; ranking the plurality of insights according to a selected recommendation engine corresponding to the recommendation engine selection; and outputting at least a highest ranked insight of the plurality of insights to the client computing device.

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Educational Administration (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Embodiments of the invention relate to methods, systems, and products for determining a plurality of insights based on a target context, a plurality of insights engines, and reference data as well as providing at least one recommended insight from the plurality of insights.

Description

INSIGHT RECOMMENDATION CROSS-REFERENCE TO RELATED APPLICATIONS [0001] This application claims priority to U.S. Provisional Application No. 62/966,722 filed January 28, 2020, the disclosure of which is incorporated herein, in its entirety, by this reference.
BACKGROUND
[0002] Business decisions are often made according to policies set forth in documentation. However, decision makers often deviate from said policies for various reasons. Portions of the policies may be complex and may be unknown to decisions makers.
[0003] Businesses may utilize automated processes to automatically make decisions based on criteria in (policies written into) algorithms and data provided thereto instead of occupying employees to determine such insights. Such automated processes provide consistency and fast computing times. However, utilizing automated processes requires infrastructure and costs for development.
SUMMARY
[0004] Embodiments of the invention relate to methods, systems, and products for determining a plurality of insights based on a target context, a plurality of insights engines, and reference data as well as providing at least one recommended insight from the plurality of insights.
[0005] In an embodiment, a method for determining one or more insights with a service platform is disclosed. The method includes receiving, from a requestor at a client computing device, a request for one or more insights based on a target context, one or more sets of data, and a plurality of insight engines stored in the service platform. The method includes producing a plurality of insights with the target context, a selected data set of the one or more sets of data, and the plurality of insight engines. The method includes outputting a list of recommendation engines to the client computing device. The method includes receiving a recommendation engine selection from the requestor. The method includes ranking the plurality of insights according to a selected recommendation engine corresponding to the recommendation engine selection. The method includes outputting at least a highest ranked insight of the plurality of insights to the client computing device. [0006] In an embodiment, a computing system for providing a service platform for determining insights is disclosed. The computing system includes a non-transitory memory storage medium storing machine readable and executable instructions. The instructions include instructions for receiving, from a requestor at a client computing device, a request for one or more insights based on a target context, one or more sets of data, and a plurality of insight engines stored in the service platform; producing a plurality of insights with the target context, a selected data set of the one or more sets of data, and the plurality of insight engines; outputting a list of recommendation engines to the client computing device; receiving a recommendation engine selection from the requestor; ranking the plurality of insights according to a selected recommendation engine corresponding to the recommendation engine selection; and outputting at least a highest ranked insight of the plurality of insights to the client computing device. The computing system includes a processor configured to access and execute the machine readable and executable instructions.
[0007] In an embodiment, a method for obtaining one or more insights from a service platform is disclosed. The method includes inputting, from a client computing device, a request for one or more insights based on a target context, one or more sets of data, and plurality of insight engines stored in the service platform. The method includes assigning the target context in the service platform. The method includes causing the service platform to produce a plurality of insights with the target context, a selected data set from the one or more sets of data, and the plurality of insight engines. The method includes selecting at least one recommendation engine from a plurality of recommendation engines, wherein the recommendation engines rank the plurality of insights according to selected criteria. The method includes collecting at least one recommended insight of the plurality of insights from the at least one recommendation engine, with the client computing device.
[0008] Embodiments include service platforms for determining insights.
[0009] Features from any of the disclosed embodiments may be used in combination with one another, without limitation. In addition, other features and advantages of the present disclosure will become apparent to those of ordinary skill in the art through consideration of the following detailed description and the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS [0010] The drawings illustrate several embodiments of the invention, wherein identical reference numerals refer to identical or similar elements or features in different views or embodiments shown in the drawings.
[0011] FIG. 1 is a block diagram of configuration for obtaining one or more insights with a service platform, according to an embodiment. [0012] FIG. 2 is a flow chart of an algorithm of an insight engine, according to an embodiment.
[0013] FIG. 3 is a flow chart of a recommendation engine, according to an embodiment. [0014] FIG. 4 is a schematic of a configuration for producing a recommended insight, according to an embodiment.
[0015] FIG. 5 is a flow diagram of a method for determining one or more insights with a service platform, according to an embodiment.
[0016] FIG. 6 is a flow diagram of a method of obtaining one or more insights from a service platform, according to an embodiment.
[0017] FIG. 7 is a schematic of a system for executing any of the example methods disclosed herein, according to an embodiment.
[0018] FIG.8 is a block diagram illustrating an example computer program product 800.
DETAILED DESCRIPTION
[0019] Embodiments of the invention relate to generating a plurality of insights using insight engines with reference data and providing at least a highest ranked insight using recommendation engines, in a secure service platform, based on a target context from a requestor. The target context includes requestor-identified data (e.g. , highly regulated data such as personally identifiable information, protected health information, or the like). The insight engines, the reference data, and the recommendation engines may be provided by third party entities. The methods, systems, and products disclosed herein provide recommended insights based on requestor-identified data according to recommendation criteria selected by the requestor without exposing the requestor identified data to any entity outside of the service platform. Accordingly, consumers may securely procure at least one of a variety of insights, based on protected information (e.g., sensitive or highly regulated data such as personally identifiable information, protected health information, or the like), without exposing the protected information to any outside entities such as the developers of the insight engines or recommendation engines or curators of reference data used in the service platform.
[0020] The methods, systems, configurations, and products disclosed herein also allow third parties to contribute tools and components for providing insights to various clients without having any exposure to the clients or their data.
[0021] FIG. 1 is a block diagram of configuration 100 for obtaining one or more insights with a service platform 110, according to an embodiment. The service platform 110 includes machine readable and executable instructions for determining, ranking, and providing at least one insight based on a target context 112 identified by the requestor of the insight(s). The service platform 110 accepts a request for one or more insights based on the target context 112 identified by the client 130. The service platform 110 utilizes workspaces 114 to operate individual insight engines 116 with the target context 112 and at least some reference data 118 to determine a plurality of insights 120. At least some of the insight engines 116 may not be pertinent to the target insight that the client 130 is seeking. The service platform 110 utilizes recommendation engines 122 that rank (e.g., score) the insights 120 based on criteria selected by the client 130, such as least costly outcome, best medical outcome, qualification for insurance coverage, qualification for a loan or rate, etc. The client 130 selects a recommendation engine 122, based on a description of the outputs or criteria of the recommendation engine, to obtain at least one recommended insight 124 from the plurality of insights 120 produced from the plurality of insight engines 116. Accordingly, all of the insight engines 116 may be ran for each insight request and a selected recommendation engine 122 filters the insights so that only relevant insights are, or the most relevant insight is, presented to the client 130. The insight engines 116 and the recommendation engines 122 operate solely within the service platform 110. Thus, the service platform 110 provides insights for any type of target context 112 without exposing the target context (e.g., personally identifiable information) to any entity outside of the service platform 110.
[0022] The service platform 110, or portions thereof, may be located in the memory of one or more computing devices, such as one or more servers, computers, or the like. The service platform 110 may be decentralized, such as a cloud computing platform. The service platform 110 may be accessible for external entities via a network 170, such as the internet, a local area network (LAN), a cloud computing platform, or the like. The service platform 110 may be accessible to external entities via one or more interfaces 131, 132, 133, 141, 151, and 161. The interfaces 131, 132, 133, 141, 151, and 161 may include application programming interfaces (“APIs”) or user interfaces. The APIs may be representational state transfer (“REST”) APIs which require specific formats, languages, or the like.
[0023] The service platform 110 may communicate or accept communications with one or more external entities, such as a client 130, developers 140, curators 150, and recommender developers 160. The external entities may include computing devices, such a desktop computers, laptop computers, servers, tablets, smartphones, or the like. For example, the client 130 may access the service platform 110 via a computer or server. In such examples, the client 130 may upload or identify target contexts 112 for one or more insight requests via an interface 131 (e.g., API(s) or user interface(s)). The client 130 may select a recommendation engine via the interface 132. Only limited portions of the service platform 110 may be accessible to external entities. For example, only an interface 141, 151, or 161 of the service platform 110 may be accessible to an external entity, such as for receiving insight engines 116, reference data 118, or recommendation engines 122. Such architecture ensures that personally identifiable information or other protected information identified (e.g., provided at least in part) by the client 130 is isolated within the service platform 110 such that the outside entities cannot access or view the protected information. For example, the developers 140, the curators 150, and the recommender developers 160 may only be able to upload engines and reference data into the service platform 110 via one or more interfaces 141, 151, or 161 (e.g., REST API endpoints and/or user interfaces). Only the client 130 may be able to remove data from the service platform 110, such as receiving the recommended insight from interface 133 (e.g., API endpoint or user interface).
[0024] The interfaces 131, 132, 133, 141, 151, or 161 may include a user interface having one or more APIs associated therewith, such as REST APIs for uploading different types (e.g., formats or languages) of components. The APIs may be configured to receive components (e.g.,, target contexts 112, insight engines 116, reference data 118, recommendation engines 122, recommendation engine selections, or the like) for use in the service platform 110 according to various standards, formats, and languages. Accordingly, only working components may be imported or uploaded into the service platform 110. The APIs at interfaces 131, 132, 133, 141, 151, or 161 may be configured to receive components from a third party remote source different than the client, developers, or curators, such as GitHub, Gitlab, Bitbucket, or the like. The third party remote source may indicate or require the same formatting as the APIs and may communicate directly with the APIs at interfaces 131, 132, 133, 141, 151, or 161. Accordingly, the client 130, developers 140, curators 150, or recommender developers 160 may upload their components from the third party remote source, such as in a format that is known to comply with the APIs at interfaces 131, 132, 133, 141, 151, or 161.
[0025] The client 130 may access the service platform 110, such as via the network 170, to request one or more insights. The client 130 may access the service platform 110 via interface 131 over the network 170 to form the request. For example, the client 130 may access the service platform 110 in a server-to-server upload of one or more insight requests, via an API of the service platform 110. The request for one or more insights may include identifying the target context 112 upon which the service platform 110 operates. The client 130 may identify the target context 112 via the interface 131 provided by the service platform 110. The target context 112 may include data corresponding to one or more entities or persons, such as a health history, a claims history, an account history, a criminal history, a transaction history, request history, or the like. For example, the client 130 may provide (e.g. , upload) at least a portion of a medical history of one or more patients in conjunction with a request for one or more insights based on the medical history. The target context 112 may include personally identifiable information, protected health information, account information, or other protected information that requires secure handling. The target context 112 may be time limited, such as specifying only a selected duration of portion of a history (e.g., three months, six months, one year, three years, five years, or ten years).
[0026] At least a portion of the target context 112 may be stored in the service platform 110, such as in the memory of a server storing at least a portion of the service platform 110. In such examples, at least some of the target context 112 may be stored in the memory prior to requesting the one or more insights. At least some of the target context 112 in the memory may be identified by the client 130, for use in producing the insights, such as by identifying a subset of data in the memory. At least some of the target context 112 may be supplied from the client 130 for use in producing the insights, such as in conjunction with one or more portions of the target context 112 that were previously stored in the memory. [0027] Upon receiving a request for an insight, the service platform 110 may assign a transaction identifier (“transaction ID”) to the processes and components (e.g., target context 112, workspaces 114, insight engines 116, reference data 118, recommendation engine 122, insights 120, recommended insight 124, etc.) thereof used to produce the recommended insight 124. As the service platform 110 performs the functions therein, the service platform 110 may track and document the components utilized in the transaction and provide such documentation (e.g., such as in the metadata) with the transaction ID. Accordingly, the versions of target context, insight engines, reference data, selected data set(s), selected recommendation engine, insights, recommended insight(s), etc. may be documented, stored, and identified with the transaction ID. After the service platform performs all of the operations, the client 130 may enter a transaction ID into the service platform to receive the corresponding recommended insight 124. In some examples, an electronic address may be stored for the client 130 and the recommended insight 124 may be automatically communicated to the client 130 at the electronic address, such as in an e- mail.
[0028] The target context 112 is utilized by the plurality of insight engines 116 to determine a plurality of insights 120. The insight engines 116 may be uploaded to the service platform 110 by (third party) developers 140, such as through the network 170. The developers 140 may provide the programs to the service platform 110 in a selected format, such as in a coding language and format required by the service platform 110. The service platform 110 may identify coding languages, standards, and guidelines that are compatible therewith, such as which coding formats, languages, standards, or guidelines are compatible with the anonymous functions and APIs therein. For example, the service platform 110, via APIs or user interfaces at the interface 141, may require the insight engines 116 to be provided in a selected format (e.g., XML, JSON, YAML, etc.), selected programming language (e.g., JVM compliant languages such as Java or Scala, Python, Ruby, Golang, Node.js, .NET etc.), or the like. The service platform 110 may require the insight engines 116 to query target contexts 112 and reference data 118 in a selected manner. Accordingly, developers 140 may write programs for insight engines 116 without the need to see the target context 112 and reference data 118 that their insight engine 116 will query. If the insight engine is not in the required format or language, the insight engine will not be accepted beyond the interface 141.
[0029] The developer 140 of an insight engine may be a third party developer, such as an entity or party unrelated to the client 130 (e.g., requestor). The developer 140 may upload one or more insight engines into the service platform 110 via the network 170 without having any contact with the requestor (client), the target context 112, the reference data 118, or any other information in the service platform 110. For example, a developer 140 may upload an insight engine 116 into the platform via the interface 141 (e.g., API or user interface), accessible via the network 170. As noted above, the developer 140 may upload one or more insight engines 112 into the service platform 110 via a third party source such as Github or the like. Such upload may be carried out through an API at the interface 131 or 141. The developer 140 of an insight engine may not be a third party developer. For example, a requestor may upload at least one insight engine via interface 131 and the network 170.
[0030] Each insight engine of the plurality of insight engines 116 may be given an engine identifier (e.g., engine number, identification number, etc.) upon upload into the service platform 110. The service platform 110 may track the use of individual data sets of the reference data 118 by the data identifier. Developers 140 may be paid for each instance that their insight engine is utilized, by the amount of their reference data 118 that is processed (e.g. , how many bytes are utilized) with the insight engine, or the like.
[0031] The insight engines 116 include machine readable and executable instructions for progressions of queries formulated to arrive at one or more specific insights. The queries are codified into machine readable and executable instructions to search one or more sets of data for answers to discrete questions that provide answers to a larger question (e.g., insights). The plurality of insight engines 116 may each ran upon submission of a request, whether formulated to answer the question the requestor is investigating or not. [0032] FIG. 2 is a flow chart of an algorithm 210 of an insight engine, according to an embodiment. The algorithm 210 includes a plurality of queries 220-260 which query (e.g., include instructions to query) the target context 112 and reference data 118 to advance through the algorithm to determine one or more insights 222, 232, 252, 262, or 264. The algorithm 210 may be constructed to determine wheelchair maintenance should be approved under an Arizona policy (e.g., Arizona Medicare). For example, the first query 220 of the algorithm 210 may query whether a wheelchair maintenance policy exists for Arizona. The first query may be answered based on information in one or more of the target context 112 or the reference data 118. For example, the target context 112 may include a residence address of a party or the reference data 118 may include a list of all policies, by state, for cross-referencing with the residence address of the claimant. If the policy does not exist for Arizona, the algorithm 210 proceeds to insight 222, which indicates to deny the maintenance request. If the policy does exist, then the algorithm 210 proceeds to second query 230.
[0033] The second query 230 may query whether the requested maintenance is covered by the Arizona policy. For example, the reference data may include a list of maintenance and parts covered under the Arizona policy. The second query 230 may determine that the requested maintenance is not covered under the Arizona policy. In such cases, the algorithm 210 advances to the insight 232, which indicates to deny the maintenance request. The second query 230 may determine that the requested maintenance is covered under the Arizona policy and advance the algorithm 210 to the third query 240.
[0034] The third query 240 may examine whether the party has previously received the requested maintenance. The third query 240 may examine the target context 112 (e.g., medical history, request history, account history, maintenance history, and/or benefit history of claimant) to determine the party has previously received the requested benefit. If the party has previously received the requested maintenance, the algorithm 210 advances to the fourth query 250. If the party has not previously received the requested maintenance, the algorithm 210 advances to the fifth query 260.
[0035] At the fourth query 250, the algorithm queries whether the number of times the party has received the requested maintenance is under the number of times the Arizona policy allows the requested maintenance. For example, the fourth query 250 may access an allowed maintenance table from the reference data 118 and compare a number of times the requested maintenance has been received by the party (e.g., within a selected time period) as may be found in the target context 112 to determine if the party’s wheelchair is under a maintenance limit. If the party has received the benefit more times than is allowed under the policy, the algorithm advances to the insight 252, which indicates to deny the maintenance request. If the party has not received the maintenance more times than is allowed under the policy, the algorithm 210 advances to the fifth query 260.
[0036] The fifth query 260 may examine whether the maintenance request is supported by manufacturer’s documentation (e.g., manufacturer’s recommended maintenance schedule, or the like). The fifth query 260 may examine the target context 112 (e.g., maintenance schedule, records, or requests) to determine if the maintenance request is supported by manufacturer’s documentation. If the maintenance request is not supported by manufacturer’s documentation, the algorithm 210 advances to insight 262, which indicates to deny the maintenance request. If the claim is supported by manufacturer’s documentation, the algorithm 210 advances to insight 264 which indicates to approve the maintenance request.
[0037] In some examples, the queries may present time-dependent investigations, such as how many times a particular prescription may be ordered during a selected duration, or how often a party qualifies for a new orthopedic shoes. Any number of queries may be present in an algorithm, such as, is a doctor within coverage network, where cheaper options attempted first, is it cheaper to replace the item than maintain it, are there conflicting diagnoses, how often does a party make a claim, how much does the proposed course of action cost, does an account have any negative history, etc.
[0038] Insight engines, via the underlying algorithms therein, may be constructed to investigate target contexts using reference data to provide any of a plurality of insights. While the algorithm 210 is presented as providing only binary insights (e.g., deny or approve), other algorithms may provide non-binary insights, such as having queries that provides insights with having various outputs, such as graduated amounts, a plurality of discrete outcomes, or the like. For example, an algorithm may be constructed to determine the amount of interest that a loan requestor is qualified to receive under a selected policy. Another algorithm may be constructed to determine which model of wheelchair a claimant may qualify for, or which model of wheelchair is most cost effective for a claimant’s condition. Another algorithm may be constructed to determine if a claim should be covered under a policy.
[0039] While a requesting party is disclosed as being the subject relevant to the algorithm 210, in embodiments, the subject of algorithms may be any entity (e.g., service provider, claimant, insurer, investigator, etc.), any request, or any action. In some examples, the requesting party may be a claimant or a third party, such as a benefit claimant, insurance representative, or health care representative.
[0040] The machine readable and executable instructions of the service platform 110 include instructions in the form of one or more anonymous functions to operate each insight engine 116 and to import the target context 112, one or more sets of data from the reference data 118, and any other data needed to execute the insight engines 116 into a workspace 114 (e.g., processing space) for each insight engine 116. For example, one or more anonymous functions may include instructions to determine the required components of each insight engine and to fetch and import the components (e.g. , target context 112, insight engines 116, data set(s) from the reference data 118, etc.) into the workspace 114 corresponding to each respective insight engine 116. In some examples, the workspace 114 may be imported into each respective insight engine and the insight engine may fetch the necessary components from the workspace 114 during operation thereof. The workspaces 114 may include a plurality of workspaces 114, each for operating an individual insight engine of the plurality of insight engines. In some examples, a first anonymous function may create additional anonymous functions, each for processing a selected insight engine of the plurality of insight engines. Accordingly, a single request may operate all of the plurality of insight engines using the target context 112. The first anonymous function or additional anonymous functions may form individual workspaces 114 for each insight engine 116. The anonymous function may create a separate workspace 114 (e.g., processing space), such as a virtual secure compartmented information facility (“VSCIF’), for each individual insight engine 116 to operate in or on. Accordingly, any personally identifiable data or other protected data present in the target context 112 may be at least temporarily retained within the service platform 110 in a location that is not accessible to third parties, such as developers, curators, or recommender developers. Further, the insight engine in a specific workspace 114 may only access data within the workspace, such that the insight engines work in an isolated environment within their respective workspaces 114.
[0041] Returning to FIG. 1, the curators 150 may upload the reference data 118 to the service platform 110 via the network 170 an interface 151. The reference data 118 includes one or more sets of data such as one or more lists, tables, libraries, databases, or the like. For example, the one or more sets of data in the reference data 118 may include actuarial tables, medical billing codes, laws, account balances, account histories, or any other information for answering queries, in electronic format. The reference data 118 may include a costs list of certain items such as medical apparatuses, devices, services, or the like. For example, the reference data 118 may include a first data set including criteria for qualifying to receive a wheelchair under a coverage model and a second data set providing a cost list of various wheelchairs. The reference data 118 may include a first data set including a list of (financial or health) risk factors and a second data set may include a correlation table listing (loan rates or insurance premium) rates associated with the risk factors. The service platform 110, via APIs or user interface at the interface 151, may require the reference data 118 to be provided in a specific format, language, or labelling. For example, the reference data 118 may be in comma-separated values format, tab- delimited file format, extensible mark-up language format, rich text format, JSON format, or any other suitable data format. Each data set of the reference data may be labelled or be required to be labelled in a selected manner, as indicated by a REST API or user interface, such that the insight engines 116 can locate and access the data set from among the reference data 118 as needed. If the data set is not in the required format, language, or labelling, the data may not pass beyond the interface 151. Accordingly, the curators 150 may curate reference data 118 without the need of viewing the insight engines which operate using the reference data 118. Each set of data in the reference data 118 may include information necessary to perform one or more queries of an insight engine. As noted above, the curator 150 may upload one or more data sets into the reference data 118 via a third party source such as Github or the like. Such upload may be carried out through an API at the interface 151.
[0042] Each data set of the reference data 118 may be individually uploaded to the service platform 110 by the curator 150 of the data set(s). For example, the curator 150 may upload one or more data sets into a reference data library of the service platform via interface 151 accessed through the network 170, such as via a webpage. Each data set of the reference data 118 may be given a data identifier (e.g., upload number, identification number, etc.) upon upload into the service platform 110. The service platform 110 may track the use of individual data sets of the reference data 118 by the data identifier. Curators 150 may be paid for each instance that their reference data 118 is utilized, by the amount of their reference data 118 that is utilized (e.g., how many bytes are utilized), or the like. The curator 150 may be a third party or may be the client 130. For example, the curator 150 may be the developer 140 or the client 130.
[0043] Like the developers 140 and the curators 150, recommender developers 160 may provide recommendation engines 122 into the service platform 110. For example, each recommendation engine 122 may be individually uploaded to the service platform 110 by the recommender developer 160, such as via the network 170. The service platform 110, via APIs or user interfaces at the interface 161, may require the recommendation engines 122 to be provided in a selected format (e.g., XML, JSON, YAML, etc.), selected programming language (e.g., JVM compliant languages such as Java or Scala, Python, Ruby, Golang, Node.js, .NET etc.), or the like. Accordingly, the recommender developers 160 do not need to see the target context, reference data, or other components used to reach the insights in order to provide working recommendation engine. As noted above, the recommender developer 160 may upload one or more recommendation engines 122 into the service platform 110 via a third party source such as Github or the like. Such upload may be carried out through an API at the interface 161.
[0044] The recommendation engines 122 may be stored in repository of recommendation engines for later use. Each recommendation engine 122 may be given a recommendation engine identifier (e.g., upload number, identification number, etc.) upon upload into the service platform 110. The service platform 110 may track the use of individual recommendation engines 122 by the identifier. Recommender developers 160 may be paid based upon each instance that their recommendation engine 122 is utilized, by the amount of data that is utilized (e.g., how many bytes are utilized) by the recommendation engine 122, or the like.
[0045] The recommendation engines 122 rank the insights according to one or more criteria. Along with the recommendation engine 122, the recommender developer 160 may provide (e.g. , upload) a description of the criteria or intended output of the recommendation engine 122. Accordingly, the requestor may select a recommendation engine 122 based on the description of the criteria or intended output of the recommendation engine, such as from a list of criteria of intended outputs of a plurality of recommendation engines. The description may include a few words or sentences describing the criteria the recommendation engine operates by or the intended outputs of the recommendation engine. For example, the description may include how or what the recommendation engine ranks, how or what the recommendation engine examines, or the like.
[0046] Recommendation engines may rank the plurality of insights 120 produced from the plurality of insight engines 116 according to a selected criteria. For example, a first recommendation engine may rank the plurality of insights based on one or more of least data use to determine a selected insight, least computing power required to determine the selected insight, a fastest computing time for determining the selected insight, a publish date of an insight engine used to determine the selected insight, a code version of an insight engine used to determine the selected insight, an insight engine for determining the selected insight that most closely matches one or more criteria indicated by a requestor of the one or more insights, an insight that provides the least expensive option, an insight that provides a solution expected to be the most efficient or have the highest probability of success, or any other criteria.
[0047] FIG. 3 is a flow chart of a recommendation engine 300, according to an embodiment. The recommendation engine 300 may rank the savings of the plurality of insights. The recommendation engine 300 includes an initial block 310 which directs importation of the plurality of insights into the recommendation engine 300. The block 310 may include importing computational data into the recommendation engine, such as data required to complete one or more portions (e.g., queries or calculations) of the recommendation engine. Such computational data may be provided as a data set in the reference data 118.
[0048] Block 320 queries the insights to determine if the insights include qualified subject matter. For example, block 320 may query the insights for qualified subject matter, such as outputs that relate to one or more criteria (e.g., key words) indicated by the recommendation engine or a value within a range of values indicated by the recommendation engine. If the criteria is present in the insight or the value of the insight is within a specified range, the block 320 may indicate that the insight is a qualified insight. [0049] Block 330 may query the qualified insights for associated savings. For example, the block 330 may determine the savings of the qualified insight (according to criteria and computational data) or locate the savings listed in the qualified insight. The block 330 may determine the savings by calculating the savings of an item or action indicated in the insight according to computational data (e.g., a data set of the reference data 118) in the recommendation engine imported therein from the reference data 118.
[0050] Block 340 may rank the insights according to the associated savings (determined at block 330). For example, the block 340 may include ranking the insights from a lowest to highest savings or a highest to lowest savings.
[0051] Block 350 may present a subset of the ranked qualified insights. The subset may include only one insight. For example, block 350 may present the highest valued insight or the lowest valued insight, of the ranked qualified insights. The subset may include a plurality of insights, such as the three most relevant insights, the three highest valued insights, or the five lowest valued insights.
[0052] Blocks 310-350 are provided as machine readable and executable instructions for carrying out the acts described above. Different recommendation engines may provide different recommendations based on different criteria than those disclosed above for the recommendation engine 300.
[0053] Returning to FIG. 1, the requestor may select a recommendation engine from the plurality of recommendation engines, such as by viewing the descriptions and selecting the recommendation engine based on the description (clicking on a link or fillable field). The requestor may select the recommendation engine upon submitting the insight request or upon receiving the plurality of insights. For example, the client 130 may select a recommendation engine via interface 132 of the service platform 110 via the network 170. For example, the interface 132 may include one or more APIs or user interfaces for selecting a recommendation engine 122 according to a description thereof. In some examples, the client 130 may select a REST service endpoint directly from an API or indirectly via a user interface.
[0054] By providing the recommendation engines 122, only relevant insights, or the most relevant insight, of the plurality of insights 120 may be presented to the requestor. Accordingly, all of the insight engines 116 are ran responsive to a request, but only the recommended insight(s) 124 may be presented to a client 130 in real time. By determining and providing only the most relevant insight(s), the service platform 110 may provide any one of a number of insights as the recommended insight 124, based on a single request, without the selecting which insight engines 116 are ran by the service platform 110. As discussed in more detail below, the plurality of insights may be available to the client 130 for batch processing using a different recommendation engine than originally used. [0055] The service platform 110 may output at least the highest ranked (e.g., most relevant) insight, as the recommended insight, to the client 130. The recommended insight 124 may be provided to the requestor (e.g., client 130) via the network 170. For example, the client 130 may access a user interface of the service platform 110 via the network 170 to receive the recommended insight 124. The service platform 110 may store the transaction ID and all data associated therewith, such as the target context (e.g., context ID), the insight engines (e.g., engine ID), the reference data (e.g., selected data set therefrom as data ID), recommendation engine (e.g., recommendation engine ID), insights (e.g. , insight ID), recommended insight (e.g. , recommended insight ID), etc., in the memory of a computing device. The client 130 may enter the transaction ID into the user interface to receive the recommended insight 124. The client may access the recommended insight 124 via a REST endpoint provided by the service platform, such as upon making a recommendation engine selection. In some examples, the recommended insights may be automatically communicated to requestor (or another entity) via an API.
[0056] While only the most relevant insights are presented to the client 130 as the recommended insight(s) in real time, the plurality of insights generated responsive to a request may be stored in the service platform 110 for later use. In such examples, the client 130 may enter the transaction ID to access the plurality of insights associated with the request corresponding to the transaction ID. For example, a client 130 may view a ranking of some or all of the insights according to one or more recommended insight engines. [0057] The plurality of insights may be utilized in batch processing to provide different recommended insights. For example, the client 130 may select a different recommendation engine 122 to ran on the plurality of insights 120 to receive different recommended insights 124 from the service platform 110 based on the same target context 112, reference data 118, and insight engines 116 as the originally returned recommended insight 124. The new recommendation engine selection may trigger the service platform 110 to assign a new transaction ID for the components used in and produced by the new request. Such functionality allows the service platform 110 and clients 130 to iteratively utilize insights to provide different recommended insights based on different criteria. The versatility of the service platform 110 is not possible without the once through, run-all or run-many format of the insight engines in service platform 110 to produce the plurality of insights. Such batch production and storage of the plurality of insights may also reduce the computational burden on the service platform (e.g., computing device(s) hosting the service platform) when a client later wishes to utilize the target context underlying the plurality of insights in a different way, by eliminating the need to rerun an insight engine or engines to determine a new recommended insight.
[0058] In some examples, the service platform 110 may apply various recommendation engines against the plurality of insights to produce new recommended insights. The service platform 110 may inform the client of the new recommended insights, such as via an offer to purchase the recommended insights.
[0059] The service platform 110 may be stored on one or more computing devices (e.g. , servers) and may include multiple repositories for storing information, such as for a target context 112, insight engines 116, reference data 118, anonymous functions, workspaces 114, insights 120, recommendation engines 122, and recommended insights 124.
[0060] The machine readable and executable instructions may include instructions to process the target context 112 with a plurality of insight engines 116 to provide a plurality of insights 120 utilizing selected data sets from the reference data 118, rank the plurality of insights 120 with a recommendation engine 122, and output at least the highest ranked insight to the client 130 as a recommended insight 124.
[0061] The service platform 110 may include a secure space for client information storage, such as a secure data warehouse 135. The secure data warehouse 135 may only be accessible to the service platform 110 and the client 130. For example, each of the client’s interactions with the service platform 110 may be stored in the secure data warehouse 135. In such examples, the request, target context 112, the recommendation engine selection, and recommended insight 124 may be stored in the data warehouse 135. Upon receiving more or new data (e.g. , target contexts) after an insight recommendation, the target contexts stored in the secure data warehouse 135 may be updated prior to processing a new insight request. The data warehouse 135 may be stored on one or more computing devices (e.g., servers), such as the same computing device(s) as the service platform 110.
[0062] The data warehouse 135 may store proprietary reference data 118, target contexts 112, insight engines 116, recommendation engines 122, or the like. In such examples, only the client 130 may access and use the proprietary reference data 118, target contexts 112, insight engines 116, recommendation engines 122, or the like stored in the data warehouse 135 to generate insights 120 and recommended insights 124. The client 130 may limit the processes for determining the insights and recommended insights to at least some of the components stored in the data warehouse 135. For example, client 130 may save data indicating one or more preferred insight engines and one or more recommendation engine selections, to be used for later requests submitted by the client 130, in the secure data warehouse 135. Accordingly, one or more portions of the target context 112 may be predefined by the client 130 and stored in the secure data warehouse 135. [0063] FIG. 4 is a schematic of a configuration 400 for producing a recommended insight, according to an embodiment. The configuration 400 may be implemented as a method using hardware, software, firmware, or a cloud-based service as provided by a system (e.g., computer system, server(s), network, cloud computing system, etc.). The configuration 400 includes a client computing device 402 and the service platform 410. The service platform 410 may be similar or identical to the service platform 110 in one or more aspects. The client computing device 402 may interface with the service platform 410 via one or more interfaces 404a-404c of the service platform 410. The interfaces 404a- 404c of the service platform 410 may include one or more of user interfaces or APIs, such as REST API endpoints. The client computing device 402 may access the service platform 410 via the network 170 (e.g., internet web page(s)).
[0064] At block 414, the service platform 410 may receive, from a requestor at the client computing device 402, a request for one or more insights. The request may be based on a target context, one or more sets of data (e.g. , reference data), and a plurality of insight engines that are stored in the service platform 410. A client may access the service platform 410 via an initial interface 404a to request an insight, input or indicate a target context, provide an insight engine, provide a recommendation engine, select a recommendation engine, or provide reference data. For example, interface 404a may include a webpage that allows the client to input a request for an insight and to indicate target data. At block 414, the requestor (e.g., client) may request an insight based on a specific target context. The requestor may provide, select, or identify the target context upon which the insight engines will work. For example, the requestor may upload the target context, identify the target context from data uploaded to the service platform or already present in a secure data warehouse in the service platform, or select individual target context from a plurality of target contexts.
[0065] The target context may include protected information such as personally identifiable data, personal health information, or the like, such that it is not desirable or legal to expose the target context to third party entities. For example, the target context may include one or more of a medical history, a medical status, a personal address, a social security number, a prescription history, an insurance payout history, an insurance claim history, a financial history, an account history, payment history, or the like relating to one or more individuals or entities. In such examples, the requestor may identify or select a specific subset of data, from a database of the above-noted data, to be used as the target context.
[0066] The requestor or the service platform 410 may assign a time-out duration for maintaining data associated with the request, the insights, or the recommended insight(s) in high speed storage. After the time-out duration, the service platform 410 may remove the data from the high speed storage and may only maintain the data in reporting databases or low speed storage.
[0067] The service platform 410 may label one or more of the target context, the selected data set(s), the insight engines, the insights produced therefrom, the selected recommendation engine, the recommended insight(s) identified thereby, with one or more of a customer identification number, a transaction identification number, or an insight identification number. For example, upon identification of the target context and submission of the request, the service platform 410 may label one or more of the target context and the request with one or more identification numbers, such as a customer identification number, a transaction identification number, or an insight identification number. The identification number(s) may be utilized throughout the service platform 410 in determining the recommended insight(s) with the target context responsive to the request. Accordingly, each part of the process of producing the recommended insight with the service platform 410, including the components used therein, may be identified, tracked, and stored for later use. The requestor may assign an identification number to the request or the target context, such as a number associated with the protected information therein (e.g., a patient or policy holder identification number).
[0068] At block 415 an anonymous function forms a separate workspace for each insight engine 116 of a plurality of insight engines stored at block 416 (e.g., memory of a server or cloud computing system). The anonymous functions in the service platform 410 may include generic machine readable and executable instructions to perform one or more functions. The anonymous functions in the service platform 410 may include one or more of any of the programming languages or formats disclosed herein (e.g. , Java, Scala, Python, etc.). For example, the anonymous functions in the service platform 410 may include lambda functions, lambda expressions, lambda abstractions, blocks, Closures, or the like. In some examples, the anonymous functions may include Amazon Web Services (AWS) Lambda functions and the service platform 410 may be implemented as a cloud based platform via AWS or the like. [0069] At block 418, the target context at 412 may be locked to prevent changes thereto. The target context 412 may be unlocked later. For example, locking the target context may prevent changes thereto until after the target context is unlocked, such as until after producing a plurality of insights and outputting at least a highest ranked insight are completed.
[0070] The anonymous function 415 may create a workspace for every insight engine stored in the repository of insight engines at block 416. Accordingly, all of the insight engines may be run responsive to a single request, no matter whether the insight engine is programmed to provide the intended insight or not. The anonymous function at block 415 may include machine readable and executable instructions to import each of the insight engines 116 from the repository of insight engines at block 416 into an individual workspace 42 la-42 In. The anonymous function at block 415 may include machine readable and executable instructions to import the target context 412 into each workspace. As shown, the individual workspaces 421a-421n may be VSCIFs. In such examples, the target context, reference data, and insight engines may be protected from viewing by a third party entity. The anonymous function at block 415 may include machine readable and executable instructions to provide at least one additional anonymous function 419 (e.g., process request anonymous function) for each workspace 421a-421n. For example, each workspace 421a-421n may include additional anonymous function 419 which populates the workspace with the insight engine, target context 412, and reference data to determine the insight with the respective insight engine. The workspace or functions therein may operate the respective insight engine therein using the target context 412 and reference data. [0071] The anonymous function at block 419 may include machine readable and executable instructions to find the reference data or subset thereof called by the insight engine in the respective workspace. For example, the anonymous function at block 419 may include a retrieval command which retrieves a selected data set from the one or more sets of data in the reference data 418. The reference data 418 may be similar or identical to the reference data 118. For example, the reference data 418 may include one or more sets of data 118a-118n. Various insight engines may call up different sets of data (e.g., selected data sets) to perform the functions therein. The anonymous function 419 may fetch the selected data set(s) from the one or more sets of data 118a-118n in the reference data 418. Accordingly, each workspace 421a-421n has all of the components (e.g., insight engine, target context, selected data set(s)) necessary to reach an insight utilizing the respective insight engine therein. Upon running the insight engine to determine the insights 120, the anonymous function in each workspace outputs the respective insight therefrom to a repository of insights at block 426. Accordingly, the service platform 410 produces the plurality of insights 120 with the target context, selected data set(s) of the one or more sets of data, and the plurality of insight engines.
[0072] The insights 120 may be stored in the service platform 410 such as at one or more of block 426 or block 430. Information associated with the production of the insights 120 may be stored with the insights 120. For example, the insight engine used to reach a particular insight or the amount of data processed using the insight engine may be stored with the corresponding insight 120. The amount of a specific data set or sets of reference data processed to reach a particular insight may be stored with the insight 120. Such data may be used to charge the requestor or pay the developers and/or curators for the operations performed responsive to the request. Alternatively, the specific sets of data from the reference data that are used to perform operations in the insight engines may be tracked and stored at block 432. Such data may be used to charge the requestor or pay the curators for the data sets used to reach an insight.
[0073] The insights 120 in block 426 may be utilized to determine at least one recommended insight 124. For example, a selected recommendation engine from a plurality of recommendation engines may be used to rank the insights according to selected criteria. The requestor may select a specific recommendation engine from the plurality of recommendation engines based on a desired outcome or area of interest. The requestor may select the specific recommendation engine from a list of recommendation engines, such as at the time of making the request for an insight. In some examples, the requestor selects a specific recommendation engine after submitting the request for an insight, such as after the insight engines provide the plurality of insights. Such later selection may be responsive to a prompt, such as via a user interface or API at interface 404a or 404b. The recommendation selection may be communicated to service platform 410 via the interface 404b which is relayed to the anonymous function 440 via a selection command at block 438.
[0074] The service platform 410 may output a list of recommendation engines to the requestor (e.g., client) via the interface 404a or 404b. The list of recommendation engines may be presented as or with a description of the outputs or criteria of the respective recommendation engines to allow the requestor to understand and select the selected recommendation engine. The list may be output to (e.g., displayed on) the client computing device 402 via the interface 404a or 404b and the network 170. For example, the list of recommendation engines may be output (e.g., presented) as a list of criteria or intended outputs of the respective recommendation engines and may include a selectable icon, checkbox, link, etc. to allow the requestor to select the a specific recommendation engine from the list. The requestor may select a specific recommendation engine via a REST service, accessible at interface 404b (e.g., user interface and/or API), such as via a REST service endpoint presented on a user interface. The requestor may have a recommender selection pre-stored in the service platform 410. The requestor may provide an indication of the criteria which the requestor wishes the recommendation engine to operate by, and the service platform may match the indication with one of the descriptions provided by the recommendation engine developers. The indication may be provided by the client via an API or user interface. In some examples, the recommendation engines may rank the plurality of insights based on one or more of least expensive insight to implement, statistically most effective insight to implement, insight with the highest probability of success, least data use to determine an insight, least computing power required to determine the insight, a fastest computing time for determining the insight, a publish date of an insight engine used to determine the insight, a code version of an insight engine used to determine the insight, an insight engine for determining the selected insight that most closely matches one or more criteria indicated by a requestor of the one or more insights, or any other criteria.
[0075] The service platform 410 receives the recommendation selection from the requestor, such as via interface 404a and 404b. Responsive to receiving the recommendation selection, the anonymous function at block 440 may import the selected recommendation engine from a repository of recommendation engines 422. The selected recommendation engine may be retrieved from the repository of recommendation engines 422 by the anonymous function 440 using the recommendation engine identifier corresponding to the selected recommendation engine.
[0076] The anonymous function 440 may create a workspace (e.g., VSCIF) for each insight 120 and import an insight 120 and the selected recommendation engine into each workspace. For example, the anonymous function 440 may create workspaces 443a-443n and import respective insights 120 and the selected recommendation engine thereto. The workspaces 443a-443n may include an additional anonymous function therein for executing the selected recommendation function. In some examples, the anonymous function 440 may also identify and retrieve any reference data necessary (from the repository of reference data 418) to execute the selected recommendation engine. The workspaces 443a-443n may be protected from any third party access. Accordingly, the insights 120, any protected information therein, and the recommended insight(s) may be protected from disclosure to third party entities, such as the developers or curators.
[0077] The selected recommendation engine(s) rank the plurality of insights according the criteria in the selected recommendation engine. For example, the selected recommendation engine in each workspace 443a-443n may score the respective insight therein according to one or more criteria specified in the machine readable and executable instructions of the selected recommendation engine. A highest scoring insight may be determined to be the recommended insight. For example, a “highest score” may relate to an insight with a lowest cost, an insight with a highest expected success rate, an insight with an expected highest profit, an insight which most closely matches a selected value or characteristic, or an insight which meets some other criteria set forth in the selected recommendation engine. Accordingly, the selected recommendation engine ranks the plurality of insights according to criteria that relates back to the description of the recommendation engine that was presented to the requestor.
[0078] While shown as a plurality of workspaces 443a-443n, in some examples, the selected recommendation engine may be imported into a single workspace and the plurality of insights may be imported into the workspace. In such examples, the selected recommendation engine may iteratively score or rank the plurality of insights in the workspace. The selected recommendation engine may include machine readable and executable instructions to select a highest score (e.g., highest or lowest cost), a closest match, or the like, as the recommended insight 124. In some examples, the selected recommendation engine may be programmed to output a plurality of highest ranked insights, such as a top three (e.g., highest values or lowest values) insights, a number of insights above (or below) a threshold value, or the like.
[0079] The recommended insight 124 (e.g., highest ranked insight) may be output to the requestor via the interface 404a or 404b. For example, the service platform 410 may output the recommended insight 124 to the client computing device 402 via the network 170 and the interface 404b (e.g., user interface and/or REST API endpoint). The requestor may access the interface 404b to view or download the recommended insight 124 by providing an authentication code to block 446. For example, the requestor may provide the transaction ID number, the customer ID number, or the like, via the interface 404b, which provides authentication at block 446. Responsive thereto, the service platform 410 may output the recommended insight (e.g., highest ranked insight) to the client computing device 402 via the interface 404b (or 404a) and the network 170. The requestor may receive the recommended insight via a REST API endpoint of the interface 404b automatically upon determining the recommended insight. The endpoint may be provided to the client at the time of request, such that only the client may view or download the recommended insight.
[0080] Responsive to determining the recommended insight, the service platform progresses to anonymous function 450 which instructs the service platform to unlock the target context 412 at block 418 and to update the target context 412 with the recommended insight. For example, the recommended insight may be inferred as an action taken (e.g., approve medical claim, pay claim at selected amount) by the requestor, and may be added to the target context (e.g., update claims record and/or medical history) as having been taken by the requestor. Accordingly, the service platform 410 may update the target context 412 to include the recommended insight. The updated target context may be backed up (e.g., saved) based on the assumption that the recommended insight is implemented by the requestor. The updated target context may be provided with a version identification number to differentiate between the original target context and the updated target context. In some examples, the target context 412 may be updated prior to running the insight engines, such as responsive to new target context data provided by the client.
[0081] The recommended insight, the target context, insight engines, reference data, and all other data used to determine the recommended insight, including any identification numbers and versions thereof may be stored in the service platform, under the transaction ID number or client ID number for later retrieval or reference. Such stored data may be placed in long term or low speed storage.
[0082] The service platform may identify and track one or more of an amount of data processed through the plurality of insight engines, an amount of data processed through a selected insight engine of the plurality of insight engines, a number of times a selected insight engine of the plurality of insight engines operates on a selected data set, which recommendation engine is the selected recommendation engine, an amount of data processed through the selected recommendation engine, the number of times or the amount of data from a selected data set is used, the compute time of the request from input to output, or the like. For example, at block 430 the data corresponding to the use of the plurality of insight engines (e.g., number of times used, amount of data processed therewith) may be stored and at block 432 the data corresponding to the use of the reference data 418 (e.g., number of times or amount of data used) may be stored. The data corresponding to the selected recommendation engine (e.g., which recommendation engine is used, the amount of data processed with the recommendation engine, or the like) may be stored with the data associated with the insight engines at block 430.
[0083] One or more anonymous functions at block 460 may include machine readable and executable instructions to calculate the amount of money due, from the requestor, for the use of the insight engines, reference data, and recommendation engines in determining and providing the recommended insight(s). The one or more anonymous functions may also calculate the amount of money to be payed to the developers of the insight engines, the curators of the reference data, and/or the recommendation engine developers for the use of the components in fulfilling the request. For example, the insight engine developer may be paid based on the amount of data processed through their insight engine and the curator may be paid based upon the amount of their curated data that is used in fulfilling the request for a recommended insight. The recommendation engine developer’s payment may be calculated on the number of times their recommendation engine is selected or used. Any type of rationale may be used to calculate the payment, such as per use, per data amount, per unit time, or the like.
[0084] The calculated amount(s) may be determined and input into communications 464 for sending to the respective parties. The communications 464 may include an invoice or account status. The communications 464 may be accessible via the interface 404c. For example, the developer of the insight engine may have a developer identification number that may be used as authorization at block 466 to access the communication 464 at the interface 404c. The requestor may enter the transaction ID or client ID as authorization to block 466 via the interface 404c (e.g., user interface and/or REST API endpoint) to view and/or pay the amount they owe for fulfilling the request.
[0085] Interfaces 404a-404c may be displayed or accessed on the same computing device, such as client computing device 402. In some examples, one or more of the interface 404a-404c may be displayed on different computing devices. For example, the interface 404a-404c may be displayed on the client computing device 402 of the requestor, while a developer or curator may only access interface 404c. Developers and curators can access the service platform 410 to check invoicing information, receiving payments, or the like through interfaces (e.g., 404c) specifically configured for such tasks.
[0086] While not shown in FIG. 4, the service platform 410 may include additional interfaces for uploading insight engines, reference data, or recommendation engines. Developers of insight engines and recommendation engines, as well as curators can access the service platform 410 to upload insight engines, reference data, and recommendation engines through user interfaces or APIs (not shown) specifically configured for such tasks. [0087] The service platform 410 provides a number of benefits, such as the ability to process protected information (e.g. , protected health information, personally identifiable information, account information, or the like) without allowing access to such information to the developers of the insight engines, reference data, and recommendation engines. The service platform 410 allows the service platform provider, the developers, the curators, and the recommendation engine developers to reduce legal exposure and costs. Because developers and curators do not have access to protected information (e.g., personally identifiable information, personal health information, etc.) in the service platform 410, they do not need to sign contractual agreements (such as Business Association Agreements (“BAA”)) to protect the data or build systems and program architecture to protect the data. Depending on where the service platform is hosted, world- wide participation on the service platform with protected information is possible for many prospective clients, including the USVA (United States Veterans Administration), that preclude their data from being disclosed outside of their country or jurisdiction, even by entities that are willing to sign a BAA. By virtue of the architecture of the service platform, only the service platform 410 itself has access to the protected information in the target contexts and the protected information therein. The service platform 410 can accept insight engines, reference data, and recommendation engines from any source, so long as said components satisfy system requirements such as code language and format. Additionally, due to the low costs of cloud based data processing, the service platform can operate on a “run-aH” concept where all of the insight engines run for a single request and the insights therefrom may be further refined to recommended insights using recommendation engines. Such operation may be less costly and more time efficient than selecting specific insight engines and setting up operations for only the specific insight engines. The run-all concept enables clients to see which insight engines are generating insights before paying to see what those insights might be. Additionally, the run-all concept allows for producing insights to any myriad of problems or questions based on the single request. In some examples, one or more recommendation engines may be run in sequence to provide different recommended insights based on the same batch of insights.
[0088] One or more portions of the service platform 410 may be implemented as software, hardware, firmware, or a cloud-based service as provided by a system (e.g., computer system, server(s), network, etc.). For example, the service platform 410 or portions thereof may be implemented by a processor or virtual processor as portions of a computer readable and executable program stored in a cloud based computing network. [0089] The service platform 410 may be utilized for determining one or more (recommended) insights, providing a platform for developers and curators to provide tools for determining insights, or for obtaining one or more insights.
[0090] FIG. 5 is a flow diagram of a method 500 for determining one or more insights with a service platform, according to an embodiment. The method 500 includes block 510 of receiving, from a requestor at a client computing device, a request for one or more insights based on a target context, one or more sets of data, and a plurality of insight engines stored in the service platform; block 520 of producing a plurality of insights with the target context, a selected data set of the one or more sets of data, and the plurality of insight engines; block 530 outputting a list of recommendation engines to the client computing device; block 540 of receiving a recommendation engine selection from the requestor; block 550 of ranking the plurality of insights according to a selected recommendation engine corresponding to the recommendation engine selection; and block 560 of outputting at least a highest ranked insight of the plurality of insights to the client computing device. At least some of the acts at blocks 510-560 may be performed in a different order than presented, may be omitted, may be combined, or may have additional acts performed therebetween. For example, block 530 of outputting a list of recommendation engines to the client computing device may be omitted.
[0091] Block 510 of receiving, from a requestor at a client computing device, a request for one or more insights based on a target context, one or more sets of data, and a plurality of insight engines stored in the service platform may include receiving a request from a first computing device. The request may be entered by a person via an interface over a network as disclosed herein. The request may be submitted to a service platform such as any of the service platforms disclosed herein. In some examples, the service platform is a cloud based service platform stored on one or more servers.
[0092] Upon entering the request, the requestor (e.g., client) may identify or provide the target context. The target context may include any of the target contexts disclosed herein, such as one or more of a medical history, a claims history, an account history, a date of request, a payment history, a criminal history, or the like. The target context may include protected information, such as personally identifiable information or protected health information of one or more individuals. The target context may include a subset of a data set provided by the requestor or previously stored in the service platform. For example, the requestor may identify a specific policy holder from a plurality of policy holders’ claims in an upload of claims requests submitted for insights.
[0093] Upon entering the request, the requestor (e.g., client) may identify or provide the reference data for use in performing one or more functions in the plurality of insight engines. For example, the requestor may upload reference data indicating a claims policy, claims pay schedule, or the like for use in determining the insights. In some examples, the requestor may upload an insight engine for determining insights with the request.
[0094] Block 520 of producing a plurality of insights with the target context, a selected data set of the one or more sets of data, and the plurality of insight engines may be carried out by the service platform, such as any of the service platforms disclosed herein. Producing the plurality of insights may include running all of the insight engines in the service platform using the target context, one or more selected data sets of one or more sets of data (e.g., reference data) stored in the service platform. Producing the plurality of insights with the target context, the selected data set, and the plurality of insight engines may include processing the target context and the selected data set(s) with the plurality of insight engines to produce the plurality of insights. By running all of the insight engines in the service platform, the plurality of insights are produced.
[0095] Producing the plurality of insights with the target context, the selected data set, and the plurality of insight engines may include making a separate workspace for each insight engine, such as to execute each insight engine in a separate workspace. In such examples, each of the plurality of insight engines, the target context, and the selected data may be imported into a respective workspace (e.g., VSCIF) in the service platform, such as via directions from one or more anonymous functions, for processing the target context and the selected data set with a specific insight engine of the plurality of insight engines, to produce the plurality of insights.
[0096] Block 530 of outputting a list of recommendation engines to the client computing device may be carried out by the service platform, such as any of the service platforms disclosed herein. For example, the service platform may output a list of recommendation engines or descriptions thereof to the requestor via an interface such as one or more of a user interface, API, and the network (e.g., world wide web, intranet, etc.). Outputting the list of recommendation engines to the client computing device may include providing a listing of recommendation engines with corresponding descriptions of one or more of intended outputs or criteria on which the respective recommendation engines operate. [0097] Outputting the list of recommendation engines to the client computing device may be carried out substantially simultaneously or contemporaneously with presenting the interface (e.g., user interface or API) for forming the request or receiving the request. Outputting the list of recommendation engines to the client computing device may be carried out after the plurality of insight engines produce the plurality of insights. Outputting the list of recommendation engines to the client computing device may include presenting the list of recommendation engines in a user interface or API for providing the recommendation engine selection.
[0098] Block 540 of receiving a recommendation engine selection from the requestor may be carried out by the service platform, such as any of the service platforms disclosed herein. Receiving the recommendation engine selection may be carried out substantially simultaneously or contemporaneously with receiving the request for one or more insights. Receiving the recommendation engine selection may include receiving input from the interface displaying the list of recommendation engines, such as a selection of a link or filling a checkbox in the interface. In some examples, selection of a recommendation engine may be carried out using a REST endpoint, such as a link provided or displayed to the client.
[0099] Block 550 of ranking the plurality of insights according to a selected recommendation engine corresponding to the recommendation engine selection may be carried out by the service platform such as any of the service platforms disclosed herein. Ranking the plurality of insights according to a selected recommendation engine corresponding to the recommendation engine selection may include forming one or more workspaces (e.g. , VSCIFs) in the service platform for ranking the plurality of insights using the selected recommendation engine. For example, ranking the plurality of insights according to a selected recommendation engine corresponding to the recommendation engine selection may include importing the selected recommendation engine into one or more VSCIFs in the service platform and the plurality of insights are imported into the one or more VSCIFs for ranking the plurality of insights. In some examples, an anonymous function may form the one or more workspaces and execute the selected recommendation engine therein.
[00100] The criteria in the recommendation engine may include any of the criteria disclosed herein. For example, ranking the plurality of insights according to criteria identified in a selected recommendation engine corresponding to the recommendation engine selection includes ranking the plurality of insights according to one or more of a least expensive insight, a most expensive insight, an insight calculated or expected to be a most effective insight, an insight expected to provide a shortest conclusion (e.g., shortest healing time), least data use to determine a selected insight, least computing power required to determine the selected insight, a fastest computing time for determining the selected insight, a publish date of an insight engine used to determine the selected insight, a code version of an insight engine used to determine the selected insight, an insight engine for determining the selected insight that most closely matches one or more criteria indicated by a requestor of the one or more insights, or the like.
[00101] Block 560 of outputting at least a highest ranked insight of the plurality of insights to the client computing device may include outputting the highest ranked insight(s) as a recommended insight(s). Outputting at least a highest ranked insight of the plurality of insights to the client computing device may include outputting the highest ranked insight from the service platform, such as any of the service platforms disclosed herein. Outputting at least a highest ranked insight of the plurality of insights to the client computing device includes presenting a plurality of highest ranked insights to the requestor via the client computing device. Outputting at least a highest ranked insight of the plurality of insights to the client computing device may include outputting the highest ranked insight(s) to the client computing device via an interface via the network.
[00102] Outputting at least a highest ranked insight of the plurality of insights to the client computing device may include outputting the highest ranked insight(s) to a client computing device of an individual or entity other than the requestor. For example, a first entity (e.g., policy holder) may request a recommended insight and a second entity (e.g., insurance company) may obtain the recommended insight, such as by using the transaction ID number, customer ID number, or the like.
[00103] Outputting at least a highest ranked insight of the plurality of insights to the client computing device may be carried out responsive to receiving an authentication, such as a transaction ID number, client ID number, or authentication ID associated therewith. [00104] In some examples, the method 500 may include locking the target context to prevent changes thereto until after producing a plurality of insights and outputting at least a highest ranked insight are completed. In such examples, the method 500 may include unlocking the target context, after producing the recommended insight (e. g. , highest ranked insight), such as responsive to outputting at least a highest ranked insight of the plurality of insights. [00105] In some examples, the method 500 may include receiving, from the client computing device, the target context, an indication of the (e.g., bounds of the) target context, or at least some of the target context. For example, the requestor may define or upload the target context from the client computing device.
[00106] In some examples, the method 500 may include receiving, from a third party curator, at least some of the one or more sets of data (e.g., reference data). For example, a third party curator may upload reference data into the service platform for use by insight engines or recommendation engines. The third party curator may interface with the service platform via an interface for uploading reference data. In some examples, the requestor may upload reference data through the interface. The interface may include an API or user interface. In some examples, the curator may upload their reference data to a source control such as GitHub or the like, which then interfaces with the service platform via one or more APIs to upload the reference data.
[00107] In some examples, the method 500 may include receiving and storing one or more insight engines from one or more developers in the service platform. In such examples, the developers may interface with and upload insight engines to the service platform through an interface over the network (e.g., world wide web). The interface may include an API or user interface. In some examples, the developer may upload their insight engine(s) to a source control such as GitHub or the like, which then interfaces with the service platform via one or more APIs to upload the insight engine(s).
[00108] In some examples, the method 500 may include receiving and storing one or more recommendation engines from one or more recommender developers in the service platform. In such examples, the developers may interface with and upload recommendation engines to the service platform through an interface over the network (e.g., world wide web). The interface may include an API or user interface. In some examples, the recommender developer may upload their recommendation engine(s) to a source control such as GitHub or the like, which then interfaces with the service platform via one or more APIs to upload the recommendation engine(s).
[00109] The one or more sets of data (e.g., reference data) may be received from third party curators, the plurality of insight engines may be received from third party developers, and the recommendation engines may be received from third party recommender developers. One or more of the reference data, the insight engines, or recommendation engines may be received from the a source other than the developer, curator, or recommender developer, such as via a source control as disclosed above. In some examples, one or more of the reference data, the insight engines, or recommendation engines may be received from the requestor. At least some of the one or more sets of data, the plurality of insight engines, and the recommendation engines are stored in the service platform prior to use.
[00110] In some examples, the method 500 may include tracking one or more of an amount of data processed through the plurality of insight engines, an amount of data processed through a selected insight engine of the plurality of insight engines, a number of times a selected insight engine of the plurality of insight engines operates on a selected data set, which recommendation engine is the selected recommendation engine, or an amount of data processed through the selected recommendation engine. Such tracking may be accomplished via associating a transaction ID, client ID, or another identifier to the insight engines, recommendation engines, and reference data used in producing the recommended insight. The method 500 may include calculating a charge for the one or more of an amount of data processed through the plurality of insight engines, an amount of data processed through a selected insight engine of the plurality of insight engines, a number of times a selected insight engine of the plurality of insight engines operates on a selected data set, which recommendation engine is the selected recommendation engine, an amount of data processed through the selected recommendation engine, or other criteria. The method 500 may include calculating a payment (to the developer and/or curator) for the one or more of an amount of data processed through the plurality of insight engines, an amount of data processed through a selected insight engine of the plurality of insight engines, a number of times a selected insight engine of the plurality of insight engines operates on a selected data set, which recommendation engine is the selected recommendation engine, an amount of data processed through the selected recommendation engine, or other criteria.
[00111] Throughout the method 500, the target context is not accessible to any entity outside of the service platform. Accordingly, the method 500 provides recommended insights based on target contexts — which may include protected information — without exposing the target context to any entity outside of the service platform, without requiring the requestor to write their own insight engines and recommendation engines. Accordingly, any party may utilize the method 500 to receive recommended insights without incurring the expense of building their own platform for determining insights.
[00112] Any of the acts, functions, or techniques of the method 500 may be performed by one or more computing functions on the service platform 110 (FIG. 1) or 410 (FIG. 4). For example, one or more of producing a plurality of insights with the target context, the selected data set, and the plurality of insight engines; ranking the plurality of insights according to criteria identified in a selected recommendation engine corresponding to the recommendation engine selection; or outputting at least a highest ranked insight of the plurality of insights to the client computing device are performed by one or more computing functions on the service platform. Any of the acts, functions, or techniques disclosed herein with respect to service platforms 110 or 410 may be included in the method 500.
[00113] While the method 500 describes a method for determining one or more insights, largely from a service platform provider perspective, the service platforms herein may be used by a consumer or client for obtaining one or more insights therefrom.
[00114] FIG. 6 is a flow diagram of a method 600 of obtaining one or more insights from a service platform, according to an embodiment. The method 600 includes block 610 of inputting, from a client computing device, a request for one or more insights based on a target context, one or more sets of data, and plurality of insight engines stored in the service platform; block 620 of assigning the target context in the service platform; block 630 causing the service platform to produce a plurality of insights with the target context, a selected data set from the one or more sets of data, and the plurality of insight engines; block 640 of selecting at least one recommendation engine from a plurality of recommendation engines, wherein the recommendation engines rank the plurality of insights according to selected criteria; and block 650 of collecting at least one recommended insight of the plurality of insights from the at least one recommendation engine, with the client computing device. At least some of block 610-650 may be performed in a different order than presented, may be omitted, may be combined, or may have additional acts performed therebetween. For example, one or more of blocks 610, 620, 630, or 640 may be combined or performed substantially simultaneously or contemporaneously.
[00115] Block 610 of inputting, from a client computing device, a request for one or more insights based on a target context, one or more sets of data, and plurality of insight engines stored in the service platform may include inputting the request into the service platform, such as any of the service platforms disclosed herein. Inputting the request may include inputting the request into an interface of the service platform via a network. For example, inputting the request may include inputting one or more requests into a REST API of the service platform via the network, such as from a server-to-server data upload. The REST API may require the request to be submitted in a specific format or language from the client computing device(s). In some examples, inputting the request may include inputting the request into an interface of the service platform displayed on the client computing device via the network. Inputting the request may include selecting an option to initiate operation of the service platform to perform the operations disclosed herein of the service platforms.
[00116] In examples, the one or more sets of data may be received from third party curators, the plurality of insight engines may be received from third party developers, and the recommendation engines may be received from third party recommender developers as disclosed herein. The requestor may provide one or more of the reference data (e.g., one or more sets of data), insight engine(s), or recommendation engine(s) as disclosed herein. [00117] Block 620 of assigning the target context in the service platform may be carried out by the requestor via the client computing device. The target context may include any of the target contexts disclosed herein such as one or more of a medical history, a financial history, an insurance claim history, an account history, a criminal history, or the like. Assigning the target context in the service platform may include uploading the target context or defining the target context as disclosed herein. For example, assigning the target context in the service platform may include inputting the target context into the service platform via an interface of the service platform. Assigning the target context may include assigning the target context via one or more of a user interface or REST API. Assigning the target context in the service platform may include specifying a target context from among one or more data sets stored in the service platform, as disclosed herein. In specific examples, the requestor may assign the target context as a subset of a larger data set. For example, the requestor may assign the target context for an individual member of a health plan, a specific physician, or specific physician group provided to or stored in the service platform as contexts (e.g. , histories and characteristics) for a group of members of the health plan, group of physicians, or groups of physicians.
[00118] Block 630 of causing the service platform to produce a plurality of insights with the target context, a selected data set from the one or more sets of data, and the plurality of insight engines may include providing instructions to produce the plurality of insights, such as via a connection to the client computing device via a network. For example, causing the service platform to produce a plurality of insights with the selected data set and the plurality of insight engines may include executing a command to produce the plurality of insights via an interface of the service platform, such an a REST API or user interface.
[00119] Block 640 of selecting at least one recommendation engine from a plurality of recommendation engines, wherein the recommendation engines rank the plurality of insights according to selected criteria may be carried out on the client computing device. For example, selecting at least one recommendation engine from a plurality of recommendation engines may include entering a recommendation engine selection into an interface (e.g. , user interface or REST API) of the service platform. The interface may be communicated to the client computing device over the network. In some examples, selecting at least one recommendation engine may include selecting the recommendation engine based on a description of the recommendation engine in a list of recommendation engines or description thereof. Selecting at least one recommendation engine may include selecting a description (e.g., an output description) associated with the at least one recommendation engine, and wherein the output description describes an output of the recommendation engine or a criteria by which the recommendation engine operates. Selecting at least one recommendation engine may include selecting a link (e.g., link to a REST API) in the interface or filling a checkbox for the selected recommendation engine in the interface displayed on the client computing device via the network.
[00120] Block 650 of collecting at least one recommended insight of the plurality of insights from the at least one recommendation engine, with the client computing device may include accessing the service platform to receive the recommended insight(s). Collecting at least one recommended insight of the plurality of insights from the at least one recommendation engine may include collecting at least a highest ranked insight of the plurality of insights. Collecting at least one recommended insight of the plurality of insights from the at least one recommendation engine may include downloading the at least one recommended insight from the service platform, such as via an interface specifically configured to provide the recommend insight. For example, the requestor may select a link (e.g., REST API endpoint) on the user interface to collect the at least one recommend insight. In some examples, the at least one recommended insight may be automatically collected by the client computing device via an API at the interface of the service platform. For example, the service platform may have machine readable and executable instructions to output a REST API endpoint (e.g., link) providing the at least one recommended insight to the client responsive to requesting the insight, selecting a recommendation engine, or any other action taken by the client. In some examples, the interface may require an authentication to access the recommended insight. In such examples, the authentication may be a transaction ID, a client ID, or an authentication number associated with one of the foregoing. [00121] The at least one recommended insight may include any of the insights disclosed herein, such as an insight recommended from the service platform based on one or more of an amount of data processed through the plurality of insight engines, an amount of data processed through a selected insight engine of the plurality of insight engines, a number of times a selected insight engine of the plurality of insight engines operates on a selected data set, which recommendation engine is the selected recommendation engine, an amount of data processed through the selected recommendation engine, or any of the criteria of any of the recommendation engines disclosed herein.
[00122] Any of the acts, functions, or techniques of the method 600 may be performed by one or more computing functions on the service platform 110 (FIG. 1) or 410 (FIG. 4) or client computing device at 130 or 402. Any of the acts, functions, or techniques disclosed herein with respect to service platforms 110 or 410 or the client computing devices at 130 or 402 may be included in the method 600.
[00123] Each of the acts of the methods 500 or 600 disclosed herein may be performed by a computing device (e.g., personal computer, laptop computer, server, tablet, smart phone, or the like), cloud computing device(s), or the like according to a computer program (e.g., software, application software, or the like) stored thereon. One or more of the acts, process, blocks, or techniques described herein with respect to the method 500 or 600, the algorithms of the insight engines or recommendation engines, or the configurations 100 or 400 may be carried out by one or more processors of one or more computing devices. [00124] Any of the example systems disclosed herein may be used to carry out any of the example methods disclosed herein, such as using a system. FIG. 7 is a schematic of a system 700 for executing any of the example methods disclosed herein, according to an embodiment. The system 700 may be configured to implement any of the example methods disclosed herein, such as the method 500 or 600, or any of the acts of the configurations 100 or 400. The system 700 includes at least one computing device 710. The at least one computing device 710 is an exemplary computing device that may be configured to perform one or more of the acts described above, such as the method 500 or 600 or any of the acts of the configuration 100 or 400. The at least one computing device 710 can include one or more servers (e.g. , cloud storage platform), one or more computers (e.g., desktop computer, laptop computer), or one or more mobile computing devices (e.g., smartphone, tablet, etc.). The at least one computing device 710 can comprise at least one processor 720, memory 730, a storage device 740, an input/output (“I/O”) device/interface 750, and a communication interface 760. While an example computing device 710 is shown in FIG. 7, the components illustrated in FIG. 7 are not intended to be limiting of the system 700 or computing device 710. Additional or alternative components may be used in some examples. Further, in some examples, the system 700 or the computing device 710 can include fewer components than those shown in FIG. 7. For example, the system 700 may not include the one or more additional computing devices 712 or 714. In some examples, the at least one computing device 710 may include a plurality of computing devices, such as a server farm, computational network, a cloud network, or cluster of computing devices. Components of computing device(s) 710 shown in FIG. 7 are described in additional detail below.
[00125] In some examples, the processor(s) 720 includes hardware for accessing and executing machine readable and executable instructions (e.g., instructions for carrying out one or more portions of any of the methods disclosed herein), such as those making up a computer program. For example, to execute instructions, the processor(s) 720 may retrieve (or fetch) the instructions from an internal register, an internal cache, the memory 730, or a storage device 740 and decode and execute them. In particular examples, processor(s) 720 may include one or more internal caches for data such as databases or libraries. As an example, the processor(s) 720 may include one or more instruction caches, one or more data caches, and one or more translation lookaside buffers (TLBs). Instructions in the instruction caches may be copies of instructions in memory 730 or storage device 740. In some examples, the processor 720 may be configured (e.g., include programming stored thereon or executed thereby) to carry out one or more portions of any of the example methods disclosed herein.
[00126] In some examples, the processor 720 is equipped or programmed to perform any of the acts disclosed herein such as in method 500 or 600 or the acts performed by the configuration 100 or 400, or cause one or more portions of the computing device 710 or system 700 to perform at least one of the acts disclosed herein. Such configuration can include one or more operational programs (e.g., computer program products) that are executable by the at least one processor 720. For example, the processor 720 may be configured to receive, from a requestor at a client computing device, a request for one or more insights based on a target context, one or more sets of data, and a plurality of insight engines stored in the service platform; produce a plurality of insights with the target context, a selected data set of the one or more sets of data, and the plurality of insight engines; output a list of recommendation engines to the client computing device; receive a recommendation engine selection from the requestor; rank the plurality of insights according to a selected recommendation engine corresponding to the recommendation engine selection; and output at least a highest ranked insight of the plurality of insights to the client computing device as disclosed in the example method 600.
[00127] The at least one computing device 710 (e.g., a server) may include at least one non-transitory memory storage medium (e.g. , memory 730 and/or storage device 740). The at least one computing device 710 may include memory 730, which is operably coupled to the processor(s) 720. The memory 730 may be used for storing data, metadata, and programs for execution by the processor(s) 720. The memory 730 may include one or more of volatile and non-volatile memories, such as Random Access Memory (RAM), Read Only Memory (ROM), a solid state disk (SSD), Flash, Phase Change Memory (PCM), or other types of data storage. The memory 730 may be internal or distributed memory. [00128] The at least one computing device 710 may include the storage device 740 having storage for storing data or instructions. The storage device 740 may be operably coupled to the at least one processor 720. In some examples, the storage device 740 can comprise a non-transitory memory storage medium, such as any of those described above. The storage device 740 (e.g., non-transitory storage medium) may include a hard disk drive (HDD), a floppy disk drive, flash memory, an optical disc, a magneto-optical disc, magnetic tape, or a Universal Serial Bus (USB) drive or a combination of two or more of these. The storage device 740 may include one or more servers of a cloud storage platform. Storage device 740 may include removable or non-removable (or fixed) media. Storage device 740 may be internal or external to the at least one computing device 710. In some examples, storage device 740 may include non-volatile, solid-state memory. In some examples, storage device 740 may include read-only memory (ROM). Where appropriate, this ROM may be mask programmed ROM, programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), electrically alterable ROM (EAROM), or flash memory or a combination of two or more of these. In some examples, one or more portions of the memory 730 and/or storage device 740 (e.g., memory storage medium(s)) may store one or more databases thereon. At least some of the databases may be used to store reference data, target contexts, insight engines, anonymous functions, recommendation engines, process data, or the like, as disclosed herein. At least some of the databases may include libraries of data therein, such as any of the libraries disclosed herein.
[00129] In some examples, one or more databases, instructions for performing any of the acts disclosed herein, instructions for performing any of the algorithms disclosed herein, or instructions of any of the computer programs disclosed herein may be stored in a memory storage medium such as one or more of the at least one processor 720 (e.g., internal cache of the processor), memory 730, or the storage device 740. In some examples, the at least one processor 720 may be configured to access (e.g., via bus 770) the memory storage medium(s) such as one or more of the memory 730 or the storage device 740. For example, the at least one processor 720 may receive and store the data (e.g., look-up tables) as a plurality of data points in the memory storage medium(s). The at least one processor 720 may execute programming stored therein adapted access the data in the memory storage medium(s) to carry out any of the acts of the method 500 or 600. For example, the at least one processor 720 may access insight engines and reference data in the memory storage medium(s) such as memory 730 or storage device 740.
[00130] The at least one computing device 710 also includes one or more I/O devices/interfaces 750, which are provided to allow a user to provide input to, receive output from, and otherwise transfer data to and from the at least one computing device 710. These I/O devices/interfaces 750 may include a mouse, keypad or a keyboard, a touch screen, camera, optical scanner, network interface, web-based access, modem, a port, other known I/O devices or a combination of such I/O devices/interfaces 750. The touch screen may be activated with a stylus or a finger.
[00131] The I/O devices/interfaces 750 may include one or more devices for presenting output to a user, including, but not limited to, a graphics engine, a display (e.g., a display screen or monitor), one or more output drivers (e.g., display drivers), one or more audio speakers, and one or more audio drivers. In certain examples, I/O devices/interfaces 750 are configured to provide graphical data to a display for presentation to a user, such as on a user interface. The graphical data may be representative of one or more graphical user interfaces and/or any other graphical content as may serve a particular implementation. [00132] The at least one computing device 710 can further include a communication interface 760. The communication interface 760 can include hardware, software, or both. The communication interface 760 can provide one or more interfaces for communication (such as, for example, packet-based communication) between the at least one computing device 710 and one or more additional computing devices 712 and 714 or one or more networks. For example, communication interface 760 may include a network interface controller (NIC) or network adapter for communicating with an Ethernet or other wire- based network or a wireless NIC (WNIC) or wireless adapter for communicating with a wireless network, such as a WI-FI, or a cloud network. [00133] Any suitable network and any suitable communication interface 760 may be used. For example, at least one computing device 710 may communicate with an ad hoc network, a personal area network (PAN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), or one or more portions of the Internet or a combination of two or more of these. One or more portions of one or more of these networks may be wired or wireless. As an example, one or more portions of system 700 or at least one computing device 710 may communicate with a wireless PAN (WPAN) (such as, for example, a BLUETOOTH WPAN), a WI-FI network, a WI-MAX network, a cellular telephone network (such as, for example, a Global System for Mobile Communications (GSM) network), or other suitable wireless network or a combination thereof. The at least one computing device 710 may include any suitable communication interface 760 for any of these networks, where appropriate.
[00134] The at least one computing device 710 may include a bus 770. The bus 770 can include hardware, software, or both that couples components of the at least one computing device 710 to each other. For example, bus 770 may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a front-side bus (FSB), a HYPERTRANSPORT (HT) interconnect, an Industry Standard Architecture (ISA) bus, an INFINIBAND interconnect, a low-pin-count (LPC) bus, a memory bus, a Micro Channel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI- Express (PCIe) bus, a serial advanced technology attachment (SATA) bus, a Video Electronics Standards Association local (VLB) bus, or another suitable bus or a combination thereof.
[00135] The additional computing devices 712 and 714 may include programming thereon to communicate with the at least one computing device 710. The additional computing devices 712 and 714 may be similar or identical to the at least one computing device 710 in one or more aspects. In some examples, the computing device may be a server, the additional computing device 712 may be the computing device of a sender of an electronic communication (e.g., requestor), and the additional computing device 714 may be the computing device of another sender of an electronic communication (e.g., developer or curator). The instructions for carrying out the methods disclosed herein may be stored on and carried out by the at least one computing device 710. In some examples, the at least one computing device 710 is a plurality of cloud computing servers and the computing device 514 is the computing device of the requestor, developer, or curator. In such examples, the instructions for carrying out the methods disclosed herein may be stored on and executed by the at least one computing device 710. It should be appreciated that any of the example acts described herein, such as in the configurations 100 or 400, the or methods 500 or 600 may be performed by and/or at one or more of the at least one computing device 710, the additional computing device 712, or the computing device 714. [00136] The system 700 may store one or more components of any of the configurations disclosed herein or one or more machine readable and executable instructions for carrying out any of the methods (or portions thereof) disclosed herein.
[00137] FIG. 8 is a block diagram illustrating an example computer program product 800 that is arranged to store instructions for determining one or more insights with a service platform or obtaining one or more insights from a service platform, as disclosed herein. The signal bearing medium 810 (non- transitory memory storage medium) which may be implemented as or include a computer-readable medium 830, a computer recordable medium 840, a computer communications medium 860, or combinations thereof, stores machine readable and executable instructions 820 that may configure an associated processing unit to perform all or some of the techniques (e.g., acts) disclosed herein. The machine readable and executable instructions may include instructions for carrying out any of the methods 500 or 600, or any of the portions or acts of the configurations 100 or 400, as disclosed herein. Such instructions may include, one or more machine readable and executable instructions for receiving, from a requestor at a client computing device, a request for one or more insights based on a target context, one or more sets of data, and a plurality of insight engines stored in the service platform; producing a plurality of insights with the target context, a selected data set of the one or more sets of data, and the plurality of insight engines; outputting a list of recommendation engines to the client computing device; receiving a recommendation engine selection from the requestor; ranking the plurality of insights according to a selected recommendation engine corresponding to the recommendation engine selection; and outputting at least a highest ranked insight of the plurality of insights to the client computing device.
[00138] The configurations, systems, and methods disclosed herein provide a safe platform for providing insights while limiting the exposure of protected information to outside entities and allows third party developers to contribute to solutions without being exposed to the protected information. Accordingly, developers and curators can provide tools without the necessity of satisfying stringent legal requirements associated with being exposed to protected information· [00139] While various aspects and embodiments have been disclosed herein, other aspects and embodiments are contemplated. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting. Additionally, the words “including,” “having,” and variants thereof (e.g., “includes” and “has”) as used herein, including the claims, shall be open ended and have the same meaning as the word “comprising” and variants thereof (e.g., “comprise” and “comprises”).

Claims

CLAIMS What is claimed is:
1. A method for determining one or more insights with a service platform, the method comprising: receiving, from a requestor at a client computing device, a request for one or more insights based on a target context, one or more sets of data, and a plurality of insight engines stored in the service platform; producing a plurality of insights with the target context, a selected data set of the one or more sets of data, and the plurality of insight engines; outputting a list of recommendation engines to the client computing device; receiving a recommendation engine selection from the requestor; ranking the plurality of insights according to a selected recommendation engine corresponding to the recommendation engine selection; and outputting at least a highest ranked insight of the plurality of insights to the client computing device.
2. The method of claim 1, wherein the one or more sets of data are received from third party curators, the plurality of insight engines are received from third party developers, and the recommendation engines are received from third party recommender developers.
3. The method of claim 2, wherein at least some of the one or more sets of data, the plurality of insight engines, and the recommendation engines are stored in the service platform.
4. The method of claim 1, wherein each of the plurality of insight engines, the target context, and the selected data set is imported into a respective virtual secure compartmented information facility (“VSCIF’) in the service platform for processing the target context and the selected data set with the plurality of insight engines to produce the plurality of insights.
5. The method of claim 1, further comprising labelling the target context and the selected data set with one or more of a customer identification number, a transaction identification number, or an insight identification number.
6. The method of claim 1, further comprising locking the target context to prevent changes thereto until after producing a plurality of insights and outputting at least a highest ranked insight are completed.
7. The method of claim 5, further comprising unlocking the target context responsive to outputting at least a highest ranked insight of the plurality of insights.
8. The method of claim 1, wherein producing a plurality of insights with the target context, the selected data set, and the plurality of insight engines includes processing the target context and the selected data set with the plurality of insight engines to produce the plurality of insights.
9. The method of claim 1, wherein ranking the plurality of insights according to a selected recommendation engine corresponding to the recommendation engine selection includes importing the selected recommendation engine into a virtual secure compartmented information facility (“VSCIF”) in the service platform and the plurality of insights are imported into the VSCIF for ranking the plurality of insights.
10. The method of claim 1, wherein ranking the plurality of insights according to criteria identified in a selected recommendation engine corresponding to the recommendation engine selection includes ranking the plurality of insights according to one or more of least data use to determine a selected insight, least computing power required to determine the selected insight, a fastest computing time for determining the selected insight, a publish date of an insight engine used to determine the selected insight, a code version of an insight engine used to determine the selected insight, or an insight engine for determining the selected insight that most closely matches one or more criteria indicated by a requestor of the one or more insights.
11. The method of claim 1 , wherein outputting a list of recommendation engines to the client computing device includes providing a listing of recommendation engines with corresponding descriptions of one or more of intended outputs or criteria on which the recommendation engines operate.
12. The method of claim 1, further comprising receiving, from the client computing device, at least some of the target context.
13. The method of claim 1, further comprising receiving, from a third party curator, at least some of the one or more sets of data.
14. The method of claim 1, wherein one or more of producing a plurality of insights with the target context, the selected data set, and the plurality of insight engines; ranking the plurality of insights according to criteria identified in a selected recommendation engine corresponding to the recommendation engine selection; or outputting at least a highest ranked insight of the plurality of insights to the client computing device are performed by one or more computing functions on the service platform.
15. The method of claim 1 , further comprising receiving and storing one or more insight engines from one or more developers in the service platform.
16. The method of claim 1, further comprising tracking one or more of an amount of data processed through the plurality of insight engines, an amount of data processed through a selected insight engine of the plurality of insight engines, a number of times a selected insight engine of the plurality of insight engines operates on a selected data set, which recommendation engine is the selected recommendation engine, or an amount of data processed through the selected recommendation engine.
17. The method of claim 15, wherein outputting at least a highest ranked insight of the plurality of insights to the client computing device includes presenting a plurality of highest ranked insights to the requestor via the client computing device.
18. The method of claim 16, further comprising calculating a charge for the one or more of an amount of data processed through the plurality of insight engines, an amount of data processed through a selected insight engine of the plurality of insight engines, a number of times a selected insight engine of the plurality of insight engines operates on a selected data set, which recommendation engine is the selected recommendation engine, or an amount of data processed through the selected recommendation engine.
19. The method of claim 1, wherein the one or more sets of data include reference data for use in performing one or more functions in the plurality of insight engines.
20. The method of claim 1, wherein the target context includes personally identifiable information of one or more individuals.
21. The method of claim 1, wherein the target context is not accessible to any entity outside of the service platform.
22. A computing system for providing a service platform for determining insights, the computing system including: a non-transitory memory storage medium storing machine readable and executable instructions for: receiving, from a requestor at a client computing device, a request for one or more insights based on a target context, one or more sets of data, and a plurality of insight engines stored in the service platform; producing a plurality of insights with the target context, a selected data set of the one or more sets of data, and the plurality of insight engines; outputting a list of recommendation engines to the client computing device; receiving a recommendation engine selection from the requestor; ranking the plurality of insights according to a selected recommendation engine corresponding to the recommendation engine selection; and outputting at least a highest ranked insight of the plurality of insights to the client computing device; and a processor configured to access and execute the machine readable and executable instructions.
23. The computing system of claim 22, wherein the machine readable and executable instructions include instructions for receiving the one or more sets of data from third party curators, insight engines from third party developers, and recommendation engines from third party recommender developers.
24. The computing system of claim 22, wherein the non-transitory memory storage medium and the processor are housed in a desktop computer, a laptop computer, one or more servers, a tablet device, or a cellular telephone.
25. The computing system of claim 22, wherein the non-transitory memory storage medium includes one or more servers of a cloud storage platform.
26. The computing system of claim 22, wherein the one or more sets of data and the plurality of insight engines are stored in the service platform in the non-transitory memory storage medium.
27. The computing system of claim 22, wherein the machine readable and executable instructions include instructions for importing each insight engine of the plurality of insight engines, the target context, and the selected data set into a respective virtual secure compartmented information facility (“VSCIF’), in the service platform, for processing the target context and the selected data set with the plurality of insight engines to produce the plurality of insights.
28. The computing system of claim 22, wherein the machine readable and executable instructions further include instructions for labelling the target context and the selected data set with one or more of a customer identification number, a transaction identification number, or an insight identification number.
29. The computing system of claim 22, wherein the machine readable and executable instructions further include instructions for locking the target context to prevent changes thereto until after producing a plurality of insights and outputting at least a highest ranked insight is completed.
30. The computing system of claim 22, wherein the machine readable and executable instructions for producing a plurality of insights with the target context, the selected data set, and the plurality of insight engines include instructions for processing the target context and selected data set with a plurality of insight engines of the plurality of insight engines to produce the plurality of insights.
31. The computing system of claim 22, wherein the machine readable and executable instructions for ranking the plurality of insights according to a selected recommendation engine corresponding to the recommendation engine selection include instructions for importing the selected recommendation engine in a virtual secure compartmented information facility (“VSCIF’) in the service platform and importing the plurality of insights into the VSCIF for ranking the plurality of insights.
32. The computing system of claim 31, wherein the machine readable and executable instructions for ranking the plurality of insights according to a selected recommendation engine corresponding to the recommendation engine selection include instructions for ranking the plurality of insights according to one or more of least data use to determine a selected insight, least computing power required to determine the selected insight, a fastest computing time for determining the selected insight, a publish date of an insight engine used to determine the selected insight, a code version of an insight engine used to determine the selected insight, or an insight engine for determining the selected insight that most closely matches one or more criteria indicated by a requestor of the one or more insights.
33. The computing system of claim 22, wherein the machine readable and executable instructions include instructions for outputting a list of recommendation engines to the client computing device includes instructions for providing a listing of recommendation engines with corresponding descriptions of one or more of intended outputs or criteria on which the recommendation engines operate.
34. The computing system of claim 22, wherein the machine readable and executable instructions further comprise instructions for providing an interface for receiving, from a third party curator, at least a portion of the one or more sets of data.
35. The computing system of claim 22, wherein the machine readable and executable instructions further comprise instructions for providing an interface for receiving insight engines from third party developers.
36. The computing system of claim 22, wherein the machine readable and executable instructions further comprise instructions for providing an interface for receiving recommendation engines from third party recommendation developers.
37. The computing system of claim 22, wherein the machine readable and executable instructions include computer functions for performing one or more of producing a plurality of insights with the target context, the selected data set, and the plurality of insight engines; ranking the plurality of insights according to a selected recommendation engine corresponding to the recommendation engine selection; or outputting at least a highest ranked insight of the plurality of insights to the client computing device.
38. The computing system of claim 22, wherein the machine readable and executable instructions further comprise instructions for tracking one or more of an amount of data processed through the plurality of insight engines, an amount of data processed through a selected insight engine of the plurality of insight engines, a number of times a selected insight engine of the plurality of insight engines operates on a selected data set, which recommendation engine is the selected recommendation engine, or an amount of data processed through the selected recommendation engine.
39. The computing system of claim 38, wherein the machine readable and executable instructions for outputting at least a highest ranked insight of the plurality of insights to the client computing device include instructions for presenting a plurality of highest ranked insights to the requestor via the client computing device.
40. The computing system of claim 39, wherein the machine readable and executable instructions further comprise instructions for calculating a charge for the one or more of an amount of data processed through the plurality of insight engines, an amount of data processed through a selected insight engine of the plurality of insight engines, a number of times a selected insight engine of the plurality of insight engines operates on a selected data set, which recommendation engine is the selected recommendation engine, or an amount of data processed through the selected recommendation engine.
41. The computing system of claim 22, wherein the machine readable and executable instructions further comprise instructions for storing the target context and the at least one of the plurality of insights computed with target context and the selected data set, in the non-transitory computer readable medium.
42. The computing system of claim 22, wherein the machine readable and executable instructions further comprise instructions for outputting at least a highest ranked insight of the plurality of insights to the client computing device includes presenting a plurality of highest ranked insights to the requestor via the client computing device.
43. A method for obtaining one or more insights from a service platform, the method comprising: inputting, from a client computing device, a request for one or more insights based on a target context, one or more sets of data, and plurality of insight engines stored in the service platform; assigning the target context in the service platform; causing the service platform to produce a plurality of insights with the target context, a selected data set from the one or more sets of data, and the plurality of insight engines; selecting at least one recommendation engine from a plurality of recommendation engines, wherein the plurality of recommendation engines rank the plurality of insights according to selected criteria; and collecting at least one recommended insight of the plurality of insights from the at least one recommendation engine, with the client computing device.
44. The method of claim 43, wherein the one or more sets of data are received from third party curators, the plurality of insight engines are received from third party developers, and the recommendation engines are received from third party recommender developers.
45. The method of claim 43, wherein the target context includes one or more of a medical history, a financial history, or an insurance claim history.
46. The method of claim 43, wherein assigning the target context in the service platform includes inputting the target context into the service platform via an interface of the service platform.
47. The method of claim 43, wherein causing the service platform to produce a plurality of insights with the selected data set and the plurality of insight engines includes executing a command to produce the plurality of insights via an interface of the service platform.
48. The method of claim 43, wherein selecting at least one recommendation engine from a plurality of recommendation engines includes entering a recommendation engine selection into an interface of the service platform.
49. The method of claim 43, wherein selecting at least one recommendation engine includes selecting an output description associated with the at least one recommendation engine, and wherein the output description describes an output of the recommendation engine.
50. The method of claim 43, wherein collecting at least one recommended insight of the plurality of insights from the at least one recommendation engine includes collecting at least a highest ranked insight of the plurality of insights.
51. The method of claim 43, wherein collecting at least one recommended insight of the plurality of insights from the at least one recommendation engine includes downloading the at least one recommended insight from the service platform.
52. The method of claim 43, wherein the at least one recommended insight includes an insight recommended from the service platform based on one or more of an amount of data processed through the plurality of insight engines, an amount of data processed through a selected insight engine of the plurality of insight engines, a number of times a selected insight engine of the plurality of insight engines operates on a selected data set, which recommendation engine is the selected recommendation engine, or an amount of data processed through the selected recommendation engine.
PCT/US2021/015109 2020-01-28 2021-01-26 Insight recommendation cross-reference to related applications WO2021154741A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202062966722P 2020-01-28 2020-01-28
US62/966,722 2020-01-28

Publications (1)

Publication Number Publication Date
WO2021154741A1 true WO2021154741A1 (en) 2021-08-05

Family

ID=77079193

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2021/015109 WO2021154741A1 (en) 2020-01-28 2021-01-26 Insight recommendation cross-reference to related applications

Country Status (1)

Country Link
WO (1) WO2021154741A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100211456A1 (en) * 2002-11-22 2010-08-19 Accenture Global Services Gmbh Adaptive Marketing Using Insight Driven Customer Interaction
US20130031173A1 (en) * 2011-07-30 2013-01-31 Huawei Technologies Co., Ltd. Information recommendation method, recommendation engine, network system
US20150039537A1 (en) * 2013-08-02 2015-02-05 Microsoft Corporation Automatic recognition and insights of data
US20160048648A1 (en) * 2014-08-14 2016-02-18 Cognitive Scale, Inc. Method for Providing Healthcare Industry Optimized Cognitive Insights
US20180357276A1 (en) * 2015-06-29 2018-12-13 Microsoft Technology Licensing, Llc Automatic insights for multi-dimensional data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100211456A1 (en) * 2002-11-22 2010-08-19 Accenture Global Services Gmbh Adaptive Marketing Using Insight Driven Customer Interaction
US20130031173A1 (en) * 2011-07-30 2013-01-31 Huawei Technologies Co., Ltd. Information recommendation method, recommendation engine, network system
US20150039537A1 (en) * 2013-08-02 2015-02-05 Microsoft Corporation Automatic recognition and insights of data
US20160048648A1 (en) * 2014-08-14 2016-02-18 Cognitive Scale, Inc. Method for Providing Healthcare Industry Optimized Cognitive Insights
US20180357276A1 (en) * 2015-06-29 2018-12-13 Microsoft Technology Licensing, Llc Automatic insights for multi-dimensional data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HOGAN ET AL.: "Searching and browsing linked data with swse: The semantic web search engine.", JOURNAL OF WEB SEMANTICS, vol. 9, no. 4, 14 June 2011 (2011-06-14), pages 365 - 401, XP028125309, Retrieved from the Internet <URL:https://www.sciencedirect.com/science/article/abs/pii/S1570826811000473> [retrieved on 20210323], DOI: 10.1016/j.websem.2011.06.004 *

Similar Documents

Publication Publication Date Title
US10733546B2 (en) Automated user interface generation for process tracking
US8655679B2 (en) System and methods for an intelligent medical practice system employing a learning knowledge base
US10152761B2 (en) Facilitating transactions for health applications designed for mobile devices
US11562438B1 (en) Systems and methods for auditing discount card-based healthcare purchases
US20140244284A1 (en) Communication of medical claims
US8321243B1 (en) Systems and methods for the intelligent coordination of benefits in healthcare transactions
US10606984B1 (en) Adherence monitoring system
US20150371000A1 (en) Systems and Methods for Determining Patient Adherence to a Prescribed Medication Protocol
US10978183B2 (en) Device for approving medical tests across a plurality of medical laboratories, medical providers, and lab payers and methods for using the same
JP2009211714A (en) System, method and computer program for interfacing expert system to clinical information system
US20200105392A1 (en) Healthcare ecosystem methods, systems, and techniques
US20160321412A1 (en) Cost, Quality and Distance Based Method and System for Health Care Referrals
US11126696B1 (en) Healthcare recommendation and prediction system
US20230034892A1 (en) System and Method for Employing a Predictive Model
US20080040164A1 (en) System and Method for Facilitating Claims Processing
US10742811B2 (en) Smart communications and analytics learning engine
US10742654B1 (en) Prescription prior authorization system
US20180011976A1 (en) Self-service healthcare platform
JP6858308B2 (en) A method of making inferences that support a view without disclosing uniquely identifiable data, and a system for that purpose.
Poonsuph The Design Blueprint for a Large‐Scale Telehealth Platform
US11475155B1 (en) Utilizing a protected server environment to protect data used to train a machine learning system
US20230282358A1 (en) Predictive health plan optimization for users of a network-based health care service
US20210090191A1 (en) System and methods for estate planning predictions and recommendations
US20150051915A1 (en) Systems and methods for allocating payments across multiple healthcare accounts
US20220375557A1 (en) Data processing and human interface system for admission and discharge management

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21747168

Country of ref document: EP

Kind code of ref document: A1