Display method and display program

The display method and program address the lack of resource allocation assessment in policy flows by visually comparing object allocations across workflows, enabling effective resource determination and workload balance analysis.

JP7859224B2Active Publication Date: 2026-05-15FUJITSU LTD
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
FUJITSU LTD
Filing Date
2022-06-23
Publication Date
2026-05-15

AI Technical Summary

Technical Problem

Conventional technologies for formulating policy flows, such as the energy-saving evaluation support device, fail to provide information on resource surplus or deficiency, particularly in allocating resources like service providers to the number of individuals targeted by the policy flow, as they only consider similar scales and types of facilities without adequate resource allocation assessment.

Method used

A display method and program that visualize and display the allocation status of objects, such as people, in both draft and comparison policy flows, by counting and comparing the number of objects assigned to each service through conditional branching elements, using a server device with communication, storage, and control units to calculate and display differences between workflows.

Benefits of technology

Provides information to determine whether there is a surplus or shortage of resources by visually comparing the number of objects assigned to services, helping to identify workload imbalances and resource appropriateness in policy implementation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007859224000001
    Figure 0007859224000001
  • Figure 0007859224000002
    Figure 0007859224000002
  • Figure 0007859224000003
    Figure 0007859224000003
Patent Text Reader

Abstract

To provide information that contributes to determination of whether or not resources are sufficient.SOLUTION: In a display method, processes of: counting a number of objects that are allocated by a conditional branching element of a first workflow for each last element of elements included in the first workflow by receiving designation of the first workflow and applying a plurality of objects to the first workflow; counting a number of objects that are allocated by a conditional branching element of a second workflow for each last element of elements included in the second workflow by applying a plurality of objects to the second workflow which is different from the first workflow; and displaying a number of objects that are allocated to the last element by associating with the last element for each first workflow and for each second workflow, are executed by a computer.SELECTED DRAWING: Figure 13
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a display method and a display program.

Background Art

[0002] As one of the workflows, there is a technology for supporting the formulation of policy flows in various fields such as medical care, nursing care, and administration. For example, for the selection of energy-saving measures, an energy-saving evaluation support device has been proposed that searches for measures that can be introduced into a building from the input of information on the target building and equipment (see, for example, Patent Document 1).

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] However, the conventional technologies represented by the above energy-saving evaluation support device only search for related measures that can be related to the measures to be formulated, so there is an aspect that they may not necessarily provide information useful for judging the excess or deficiency of resources.

[0005] For example, the policy flow has an aspect of allocating the humans targeted by the policy to services for achieving the purpose of the policy through the conditional branches defined in the policy flow. However, the above related measures only have similar scales and types of equipment such as buildings between the measures to be formulated and the related measures. Therefore, it is unclear whether the policy flow of the above related measures is appropriate as an index for judging whether the resources such as service providers can be appropriately allocated to the number of people to whom humans are allocated in the service of the policy flow to be formulated. Even if such a policy flow of related measures is presented, it is difficult to judge the excess or deficiency of resources.

[0006] Here, we used a policy flow as an example of a workflow and a person as an example of an object assigned by the workflow. However, similar issues can arise when objects other than people are assigned to workflows in general.

[0007] In one aspect, the present invention aims to provide a display method and a display program that can provide information useful for determining whether there is a surplus or shortage of resources. [Means for solving the problem]

[0008] In a display method relating to one side, the computer performs the following processes: it accepts the specification of a first workflow; applies a plurality of objects to the first workflow, counting the number of objects assigned to each last element among the elements included in the first workflow by the conditional branching elements of the first workflow; applies the plurality of objects to a second workflow different from the first workflow, counting the number of objects assigned to each last element among the elements included in the second workflow by the conditional branching elements of the second workflow; and displays the number of objects assigned to each last element in relation to the last element for both the first and second workflows. [Effects of the Invention]

[0009] This can provide information that helps determine whether there is a surplus or shortage of resources. [Brief explanation of the drawing]

[0010] [Figure 1] Figure 1 is a block diagram showing an example of the functional configuration of a server device. [Figure 2] Figure 2 shows examples of the original flow chart and the comparison flow chart. [Figure 3] Figure 3 shows an example of the draft flowchart. [Figure 4]FIG. 4 is a diagram showing an example of resident data. [Figure 5] FIG. 5 is a schematic diagram showing an example of route identification. [Figure 6] FIG. 6 is a schematic diagram showing an example of calculation of dissimilarity. [Figure 7] FIG. 7 is a schematic diagram showing an example of calculation of dissimilarity. [Figure 8] FIG. 8 is a diagram showing an example of a comparison flow. [Figure 9] FIG. 9 is a diagram showing an example of the relationship between a route and frequency. [Figure 10] FIG. 10 is a diagram showing an example of a comparison flow. [Figure 11] FIG. 11 is a diagram showing an example of the relationship between a route and frequency. [Figure 12] FIG. 12 is a diagram showing an example of a prototype flow and a comparison flow. [Figure 13] FIG. 13 is a diagram showing an example of display of a prototype flow. [Figure 14] FIG. 14 is a diagram showing an example of display of a comparison flow. [Figure 15] FIG. 15 is a flowchart showing the procedure of display processing. [Figure 16] FIG. 16 is a diagram showing an example of hardware configuration. DETAILED DESCRIPTION OF THE INVENTION

[0011] Hereinafter, embodiments of the display method and display program according to the present application will be described with reference to the accompanying drawings. Each embodiment merely shows one example or aspect, and numerical values, functional ranges, usage scenarios, etc. are not limited by such examples. And each embodiment can be appropriately combined within a range that does not conflict with the processing content. EXAMPLE

[0012] <System Configuration> FIG. 1 is a block diagram showing an example of the functional configuration of the server device 10. The server device 10 shown in FIG. 1 provides a creation support function for assisting in creating a workflow.

