Method for computer processing of data by configuring program products, method for producing program products and associated computer programs

By configuring processing programs to interact only with a frozen study table using a reference date and securing access with passwords and session identifiers, the method addresses data processing biases and ensures data integrity in biomedical research.

FR3107973B1Active Publication Date: 2025-10-24RAYON THOMAS
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
FR2021006941
Authority / Receiving Office
FR · FR
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-06-29
Filing Date
2021-06-28
Publication Date
2025-10-24
Estimated Expiration
2041-06-28

AI Technical Summary

Technical Problem

Existing data processing software lacks effective mechanisms to control and supervise data processing procedures, leading to potential information biases and measurement errors, particularly in biomedical research, due to undecreed freezing of data or premature knowledge of study results.

Method used

A method that configures processing programs to interact only with a frozen study table, using a reference date to prevent modifications and ensures data integrity by storing modification dates in tracing tables, and adapts program instructions with passwords and session identifiers to secure access and processing.

Benefits of technology

Ensures that processing programs only interact with a definitively frozen study table, preventing information biases and maintaining data integrity, while allowing controlled production and secure access to study data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000012_0000
    Figure 00000012_0000
  • Figure 00000013_0000
    Figure 00000013_0000
Patent Text Reader

Abstract

Particularly intended for biomedical research, the invention relates to a method for computer processing of data including: . a step of collecting study data within a study table; . a step of freezing the contents of the study table; . a step of producing programs (PREP, STAT, EXAM) capable of processing the data contained in the study table. The method according to the invention further includes a step of configuring the processing programs (PREP, STAT, EXAM) aimed at preventing these processing programs (PREP, STAT, EXAM) from interacting with any study table other than that resulting from the freezing step. Thanks to the invention, processing of the data contained in the study table can only be carried out by means of the processing programs (STAT, EXAM) after the data table has been definitively frozen. Reference: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Title of the invention: Method for computer processing of data by configuring program products, method for producing program products and associated computer programs

[0001] The present invention relates to a data processing method, implemented by a computer, including: • A study data collection stage within a study table; • A step of freezing the contents of the study table; and • A step of producing programs capable of processing the data contained in the study table. Technical field

[0002] The present invention falls within the field of decision-making computing and more particularly the field of biomedical research; it relates to methods and programs for supervising the validation and exploitation of study data as preventive solutions to study biases that can be induced by an undecreed freezing (permanent freezing) of data, as well as premature and / or partial knowledge of study results. Prior art

[0003] While many data processing software programs are now available to facilitate the establishment of study results, the state of the art only allows limited control of the steps leading to the exploitation of the data and the supervision of the processing procedures only appears in an ad hoc or diffuse manner (see patent document US 2010 / 049545 published on February 25, 2010 or patent document US 2019 / 311048 published on October 10, 2019 respectively). Thus, information biases can quite easily interfere with data validation if a data freeze is carried out after having become aware of study results or if no data freeze is actually decreed. Measurement errors are likely to generate an inadequate observation framework, particularly at the level of graphical representations of statistical data, and for example to impact the quality of a medical device under study. Statement of the invention

[0004] In order to overcome the drawbacks stated above, the inventor proposes an alternative solution to the mechanisms known from the state of the art.

[0005] Indeed, according to the invention, a method in accordance with the introductory paragraph further includes a step of configuring the processing programs aimed at preventing these processing programs from interacting with any study table other than that which results from the freezing step.

[0006] Thus, thanks to the invention, processing of the data contained in the study table can only be carried out by means of the processing programs after the data table has been definitively frozen. These processing programs will then use all the data as frozen indifferently, and any subsequent modification of the data included in the data table due to an information bias, but also to any other disturbance, will be inoperative because it will be ignored by the processing programs as configured at the end of the configuration step.

[0007] The invention is thus remarkable in that it provides for selective inhibition of the processing capacities of programs, the scope of application of which those skilled in the art usually try to extend.

