We had the opportunity to present our paper, “Optimizing SAS Programming Pipelines Using the %Unpack and %SearchReplace Macros for Version Control and Customization”, written by Ning Ning, Statistical Programmer I, and Assir Abushouk, Manager, Statistical Programming, at PharmaSUG 2025 in San Diago. The presentation focused on a practical SAS macro program we developed to address common challenges in clinical programming, particularly around version control, customization, and study startup efficiency in CROs.
In clinical research and regulatory settings, getting a project off the ground can involve manually copying templates, macros, and shell programs from previous studies. Many SAS programming teams rely on manual methods for managing versions of standardized program files, resulting in inconsistencies and difficulties in tracking updates. Regulatory environments, such as those in the biotechnology and pharmaceutical industry, require highly controlled and versioned files to maintain compliance with industry standards. Outdated programs in these settings can lead to compliance failures or missed deadlines.
Traditional approaches to manage the standardized program files often involve manual version tracking, which can be cumbersome and prone to inconsistencies. While some tools provide mechanisms for maintaining different versions, they may lack seamless integration into statistical programming pipelines or fail to address the need for program customization. The manual process is often inconsistent and error-prone—different versions of the same file circulate, manual edits introduce variability, and setup can take far longer than it should. We set out to reduce this burden. Our paper introduces a more comprehensive approach, integrating version control and program customization into a unified solution that enhances efficiency, reduces errors, and ensures regulatory compliance.
Automation in SAS programming streamlines workflows and ensures compliance with industry regulations. The SAS program we have introduced is composed of two integrated parts. The %Unpack and %SearchReplace macros address version control and customization challenges by automating key processes, reducing manual intervention, and enhancing efficiency. The %Unpack macro extracts zip files containing the latest program files, templates, macros, and directory structures from a designated directory. This automation eliminates the need for manual searches, ensuring all team members work with the most current versions. The %SearchReplace automates string replacement across all files to tailor them to specific study or client requirements. Together, these macros cut down on manual edits, ensure consistency across projects, and reduce the risk of outdated files slipping into production.
During the presentation, we walked through how this macro is implemented in study setups—requiring only a few user-defined inputs to generate a ready-to-use, customized directory. We also highlighted the program’s flexibility: although designed for SAS workflows, the logic behind the macros could be extended to other environments with similar needs for standardized setup and customization.
Audience feedback at PharmaSUG was enthusiastic, especially among programmers working in CROs and biotechnology organizations juggling multiple sponsors or submissions. Several attendees noted that this approach could save time, not just in study setup, but also in maintaining audit readiness and compliance.
PROMETRIKA’s Statistical Programmers remain actively engaged with industry developments and take the initiative to develop tools to improve processes. We enjoyed sharing our successful new macros with our colleagues.