[0013] The server device 10 is an example of a computer that provides the above-described creation support function. For example, the server device 10 can be realized as a server that provides the above-described creation support function on-premises. In addition, the server device 10 can provide the above-described creation support function as a cloud service by being realized as a PaaS (Platform as a Service)-type or SaaS (Software as a Service)-type application.

[0014] As shown in FIG. 1, the server device 10 can be communicably connected to the client terminal 30 via the network NW. For example, the network NW can be any type of communication network such as the Internet or a LAN (Local Area Network), regardless of whether it is wired or wireless. Although FIG. 1 shows an example in which one client terminal 30 is connected to one server device 10, any number of client terminals 30 can be connected without being hindered.

[0015] The client terminal 30 corresponds to an example of a computer that receives the provision of the above-described creation support function. For example, the client terminal 30 can be realized by a personal computer, or a portable terminal device such as a smartphone, a tablet terminal, or a wearable terminal.

[0016] Note that FIG. 1 gives an example of a usage scenario in which the server device 10 provides the above-described creation support function as a service to the client terminal 30, but this is merely an example. For example, the creation support function may be provided stand-alone by causing an application operating on the client terminal 30 to execute a process corresponding to the above-described creation support function on the client terminal 30.

[0017] <Policy flow> Below, we present a policy flow as just one example of a workflow, and a person as just one example of an object assigned by that workflow.

[0018] Here, "policy flow" refers to the allocation of individuals targeted by policies in various fields such as healthcare, long-term care, and administration to services that achieve the policy's objectives. For example, policy flow may include elements such as "conditional branching" and "intervention."

[0019] Of these, "conditional branching" corresponds to the element that sorts the people targeted by the policy based on certain conditions. "Intervention" corresponds to the element that defines the services or countermeasures necessary to achieve the policy's objectives.

[0020] The services allocated in this policy flow can be provided by healthcare service providers. For example, healthcare service providers may include medical professionals such as doctors and nurses, as well as administrative service providers such as public health nurses and health promotion departments.

[0021] Therefore, when formulating policy flows, it is important to consider whether human resources, such as healthcare service providers, can be appropriately allocated to the services to which people are assigned according to the policy flow.

[0022] <The Importance of Comparison> The policy-making process includes (A) identifying and organizing issues, (B) formulating and implementing policies, and (C) verifying and evaluating their effectiveness. Of these, policy-making falls under (B) policy-making and implementation. Furthermore, (B) policy-making and implementation includes processes such as formulating candidate policies, analyzing and comparing policies, and making decisions.

[0023] There are four requirements for formulating such policy candidates. For example, firstly, existing policy alternatives can be used as they are. Secondly, policies implemented in other regions can be adapted and used as policy alternatives. Thirdly, policies can be devised by referring to a list of general policy measures. Fourthly, policies can be devised that are entirely new.

[0024] In addition to these four requirements, it is clear that whether or not similar measures have been taken in the past is an important factor in policy formulation from the perspective of administrative feasibility. Therefore, the importance of comparing the policy flow of the draft with the policy flow of existing measures is increasing.

[0025] In the following, the proposed policy flow will be referred to as the "proposed flow," while the policy flow of existing policies may be referred to as the "comparative flow."

[0026] <One aspect of the problem> As explained in the section on challenges above, conventional technologies, such as the energy conservation evaluation support device mentioned above, merely search for related measures that may be relevant to the measures being planned, and therefore do not necessarily provide information that can help determine whether there is a surplus or shortage of resources.

[0027] For example, a policy flow involves allocating individuals targeted by the policy to services that achieve the policy's objectives through conditional branching defined within the policy flow. However, the related policies mentioned above are only similar in scale and type of facilities such as buildings to the policy being planned. Therefore, it is unclear whether the policy flow of the related policies mentioned above is appropriate as an indicator for determining whether resources such as service providers can be appropriately allocated to the number of people assigned to the services of the policy flow being planned. Even if such policy flows for related policies are presented, it is difficult to determine whether there is a surplus or shortage of resources.

[0028] <One aspect of a problem-solving approach> Therefore, as part of the creation support function in this embodiment, a display function is provided that visualizes and displays the allocation status of people assigned to each service in the draft flow and the comparison flow.

[0029] Figure 2 shows an example of the display of the original flow and the comparison flow. In Figure 2, a comparison flow m1 similar in structure to the original flow f1 is shown as an example of a comparison flow. As shown in Figure 2, the original flow f1 and the comparison flow m1 are displayed according to the display function described above. For example, the original flow f1 shows the number of people to be allocated to each service Z1, Z2, and Z3 according to conditional branches L1, L2, and L3. On the other hand, the comparison flow m1 shows the number of people to be allocated to each service Z1, Z2, Z3, and Z4 according to conditional branches L1, L2, and L3.

[0030] It is clear that services Z1, Z2, and Z4 are common to both the original flow f1 and the comparative flow m1. Furthermore, the number of people allocated to services Z1 and Z4 are the same, and 10 people are also common to service Z2. Thus, the number of people affected by the difference between the original flow f1 and the comparative flow m1 is 10 out of a total of 100 people, making it clear that the comparative flow m1 is a policy flow that is closer to the original flow f1.

[0031] Such a comparative flow m1 can be said to be a suitable indicator for determining whether human resources can be appropriately allocated to the number of people assigned to services Z1, Z2, and Z4 in the original flow f1.

[0032] By comparing these draft flow f1 and comparison flow m1, it is possible to understand, as an example only, whether there is a surplus or shortage of human resources allocated to a service based on the difference in the number of people assigned to the same service.

[0033] For example, in services where the number of people allocated by the original flow f1 is too high compared to the number allocated by the comparison flow m1, it can be identified that the workload on healthcare service providers assigned to that service may increase or exceed their capacity. Conversely, in services where the number of people allocated by the original flow f1 is too low compared to the number allocated by the comparison flow m1, it can be identified that there is a surplus of human resources allocated to that service.

[0034] Therefore, the display function according to this embodiment can provide information that helps determine whether there is a surplus or shortage of resources.