[0008] According to a particular embodiment of the invention, the method described above includes a step of storing, within a tracing table, each date on which the content of the study table was modified during the collection step, the date of the last modification of the study table, consisting of the precise date on which the study table will have been frozen and called the reference date, being intended to constitute a configuration parameter of at least one processing program.

[0009] Such an embodiment makes it possible, by means of a single parameter consisting of the last modification date of the study table, to configure the processing programs so that they cannot query any study table having as its last modification date a date different from said reference date.

[0010] It should be noted here that, throughout this document, the notion of date should not be understood as the sole identification of a day of the year, but as a temporal reference which can for example be expressed in years, months, days, hours, minutes, seconds and / or fractions of a second and not.

[0011] According to an advantageous embodiment of the invention, a method as described above includes a step of copying the study table at the instigation of the first processing program to interact with said study table after the freezing step.

[0012] In this embodiment of the invention, the content of the study table as frozen is preserved from any subsequent alteration which could result from its interaction with the processing programs, which are then intended to interact with the table resulting from the copy of the frozen table, said copy thus itself resulting by transitivity from the freezing step.

[0013] Another aim of the invention is to enable the design of processing programs according to a method enabling their production to be controlled by a service provider independent of the client(s) intended to implement these programs.

[0014] To this end, the invention also relates to a method for developing processing programs as described above, implemented by a computer, characterized in that it includes a step of adapting the instructions of a series of processing programs to be produced by combining them on a text file with dates of last modification of study tables to configure at least one of the processing programs of the series to process only the study tables fixed by said combination.

[0015] In certain embodiments: • The development method may include a step of adapting the processing program instructions to be produced by combining them with data protection passwords to secure access to at least one tracing table; • The development method may include a step of adapting the instructions of a series of processing programs to be produced by combining them with passwords for protecting frozen study data made available for consultation to regulate the consultation of study data; • The development method may include a step of adapting the processing program instructions to be produced by combining them with session identifiers specific to at least one client so that the processing programs only respond to said client; • The development method may include a step of generating a random password to protect the plotting table data and / or the frozen study data made available for consultation; • The development method may include steps of accessing the dates of the last modification of at least one study table to be frozen, accessing session identifiers specific to at least one client, and tracing the password for protecting the tracing table data and / or frozen study data made available for consultation at the table dedicated to storing this data to ensure the production of said processing programs.

[0016] According to an optional embodiment of the invention, the source code of the processing programs defined above is protected by encryption.

[0017] These embodiments make it possible to ensure that, once configured to only be able to process data from the study table as frozen, the processing programs cannot subsequently be reconfigured to be able to process data from another data table whose integrity is not guaranteed.

[0018] The invention finally relates to a computer program product characterized in that it comprises instructions which, when executed by a processor, implement the data processing method as defined previously or the program development method as defined previously. Brief description of the drawings

[0019] Other characteristics and advantages of the invention will appear more clearly on reading the following description of a particular embodiment, given by way of illustrative and non-limiting example, and with regard to the appended drawings, among which:

[0020] [Fig-1] schematically illustrates an embodiment according to the invention;

[0021] [Fig.2] schematically illustrates a conceptual model of the data of the provider; and

[0022] [Fig.3] schematically illustrates a relational database of the service provider. Description of the embodiments

[0023] In the embodiments described below: • The programs correspond to Macro-programs of the version 4 of the business intelligence software “SAS®” (for “Statistical Analysis Software”) of the “SAS® Analytics Pro Package” (translated as “SAS® Analysis Software”). • A table corresponds to a “SAS®” table. • A catalog corresponds to a file in which “SAS®” programs are saved in their compiled form. • A consultable study table corresponds to a password-protected version of a study table frozen with the service provider on which data exploitation rights have been granted to the service provider and its clients. • A user corresponds to any employee, consultant, intern or subcontractor of a client of the service provider (also a client of the software publisher “SAS®”), using the program products in the context of biomedical research. • The “SAS®” session identifiers correspond to the users’ automatic Macro-variable values ​​&Syssite, &Syshostname and &Sysuserid and represent the client reference, the client computer name and the client computer account name of the software publisher “SAS®”, respectively. • Identical or similar elements are identified by identical reference signs throughout the figures. Computer programs for customers

