Physical examination package configuration and cross-year template reuse method and device
Patent Information
- Application Number
- CN202611478808.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-09-22
- Publication Date
- 2026-10-30
AI Technical Summary
[0006]针对现有技术中套餐以单一整体的项目集合表达导致人工配置条目数随单位人员数量成正比增长的技术问题,本发明提供一种体检套餐配置与跨年度模板复用方法及装置
[0086]由于采用了以基础套餐层承载单位统一必检要求、以推荐选项层按岗位类别与年龄段的适用人群标签绑定推荐项目组合、以自选加项层开放可追加项目全集的三层套餐模型,单位统一必检要求与人员个体差异化需求在同一份配置中同时得到承载,配置人员需要人工确定的项目条目数由与单位人员数量成正比转为由岗位类别与年龄段的划分粒度决定,解决了套餐以单一整体的项目集合表达时人工配置条目数随单位人员数量成正比增长的问题,配置周期不再随单位规模同步拉长。
Smart Images

Figure CN123015132A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of health checkup information system technology, specifically to a method and apparatus for configuring packages, verifying project relationships, and reusing configuration templates across years in group health checkup services. Background Technology
[0002] Medical examination institutions provide group medical examination services to enterprises and institutions. Group examination package configuration is a preliminary step in the group examination process: the organization and the medical examination institution negotiate and determine the combination of examination items, and the medical examination system generates an appointment-available package for the organization's personnel based on this. The accuracy and efficiency of the package configuration directly determine whether the subsequent appointment, payment, and on-site examination execution can proceed smoothly.
[0003] Conventional group health checkup package configuration techniques treat the package as a single, unified set of items, resulting in two approaches: one is a single-package approach, where the organization selects a fixed package and all personnel undergo the same combination of items; the other is an individual customization approach, where the organization administrator or the examinee adds items to the basic package on an individual basis. Regarding the handling of item relationships, the conventional approach involves having the configuration personnel master the business experience of items that cannot be selected simultaneously in the same health checkup and the dependent items that must be included after selection, comparing each item during the selection process. Regarding the utilization of historical configurations, the conventional approach involves retaining previous configurations in the form of orders, and then reviewing them the following year using the organization name as a clue.
[0004] The mainstream existing technology generally adopts a configuration method that combines a single package approach with manual memorization of item relationships: the configuration personnel select items one by one from the physical examination item library according to the unit's requirements. The mutual exclusion and dependency relationships between items rely on the configuration personnel's personal memory and experience. The verification is carried out one by one by rule items, and a prompt is given for each matching item. When the same unit organizes a group examination again the following year, the configuration personnel check the historical orders by the unit name and reconfirm each item in the item library if there have been additions, deletions and price adjustments.
[0005] The aforementioned existing technologies have the following technical problems: the package is expressed as a single, complete set of items, and the uniform mandatory inspection requirements of the unit and the individual differentiated needs of personnel can only be met by one of them. If the method of adding items one by one is adopted to take into account both, the number of items that need to be manually determined increases proportionally with the number of personnel in the unit, and the configuration cycle lengthens in tandem with the size of the unit. Summary of the Invention
[0006] To address the technical problem in existing technologies where packages are expressed as a single, unified set of items, resulting in a proportional increase in the number of manually configured items with the number of employees in a unit, this invention provides a method and apparatus for configuring health checkup packages and reusing templates across years.
[0007] To address the aforementioned technical problems, this invention provides a method for configuring health checkup packages and reusing templates across years, comprising:
[0008] Based on the physical examination item database and the mandatory examination requirements of group examination units, a basic package layer is constructed. A recommended option layer is generated according to the recommendation rules of job category and age group. A self-selected additional item layer is constructed with the complete set of addable items, resulting in a three-layer package model.
[0009] The selected item set in the three-layer package model is represented as a package configuration vector. An energy function containing mutual exclusion penalty, dependency penalty, and validity penalty is constructed based on the mutual exclusion table and dependency table. The energy function is a non-negative weighted sum of mutual exclusion penalty, dependency penalty, and validity penalty with positive weights. A valid configuration point with an energy value of zero and its neighborhood whose energy value monotonically increases with item changes constitute an energy attraction basin. When the energy value of the energy function is zero, a valid package configuration is obtained and stored in the package configuration version library with a version number. When it is non-zero, a violation detail is output.
[0010] The feature columns are divided into feature coding partitions according to the major inspection categories. The coding bits allocated by project subcategories within the feature coding partitions constitute bit intervals. The activation bits are locally clustered and globally sparse within the bit intervals. The structural features of each historical template in the package configuration version library are encoded into binary sparse template codes. The group inspection requirement features are encoded into binary sparse query codes using the same rules. The candidate template recommendation list is obtained by descending the bit overlap between the binary sparse query codes and the binary sparse template codes.
[0011] Load the template selected from the candidate template recommendation list to obtain the initial configuration of the annual package. Search for a replacement item in the energy attraction basin where the deactivated item in the initial configuration of the annual package is located, perform energy minimization iterative repair, and obtain the effective package configuration for the current year.
[0012] Furthermore, a basic package layer is constructed based on the physical examination item database and the mandatory examination requirements of group examination units. A recommended option layer is generated according to the recommendation rules of job category and age group. A self-selected additional item layer is constructed with the complete set of addable items, resulting in a three-layer package model, including:
[0013] Write the items in the physical examination item library that are matched by the mandatory examination requirements of the group examination unit, along with the price attributes and examination requirement attributes of the items, into the basic package layer to obtain the basic package layer configuration data.
[0014] Based on the basic package layer configuration data and the job categories and age structure data of the unit's personnel, several recommended item combinations are generated according to the recommendation rules. Each recommended item combination is bound to an applicable population tag consisting of job category and age group to obtain the recommended option layer configuration data.
[0015] Write the complete set of items that can be added individually from the physical examination item library into the optional item layer to obtain the optional item layer configuration data;
[0016] The configuration data of the basic package layer, the configuration data of the recommended option layer, and the configuration data of the optional add-on layer are merged to obtain the three-layer package model.
[0017] Furthermore, based on the basic package layer configuration data and the job category and age structure data of the unit's personnel, several recommended item combinations are generated according to the recommendation rules. Each recommended item combination is then bound to an applicable population tag consisting of job category and age group, resulting in the recommended option layer configuration data, including:
[0018] The job category and age structure data of the personnel in the aforementioned unit were cross-divided according to job category and age group to obtain several population groups;
[0019] The population weight of each population group is obtained by calculating the proportion of each population group in the total number of employees in the unit.
[0020] The recommendation rule is expressed as a mapping from label conditions consisting of job category conditions and age group conditions to project combinations. For each of the population groups, the matching mapping is retrieved to obtain the candidate recommended project combinations for each population group.
[0021] Remove items that are already included in the basic package layer configuration data from the candidate recommended item combination to obtain the deduplicated recommended item combination;
[0022] The applicable population coverage weighted by the population weight is calculated for the deduplicated recommended item combination. Recommended item combinations with applicable population coverage lower than the preset coverage threshold are merged with recommended item combinations with the same inspection category and overlapping applicable population tags to obtain the merged recommended item combination.
[0023] The merged recommended item combination is bound to the applicable population tags consisting of job categories and age groups to obtain the recommended option layer configuration data.
[0024] Furthermore, the selected item set in the three-layer package model is represented as a package configuration vector. An energy function containing mutual exclusion penalty, dependency penalty, and validity penalty is constructed based on the mutual exclusion table and dependency table. The energy function is a non-negative weighted sum of the mutual exclusion penalty, dependency penalty, and validity penalty with positive weights. A valid configuration point with an energy value of zero and its neighborhood whose energy value monotonically increases with item changes constitute an energy attraction basin. When the energy value of the energy function is zero, a valid package configuration is obtained and stored in a package configuration version library with a version number. When the energy value is non-zero, violation details are output, including:
[0025] Using the complete set of items in the physical examination item library as the component dimension, the component corresponding to the selected items in the selected item set is set to the first value, and the component corresponding to the unselected items is set to the second value. The first value is greater than the second value, thus obtaining the package configuration vector.
[0026] Based on the pairs of items that cannot be selected simultaneously in the same physical examination recorded in the mutual exclusion relationship table, a mutual exclusion penalty item is constructed that accumulates the penalty weight for each pair of items that are selected simultaneously.
[0027] Based on the second item that must be included when selecting the first item as recorded in the dependency table, construct a dependency penalty item that accumulates penalty weights for each missing item of the second item.
[0028] Based on the decommissioning flags of projects in the project database for that year, construct an effectiveness penalty item that cumulatively adds penalty weights to each selected decommissioned project;
[0029] The energy function is obtained by summing the mutual exclusion penalty, the dependency penalty, and the validity penalty. The energy value of the package configuration vector under the energy function is calculated. When the energy value is zero, the selected item set is determined as the legal package configuration. A configuration snapshot with a version number that records the configuration content, effective year, change items, and change reasons is generated and stored in the package configuration version library.
[0030] When the energy value is non-zero, the project pairs with non-zero contributions from the mutual exclusion penalty item are identified as mutually exclusive conflict project pairs, the project pairs with non-zero contributions from the dependency penalty item are identified as missing dependencies, and the project pairs with non-zero contributions from the validity penalty item are identified as disabled projects, thus obtaining the violation details.
[0031] Further, the energy function is obtained by summing the mutual exclusion penalty term, the dependency penalty term, and the validity penalty term, including:
[0032] A penalty weight is configured for each of the mutual exclusion penalty item, the dependency penalty item, and the validity penalty item, wherein the penalty weight of the mutual exclusion penalty item is greater than the penalty weight of the dependency penalty item, and the penalty weight of the dependency penalty item is not less than the penalty weight of the validity penalty item.
[0033] The energy function is obtained by summing the mutual exclusion penalty terms one pair at a time, summing the dependency penalty terms and the validity penalty terms one item at a time, and then weighting them according to their respective penalty weights.
[0034] The package configuration vector with an energy value of zero under the energy function is determined as a valid configuration point;
[0035] The value of the corresponding component of a single project is flipped as a neighborhood generation operation. The set of package configuration vectors that can reach the legal configuration point through the neighborhood generation operation without increasing the energy value after no more than a preset number of steps is determined as the energy attraction basin of the legal configuration point.
[0036] The union of the energy attraction basins of each of the legally configured points is determined as the energy terrain of the energy function, which is used for location when searching for replaceable items.
[0037] Further, feature columns are divided according to inspection categories. Each feature column is a feature coding partition divided by inspection category. Within each feature coding partition, coding bits allocated according to project subcategories form bit intervals. Activation bits are locally clustered and globally sparse within these bit intervals. The structural features of each historical template in the package configuration version library are encoded into binary sparse template codes. Group inspection requirement features are encoded into binary sparse query codes using the same rules. A candidate template recommendation list is obtained by descending the bit overlap between the binary sparse query codes and the binary sparse template codes, including:
[0038] Extract the project category distribution, price range, applicable job tag set, and age group coverage of each historical template in the package configuration version library to obtain the structural features of each historical template.
[0039] The coded bit string is divided into feature columns according to the major categories of examinations: blood tests, imaging examinations, physical examinations, and specialist examinations. Within each feature column, coded bits are assigned according to the sub-category of the project.
[0040] The structural features of each historical template are set on the allocated coding bits, so that the set coding bits are locally clustered in the feature column and sparsely distributed on the coding bit string, to obtain the binary sparse template code of each historical template.
[0041] Extract the industry category, personnel size, age structure, budget range and mandatory inspection items of the group inspection unit to obtain the group inspection demand characteristics, and set the group inspection demand characteristics according to the same feature column division and coding bit allocation rules to obtain the binary sparse query code;
[0042] Calculate the bitwise overlap between the binary sparse query code and each of the binary sparse template codes, and take the first K historical templates in descending order of the bitwise overlap, where K is a preset positive integer;
[0043] The historical templates retrieved by the name of the group inspection unit are merged with the first K historical templates to remove duplicates, resulting in the candidate template recommendation list.
[0044] Further, the bitwise overlap between the binary sparse query code and each of the binary sparse template codes is calculated, and the first K historical templates are selected in descending order of the bitwise overlap, where K is a preset positive integer, including:
[0045] Perform a bitwise AND operation on the binary sparse query code and the binary sparse template code to obtain a common set string, and perform a bitwise XOR operation on the binary sparse query code and the binary sparse template code to obtain a difference bit string;
[0046] The number of common positions is obtained by counting the number of positions in the common position string, and the Hamming distance is obtained by counting the number of positions in the different position string.
[0047] For each of the feature columns, the number of common position strings within that feature column is counted to obtain the number of common position strings within each feature column;
[0048] The number of common positions within each feature column is weighted and summed according to the preset importance of each of the inspection categories, and the weighted summation result is reduced in a manner that decreases as the Hamming distance increases, to obtain the positional overlap.
[0049] Sort the historical templates in descending order of their positional overlap, and take the top K historical templates from the sorting results.
[0050] Further, the templates selected from the candidate template recommendation list are loaded to obtain the initial configuration of the annual package. Replaceable items are searched within the energy attraction basin where the deactivated items in the initial configuration of the annual package are located. Energy minimization iterative repair is performed to obtain the effective package configuration for the current year, including:
[0051] Load the configuration snapshot of the selected template from the candidate template recommendation list, and use the configuration content recorded in the configuration snapshot as the initial configuration of the annual package;
[0052] The items in the initial configuration of the current year's package are compared with the current year's project library. Items marked as discontinued in the current year's project library are identified as discontinued items, and items in the current year's project library whose prices have changed are identified as price-changed items.
[0053] Taking the package configuration vector corresponding to the initial configuration of the package in that year as the starting point of the iteration, in each iteration, a discontinued item with a non-zero contribution of the validity penalty item is selected as the replacement item. In the energy attraction basin where the replacement item is located, items that are the same as the inspection category of the replacement item and whose price deviation rate does not exceed the preset price deviation tolerance are searched to obtain a set of candidate replacement items.
[0054] From the set of candidate replacement items, select items whose energy value decreases after replacement and do not generate new mutual exclusion penalty items or new dependency penalty items. Replace the items to be replaced with the selected items to obtain the package configuration vector after this round of iteration.
[0055] Repeat the iteration until the energy value is zero to obtain the repaired legal template configuration and a detailed record of the replacement relationships in each round;
[0056] The price change items and the replacement details are marked as items to be confirmed, and the repaired valid template configuration is merged with the confirmed items to be confirmed to obtain the annual effective package configuration.
[0057] Furthermore, taking the package configuration vector corresponding to the initial configuration of the current year's package as the starting point of the iteration, in each iteration, a discontinued item with a non-zero contribution of the validity penalty term is selected as a replacement item. Within the energy attraction basin of the replacement item, items that are in the same inspection category as the replacement item and whose price deviation rate does not exceed a preset price deviation tolerance are searched to obtain a candidate replacement item set, including:
[0058] Sort the deactivated items with non-zero contributions in descending order according to the contribution value of the validity penalty item, and take the first deactivated item in the sorting result as the item to be replaced in this round of iteration;
[0059] The package configuration vector after flipping the corresponding component of the item to be replaced is taken as the center vector. The set of package configuration vectors that can reach the center vector by flipping the value of the corresponding component of a single item without increasing the energy value after no more than a preset number of steps is determined as the energy attraction basin where the item to be replaced is located.
[0060] From the projects located in the energy attraction basin where the project to be replaced is located, filter and check the projects that are in the same category as the project to be replaced, and obtain a set of projects of the same category;
[0061] Calculate the price deviation rate of each item in the same type of project set relative to the project to be replaced, and remove projects whose price deviation rate exceeds the preset price deviation tolerance to obtain the project set after price filtering.
[0062] Each item in the price-filtered item set is sorted in descending order according to the degree of overlap between the inspection requirement attributes and the inspection requirement attributes of the item to be replaced, thus obtaining the candidate replacement item set.
[0063] Furthermore, the method also includes:
[0064] Based on the package configuration that is effective in the current year, bind the basic package layer to each examinee in the imported list of unit personnel, match the recommended item combination in the recommended option layer according to job category and age group, and open the self-selected additional item layer to obtain an individual's bookable package instance;
[0065] The items in the basic package layer, the recommended items in the recommended option layer, and the items in the optional add-on layer of the individual bookable package instance are determined as the candidate set of package combinations for the examinee;
[0066] The constraints are the mutual exclusion table and the dependency table, the mandatory inspection requirements of the group inspection unit, and the upper limit of the per capita budget;
[0067] The objective function is to maximize the weighted sum of the coverage of physical examination items and the satisfaction of examinees' preferences.
[0068] Based on the candidate set, the constraints, and the objective function, an optimization model for the health checkup package combination is established. The optimization model for the health checkup package combination is solved to obtain the personalized package combination for each health checkup participant and write it into the personal bookable package instance.
[0069] Furthermore, based on the candidate set, the constraints, and the objective function, an optimization model for the health checkup package combination is established. This model is then solved to obtain a personalized package combination for each health checkup participant, which is then written into the individual bookable package instance. This includes:
[0070] An initial combination is generated for each examinee based on the recommended item combination matched in the recommended option layer, thus obtaining an initial combination population;
[0071] The entire set of items in the physical examination item library is divided into non-overlapping partitions that are not mutually exclusive across partitions, according to the major examination categories.
[0072] The parent combinations in the initial combined population are swapped and recombined according to the partition blocks, so that the offspring combinations inherit different partition block combinations of the two parent combinations, thus obtaining the offspring population.
[0073] The constraint satisfaction degree and objective function value are evaluated for each partition of each offspring combination in the offspring population, and the evaluation tasks of each partition are dispatched to the graphics processor as independent subtasks for parallel execution to obtain the offspring population after parallel evaluation.
[0074] The exchange and recombination and parallel evaluation are iteratively performed on the offspring population after the parallel evaluation until the objective function value converges. The personalized package combination for each examinee and the statistics of the number of people and the total cost estimate of the unit layer are then output.
[0075] Furthermore, the method also includes:
[0076] At the two trigger points of saving the package configuration and submitting the combination of physical examination participants, the energy value of the package configuration vector under the energy function is calculated respectively, and when the energy value is non-zero, saving or submission is blocked and the violation details are output.
[0077] When an item marked with a dependency tag is selected in the dependency table, the items that the item marked with a dependency tag depends on are automatically populated and included in the cost;
[0078] The system retrieves the packages from the health checkup system via an interface and synchronizes the package names to obtain the synchronized package data.
[0079] The system receives and stores modifications to the package descriptions in the synchronized package data, and then pushes the modified package descriptions to the reservation interface for display.
[0080] The present invention also provides a device for configuring and reusing health checkup packages across years, comprising:
[0081] The three-layer modeling module is used to build a basic package layer based on the physical examination item library and the mandatory examination requirements of group examination units, generate a recommended option layer according to the recommendation rules of job category and age group, and build a self-selected additional item layer with the complete set of addable items to obtain the three-layer package model.
[0082] The energy verification module is used to represent the selected item set in the three-layer package model as a package configuration vector. Based on the mutual exclusion table and the dependency table, it constructs an energy function containing mutual exclusion penalty items, dependency penalty items, and validity penalty items. The energy function is a non-negative weighted sum of mutual exclusion penalty items, dependency penalty items, and validity penalty items with positive weights. The valid configuration point with an energy value of zero and its neighborhood whose energy value monotonically increases with the change of the item constitute an energy attraction basin. When the energy value of the energy function is zero, a valid package configuration is obtained and stored in the package configuration version library with a version number. When it is non-zero, a violation detail is output.
[0083] The sparse coding retrieval module is used to divide feature columns according to inspection categories. The feature columns are feature coding partitions divided according to inspection categories. The coding bits allocated according to project subcategories within the feature coding partitions constitute bit intervals. The activation bits are locally clustered and globally sparse within the bit intervals. The structural features of each historical template in the package configuration version library are encoded into binary sparse template codes. The group inspection requirement features are encoded into binary sparse query codes according to the same rules. The candidate template recommendation list is obtained by descending the bit overlap between the binary sparse query codes and the binary sparse template codes.
[0084] The template repair module is used to load the selected template from the candidate template recommendation list to obtain the initial configuration of the annual package, search for replaceable items in the energy attraction basin where the deactivated items in the initial configuration of the annual package are located, perform energy minimization iterative repair, and obtain the effective package configuration for the current year.
[0085] The technical effects of this invention are as follows:
[0086] By adopting a three-tiered package model—with a basic package layer carrying the unified mandatory inspection requirements of the unit, a recommended option layer binding recommended project combinations according to job categories and age groups, and an optional add-on layer providing an open set of additional projects—the unified mandatory inspection requirements of the unit and the individualized needs of personnel are simultaneously accommodated in the same configuration. The number of project items that configuration personnel need to manually determine is no longer proportional to the number of personnel in the unit, but is determined by the granularity of job categories and age groups. This solves the problem that when the package is expressed as a single, complete set of projects, the number of manually configured items increases proportionally with the number of personnel in the unit, and the configuration cycle no longer increases in tandem with the size of the unit.
[0087] By employing a processing method that represents the selected item set as a package configuration vector and constructs an energy function using the sum of mutual exclusion penalty terms, dependency penalty terms, and validity penalty terms, the determination of all item relationship constraints is unified into a single scalar energy evaluation. Furthermore, the energy value can be additively decomposed according to the penalty terms, and the reason for violation is given along with the determination result. This solves the problem of scattered determination results and violation reasons, making it difficult to locate the issue at once when comparing mutual exclusion and dependency relationships rule by rule. Additionally, by using binary sparse coding that divides feature columns by inspection category and allocates coding bits within columns according to item subcategories, the similarity of the requirement structure is expressed as bit-by-bit overlap between code strings. The retrieval of historical templates no longer relies solely on the unit name as the entry point. Historical templates with similar demand structures but unrelated names can be discovered, and similarity calculation has degenerated into bitwise logical operations and bitwise counting. The retrieval response time does not increase significantly with the size of the template library. Due to the adoption of energy-minimizing iterative repair by searching for replaceable projects within the energy attraction basin where the deactivated project is located, deactivated projects in templates loaded across years are replaced with projects that are checked for the same major category, have limited price deviations, and do not generate new mutual exclusion penalty items or new dependency penalty items. This solves the problem that once a template across years contains a deactivated project, the entire template becomes invalid and must be rolled back and reconfigured item by item. Attached Figure Description
[0088] Figure 1 A flowchart illustrating the method for configuring physical examination packages and reusing templates across years, as provided in an embodiment of the present invention;
[0089] Figure 2 A flowchart illustrating the steps for constructing a three-tier package model as provided in an embodiment of the present invention;
[0090] Figure 3 A schematic diagram of the composite process of package configuration energy verification and cross-year template fault tolerance repair steps provided in an embodiment of the present invention;
[0091] Figure 4 A flowchart illustrating the binary sparse coding and template similarity retrieval steps provided in an embodiment of the present invention;
[0092] Figure 5 A flowchart illustrating the solution steps of the health checkup package combination optimization model provided in this embodiment of the invention;
[0093] Figure 6 A schematic diagram of the module structure of the physical examination package configuration and cross-year template reuse device provided in this embodiment of the invention;
[0094] Figure 7 This is a flowchart illustrating the engineering implementation of each step in the group testing business scenario provided in this embodiment of the invention. Detailed Implementation
[0095] The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. The described embodiments are only some embodiments of the present invention, and not all embodiments; based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0096] Example 1
[0097] like Figure 1 As shown, this embodiment provides a method for configuring physical examination packages and reusing templates across years, including:
[0098] S1: Based on the physical examination item library and the mandatory examination requirements of group examination units, a basic package layer is constructed. A recommended option layer is generated according to the recommendation rules of job category and age group. A self-selected additional item layer is constructed with the complete set of addable items, resulting in a three-layer package model.
[0099] The three-tiered package model is not three parallel lists of items, but rather a single configuration object layered according to "decreasing constraint strength and increasing openness." The basic package layer is a fixed base, containing items from the medical examination item library that meet the mandatory requirements of the group examination unit. These items carry price and examination requirement attributes and are effective for all personnel within the unit, regardless of individual circumstances. The recommended option layer is a conditionally open layer, using applicable population tags derived from the intersection of job category and age group as binding units. Each recommended item combination is bound to an applicable population tag, and individuals can only see the corresponding combination when the tag matches. The optional add-on layer is a fully open layer, containing the complete set of items in the medical examination item library that can be added individually, selected by the examinee during the appointment process. The relationship between the three layers is one of coverage, not inclusion: the recommended option layer excludes items already belonging to the basic package layer, and the optional add-on layer does not repeatedly constrain items already defined in the first two layers.
[0100] The direct consequence of layering is a change in the dimension of manual allocation. Calculated by the number of project items requiring manual determination, the allocation under the method of adding allocations one person at a time is...
[0101] Equation (1)
[0102] in, This indicates the number of items that need to be manually determined under the method of adding items on a per-person basis. Indicates the number of people in a unit. This represents the average number of items that require manual confirmation per person. The configuration quantity after adopting the three-tier package model is...
[0103] Equation (2)
[0104] in, This indicates the number of items that need to be manually determined after adopting the three-tier package model. This indicates the number of items in the basic package tier. This represents the sum of the number of projects in the entire recommended project portfolio.
[0105] In this embodiment of the invention, the three-layer package model refers to a unified expression structure that uses constraint strength as the basis for layering, decomposing the same group medical examination package configuration object into a fixed base layer, a conditional open layer, and a fully open layer. Unlike the conventional approach of expressing a package as an indivisible set of items, the three-layer package model does not change the final content presented to the examinee, but rather changes the allocation of the decision-making power regarding whether a certain item is within the examinee's available booking range: the decision-making power for the basic package layer belongs to the mandatory requirements of the group medical examination unit; the decision-making power for the recommended option layer belongs to the pre-set recommendation rules based on job category and age group; and the decision-making power for the optional add-on layer belongs to the examinee themselves. The three layers are isomorphic sets of item entries in data form, and semantically correspond to three constraint strengths: "mandatory execution," "conditionally visible," and "freely addable."
[0106] The reason why the three-tiered package model can simultaneously accommodate the unified mandatory inspection requirements of the organization and the differentiated needs of individual personnel lies in the redistribution of configuration freedom. Under the single, holistic project set expression, all differentiated needs must ultimately converge to repeated manual judgments by the configuration personnel. The degree of freedom of the configuration system is directly coupled with the number of personnel that need to be differentiated, so the higher the degree of differentiation, the more manual judgments are required. However, under the three-tiered expression, common needs are solidified once by the basic package layer, group differences are batch-accepted by the recommended option layer with applicable population tags, and individual differences are transferred to the appointment stage by the self-selected add-on layer for the examinee to complete themselves. Since the three types of needs fall on three different decision-making entities, the objects that the configuration personnel actually need to judge are reduced from "the project combination of each person" to "the project scope of each of the three layers," thus decoupling the degree of configuration freedom from the number of personnel.
[0107] The three-tier package model uses a tier identifier field to distinguish the role of the same project in different tiers. Each project entry contains four fields: project identifier, tier identifier, price attribute, and inspection requirement attribute. The same project belongs to at most one tier in the entire model. The model's generation order is fixed: basic package tier, recommended option tier, and optional add-on tier. Before being written, each newly generated tier must be compared with the already generated tiers using project identifiers and duplicates must be removed, ensuring that the tiers have an overriding relationship rather than an inclusion relationship. The three-tier package model is persisted as a whole and is referenced as a single object in subsequent energy verification, version snapshots, template encoding, and personal instantiation stages. Tier affiliation information is passed along with this process, preventing it from being flattened into a hierarchical project list in intermediate stages.
[0108] It is worth noting that preserving the layered structure also provides a prerequisite for template reuse across units. Since the basic package layer reflects the unit's mandatory inspection intensity, the recommended option layer reflects the unit's population composition, and the optional add-on layer reflects the unit's openness, the scale ratio of these three layers itself constitutes the structural fingerprint of the unit's group inspection needs. This fingerprint is precisely the source of the structural features encoded by the binary sparse template code. If the package is still expressed as a set of items without hierarchy, different units can only compare items one by one according to the item list, and the similarity at the structural level cannot be measured.
[0109] Let's take a company as an example to illustrate the actual effect of the three-tier package model. This company has three job categories: management, production, and technical, with employees spanning two age groups. Under the single-package approach, if production staff were to receive two additional targeted inspection items, a separate package would need to be created for the company, with each employee assigned a package. To further differentiate by age group, the number of packages would double. With the three-tier package model, the basic package layer includes 12 mandatory inspection items for all employees; the recommended option layer creates 5 recommended item combinations based on job position and age group, totaling 18 items; and the optional add-on layer allows for all items that can be added individually within the year. A total of 30 items are configured for the individuals requiring inspection. Regardless of whether the company has 200 or 2000 employees, these 30 items remain unchanged, while the range of items seen by older production staff and younger technical staff on the appointment interface remains different.
[0110] S2: Represent the selected item set in the three-layer package model as a package configuration vector. Construct an energy function containing mutual exclusion penalty, dependency penalty, and validity penalty based on the mutual exclusion table and dependency table. The energy function is a non-negative weighted sum of mutual exclusion penalty, dependency penalty, and validity penalty with positive weights. A valid configuration point with an energy value of zero and its neighborhood whose energy value monotonically increases with project changes constitute an energy attraction basin. When the energy value of the energy function is zero, a valid package configuration is obtained and stored in the package configuration version library with a version number. When it is non-zero, a violation detail is output.
[0111] Vectorization uses the entire set of items in the physical examination item library as the component dimension, mapping the selected item set into a binary vector of equal length.
[0112] Equation (3)
[0113] in, This represents the package configuration vector. This indicates the total number of items in the physical examination item database. Indicates the first The selection component for each item has a value of 1 for selected items and 0 for unselected items. An energy function is constructed on this vector.
[0114] Equation (4)
[0115] in, Represents package configuration vector Energy value, This represents the set of mutually exclusive relationships recorded in the medical examination table, which shows the pairs of items that cannot be selected simultaneously in the same medical examination. This indicates the selected first item recorded in the dependency table. The second item must be brought out at that time. Projects for collection, This represents the set of projects marked as discontinued in the project library that year. , , The terms represent the penalty weights of the mutual exclusion penalty, dependency penalty, and validity penalty, respectively. In equation (4), the first term is non-zero when both mutually exclusive items are selected, the second term is non-zero when a dependent item is missing, and the third term is non-zero when a deactivated item is selected. All three terms are non-negative, therefore... If and only if all three types of constraints are satisfied simultaneously.
[0116] Rule traversal provides a set of independent Boolean decisions, with the results and reasons for violations scattered across the execution paths of multiple rules. Configurers need to backtrack to determine which rule was triggered where. In contrast, the energy function compresses all constraints into a single scalar. Since this scalar is additively decomposable by penalty terms, it allows for... A single evaluation simultaneously provides two pieces of information: "whether it is valid" and "which category and which items caused it." Item pairs with a non-zero contribution from the mutual exclusion penalty term are mutually exclusive conflicting item pairs; items with a non-zero contribution from the dependency penalty term are missing dependencies; and items with a non-zero contribution from the validity penalty term are disabled items. This solves the problem of difficulty in pinpointing the cause of a violation in one step. The penalty weights must reflect the rigidity differences in the constraints. It is advisable to take The difference is 5 to 20 times, because mutually exclusive violations will directly cause inspection conflicts during the on-site inspection process and are therefore non-relevant. and Dependencies of the same magnitude can be eliminated by automatic carry-out or replacement of missing dependencies and project discontinuation.
[0117] The selected set of items with an energy value of zero constitutes a valid package configuration. A configuration snapshot is then generated, recording the configuration content, effective year, changes, and reasons for changes, and a version number is appended and stored in the package configuration version repository. The configuration snapshot can be stored using a whole-system serialization method, where the configuration content is serialized into a string and the unit identifier and version number are used as the primary key. Alternatively, an incremental storage method can be used, storing only the differences from the previous version to reduce the storage footprint of the version repository.
[0118] In one example, a configuration selected 12 items. Two image checks were registered as a mutually exclusive item pair due to interference between their imaging principles. Another check's dependent item was not selected. , , ,but If the value is non-zero, the save is blocked, and the violation details will also provide the mutual exclusion conflict item and the missing dependency.
[0119] In this embodiment of the invention, the energy function refers to a non-negative scalar mapping that uses the package configuration vector as the independent variable and sums the values of various project relationship constraints according to penalty weights. Essentially, it embeds a set of originally independent Boolean-type validity criteria into the same scalar potential field, transforming the determination of "whether the configuration is valid" from a logical conjunction of multiple judgment results into a comparison of whether a single scalar is zero. Compared to conventional rule engine-based validation, the energy function does not change the content of the constraints themselves—the mutual exclusion table and dependency table remain the sole source of constraints—but rather changes the organization and evaluation method of the constraints.
[0120] The energy function can simultaneously determine legality and locate violations in a single evaluation, and its technical principle is based on two properties. The first is zero-point equivalence: the three penalty terms in equation (4) are all summed from non-negative terms. Any term is zero if and only if the constraints of the corresponding category are fully satisfied. Therefore, the sum of the three terms is zero if and only if all constraints are satisfied simultaneously. Zero energy and legal configuration are strictly equivalent. There is no situation where the energy is zero but there is still a violation, or where there is a violation but the energy is zero. The second is additive decomposition: the energy value is naturally decomposed according to the penalty terms and item indices during the accumulation process. The contribution of a certain item pair to the mutually exclusive penalty terms is non-zero, which is equivalent to the item pair constituting a mutually exclusive conflict. There is no need to perform another rule traversal to answer "where the violation occurred". It is these two properties that make the determination and location merged into the same calculation.
[0121] The construction process of the energy function can be described as follows. After loading the mutual exclusion table and dependency table in the configuration interface, the system compiles the two tables into a summation index for penalty terms: each record in the mutual exclusion table generates a summation term acting on the product of two components, each record in the dependency table generates a summation term acting on the difference between the value of the preceding and following items, and the deactivated flag in the current year's item library generates a summation term acting on a single component. Evaluation only requires traversing the three indices without traversing the entire item set, so the cost of a single evaluation is of the same order as the size of the relation tables. In the interactive scenario of the configuration interface, an incremental evaluation method can be adopted: when the examinee selects or cancels an item, only the summation term related to that item is recalculated, and the previous energy value is differentially updated, avoiding a complete recalculation. The energy value and violation details can be cached together in the current configuration session for reuse at both the save and submit trigger points.
[0122] Through the aforementioned energy function, the technical effects achieved by this invention are reflected in three aspects. First, the determination of all constraints is compressed into a single scalar comparison, with the determination result and the reason for violation generated simultaneously. Configuration personnel do not need to backtrack through the execution records of multiple rules to identify the conflict. Second, the addition, deletion, and modification of constraints are only reflected in the addition, deletion, and modification of relational table records. The summation range of penalty terms changes accordingly, while the form of the energy function remains unchanged. The evolution of business rules does not cause changes to the verification logic. Third, the same energy function is shared in the three stages of configuration saving, submitting the combined data of those undergoing checks, and repairing the template across years. The legality criteria in these three stages are strictly consistent, avoiding the situation where the same configuration yields different verification conclusions at different stages.
[0123] The above effect is illustrated by comparing two configurations. In the first configuration, 12 items were selected, including a pair of image inspection items whose imaging principles interfered with each other, and another item with a dependency marker that did not retrieve its dependency. With a mutual exclusion penalty weight of 10, and both the dependency penalty weight and the validity penalty weight being 1, the energy value was 11. The mutual exclusion penalty contributed 10, the dependency penalty contributed 1, and the validity penalty contributed 0. Based on this, the system directly output two violation records: the mutually exclusive conflicting item pair and the missing dependency. After the configuration personnel canceled one of the image inspections and added the missing dependency, the energy value of the second evaluation was 0. The configuration was then judged as a valid package configuration and a configuration snapshot was generated.
[0124] S3: Divide the feature columns according to the major inspection categories. The feature columns are feature coding partitions divided according to the major inspection categories. The coding bits allocated according to the project subclasses within the feature coding partitions constitute bit intervals. The activation bits are locally clustered and globally sparse within the bit intervals. Encode the structural features of each historical template in the package configuration version library into binary sparse template codes. Encode the group inspection requirement features into binary sparse query codes according to the same rules. Obtain the candidate template recommendation list by descending order of bit overlap between the binary sparse query codes and the binary sparse template codes.
[0125] The encoded bit string is divided into several non-overlapping feature columns according to the major examination categories. Blood tests, imaging examinations, physical examinations, and specialist examinations each occupy one column, and encoded bits are further allocated within each column according to the subcategories of the items. The structural characteristics of the historical template—item category distribution, price range, applicable job label set, and age group coverage—are assigned bits to the corresponding encoded bits according to their respective subcategories. The resulting binary sparse template code has two properties: the bits are locally clustered within the columns, and sparsely distributed across the entire bit string. Sparsity is defined as...
[0126] Equation (5)
[0127] in, This represents the sparsity of the binary sparse template code. Represents binary sparse template code. express Number of center bits This represents the total length of the encoded bit string. The group inspection requirement features are divided according to the same set of feature pillars and encoded bit allocation rules, resulting in a binary sparse query code. The positional overlap between the two is...
[0128] Equation (6)
[0129] in, Indicates the degree of overlap by position. Indicates the characteristic column number, Indicates the first The preset importance of the inspection category to which each feature column belongs. Indicates the first Within each feature column and The common set number of bits, This represents the Hamming distance between two binary strings of equal length. This represents the Hamming distance reduction factor.
[0130] If the coding bits are not divided into columns and are distributed globally, items from different inspection categories will overlap on the same bit segment, and two templates with completely different structures may coincidentally overlap due to their positions. Since the difference within the same category is only affected by dividing the code into columns according to inspection categories, and there is no interference between columns, the number of common bits within a column directly corresponds to the degree of conformity with the requirements of the corresponding inspection category. Therefore, it becomes a single scheduling quantity based on the similarity of the demand structure. Furthermore, due to the global sparsity of the bit string, the numerator and denominator of equation (6) can both be completed by bitwise AND, bitwise XOR, and bitwise counting. The retrieval process does not involve item-by-item comparison, thus enabling configuration personnel who do not know the unit name to retrieve reusable templates from a large-scale template library based on demand characteristics. Regarding parameters, A value of 0.02 to 0.10 is recommended: if it is too small, the distinguishability will be insufficient, and the codes of different templates will tend to be orthogonal and the overlap will be generally low; if it is too large, the codes will tend to be dense, and any two codes will overlap highly and lose the filtering ability. It is advisable to use 512 to 4096 bits. A value of 0.01 to 0.1 is recommended. Excessive reduction in the number of columns can lead to over-reduction of templates that fit well within the columns but have significant differences in the number of items.
[0131] In this embodiment of the invention, the binary sparse template code refers to a fixed-length binary string that divides feature columns according to inspection categories and locates items within each column according to subcategories. It is a distributed representation of the historical template requirement structure. Unlike exact matching indexes that use template identifiers or unit names as keys, the binary sparse template code does not point to a specific template's item list. Instead, it maps the structural facts of the template—"which inspection categories it focuses on, what cost level it is, and which positions and age groups it targets"—to a fixed position, allowing the similarity between two templates to be directly read from the overlap of the two bit strings. The binary sparse query code is generated from the group inspection requirement features using the exact same column division and encoding bit allocation rules, and therefore resides in the same representation space as the template code.
[0132] The reason why binary sparse coding can support similarity retrieval lies in the semantic localization brought about by column division and the preservation of distinguishability brought about by sparsity. If the encoded bits are not divided into columns and are freely scattered throughout the bit string, the structural facts of different inspection categories will occupy adjacent or even the same bit segments. Two templates with completely different inspection focuses may have a high degree of overlap due to coincidence, and the monotonic relationship between overlap and demand similarity will be destroyed. After column division by inspection category, the structural differences in any category can only change the position distribution within that column. Columns do not interfere with each other, and the number of common positions within a column can be interpreted as the degree of demand matching in that inspection category. The weighted sum of the matching degrees of each column is the overall structural similarity. At the same time, since the number of item subcategories involved in any template is much smaller than the total number of item subcategories, the bit string remains sparse overall. The probability of accidental overlap between two random templates is very low, and the degree of overlap has filtering significance. If the bit string tends to be dense, any two codes will have a high degree of overlap, and the measurement will become invalid.
[0133] The implementation path of the binary sparse coding and similarity retrieval is as follows. During the initialization phase, the system establishes an allocation table based on the major categories and subcategories of the project library. A continuous range of coding bits is allocated as a feature column for each major category, with the column length determined by the number of subcategories under that category. A unique coding bit is assigned to each subcategory within the column. The allocation table is maintained with each version of the project library; newly added subcategories are appended to the end of their respective columns, while the coding bits of existing subcategories remain unchanged, thus ensuring that historical template codes remain comparable even after the project library evolves. During coding, the system reads four structural features from historical templates: project category distribution, price range, applicable job tag set, and age group coverage. The system then sets the corresponding coding bit according to the subcategory to obtain the binary sparse template code, which is stored together with the template identifier. During the retrieval process, the system generates binary sparse query codes based on the industry category, personnel size, age structure, budget range, and mandatory inspection intentions of the group inspection units according to the same allocation table. The query codes and each template code are subjected to bitwise AND and bitwise XOR operations. After the common bit positions are counted by column, the weighted sum is calculated and reduced according to the Hamming distance to obtain the bitwise overlap. Finally, the results are merged with the results obtained by searching by unit name to remove duplicates.
[0134] The aforementioned technical measures result in a dual improvement in both the retrieval entry point and retrieval cost. Regarding the retrieval entry point, configuration personnel no longer need to know which unit a historical template belongs to; they only need to describe the requirements of the current group inspection to obtain reusable templates with similar structures. Therefore, units conducting initial group inspections and units undergoing name changes can also reuse historical templates. As for retrieval cost, similarity calculations are entirely completed using integer-length bit operations and bit-counting. The cost of a single comparison is only related to the length of the encoded bit string and is independent of the number of items contained in the template. As the template library grows, retrieval time increases linearly with the number of templates with a very small constant. A single retrieval of a template library of tens of thousands can still be completed within the allowable latency of the interaction. Furthermore, since the encoded object is a structural feature rather than a list of items, the discontinuation or renaming of individual items will not cause overall template code mismatch, making the retrieval results robust to the evolution of the item library.
[0135] S4: Load the template selected from the candidate template recommendation list to obtain the initial configuration of the annual package. Search for a replacement item in the energy attraction basin where the deactivated item in the initial configuration of the annual package is located, perform energy minimization iterative repair, and obtain the effective package configuration for the current year.
[0136] The discrepancies between templates loaded across years and the current year's project library are concentrated in two areas: project deactivation and project price changes. The former makes the validity penalty term of equation (4) non-zero, constituting a violation that must be resolved; the latter does not affect legality and only requires manual confirmation. The repair process takes place on energy terrain, with the energy attraction basin defined as...
[0137] Equation (7)
[0138] in, Indicates a valid configuration point Energy attraction basin, This represents a package configuration vector with an energy value of zero. This indicates the preset number of steps. The flip sequence refers to the vector sequence formed by flipping the corresponding components of an individual item in sequence. Candidate replacement items must meet the price constraint.
[0139] Equation (8)
[0140] in, Indicates the price deviation rate. Indicates the price of the item to be replaced. Indicates the price of the candidate replacement item. This indicates the preset price deviation tolerance. In each iteration, a discontinued item is selected as the item to be replaced. Within its energy attraction basin, items of the same category that satisfy equation (8) are searched and checked. Items whose energy value decreases after replacement and do not generate new mutual exclusion penalty items or new dependency penalty items are selected for replacement. The process continues until the energy value is zero.
[0141] While a global search can find similar items, it cannot guarantee that replacing them will not trigger new mutual exclusion or dependency violations. Repairing them may create one violation while eliminating another, thus causing the iteration to fail to converge. Since the attraction basin, according to formula (7), only accepts items that are no more than a certain distance from the legal configuration point, it is not possible to achieve this. The vector with secondary component flipping and no increase in energy along the way ensures that each replacement in the basin is constrained to the direction of "not breaking the already satisfied constraints". The energy value decreases monotonically with iteration and returns to zero in a finite number of rounds, so that the cross-year template reuse will no longer fail as a whole due to the evolution of the project library. A value of 2 to 4 is recommended: if the value is too small, the search space for replaceable items will be too narrow, and there may be no solution, so the search will be returned to manual search; if the value is too large, the number of vectors in the basin will increase exponentially, and the search cost will rise. A value of 0.1 to 0.3 is recommended to ensure that the replacement does not significantly alter the unit cost budget.
[0142] In one example, a multi-year template contains 38 items, of which 2 are deactivated. The initial energy value is 2; the first round uses discontinued items from a certain imaging examination subclass as replacement items, and their prices are... Price of candidate projects within the basin , After the first replacement, the energy value drops to 1; in the second round, the energy value drops to 0 after the same replacement. After two rounds of iterations, the results converge, outputting two replacement details. In addition, three variable price items are marked as items to be confirmed.
[0143] In this embodiment of the invention, the energy minimization iterative repair refers to a local repair process that uses the package configuration vector as the search object, the replacement of a single item as the movement operator, and the monotonically decreasing energy value as the advancement condition. The energy attraction basin refers to the neighborhood set formed by package configuration vectors that are reachable by a finite number of single-item component flips around a certain legal configuration point and whose energy value does not increase along the way. Together, they constitute the search space and search direction for repair: the attraction basin defines "where to search," and the monotonically decreasing energy value defines "when to advance." Unlike the conventional processing of directly deleting deactivated items or reverting to item-by-item reconfiguration, the energy minimization iterative repair does not abandon the configuration information already carried by the historical template, but rather performs equivalent replacement of the failed parts while maintaining the overall structure of the template.
[0144] The energy-minimizing iterative repair can converge without creating new violations. Its technical principle can be explained from two aspects: the locality of the penalty term and the construction of the attraction basin. On the one hand, the deactivated item only contributes to the validity penalty term in Equation (4). Its influence on the mutual exclusion penalty term and the dependency penalty term is limited to the item pairs directly related to it. Therefore, the changes required to eliminate a deactivated item are local in the entire set of items and do not require a global rearrangement of the configuration. On the other hand, the attraction basin, according to Equation (7), only includes vectors that are no more than a preset number of steps away from the legal configuration point and whose energy does not increase along the way. This means that each candidate replacement item in the basin will not push the configuration to a region with higher energy when it is selected. Therefore, the replacement will not create another violation while eliminating one. Since each iteration eliminates at least one deactivated item and the energy strictly decreases, and the energy value is the sum of a finite number of non-negative penalty terms, the iteration will inevitably reach zero energy or determine that there is no solution within a finite number of rounds.
[0145] At the implementation level, the energy minimization iterative repair starts with the package configuration vector corresponding to the initial configuration of the current year's package as the iteration starting point. It first compares the vector with the current year's project library to identify two categories of differences: discontinued projects and price-changed projects, then proceeds with the iteration. In each iteration, projects to be replaced are selected in descending order of their contribution value to the validity penalty item. The corresponding component of each project is set to zero, and an energy attraction basin is constructed centered on the resulting vector. Among the activated projects within the basin, those with the same major category are screened and checked. Projects exceeding the preset price deviation tolerance are then eliminated based on their price deviation rate. The remaining projects are sorted in descending order of the overlap of the required attributes to form a candidate replacement project set. The first project selected from this set, whose energy value decreases after replacement and which does not generate new mutual exclusion penalties or new dependency penalties, is replaced. The correspondence between the replaced project and the replacement project is recorded. If the candidate replacement project set is empty or none of its items meet the advancement conditions, the discontinued project is not replaced in this round but is directly removed from the configuration and recorded in the replacement details for manual confirmation. This ensures that the iteration is not interrupted due to a lack of replacement options for individual projects. The iteration terminates when the energy value is zero, and outputs the corrected valid template configuration and replacement details. The price change items and replacement details are marked as items to be confirmed.
[0146] The technical benefits of the energy-minimizing iterative repair are primarily reflected in its usability for cross-year reuse. It's common for medical examination institutions to add and remove projects from their project library annually. Under conventional practices, historical templates containing even one discontinued project cannot be directly loaded, requiring configuration personnel to backtrack and confirm each item individually. The benefits of template reuse diminish as the project library changes. With energy-minimizing iterative repair, the invalid parts of the template are automatically replaced with projects of the same category, similar prices, and that do not introduce new violations. The benefits of template reuse no longer diminish with project library evolution. Furthermore, the repair and verification processes share the same energy function and the same set of relational tables, ensuring the repair results pass subsequent legality checks and eliminating the contradiction of "repair passed but saving blocked." Finally, replacement details and price-changing projects are presented as pending confirmation items, allowing each step of the automatic repair to be manually reviewed and rejected. The increased automation does not come at the cost of decreased controllability.
[0147] Taking a complete cross-year reuse as an example. A unit's package configuration template from the previous year contained 38 items. In the current year's project library, 2 items were marked as discontinued, and the prices of 3 items changed. After loading, the system calculates an initial energy value of 2, all from validity penalty items. In the first iteration, the discontinued item with the highest contribution value is selected. This item belongs to the imaging examination category and has a price of 180 price units. Within its energy attraction basin, 3 candidate items belonging to the same imaging examination category are found, with prices of 200, 245, and 160 price units respectively. Based on the preset price deviation tolerance of 0.2, the deviation rate of the candidate item with a price of 245 is approximately 0.361, exceeding the limit and being eliminated. The remaining two items enter the candidate replacement item set and are sorted according to the overlap of inspection requirement attributes. The top-ranked candidate item and the replaced item both have the same fasting requirement and the same inspection time period requirement. After replacement, the energy value drops to 1, and no new mutual exclusion penalty items or new dependency penalty items are generated. The replacement is executed. The second iteration similarly resolves another deactivated item, reducing the energy value to 0, and the iteration ends. The system outputs 5 items for confirmation, including 2 replacement details and 3 price change items. After the configuration personnel confirm each item, the corrected and valid template configuration becomes the effective package configuration for that year.
[0148] Example 2
[0149] like Figure 2 As shown in Example 1, a basic package layer is constructed based on the physical examination item library and the mandatory examination requirements of group examination units. A recommended option layer is generated according to the recommendation rules of job category and age group. A self-selected additional item layer is constructed with the complete set of addable items, resulting in a three-layer package model, including:
[0150] S1.1: Write the items in the physical examination item library that are matched by the mandatory examination requirements of the group examination unit, along with the price attributes and examination requirement attributes of the items, into the basic package layer to obtain the basic package layer configuration data.
[0151] Mandatory inspection requirements are given in the form of project name, inspection category, or industry-specific item. Matching is determined by a two-way matching between the standard name in the project library and the alias table. Each project written into the basic package layer carries both price and inspection requirement attributes. The inspection requirement attributes include fasting requirements, inspection time period requirements, and pre-preparation requirements. These two types of attributes are directly consumed in subsequent cost estimation and replacement project screening, so they must be added to the project library along with the project and cannot be retrieved from the project library when needed.
[0152] Specifically, the hit determination of the mandatory inspection requirements is performed in a three-level order: first, exact matching is performed using the standard name of the project; if no match is found, matching is performed using the alias table; if still no match is found, the entire inspection category is matched, and all projects under that category are listed for configuration personnel to select. The project entries written into the basic package layer adopt a unified data structure, including project identifier, project standard name, layer identifier, price attribute, and inspection requirement attribute. The inspection requirement attribute stores three sub-items in the form of a combination of flag bits: fasting requirement, inspection time period requirement, and pre-preparation requirement.
[0153] It should be noted that when a mandatory medical examination requirement from a group medical examination unit includes an item that is not in the medical examination item database, the system will not silently discard it. Instead, it will put the requirement on hold and list it separately in the configuration interface, allowing the configuration personnel to choose to replace it with a similar item or request the item database to be added. This avoids mandatory medical examination requirements being silently omitted during the configuration process.
[0154] S1.2: Based on the basic package layer configuration data and the job category and age structure data of the unit's personnel, generate several recommended item combinations according to the recommendation rules, and bind an applicable population tag consisting of job category and age group to each recommended item combination to obtain the recommended option layer configuration data.
[0155] The details of this step are shown in Example 3.
[0156] S1.3: Write the complete set of items that can be added individually from the physical examination item library into the optional item layer to obtain the optional item layer configuration data.
[0157] The criteria for determining whether items can be added independently are the addition permission marks in the project library. Items marked as not allowing independent addition are usually combination projects that must be executed in the same batch as other projects. These types of projects are brought out by the dependency table during the submission process and do not enter the optional addition layer.
[0158] The optional add-on layer allows for grouping and storing items by major examination categories during the writing process. This enables the appointment interface to be displayed in a collapsed manner by category, avoiding the need for examinees to face a long, unstructured list. The add-on permission mark is uniformly set by the medical examination institution during the item database maintenance process. Changes to the mark take effect the next time the three-tier package model is generated, while the already generated three-tier package model remains unaffected, thus ensuring the stability of the configuration results within the same year.
[0159] S1.4: Merge the configuration data of the basic package layer, the configuration data of the recommended option layer, and the configuration data of the optional add-on layer to obtain the three-layer package model.
[0160] The merged three-tier package model uses tier identifiers to distinguish the role of the same project in different tiers. The same project can belong to at most one tier, and conflicts between tiers are resolved in the order of priority of the basic package tier, followed by the recommended option tier.
[0161] The layer identifiers are stored as enumerated values in each item entry, with values corresponding to the basic package layer, recommended option layer, and optional add-on layer, respectively. During merging, the system traverses the three configuration data sets according to the above priority order. If an item with a duplicate item identifier is encountered, the item with the higher priority layer is retained and the remaining items are discarded. At the same time, the original layer and item identifier of the discarded item are recorded in the merge log for configuration personnel to verify.
[0162] For example, if a certain item is listed as a mandatory requirement by the group medical examination unit and also appears in the recommended item combination for a certain job category, then after merging, the item will only be retained in the basic package layer, and the same item in the recommended item combination will be discarded; the examinee will only see the item appear once on the appointment interface, and it will be presented as mandatory rather than optional.
[0163] Example 3
[0164] Based on Example 2, and using the basic package layer configuration data and the job categories and age structure data of the unit's personnel, several recommended item combinations are generated according to the recommendation rules. Each recommended item combination is then bound to an applicable population tag consisting of job category and age group, resulting in recommended option layer configuration data, including:
[0165] S1.2.1: The job category and age structure data of the personnel in the unit are cross-divided according to job category and age group to obtain several population groups.
[0166] Cross-division uses job category as one dimension and age group as the other dimension to form a dividing grid. The grid with zero people does not generate a group, so the actual number of people groups is usually less than the product of the two dimensions.
[0167] Specifically, the job category value is derived from the job field in the personnel list provided by the group medical examination unit, while the age range is calculated from the person's birth year according to a preset grading rule. One feasible grading method is to divide several age ranges into 10-year intervals, and the boundary of the grading can be adjusted by the medical examination institution based on its business experience. For personnel whose job field or age information is missing in the personnel list, the system will classify them into the default group. This group is only bound to the basic package layer and the optional add-on layer and will not match the recommended project combination. They will be re-submitted for cross-grading after the information is completed.
[0168] S1.2.2: Calculate the percentage of each group of people in the unit to obtain the population weight of each group.
[0169] The population weighting ensures that subsequent combination selection is based on the actual number of people rather than the number of slots, thus preventing slots with very few people from occupying the same amount of configuration resources as slots with many people.
[0170] The population weight is calculated by dividing the number of people in the population group by the total number of employees in the unit, and the sum of the population weights of all population groups is 1. The population weight is calculated once when the personnel list is imported and is recalculated synchronously when the list is supplemented; since the weight is only used for combination and rounding and does not participate in the cost calculation, its precision of two decimal places is sufficient for use.
[0171] S1.2.3: Express the recommendation rule as a mapping from label conditions consisting of job category conditions and age group conditions to project combinations, and retrieve the matching mapping for each of the population groups to obtain the candidate recommended project combinations for each population group.
[0172] Mappings are stored with tag conditions as keys and item combinations as values. A population group can match multiple mappings, and the union of the matching results by item constitutes the candidate recommended item combinations for that group. Externalizing recommendation rules as searchable mappings rather than embedding them in program branches ensures that rule adjustments do not involve changes to the configuration process.
[0173] S1.2.4: Remove items that are already included in the basic package layer configuration data from the candidate recommended item combination to obtain the deduplicated recommended item combination.
[0174] Deduplication is a direct implementation of the inter-layer coverage relationship: if an item that has already been effective for all people in the basic package layer appears again in the recommended option layer, it will be charged twice in the cost estimate, and the examinee will see two entries for the same item on the appointment interface.
[0175] S1.2.5: Calculate the applicable population coverage weighted by the population weight for the deduplicated recommended item combination, and merge the recommended item combination with the same inspection category and overlapping applicable population tags to obtain the merged recommended item combination.
[0176] The calculation method for the coverage of the applicable population is as follows:
[0177] Equation (9)
[0178] in, Indicates the first The target audience coverage of each recommended project combination. Indicates the group number of the population. Indicates the first Population weights for individual population groups Indicates the first The recommended project portfolio for the first The hit indicator for individual population groups is 1 for a hit and 0 for a miss. The reason for merging low-coverage combinations instead of deleting them is that although the population groups corresponding to low-coverage combinations represent a small percentage of the population, their recommended items are often what distinguishes them from other groups. Direct deletion would reduce the group to only having the basic package layer available. Since the merging is limited to adjacent combinations with the same major examination category, the examination nature of the merged combinations remains consistent, and the options available to examinees do not expand across major categories due to merging. This reduces the number of combinations while preserving differentiated acceptance capabilities. The preset coverage threshold should ideally be between 0.05 and 0.15: if the threshold is too low, merging will hardly occur, and the number of combinations in the recommended option layer will be out of control; if the threshold is too high, a large number of combinations will be merged into broad combinations, diluting the specificity of the population tags.
[0179] S1.2.6: Bind the merged recommended item combination with the applicable population tags composed of job categories and age groups to obtain the recommended option layer configuration data.
[0180] The recommended option layer configuration data after binding is indexed by the applicable audience tags. When people make an appointment, they can see the corresponding combination after matching the tags according to their own job category and age group, without the need for separate configuration.
[0181] It should be understood that the configuration data for the recommended options layer is organized into a tag index table indexed by the applicable population tags. Each record in the table consists of three fields: job category value, age group value, and recommended item combination identifier. When a medical examinee's job category and age group match multiple records simultaneously, the system takes the union of the multiple matched recommended item combinations according to the item identifier and presents them uniformly. Duplicate items are only retained once to avoid multiple entry points for the same item on the appointment interface.
[0182] Taking a certain unit as an example, a person undergoing a physical examination is classified as a production worker and belongs to the second age group. The person is matched with both the recommended item combination for production workers and the recommended item combination for the second age group. The two combinations contain a total of 9 items, with 2 items overlapping. Therefore, the person undergoing the physical examination can actually see 7 items in the recommended option layer.
[0183] Example 4
[0184] like Figure 3 As shown, based on Example 1, the selected item set in the three-layer package model is represented as a package configuration vector. An energy function containing mutual exclusion penalty items, dependency penalty items, and validity penalty items is constructed based on the mutual exclusion table and dependency table. The energy function is a non-negative weighted sum of the mutual exclusion penalty items, dependency penalty items, and validity penalty items with positive weights. A valid configuration point with an energy value of zero and its neighborhood whose energy value monotonically increases with item changes constitute an energy attraction basin. When the energy value of the energy function is zero, a valid package configuration is obtained and stored in a package configuration version library with a version number. When the energy value is non-zero, violation details are output, including:
[0185] S2.1: Using the complete set of items in the physical examination item library as the component dimension, set the component corresponding to the selected item in the selected item set to the first value and the component corresponding to the unselected item to the second value, where the first value is greater than the second value, to obtain the package configuration vector.
[0186] When the first value and the second value are 1 and 0 respectively, the product term in equation (4) This is exactly equivalent to the simultaneous selection of mutually exclusive pairs of items. This is exactly equivalent to a dependency missing indicator, so the penalty term does not require additional conditional branches.
[0187] Specifically, the package configuration vector does not need to be stored in the form of a dense array. Since the size of the selected item set is much smaller than the total number of items in the physical examination item library, the system can store only the ordered subscript set composed of the component subscripts with the first value. The bitwise access of the vector is achieved by binary search of the subscript set, and the storage usage is of the same order as the number of selected items and is independent of the total number of items.
[0188] It is worth noting that when a new project is added to the project library, the vector dimension is expanded accordingly, and the initial value of the new component is always the second value. Since the new component has no record in the mutual exclusion table and dependency table, its contribution to the energy value is zero. The energy value of the historical configuration vector remains unchanged after the dimension expansion. Therefore, the expansion of the project library will not cause existing valid package configurations to be re-judged as violations.
[0189] S2.2: Based on the pairs of items that cannot be selected simultaneously in the same physical examination recorded in the mutual exclusion relationship table, construct a mutual exclusion penalty item that accumulates penalty weights for each pair of items that are selected simultaneously.
[0190] The mutual exclusion table uses item pairs as the record unit, and one record corresponds to the equation (4). An element in the relation table, adding or deleting it is equivalent to adding or deleting the range of the penalty term summation, without needing to modify the energy function itself.
[0191] The mutual exclusion table is maintained as an editable list in the configuration interface. Each record contains three fields: first project identifier, second project identifier, and mutual exclusion reason description. The mutual exclusion reason description is only used for displaying violation details and is not involved in energy calculation. When writing records, the system performs normalized sorting and uniqueness verification based on project identifiers to ensure that the same project pair is not registered repeatedly.
[0192] It should be noted that the mutual exclusion relationship is semantically symmetrical, that is, the judgment that two items cannot be selected at the same time is unrelated to the registration order of the two items. Therefore, the mutual exclusion penalty term in formula (4) is accumulated according to the unordered item pair. The mutual exclusion relationship does not make a transitive assumption, that is, the mutual exclusion of item A and item B, and the mutual exclusion of item B and item C does not imply that item A and item C are mutually exclusive. Such relationships must be explicitly registered one pair at a time.
[0193] S2.3: Based on the second item that must be included when selecting the first item as recorded in the dependency table, construct a dependency penalty item that accumulates penalty weights for each missing item of the second item.
[0194] Dependency relationships are directed. Indicates the selection of the first When referring to a project, the first item must be included. For each item, the reverse is not true, so the dependency penalty item is accumulated in an ordered manner.
[0195] The dependency relationships support multi-level chained dependencies, meaning that a second item brought out can also be the first item in another dependency record. When compiling dependency penalty items, the system calculates the transitive closure of the dependency table, ensuring that a single evaluation covers the entire dependency chain and preventing situations where a first-level dependency is satisfied while a second-level dependency is missing and thus undetected. To prevent circular dependencies caused by configuration errors, the system performs loop detection when writing to the dependency table; if a loop is detected, the write operation is rejected and the identifier of the involved item is displayed.
[0196] S2.4: Based on the deactivated flags of projects in the project library for the current year, construct an effectiveness penalty item that accumulates penalty weights for each deactivated project selected.
[0197] The validity penalty item incorporates the time evolution of the project library into the same energy function, so historical templates loaded across years and configurations newly created in the current year share the same set of validity criteria.
[0198] The deactivation flag includes a deactivation effective date. When calculating validity penalties, the system uses the project library snapshot of the current year as the basis for the expected execution year of the current group inspection plan. This ensures that templates loaded across years are verified based on their actual execution year, not the project library status at the time of loading. For projects that have not yet reached their deactivation effective date within the current year, the system does not include them in the validity penalty, but informs the configuration personnel through a prompt flag in the configuration interface that the project will be deactivated during the year.
[0199] S2.5: Summing the mutual exclusion penalty term, the dependency penalty term, and the validity penalty term to obtain the energy function, calculating the energy value of the package configuration vector under the energy function, and determining the selected item set as the legal package configuration when the energy value is zero, and generating a configuration snapshot with a version number that records the configuration content, effective year, change items, and change reasons, and storing it in the package configuration version library.
[0200] The details of this step are shown in Example 5.
[0201] S2.6: When the energy value is non-zero, the project pairs with non-zero contributions from the mutual exclusion penalty item are identified as mutually exclusive conflict project pairs, the project pairs with non-zero contributions from the dependency penalty item are identified as missing dependencies, and the project pairs with non-zero contributions from the validity penalty item are identified as disabled projects, thereby obtaining the violation details.
[0202] Violation location does not require additional traversal: the energy value can be accumulated separately according to the penalty item during the summation process and the index of the non-zero contribution can be recorded. Therefore, the violation details are a by-product of energy calculation rather than the result of secondary calculation.
[0203] Specifically, the violation details are output as a structured list. Each record includes the violation category, the identifier of the involved item, the contribution of the violation to the energy value, and a reason explanation from the relation table. The list is sorted in descending order of the penalty weight of the violation category, so that mutually exclusive conflicting item pairs that must be resolved are always at the top of the list, while missing dependencies and disabled items that can be automatically brought out or replaced are placed at the bottom.
[0204] For example, if a submission of violation details contains one mutex record and two dependency records, the interface will prioritize highlighting the mutex conflict item pair and block the submission. At the same time, it will provide a one-click access point for the two missing dependencies, allowing configuration personnel to handle all violations within the same interface.
[0205] Example 5
[0206] Based on Example 4, the energy function is obtained by summing the mutual exclusion penalty term, the dependency penalty term, and the validity penalty term, including:
[0207] S2.5.1: Configure penalty weights for the mutual exclusion penalty item, the dependency penalty item, and the validity penalty item respectively. The penalty weight of the mutual exclusion penalty item is greater than the penalty weight of the dependency penalty item, and the penalty weight of the dependency penalty item is not less than the penalty weight of the validity penalty item.
[0208] The relative weights reflect the differences in constraint rigidity. Mutually exclusive violations, once issued, become unenforceable during on-site inspections and must be blocked; missing dependencies can be resolved by automatic carry-out; project discontinuation can be resolved by replacement. Take as The energy contribution of any mutual exclusion violation is 5 to 20 times that of all dependency violations and validity violations combined, which ensures that the energy contribution of any mutual exclusion violation is higher than the sum of all dependency violations and validity violations. Therefore, the repair iteration will necessarily prioritize the resolution of mutual exclusion violations.
[0209] Specifically, the penalty weights can be calibrated as follows: First, calculate the upper bound of the number of dependency violations and validity violations in a single package configuration, where the upper bound does not exceed the total number of selected items; then, take the penalty weight of the mutually exclusive penalty item as greater than the product of this upper bound and the penalty weights of the dependency and validity penalties, thus ensuring that the energy contribution of any mutually exclusive violation is strictly higher than the sum of the contributions of all other violations. In common group inspection scenarios with dozens of items, setting the mutually exclusive penalty weight to 10 and the dependency and validity penalty weights to both be 1 is sufficient to satisfy the above conditions.
[0210] It should be understood that the absolute value of the penalty weight does not affect the result of the legality determination, but only affects the decomposition structure of non-zero energy values and the order of handling repair iterations. Therefore, its value can be configured by the medical examination institution according to business priority and does not need to correspond to physical quantities such as cost or duration.
[0211] S2.5.2: The mutual exclusion penalty terms are accumulated one by one according to the mutual exclusion pairs, the dependency penalty terms and the validity penalty terms are accumulated one by one according to the items, and the sum is obtained by weighting according to their respective penalty weights.
[0212] The cumulative ranges of the three types of penalty terms are the set of mutually exclusive item pairs, the set of dependent item pairs, and the set of deactivated items, respectively. The size of each of them is much smaller than the total set of items. Therefore, the evaluation cost of equation (4) is of the same order as the size of the relation table and is independent of the size of the item library.
[0213] S2.5.3: Determine the package configuration vector with an energy value of zero under the energy function as a valid configuration point.
[0214] A valid configuration point is a zero potential point on the energy terrain. Its number is equal to the number of combinations of items that satisfy all constraints. It is usually much more than the number of configurations actually used by the configuration personnel. Therefore, a landing point can always be found in the neighborhood during repair.
[0215] It should be noted that although there are many legal configuration points in the entire vector space, their distribution is not uniform: since the number of records in the mutual exclusion table and the dependency table is far less than the total number of item pairs, most item combinations do not touch any constraints. As a result, the energy terrain presents large areas of zero potential regions and a few non-zero potential regions cut out by constraint records. The repair search is actually to find the shortest path back to the adjacent zero potential region within the non-zero potential region.
[0216] S2.5.4: The value of the corresponding component of a single project is flipped as a neighborhood generation operation. The set of package configuration vectors that can reach the legal configuration point through the neighborhood generation operation without increasing the energy value after no more than a preset number of steps is determined as the energy attraction basin of the legal configuration point.
[0217] The single-component flip corresponds to the minimal configuration action of "adding or deleting an item," thus ensuring that every vector within the attraction basin can be reached through the actual configuration operation. The constraint that the energy value does not increase eliminates the path of creating a new violation and then falling back, making the path within the basin consistent with the intuition of manual repair.
[0218] S2.5.5: The union of the energy attraction basins of each of the legally configured points is determined as the energy terrain of the energy function, which is used for location when searching for replaceable items.
[0219] The reason for explicitly using terrain rather than a single basin as the basis for repair search is that a deactivated item may fall into the attraction basins of multiple legally configured points at the same time. If only searching within a single basin, replacement paths with faster energy depletion will be missed. Since terrain is the union of all basins, replacement search can be compared and selected among multiple basins, thus reducing the number of iteration rounds.
[0220] Example 6
[0221] like Figure 4 As shown, based on Example 1, feature columns are divided according to inspection categories. Each feature column is a feature coding partition divided according to inspection categories. Within each feature coding partition, coding bits allocated according to project subcategories form bit intervals. Activation bits are locally clustered and globally sparse within these bit intervals. The structural features of each historical template in the package configuration version library are encoded into binary sparse template codes. Group inspection requirement features are encoded into binary sparse query codes using the same rules. A candidate template recommendation list is obtained by descending the bit overlap between the binary sparse query codes and the binary sparse template codes, including:
[0222] S3.1: Extract the project category distribution, price range, applicable job tag set and age group coverage of each historical template in the package configuration version library to obtain the structural features of each historical template.
[0223] The four structural features respectively characterize the template's inspection focus, cost level, applicable audience, and age range. These four features, rather than the project list itself, were chosen as the coding objects because the project list will become mismatched as the project library evolves, while the structural features remain stable after projects are added, deleted, or renamed.
[0224] Specifically, the quantification methods for the four structural features are as follows: Item category distribution is represented by the ratio of the number of items in each major examination category to the total number of items in the template, with the ratio discretized into several levels according to a preset interval; price level is represented by the quantile interval of the average cost per person in the template within the historical average cost sequence of all templates in the medical examination institution; the set of applicable job tags is the union of the applicable population tags bound to all recommended item combinations in the template's recommended option layer along the job category dimension; age group coverage is the ratio of the number of levels covered by the above applicable population tags along the age group dimension to the total number of age group levels.
[0225] It is worth noting that all four structural features are directly derived from the layer structure of the three-tier package model: the distribution of project categories and price tiers mainly reflect the composition of the basic package layer, while the set of applicable job tags and age group coverage come from the tag binding relationships of the recommendation option layer. If the packages are stored as a set of projects without hierarchy, the latter two structural features mentioned above will be impossible to extract.
[0226] S3.2: Divide the coding bit string into feature columns according to the major categories of examinations, such as blood tests, imaging examinations, physical examinations, and specialist examinations, and assign coding bits according to the sub-category of the project within each feature column.
[0227] The length of each feature column is allocated according to the number of subcategories under the corresponding inspection category, and columns do not share coding bits. The subcategory-to-coding-bit allocation table is established during system initialization and maintained with the project library version. The same subcategory occupies the same coding bit in all template codes and query codes.
[0228] Specifically, the length of each feature column is rounded up to an integer multiple of the word length based on the number of subcategories under the corresponding major examination category. Several spare coding bits can be reserved between columns as extension bits. Taking a total coding string length of 1024 bits as an example, the blood test column, imaging examination column, physical examination column, and specialist examination column can be allocated 384 bits, 256 bits, 192 bits, and 192 bits, respectively.
[0229] It should be noted that the allocation table is maintained with the project library version. Newly added project subclasses are always appended to the extension bits of their respective feature columns without changing the encoding bits of existing subclasses. Therefore, historical template codes do not need to be re-encoded with project library updates to be compared with newly generated query codes. Only when the extension bits of a certain feature column are exhausted will the column be expanded once and the historical template codes involving that column be re-encoded in batches.
[0230] S3.3: Set the structural features of each historical template on the allocated coding bits, so that the set coding bits are locally clustered in the feature column and sparsely distributed on the coding bit string, to obtain the binary sparse template code of each historical template.
[0231] Local clustering and global sparsity are two sides of the same allocation rule: the more concentrated the items of the template are in a certain inspection category, the denser the bit set in that column; while the total number of items of the template in all inspection categories is much smaller than the total number of item subclasses, so the bit set ratio on the entire bit string is maintained in the sparse interval described in equation (5).
[0232] For structural features with continuous values, such as project category distribution and age group coverage, a progressive approach is used for bit setting: the value range is divided into several levels, and when a value falls into the k-th level, the corresponding code bit of that subclass and its preceding k-1 extension bits are set together. This ensures that two templates with similar values also have similar bit setting numbers at that position, so the difference in values is expressed as a difference in the number of bit setting numbers rather than an either-or situation of bit setting or not setting at all. For structural features with discrete values, such as applicable job label sets, bit setting is performed element by element of the set.
[0233] To suppress the impact of the difference in the total number of items on the number of positions, the system can truncate the template code whose total number of positions exceeds the preset upper limit after the encoding is completed, and clear the extension bits in order from low to high according to the distribution of the item categories, until the total number of positions falls into the sparse interval described in formula (5).
[0234] S3.4: Extract the industry category, personnel size, age structure, budget range and mandatory inspection items of the group inspection unit to obtain the group inspection demand characteristics, and set the group inspection demand characteristics according to the same feature column division and coding bit allocation rules to obtain the binary sparse query code.
[0235] Industry category and personnel size are mapped to the coding position of the applicable job tag set, budget range is mapped to the coding position of the price level, and mandatory inspection items are directly assigned according to their subcategories. The query code and template code share the same allocation table, which is a prerequisite for their bit-by-bit comparison.
[0236] Among them, the group inspection requirements allow for some missing items. When the group inspection unit has not yet determined the budget range or the items that must be inspected, the system does not set the corresponding feature column, and when calculating the positional overlap, it sets the preset importance of the feature column to zero and normalizes the preset importance of the remaining feature columns, so that the missing feature column neither contributes to the number of common positions nor increases the Hamming distance due to unilateral placement.
[0237] For example, if an organization that is organizing a group check-up for the first time only provides the industry category, personnel size and age structure, but does not provide the budget range, then the code position of the price range will not be set, and the search results will be sorted according to the degree of match between the project composition and the population composition, and the budget factor will not participate in this sorting.
[0238] S3.5: Calculate the bitwise overlap between the binary sparse query code and each of the binary sparse template codes, and take the first K historical templates in descending order of the bitwise overlap, where K is a preset positive integer.
[0239] The details of this step are shown in Example 7.
[0240] S3.6: Merge the historical templates obtained by searching for the unit name of the group inspection unit with the first K historical templates to remove duplicates, and obtain the candidate template recommendation list.
[0241] The dual-channel merging allows both known and unknown name scenarios to share the same output: when the unit name is available, the name channel provides the unit's previous configurations; when the name is unavailable or it is the first group check, the similarity channel provides templates for other units with similar structures. The results from the two channels are deduplicated according to the template identifier and then sorted in descending order of positional overlap.
[0242] Specifically, deduplication is performed using the template identifier as the key. When the same template appears in two channels simultaneously, only one record is retained, with a source tag appended. During sorting, templates from the organization name channel are prioritized over templates from similar channels if the bitwise overlap is the same, because the historical configurations of the same organization generally have stronger continuity in personnel composition and cost practices than structurally similar templates from other organizations. Each record in the candidate template recommendation list also displays the template's effective year, per capita cost, and total number of projects, allowing configuration personnel to make an initial judgment before loading.
[0243] Example 7
[0244] Based on Example 6, the bitwise overlap between the binary sparse query code and each of the binary sparse template codes is calculated. The first K historical templates are selected in descending order of the bitwise overlap, where K is a preset positive integer, including:
[0245] S3.5.1: Perform a bitwise AND operation on the binary sparse query code and the binary sparse template code to obtain a common set string, and perform a bitwise XOR operation on the binary sparse query code and the binary sparse template code to obtain a difference bit string.
[0246] Both operations are bitwise operations of integer word length. A 64-bit code string only requires [a certain number of bits] on a 64-bit processor. The operation can be completed in one step, regardless of the number of items contained in the template.
[0247] To further reduce the retrieval cost of large-scale template libraries, bitwise AND operations can be performed in blocks according to feature columns, and an early termination criterion is introduced: if the common set number of the first few high-importance feature columns has made the upper bound of the bitwise overlap of the template lower than the bitwise overlap of the Kth template in the current candidate list, then the operation on the remaining feature columns of the template is terminated and the template is skipped directly.
[0248] S3.5.2: Count the number of positions in the common position string to obtain the number of common positions, and count the number of positions in the difference position string to obtain the Hamming distance.
[0249] The set counting is implemented using the processor's set counting instruction or divide-and-conquer bit parallel counting. This invention does not limit the specific counting method.
[0250] S3.5.3: For each of the feature columns, count the number of common position strings within the feature column to obtain the number of common position strings within each feature column.
[0251] The intra-column statistics are performed by masking the common position strings with the start and end positions of the characteristic columns and then counting them, resulting in the value in equation (6). The significance of in-column statistics lies in breaking down the overall number of overlaps into overlap distributions according to examination categories, so that subsequent weighting can distinguish between two completely different similar situations: "highly similar blood tests" and "highly similar specialist examinations".
[0252] The mask required for in-column statistics is generated along with the allocation table during system initialization and resides in memory. Each feature column corresponds to a mask bit string of the same length as the encoded bit string. In the mask, the bits belonging to that column are set to 1, and the remaining bits are set to 0. The number of common set bits within a column is obtained by performing a bitwise AND operation between the common set bit string and the column mask, without needing to determine the feature column to which each bit belongs.
[0253] S3.5.4: The number of common positions within each feature column is weighted and summed according to the preset importance of each of the inspection categories, and the weighted summation result is reduced in a manner that decreases as the Hamming distance increases, to obtain the positional overlap.
[0254] Weighted summation provides a positive correlation, while reduction incurs a negative penalty based on size. Large templates with a significantly larger number of items than query requirements will receive more common positions across all columns; therefore, focusing solely on correlation will keep large templates at the top. Since the reduction factor monotonically decreases with increasing Hamming distance, templates with greater deviations from the query requirements will score lower, thus the ranking reflects structural similarity rather than size. Reduction Factor A value between 0.01 and 0.1 is recommended. A value that is too high will result in the excessive undervaluation of high-quality templates, which may have a slightly larger number of projects than are needed.
[0255] S3.5.5: Sort each of the historical templates in descending order according to the degree of overlap, and take the first K historical templates in the sorting result.
[0256] K should ideally be between 5 and 20: if the value is too small, there will be insufficient candidates for comparison, making it difficult for the configuration personnel to weigh multiple templates; if the value is too large, the candidate list itself will become a new filtering burden.
[0257] It should be understood that the computational cost of the sorting is directly proportional to the number of templates in the template library, and independent of the number of items contained in a single template. Therefore, as the template library grows, the retrieval time increases linearly, and the constant of a single comparison is extremely small. When the number of templates reaches tens of thousands or more, template codes can be loaded and compared in batches by effective year or industry category. The first K results of each batch are then merged and sorted again, thereby controlling the memory usage of a single load without changing the sorting results.
[0258] Example 8
[0259] Based on Example 1, the templates selected from the candidate template recommendation list are loaded to obtain the initial configuration of the annual package. Replaceable items are searched within the energy attraction basin where the deactivated items in the initial configuration of the annual package are located. Energy minimization iterative repair is performed to obtain the effective package configuration for the current year, including:
[0260] S4.1: Load the configuration snapshot of the selected template in the candidate template recommendation list, and use the configuration content recorded in the configuration snapshot as the initial configuration of the annual package.
[0261] The object being loaded is the configuration content recorded in the configuration snapshot, rather than the results of the template's operation in that year. Therefore, the complete configuration that passed the energy verification at that time is reused, which includes the layer affiliation information of the three-tier package model.
[0262] It should be noted that if the loaded configuration snapshot is from an earlier version and lacks a layer identifier field, the system will, according to compatibility rules, classify the items that are required by the inspection unit in that year into the basic package layer and the remaining items into the optional add-on layer. The system will also indicate in the pending confirmation items that the template is a historical configuration without layers, and the configuration personnel will be required to supplement the label binding relationship of the recommended option layer.
[0263] S4.2: Compare the items in the initial configuration of the current year's package with the current year's project library, identify the items marked as discontinued in the current year's project library as discontinued items, and identify the items in the current year's project library whose prices have changed as price change items.
[0264] Disabling and price change are treated differently: the former violates the legitimacy of the configuration and must be resolved through iterative repair; the latter does not affect legitimacy, only changes the cost estimate, so it is only marked and not replaced.
[0265] Specifically, the comparison uses the project identifier as the connection key to perform a batch connection between the initial configuration of the current year's package and the current year's project library. Records with a "disabled" flag set to true in the project library constitute the discontinued project set. Records with price attributes inconsistent with those recorded in the snapshot constitute the variable-price project set. Projects without corresponding records in the project library are also included in the discontinued project set. This batch connection is completed in one step, avoiding repeated access caused by querying the project library item by item.
[0266] S4.3: Taking the package configuration vector corresponding to the initial configuration of the package in the current year as the starting point of the iteration, in each round of iteration, select a discontinued item whose contribution of the validity penalty item is non-zero as the replacement item, and search for items in the energy attraction basin where the replacement item is located that are in the same category as the replacement item and whose price deviation rate does not exceed the preset price deviation tolerance to obtain a set of candidate replacement items.
[0267] The details of this step are shown in Example 9.
[0268] S4.4: Select from the candidate replacement item set the item whose energy value decreases after replacement and does not generate new mutual exclusion penalty items or new dependency penalty items, and replace the item to be replaced with the selected item to obtain the package configuration vector after this round of iteration.
[0269] The decrease in energy value and the absence of new penalty terms are two parallel selection conditions. The former ensures that the iteration progresses towards zero energy, while the latter ensures that the progress process does not come at the cost of creating new violations. If none of the candidate replacement items in the set meet both conditions, the replacement will not be performed in this round, and the deactivated item will be directly removed and recorded in the replacement details for manual confirmation.
[0270] Each record in the replacement details includes seven fields: the identifier of the replaced item, the identifier of the replacement item, the inspection category of both, the prices of both, the price deviation rate, the energy values before and after the replacement, and the replacement type. The replacement type distinguishes between equivalent replacement and direct removal. Records are added in each iteration, so the repair process can be fully replayed, and any round of replacement can be undone and rolled back to the package configuration vector before that round.
[0271] S4.5: Repeat the iteration until the energy value is zero, and obtain the repaired legal template configuration and the replacement details of each round of replacement relationships.
[0272] Since each iteration eliminates at least one disabled item and no new penalty items are added, the energy value decreases strictly monotonically, and the upper bound of the iteration number is the number of disabled items in the initial configuration.
[0273] The system allows setting an upper limit for the number of iteration rounds. When the number of iteration rounds reaches this limit and the energy value has not yet returned to zero, the iteration is terminated, and all remaining violation items are converted to pending confirmation items, prompting for manual intervention. This protection mechanism is designed to handle extreme situations caused by abnormal configuration of the relational table and will not be triggered in normal scenarios where the relational table specification is followed.
[0274] S4.6: Mark the price change item and the replacement details as items to be confirmed, and merge the repaired valid template configuration with the confirmed items to be confirmed to obtain the annual effective package configuration.
[0275] The setting of pending confirmation items ensures that the results of automatic repair remain traceable and vetoable: replacement relationships and price changes are presented one by one, and only after the configuration personnel confirm them are they incorporated into the configuration of the effective package for the current year. Unconfirmed items are retained with their original values.
[0276] It's worth noting that the confirmation process supports both batch confirmation and item-by-item confirmation. For items requiring equivalent replacement, batch confirmation will immediately add the replacement item to the current year's effective package configuration. For items requiring price change, batch confirmation will only update the estimated cost without altering the item composition. If the configuration personnel do not confirm an equivalent replacement, the corresponding replaced item will be removed, and the system will recalculate the energy value to ensure the final current year's effective package configuration remains valid.
[0277] Example 9
[0278] Based on Example 8, taking the package configuration vector corresponding to the initial configuration of the current year's package as the starting point of the iteration, in each iteration, a discontinued item with a non-zero contribution of the validity penalty item is selected as a replacement item. Within the energy attraction basin of the replacement item, items that are in the same inspection category as the replacement item and whose price deviation rate does not exceed the preset price deviation tolerance are retrieved to obtain a candidate replacement item set, including:
[0279] S4.3.1: Sort the deactivated items with non-zero contributions in descending order of their contribution values according to the validity penalty item, and take the first deactivated item in the sorting result as the item to be replaced in this iteration.
[0280] The replacements with the largest energy decrease are prioritized by selecting the first one in descending order of contribution value, thus allowing the iteration to approach zero energy at the fastest speed.
[0281] When multiple deactivated projects have the same contribution value for the effectiveness penalty item, the order is determined by the project price from high to low, so that projects with greater cost impact get priority for replacement, thereby reducing the possibility that the cost estimate after the repair will deviate significantly from the historical year.
[0282] S4.3.2: The package configuration vector after flipping the corresponding component of the item to be replaced is taken as the center vector. The set of package configuration vectors that can reach the center vector after flipping the value of the corresponding component of a single item without increasing the energy value after no more than a preset number of steps is determined as the energy attraction basin where the item to be replaced is located.
[0283] The reason for centering the vector with the flipped vector instead of the original vector is that the item to be replaced is itself the source of the violation, and the neighborhood generated with it as the center will bring the violation into the basin; by first setting the component to zero and then expanding the neighborhood, the contribution of the validity penalty term of the vector in the basin will no longer include the item.
[0284] S4.3.3: From the projects located in the energy attraction basin where the project to be replaced is located, filter and check the projects with the same category as the project to be replaced, and obtain a set of projects of the same category.
[0285] The same major category is a necessary condition for equivalent substitution: although cross-category substitution may also reduce energy to zero, it changes the unit's inspection coverage structure, which goes beyond the semantics of template reuse.
[0286] Specifically, the determination of the same major category can adopt a two-level relaxation strategy: first, candidates are retrieved based on the condition that the item subclasses are the same; if the resulting set of items of the same type is empty, then the relaxation is relaxed to check for the same major category. The two-level strategy ensures that replacements occur first within the semantically closest subclasses, and only expands to the same major category when there are no replaceable items within the subclass. This ensures replaceability while maintaining the template's check structure as unchanged as possible.
[0287] S4.3.4: Calculate the price deviation rate of each item in the same type of item set relative to the item to be replaced, and remove items whose price deviation rate exceeds the preset price deviation tolerance to obtain the item set after price filtering.
[0288] The price deviation rate is calculated according to formula (8). A value of 0.1 to 0.3 is recommended: if the value is too small, similar projects will be eliminated due to price mismatch, increasing the probability of no solution; if the value is too large, replacement may significantly increase the estimated cost per unit, which contradicts the expectation that template reuse should maintain cost comparability.
[0289] S4.3.5: Sort each item in the price-filtered item set in descending order according to the degree of overlap between the inspection requirement attributes and the inspection requirement attributes of the item to be replaced, to obtain the candidate replacement item set.
[0290] The examination requirements include fasting requirements, examination time requirements, and pre-examination preparation requirements. The reason for sorting by these requirements in addition to price is that if the replacement item has different requirements than the replaced item, it will change the examinee's examination route and preparations for the day. Although the energy value will also be zero, it will generate new organizational costs during on-site execution. By sorting by the degree of overlap in examination requirements, the top-ranked candidates are closest to the original item in on-site execution, thus ensuring that the repair results are not only legal but also directly executable.
[0291] Example 10
[0292] Based on Example 1, the method further includes:
[0293] Step A1: Based on the current year's effective package configuration, bind the basic package layer to each examinee in the imported personnel list, match the recommended item combination in the recommended option layer according to job category and age group, and open the self-selected additional item layer to obtain an individual's bookable package instance.
[0294] The individual appointment package example is a projection of the three-tier package model on the individual dimension: the basic package layer is bound to each examinee, the recommended option layer is bound to the corresponding combination after the examinee's job category and age group are matched with tags, and the optional add-on layer is open to all examinees.
[0295] Specifically, the personnel list of the unit is imported in the form of a structured table. Each record contains three required fields: personnel identifier, job category, and year of birth. During import, the system performs integrity checks on the required fields and matches the job category value with the job category dictionary in the project library. Records that fail the checks are listed in a set for the unit administrator to correct and re-import.
[0296] It should be noted that if a person's job category and age group do not match any applicable population tag in the recommended option layer, then that person will only be bound to the basic package layer and have access to the self-selected add-on layer. Their personal available package instance will not include the recommended item combination, thus ensuring that everyone on the list can obtain an executable package instance and will not be unable to make an appointment due to the tag not being covered.
[0297] Step A2: Determine the candidate set of package combinations for the examinee by combining the items in the basic package layer, the recommended items in the recommended option layer, and the items in the optional add-on layer of the individual bookable package example.
[0298] The candidate set is hierarchically ordered: items in the basic package layer are mandatory, while items in the recommended options layer and the optional add-on layer are optional. Therefore, the optimized decision space only covers the optional parts.
[0299] Taking a certain organization as an example, the basic package includes 12 mandatory items, the recommended item combination selected by a certain examinee includes 7 optional items, and the optional add-on layer allows for 60 additional items that can be added individually within the year. Therefore, the examinee's candidate set contains a total of 79 items, with a decision space of 67 optional items. When the organization has 10,000 members, the total decision space for all examinees involves hundreds of thousands of item choices, which cannot be completed manually on an individual basis. Therefore, it must be solved using an optimization model.
[0300] Step A3: Use the mutual exclusion table and the dependency table, the mandatory inspection requirements of the group inspection unit, and the upper limit of the per capita budget as constraints.
[0301] The three types of constraints are different in nature: mutual exclusion and dependency constraints are feasibility constraints, and if they are violated, the combination cannot be executed; mandatory checks are coverage constraints, which specify the lower bound of the combination; and the per capita budget ceiling is a resource constraint, which specifies the upper bound of the combination.
[0302] The three types of constraints are expressed in different forms in their implementation: mutual exclusion and dependency constraints directly reuse the compiled mutual exclusion penalty terms and dependency penalty terms, and use the penalty term being zero as the feasibility criterion; mandatory inspection requirements are expressed as fixed constraints in which all corresponding components of the basic package layer always take the first value, and do not participate in optimization decisions; the per capita budget upper limit is expressed as the upper bound constraint of the sum of the product of the project price and the decision component.
[0303] It should be understood that when the cost corresponding to the mandatory inspection requirements exceeds the per capita budget limit, a conflict arises between the two. In this case, the system prioritizes the mandatory inspection requirements, retaining all items in the basic package layer and setting all optional items in the decision space to unselected. At the same time, it outputs a budget overrun warning, allowing the group inspection unit to adjust the budget or adjust the mandatory inspection requirements, rather than cutting mandatory inspection items on its own during the optimization process.
[0304] Step A4: Use the weighted sum of the coverage of physical examination items and the satisfaction of examinees' preferences as the objective function.
[0305] The objective function is in the form of
[0306] And satisfy Equation (10)
[0307] in, Represents the objective function value. This represents a vector representing the personalized package combination for the examinee. This indicates the coverage of the medical examination items in this combination. This indicates the satisfaction level of the examinees' preferences for this group. This represents the trade-off coefficient between coverage and preference satisfaction. Indicates the first The price of each project This indicates the upper limit of the per capita budget. A value of 0.5 to 0.8 is recommended: if the value is too low, the combination will be biased towards the examinee's historical choices and the examination coverage will be insufficient; if the value is too high, the combination will tend to stack items according to coverage and individual preferences will be smoothed out.
[0308] Specifically, the coverage of the physical examination items can be calculated as the ratio of the number of major examination categories involved in the combination to the total number of major examination categories, or as the ratio of the number of sub-categories involved in the combination to the number of sub-categories of items recommended to be covered by the recommended combination; the satisfaction of the examinee's preferences can be calculated as the ratio of the number of items in the combination that the examinee has historically selected or explicitly checked on the appointment interface to the total number of items in the combination. Both indicators are normalized to the interval between zero and one, so the weighted sum in equation (10) also falls within this interval, and the objective function values of different examinees can therefore be directly compared and summarized at the unit level.
[0309] For examinees participating in group check-ups for the first time and without a history of selection, the examinee's preference satisfaction is initially estimated based on the group selection frequency of their respective population group, and gradually transitions to a calculation method based on individual records as the examinee's appointment records accumulate.
[0310] Step A5: Based on the candidate set, the constraints and the objective function, establish an optimization model for the physical examination package combination, solve the optimization model for the physical examination package combination, obtain the personalized package combination for each physical examination examinee and write it into the personal bookable package instance.
[0311] The details of this step are shown in Example 11.
[0312] Example 11
[0313] like Figure 5 As shown, based on Example 10, an optimization model for the health checkup package combination is established based on the candidate set, the constraints, and the objective function. The optimization model is solved to obtain a personalized package combination for each health checkup participant, which is then written into the individual bookable package instance, including:
[0314] A5.1: Generate an initial combination for each examinee based on the recommended item combinations matched in the recommended option layer, and obtain an initial combination population.
[0315] Using recommended project combinations as the initial solution instead of random initialization allows the population to start from within the feasible region, avoiding the early iterations being wasted on pulling infeasible solutions back into the feasible region.
[0316] Specifically, the population size can be determined by generating several initial combinations for each examinee, with a feasible value of 8 combinations per person. To avoid excessive concentration of the initial population and loss of search diversity, after generating the initial combinations with recommended item combinations, the system performs random single-item addition and subtraction perturbations on some of these combinations within the optional addition layer. If the energy value is non-zero after the perturbation, the perturbation is canceled, thereby introducing diversity while maintaining feasibility.
[0317] A5.2: Divide the entire set of items in the physical examination item library into non-overlapping partitions that are not mutually exclusive across partitions, according to the major examination categories.
[0318] The key constraint for partitioning is that there is no mutual exclusion relationship across partition blocks: mutually exclusive item pairs often appear within the same major inspection category (such as two imaging inspections with mutually interfering imaging principles). Therefore, partitioning by major inspection category can ensure that the vast majority of mutually exclusive item pairs fall into the same partition block; for a small number of mutually exclusive item pairs that cross major categories, the two major categories involved will be merged into the same partition block.
[0319] The number of partition blocks is usually comparable to the number of major inspection categories, typically four to six blocks from a library of common health check items. The partition block division is completed in one go during the system initialization phase based on a mutual exclusion table: the system constructs a relationship graph with items as nodes and mutual exclusion relationships as edges, calculates its connected components, and then merges each connected component into partition blocks according to its major inspection category, thus ensuring that there are no mutual exclusion relationships across partition blocks in the construction.
[0320] For example, if there is a mutual exclusion relationship between a certain imaging examination and a certain specialty examination, the imaging examination category and the specialty examination category are merged into the same partition block. The number of partition blocks is reduced from four to three, the parallelism within the block decreases, while the independence across blocks is maintained.
[0321] A5.3: The paired parent combinations in the initial combined population are swapped and recombined according to the partition blocks, so that the offspring combinations inherit the combinations of different partition blocks of the two parent combinations, thus obtaining the offspring population.
[0322] A block is the smallest unit of swapping; a reorganization swaps the entire block, not individual items. Because the relationships between items within a block migrate with the entire block, mutual exclusions and dependencies that are satisfied in the parent block are automatically maintained in the child block.
[0323] The set of partition blocks participating in the swap is selected in a uniformly random manner. Each time the system reorganizes, a proper subset of the entire set of partition blocks is randomly selected. Child A inherits the value of parent A in that subset and the value of parent B in the complement set, while child B inherits the opposite. Since dependencies may cross partition blocks, the system performs a dependency closure on the child after the reorganization is completed, ensuring that cross-block dependencies are satisfied before evaluation. This avoids the dependency penalty term being widely non-zero during the evaluation phase, which could mask the differences in the objective function value.
[0324] A5.4: For each partition of each offspring combination in the offspring population, evaluate the constraint satisfaction and objective function value respectively, and dispatch the evaluation tasks of each partition as independent subtasks to the graphics processor for parallel execution to obtain the offspring population after parallel evaluation.
[0325] Parallel evaluation requires that the constraint satisfaction of each block can be determined independently; if there are mutually exclusive item pairs between two blocks, the evaluation result of any block depends on the value of the other block, creating data dependencies between evaluation tasks, and fine-grained parallelism degenerates into serial processing. Since partitioning ensures that there are no mutual exclusion relationships across blocks, the constraint satisfaction and objective function contribution of each block are determined only by the values within the block. As a result, the evaluation tasks are independent of each other and can be dispatched to a large number of threads on the graphics processor for execution simultaneously. Population evaluation of tens of thousands of people can be completed in a single parallel call.
[0326] A5.5: Iteratively perform the exchange and recombination and the parallel evaluation on the offspring population after the parallel evaluation until the objective function value converges, and output the personalized package combination for each examinee, as well as the statistics of the number of people in the project at the unit level and the total cost estimate.
[0327] The convergence criterion can be that the increase in the optimal objective function value after several consecutive iterations is lower than a preset increase threshold. The statistics on the number of participants and the estimated total cost per unit layer are obtained by summarizing the personalized package combinations for each examinee by item, and are used in the plan preview phase.
[0328] In one example, a unit has 10,000 inspection personnel. The entire project set is divided into 4 blocks according to inspection categories. The population size is 8 combinations per person. The number of block tasks to be evaluated in each round is... There are no data dependencies between tasks, and one round of evaluation can be completed with a single parallel call.
[0329] It should be noted that the convergence criterion can be that the relative increase of the population's optimal objective function value is lower than a preset increase threshold within a consecutive preset number of rounds. One feasible value is that the relative increase is lower than one-thousandth for five consecutive rounds. To control the total time consumption, the system also sets a maximum number of iteration rounds; once this number of rounds is reached, the current optimal solution is output. After the output personalized package combination is written into each examinee's personal bookable package instance, examinees are still allowed to add or remove items from the self-selected add-on layer on the booking interface. Each addition or removal triggers an energy value calculation; therefore, the optimization result is a recommendation rather than a lock.
[0330] In this embodiment of the invention, when the evaluation task of the partition block is dispatched to the graphics processor, it is expanded into thread blocks according to the partition block. The threads within the block are responsible for the constraint determination and objective function contribution accumulation of each item in the partition block. The accumulation result is reduced and then sent back to the host to be merged into the overall objective function value of the child combination. Since the evaluation of each partition block is independent of each other, there is no need for synchronization between thread blocks, and the parallel resources of the graphics processor can be fully utilized.
[0331] The partition crossover and parallel evaluation refer to a combination and recombination operator and its corresponding evaluation task decomposition method that uses large-class partition blocks as the exchange unit. Unlike conventional recombination that uses individual items as the exchange unit, the partition crossover exchanges the values of the entire block of items at once, and the mutual exclusion and dependency relationships already satisfied between items within the block are migrated with the entire block; unlike the conventional approach of evaluating the entire group at once, the parallel evaluation decomposes the evaluation of a combination into several independent partition block evaluation tasks. Together, these two constitute the technical means of this invention for solving personalized package combinations in group inspection scenarios involving tens of thousands of people.
[0332] On the one hand, since the partitions are obtained by merging the connected components of the mutual exclusion graph, there is no mutual exclusion relationship between partitions. The constraint satisfaction of any partition is determined only by the values of the items within that partition, and is independent of the values of other partitions. On the other hand, both the coverage of the physical examination items and the satisfaction of the examinee's preferences can be written as the sum of the contributions of each item. Therefore, the objective function value can also be summed after decomposition by partition. Both aspects together ensure that there is no data dependency between the evaluation tasks, and fine-grained parallelism does not degenerate into serial processing. Conversely, if mutual exclusion relationships remain between partitions, the constraint determination of any partition requires reading the values of the other partition, and threads must be synchronized, thus the parallel benefits will be offset by the synchronization overhead.
[0333] The effects of the aforementioned techniques are reflected in both the scale and quality of the solution. Regarding scale, the number of evaluation tasks equals the product of the number of examinees, the number of combinations per person, and the number of partition blocks. The task granularity is small but the number is large, perfectly matching the parallel structure of the graphics processor. A single round of population evaluation for a group checkup involving tens of thousands of people can be completed in a single parallel call, reducing the total time for global optimization from hours of individual rule matching plus manual adjustments to minutes. Regarding solution quality, because the initial population is taken from recommended project combinations, recombination is based on partition blocks, and cross-block dependencies are removed before evaluation, the population remains within or near the feasible region throughout the entire iteration process. Therefore, the final personalized package combinations can be directly written into the individual bookable package instance without further feasibility adjustments.
[0334] Taking the planning of a group health checkup for a certain organization as an example, the organization has 10,000 participants. The complete set of health checkup items in the item library is divided into four partitions according to the major categories of checkups. The population size is 8 combinations per person, so the number of partition tasks to be evaluated in each iteration is 320,000. Under the conventional sequential evaluation method, each round of evaluation requires 80,000 complete combination evaluations, and each evaluation requires traversing all constraint records. After adopting partition cross-evaluation and parallel evaluation, the 320,000 tasks are dispatched to the graphics processor for concurrent execution at once. The time taken for a single round of evaluation is no longer determined by the total number of tasks, but by the parallel resources and the time taken for a single task. The iteration terminates when the relative increase of the optimal objective function value is less than one-thousandth for five consecutive rounds. The personalized package combination for each examinee, as well as the unit-level item attendance statistics and total cost estimate, are output for direct use in the plan preview stage.
[0335] Example 12
[0336] Based on Example 1, the method further includes:
[0337] Step B1: At the two trigger points of package configuration saving and physical examination candidate selection submission, calculate the energy value of the package configuration vector under the energy function, and block saving or submission when the energy value is non-zero and output the violation details.
[0338] The two trigger points correspond to two types of configuration behaviors: the save trigger point intercepts violations caused by configuration personnel at the unit level, and the submit trigger point intercepts violations caused by examinees during the optional add-on process. Both share the same energy function and the same relational table, therefore the legality criteria at the unit and individual levels are consistent, preventing situations where the configuration layer passes while the reservation layer reports an error.
[0339] Specifically, the save trigger point is located after the submit and save action in the configuration interface and before the configuration snapshot is generated; the submit trigger point is located after the combined confirmation action in the reservation interface and before the reservation record is written. In both cases, the same energy evaluation process is called after constructing the package configuration vector with the currently selected project set. When the energy value is non-zero, the violation details are returned and subsequent writing is blocked. Based on this, the interface highlights the relevant projects in red and displays the reason explanation from the relationship table.
[0340] Step B2: When an item with a dependency tag is selected in the dependency table, the items that the item with the dependency tag depends on are automatically populated and included in the cost.
[0341] Automatically bringing out dependency penalties resolves them before commit, which is a pre-satisfaction of dependency constraints rather than a post-verification, thus reducing the number of times the commit process is blocked.
[0342] When an item marked with a dependency is selected, the system retrieves all items that the selected item depends on at once, based on the transitive closure of the dependency table, regardless of the dependency level, and includes the price of the newly retrieved item in the current total cost. If the retrieved item is mutually exclusive with the selected item, the system will not retrieve it but will directly output the violation details, allowing the examinee to adjust the selected items first.
[0343] Step B3: Obtain the package information from the physical examination system through the interface and synchronize the package name to obtain the synchronized package data.
[0344] The package name is synchronized with the data in the physical examination system to avoid confusion in the correspondence between the appointment and on-site execution process caused by different names used for the same package in the configuration interface and the physical examination system.
[0345] The interface can be invoked using a combination of proactive data retrieval upon opening the configuration interface and periodic polling. The polling cycle can be set according to the maintenance frequency of the medical examination institution's packages. If the interface call fails, the configuration interface will use the package data from the last successful synchronization and display a synchronization status prompt, ensuring that the configuration operation is not interrupted due to synchronization failure. After synchronization is restored, the system will provide a difference prompt for any package names that have changed during this configuration period.
[0346] Step B4: Receive and store the modified package description of the synchronized package data, and push the modified package description to the reservation interface for display.
[0347] Package descriptions and package names are separated: the name is synchronized unidirectionally by the physical examination system to ensure consistency, while the description is maintained by the configuration interface and pushed to the appointment interface so that examinees can understand the scope of application of each layer of items.
[0348] The package description is stored in rich text format and entered into the database along with the package identifier and effective year. When pushed to the appointment interface, the visible content is rendered according to the group to which the examinee belongs, ensuring that the description seen by examinees in different groups is consistent with their actual available appointment range. Modifications to the description do not trigger energy verification because they do not change the project composition.
[0349] Example 13
[0350] like Figure 6 As shown, this embodiment provides a device for configuring physical examination packages and reusing templates across years, including:
[0351] The three-layer modeling module is used to build a basic package layer based on the physical examination item library and the mandatory examination requirements of group examination units, generate a recommended option layer according to the recommendation rules of job category and age group, and build a self-selected additional item layer with the complete set of addable items to obtain the three-layer package model.
[0352] The energy verification module is used to represent the selected item set in the three-layer package model as a package configuration vector. Based on the mutual exclusion table and the dependency table, it constructs an energy function containing mutual exclusion penalty items, dependency penalty items, and validity penalty items. The energy function is a non-negative weighted sum of mutual exclusion penalty items, dependency penalty items, and validity penalty items with positive weights. The valid configuration point with an energy value of zero and its neighborhood whose energy value monotonically increases with the change of the item constitute an energy attraction basin. When the energy value of the energy function is zero, a valid package configuration is obtained and stored in the package configuration version library with a version number. When it is non-zero, a violation detail is output.
[0353] The sparse coding retrieval module is used to divide feature columns according to inspection categories. The feature columns are feature coding partitions divided according to inspection categories. The coding bits allocated according to project subcategories within the feature coding partitions constitute bit intervals. The activation bits are locally clustered and globally sparse within the bit intervals. The structural features of each historical template in the package configuration version library are encoded into binary sparse template codes. The group inspection requirement features are encoded into binary sparse query codes according to the same rules. The candidate template recommendation list is obtained by descending the bit overlap between the binary sparse query codes and the binary sparse template codes.
[0354] The template repair module is used to load the selected template from the candidate template recommendation list to obtain the initial configuration of the annual package, search for replaceable items in the energy attraction basin where the deactivated items in the initial configuration of the annual package are located, perform energy minimization iterative repair, and obtain the effective package configuration for the current year.
[0355] The above modules can be implemented by the server program of the physical examination information system. The bitwise operation part of the sparse coding retrieval module can be implemented by the bitwise operation instructions of the processor, and the iterative process of the template repair module can be implemented by sharing the same energy function with the energy verification module.
[0356] Specifically, the four modules can be deployed either centrally within the same service process or split and deployed according to call frequency: the three-layer modeling module and the sparse coding retrieval module are called primarily during the group inspection plan preparation phase; the energy verification module is called frequently during both the configuration and reservation phases; and the template repair module is only called during cross-year loading. Data is exchanged between modules through four data objects: the three-layer package model, the package configuration version library, the candidate template recommendation list, and the current year's effective package configuration; internal intermediate states are not shared.
[0357] In this embodiment of the invention, the energy verification module and the template repair module share the same penalty item index compiled from the mutual exclusion table and dependency table. Their energy evaluation results for the same package configuration vector are necessarily consistent. Therefore, the current year's effective package configuration output by the template repair module will not be judged as a violation again when entering the energy verification module. The allocation table and mask used by the sparse coding retrieval module are constructed once during module initialization and reside in memory. Their bitwise operation part can be implemented using the processor's bitwise operation instructions.
[0358] It should be understood that embodiments of the present invention may also provide an electronic device, including a processor and a memory, wherein the memory stores a computer program, and when the computer program is executed by the processor, it implements the aforementioned method for configuring physical examination packages and reusing templates across years; embodiments of the present invention may also provide a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the aforementioned method for configuring physical examination packages and reusing templates across years. The electronic device may also include a graphics processor for undertaking the task of partitioned block evaluation during the solution process of the physical examination package combination optimization model.
[0359] Example 14
[0360] like Figure 7 As shown, based on the methods and apparatus disclosed in Examples 1 to 13, this example combines the group inspection business scenario of a large energy group to illustrate the engineering implementation of each method step of the present invention, so as to prove the feasibility of the technical solution.
[0361] A large energy group arranges annual physical examinations for all employees, involving thousands of people with diverse job positions and ages. The administrator writes the mandatory examination items and their pricing attributes as stipulated in the contract into the basic package layer. A recommended option layer is created, grouped by combination of gender, age, marital status, and job category, and then tagged with applicable population labels. Individually added examination items are included in the optional add-on layer. After merging these three layers, the number of manually configured items is concentrated on the maintenance of the three-layer model, no longer increasing linearly with the size of the workforce.
[0362] When configuring recommended items for a male group, the administrator mistakenly added female-only items to the group. During configuration submission, the energy function check detected a non-zero mutual exclusion penalty term. The system output a violation detail and blocked the save. After the administrator adjusted the settings, the energy value was reduced to zero, and the valid configuration was stored in the package configuration version library. In the project implementation, a rule verification table and a pre-submission check are used to carry out this verification process. The mathematical expression of the energy function is as described in Examples 2 and 4.
[0363] When the group undergoes another physical examination the following year, the system extracts the group's examination needs based on industry category, personnel size, age structure, budget range, and mandatory examination items. It then matches these characteristics with the structural features of historical templates in the version library and returns the top K candidate templates. Once selected by the administrator, these templates are automatically loaded as the initial configuration for the following year.
[0364] At this point, the project library has been upgraded, and a certain imaging examination item in last year's template has been discontinued. The system identifies the item based on the discontinued marker, retrieves a replacement item with the same examination category and similar price in its energy absorption basin, completes the replacement, and generates the package configuration that will take effect the following year.
[0365] When medical examination institutions update their project dictionary at the end of each year, a scheduled synchronization task automatically synchronizes project, combination, and additional package data at night to ensure that the package configuration version library is consistent with the latest project library and avoid template reuse failures across years.
[0366] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A method for configuring physical examination packages and reusing templates across years, characterized in that, include: Based on the physical examination item database and the mandatory examination requirements of group examination units, a basic package layer is constructed. A recommended option layer is generated according to the recommendation rules of job category and age group. A self-selected additional item layer is constructed with the complete set of addable items, resulting in a three-layer package model. The selected item set in the three-layer package model is represented as a package configuration vector. An energy function containing mutual exclusion penalty, dependency penalty and validity penalty is constructed based on the mutual exclusion table and dependency table. The energy function is a non-negative weighted sum of mutual exclusion penalty, dependency penalty and validity penalty with positive weights. The legal configuration point with zero energy value and its neighborhood whose energy value monotonically increases with the change of the item constitutes an energy attraction basin. When the energy value of the energy function is zero, a valid package configuration is obtained and stored in the package configuration version library with a version number; when it is non-zero, a violation detail is output. The feature columns are divided according to the major inspection categories. The feature columns are feature coding partitions divided according to the major inspection categories. The coding bits allocated according to the project subcategories within the feature coding partitions constitute bit intervals. The activation bits are locally clustered and globally sparse within the bit intervals. The structural features of each historical template in the package configuration version library are encoded into binary sparse template codes. The group inspection requirement features are encoded into binary sparse query codes according to the same rules. The candidate template recommendation list is obtained by descending the bit overlap between the binary sparse query codes and the binary sparse template codes. Load the template selected from the candidate template recommendation list to obtain the initial configuration of the annual package. Search for a replacement item in the energy attraction basin where the deactivated item in the initial configuration of the annual package is located, perform energy minimization iterative repair, and obtain the effective package configuration for the current year.
2. The method according to claim 1, characterized in that, Based on the physical examination item database and the mandatory examination requirements of group examination units, a basic package layer is constructed. A recommended option layer is generated according to recommendation rules based on job category and age group. A self-selected add-on layer is constructed using the complete set of addable items, resulting in a three-layer package model, including: Write the items in the physical examination item library that are matched by the mandatory examination requirements of the group examination unit, along with the price attributes and examination requirement attributes of the items, into the basic package layer to obtain the basic package layer configuration data. Based on the basic package layer configuration data and the job categories and age structure data of the unit's personnel, several recommended item combinations are generated according to the recommendation rules. Each recommended item combination is bound to an applicable population tag consisting of job category and age group to obtain the recommended option layer configuration data. Write the complete set of items that can be added individually from the physical examination item library into the optional item layer to obtain the optional item layer configuration data; The configuration data of the basic package layer, the configuration data of the recommended option layer, and the configuration data of the optional add-on layer are merged to obtain the three-layer package model.
3. The method according to claim 2, characterized in that, Based on the basic package layer configuration data and the job categories and age structure data of the unit's personnel, several recommended item combinations are generated according to the recommendation rules. Each recommended item combination is then bound to an applicable audience tag consisting of job category and age group, resulting in the recommended option layer configuration data, including: The job category and age structure data of the personnel in the aforementioned unit were cross-divided according to job category and age group to obtain several population groups; The population weight of each population group is obtained by calculating the proportion of each population group in the total number of employees in the unit. The recommendation rule is expressed as a mapping from label conditions consisting of job category conditions and age group conditions to project combinations. For each of the population groups, the matching mapping is retrieved to obtain the candidate recommended project combinations for each population group. Remove items that are already included in the basic package layer configuration data from the candidate recommended item combination to obtain the deduplicated recommended item combination; The applicable population coverage weighted by the population weight is calculated for the deduplicated recommended item combination. Recommended item combinations with applicable population coverage lower than the preset coverage threshold are merged with recommended item combinations with the same inspection category and overlapping applicable population tags to obtain the merged recommended item combination. The merged recommended item combination is bound to the applicable population tags consisting of job categories and age groups to obtain the recommended option layer configuration data.
4. The method according to claim 1, characterized in that, The selected item set in the three-layer package model is represented as a package configuration vector. An energy function containing mutual exclusion penalty, dependency penalty and validity penalty is constructed based on the mutual exclusion table and dependency table. The energy function is a non-negative weighted sum of mutual exclusion penalty, dependency penalty and validity penalty with positive weights. The legal configuration point with zero energy value and its neighborhood whose energy value monotonically increases with the change of the item constitutes an energy attraction basin. When the energy value of the energy function is zero, a valid package configuration is obtained and stored in the package configuration version repository with a version number. When the energy value is non-zero, a violation detail is output, including: Using the complete set of items in the physical examination item library as the component dimension, the component corresponding to the selected items in the selected item set is set to the first value, and the component corresponding to the unselected items is set to the second value. The first value is greater than the second value, thus obtaining the package configuration vector. Based on the pairs of items that cannot be selected simultaneously in the same physical examination recorded in the mutual exclusion relationship table, a mutual exclusion penalty item is constructed that accumulates the penalty weight for each pair of items that are selected simultaneously. Based on the second item that must be included when selecting the first item as recorded in the dependency table, construct a dependency penalty item that accumulates penalty weights for each missing item of the second item. Based on the decommissioning flags of projects in the project database for that year, construct an effectiveness penalty item that cumulatively adds penalty weights to each selected decommissioned project; The energy function is obtained by summing the mutual exclusion penalty, the dependency penalty, and the validity penalty. The energy value of the package configuration vector under the energy function is calculated. When the energy value is zero, the selected item set is determined as the legal package configuration. A configuration snapshot with a version number that records the configuration content, effective year, change items, and change reasons is generated and stored in the package configuration version library. When the energy value is non-zero, the project pairs with non-zero contributions from the mutual exclusion penalty item are identified as mutually exclusive conflict project pairs, the project pairs with non-zero contributions from the dependency penalty item are identified as missing dependencies, and the project pairs with non-zero contributions from the validity penalty item are identified as disabled projects, thus obtaining the violation details.
5. The method according to claim 4, characterized in that, The energy function is obtained by summing the mutual exclusion penalty term, the dependency penalty term, and the validity penalty term, including: A penalty weight is configured for each of the mutual exclusion penalty item, the dependency penalty item, and the validity penalty item, wherein the penalty weight of the mutual exclusion penalty item is greater than the penalty weight of the dependency penalty item, and the penalty weight of the dependency penalty item is not less than the penalty weight of the validity penalty item. The energy function is obtained by summing the mutual exclusion penalty terms one pair at a time, summing the dependency penalty terms and the validity penalty terms one item at a time, and then weighting them according to their respective penalty weights. The package configuration vector with an energy value of zero under the energy function is determined as a valid configuration point; The value of the corresponding component of a single project is flipped as a neighborhood generation operation. The set of package configuration vectors that can reach the legal configuration point through the neighborhood generation operation without increasing the energy value after no more than a preset number of steps is determined as the energy attraction basin of the legal configuration point. The union of the energy attraction basins of each of the legally configured points is determined as the energy terrain of the energy function, which is used for location when searching for replaceable items.
6. The method according to claim 1, characterized in that, Feature columns are divided according to inspection categories. Each feature column is a feature coding partition divided according to inspection categories. The coding bits allocated according to project subcategories within each feature coding partition constitute bit intervals. Activation bits are locally clustered and globally sparse within these bit intervals. The structural features of each historical template in the package configuration version library are encoded into binary sparse template codes. The group inspection requirement features are encoded into binary sparse query codes using the same rules. A candidate template recommendation list is obtained by descending the bit overlap between the binary sparse query codes and the binary sparse template codes, including: Extract the project category distribution, price range, applicable job tag set, and age group coverage of each historical template in the package configuration version library to obtain the structural features of each historical template. The coded bit string is divided into feature columns according to the major categories of examinations: blood tests, imaging examinations, physical examinations, and specialist examinations. Within each feature column, coded bits are assigned according to the sub-category of the project. The structural features of each historical template are set on the allocated coding bits, so that the set coding bits are locally clustered in the feature column and sparsely distributed on the coding bit string, to obtain the binary sparse template code of each historical template. Extract the industry category, personnel size, age structure, budget range and mandatory inspection items of the group inspection unit to obtain the group inspection demand characteristics, and set the group inspection demand characteristics according to the same feature column division and coding bit allocation rules to obtain the binary sparse query code; Calculate the bitwise overlap between the binary sparse query code and each of the binary sparse template codes, and take the first K historical templates in descending order of the bitwise overlap, where K is a preset positive integer; The historical templates retrieved by the name of the group inspection unit are merged with the first K historical templates to remove duplicates, resulting in the candidate template recommendation list.
7. The method according to claim 6, characterized in that, Calculate the bitwise overlap between the binary sparse query code and each of the binary sparse template codes, and select the first K historical templates in descending order of the bitwise overlap, where K is a preset positive integer, including: Perform a bitwise AND operation on the binary sparse query code and the binary sparse template code to obtain a common set string, and perform a bitwise XOR operation on the binary sparse query code and the binary sparse template code to obtain a difference bit string; The number of common positions is obtained by counting the number of positions in the common position string, and the Hamming distance is obtained by counting the number of positions in the difference position string. For each of the feature columns, the number of common position strings within that feature column is counted to obtain the number of common position strings within each feature column; The number of common positions within each feature column is weighted and summed according to the preset importance of each of the inspection categories, and the weighted summation result is reduced in a manner that decreases as the Hamming distance increases, to obtain the positional overlap. Sort the historical templates in descending order of their positional overlap, and take the top K historical templates from the sorting results.
8. The method according to claim 1, characterized in that, Load the templates selected from the candidate template recommendation list to obtain the initial configuration of the annual package. Search for replaceable items within the energy attraction basin where the deactivated items in the initial configuration of the annual package are located, perform energy minimization iterative repair, and obtain the effective package configuration for the current year, including: Load the configuration snapshot of the selected template from the candidate template recommendation list, and use the configuration content recorded in the configuration snapshot as the initial configuration of the annual package; The items in the initial configuration of the current year's package are compared with the current year's project library. Items marked as discontinued in the current year's project library are identified as discontinued items, and items in the current year's project library whose prices have changed are identified as price-changed items. Taking the package configuration vector corresponding to the initial configuration of the package in that year as the starting point of the iteration, in each iteration, a discontinued item with a non-zero contribution of the validity penalty item is selected as the replacement item. In the energy attraction basin where the replacement item is located, items that are the same as the inspection category of the replacement item and whose price deviation rate does not exceed the preset price deviation tolerance are searched to obtain a set of candidate replacement items. From the set of candidate replacement items, select items whose energy value decreases after replacement and do not generate new mutual exclusion penalty items or new dependency penalty items. Replace the items to be replaced with the selected items to obtain the package configuration vector after this round of iteration. Repeat the iteration until the energy value is zero to obtain the repaired legal template configuration and a detailed record of the replacement relationships in each round; The price change items and the replacement details are marked as items to be confirmed, and the repaired valid template configuration is merged with the confirmed items to be confirmed to obtain the annual effective package configuration.
9. The method according to claim 8, characterized in that, Taking the package configuration vector corresponding to the initial configuration of the package in that year as the starting point of the iteration, in each iteration, a discontinued item with a non-zero contribution of the validity penalty item is selected as the replacement item. Within the energy attraction basin of the replacement item, items that are in the same inspection category as the replacement item and whose price deviation rate does not exceed the preset price deviation tolerance are searched to obtain a set of candidate replacement items, including: Sort the deactivated items with non-zero contributions in descending order according to the contribution value of the validity penalty item, and take the first deactivated item in the sorting result as the item to be replaced in this round of iteration; The package configuration vector after flipping the corresponding component of the item to be replaced is taken as the center vector. The set of package configuration vectors that can reach the center vector by flipping the value of the corresponding component of a single item without increasing the energy value after no more than a preset number of steps is determined as the energy attraction basin where the item to be replaced is located. From the projects located in the energy attraction basin where the project to be replaced is located, filter and check the projects that are in the same category as the project to be replaced, and obtain a set of projects of the same category; Calculate the price deviation rate of each item in the same type of project set relative to the project to be replaced, and remove projects whose price deviation rate exceeds the preset price deviation tolerance to obtain the project set after price filtering. Each item in the price-filtered item set is sorted in descending order according to the degree of overlap between the inspection requirement attributes and the inspection requirement attributes of the item to be replaced, thus obtaining the candidate replacement item set.
10. The method according to claim 1, characterized in that, The method further includes: Based on the package configuration that is effective in the current year, bind the basic package layer to each examinee in the imported list of unit personnel, match the recommended item combination in the recommended option layer according to job category and age group, and open the self-selected additional item layer to obtain an individual's bookable package instance; The items in the basic package layer, the recommended items in the recommended option layer, and the items in the optional add-on layer of the individual bookable package instance are determined as the candidate set of package combinations for the examinee; The constraints are the mutual exclusion table and the dependency table, the mandatory inspection requirements of the group inspection unit, and the upper limit of the per capita budget; The objective function is to maximize the weighted sum of the coverage of physical examination items and the satisfaction of examinees' preferences. Based on the candidate set, the constraints, and the objective function, an optimization model for the health checkup package combination is established. The optimization model for the health checkup package combination is solved to obtain the personalized package combination for each health checkup participant and write it into the personal bookable package instance.
11. The method according to claim 10, characterized in that, Based on the candidate set, the constraints, and the objective function, an optimization model for the health checkup package combination is established. This model is then solved to obtain a personalized package combination for each health checkup participant, which is then written into the individual bookable package instance. This includes: An initial combination is generated for each examinee based on the recommended item combination matched in the recommended option layer, thus obtaining an initial combination population; The entire set of items in the physical examination item library is divided into non-overlapping partitions that are not mutually exclusive across partitions, according to the major examination categories. The parent combinations in the initial combined population are swapped and recombined according to the partition blocks, so that the offspring combinations inherit different partition block combinations of the two parent combinations, thus obtaining the offspring population. The constraint satisfaction degree and objective function value are evaluated for each partition of each offspring combination in the offspring population, and the evaluation tasks of each partition are dispatched to the graphics processor as independent subtasks for parallel execution to obtain the offspring population after parallel evaluation. The exchange and recombination and parallel evaluation are iteratively performed on the offspring population after the parallel evaluation until the objective function value converges. The personalized package combination for each examinee and the statistics of the number of people and the total cost estimate of the unit layer are then output.
12. The method according to claim 1, characterized in that, The method further includes: At the two trigger points of saving the package configuration and submitting the combination of physical examination participants, the energy value of the package configuration vector under the energy function is calculated respectively, and when the energy value is non-zero, saving or submission is blocked and the violation details are output. When an item marked with a dependency tag is selected in the dependency table, the items that the item marked with a dependency tag depends on are automatically populated and included in the cost; The system retrieves the packages from the health checkup system via an interface and synchronizes the package names to obtain the synchronized package data. The system receives and stores modifications to the package descriptions of the synchronized package data, and then pushes the modified package descriptions to the reservation interface for display.
13. A device for configuring and reusing health checkup packages across years, characterized in that, include: The three-layer modeling module is used to build a basic package layer based on the physical examination item library and the mandatory examination requirements of group examination units, generate a recommended option layer according to the recommendation rules of job category and age group, and build a self-selected additional item layer with the complete set of addable items to obtain the three-layer package model. The energy verification module is used to represent the selected item set in the three-layer package model as a package configuration vector, and construct an energy function containing mutual exclusion penalty, dependency penalty and validity penalty based on the mutual exclusion table and dependency table. The energy function is a non-negative weighted sum of mutual exclusion penalty, dependency penalty and validity penalty with positive weights. The legal configuration point with zero energy value and its neighborhood whose energy value monotonically increases with the change of the item constitute an energy attraction basin. When the energy value of the energy function is zero, a valid package configuration is obtained and stored in the package configuration version library with a version number; when it is non-zero, a violation detail is output. The sparse coding retrieval module is used to divide feature columns according to inspection categories. The feature columns are feature coding partitions divided according to inspection categories. The coding bits allocated according to project subcategories within the feature coding partitions constitute bit intervals. The activation bits are locally clustered and globally sparse within the bit intervals. The structural features of each historical template in the package configuration version library are encoded into binary sparse template codes. The group inspection requirement features are encoded into binary sparse query codes according to the same rules. The candidate template recommendation list is obtained by descending the bit overlap between the binary sparse query codes and the binary sparse template codes. The template repair module is used to load the selected template from the candidate template recommendation list to obtain the initial configuration of the annual package, search for replaceable items in the energy attraction basin where the deactivated items in the initial configuration of the annual package are located, perform energy minimization iterative repair, and obtain the effective package configuration for the current year.