[0035] <Configuration of Server Device 10> Next, an example of the functional configuration of the server device 10 according to this embodiment will be described. Figure 1 schematically shows the blocks related to the display function of the server device 10. As shown in Figure 1, the server device 10 has a communication control unit 11, a storage unit 13, and a control unit 15. Note that Figure 1 only shows an excerpt of the functional units related to the display function described above, and the server device 10 may also be equipped with functional units other than those shown.

[0036] The communication control unit 11 is a functional unit that controls communication with other devices such as the client terminal 30. As just one example, the communication control unit 11 can be implemented using a network interface card such as a LAN card. In one aspect, the communication control unit 11 receives a request to search for a comparison flow from the client terminal 30, or outputs display data to the client terminal 30 that visualizes the allocation status of people to services in the original flow and the comparison flow.

[0037] The storage unit 13 is a functional unit that stores various types of data. As an example, the storage unit 13 can be implemented using internal, external, or auxiliary storage within the server device 10. For example, the storage unit 13 stores resident data 13A and flow data 13B. The resident data 13A and flow data 13B will be explained in conjunction with the descriptions of their reference, generation, or registration processes.

[0038] The control unit 15 is a functional unit that performs overall control of the server device 10. For example, the control unit 15 can be implemented by a hardware processor. Alternatively, the control unit 15 may be implemented by hardwired logic. As shown in Figure 1, the control unit 15 has a reception unit 16, a search unit 17, and a display unit 18.

[0039] The reception unit 16 is a processing unit that receives various requests from the client terminal 30. As just one example, the reception unit 16 can receive a request to search for a comparison flow from the client terminal 30.

[0040] When accepting such requests, the reception unit 16 can also accept the specification of a draft flow to be used for searching comparison flows. In one aspect, the reception unit 16 can accept a draft flow from a client terminal 30 via the network NW. In another aspect, the reception unit 16 can also accept the specification of a draft flow from among the policy flows contained in the flow data 13B stored in the storage unit 13. In yet another aspect, the reception unit 16 can also accept the specification from among the policy flows stored in a database server or file system (not shown).

[0041] Figure 3 shows an example of a draft flowchart. As an example of a draft flowchart, Figure 3 illustrates a policy flowchart for follow-up care of chronic kidney disease (CKD).

[0042] Such policy flows can be created by expert committees based on the nephropathy progression prevention program. For example, these expert committees may include personnel from nephrologists, diabetes specialists, public health nurses, and the city's health promotion / health policy departments.

[0043] As shown in Figure 3, policy flow f11 allocates residents to the services "nephrologist," "diabetician," "health guidance," or "no intervention" through conditional branches L1, L2, L3, and L4.

[0044] For example, if the judgment at conditional branch L1 is YES and the judgment at conditional branch L2 is NO (non-diabetic), the resident will be assigned to services provided by a nephrologist. Also, if the judgment at conditional branch L1 is YES, the judgment at conditional branch L2 is YES (diabetic), and the judgment at conditional branch L3 is NO, the resident will be assigned to services provided by a diabetes specialist. Furthermore, if the judgment at conditional branch L1 is YES, the judgment at conditional branch L2 is YES (diabetic), the judgment at conditional branch L3 is YES, and the judgment at conditional branch L4 is YES, the resident will be assigned to health guidance services. Also, if the judgment at conditional branch L1 is YES, the judgment at conditional branch L2 is YES (diabetic), the judgment at conditional branch L3 is YES, and the judgment at conditional branch L4 is NO, there will be no intervention, and the resident will not be assigned to any specific service.

[0045] Such policy flow f11 presents challenges, such as increased burden on nephrologists and residents not attending even when insurance guidance is provided. On the other hand, in formulating policy flow f11, it is also necessary to implement it in a way that is as close to existing policies as possible and does not require much effort, from the perspective of ease of implementation.

[0046] The search unit 17 is a processing unit that searches for comparison flows similar to the original flow. As an example, when the search request is received by the reception unit 16, the search unit 17 obtains resident data, the original flow, and M comparison flows.

[0047] More specifically, the search unit 17 retrieves resident data 13A stored in the memory unit 13. Here, resident data 13A is data to which personal information about each resident is associated. Figure 4 shows an example of resident data 13A. In Figure 4, the results of a health checkup are shown as an example of the resident's personal information. As shown in Figure 4, resident data 13A may include items such as user number, date of examination, blood glucose level, urine protein, eGFR, smoking status, and 30-minute exercise habit. The "user number" here corresponds to an example of identification information for a resident corresponding to a user. The "date of examination" is the date on which the resident's health checkup was conducted. "Blood glucose level," "eGFR," "smoking status," and "30-minute exercise habit" correspond to the examination items performed in the health checkup. For example, the results of "blood glucose level," "eGFR," and "smoking status" are stored as numerical values, while "smoking status" and "30-minute exercise habit" are stored as binary flags corresponding to presence or absence. Based on the results of these health checkups, conditional branching decisions are made for policy flows and comparison flows, allowing residents to be allocated to services within each flow of the policy flow and comparison flow.

[0048] Furthermore, the search unit 17 obtains the draft flow specified in the search request. The search unit 17 then obtains M (natural number) comparison flows from the policy flows contained in the flow data 13B stored in the storage unit 13. Here, the flow data 13B may be a database from which policy flows have been collected. Such flow data 13B may contain policy flows that have been formulated in the past. For example, the flow data 13B may include policy flows created in departments other than the department to which the policy planner, who is an example of a user of the client terminal 30 and a user of the display function described above, belongs, as well as policy flows created in regions other than the region to which the policy planner belongs. When comparison flows are obtained from such flow data 13B, it is possible to obtain all policy flows contained in the flow data 13B, or to use existing technology to narrow down the selection to policy flows of similar policies similar to the policy in the draft flow and obtain comparison flows.

