A computer-based data processing method involving the configuration of program products, a method for producing program products, and associated computer programs.
By configuring processing programs to interact only with definitively frozen study tables and implementing security measures, the method addresses data integrity issues in biomedical research, ensuring accurate data processing and secure access.
Patent Information
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-09-15
- Publication Date
- 2026-03-20
AI Technical Summary
Existing data processing software lacks effective control over data exploitation steps, leading to potential information biases and measurement errors, particularly in biomedical research, due to undeclared freezing or premature knowledge of study results.
A method that configures processing programs to interact only with study tables after definitive freezing, using a last modification date as a parameter to ensure data integrity, and includes steps to develop programs with security measures like passwords and session identifiers to control access and protect data.
Ensures that data processing is performed only on frozen, unaltered data, preventing information biases and measurement errors, while allowing independent service providers to control program production and secure data access.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: A computer-based data processing method using program product configuration, a program product production method, and associated computer programs.
[0001] The present invention relates to a data processing method, implemented by a computer, including: • A step of collecting study data within a study table; • A step to finalize the content of the study table; and • A step in 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 guiding the validation and exploitation of study data as preventive solutions to study biases that can be induced by an undeclared freezing (definitive freezing) of data, as well as by premature and / or partial knowledge of study results. Previous technique
[0003] While numerous data processing software programs are now available to facilitate the collection of study results, the state of the art allows only limited control over the steps leading to data exploitation, and the framework for processing procedures appears only sporadically or diffusely (see US patent document 2010 / 049545 published on February 25, 2010, or US patent document 2019 / 311048 published on October 10, 2019, respectively). Thus, information biases can easily infiltrate data validation if data is frozen after study results have been obtained, or if no data freeze is actually implemented. Measurement errors can lead to an inadequate observation framework, particularly in the graphical representation of statistical data, and, for example, impact the quality of a medical device under investigation. Description of the invention
[0004] In order to remedy the disadvantages stated above, the inventor proposes an alternative solution to the mechanisms known in the prior 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 prohibiting these processing programs from interacting with any other study table than that which results from the freezing step.
[0006] Thus, thanks to the invention, data processing of the data contained in the study table can only be carried out using the processing programs after the data table has been definitively frozen. These processing programs will then use all the data indiscriminately as frozen, and any subsequent modification of the data included in the data table due to information bias, but also to any other disturbance, will be ineffective because it will be ignored by the processing programs as parameterized at the end of the configuration step.
[0007] The invention is thus remarkable in that it provides for a selective inhibition of the processing capabilities of programs, the scope of which a person skilled in the art usually tries to extend.
[0008] According to a particular embodiment of the invention, the process described above includes a step of storing, within a plotting table, each date on which the content of the study table was 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 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 allows, 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 whose last modification date is different from said reference date.
[0010] It should be noted here that, throughout this document, the concept of date should not be understood as the sole identification of a day of the year, but as a temporal reference which may, 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 resulting itself by transitivity from the freezing step.
[0013] Another object of the invention is to allow the design of processing programs according to a process allowing the control of their production 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 at the last modification dates of study tables to configure at least one of the processing programs in the series to process only the study tables frozen by said combination.
[0015] In certain embodiments: • The development process may include a step of adapting the program instructions to be produced by combining them with data protection passwords to secure access to at least one plotting table; • The development process may include a step of adapting the instructions of a series of processing programs to be produced by combining them with passwords for the protection of fixed study data made available for consultation to regulate the consultation of study data; • The development process 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 that client; • The development process 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 process may include steps to access the last modification dates of at least one study table to be frozen, access session identifiers specific to at least one client, and trace passwords protecting the data of the tracing table and / or the frozen study data made available for consultation from a 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 ensure that, once configured to only process data from the study table as frozen, the processing programs cannot be subsequently 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 above or the program development method as defined above. Brief description of the drawings
[0019] Other features and advantages of the invention will become more apparent upon reading the following description of a particular embodiment, given by way of illustrative and non-limiting example, and with regard to the accompanying 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 service provider; and
[0022] [Fig.3] schematically illustrates a relational database of the service provider. Description of the implementation methods
[0023] In the embodiments described below: • The programs correspond to Macro-programs of the version 4 of the decision-making software “SAS®” (for “Statistical Analysis Software”, translated as “Statistical Analysis Software”) of the “SAS® Analytics Pro Package” (translated as “SAS® Analysis Software”). • A table corresponds to a “SAS®” table. • A catalogue corresponds to a file in which “SAS®” programs are stored in their compiled form. • A searchable study table corresponds to a password-protected version of a frozen study table held by the provider, on which data exploitation rights have been granted to the provider and its clients. • A user corresponds to any employee, consultant, intern or subcontractor of a client of the service provider (parallel client of the software publisher “SAS®”), using the program products in the context of biomedical research. • The “SAS®” session identifiers correspond to the values of the automatic macro variables &Syssite, &Syshostname and &Sysuserid of the users 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 symbols across all figures. Computer programs for customers
[0024] When the default catalogue 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 validation, operation and consultation of study tables, respectively.
[0025] A series of PREP processing programs, made available by the PROGL program, consists of configurable programs that complement 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) in order to prepare the freezing of study tables with the provider.
[0026] A series of STAT processing programs, made available by the PROG2 program, consists of configurable programs complementing each other in the steps of creating additional variables to describe 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 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 that complement each other in the creation of additional variables to describe the study data and "ODS" instructions for editing results, allowing all users with the same value of Automatic Macro-variable &Syssite, i.e. having the same "SAS®" customer reference, to examine the frozen study tables made available to other customers, with or without access to their raw data, via the creation of reports (in RTF or PDF format).
[0028] Each series of PREP, STAT, or VIEW processing programs interacts only with a study table, one of whose programs, after performing the requested operation, has automatically relayed the precise date and time of the last modification to a password-protected "tracing" table T1, T2, or T3. The precise modification date to be considered initially has either been transmitted to said tracing table T1 during the execution of a program initializing a PREP data validation series, or has been integrated into the code. source of a program initializing a STAT or EXAM series of data processing, at the request of the client, in order to include a step of freezing said study data and dissociating the validation processes from the processing processes; a PREP series program product of data validation expressly storing the precise date and time of last modification of a study table to be frozen within a Tl tracing table transmissible to the service provider.
[0029] For illustrative purposes, an overview of the use of the precise date and time of table modification is included in the appendix to the description. Programs for the service provider
[0030] When the default catalogue called "sasmacr" is opened by the "SAS®" software, programs PROG4, PROG5 and PROG6 may appear to the provider to produce PREP, STAT and EXAM processing programs using keywords stored within a set of T4 tables called "parameter tables".
[0031] The PROG4 program creates 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 functions for creating / updating the Tl tracing table to be written to the random passwords it generates in order to protect them, and traces these passwords in said T_UTI parameter table.
[0032] The PROG5 program creates STAT processing programs on an external text file via "%put" write instructions, combines identity control functions to be written to "SAS®" session identifiers stored in the T_UTI parameter table so that these programs only respond to specific users, combines T2 tracing table creation / update functions to be written to 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 how the study tables were frozen (whether or not operating rights on the study table were granted) in order to grant different file creation rights as appropriate via conditional macro instructions, generates random passwords to protect the T2 tracing tables,and stores these passwords in the aforementioned 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, and combines functions for creating / updating T3 tracing tables to be written to the precise dates / times of modification of the stored searchable study tables. in the T_ETU parameter table so that these programs only respond to the searchable study tables requested by the clients, considers how the study data are searchable (date of concession of the corresponding frozen study table, concession by right of reuse or by right of consultation) in order to grant different access rights to said data as appropriate 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 programs PROG5 and PROG6 have the ability to join 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 PROG4, PROG5 and PROG6 programs is shown in the Appendix to the description.
[0036] Also, the T_UTI parameter table lists information relating to user tracking and potential study tables requested by clients. Updated periodically by the service provider (notably via the PROGP PROG5 and PR0G6 programs), the T_UTI table includes the following variables: • S YSSITE representing the primary key composed of the T_UTI table and listing the value of Macro-variable &Syssite of the users. • S YSHOST representing the primary key composed of the T_UTI table and listing the value of Macro-variable &Syshostname of the users. • S YSUSER representing the primary key composed 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", translated as "European database of clinical trials of medicines") of studies whose searchable data table is requested by clients (and representing a foreign key). • PWPREP listing the password (generated by the PROG4 program) of the "PW" option (for "Password", translated as "Password") of the PREP serial tracing Tl tables of the users. • K EYPREP listing the password (generated by the PROG4 program) of the "AES" encryption option (for "Advanced Encryption Standard") of the users' PREP serial tracing Tl tables. • PWSTAT listing the password (generated by the PROG5 program) of the "PW" option of the T2 tables of STAT series tracing of users. • KEYSTAT listing the password (generated by the PROG5 program) of the "AES" encryption option of the T2 tables of STAT serial tracing of users. • PWEXAM listing the password (generated by the PROG6 program) of the "PW" option of the T3 tables of EXAM series tracing of users. • KEYEXAM listing the password (generated by the PROG6 program) of the "AES" encryption option of the T3 EXAM series tracing tables of the users.
[0037] The T_ETU parameter table lists the information relating to the study tables frozen by the provider at the request of its clients and determines how they are frozen / made available for consultation. Updated with each new freeze (notably thanks to the Tl tracing tables transmitted to the service provider), the T_ETU table includes the following variables: • C ODETUD representing the primary key of the T_ETU table and listing the ID-RCB or EudraCT registration number of 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 precise date and time elements of modification of the frozen study tables. • D ATECONS listing, if any, the date of granting of rights for frozen study tables. • DATEMAJ2 listing the precise date and time elements of modification of the study tables available in EXAM series. • PWETUD listing the "PW" option password for the searchable study tables. • KEYETUD listing the "AES" encryption option password for searchable study tables. • DR ACCESS listing the right of access to the raw data of the searchable study tables granted to users. Appendix: Example program
[0038] Below, the program %Example creates a program called %Product, whose instructions (hidden from their automatic execution objects during creation) are combined with values of Macro-variables via "%put" writing 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 created table within a macro-variable called "motcle"* / 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* / 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 combines a program instruction to be created with the value of the macro-variable called "motcle"* / %put %nrstr(%put The table created by the Example program contains a modification time where the seconds are odd: )&keyword%nrstr(.;); %end; %else %if &instruction=0 %then %do; / *The following line of code combines a program instruction to be created with the value of the macro-variable called "motcle"* / %put %nrstr(%put The table created by the Example program contains a modification time where the seconds are even: )&keyword%nrstr(.;); %end; %put %nrstr(%mend product;); proc printto; run; %include "C:\Users\Utilisateur\Documents\fichier.sas"; %mend example; %example; %product;
Claims
Demands
1. A method for processing a study table (PREP, STAT or EXAM), implemented by computer, including a step of producing a processing program (PREP, STAT or EXAM) capable of processing the study table; the method characterized in that it includes a step of adapting instructions for a processing program (PREP, STAT or EXAM) to be produced by combining them at 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. Product computer program, comprising instructions which, when executed by a processor, implement the following method according to the preceding claim.
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