[0024] When the default catalog called "sasmacr" is opened by the "SAS®" software, programs PROG1, PROG2 and PROG3 may appear to the user to deploy series of nested processing programs according to three distinct groups of consecutive programs in the establishment of the validation, the exploitation and the consultation of study tables, respectively.

[0025] A series of PREP processing programs, made available by the PROGL program, consists of configurable programs complementing each other in data correction steps, steps for creating additional variables to identify unavailable / non-applicable data from study tables and “ODS” (for “Output Delivery System”) instructions for editing results, allowing in particular the establishment of data dictionaries (in RTF or PDF format) so as to prepare the freezing of study tables with the service provider.

[0026] A series of STAT processing programs, made available by the PROG2 program, consists of configurable programs complementing each other in steps of creating additional variables describing the study data and “ODS” instructions for editing results, allowing all users having the same value of Automatic Macro-variable &Syssite, i.e. having the same “SAS®” customer reference, to create publishable statistical reports (in RTF, PDF or HTML format) from a study table frozen by the service provider at the request of the customer in question (or from several study tables frozen alternately).

[0027] A series of EXAM processing programs, made available by the PROG3 program, consists of configurable programs complementing each other in steps of creating additional variables describing the study data and “ODS” instructions for editing results, allowing all users having the same value of Automatic Macro-variable &Syssite, i.e. having the same “SAS®” client reference, to examine the frozen study tables made consultable by other clients, with or without access to their raw data, via the establishment of reports (in RTF or PDF format).

[0028] Each series of processing programs PREP, STAT or VIEW only intervenes with a study table of which one of the programs, after carrying out the requested intervention, has automatically relayed the precise date and time of the last modification within a table T1, T2 or T3 called "tracing" protected by password, and of which the precise date of modification to be considered initially has either been transmitted within said tracing table T1 upon execution of a program initializing a PREP series of data validation, or has been integrated into the code source of a program initializing a STAT or EXAM series of data exploitation, at the request of the client, in order to include a step of freezing said study data and dissociating the validation processing from the exploitation processing; a PREP series program product for data validation expressly storing the precise date and time of the last modification of a study table to be frozen within a tracing table Tl transmittable to the service provider.

[0029] For illustrative purposes, an overview of the use of precise date and time of table modification is provided in the appendix to the description. Programs for the provider

[0030] When the default catalog called "sasmacr" is opened by the "SAS®" software, programs PROG4, PROG5 and PROG6 may appear to the service provider to produce PREP, STAT and EXAM processing programs using keywords recorded within a set of T4 tables called "parameterization tables".

[0031] The PROG4 program creates the PREP processing programs on an external text file via “%put” write instructions, combines identity control functions to be written to the “SAS®” session identifiers stored in the T_UTI parameter table so that these programs only respond to specific users, combines creation / update functions of the T1 tracing table to be written to the random passwords that it generates in order to protect the latter, and traces these passwords in said T_UTI parameter table.

[0032] The PROG5 program creates the STAT processing programs on an external text file via “%put” write instructions, combines identity control functions to be written to the “SAS®” session identifiers stored in the T_UTI parameter table so that these programs only respond to specific users, combines creation / update functions of the T2 tracing table to be written at the specific dates / times of modification of the frozen study tables stored in the T_ETU parameter table so that these programs only respond to the frozen study tables of said users, considers the way in which the study tables were frozen (whether operating rights on the study table were granted or not) in order to grant different file creation rights depending on the case via conditional macro-instructions, generates random passwords in order to protect the T2 tracing tables,and traces these passwords in the said T_UTI configuration table.