[0049] After acquiring the resident data, draft flow, and M comparison flows, the search unit 17 performs the following processing for each of the M comparison flows, corresponding to the number of K residents. Specifically, the search unit 17 matches the entry for resident k in the resident data 13A with the conditional branching of the draft flow f and comparison flow m, thereby identifying the path on the flow to which resident k is assigned by the conditional branching for each draft flow f and comparison flow m.

[0050] Figure 5 shows an example of route identification. In Figure 5, the draft flow f is shown as an example of a policy flow, and residents A, B, ..., K are shown as examples.

[0051] As shown in Figure 5, elements of the draft flow f, such as conditional branches and services, are converted into symbols. As just one example, the elements of the draft flow f can be converted into symbols by hashing the text contained within those elements.

[0052] After the elements of the draft flow f are converted into symbols in this way, the elements of the draft flow f are searched sequentially from the upstream. At this time, if an element is a conditional branch, the path to the branch is identified by whether the information related to the condition set for the conditional branch among the results of resident k's health examination, such as a numerical value or a flag, satisfies the condition for the conditional branch. This search is repeated until the endpoint of the draft flow f, and the sequence of elements that resident k flows through the draft flow f is obtained as a sequence of symbols.

[0053] For example, in the case of resident A, the symbol sequence "L1L2L3Z1" is obtained. Furthermore, in the case of resident B, the symbol sequence "L1L2Z3" is obtained. Furthermore, in the case of resident K, the symbol sequence "L1L2L3Z1" is obtained.

[0054] Figure 5 shows an example where the original flow f identifies the path to which resident k is assigned through conditional branching. Similarly, the path to which resident k is assigned through conditional branching can be identified using the comparison flow m.

[0055] Returning to the explanation of Figure 1, the search unit 17 has a counting unit 17A and a calculation unit 17B.

[0056] The counting unit 17A is a processing unit that counts the number of residents assigned to each route in the original flow and the comparison flow. For example, in the example shown in Figure 5, it increments a counter that counts the number of residents in the route to which a resident is assigned, out of the three routes: symbol sequence "L1L2L3Z1", symbol sequence "L1L2L3Z2", and symbol sequence "L1L2Z3". In the case of resident "Mr. A", the counter for the route corresponding to symbol sequence "L1L2L3Z1" is incremented. Furthermore, in the case of resident "Mr. B", the counter for the route corresponding to symbol sequence "L1L2Z3" is incremented. Furthermore, in the case of resident "Mr. K", the counter for the route corresponding to symbol sequence "L1L2L3Z1" is incremented.

[0057] The calculation unit 17B is a processing unit that calculates the degree of difference between the original flow f and the comparison flow m. As an example, the calculation unit 17B calculates the distance of the symbol sequence corresponding to the route to which resident k is assigned between the original flow f and the comparison flow m. By calculating statistical values ​​of the distances calculated for each of the K residents in this way, such as the average value or the sum, the degree of difference between the original flow f and the comparison flow m can be calculated.

[0058] Figure 6 is a schematic diagram illustrating an example of calculating the degree of difference. Figure 6 shows the original proposal flow f shown in Figure 5 as an example of a policy flow, as well as the comparison flow m1. Furthermore, Figure 6 shows examples of residents, namely Mr. A, Mr. B, ..., and Mr. K.

[0059] For example, in the case of resident A, the distance between the symbol sequence "L1L2L3Z1" corresponding to the route assigned to A by the original flow f and the symbol sequence "L1L2L4Z5" corresponding to the route assigned to A by the comparison flow m1 is calculated.

[0060] To calculate the distance between these symbol sequences, one can use the Levenshtein distance, which defines the distance between two strings. That is, the Levenshtein distance is the minimum number of editing operations, such as "insertion," "deletion," and "replacement," required to transform one string into the other.

[0061] As just one example, if we allow "insert" and "delete" operations during editing but prohibit "replace," the distance between the symbol sequences of resident A's original flow f and comparison flow m can be calculated as follows.

[0062] Specifically, the first editing process involves inserting the symbol "L4" into the symbol sequence "L1L2L3Z1". This edits the symbol sequence to "L1L2L3Z1L4". Next, the second editing process involves deleting the symbol "Z1" from the symbol sequence "L1L2L3Z1L4". This edits the symbol sequence to "L1L2L3L4". Next, the third editing process involves deleting the symbol "L3" from the symbol sequence "L1L2L3L4". This edits the symbol sequence to "L1L2L4". Finally, the fourth editing process involves inserting the symbol "Z5" into the symbol sequence "L1L2L4". This edits the symbol sequence to "L1L2L4Z5". As a result of these four editing processes, the symbol sequence "L1L2L3Z1" is edited to "L1L2L4Z5", and the Levenshtein distance is calculated to be "4.0". If the "replace" editing operation is permitted, the minimum edit distance will be "2".

[0063] In this way, the distance between the sequence of symbols for the routes assigned by the original flow f and the sequence of symbols for the routes assigned by the comparison flow m1 is calculated for each of the K residents. Then, by calculating the statistical value, for example the average, of the distances of the sequence of symbols calculated for each of the K residents, a difference score of "2.34" is calculated.

[0064] According to this difference index, the flow of people in the original flow f and the comparison flow m is represented by a sequence of symbols, and the difference index is calculated from the distance between these sequences of symbols. Therefore, not only the similarity of the graph structure between the original flow f and the comparison flow m, but also the similarity of the flow of people between the original flow f and the comparison flow m can be reflected in the difference index value.

[0065] Figure 7 is a schematic diagram illustrating an example of calculating the degree of difference. Figure 7 shows the original proposal flow f shown in Figure 5 as an example of a policy flow, along with comparison flows m2 and m3.

[0066] As shown in Figure 7, the paths of all 100 residents are compared between the original flow f and the comparison flow m2. In this case, there is an overlap between the original flow f and the comparison flow m2, where 80 residents use the symbol sequences "L1L2L3Z1" and "L1L2Z4" as their paths, and 10 residents use the symbol sequence "L1L2L3Z2" as their paths. The distance for these 90 people is zero, so the distance for the remaining 10 people affects the degree of difference. That is, the sum of the distances of the 10 people where the distance between the symbol sequence "L1L2L3Z2" in the original flow f and the symbol sequence "L1L2L3Z3" in the comparison flow m2 is "10", and dividing this by the total of 100 people gives a degree of difference of "0.1".

