A chronic disease management data processing method and system
Patent Information
- Application Number
- CN202611367352.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-09-04
- Publication Date
- 2026-10-27
AI Technical Summary
[0006]为了解决现有技术中慢病数据时间维度非均匀、多源异构数据语义冲突以及特定病种指标评估易被干扰的问题,本发明提供一种慢病管理数据处理方法及系统
[0033](1)本发明通过在指标数据表上新增JSON类型数据信封字段,记录每条指标记录的来源类型、测量语境和时间戳元组,将不同来源的指标记录并行保留且不互相覆盖,查询时按查询意图对应的来源类型和/或测量语境路由。无需删除、改名或改变任何现有字段,即可在不对现有系统进行大规模重构的前提下,使每一条指标数值均携带完整的来源语义,避免了多源数据覆盖合并造成的临床语境丢失,实现了记录级的来源可追溯,且改造方式为增量叠加,现有业务代码无需感知新增字段即可继续运行;
Smart Images

Figure CN122991434A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of medical information technology, specifically relating to a method and system for processing data for chronic disease management. Background Technology
[0002] The management cycle for chronic diseases can last for years or even decades, requiring chronic disease management systems to continuously collect and store patients' health indicator data over a long period. Unlike single-visit treatment scenarios, data in chronic disease management scenarios exhibit significant unique characteristics in both time and source dimensions.
[0003] In terms of time dimension, the sampling density of chronic disease data is extremely uneven: during hospitalization, a monitoring record may be generated every hour or even every fifteen minutes; during the stable period at home, only one or two records are usually generated per day by wearable devices; when the condition is stable for a long time or the compliance is poor, there may be no data for several consecutive months; while during follow-up visits or visits, there will be a short period of intensive sampling. Traditional time-series databases store data in shards with fixed time granularity, which will generate a large number of empty slots when faced with data segments with huge density differences, resulting in storage waste and index bloat. Moreover, the fixed sharding method cannot express the clinical semantic differences behind the data in different time periods.
[0004] In terms of data sources, the same health indicator may come from multiple sources: taking fasting blood glucose as an example, it may come from venous blood tests in the laboratory, measurements taken with a home blood glucose meter, manual entry by doctors during follow-ups, and self-reporting by patients. Data from different sources differ fundamentally in terms of accuracy, measurement context, and reliability. Existing chronic disease management systems typically use latest value overlay or simple averaging strategies to process multi-source data. During the merging process, key clinical information such as source and context is lost, making it impossible for doctors to trace the origin of the values and easily leading to misjudgments.
[0005] Furthermore, existing systems, when performing trend analysis on chronic disease indicators, generally connect sparse data points directly or perform linear interpolation, fabricating continuity between data points. Early warning mechanisms are mostly based on single-point thresholds, failing to consider interfering factors such as detection intervals, testing methodologies, and acute events, resulting in high false alarm rates. Taking chronic kidney disease management as an example, the estimated glomerular filtration rate (eGFR) is indirectly calculated from serum creatinine using a formula. Its changes are highly susceptible to interference from excessively short detection intervals, inconsistent testing methods, acute events such as acute infections, and long gaps in data. Directly connecting historical eGFR values to calculate the slope will produce numerous false positive results. Similarly, in COPD management, the disease course follows a stepped cycle of stable phases, acute exacerbations, recovery phases, and new stable phases. Existing systems flatten all data over time, failing to identify the watershed of acute exacerbations, let alone identify early warning signals before exacerbations or quantitatively assess recovery quality after exacerbations. Summary of the Invention
[0006] To address the problems of non-uniform temporal dimension, semantic conflicts in multi-source heterogeneous data, and easy interference in the evaluation of specific disease indicators in existing technologies, this invention provides a method and system for processing chronic disease management data.
[0007] The technical solution adopted in this invention is as follows:
[0008] This invention discloses a method for processing data in chronic disease management, comprising:
[0009] Obtain multiple records of the same health indicator from multiple data sources for the same patient;
[0010] Each of the aforementioned indicator records is written into the indicator data table, and a data envelope field is associated with each of the aforementioned indicator records. The data envelope field records the source type, measurement context, and timestamp tuple containing the physiological event occurrence time and the system entry time of the indicator record. The indicator records from different sources are kept in parallel in the indicator data table without overwriting each other.
[0011] In response to a query request, the system routes to the indicator data table and returns the corresponding indicator record based on the source type and / or measurement context corresponding to the query intent carried in the query request.
[0012] Furthermore, it also includes: based on preset clinical priorities, selecting representative values from the indicator records from different sources within the same statistical period to generate snapshot records, forming a snapshot track parallel to the indicator data table; the query request is routed to the indicator data table or the snapshot track according to the query intent.
[0013] Furthermore, the data envelope field is a newly added JSON type field on the indicator data table; the data envelope field also records at least one of the following: source identifier, precision level, clinical effective cutoff time and clock source in the timestamp tuple, clinical event anchor point, and correction information; the values of preset subfields in the data envelope field are extracted on the indicator data table through a database virtual column, and an index is created on the virtual column.
[0014] Furthermore, the clinical event anchors are generated according to the following rules:
[0015] Indicator records derived from medical visits or follow-ups, with medical visit markers or follow-up record markers serving as anchor points for clinical events;
[0016] Indicator records derived from home measurements were used as clinical event anchors, with the combination of measurement date and patient identifier.
[0017] Indicator records derived from cross-institutional migrations are used as clinical event anchors, with migration data packet identifiers.
[0018] When aligning the recorded indicators over time, they are first grouped by the clinical event anchor point, and then sorted by the occurrence time of the physiological event within each group. Interpolation across groups is prohibited.
[0019] When performing cross-organizational data migration, a self-describing migration data packet is generated, which carries a clock offset calibration value, a dictionary mapping table, and a migration seam marker. The receiving organization transcodes the source type encoding in the migration data according to the dictionary mapping table, calibrates the timestamp according to the clock offset calibration value, and generates a data segment of the migration seam type based on the migration seam marker.
[0020] Furthermore, it also includes: segmenting the indicator records according to clinical events to obtain data segments corresponding to clinical states, allowing interpolation of indicator records within the same data segment, and marking adjacent data segments as data break zones without performing cross-segment interpolation.
[0021] Furthermore, the segmentation of the indicator records based on clinical events includes:
[0022] When a hospitalization or emergency event occurs, a follow-up record is submitted, a patient becomes active again after the silence duration exceeds a preset silence threshold, or cross-institutional data is imported, a new data segment is triggered and the corresponding segment type is marked for the new data segment. The segment type includes at least hospitalization intensive segment, home stable segment, follow-up segment, post-silence recovery segment, and migration seam segment.
[0023] For the index records within the data segment, the encoding method is selected according to the characteristics of the data within the segment: differential encoding is used when the data within the segment is dense and the numerical changes are gradual; piecewise linear encoding is used when the data within the segment is stable over a long period of time; and run-length encoding is used when the proportion of repeated values in the data within the segment exceeds a preset ratio.
[0024] Furthermore, when performing trend statistics on the indicator records, a segment-time weighted average is adopted: the average value within each data segment is multiplied by the product of the duration of the data segment and the density normalization factor as the weighted sum, and then divided by the sum of the products of the duration of each data segment and the density normalization factor to obtain the trend statistical value, wherein the density normalization factor is the ratio of the minimum sampling interval to the average sampling interval within the segment.
[0025] Furthermore, for renal function indicators of patients with chronic kidney disease, the following are also included: for any two renal function test records, calculate the estimated slope of the glomerular filtration rate, and calculate the confidence score corresponding to the slope based on a preset scoring rule set; determine the confidence level according to the score range of the confidence score, and only include the slope that meets the preset conditions in the renal function progression assessment.
[0026] Furthermore, for COPD patients, it also includes: identifying acute exacerbation events, using the date of occurrence of the acute exacerbation event as an anchor point, dividing the first preset duration before the occurrence date into a warning period, dividing the second preset duration before and after the occurrence date into an acute period, dividing the third preset duration after the occurrence date into a recovery period, and dividing the remaining period into a stable period.
[0027] Within the warning segment, the rate of change of symptom scores and the proportion of change of emergency medication use frequency relative to the baseline of the stable segment are calculated. When the rate of change or the proportion of change exceeds the corresponding preset threshold, an acute exacerbation warning is generated. Within the recovery segment, the recovery proportion of forced expiratory volume in one second and the recovery time are calculated. The recovery quality level is determined based on the numerical range of the recovery proportion.
[0028] This invention also discloses a chronic disease management data processing system, comprising:
[0029] The data acquisition module is used to acquire multiple records of the same health indicator from multiple data sources for the same patient.
[0030] The envelope writing module is used to write each of the aforementioned indicator records into the indicator data table and associate a data envelope field with each of the aforementioned indicator records. The data envelope field records the source type, measurement context, and timestamp tuple containing the physiological event occurrence time and the system entry time of the indicator record. The indicator records from different sources are kept in parallel in the indicator data table and do not overwrite each other.
[0031] The query routing module is used to respond to a query request and, based on the source type and / or measurement context corresponding to the query intent carried in the query request, route the data to the indicator data table or snapshot track and return the corresponding indicator record.
[0032] The beneficial effects of this invention are as follows:
[0033] (1) This invention adds a JSON-type data envelope field to the indicator data table to record the source type, measurement context, and timestamp tuple of each indicator record. This allows indicator records from different sources to be retained in parallel without overwriting each other. During querying, the data is routed according to the source type and / or measurement context corresponding to the query intent. Without deleting, renaming, or changing any existing fields, each indicator value carries complete source semantics without large-scale reconstruction of the existing system. This avoids the loss of clinical context caused by the overlay and merging of multi-source data, achieves record-level source traceability, and the modification method is incremental overlay. Existing business code can continue to run without being aware of the newly added fields.
[0034] (2) The present invention adopts a dual-track storage system with the original track and the snapshot track running in parallel. The original track completely retains the indicator records and correction traces from all sources and carries out the audit and traceability functions. The snapshot track generates representative values with uniform standards according to clinical priority and carries out the functions of trend charts and statistical reports, taking into account both the requirements of data integrity and traceability and the requirements of uniform query standards and stable query performance.
[0035] (3) For chronic kidney disease, the present invention calculates the confidence score based on a preset scoring rule set while calculating the eGFR slope, so that interference factors such as short detection interval, inconsistent detection methods, acute event interference, and drug adjustment are quantitatively identified, and low confidence slope no longer triggers false positive warnings; For COPD, the invention divides the warning segment, acute segment, recovery segment and stable segment with the acute exacerbation event as the anchor point, generates an acute exacerbation warning in the warning segment, and quantitatively evaluates the recovery quality in the recovery segment, so that the data before and after the watershed event of acute exacerbation can be independently organized and evaluated. Attached Figure Description
[0036] Figure 1 This is a schematic diagram of the system PC login interface provided in an embodiment of the present invention;
[0037] Figure 2 This is a schematic diagram of the system homepage overview interface after login, provided in an embodiment of the present invention.
[0038] Figure 3 This is a schematic diagram of the resident file management list interface provided in an embodiment of the present invention;
[0039] Figure 4 This is a schematic diagram of the resident overview homepage interface provided in an embodiment of the present invention;
[0040] Figure 5 This is a schematic diagram of a health monitoring interface provided in an embodiment of the present invention;
[0041] Figure 6 This is a schematic diagram of the monitoring anomaly to-do list interface provided in an embodiment of the present invention. Detailed Implementation
[0042] The technical solutions of this application will be clearly and completely described below with reference to specific embodiments and accompanying drawings. The described embodiments are only some embodiments of this application, and not all embodiments. Other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are all within the scope of protection of this application.
[0043] For clarity, the terms used in this application specification are explained as follows:
[0044] Indicator records refer to a monitoring or data entry generated in the chronic disease management system for a patient's specific health indicator, such as a blood pressure record, a blood glucose record, or a test report record.
[0045] The data envelope field refers to a field added to the indicator data table in JSON type to carry the semantics of the source of indicator records. It is referred to as envelope or value_envelope below.
[0046] A timestamp tuple refers to structured time information consisting of the time of occurrence of a physiological event, the time of entry into the system, the clinically valid deadline, and the clock source.
[0047] Clinical event anchors are identifiers that link an indicator record to a visit, a follow-up visit, or a migration data package.
[0048] A data segment refers to a set of indicator records within a continuous time period, divided according to clinical events, with data breakpoints between segments.
[0049] The original track refers to the indicator data table that retains all source indicator records; the snapshot track refers to the data table containing snapshot records generated by selecting representative values according to clinical priority.
[0050] eGFR (estimated glomerular filtration rate); CKD (chronic kidney disease); COPD (chronic obstructive pulmonary disease); AECOPD (acute exacerbation of COPD); FEV1 (forced expiratory volume in one second); CAT score (COPD assessment test score); UPCR (urine protein-to-creatinine ratio); UACR (urine albumin-to-creatinine ratio); IDMS (individual dilution mass spectrometry); HIS (Hospital Information System); LIS (Laboratory Information System); SDWA (segment duration weighted average).
[0051] In this embodiment, medical staff access the chronic disease management data processing system through a PC login interface. For example... Figure 1 As shown, on the login interface, the system loads the corresponding functional modules and data access scope based on the login account's role permissions. The input end of the data acquisition module connects to multiple data sources, including but not limited to the LIS test report interface, wearable device upload interface, follow-up data entry terminal, and patient-side mini-program. Indicator records collected from different terminals are written to the indicator data table via the envelope writing module. During writing, a data envelope field is generated for each indicator record, recording the source type, measurement context, and timestamp tuple of that indicator record. Indicator records from different sources are retained in parallel in the indicator data table, without overwriting or merging each other.
[0052] As one implementation, the data envelope field is a JSON-type field added to the indicator data table using the ALTER TABLE statement. In addition to the source type, measurement context, and timestamp tuples, the data envelope field also records the source identifier, accuracy level, clinical event anchor, device information, and correction information. Correction information includes whether it was corrected, the person who corrected it, the reason for the correction, and the original value before the correction.
[0053] The possible values for the source type include, but are not limited to: lis_report (lab report), wearable (wearable device), followup_doc (follow-up entry), and patient_self (patient self-report).
[0054] The values for measurement context include, but are not limited to: clinical_venous (clinical venous blood / standard clinic measurement), home_fasting (home fasting), home_random (home randomization), and doctor_estimated (doctor's estimate).
[0055] The possible values for the precision class include, but are not limited to: lab_0.01, device_0.1, device_1, and estimated.
[0056] Furthermore, by extracting the values of preset subfields from the envelopes using virtual columns in the database on the indicator data table and creating indexes thereon, for example, generating virtual columns for source type and measurement context and creating indexes on them respectively, queries targeting high-frequency filtering dimensions in the envelope content can be accelerated using B-tree indexes, significantly reducing the probability of full table scans. In MySQL 8.0.17 and above, multi-value indexes can be further used to optimize the query performance of array-type envelope subfields.
[0057] Specifically, the database uses MySQL 5.7 or later, and the envelope field uses its native JSON type. In other implementations, the database uses PostgreSQL 10 or later, the envelope field uses the JSONB type, and the corresponding virtual columns are implemented using generated columns.
[0058] It is foreseeable that the modification method in this embodiment is incremental: no existing fields or tables will be deleted, renamed, or retyped; only envelope fields, event anchor fields, numerical redundant fields, and auxiliary tables will be added. Existing business code can continue to run without being aware of the newly added fields, and historical data can be gradually supplemented with envelope information through asynchronous tasks, without requiring a one-time full modification.
[0059] Reference Figure 2After logging in, medical staff are directed to the homepage overview interface. This interface displays an overview of chronic disease patients within the currently logged-in account's permissions, including statistical cards such as the number of patients, disease distribution, and follow-up completion rate. The statistical data in the homepage overview comes from the snapshot track, which is uniformly caliber data generated after selecting representative values according to clinical priority. The snapshot track provides stable query performance, allowing the homepage to present statistical results without traversing all multi-source records from the original track during loading.
[0060] As one implementation method, the physical storage structure of the snapshot track is as follows:
[0061] The snapshot record includes: a unique snapshot identifier, a patient identifier, a snapshot date, an indicator code, the selected representative value, the source type of the selected value, the original record identifier corresponding to the selected value, the reason for selection, the selection rule, a list of contribution values from each source within the statistical period (in JSON format), an expiration flag, the reason for expiration, and the last refresh time.
[0062] The contribution value list records the indicator values of all sources within the statistical period and whether they are selected, for auditing and multi-source comparison.
[0063] Snapshot records are uniquely indexed by patient identifier, snapshot date, and indicator code to ensure that there is only one snapshot record per patient per indicator per day.
[0064] The snapshot generation module generates snapshots via a nightly scheduled task: for each patient and each indicator type, representative values for the day are selected and written to the snapshot track according to clinical priority. The clinical priority order can be configured in a dictionary table, with the default order being: clinical venous blood / standard clinic measurement, home fasting measurement, automatic device collection, follow-up physician entry, and patient self-report. Preferably, clinical priorities are configured separately for each indicator type. For example, blood pressure indicators can be configured to prioritize home measurement over clinic measurement, and blood glucose indicators can be configured to prioritize fasting venous blood. Doctors can also manually adjust these priorities for specific patients.
[0065] In the dual-track system, the original track and the snapshot track have separate responsibilities: the original track permanently retains all original records and correction traces from all sources, and undertakes auditing and traceability functions; the snapshot track provides unified standards and stable query performance, and undertakes trend chart and statistical report functions.
[0066] Reference Figure 3The resident record management list interface displays a list of chronic disease patients' records within the jurisdiction. Each record in the list corresponds to one patient, and the system marks the source characteristics of the data in the list using the source type and measurement context information in the envelope field. For example, if a patient's latest blood pressure record comes from a wearable device, the corresponding device icon will be displayed in the patient's row in the list; if the latest blood glucose record comes from a laboratory report, a laboratory icon will be displayed. Doctors can click on a patient's name in the list to enter that patient's resident overview homepage.
[0067] Regarding clinical event anchors, the generation rules in this embodiment are as follows: For indicator records originating from patient visits or follow-ups, the patient visit identifier or follow-up record identifier is used as the clinical event anchor; for indicator records originating from home measurements, the combination of the measurement date and the patient identifier is used as the clinical event anchor; for indicator records originating from cross-institutional migrations, the migration data packet identifier is used as the clinical event anchor. During time alignment, the data is first grouped by clinical event anchor, and within each group, it is sorted according to the occurrence time of the physiological event in the timestamp tuple. Cross-group interpolation is prohibited.
[0068] Reference Figure 4 The Resident Overview homepage displays an overview of the patient's health record, key physiological indicators, to-do items, and service records. The key physiological indicator data presented on this interface comes from the snapshot track, which consists of standardized representative values selected based on clinical priorities. The trend thumbnails of blood pressure, blood sugar, etc., that doctors view on the Resident Overview homepage are generated from continuous representative values from the snapshot track, ensuring a continuous timeline and consistent standards.
[0069] When a doctor clicks on the physiological indicators area to enter the health monitoring details page, the query routing module returns all source versions of the indicator from the original track for the doctor to compare, based on the query intent carried on the page. As one implementation method, the relationship between query intent and routing target is as follows: When the query intent is for diagnosis, the query routing module routes the request to the indicator data table (original track), filtering for source type equal to test report and measurement context equal to clinical venous blood; when the query intent is for home control status, it routes to the indicator data table, filtering for measurement context of home fasting or home randomization; when the query intent is for multi-source comparison, it routes to the indicator data table, returning all versions grouped by clinical event anchor points; when the query intent is for trend charts, statistical reports, or annual assessments, it routes to the snapshot track, directly reading the representative value for that day; when the query intent is for data auditing, it routes to the indicator data table, returning a complete record including correction information.
[0070] In this embodiment, the segmentation management module monitors clinical events and segments the indicator records according to the clinical events. Interpolation is allowed for indicator records within the same data segment, and adjacent data segments are marked as data breakpoints without cross-segment interpolation.
[0071] The segmented management module triggers the opening of new data segments according to the following rules: Inpatient intensive segments are opened or closed when admission or discharge events are obtained from the HIS interface; follow-up visit segments are opened when doctors submit follow-up records in the follow-up module; post-silence recovery segments are opened when a patient becomes active again after a period of silence exceeding a preset silence threshold; and migration seam segments are opened during cross-institutional data import. Each data segment maintains segment metadata, including segment identifier, patient identifier, segment type, start and end times, clinical status label, measured sampling rate, and number of records. Segment types include at least inpatient intensive segments, home stable segments, follow-up visit segments, post-silence recovery segments, and migration seam segments.
[0072] When a source of clinical events is unavailable, a data density mutation or a preset silencing threshold is used as a fallback trigger condition to prevent the segmentation mechanism from degrading. Data breaks are not marked when the blank time between adjacent data segments does not exceed the preset minimum break time, to avoid clinically insignificant breaks on the trend chart.
[0073] In this embodiment, the preset silence threshold (90 days) is greater than the preset minimum break duration (7 days), and the two form a hierarchical judgment mechanism:
[0074] When the blank duration between adjacent data segments exceeds the minimum break duration but does not exceed the silence threshold, the current data segment continues, but the area within the blank interval is marked as an intra-segment break zone, and interpolation within the segment is prohibited from crossing this break zone; when the blank duration exceeds the silence threshold and the patient becomes active again, the current data segment is forcibly terminated and the silence recovery segment is started, and the blank interval between segments is naturally marked as a data break zone.
[0075] For the index records within each data segment, the encoding method is adaptively selected based on the characteristics of the data within the segment: differential encoding is used when the data within the segment is dense and the values change gradually; piecewise linear encoding is used when the data within the segment is stable over a long period of time, that is, the first and last values and slope of the segment are stored, and only the deviation is stored in the middle data points; run-length encoding is used when the proportion of repeated values in the data within the segment exceeds the preset ratio.
[0076] For example, six consecutive systolic blood pressure records within a high-intensity inpatient period are: 135 mmHg, 138 mmHg, 134 mmHg, 136 mmHg, 135 mmHg, and 137 mmHg. After differential encoding, they are stored as a baseline value of 135 and the differential sequence +3, -4, +2, -1, and +2. After compression using zigzag and varint, the storage space is reduced from approximately 48 bytes to approximately 18 bytes. For a stable home period, one weight record per day with identical values over multiple days is used, which employs runs-length encoding.
[0077] Trend statistics use a segment-time weighted average, and its calculation formula is: Trend statistic value = Σ(segment mean × segment duration × density normalization factor) / Σ(segment duration × density normalization factor), where density normalization factor = minimum sampling interval within the segment / average sampling interval.
[0078] For example, a patient underwent continuous monitoring during a 3-month hospitalization within one year, but only one systolic blood pressure record was generated every hour during the daytime (6 AM to 10 PM), with no data available at night; during the remaining 9 months of home confinement, one record was generated daily. The minimum sampling interval during the hospitalization period was 1 hour, but due to the lack of data for 16 hours at night, the average sampling interval within this period was approximately 1.5 hours, with a density normalization factor of approximately 0.67; during the home confinement period, regular measurements were taken, with both the minimum and average sampling intervals approximately 24 hours, and a density normalization factor of approximately 1.00.
[0079] If the traditional arithmetic mean is used, there are approximately 1440 records in the inpatient segment and approximately 270 records in the home segment, with a record ratio of approximately 5.3:1. The arithmetic mean is approximately 138.3 mmHg, which is significantly inflated due to the high density of data from the inpatient segment. After using a segment-time weighted average, calculated with days as the uniform unit of time, the result is approximately 131.9 mmHg. This result is significantly lower than the arithmetic mean and more closely reflects the stable home level that patients experienced for most of the time, avoiding the problem of excessively inflating trend statistics due to excessively high monitoring frequency during hospitalization.
[0080] In addition, when archiving patient historical data, the segment management module generates a timeline summary containing the start and end times, statistical values, and clinical status labels for each data segment and keeps it resident in memory. When a patient becomes active again, the query routing module first loads the timeline summary to present the historical outline on the interface, and only decompresses the data for the corresponding data segment when it receives a request to view detailed history, thereby avoiding the need to decompress a large number of original records for infrequently accessed archived data.
[0081] Reference Figure 5 The health monitoring interface displays trend graphs of physiological indicators for patients within a specified time range. For patients with chronic kidney disease (CKD), this interface displays an eGFR trend graph, with the lines connecting each segment distinguishing confidence levels by color: solid green lines represent high-confidence segments, dashed yellow lines represent medium-confidence segments, and dotted red lines represent low-confidence segments. When the mouse hovers over a data point, a floating window displays the eGFR value, detection method, confidence score, and explanation of interference factors for that point.
[0082] For renal function indicators in patients with chronic kidney disease, the rule engine executes a slope reliability scoring scheme. The rule engine connects to the indicator data table, the HIS diagnostic data source, and the medication record data source. For any two renal function test records (denoted as point A and point B), the rule engine always calculates the baseline slope: slope = (eGFR_B - eGFR_A) / (date_B - date_A) × 365.25, in mL / min / 1.73m² / year. Simultaneously, based on a preset scoring rule set, points are added and deducted item by item with a maximum score of 100 to obtain the reliability score for this slope.
[0083] Specifically, the preset scoring rule set includes:
[0084] The first rule is to deduct points based on the interval between two tests: less than 3 months: 40 points; 3 to 6 months: 15 points; 6 to 18 months: no points; 18 to 24 months: 15 points; more than 24 months: 30 points.
[0085] The second rule deducts points based on the consistency of the testing methods: no points are deducted if the methods are the same; 20 points are deducted if the methods are different but there is a pre-set method correction coefficient, and the slope is calculated after the coefficient is converted; 40 points are deducted if the methods are different and there is no correction coefficient, and the slope is marked as incomparable in terms of methodology; and 30 points are deducted if at least one of the testing methods is unknown.
[0086] The third rule deducts points based on acute events: 45 points are deducted if an acute event occurs within 7 days prior to any test, 25 points are deducted if an acute event occurs between 7 and 30 days prior to the test, and 10 points are deducted if an acute event occurs between two tests that has been resolved for more than 30 days.
[0087] The fourth rule is to add or deduct points based on the stability of clinical condition: 5 points are added for stable medication regimen between two tests; 15 points are deducted for adjusting medications that affect kidney function within 30 days before the test; 5 points are added for blood pressure below 140 / 90 mmHg in both tests; and 5 points are deducted for any blood pressure above 140 / 90 mmHg.
[0088] The fifth rule applies to the consistency of proteinuria: 5 points are added for two stable UPCR results below 0.5g / g; 10 points are added for two stable or rising UPCR results above 1.0g / g; 20 points are deducted for one normal result and one abnormal result; and 25 points are deducted for two positive UPCR results above 1.0g / g.
[0089] The sixth rule is to add or deduct points based on data integrity: 10 points are added if there is at least one intermediate data point between two tests; 5 points are deducted if there is no intermediate data and the interval is 6 to 12 months; 15 points are deducted if the interval is 12 to 24 months; and 25 points are deducted if the interval is more than 24 months.
[0090] The credibility score has a lower limit of 0 points and an upper limit of 100 points. Acute events are automatically identified by the rule engine from the following data sources: ICD-10 codes in HIS diagnostic data, prescriptions for nephrotoxic drugs in medication records, manual markings in physician follow-up records, and patient self-reported information confirmed by physicians.
[0091] The confidence level is divided into score ranges: scores of 80 or above are high confidence and are included in the assessment of renal function progression; scores of 50 to 79 are moderate confidence and are included but with additional annotations; scores below 50 are low confidence and are not included in the progression assessment, and an explanation of confounding factors is output.
[0092] Each slope calculation generates a slope calculation record, which is written to the slope calculation record table. The content includes the test record identifiers corresponding to the two points, the number of days between the intervals, the eGFR values of the two points, the slope value, the total confidence score, the confidence level, the detailed scores of each rule, the marking of interference factors, and the application status of method correction.
[0093] The detection method information is saved in the envelope containing the indicator record, including the method code, method name, whether it is traceable to IDMS, analytical instrument model, and laboratory identification. The method correction coefficients are pre-loaded into the system in dictionary form. These correction coefficients are derived from regression analysis of historical paired samples by each laboratory or publicly available comparative data from clinical chemistry standardization organizations, and are stored separately according to laboratory identification and instrument platform.
[0094] For example, a community institution laboratory, based on Passing-Bablok regression analysis of its historical paired samples, found that the correction coefficient from the Jaffe method to the enzymatic method was 0.88 for its specific instrument platform, the correction coefficient from the Jaffe method to the IDMS traceable method was 0.95, and the correction coefficient from the enzymatic method to the IDMS traceable method was 1.02. When receiving migration data, the system retrieves the corresponding coefficients according to the laboratory identifier of the exporting institution; if the institution-instrument combination has no preset coefficients, it is handled according to the rule of different methods and no correction coefficients, without forced conversion.
[0095] The following example illustrates the technical effectiveness of this embodiment. Patient Wang, male, 68 years old, CKD stage 3a, has the following timeline: June 15, 2023, baseline eGFR 55 (Jaffe method); June 20, 2024, follow-up eGFR 52 (Jaffe method); September 5, 2024, hospitalized for pneumonia, eGFR 38 (enzymatic method); September 20, 2024, discharged, follow-up eGFR 50 (enzymatic method); December 15, 2024, follow-up eGFR 54 (Jaffe method).
[0096] For the pair of records from June 20, 2024 to September 5, 2024, with an interval of 2.5 months, the numerical slope was -56 mL / min / 1.73 m² / year. The rule engine deducted 40 points according to rule one, 40 points according to rule two (different methods and no correction coefficient for this combination of institutions), 45 points according to rule three (pneumonia diagnosis within 5 days prior to test at point B), and 20 points according to rule five. After lower limit processing, the score was 0, which was judged as low confidence and not included in the progress assessment. The engine also pointed out two interfering factors: change in testing method and acute infection, and recommended retesting after eliminating interference.
[0097] For the pair of records from June 20, 2024 to December 15, 2024, with a 6-month interval and a numerical slope of +4, 10 points were deducted according to rule three (the acute event between the two tests had recovered for more than 30 days) and no points were deducted according to rule two (both points were based on the Jaffe method), thus the record was deemed of moderate confidence and included in the reference list with additional annotations.
[0098] If the existing direct connection method is used, the slope -56 and the inverse slope of the recovery period will be included in the annual average simultaneously, resulting in a clinically insignificant annual slope and triggering a false positive warning. With the scheme of this embodiment, only high-confidence and medium-confidence slopes are included in the annual progress assessment, and the annual composite slope is obtained by weighting the confidence slopes. Data from the acute event phase is automatically isolated.
[0099] Reference Figure 6 The monitoring and abnormal task list interface displays various warnings and pending tasks generated by the system. For COPD patients, when the comprehensive warning score reaches a preset threshold within a warning period, the system generates an AECOPD risk warning task item in the task list, displaying the patient's name, warning level, triggering reason, and suggested treatment.
[0100] For patients with chronic kidney disease, when the confidence level of the eGFR slope is lower than a preset threshold, the system generates a renal function re-examination suggestion task in the to-do list, indicating to the doctor that recent tests for this patient may have interfering factors and suggesting that the re-examination be performed after eliminating the interference. When the source indicator record in the indicator data table is corrected, the system generates a data correction task item, indicating to the doctor that the monitoring data for the relevant patient has been updated and suggesting that the system refresh to view the latest results.
[0101] In this embodiment, a segmentation and assessment scheme based on acute exacerbation events is provided for COPD patients. It should be noted that the warning segment, acute segment, recovery segment, and stable segment in this embodiment are logical segmentations, which are associated with the corresponding physical data segments through segment index records. The two levels of segmentation are not triggered repeatedly.
[0102] Specifically, the identification of acute exacerbations includes the following three methods:
[0103] Firstly, doctors mark it as the gold standard; doctors enter the date of occurrence, severity, whether hospitalization was required, and number of days of medication, and the system takes effect immediately.
[0104] Secondly, the rule engine reads diagnostic codes containing acute exacerbations (such as ICD-10 J44.1) from the HIS, or reads records of emergency room visits and prescriptions for antibiotics and systemic glucocorticoids appearing simultaneously within 3 days, and automatically generates acute exacerbation events to be confirmed.
[0105] Third, the system receives reports from patients regarding sudden worsening of symptoms such as increased or purulent sputum, and a significant increase in the frequency of emergency medication use, and generates pending acute exacerbation events. These events are then sent to the responsible physician for review and confirmation before taking effect.
[0106] After an acute exacerbation event takes effect, the system automatically divides the data into three segments based on the date of occurrence: the 30 days before the occurrence date are the warning segment, the 3 days before and after the occurrence date are the acute segment, the 90 days after the occurrence date are the recovery segment, and the remaining period is the stable segment. Each logical segment records the start and end dates, the number of data records within the segment, the maximum and minimum values of FEV1 and CAT scores within the segment, and the segment-level assessment results in the segment index.
[0107] It should be noted that the aforementioned warning, acute, recovery, and stable segments, defined by acute exacerbation events as anchor points, are primarily used for post-event documentation and retrospective analysis of patient progress. During real-time monitoring, the system does not rely on future acute exacerbation events but instead employs a sliding window mechanism: using the current date as the endpoint, it scrolls backwards for 30 days as the real-time warning window, continuously calculating the rate of change in CAT scores and the proportion of change in the frequency of emergency medication use within this window. When the comprehensive warning score within the real-time warning window reaches a preset threshold, the system immediately generates a warning task and pushes it to the monitoring anomaly pending list. Once a physician subsequently confirms an acute exacerbation event, the real-time warning window automatically aligns to the warning segment anchored by the event's occurrence date. The calculation results and warning records within this segment become the warning period archive for that acute exacerbation event, used for subsequent patient progress review.
[0108] Within the warning period, the rule engine calculates two warning features:
[0109] First, the symptom score change rate is obtained by performing linear regression on the CAT score records within the warning period to obtain the daily average change. A daily average change greater than 0.5 points is considered high risk, greater than 0.3 points is considered medium risk, and greater than 0.15 points is considered low risk.
[0110] Second, the change ratio of the frequency of emergency medication use is determined by the ratio of the average daily number of short-acting bronchodilators used during the warning period to the baseline of the stable period in the previous 90 days. A change ratio greater than 2.0 is considered high risk, greater than 1.5 is considered medium risk, and greater than 1.2 is considered low risk.
[0111] The two features are weighted and summed to obtain a comprehensive early warning score. A comprehensive early warning score of 60 or above generates a high-level acute exacerbation warning and recommends follow-up within 7 days; a score of 35 or above recommends follow-up within 14 days; and a score of 15 or above recommends strengthening patient education.
[0112] Preferably, when there are at least two CAT score records and at least two FEV1 records within the warning segment, the symptom-lung function disconnection index can also be calculated: when the absolute value of the FEV1 change rate is less than 0.005 L / day, it is considered that the lung function is stable, and when the CAT score increases significantly, it is directly marked as symptom-dominant disconnection; when the CAT score change rate is less than 0.05 points / day and the FEV1 change rate is less than -0.01 L / day, it is marked as lung function-dominant disconnection; when the number of data entries is insufficient, this index is not calculated and it is marked as insufficient data.
[0113] During the recovery phase, the rule engine identifies the FEV1 plateau and calculates the recovery ratio: plateau FEV1 / baseline FEV1 before the acute exacerbation. It also calculates the recovery time from the end of the acute phase to the plateau in FEV1. A recovery ratio of 0.95 or higher is considered complete recovery, 0.80 to 0.95 is considered partial recovery, and below 0.80 is considered poor recovery. A recovery time of no more than 4 weeks is considered rapid recovery, 4 to 8 weeks is considered normal recovery, and more than 8 weeks is considered delayed recovery. The overall recovery quality level is determined by combining the CAT score with whether it has returned to baseline. For patients with poor recovery after two consecutive acute exacerbations, the system generates a draft referral recommendation for doctors to submit with a single click.
[0114] The following example illustrates the technical effectiveness of this embodiment. Patient Li, male, 72 years old, COPD GOLD D group, baseline FEV1 1.2L, CAT score 14. During the warning period, the patient's emergency medication frequency increased from twice a week to six times a week (change rate 3.0, high risk), and the CAT score rose from 14 to 16 within 19 days (daily change rate 0.105 points / day, low risk), resulting in a comprehensive warning score of 35. Before the acute exacerbation occurred, the system generated a task item suggesting a follow-up within 14 days in the monitoring abnormality to-do list, and the doctor conducted a telephone follow-up accordingly.
[0115] On March 5, 2025, the patient presented to the emergency room due to dyspnea. The doctor marked it as an acute exacerbation event, and the system automatically divided the situation into a warning phase, an acute phase, and a recovery phase. Within the recovery phase, on March 20, 2025, the follow-up FEV1 was 1.0L (83% recovery rate), and on April 20, 2025, the follow-up FEV1 was 1.05L (87.5% recovery rate, recovery time 42 days), which was determined to be partial recovery and normal recovery rate. The system generated recommendations to assess whether to upgrade maintenance therapy or refer the patient to a respiratory specialist, and pushed these recommendations to the doctor's task list as a to-do item. On May 20, 2025, the follow-up FEV1 stabilized at 1.05L, and the system established this as the new stable baseline, thus objectively recording the stepwise decline in baseline caused by this acute exacerbation.
[0116] If existing technology is used, the FEV1 0.9L data in the acute phase and the recovery phase will be mixed into the annual average, and the frequency doubling signal of emergency medication in the warning phase will not be aggregated and identified. Doctors can only deal with patients passively after they arrive at the emergency room and cannot get early warnings in the to-do list.
[0117] In this embodiment, the source institution generates a self-describing migration data package when exporting data. The migration data package adopts a JSON format self-describing structure, including: package metadata (package identifier, exporting institution, importing institution, patient basic information, data time span), indicator record list (each record contains indicator code, value, record time, complete data envelope content, clinical event anchor), dictionary mapping table (records the equivalence mapping relationship between the exporting institution and the receiving institution in terms of source type code, measurement context code, and method school positive coefficient), and migration seam marker (records the timestamp of the last record of the exporting institution, the expected timestamp of the first record of the receiving institution, and clinical status transition description).
[0118] The migration data packet carries a clock offset calibration value, calculated based on NTP or a shared reference time between the two systems. Upon importation, the receiving institution converts the source type encoding in the migration data to its own encoding according to a dictionary mapping table, calibrates the timestamp tuples of each record according to the clock offset calibration value, and generates data segments of the migration seam type based on the migration seam marker. The indicator records from the migration source use the migration data packet identifier as the clinical event anchor point, isolating them from the receiving institution's local data at the anchor point level; cross-anchor point interpolation is prohibited during time alignment.
[0119] For example, when a patient migrates from a community facility using the Jaffe method to a higher-level facility using the enzymatic method, the migration data packet carries methodological mapping information. When calculating the eGFR slope, the receiving facility automatically applies a correction factor according to the second rule mentioned above, or marks the slope as methodologically incomparable, ensuring semantic continuity of the timeline before and after the migration.
[0120] When a source indicator record in the indicator data table is corrected, the envelope writing module updates the source indicator record and records in its data envelope field whether it has been corrected, the person who corrected it, the reason for the correction, and the original value before the correction. The snapshot generation module marks the snapshot record associated with the source indicator record as invalid. The system uses a two-level recalculation mechanism to ensure that the snapshot caliber is consistent with the source data.
[0121] The first layer is real-time correction triggering. While updating the source indicator record, the envelope writing module sends a recalculation instruction to the asynchronous message queue. The snapshot generation module immediately recalculates the patient's associated snapshot for that day, ensuring that doctors can find the latest information shortly after the correction occurs.
[0122] The second layer is a nighttime backup batch recalculation. A scheduled task scans all snapshot records marked as invalid, completes the recalculation uniformly, and removes the invalidation mark to handle edge cases that may be missed during the daytime asynchronous recalculation. The query routing module prioritizes returning snapshots that have been recalculated. If the real-time recalculation is not yet complete, it returns the existing snapshot with an additional "data updating in progress" mark to avoid doctors waiting.
[0123] Furthermore, the system generates a revised difference summary, recording the corrected indicator code, old value, new value, reason for correction, person making the correction, and the level of impact of the correction on downstream views. The revised difference summary is pushed to the patient's attending physician. When the physician opens the patient's details page, if there is an unviewed revised difference summary, the system will prompt that some of the patient's monitoring data has been corrected and suggest refreshing to view the latest results.
[0124] When a doctor opens a patient's details page, the query routing module checks if an expired snapshot exists for that patient. If it does, the existing snapshot is returned with a "data update in progress" flag attached, and a recalculation of data for that patient's current day is triggered asynchronously. After the recalculation is complete, the display is refreshed to ensure that the information viewed by the doctor is consistent with the latest source data.
[0125] It should also be noted that the specific values in the above embodiments, including the points added or deducted for each rule, the preset duration (30 days, 90 days, 7 days, etc.), the judgment thresholds (0.95, 0.80, 0.5 points / day, 2.0, etc.), and the silence threshold, are all configurable rule parameters that can be adjusted by clinical experts in the dictionary table according to guideline updates and actual quality assessment data. The scope of protection of this invention is not limited to the specific values mentioned above.
[0126] Each embodiment can be implemented individually or in combination. The disease rule engines for CKD and COPD can be deployed independently or run simultaneously in the same chronic disease management data processing system.
[0127] The above description is merely a preferred embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, or combinations made within the spirit and principles of the present invention should be included within the scope of protection of the present invention. The scope of protection of the present invention is defined by the claims.
Claims
1. A method for processing data in chronic disease management, characterized in that, include: Obtain multiple records of the same health indicator from multiple data sources for the same patient; Each of the aforementioned indicator records is written into the indicator data table, and a data envelope field is associated with each of the aforementioned indicator records. The data envelope field records the source type, measurement context, and timestamp tuple containing the physiological event occurrence time and the system entry time of the indicator record. The indicator records from different sources are kept in parallel in the indicator data table without overwriting each other. In response to a query request, the system routes to the indicator data table and returns the corresponding indicator record based on the source type and / or measurement context corresponding to the query intent carried in the query request.
2. The method for processing chronic disease management data according to claim 1, characterized in that, Also includes: Based on preset clinical priorities, representative values are selected from the indicator records from different sources within the same statistical period to generate snapshot records, forming a snapshot track parallel to the indicator data table; The query request is routed to the indicator data table or the snapshot track according to the query intent.
3. The method for processing chronic disease management data according to claim 1, characterized in that, The data envelope field is a newly added JSON type field on the indicator data table; the data envelope field also records at least one of the following: source identifier, precision level, clinical effective cutoff time and clock source in the timestamp tuple, clinical event anchor point, and correction information; the values of preset subfields in the data envelope field are extracted on the indicator data table through a database virtual column, and an index is created on the virtual column.
4. The chronic disease management data processing method according to claim 3, characterized in that, The clinical event anchors are generated according to the following rules: Indicator records derived from medical visits or follow-ups, with medical visit markers or follow-up record markers serving as anchor points for clinical events; Indicator records derived from home measurements were used as clinical event anchors, with the combination of measurement date and patient identifier. Indicator records derived from cross-institutional migrations are used as clinical event anchors, with migration data packet identifiers. When aligning the recorded indicators over time, they are first grouped by the clinical event anchor point, and then sorted by the occurrence time of the physiological event within each group. Interpolation across groups is prohibited. When performing cross-organizational data migration, a self-describing migration data package is generated, which carries clock offset calibration values, dictionary mapping tables and migration seam markers; The receiving agency transcodes the source type encoding in the migration data according to the dictionary mapping table, calibrates the timestamp according to the clock offset calibration value, and generates a data segment of the migration seam type based on the migration seam mark.
5. The method for processing chronic disease management data according to claim 1, characterized in that, Also includes: The indicator records are segmented according to clinical events to obtain data segments corresponding to clinical states. Interpolation is allowed for indicator records within the same data segment. Adjacent data segments are marked as data break zones and no cross-segment interpolation is performed.
6. The chronic disease management data processing method according to claim 5, characterized in that, The segmentation of the indicator records based on clinical events includes: When a hospitalization or emergency event occurs, a follow-up record is submitted, a patient becomes active again after the silence duration exceeds a preset silence threshold, or cross-institutional data is imported, a new data segment is triggered and the corresponding segment type is marked for the new data segment. The segment type includes at least hospitalization intensive segment, home stable segment, follow-up visit segment, post-silence recovery segment, and migration seam segment. For the index records within the data segment, the encoding method is selected according to the characteristics of the data within the segment: differential encoding is used when the data within the segment is dense and the numerical changes are gradual; piecewise linear encoding is used when the data within the segment is stable over a long period of time; and run-length encoding is used when the proportion of repeated values in the data within the segment exceeds a preset ratio.
7. The method for processing chronic disease management data according to claim 5, characterized in that, When performing trend statistics on the aforementioned indicator records, a segment-time weighted average is adopted: the average value within each data segment is multiplied by the product of the duration of that data segment and the density normalization factor to obtain the weighted sum, which is then divided by the sum of the products of the duration of each data segment and the density normalization factor to obtain the trend statistical value, wherein the density normalization factor is the ratio of the minimum sampling interval to the average sampling interval within the segment.
8. The method for processing chronic disease management data according to claim 1, characterized in that, For renal function indicators of patients with chronic kidney disease, the following are also included: for any two renal function test records, calculate the estimated glomerular filtration rate slope, and calculate the confidence score corresponding to the slope based on a preset scoring rule set; determine the confidence level according to the score range of the confidence score, and only include the slope that meets the preset conditions in the renal function progression assessment.
9. The method for processing chronic disease management data according to claim 1, characterized in that, For COPD patients, the method also includes: identifying acute exacerbation events, using the date of occurrence of the acute exacerbation event as an anchor point, dividing the first preset duration before the date of occurrence into a warning period, dividing the second preset duration before and after the date of occurrence into an acute period, dividing the third preset duration after the date of occurrence into a recovery period, and dividing the remaining period into a stable period. Within the warning segment, the rate of change of symptom scores and the proportion of change of emergency medication use frequency relative to the baseline of the stable segment are calculated. When the rate of change or the proportion of change exceeds the corresponding preset threshold, an acute exacerbation warning is generated. Within the recovery segment, the recovery proportion of forced expiratory volume in one second and the recovery time are calculated. The recovery quality level is determined based on the numerical range of the recovery proportion.
10. A chronic disease management data processing system, characterized in that, The method for processing chronic disease management data, applied to any one of claims 1-9, specifically includes: The data acquisition module is used to acquire multiple records of the same health indicator from multiple data sources for the same patient. The envelope writing module is used to write each of the aforementioned indicator records into the indicator data table and associate a data envelope field with each of the aforementioned indicator records. The data envelope field records the source type, measurement context, and timestamp tuple containing the physiological event occurrence time and the system entry time of the indicator record. The indicator records from different sources are kept in parallel in the indicator data table and do not overwrite each other. The query routing module is used to respond to a query request and, based on the source type and / or measurement context corresponding to the query intent carried in the query request, route the data to the indicator data table or snapshot track and return the corresponding indicator record.
