Method for processing data by series of program products, method for producing program products and associated computer programs
The method and program product configure processing programs to interact only with a frozen study table using a reference date, addressing data integrity issues and ensuring valid study results through selective inhibition and tracing tables.
Patent Information
- Application Number
- FR2025002066
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-02-28
- Publication Date
- 2025-08-29
AI Technical Summary
Existing data processing software lacks effective mechanisms to prevent information biases and ensure data integrity during study data processing, particularly when data freezing occurs after result awareness or without a declared freeze, leading to invalidation of data validation.
A method and computer program product that configures processing programs to interact only with a frozen study table, using a reference date to prevent interaction with modified data, and includes tracing tables to ensure data integrity and selective inhibition of processing capacities.
Ensures data integrity by preventing processing programs from interacting with modified data, thereby maintaining the validity of study results and enabling independent program production by service providers.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: Method for processing data by series of program products, method for producing program products and associated computer programs
[0001] The present invention relates to a data processing method 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] Although many data processing software programs are now available to facilitate the establishment of study results, the supervision of the processing procedures only appears occasionally and the state of the art only allows limited control of the steps leading to the exploitation of the data. Thus, information biases can easily interfere with the validation of data if a data freeze is carried out after having become aware of study results or if no data freeze is actually decreed. 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 indifferently all the data as frozen, 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 before it was frozen, 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] In other embodiments of the invention, the reference date may be constituted by the precise date on which the study table was actually frozen.
[0012] 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.
[0013] 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.
[0014] Another aim of the invention is to enable the design of processing programs according to a method enabling their production to be managed by a service provider independent of the client(s) intended to implement these programs.
[0015] To this end, the invention also relates to a method for developing processing programs as described above, characterized in that it includes a step of combining on an external text file functions for creating / updating at least one tracing table, on the one hand, with parameters consisting of the reference dates of the study tables to be frozen and the protection passwords of the tracing tables of at least one series of processing programs to be created, on the other hand.
[0016] In certain embodiments: • The development method may include a step of adapting the instructions of a series of processing programs to be created 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 combining identity control functions with session identifiers specific to at least one client in order to create program products responding only 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 reference dates 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 a table dedicated to storing this data to ensure the production of said processing programs.
[0017] According to an optional embodiment of the invention, the source code of the processing programs defined above is protected by encryption.
[0018] This optional embodiment makes 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.
[0019] 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
[0020] 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:
[0021] [Fig-1] schematically illustrates an embodiment according to the invention;
[0022] [Fig.2] schematically illustrates a conceptual model of the provider's data; and
[0023] [Fig.3] schematically illustrates a relational database of the service provider. Description of the embodiments
[0024] 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
[0025] When opening the default catalog called "sasmacr" 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.
[0026] A series of PREP processing programs, made available by the PROGL program, consists of parameterizable programs complementing each other in data correction steps, steps for creating additional variables to identify unavailable / non-applicable data from study tables and “ODS” instructions (for “Output Delivery System”). results routing”) for editing results, in particular allowing the creation of data dictionaries (in RTF or PDF format) in order to prepare the freezing of study tables with the service provider.
[0027] 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).
[0028] 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).
[0029] Each series of PREP, STAT or VIEW processing programs only intervenes with a study table, one of whose programs, after carrying out the requested intervention, has automatically relayed the precise date and time of the last modification within a password-protected table T1, T2 or T3 called "tracing", and the precise modification date to be considered initially of which 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 source code 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 and the exploitation processing,a PREP series data validation program product expressly storing the precise date and time of the last modification of a study table to be frozen within a tracing table Tl that can be transmitted to the service provider.
[0030] 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
[0031] When opening the default catalog called “sasmacr” by the “SAS®” software, PROGP PROG5 and PROG6 programs may appear to the service provider for produce PREP, STAT and EXAM processing programs using keywords recorded within a set of T4 tables known as “parameter tables”.
[0032] 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.
[0033] 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.
[0034] 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 to the specific dates / times of modification of the consultable study tables stored 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 to protect the T3 tracing tables, and traces these passwords in the said T_UTI parameter table.
[0035] 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.
[0036] For illustrative purposes, an overview of the creation process used by the programs PROG4, PROG5 and PROG6 is given in the Appendix to the description.
[0037] 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” (for “Advanced Encryption Standard”) encryption option 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.
[0038] 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 EX AM 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
[0039] 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.),"!"); call symputx('statement',mod(second(round(modate)),2),,"l"); end;run; / *The following lines of code create a program on a .sas file* / options nonotes; 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. A computer-implemented method for processing a study table (PREP, STAT or EXAM), including: a step of freezing the study table; and a step of producing a program (PREP, STAT or EXAM) capable of processing the study table; a method characterized in that it includes a step of adapting processing program instructions (PREP, STAT or EXAM) to be produced by combining them with the date of last modification of the study table to configure at least one program (PREP, STAT or EXAM) to process only the study table frozen by said combination.
2. Method for processing treatment program data (PREP, STAT or EXAM) as defined in claim 1, implemented by computer, characterized in that it includes a step of storing, within a tracing table (T1, T2 or T3), each date on which the content of the study table was modified during a study data collection step, the date of last modification of the study table, precise date of said freezing and / or date before said freezing of the study table, being intended to constitute a configuration parameter of at least one treatment program (PREP, STAT or EXAM).
3. Method according to one of claims 1 or 2, 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.
4. Method according to one of claims 2 or 3, characterized in that it includes a step of adapting processing program instructions (PREP, STAT or EXAM) to be produced by combining them with at least one data protection password to secure access to at least one tracing table (T1, T2 or T3).
5. Method according to one of claims 1 to 4, characterized in that it includes a step of adapting processing program instructions (EXAM) to be produced by combining them with at least one password for protecting frozen study data made available for consultation to regulate the consultation of study data.
6. Method according to one of claims 1 to 5, characterized in that it includes a step of adapting processing program instructions (PREP, STAT or EXAM) to be produced by combining them to at least one client-specific session identifier so that at least one processing program (PREP, STAT or EXAM) only responds to said client.
7. Method according to one of claims 2 to 6, characterized in that it comprises a step of generating a random password to protect the tracing table data (T1, T2 or T3) and / or the frozen study data made available for consultation.
8. Method according to one of claims 2 to 7, characterized in that it comprises steps of access to at least one date of last modification of study table to be frozen, of access to at least one session identifier specific to a client, and of tracing password for protection of tracing table data (T1, T2 or T3) and / or frozen study data made available for consultation at table (T4) dedicated to the storage of this data to ensure the production of processing program (PREP, STAT or EXAM).
9. Method according to one of claims 1 to 8, characterized in that the source code of at least one processing program (PREP, STAT or EXAM) is protected by encryption.
10. Computer program product, comprising instructions which, when executed by a processor, implement a method according to one of claims 1 to 9.
Citation Information
Patent Citations
Automated identification of tasks that must be completed before a clinical trial database can be locked
US20100049545A1
System and method for managing a workflow for biomedical development
US20190311048A1