[0067] On the other hand, we compare the paths of all 100 residents between the original flow f and the comparison flow m3. In this case, 50 residents have overlapping paths between the original flow f and the comparison flow m3, with the symbol sequences "L1L2L3Z1" and "L1L2L3Z2" being the same. The distance for these 50 residents is zero, so the distance for the remaining 50 residents affects the degree of difference. Specifically, we obtain a total value of "10" for 10 residents where the distance between the symbol sequence "L1L2Z4" in the original flow f and the symbol sequence "L1L2L4Z3" in the comparison flow m3 is "1.0". Furthermore, we obtain a total value of "40" for 20 residents where the distance between the symbol sequence "L1L2Z4" in the original flow f and the symbol sequence "L1L2L4L5Z4" in the comparison flow m3 is "2.0". Furthermore, the sum of the distances of 20 individuals, where the symbol sequence "L1L2Z4" in the original flow f is "2.0", and the symbol sequence "L1L2L4L5Z5" in the comparison flow m3, is obtained as "40". The sum of these distances for 50 individuals, "90", is then divided by the total of 100 individuals to calculate the difference degree of "0.9".

[0068] Thus, between the original flow f and the comparative flow m2, the majority of the human flow, i.e., 90%, is common, so the degree of difference can be calculated as low. On the other hand, between the original flow f and the comparative flow m3, the human flow of half (50 people) differs, so the degree of difference can be calculated as high.

[0069] Furthermore, if any of the routes included in comparison flow m have a human flow frequency below a threshold, or a human flow frequency exceeding the capacity set for the service, those comparison flow m can be excluded from display.

[0070] Figure 8 shows an example of a comparison flow. Figure 9 shows an example of the relationship between routes and frequencies. The comparison flow m2 shown in Figure 8 includes four routes: the symbol sequences "L1L2L3Z1", "L1L2L3Z2", "L1L2L3Z3", and "L1L2Z4". The frequency with which residents are allocated to these four routes is as shown in Figure 9. In Figure 9, the capacity of each of the four services Z1, Z2, Z3, and Z4 is shown with dashed lines. In the example shown in Figure 9, there are no routes with a frequency of residents being allocated close to zero, and there are no routes with a frequency of residents being allocated that exceeds the capacity. Therefore, the comparison flow m2 is not excluded from the display.

[0071] Figure 10 shows an example of a comparison flow. Figure 11 shows an example of the relationship between routes and frequency. The comparison flow m3 shown in Figure 10 includes five routes: symbol sequences "L1L2L3Z1", "L1L2L3Z2", "L1L2L3Z3", "L1L2L4L5Z4", and "L1L2L4L5Z5". The frequency with which residents are allocated to these five routes is shown in Figure 11. In Figure 11, the capacity of each of the five services Z1, Z2, Z3, Z4, and Z5 is shown by dashed lines. In the example shown in Figure 11, the route "L1L2L3Z1" exceeds its capacity. Furthermore, the frequency with which residents are allocated to the routes "L1L2L4L5Z4" and "L1L2L4L5Z5" is close to zero. Therefore, comparison flow m3 can be excluded from the display.

[0072] Furthermore, the flow of people in the original flow f and the comparative flow m is converted into a sequence of symbols, and the degree of difference is calculated from the distance between the sequences of symbols. As a result, a larger degree of difference is calculated as the degree of structural difference between the original flow f and the comparative flow m increases, thus reducing the likelihood that the comparative flow m, which has a greater degree of structural difference, will be selected as the display target.

[0073] Figure 12 shows an example of a draft flow and a comparison flow. As shown in Figure 12, the draft flow f includes the paths of the symbol sequences "L1L2L3Z1", "L1L2L3Z2", and "L1L2L3Z3". On the other hand, the comparison flow m4 includes paths such as the symbol sequences "L1L2···Z1", "L1L2···Z2", "L1L2···Z3", and "L1L2···Z4". Comparing these draft flow f and comparison flow m4, the symbol sequences of the paths included in comparison flow m4 are longer than those of the paths included in draft flow f. Therefore, the degree of difference between draft flow f and comparison flow m4 also increases. As a result, the possibility of comparison flow m4 being selected as the display target can be reduced.

[0074] After calculating the degree of difference between the original flow f and the comparison flow m for each of the M comparison flows, the search unit 17 extracts the comparison flow with the smallest degree of difference from the M comparison flows to be displayed, as merely an example.

[0075] Here, we present an example of extracting comparison flows with the smallest degree of difference to display, but this is not the only example. For example, a predetermined number of comparison flows can be extracted to display in order of increasing degree of difference. In addition, it is also possible to sort the comparison flows in ascending order of difference and accept the user's request to specify which comparison flows to display from the sorted list.

[0076] The display unit 18 is a processing unit that performs various displays for the client terminal 30. As an example, the display unit 18 generates display data that visualizes the allocation status of residents to each service for each draft flow f specified in the search request and the comparison flow m extracted by the search unit 17, and displays it on the client terminal 30.

[0077] Figure 13 shows an example of the original flow chart. Figure 14 shows an example of the comparison flow chart. Here, let me add some information about the conditional branching in Figure 13. Conditional branching L1 in Figure 13 is set to the condition whether the eGFR is less than 50 or whether the urine protein is 2++ or higher. Also, conditional branching L2 in Figure 13 is set to the condition whether the patient has diabetes. Also, conditional branching L3 in Figure 13 is set to the condition whether the patient is already receiving outpatient treatment. Also, conditional branching L4 in Figure 13 is set to the condition whether the patient desires health guidance.