[0033] The PROG6 program creates the EXAM processing programs on an external text file via “%put” write instructions, combines identity control functions to be written to the “SAS®” session identifiers stored in T_UTI parameter tables so that these programs only respond to specific users, combines T3 tracing table creation / update functions to be written at the specific dates / times of modification of the stored consultable study tables in the T_ETU parameter table so that these programs only respond to the consultable study tables requested by the clients, considers the way in which the study data can be consulted (date of grant of the corresponding frozen study table, grant by right of reuse or by right of consultation) in order to grant access rights to said data which are different depending on the case via conditional Macro-instructions, generates random passwords in order to protect the T3 tracing tables, and traces these passwords in said T_UTI parameter table.

[0034] The PROG5 and PROG6 programs have the possibility of joining the T4 parameter tables by their common variables SYSSITE and CODETUD (described below), to read / write said keywords.

[0035] For illustrative purposes, an overview of the creation process used by the programs PROG4, PROG5 and PROG6 is provided in the Appendix to the description.

[0036] Also, the T_UTI configuration table lists information relating to user monitoring and potential study tables requested by customers. Updated periodically by the service provider (in particular via the PROGP PROG5 and PR0G6 programs), the T_UTI table includes the variables: • S YSSITE representing the primary key composed of the T_UTI table and listing the value of Macro-variable &Syssite of users. • S YSHOST representing the composite primary key of the T_UTI table and listing the value of Macro-variable &Syshostname of users. • S YSUSER representing the composite primary key of the T_UTI table and listing the value of Macro-variable &Sysuserid of the users. • CODETUD listing the ID-RCB or EudraCT registration number (for “European Union Drug Regulating Authorities Clinical Trials Database”) of the studies whose consultable data table is requested by customers (and representing a foreign key). • PWPREP lists the password (generated by the PROG4 program) for the “PW” option (for “Password”) of the PREP series tracing Tl tables of users. • K EYPREP listing the password (generated by the PROG4 program) for the “AES” encryption option (for “Advanced Encryption Standard”) of the PREP series tracing Tl tables of users. • PWSTAT listing the password (generated by the PROG5 program) for the “PW” option of the T2 tables for tracing STAT series of users. • KEYSTAT listing the password (generated by the PROG5 program) for the “AES” encryption option of the T2 tables for tracing users’ STAT series. • PWEXAM listing the password (generated by the PROG6 program) for the “PW” option of the T3 tables for tracing the EXAM series of users. • KEYEXAM listing the password (generated by the PROG6 program) for the “AES” encryption option of the T3 tables for tracing the EXAM series of users.

[0037] The T_ETU configuration table lists the information relating to the study tables frozen by the service provider at the request of its clients and determines how they are frozen / made available for consultation. Updated with each new freeze (in particular thanks to the Tl tracing tables transmitted to the service provider), the T_ETU table includes the variables: • C ODETUD representing the primary key of the T_ETU table and listing the ID-RCB or EudraCT registration number of the studies whose data table is frozen. • S YSSITE listing the value of Macro-variable &Syssite of users whose study table is frozen (and representing a foreign key). • D ATEGEL listing the freezing date of the study tables. • D ATEMAJ listing the elements of date and precise time of modification of frozen study tables. • D ATECONS listing, if any, the date of granting of rights to frozen study tables. • DATEMAJ2 listing the elements of the precise date and time of modification of the study tables consultable in the EXAM series. • PWETUD listing the “PW” option password for the consultable study tables. • KEYETUD listing the “AES” encryption option password for the consultable study tables. • DR ACCESS listing the right of access to raw data from consultable study tables granted to users. Appendix#: Sample Program