[0078] As shown in Figures 13 and 14, the number of residents allocated to each service is displayed as a bar graph in the original flow f and comparative flow m5. Here, we provide an example where the number of residents is displayed as a bar graph, but the number of residents may also be displayed as a numerical value, as a level, or as a symbol such as an icon, and is not limited to a specific display format. By displaying the number of residents for each service in this way, it is possible to visualize the difference in the number of residents allocated to the same service between the original flow f and comparative flow m5, thereby providing information that can be used to judge whether there is a surplus or shortage of human resources such as medical service providers.

[0079] Furthermore, as shown in Figures 13 and 14, in the original flow f and the comparative flow m5, the display format of the edges connecting the elements of the nodes is changed according to the number of residents assigned to that edge. For example, the width of the edge is displayed as thicker as the number of residents assigned to the edge increases, while the width of the edge is displayed as thinner as the number of residents assigned to the edge decreases. This distinguishing display of edges allows for the identification of excessive and insufficient human flow on an edge-by-edge basis, providing information that contributes to judging the appropriateness of conditional branching, in addition to determining the surplus or shortage of human resources.

[0080] Furthermore, as shown in Figure 13, in the draft flow f, services where the difference in the number of residents between the draft flow f and the comparison flow m5 exceeds a threshold, or services where the number of residents exceeds the capacity, are displayed in a different format than other services. For example, as shown in Figure 13 for the service by a diabetes specialist, the outline of the bar graph is highlighted 40, or an alert is displayed 41 to warn the user. While the draft flow f is highlighted 40 and alerts are displayed 41 in this way, if the same service in the comparison flow m5 does not exceed the capacity, an OK mark 60 is displayed for that service, indicating that the allocation of residents meets the specialist resource requirements.

[0081] Furthermore, as shown in Figure 14, in comparison flow m5, elements that correspond to each other between the original flow f and comparison flow m5 but whose defining text is not an exact match and whose similarity to the text is above a threshold are displayed in a different format from other elements. For example, elements corresponding to conditional branch L1 and the element corresponding to insurance guidance in the original flow f are displayed with hatching. This hatching display in comparison flow m5 presents partial differences between comparison flow m5 and the original flow f, which may suggest areas for improvement in the original flow f. For example, presenting the difference from conditional branch L1 in the original flow f can motivate users to realize the importance of securing residents who can receive treatment from specialists. Also, comparing the "insurance guidance" service in the original flow f with the "online insurance guidance" service in comparison flow m5 can motivate users to realize the importance of online insurance guidance from the perspective of enabling insurance guidance for a larger number of people.

[0082] <Processing flow> Figure 15 is a flowchart of the display processing procedure. As an example, as shown in Figure 15, the process may be initiated when a request to search for a comparison flow is received from the client terminal 30 (step S101).

[0083] Next, the search unit 17 retrieves the resident data 13A stored in the memory unit 13 (step S102). Furthermore, the search unit 17 retrieves the draft flow specified in the above search request (step S103). Furthermore, the search unit 17 retrieves M comparison flows from among the policy flows contained in the flow data 13B stored in the memory unit 13 (step S104).

[0084] The processes in steps S102 to S104 do not necessarily have to be executed in the order of the step numbers; they can be executed in any order or in parallel.

[0085] Then, the search unit 17 executes loop processing 1 and loop processing 2, which repeat the processes from step S105 to step S108 below for each of the M comparison flows, a number of times corresponding to the K residents. Note that the processes from step S105 to step S108 below do not necessarily have to be executed repeatedly and can be executed in parallel.

[0086] In other words, the search unit 17 compares the entry for resident k in the resident data 13A acquired in step S102 with the conditional branches of the draft flow f and the comparison flow m. This allows the search unit 17 to identify the path on the flow to which resident k is assigned based on the conditional branching for each of the draft flow f and the comparison flow m (step S105).

[0087] Next, the counting unit 17A increments a counter for the number of residents corresponding to the route on the flow to which resident k is assigned in step S105, for each draft flow f and comparison flow m (step S106).

[0088] Subsequently, the calculation unit 17B calculates the distance of the symbol sequence corresponding to the route to which resident k is assigned for each draft flow f and comparison flow m (step S107). Then, the calculation unit 17B cumulatively adds the distance of the symbol sequence for resident k calculated in step S107 to the total value so far (step S108).

[0089] As this loop process 2 is repeated, the route on the flow to which each resident k is assigned is obtained for both the original flow f and the comparison flow m, and the sum of the distances of the symbol sequences of all K residents is obtained. For example, by dividing the sum by the number of residents, the degree of difference between the original flow f and the comparison flow m can be calculated.

[0090] Furthermore, as loop process 1 is repeated, the degree of difference between the original flow f and the comparison flow m is calculated for each of the M comparison flows.

[0091] Subsequently, the search unit 17 extracts the comparison flow with the smallest degree of difference from the M comparison flows (step S109). Then, the display unit 18 displays display data on the client terminal 30 that visualizes the allocation status of residents to each service for each draft flow f specified in the search request and the comparison flow m extracted in step S109 (step S110), and terminates the process.

[0092] <One aspect of the effect> As described above, the server device 10 according to this embodiment visualizes and displays the allocation status of personnel assigned to each service in the original flow and the comparison flow. Therefore, the server device 10 according to this embodiment makes it possible to visualize the difference in the number of personnel assigned to the same service between the original flow f and the comparison flow m5, thereby providing information that is useful for determining whether there is a surplus or shortage of resources. [Examples]

[0093] Now, while embodiments of the disclosed apparatus have been described, the present invention may be implemented in various other forms besides those described above. Therefore, other embodiments included in the present invention will be described below.

[0094] <Application to areas other than policy flow> In Example 1 above, a policy implementation flow was used as an example of a workflow, but this is merely one example, and the process shown in Figure 15 can be similarly applied to any workflow other than a policy implementation flow. Furthermore, while a person was used as an example of an object to be applied to the workflow, the object may be something other than a person, such as a product.

[0095] <Distributed and Integrated> Furthermore, the components of each illustrated device do not necessarily have to be physically configured as shown. In other words, the specific forms of distribution and integration of each device are not limited to those shown, and all or part of them can be functionally or physically distributed and integrated in any unit according to various loads and usage conditions. For example, the reception unit 16, the search unit 17, or the display unit 18 may be connected to the server device 10 as an external device via a network. Alternatively, the reception unit 16, the search unit 17, or the display unit 18 may each be held by other devices, which are connected via a network and cooperate to realize the functions of the server device 10. Alternatively, all or part of the resident data 13A or flow data 13B stored in the storage unit 13 may each be held by other devices, which are connected via a network and cooperate to realize the functions of the server device 10.

[0096] <Hardware Configuration> Furthermore, the various processes described in the above embodiments can be realized by executing a pre-prepared program on a computer such as a personal computer or workstation. Therefore, below, an example of a computer that executes a display program having the same functions as in Embodiments 1 and 2 will be described using Figure 16.

[0097] Figure 16 shows an example of a hardware configuration. As shown in Figure 16, the computer 100 has an operating unit 110a, a speaker 110b, a camera 110c, a display 120, and a communication unit 130. Furthermore, the computer 100 has a CPU 150, a ROM 160, an HDD 170, and RAM 180. These parts 110 to 180 are connected via a bus 140.

[0098] As shown in Figure 16, the HDD 170 stores a display program 170a that performs the same functions as the reception unit 16, search unit 17, and display unit 18 shown in Embodiment 1 above. This display program 170a may be integrated or separated, similar to the components of the reception unit 16, search unit 17, and display unit 18 shown in Figure 1. In other words, the HDD 170 does not necessarily have to store all the data shown in Embodiment 1 above; it is sufficient that the data used for processing is stored in the HDD 170.

[0099] Under these conditions, the CPU 150 reads the display program 170a from the HDD 170 and then loads it into the RAM 180. As a result, the display program 170a functions as a display process 180a, as shown in Figure 16. This display process 180a loads various data read from the HDD 170 into the memory area of ​​the RAM 180 allocated to the display process 180a, and then executes various processes using the loaded data. For example, one example of a process executed by the display process 180a may be the process shown in Figure 15. Note that the CPU 150 does not necessarily need to operate all of the processing units shown in the above embodiment 1; it is sufficient if the processing units corresponding to the processes to be executed are virtually implemented.

[0100] The display program 170a described above does not necessarily have to be stored in the HDD 170 or ROM 160 from the beginning. For example, the display program 170a could be stored on a "portable physical medium" such as a flexible disk, floppy disk, CD-ROM, DVD disk, magneto-optical disk, or IC card inserted into the computer 100. The computer 100 could then retrieve and execute the display program 170a from these portable physical media. Alternatively, the display program 170a could be stored on another computer or server device connected to the computer 100 via a public network, the internet, LAN, WAN, etc. The computer 100 could then download and execute the display program 170a stored in this manner.

[0101] With regard to embodiments including the above examples, the following additional information is disclosed.

[0102] (Note 1) Accepting the designation of the first workflow, By applying multiple objects to the first workflow, the number of objects assigned to each of the elements included in the first workflow by the conditional branching elements of the first workflow is counted for each last element in the first workflow. By applying the multiple objects to a second workflow that is different from the first workflow, the number of objects assigned to each of the elements included in the second workflow by the conditional branching elements of the second workflow is counted for each last element in the second workflow. For each of the first and second workflows, the number of objects associated with and assigned to the trailing element is displayed. A method of displaying how a computer performs a process.

[0103] (Note 2) For each object included in the plurality of objects, the distance between a first symbol sequence corresponding to a first path through which the object flows from the beginning to the end of the first workflow and a second symbol sequence corresponding to a second path through which the object flows from the beginning to the end of the second workflow is calculated. Based on the distance calculated for each of the aforementioned objects, the degree of difference between the first workflow and the second workflow is calculated. The computer then performs further processing, The display process includes a second workflow whose degree of difference satisfies a predetermined condition as a target for display. The display method described in Appendix 1, including the processing.

[0104] (Note 3) The display process displays, for each of the first workflow and the second workflow with the smallest degree of difference, the number of objects associated with the trailing element and assigned to the trailing element. The display method described in Appendix 2, including the processing.

[0105] (Note 4) The aforementioned distance is the Levenshtein distance. The display method described in Appendix 2, characterized by the features described herein.

[0106] (Note 5) The display process described above changes the display format of the elements of the edges connecting the elements of the node according to the number of objects assigned to the elements of the edges. The display method described in Appendix 1, including the processing.

[0107] (Note 6) The display process described above displays the last element whose number exceeds the upper limit in a different display format from the other last elements. The display method described in Appendix 1, including the processing.

[0108] (Note 7) Accepting the designation of the first workflow, By applying multiple objects to the first workflow, the number of objects assigned to each of the elements included in the first workflow by the conditional branching elements of the first workflow is counted for each last element in the first workflow. By applying the multiple objects to a second workflow that is different from the first workflow, the number of objects assigned to each of the elements included in the second workflow by the conditional branching elements of the second workflow is counted for each last element in the second workflow. For each of the first and second workflows, the number of objects associated with and assigned to the trailing element is displayed. A display program that instructs a computer to perform a process.

[0109] (Note 8) For each object included in the plurality of objects, the distance between a first symbol sequence corresponding to a first path through which the object flows from the beginning to the end of the first workflow and a second symbol sequence corresponding to a second path through which the object flows from the beginning to the end of the second workflow is calculated. Based on the distance calculated for each of the aforementioned objects, the degree of difference between the first workflow and the second workflow is calculated. The computer then performs further processing, The display process includes a second workflow whose degree of difference satisfies a predetermined condition as a target for display. The display program described in Appendix 7, including the processing.

[0110] (Note 9) The display process displays, for each of the first workflow and the second workflow with the smallest degree of difference, the number of objects associated with the trailing element and assigned to the trailing element. The display program described in Appendix 8, including the processing.