[0038] Below, the program %Example creates a program called %Product, whose instructions (hidden from their automatic execution objects during creation) are combined with Macro-variable values ​​via “%put” write instructions: %macro example(); / *The following line of code creates a table* / data table; run; / *The following lines of code retrieve the precise date and time of modification of the table created within a macro variable called "keyword"* / data _NULL_; set sashelp.vtable; if libname="WORK" and memname="TABLE" then do; call symputx('word',put(modate,DATETIME16.),"l"); call symputx('statement',mod(second(round(modate)),2),,"l"); end;run; / *The following lines of code create a program on a .sas file* / non-note options; proc printto log="C:\Users\User\Documents\file.sas"; run; %put %nrstr(%macro product;); %if &instruction=l %then %do; / *The following line of code assembles a program instruction to be created with the value of the macro variable called "keyword"* / %put %nrstr(%put The table created by the Example program has a modification time with odd seconds: )&keyword%nrstr(.;); %end; %else %if &instruction=0 %then %do; / *The following line of code assembles a program instruction to be created with the value of the macro variable called "keyword"* / %put %nrstr(%put The table created by the Example program has a modification time with even seconds: )&keyword%nrstr(.;); %end; %put %nrstr(%mend product;); proc printto; run; %include "C:\Users\User\Documents\file.sas"; %mend example; %example; %product;

Claims

Claims

1. Method for developing processing programs (PREP, STAT or EXAM), implemented by a computer, including: a step of collecting study data within a study table; a step of freezing the contents of the study table; a step of configuring the processing programs (PREP, STAT or EXAM) aimed at prohibiting these processing programs (PREP, STAT or EXAM) from interacting with any other study table than that which results from the freezing step; and a step of producing programs (PREP, STAT or EXAM) capable of processing the data contained in the study table;method characterized in that it includes a step of adapting the instructions of a series of processing programs (PREP, STAT or EXAM) to be produced by combining them on a text file with dates of last modification of study tables to configure the processing programs (PREP, STAT or EXAM) of the series to process only the study tables frozen by said combination; and a step of storing, within a tracing table (T1, T2 or T3), each date on which the content of a study table is modified during the collection step, the date of last modification of the study table, constituted by the precise date on which the study table will be frozen, being intended to constitute a configuration parameter of at least one processing program (PREP, STAT or EXAM).;

2. Method according to claim 1, characterized in that it includes a step of copying the study table at the instigation of the first processing program (STAT or EXAM) to interact with said study table after the freezing step.

3. Method according to one of claims 1 or 2, characterized in that it includes a step of adapting the processing program instructions (PREP, STAT or EXAM) to be produced by combining them with data protection passwords to secure access to at least one tracing table (T1, T2 or T3).

4. Method according to one of claims 1 to 3, characterized in that it includes a step of adapting the instructions of a series of processing programs (EXAM) to be produced by combining them with passwords for protecting frozen study data made available for consultation to regulate the consultation of study data.

5. Method according to one of claims 1 to 4, characterized in that it includes a step of adapting the processing program instructions (PREP, STAT or EXAM) to be produced by combining them with session identifiers specific to at least one client so that the processing programs (PREP, STAT or EXAM) only respond to said client.

6. Method according to one of claims 1 to 5, characterized in that it comprises a step of generating a random password to protect the data of a tracing table (T1, T2 or T3) and / or the frozen study data made available for consultation.

7. Method according to one of claims 1 to 6, characterized in that it comprises steps of accessing the dates of last modification of the study tables to be frozen, of accessing session identifiers specific to at least one client, and of tracing the password for protecting the tracing table data (T1, T2 or T3) and / or the frozen study data made available for consultation in a table (T4) dedicated to the storage of this data to ensure the production of said processing programs (PREP, STAT or EXAM).

8. Method according to one of claims 1 to 7, characterized in that the source code of said processing programs (PREP, STAT or EXAM) is protected by encryption.

9. Computer program product, comprising instructions which, when executed by a processor, implement a program development method according to one of claims 1 to 8.