[0111] (Note 10) The aforementioned distance is the Levenshtein distance. The display program described in Appendix 8, characterized by the features described herein.

[0112] (Note 11) The display process described above changes the display format of the elements of the edges connecting the elements of the node according to the number of objects assigned to the elements of the edges. The display program described in Appendix 7, including the processing.

[0113] (Note 12) The display process described above displays the last element whose number exceeds the upper limit in a different display format from the other last elements. The display program described in Appendix 7, including the processing.

[0114] (Note 13) Accepting the designation of the first workflow, By applying multiple objects to the first workflow, the number of objects assigned to each of the elements included in the first workflow by the conditional branching elements of the first workflow is counted for each last element in the first workflow. By applying the multiple objects to a second workflow that is different from the first workflow, the number of objects assigned to each of the elements included in the second workflow by the conditional branching elements of the second workflow is counted for each last element in the second workflow. For each of the first and second workflows, the number of objects associated with and assigned to the trailing element is displayed. An information processing device including a control unit that performs processing.

[0115] (Note 14) For each object included in the plurality of objects, calculate the distance between a first symbol sequence corresponding to a first path through which the object flows from the beginning to the end of the first workflow and a second symbol sequence corresponding to a second path through which the object flows from the beginning to the end of the second workflow. Based on the distance calculated for each of the aforementioned objects, the degree of difference between the first workflow and the second workflow is calculated. The control unit further performs the processing, The display process includes a second workflow whose degree of difference satisfies a predetermined condition as a target for display. An information processing device as described in Appendix 13, including processing.

[0116] (Note 15) The display process displays, for each of the first workflow and the second workflow with the smallest degree of difference, the number of objects associated with the trailing element and assigned to the trailing element. An information processing device as described in Appendix 14, including processing.

[0117] (Note 16) The aforementioned distance is the Levenshtein distance. The information processing apparatus described in Appendix 14, characterized by the features described herein.

[0118] (Note 17) The display process described above changes the display format of the elements of the edges connecting the elements of the node according to the number of objects assigned to the elements of the edges. An information processing device as described in Appendix 13, including processing.

[0119] (Note 18) The display process described above displays the last element whose number exceeds the upper limit in a different display format from the other last elements. An information processing device as described in Appendix 13, including processing. [Explanation of Symbols]

[0120] 10 Server devices 11. Communication Control Unit 13 Storage section 13A Resident Data 13B Flow Data 15 Control Unit 16 Reception Department 17 Exploration Department 17A Counting Unit 17B Calculation part 18 Display 30 client terminals

Claims

1. Accepts the specification of a first workflow, By applying multiple objects to the first workflow, the number of objects assigned to each of the elements included in the first workflow by the conditional branching elements of the first workflow is counted for each last element in the first workflow. By applying the plurality of objects to a second workflow that is different from the first workflow, the number of objects assigned to each of the elements included in the second workflow by the conditional branching elements of the second workflow is counted for each last element in the second workflow. For each of the first and second workflows, the number of objects associated with and assigned to the trailing element is displayed. For each object included in the plurality of objects, the distance between a first symbol sequence corresponding to a first path through which the object flows from the beginning to the end of the first workflow and a second symbol sequence corresponding to a second path through which the object flows from the beginning to the end of the second workflow is calculated. Based on the distance calculated for each of the aforementioned objects, the degree of difference between the first workflow and the second workflow is calculated. The computer performs the process, The display process includes a second workflow whose degree of difference satisfies predetermined conditions as a target for display. A display method that includes processing.

2. The display process displays, for each of the first workflow and the second workflow with the minimum degree of difference, the number of objects associated with and assigned to the trailing element. The display method according to claim 1, including processing.

3. The aforementioned display process changes the display format of the elements of the edges connecting the elements of the node according to the number of objects assigned to the elements of the edges. The display method according to claim 1, including processing.

4. Accepts the designation of the first workflow, By applying multiple objects to the first workflow, the number of objects assigned to each of the elements included in the first workflow by the conditional branching elements of the first workflow is counted for each last element in the first workflow. By applying the plurality of objects to a second workflow that is different from the first workflow, the number of objects assigned to each of the elements included in the second workflow by the conditional branching elements of the second workflow is counted for each last element in the second workflow. For each of the first and second workflows, the number of objects associated with and assigned to the trailing element is displayed. The computer performs the process, The display process involves displaying the last element whose number exceeds the upper limit in a different display format from the other last elements. A display method that includes processing.

5. We accept the specification of the first workflow. By applying multiple objects to the first workflow, the number of objects assigned to each of the elements included in the first workflow by the conditional branching elements of the first workflow is counted for each last element in the first workflow. By applying the plurality of objects to a second workflow that is different from the first workflow, the number of objects assigned to each of the elements included in the second workflow by the conditional branching elements of the second workflow is counted for each last element in the second workflow. For each of the first and second workflows, the number of objects associated with and assigned to the trailing element is displayed. For each object included in the plurality of objects, the distance between a first symbol sequence corresponding to a first path through which the object flows from the beginning to the end of the first workflow and a second symbol sequence corresponding to a second path through which the object flows from the beginning to the end of the second workflow is calculated. Based on the distance calculated for each of the aforementioned objects, the degree of difference between the first workflow and the second workflow is calculated. Let the computer perform the process, The display process includes a second workflow whose degree of difference satisfies predetermined conditions as a target for display. A display program that includes processing.

6. Accepts the designation of a first workflow, By applying multiple objects to the first workflow, the number of objects assigned to each of the elements included in the first workflow by the conditional branching elements of the first workflow is counted for each last element in the first workflow. By applying the plurality of objects to a second workflow that is different from the first workflow, the number of objects assigned to each of the elements included in the second workflow by the conditional branching elements of the second workflow is counted for each last element in the second workflow. For each of the first and second workflows, the number of objects associated with and assigned to the trailing element is displayed. Let the computer perform the process, The display process involves displaying the last element whose number exceeds the upper limit in a different display format from the other last elements. A display program that includes processing.