The heart of WUSS 2026 are the paper presentations and hands-on workshops from SAS users just like you! Papers are organized into 8 academic sections and cover a variety of topics and experience levels.
Note: This information is subject to change. Last updated 12-Aug-2026.
★ indicates a paper from a SAS Presenter.
◼ indicates a paper that is part of the SAS Essentials track.
AI, Analytics & Statistics
Careers & Professional Development
| No. | Author(s) | Paper Title (click for abstract) |
| CP-124 | Lida Gharibvand | Women’s Leadership in AI-Driven Clinical Programming |
| CP-128 | Derek Morgan | Followership: The Forgotten Half of Leadership |
| CP-135 | Kirk Lafler | Soft Skills to Gain a Competitive Edge in the 21st Century Job Market |
| CP-143 | Mike Krizan & Stephen Sloan & Kirk Lafler & Ryan Lafler & Lida Gharibvand |
Generations of SAS Analytics: Perspectives from Baby Boomers, Generation X, Millennials, and Generation Z on the Future of SAS, AI, and Data Science |
| CP-148 | Mehrnaz Siavoshi | Beyond a P-Value Vending Machine: Becoming a Research Partner, Not a Service Provider |
| CP-183 | Charu Shankar | ★How to Land Work as a SAS Professional in the Age of AI |
Data Basics and Beyond
| No. | Author(s) | Paper Title (click for abstract) |
| DB-110 | Susan Slaughter | SAS Essentials I: How SAS Thinks |
| DB-111 | Susan Slaughter | SAS Essentials II: Introduction to DATA Step Programming |
| DB-112 | Susan Slaughter | SAS Essentials III: Introduction to SAS Procedures |
| DB-120 | Richann Watson | ◼Take CoMmanD of Your Log: Using CMD to Check Your SAS Program Logs |
| DB-127 | Derek Morgan | ◼The Essentials of SAS Dates and Times |
| DB-129 | Derek Morgan | ◼PROC SORT (then and) NOW |
| DB-165 | Josh Horstman | ◼Creating and Customizing High-Impact Excel Workbooks from SAS with ODS EXCEL |
| DB-175 | Kim Wilson | ★The Top 5 Head-Scratchers with DATA Step Coding |
Demo Theater
| No. | Author(s) | Paper Title (click for abstract) |
| DT-105 | Kirk Lafler & Josh Horstman |
◼The Battle of the Titans (Part II): PROC REPORT versus PROC TABULATE |
| DT-118 | Leon Davoody & Chary Akmyradov |
Building an AI-Powered Smart Car Recommendation System Using Python |
| DT-126 | Kalyani Telu | Dealing with Superscripts, Subscripts and Unicode in Tables and Figures |
| DT-142 | Mike Krizan | Vuln2Zahn: Are We Winning the Vulnerabilities Battle? Measuring Cybersecurity Progress with SAS Viya Data Pipelines |
| DT-163 | Josh Horstman | Using SAS Macro Variable Lists to Create Dynamic Data-Driven Programs |
| DT-169 | Danny Modlin | ★PROC PPF: Past, Present, and Future |
| DT-171 | Carleigh Jo Crabtree | ★◼How Do I Modify SAS 9 Programs to Run in SAS Viya? |
| DT-174 | Carleigh Jo Crabtree | ★Simplifying SAS Viya : Explaining the Compute and CAS Servers, Caslibs, and In-Memory Data |
| DT-176 | Chris Hemedinger | ★Working with SAS and Microsoft 365 using SAS Programming |
| DT-177 | Chris Hemedinger | ★What’s New with SAS 9.4 M10 |
Hands-On Workshops
| No. | Author(s) | Paper Title (click for abstract) |
| HW-106 | Louise Hadden | The (ODS) Output of Your Desires: a Tool-kit for Creating Designer Reports and Data Sets |
| HW-108 | Kirk Lafler | SAS Macro Debugging Techniques for Mere Mortals |
| HW-160 | Chary Akmyradov | Macro-Powered Clinical Reporting in SAS: Automating Workflows with Automatic Macro Variables, ODS TRACE, and Reusable Table-Building Macros |
| HW-170 | Danny Modlin | ★Interactive Modeling with SAS Visual Statistics |
| HW-172 | Carleigh Jo Crabtree | ★◼SAS Programming with an AI Assistant |
Open Source & Emerging Technologies
Pharma & Healthcare
Solutions Development
Abstracts
AI, Analytics & Statistics
AI-119 : From Prediction to Explanation: Per-Patient SHAP Attribution for a Random Forest Diabetes Risk Classifier
Leon Davoody, Student
Chary Akmyradov, Baylor College of Medicine
Davoody (2026), Paper AS-315, compared Logistic Regression and Random Forest classifiers for diabetes risk prediction on the PIMA Indians Diabetes Dataset. The Random Forest produced higher accuracy and recall, but its predictions were not directly auditable at the patient level the Gini-importance ranking it exposes is global, averaged across the training set, and does not say which inputs drove the prediction for a specific patient sitting in front of a clinician. This paper closes that gap by adding Shapley additive explanations (SHAP) on top of the same trained Random Forest model. Using the SHAP TreeExplainer, we compute exact Shapley values for every prediction on the held-out test set and demonstrate four uses: (1) a global feature-importance ranking based on mean absolute SHAP that closely tracks the Random Forest’s built-in Gini importance, providing an independent sanity check; (2) a beeswarm summary plot that shows both the magnitude and the direction of each feature’s effect across the population; (3) per-patient waterfall plots that decompose individual predictions into signed feature contributions, restoring the patient-level interpretability that Logistic Regression offered in Paper AS-315; and (4) a dependence plot showing how the Glucose-by-BMI interaction shapes risk. We verify the SHAP additive property numerically (reconstruction error of 0.00000 across the test set), confirming that the sum of attributions reproduces the model’s prediction exactly. The Random Forest no longer needs to be treated as a black box: each prediction can be presented to a clinician with a complete, mathematically grounded explanation of how the model reached it. An interactive Streamlit application extending the Paper AS-315 demo with the SHAP attribution methodology of this paper is publicly available; see the Live Demonstration section. Keywords: Explainable AI, SHAP, Shapley values, Random Forest, diabetes prediction, PIMA Indians Dataset, per-patient interpretation, TreeExplainer.
AI-125 : From ChatGPT to Copilot, From Prompts to Workflows: Putting AI to Work Across the Clinical Programming Lifecycle
Lida Gharibvand, Loma Linda University
The way clinical programmers use AI has shifted fundamentally. What began in 2025 as standalone, prompt-driven experimentation copying code into a chat window on the side has matured into always-on, context-aware collaboration embedded directly in the tools we already use. This presentation traces that arc and offers a practical roadmap for where AI now fits in regulated SAS workflows, and where it is heading next. We distinguish the three kinds of AI that matter to our work generative, predictive, and agentic and examine the 2026 shift from embedded copilots toward governed, accountable agents. Using SAS Viya Copilot and the Azure + LLM architecture behind it as a worked example, we walk a natural-language prompt through to runnable SAS code, executed output, and summarized insights, and compare the leading assistants (ChatGPT, GitHub Copilot, Microsoft Copilot, and SAS Viya Copilot) for statistical programming teams. Throughout, the emphasis is on discipline rather than novelty: where AI genuinely accelerates the draft across the lifecycle SAP and spec review, SDTM/ADaM derivation, TFL QC, documentation, and submission and where human accountability remains non-negotiable. We close with the current regulatory picture (the FDA credibility framework and the 2026 FDA EMA Good AI Practice principles), a quality-gate checklist, and a practical risks-and-mitigation matrix. The goal is not risk-free AI it is controlled, reviewable, value-adding AI.
AI-131 : Introducing Source2Zahn: Automating Source-to-Target Mapping for SAS Modernization
Mike Krizan, STAT X1, Inc.
What if decades of SAS business logic could be transformed into modernization-ready documentation in days or weeks rather than months? Large SAS environments often contain hundreds or thousands of programs with undocumented ETL logic, macro dependencies, and business rules, making modernization projects difficult to estimate, document, and execute. Before organizations can migrate to SAS Viya, Python, R, SQL, cloud platforms, or hybrid analytics environments, they must first understand what their existing SAS applications actually do. This presentation introduces Source2Zahn, a SAS modernization framework developed by MicroZahn that evolved from manual source-to-target (S2T) documentation processes, to semi-automated metadata extraction, and ultimately to fully automated generation of S2T mappings and transformation documentation. The framework analyzes SAS code, expands macro logic, traces dataset dependencies, extracts transformation rules, and applies tokenization, pattern recognition, metadata analysis, and AI-assisted development techniques to accelerate application understanding and modernization planning. The resulting Source-to-Target mappings serve as a technology-neutral blueprint from which SAS Viya, SQL, Python, or R modernization code can be systematically generated. Drawing upon more than 30 years of experience across healthcare, financial services, and federal environments including Blue Cross Blue Shield of Minnesota, Prime Therapeutics, VISA, USDA, IRS, and Fred Hutchinson Cancer Center the session demonstrates techniques for accelerating application discovery, reducing documentation effort, and improving modernization readiness. Real-world examples include modernization initiatives where dozens of source-to-target mappings were completed in weeks rather than the months often associated with manual documentation efforts. Attendees will learn how automated metadata extraction supports migration planning, data lineage, governance requirements, AI-assisted development workflows, and modernization initiatives across multiple target platforms, enabling organizations to preserve business knowledge while accelerating modernization efforts.
AI-139 : Your PROCs Meet AI: Fuzzy vs. Semantic Matching in SLC
Yulia Horwath, Siemens
Survey research frequently requires matching free-text respondent entries to standardized reference lists, a task that underpins data quality in domains from prescription drug surveillance to occupation coding to product classification. Traditional string distance algorithms (e.g., Jaro-Winkler) perform well on typographic errors but fail when respondents provide brand names, colloquial descriptions, or partial references that are semantically correct but orthographically distant from target terms. This paper demonstrates that text embeddings, dense vector representations generated via lightweight API calls, reduce false matches by more than 70% compared to string distance alone. Using prescription drug name matching as a representative case study, embedding-based matching is evaluated against traditional methods across simulated survey responses spanning misspellings, brand-name substitutions, and natural-language descriptions. When additional context such as therapeutic condition is incorporated into the embedding input, precision improves further, demonstrating that embeddings can absorb contextual signals that string distance methods structurally cannot leverage. Critically, this approach requires no enterprise AI infrastructure, no model training, and no exposure of respondent data to generative systems. Text embeddings are stateless, reproducible encoding calls, not generative inference, costing fractions of a cent per record. The paper also addresses where the method underperforms, including very short strings and domain-specific jargon outside the embedding model’s training, so practitioners can set appropriate auto-match versus manual-review thresholds. The method integrates into existing SAS-language workflows with minimal code changes, and runnable example code will be provided, making it immediately accessible to organizations seeking to improve coding accuracy without the cost and risk profile of full-scale AI adoption.
AI-140 : Uncovering Market Inefficiencies in New York City Apartment Pricing: A Geospatial and Demographic Modeling Approach
Hadley Dowers, Oklahoma State University
Nick Rejda, Oklahoma State University
This paper investigates the drivers of apartment rental pricing across New York City’s Neighborhood Tabulation Areas (NTAs), focusing on whether crime rates meaningfully explain rent differences once demographic, economic, and housing factors are considered. Using NYC Open Data crime records and American Community Survey 5-Year Estimates from NYC Population FactFinder, crime incidents were spatially joined to NTA boundaries in ArcGIS, aggregated by felony, misdemeanor, and violation categories, and merged with neighborhood-level housing and demographic data. Staten Island was excluded because of major demographic differences and limited subway access, resulting in an analysis-ready dataset of 180 neighborhoods. Raw counts were normalized into rates and percentages to reduce population-size bias. Because the final dataset included more than 70 predictors, stepwise regression was used to identify the most statistically important variables before estimating the final least squares model. The demographic model explained rental prices with strong accuracy, producing an R-squared of 0.9649 and an adjusted R-squared of 0.9622 using 11 selected variables. A central finding is that crime measures were excluded from the strongest model, indicating that felony, misdemeanor, and violation rates are not primary rent drivers when broader neighborhood characteristics are included. A separate crime-only model was statistically significant but weak, explaining only 32.8% of price variation, with felony rates showing no statistical significance. Residual analysis was then used to identify market inefficiencies by comparing actual rents with model-predicted rents. This analysis found that several Queens neighborhoods, including Astoria (Central), Pomonok-Electchester-Hillcrest, Cambria Heights, and Woodside, appear underpriced relative to their socioeconomic and safety profiles. These findings suggest that NYC rental prices are driven more by economic, demographic, housing, and likely location-based factors than by crime alone, offering useful insights for renters, investors, and housing analysts seeking neighborhoods where market prices may not fully reflect underlying conditions.
AI-145 : A Weighted Deming Regression SAS Macro
Jesse Canchola, Roche Diagnostics Solutions
Brahian Urrego, IT Engagement Inc.
Natasha Oza, Roche Diagnostics Solution
Deming regression is a valuable tool in method comparison and correlation studies, used to compare quantitative measurements from two similar methods that produce like-measurements on the same subject or sample on a linear scale, where both methods are considered to have measurement errors (Deming, 1943). In contrast to ordinary linear regression, which assumes that only the dependent variable Y has error while the independent variable X is measured without error, Deming regression accounts for errors in both variables. While several published SAS macros currently perform Deming regression (Deal, Pate, and El Rouby, 2009; Njoya and Hemyari, 2017; Canchola, Oza, and Want, 2022), they lack a weighting component in their algorithms. Incorporating weighting into the Deming regression algorithm, as proposed by Linnet (1990), allows for more accurate modeling when measurement errors vary between observations (heteroscedasticity). We introduce a new SAS macro utilizing SAS Proc IML that implements a weighted Deming regression algorithm following Linnet’s methodology. This macro produces publication-quality graphs of the weighted Deming regression line overlaid on scatterplots of measurement pairs, along with additional enhancements.
AI-147 : Stress Testing Your Findings: E-Values and Quantitative Bias Analysis in SAS
Mehrnaz Siavoshi, UCLA
Every observational study rests on the assumption that no important confounder has been left unmeasured, yet that assumption can never be verified from the data alone. Rather than hoping it holds, analysts can quantify how fragile or robust a finding is to such confounding. This paper introduces SAS programmers to a practical sensitivity analysis toolkit. Starting from a simulated observational cohort in which an unmeasured healthy user trait creates a falsely protective risk ratio, we compute the E-value, the minimum strength an unmeasured confounder would need with both the exposure and the outcome to fully explain the result away, and we visualize it with a bias plot. We then move beyond a single number to probabilistic quantitative bias analysis, placing distributions on the bias parameters, propagating them by Monte Carlo, and reporting a bias adjusted estimate with a simulation interval. Finally we calibrate the finding against negative control outcomes to expose residual systematic error.
AI-149 : Smarter CRF Reviews: An Open-Source AI Tool for Automated Protocol-to-CRF Gap Analysis in Clinical Trials
Raj Sharma, Pliant Therapeutics
Clinical research organizations accumulate large libraries of Case Report Forms (CRFs) across years of studies, yet locating, comparing, and reusing historical CRF content remains a largely manual process. When new studies are initiated, protocols amended, vendors transitioned, or programs harmonized across studies, teams often rely on labor-intensive reviews of legacy CRFs to identify reusable content, evaluate consistency, and assess alignment with current standards. These activities are time-consuming, difficult to scale, and frequently dependent on institutional knowledge. This paper presents the CRF Intelligence Analyzer, an AI-powered framework that applies large language models (LLMs) to automate the analysis and comparison of clinical CRFs. The solution extracts content directly from CRF PDF documents and evaluate similarities, differences, and potential gaps across studies. In addition, the framework assesses alignment with CDISC CDASH principles and generates structured findings categorized by severity to support efficient review and decision-making. The paper describes the end-to-end workflow, including document extraction, content normalization, LLM-based analysis, and report generation. Practical use cases are demonstrated, including legacy CRF portfolio assessment, study-to-study comparisons, protocol amendment impact reviews, and cross-program standardization initiatives. Key considerations for implementing generative AI in clinical development environments are discussed, including transparency, human oversight, validation of AI-generated findings, and lessons learned from real-world application.
AI-150 : A Structured Agent-Based Framework for Early-Stage Data Science Pipelines
Dheerusha Tiwari, Oklahoma State University
Siddharth Birajdar, Oklahoma State University
Many data analytics team structures include different data analysts and data science teams. While data analysts provide clean and aggregated data, data scientists often need to perform Exploratory Data Analysis (EDA) which can take a long time. This paper introduces PeekaStat, a hierarchical multi-agent framework built on CrewAI that automates EDA for any tabular classification or regression problem. PeekaStat employs four specialized agents, a Manager, a Client, a Statistician, and an Analyst, operating across a 15-task pipeline. Given a business question and target variable, the system autonomously profiles data, validates statistical assumptions, adapts its methodology to observed data properties, engineers features, and generates a reproducible EDA report. PeekaStat aims to reduce the manual overhead of exploratory analysis while producing statistically rigorous, traceable, and reproducible analytical outputs.
AI-162 : Claude the SAS Programmer: Agentic AI creates SAS 9 code before your eyes
Joe Matise, NORC
AI innovation is accelerating and SAS 9 isn’t getting left behind. In this session, learn how Agentic AI can now generate SAS 9 code using the SAS Visual Studio Code Extension and the SAS9py package. You’ll see how to set yourself and your team up for success using code extensions, streamlined workflows, and automation through agent-generated scripts. No prior experience with SASPy, Agentic AI, or VS Code required. Whether you run SAS locally or on a server, this session is designed to help any programmer benefit from trusted, explainable AI assistance.
★AI-166 : Getting Started with Bayesian Analysis
Danny Modlin, SAS
This presentation introduces the audience to the realm of Bayesian analyses and concepts. Participants will be able to see the difference between the Bayesian approach and the classical approach to statistics. Convergence diagnostics, images, and a sample example of PROC MCMC will be shared.
★AI-167 : Missing Data in PROC MCMC
Danny Modlin, SAS
This presentation will show the participants how to incorporate missing data into the Bayesian analysis and not be subjected to complete case analysis. Posterior distributions for the missing values will be generated and the uncertainty of the missing will be captured within the final model.
★AI-168 : The GENMOD Toolkit: What do you do when things aren’t Normal?
Danny Modlin, SAS
Life is nice in the statistical world when things are normal (distributed that is). We have performed multitudes of regression analyses where the residuals meet the required assumptions of normality. What happens when this normality is not present? What do you do when your response variable is a count or a rate? Welcome to the world of generalized linear models! In this presentation, we will explore this expansion from normality using the GENMOD procedure in SAS. Suggestions for deciding which distribution to use will be shared. Our discussion and examples will also include a look into zero-inflation and one of the more interesting distributions, the Tweedie distribution.
Careers & Professional Development
CP-124 : Women’s Leadership in AI-Driven Clinical Programming
Lida Gharibvand, Loma Linda University
Background. AI/ML is reshaping clinical programming, yet women’s underrepresentation in trial leadership and its intersectional dimensions remains unquantified. Objectives. We synthesize evidence on women’s representation as PIs, AI/ML adoption, intersectional moderation of leadership gaps, and the diversity innovation link, with a pre-specified subgroup meta-analysis. Methods. Per PRISMA 2020, we searched five databases (Jan 28, 2025). From 59,663 records, 326 articles were retained (two reviewers; = 0.84/0.78). Proportions were pooled via random-effects with Freeman Tukey (k = 26); Cohen’s d via DerSimonian Laird with Hartung Knapp (k = 17). Subgroups tested therapeutic area, leadership tier, region, era, and AI intensity; bias via GRADE, funnel plots, Egger’s, and trim-and-fill. Results. Women PIs: 21.4% (95% CI 17.8 25.2%; k = 26). Pooled d = 0.50 (95% CI 0.59 to 0.41; k = 17). Moderation was significant for therapeutic area (p < 0.001), leadership tier (p = 0.003), and AI intensity ( = 0.15/level, p = 0.008), but not era (p = 0.147). Intersectional disparities exceeded gender-only (d = 0.74 vs 0.46; p = 0.003). GRADE: moderate (RQ1, RQ3), low moderate (RQ2), low (RQ4). Conclusions. Women's underrepresentation in trial leadership is persistent, domain-specific, and worsens at the AI frontier. Without intersectional governance, AI-driven clinical programming will likely amplify inequities. We propose a five-component Intersectional AI Leadership Framework: structural reform, AI literacy, algorithmic accountability, intersectional data infrastructure, and culture change. Keywords: women in clinical research; intersectionality; principal investigator; artificial intelligence; leadership diversity; subgroup meta-analysis; GRADE; health-workforce equity.
CP-128 : Followership: The Forgotten Half of Leadership
Derek Morgan, N/A
There is no shortage of articles, books, and indeed, classes on leadership. Searching the internet on the word “leadership” will send you into a very deep rabbit hole. Most discussions of leadership focus on getting your team/group to be productive. However, many of them don’t speak to one critical, but obvious point: to be a leader, you must have followers. You can’t have leadership without followership, and it’s a fifty-fifty relationship. Neither is more important than the other. Think of it this way: you can be the one in the Roman galleon with the whip to keep everybody rowing the boat in the same way, or you can be the coxswain counting time in an Olympic rowing event, where everyone rows in time because they want to. They’re both getting where they want as fast as possible, but the motivations are vastly different. This paper will discuss some practical ways you can increase the degree of followership. Some are simple, others, not-so-simple. And there are a few that you will have to consciously work on for the rest of your life because they are hard. You’ll find that many are in any decent guide to leadership, but they don’t always discuss how or why it’s important.
CP-135 : Soft Skills to Gain a Competitive Edge in the 21st Century Job Market
Kirk Lafler, sasNerd
Today’s economy requires members of the workforce to develop two essential categories of skills: hard skills and soft skills. Hard skills refer to job-specific knowledge and technical abilities that enable individuals to perform specific responsibilities effectively. Examples include SAS, R, Python, and other technical, programming, data analysis, project management, and market research techniques. Soft skills, on the other hand, are less tangible and often difficult to measure. They encompass the personal qualities, attributes, and interpersonal traits that shape how individuals interact and collaborate with others in the workplace. Soft skills are typically developed through life experiences and workplace interactions. The encouraging news is that soft skills can be learned and mastering them provides a significant competitive advantage in today’s fast-paced and rapidly evolving job market.
CP-143 : Generations of SAS Analytics: Perspectives from Baby Boomers, Generation X, Millennials, and Generation Z on the Future of SAS, AI, and Data Science
Mike Krizan, STAT X1, Inc.
Stephen Sloan, Dawson D R
Kirk Lafler, sasNerd
Ryan Lafler, Premier Analytics Consulting, LLC
Lida Gharibvand, Loma Linda University
Panelists Baby Boomers Stephen Sloan Kirk Lafler Generation X Mike Krizan Generation Y / Millennials Lida Gharibvand, PhD Generation Z Ryan Lafler Panel Description The analytics profession has undergone remarkable transformation over the past four decades, evolving from mainframe computing and early statistical analysis to cloud platforms, artificial intelligence, agentic workflows, and modern data ecosystems. This panel brings together representatives from four generations of analytics professionals to discuss how the industry has changed, what skills remain timeless, and how emerging technologies are shaping the future of analytics. Panelists will share experiences spanning enterprise analytics, consulting, education, modernization initiatives, artificial intelligence, open-source integration, career development, entrepreneurship, and community leadership. Attendees will gain insights into how different generations approach learning, technology adoption, career growth, and the evolving role of SAS within modern analytics environments. Topics include: Evolution of analytics careers across four generations SAS modernization and cloud adoption AI, generative AI, and agentic workflows Consulting, entrepreneurship, and independent contracting Skills that remain valuable despite changing technologies Preparing the next generation of analytics professionals The future role of SAS within the broader analytics ecosystem
CP-148 : Beyond a P-Value Vending Machine: Becoming a Research Partner, Not a Service Provider
Mehrnaz Siavoshi, UCLA
Too many statisticians and analysts are treated like a vending machine: a researcher inserts a dataset, presses a button, and expects a p-value to drop out. The service-provider model is convenient, but it quietly caps a career. This paper argues that early-career statisticians and programmers create far more value, and far more durable careers, by operating as research partners who shape the question, the design, and the inference, not just the results. Drawing on real consulting experiences and a practical framework, the talk walks through the three moments where partnership pays off. First, translation: turning a vague research idea into a precise analytic question and estimand. Second, design defense: catching confounding by indication and immortal time bias before data collection, while they are still fixable. Third, study feasibility: using power honestly to tell whether a study can answer its question at all. Each is grounded in SAS illustrations on simulated data with PROC POWER, PROC LOGISTIC, and PROC PHREG. Attendees leave knowing the questions to ask, and when to ask them, to start shaping research rather than waiting to be handed it.
★CP-183 : How to Land Work as a SAS Professional in the Age of AI
Charu Shankar, SAS Institute
The analytics profession is being transformed by AI, cloud computing, and open-source technologies, creating strong demand for professionals who can combine SAS , Python, and AI-assisted development skills. With tools such as SAS Viya Copilot , ChatGPT, Claude, and GitHub Copilot helping automate coding tasks, the question is no longer whether AI can write code, but how professionals can differentiate themselves in a rapidly evolving job market. As a SAS instructor, one of the most frequent questions I receive is: “How do I find work in analytics?” To help answer that question, I created a 21-Day Career Challenge focused on technical growth, networking, personal branding, continuous learning, and effective use of AI tools. In this practical and engaging session, I will share 21 actionable strategies drawn from my own career journey and years of mentoring SAS professionals. Attendees will leave with a career action worksheet and concrete steps they can immediately apply to strengthen their skills, increase their visibility, and position themselves for success in the age of AI.
Data Basics and Beyond
DB-110 : SAS Essentials I: How SAS Thinks
Susan Slaughter, Avocet Solutions
This presentation introduces SAS programming at the most basic level. Topics include the structure of SAS data sets, DATA versus PROC steps, the DATA step’s built-in loop, character versus numeric data, SAS date values, and the various ways to run SAS programs and get data into SAS. By the end of this presentation you will have a clear idea of what SAS is and how you can use it.
DB-111 : SAS Essentials II: Introduction to DATA Step Programming
Susan Slaughter, Avocet Solutions
The DATA step is the workhorse of SAS. It has the flexibility of a regular programming language but with SAS’s own unique built-in structure. Topics include assignment statements, functions, conditional logic, and subsetting and combining SAS data sets. This will be a quick overview of the endless ways you can use DATA steps to manipulate your data.
DB-112 : SAS Essentials III: Introduction to SAS Procedures
Susan Slaughter, Avocet Solutions
SAS procedures are the powerhouses of SAS. They are subroutines you can use to perform tasks from the simple to the extremely complex. This presentation will focus on sorting and reporting. Procedures covered include CONTENTS, SORT, PRINT, FREQ, MEANS, and SQL. It’s important for your output to look good and be easy to understand. So we’ll also cover TITLE, LABEL, and FORMAT statements, and how to use the Output Delivery System to choose your file format and overall style.
◼DB-120 : Take CoMmanD of Your Log: Using CMD to Check Your SAS Program Logs
Richann Watson, DataRich Consulting
Regardless of the industry, part of writing a SAS program is to ensure that the log is free of any unwanted log messages. When running the program in an interactive SAS session, we can review the log as we execute the program and SAS is good about highlighting ERROR and WARNING messages using colors to draw the eye. Other types of unwanted log messages, such as INFO, uninitialized, character to numeric conversion, may not be so easily spotted. When running the program in batch, each program needs to be opened and scanned for unwanted log message, which is tedious and prone to overlooking a message. There have been several papers illustrating the creation of macros that will check the logs by parsing the logs after the programs have been executed. While these macros are great when you are running a lot of programs for a deliverable and need to check all the logs, these check log macros are not necessarily ideal during development. It is during development that we need to ensure the program is running clean. Although we could possibly use the same macro that is used to check all the programs and filter to run on one program, that would require us to run an extra program. What if there is an easier way? This paper demonstrates the use of the command line interface to execute the program in batch as well as check the log and provide a summary.
◼DB-127 : The Essentials of SAS Dates and Times
Derek Morgan, N/A
The first thing you need to know is that SAS software stores dates and times as numbers. However, this is not the only thing you need to know. This presentation gives you a solid base for working with dates and times in SAS. It introduces you to functions and features that enable you to manipulate your dates and times with surprising flexibility. This paper shows you some of the possible pitfalls with dates (and times and datetimes) in your SAS code and how to avoid them. We show you how SAS handles dates and times through examples, including the ISO 8601 formats and informats and how to use dates and times in TITLE and FOOTNOTE statements. The paper closes with a brief discussion of Excel conversions.
◼DB-129 : PROC SORT (then and) NOW
Derek Morgan, N/A
The SORT procedure has been an integral part of SAS since its creation. The sort-in-place paradigm made the most of the limited resources at the time, and almost every SAS program had at least one PROC SORT in it. The biggest options at the time were to use something other than the IBM procedure SYNCSORT as the sorting algorithm, or whether you were sorting ASCII data versus EBCDIC data. These days, PROC SORT has fallen out of favor; after all, PROC SQL enables merging without using PROC SORT first, while the performance advantages of HASH sorting cannot be overstated. This leads to the question: Is the SORT procedure still relevant to any other than the SAS novice or the terminally stubborn who refuse to HASH? The answer is a surprisingly clear “yes”. PROC SORT has been enhanced to accommodate twenty-first century needs, and this paper discusses those enhancements.
◼DB-165 : Creating and Customizing High-Impact Excel Workbooks from SAS with ODS EXCEL
Josh Horstman, PharmaStat LLC
Love it or hate it, Microsoft Excel is used extensively throughout the business world. As a SAS user, you can enhance the impact of your work by using the ODS EXCEL destination to create high-quality, customized output in Excel format directly from SAS. This paper walks through a series of examples demonstrating the flexibility and power of this approach. In addition to complete control over visual attributes such as fonts, colors, and borders, the ODS EXCEL destination allows the SAS user to take advantage of Excel features such as multiple tabs, frozen or hidden rows and columns, and even Excel formulas to deliver the high-impact results you and your customers want!
★DB-175 : The Top 5 Head-Scratchers with DATA Step Coding
Kim Wilson, SAS
The SAS DATA step has been around for decades, but it isn’t always clear which approach to take for a given task. This session reveals powerful techniques for solving tricky SAS logic problems, such as consolidating multiple rows into a single observation, performing table lookups with hash objects, processing hierarchical data, and learning the power of the DOW loop. See how four different approaches can produce the same result, but each has different strengths and limitations. Discover cleaner, faster, and more flexible ways to write DATA step code and learn how to choose the right technique for the job.
Demo Theater
◼DT-105 : The Battle of the Titans (Part II): PROC REPORT versus PROC TABULATE
Kirk Lafler, sasNerd
Josh Horstman, PharmaStat LLC
Should I use PROC REPORT or PROC TABULATE to produce that report? Which one will give me the control and flexibility to produce the report exactly the way I want it to look? Which one is easier to use? Which one is more powerful? WHICH ONE IS BETTER? If you have these and other questions about the pros and cons of the REPORT and TABULATE procedures, this presentation is for you. We will discuss, using real-life report scenarios, the strengths (and even a few weaknesses) of the two most powerful reporting procedures in SAS (as we see it). We will provide you with the knowledge you need to make that difficult decision about which procedure to use to get the report you really want and need.
DT-118 : Building an AI-Powered Smart Car Recommendation System Using Python
Leon Davoody, Student
Chary Akmyradov, Baylor College of Medicine
Building directly on the Random Forest price predictor developed in Davoody (2025), this paper presents a Smart Car Recommendation System that helps a buyer identify specific listings that match their preferences and budget. Pure price prediction tells a buyer what a car should cost; it does not tell them which cars to consider. The recommender developed here closes that gap by combining three signals into a single composite score for each candidate listing: (1) a set of hard constraints (maximum budget, allowed fuel types, minimum year of manufacture) that prunes the catalog; (2) a soft preference-match score over mileage, transmission, body type, and recency; and (3) a value residual computed from the Paper 176-2025 price model (listed price minus model-predicted price), which surfaces listings priced below their estimated fair value. The composite score is a weighted combination of the preference match and the value signal, with a tunable weighting parameter . After diversifying by make, the engine returns the top-N listings. The system is demonstrated on three contrasting user profiles a first-time buyer, a family buyer, and a work-truck buyer and produces recommendations that respect each user’s constraints while preferring listings that are simultaneously a good preference match and undervalued by the price model. A working Streamlit implementation of the recommender is publicly available; details and URLs are provided in the Live Demonstration section. Keywords: Recommendation system, hybrid scoring, content-based filtering, Random Forest, value residual, Python, scikit-learn.
DT-126 : Dealing with Superscripts, Subscripts and Unicode in Tables and Figures
Kalyani Telu, EMMES
Special characters are a common requirement for data representation. However, for SAS-generated figures and reports, depending on the source of the text and the output destination, the implementation of these special characters can vary significantly. The results of techniques such as superscript/subscript formatting and Unicode insertion differ depending on their application (e.g. titles, inline text, data values, formats). This paper evaluates the underlying mechanisms employed by SAS to interpret special characters, identifies common pitfalls, and compiles proven practice for achieving consistent and reliable outputs across reporting environments.
DT-142 : Vuln2Zahn: Are We Winning the Vulnerabilities Battle? Measuring Cybersecurity Progress with SAS Viya Data Pipelines
Mike Krizan, STAT X1, Inc.
Abstract Organizations collect enormous volumes of vulnerability assessment data, yet many struggle to answer a deceptively simple question: Are we actually reducing cybersecurity risk? Security teams often receive vulnerability scan results from hundreds of systems across multiple reporting cycles, generating large amounts of operational data but limited actionable intelligence. While dashboards and reports may show counts of vulnerabilities, organizations frequently lack consistent methods for measuring remediation progress, identifying trends, prioritizing resources, and evaluating overall cybersecurity posture over time. This presentation introduces Vuln2Zahn, a cybersecurity analytics framework developed by MicroZahn and inspired by real-world vulnerability management initiatives supporting large federal environments. Built using SAS Viya data pipelines and analytics techniques, the framework automates the ingestion, standardization, transformation, and reporting of vulnerability assessment data to provide meaningful operational intelligence for cybersecurity decision makers. Attendees will learn how vulnerability data can be transformed into actionable metrics through automated ETL processes, metadata-driven analytics, longitudinal trend analysis, and standardized reporting. Topics include tracking open, newly identified, remediated, and recurring vulnerabilities; measuring progress across reporting periods; identifying remediation trends; and producing executive-ready dashboards and operational reporting. Drawing upon practical cybersecurity analytics experience, the session demonstrates how SAS Viya data pipelines can be used to convert raw vulnerability scan results into consistent, repeatable, and decision-support-oriented intelligence. The presentation also explores future opportunities involving AI-assisted cybersecurity analytics, predictive risk modeling, and automated operational intelligence frameworks. Participants will leave with practical ideas for applying SAS Viya data pipelines, analytics automation, and operational reporting techniques to improve cybersecurity visibility and help answer the critical question: Are we winning the vulnerabilities battle?
DT-163 : Using SAS Macro Variable Lists to Create Dynamic Data-Driven Programs
Josh Horstman, PharmaStat LLC
Hardcoding data values into your SAS programs creates a fragile infrastructure prone to failure whenever upstream data changes. The solution? Let the macro facility write your code for you. This session explores the power of using macro variable lists to create truly dynamic, data-driven programming logic. We will walk through concrete examples illustrating how to capture live data values, store them in macro arrays, and deploy them to generate adaptive SAS code on the fly. Join us to discover how to banish data dependencies from your environment and transition to an automated, resilient programming workflow.
★DT-169 : PROC PPF: Past, Present, and Future
Danny Modlin, SAS
As SAS celebrates its 50th anniversary, take a moment to consider the past, present, and future of statistical programming. In this presentation, we look back at our roots, the SAS procedural programming language, reminisce over graphical user interfaces that changed the way we interact with code, and look to the future where AI tools assist with our programming based on an iterative, back-and-forth conversation with SAS copilots.
★◼DT-171 : How Do I Modify SAS 9 Programs to Run in SAS Viya?
Carleigh Jo Crabtree, SAS
SAS Viya is a modern, cloud-enabled analytics platform built for high-speed, scalable processing- but what does that mean in practice for SAS programmers? This demonstration demystifies SAS Viya by explaining its core architecture, introducing caslibs, and showing how they compare to traditional SAS libraries. You’ll also see how to load data into memory and explore key considerations when working with the CAS server. Whether you’re new to SAS Viya or transitioning from SAS 9, this session provides a practical foundation for working effectively in SAS Viya.
★DT-174 : Simplifying SAS Viya : Explaining the Compute and CAS Servers, Caslibs, and In-Memory Data
Carleigh Jo Crabtree, SAS
SAS Viya is a modern, cloud-enabled analytics platform designed for high-speed processing and scalability. It’s often described with terms like in-memory and massively parallel processing but what do these concepts really mean in practice, and how can SAS 9 programmers continue to leverage their existing skills in this new environment? This paper demystifies SAS Viya by breaking down the core capabilities of its two primary servers, explaining caslibs what they are, how to use them, and how they compare to traditional SAS libraries and demonstrating how to load data into memory for optimal performance. Helpful options and considerations when working with data on the CAS Server are also explored. Whether you’re new to Viya or transitioning from SAS 9, you’ll gain a clear, practical understanding of how to work effectively in this modern analytics platform.
★DT-176 : Working with SAS and Microsoft 365 using SAS Programming
Chris Hemedinger, SAS
In today’s cloud-connected world, traditional methods of accessing Excel data from SAS are becoming obsolete. With more content stored in SharePoint Online and OneDrive (hosted in Microsoft 365), it can be challenging to get SAS to read these files and publish new ones to these locations. This paper guides you through the steps of connecting your SAS programs to Microsoft 365, enabling you to read and write files to SharePoint folders, OneDrive folders, and Microsoft Teams. You will learn how to use SAS to connect to Microsoft 365 using the Microsoft Graph APIs. Additionally, we will introduce SAS macros developed to simplify common tasks: listing your files, reading files into SAS, and publishing new files from SAS. By the end of this session, you will have the tools and knowledge to seamlessly integrate SAS with Microsoft 365, enhancing your data management and collaboration capabilities.
★DT-177 : What’s New with SAS 9.4 M10
Chris Hemedinger, SAS
SAS Viya represents the future of analytics innovation but SAS 9.4 isn’t going anywhere. In this session, discover how SAS is committed to supporting customers on their own timeline, ensuring a smooth transition without compromising reliability or trust. We’ll share the roadmap for SAS 9.4 Maintenance 10, including key enhancements like automated TLS configuration and a unified Multi-Factor Authentication capability for SAS Servers and the Middle Tier, and support for PROC PYTHON. Learn how these updates reinforce SAS’s dedication to security, stability, and customer confidence while paving the way for generations of SAS solutions.
Hands-On Workshops
HW-106 : The (ODS) Output of Your Desires: a Tool-kit for Creating Designer Reports and Data Sets
Louise Hadden, Independent Consultant
The Output Delivery System (ODS) delivers what used to be printed output in many convenient forms. What many of us don’t realize is that “printed output” from procedures (whether the destination is PDF, RTF, or HTML) is the result of SAS packaging a collection of items that come out of a procedure that most people want to see in a predefined order (aka template). This session addresses the opportunity to harness the power of SAS’s Output Delivery System (ODS) and ODS Output Objects to create highly customized reports and data sets tailored to specific needs, saving time and enhancing clarity. Attendees will learn how to trace, manipulate, and repurpose ODS output objects using tools like ODS TRACE, ODS OUTPUT, and SAS reporting procedures to extract precise information, coalesce data, and present it in visually appealing formats across multiple ODS destinations. This session provides tools and concepts to transform procedural output into camera-ready, designer-quality reports.
HW-108 : SAS Macro Debugging Techniques for Mere Mortals
Kirk Lafler, sasNerd
SAS macro programming is powerful, but when things go wrong, debugging can feel complicated, frustrating, and time-consuming. This Hands-On Training is designed for SAS programmers who understand macro basics but struggle to diagnose and fix macro-related issues efficiently. Using a synthesized Framingham Heart Study dataset (500 observations, 22 variables), participants will learn how to systematically debug macro programs by leveraging SAS system options, diagnostic tools, and structured troubleshooting approaches. The session emphasizes real-world debugging scenarios, including resolving macro variable scope issues, identifying compilation vs. execution errors, handling quoting pitfalls, and interpreting cryptic log messages. Through guided exercises, attendees will gain practical experience using tools such as MPRINT, MLOGIC, SYMBOLGEN, and OPTIONS SOURCE2, as well as techniques for isolating logic errors, validating input parameters, and testing macro output incrementally. By the end of the session, participants will be equipped with a repeatable debugging framework that transforms macro troubleshooting from guesswork into a disciplined, efficient process.
HW-160 : Macro-Powered Clinical Reporting in SAS: Automating Workflows with Automatic Macro Variables, ODS TRACE, and Reusable Table-Building Macros
Chary Akmyradov, Baylor College of Medicine
SAS macros are often introduced as a way to reduce repetitive code, but their greatest value comes from building reusable, auditable, and scalable programming workflows. This paper presents a practical approach to using the SAS macro facility to automate clinical and healthcare reporting tasks, with examples drawn from real-world statistical programming and biostatistics workflows. The presentation begins with a brief review of macro variables, macro parameters, macro debugging options, and reusable macro design. It then demonstrates how automatic macro variables generated by SAS, SAS Enterprise Guide, and related execution environments can be used to detect project context, initialize libraries, standardize folder structures, and reduce hard-coded paths. Special attention is given to project startup automation, including Enterprise Guide autoexec-style workflows and portable strategies for SAS Studio and SAS Viya. The paper also demonstrates how to use ODS TRACE ON to discover procedure output object names and ODS OUTPUT to capture selected results into SAS data sets. These captured outputs can then be wrapped into custom macro functions to produce reusable clinical summary tables, including frequency summaries, chi-square and Fisher exact test results, t-test outputs, Wilcoxon summaries, and Table 1-style reporting structures. The presentation concludes with practical recommendations for macro validation, documentation, portability, and responsible use of AI to support macro development, code review, and teaching. Attendees will leave with a framework for moving from individual SAS programs toward reusable macro-powered reporting systems.
★HW-170 : Interactive Modeling with SAS Visual Statistics
Danny Modlin, SAS
In this presentation, we will perform statistical analysis on any size data, quickly and easily, for maximum impact. SAS Visual Statistics tasks, an add-on to SAS Visual Analytics, put the power of large-scale statistical analysis at your fingertips. Models available in SAS Visual Statistics include Linear Regression, Logistic Regression, Nonparametric logistic regression, generalized linear modeling, Generalized additive modeling, Decision tree, and Cluster analysis. We will perform a Logistic Regression as an example but will point out aspects of the other model types.
★◼HW-172 : SAS Programming with an AI Assistant
Carleigh Jo Crabtree, SAS
Explore how to effectively use ChatGPT or Claude as a programming partner when writing SAS code. Learn best practices for prompting and validating results to accelerate your programming workflow. See how ChatGPT can assist with drafting, explaining, and refining SAS programs.
Open Source & Emerging Technologies
OS-102 : Demystifying Regression Analysis Techniques with R
Zheyuan Yu, Walter
Kirk Lafler, sasNerd
Zichun Gao, Stevens Institute of Technology
Jiaxin Xu, Franklin and Marshall College
Zeqi Li, Columbia University
Ruochen Shao, Maur Hill-Mount Academy
Regression analysis is one of the most powerful tools for understanding relationships in data, yet it is often perceived as complex and intimidating. This paper and presentation address that challenge by providing a clear, example-driven introduction to regression analysis using R. Participants will explore simple and multiple linear regression, logistic regression, and key diagnostic techniques through intuitive explanations and fully reproducible examples. Emphasizing coding practices, interpretation of results, validation of model assumptions, and application to real-world analytical problems, this session equips attendees with the practical skills and confidence to build, assess, and apply regression models effectively across a wide range of domains.
★◼OS-113 : Introducing PROC R
Jim Box, SAS Institute
PROC R is a new procedure in SAS Viya that allows programmers to freely switch between R and SAS code in the same program. It makes it easy to move data between R dataframes and SAS datasets, produce R graphics in SAS output, utilize SAS commands in the R code, and much more. This new PROC makes it easy to use the right coding language for the specific part of the problem you are trying to solve, all in the SAS environment
OS-116 : Geocoding with the Google Maps API: Using PROC FCMP To Call User-Defined SAS and Python Functions That Geocode Coordinates into Addresses, Calculate Routes, and More!
Troy Hughes, Data Llama Analytics
Software interoperability describes the ability of software systems, components, and languages to communicate effectively with each other, and must be prioritized in today’s multilingual and open-source development environments. PROC FCMP, the SAS Function Compiler, enables Python functions to be wrapped in (and called from) SAS user-defined functions (and subroutines), and the full panoply of SAS environments supports FCMP including SAS Display Manager, SAS Enterprise Guide, SAS Studio, SAS Viya, and the latest Cary show pony, SAS Viya Workbench. Productivity and the pace of development are maximized when existing open-source code, such as Python user-defined functions, can be run natively from a Python integrated development environment (IDE) rather than having to be needlessly recoded into the Base SAS language. This text demonstrates SAS and Python user-defined functions that collaboratively call the Google Maps Platform APIs to geocode street addresses into latitude/longitude coordinates, and to calculate driving distances between locations. The scenarios in this text demonstrate the application of the Google Maps Platform for clinical trials research, and the technical concepts are adapted from the renowned SAS Press book: PROC FCMP User-Defined Functions: An Introduction to the SAS Function Compiler, Second Edition. (HUGHES, 2026)
OS-132 : SQL Everywhere! Reuse your PROC SQL Code in R and Python with DuckDB
Matthew Slaughter, Kaiser Permanente Center for Health Research
Isaiah Lankham, Legacy Health
Kirk Lafler, sasNerd
DuckDB is a lightweight, embedded analytical database management system which runs inside of an R or Python process providing scalable high-performance data management and manipulation for tabular data. DuckDB SQL can serve as an alternative data frame interface which is portable across languages, but can also process and store data larger than memory efficiently using its internal database table format. With SQL already available as an embedded language in SAS and other major platforms, the modern data analyst only needs to know one language to work with tabular data in any context and at any scale.
◼OS-156 : Enhancing Your SAS Viya Workflows with Python: Integrating Python’s Open-Source Libraries with SAS using PROC PYTHON
Ryan Lafler, Premier Analytics Consulting, LLC
Miguel Bravo Martinez del Valle, Premier Analytics LLC
Data scientists, statistical programmers, machine learning engineers, and researchers are increasingly leveraging a growing number of open-source tools, libraries, and programming languages that can enhance and seamlessly integrate with their existing data workflows. One of these integrations, built into SAS Viya , is its pre-configured Python runtime integration, PROC PYTHON, that gives SAS programmers access to Python’s open-source data science libraries for wrangling and modeling structured and unstructured data alongside the validated procedures provided in SAS. This paper demonstrates how to install and import external Python libraries into their SAS Viya sessions; generate Python scripts containing methods that can import, process, visualize, and analyze data; and execute those Python methods and scripts using SAS Viya’s PYTHON procedure. By integrating the added functionalities of Python’s libraries for data processing and modeling with SAS procedures, SAS programmers can enhance their existing data workflows with Python’s open-source data solutions.
OS-158 : Building Better Data Science Workflows: Best Practices with Git, GitHub, Data Version Control (DVC), and MLflow for Open-Source Collaboration
Ryan Lafler, Premier Analytics Consulting, LLC
This paper presents a practical framework for building reliable, reproducible, and collaborative data science workflows using Git, GitHub, Data Version Control (DVC), and MLflow. It begins by introducing Git as the foundation for tracking code changes and GitHub as a collaboration layer for shared repositories, branching strategies, pull requests, and team-based development. DVC is then presented as an extension to version control that enables datasets, intermediate outputs, and analytical artifacts to be tracked, compared, and restored alongside code without storing large files directly in Git repositories. The paper demonstrates strategies and techniques for meaningful commit practices, managing work-in-progress (WIP) safely, reducing merge conflicts, and maintaining structured project histories across collaborative environments. Building on this foundation, MLflow is introduced as a lightweight experiment tracking and model management layer for machine learning workflows in Python, allowing teams to record training runs, fine-tuning parameters, evaluation metrics, model artifacts, and performance comparisons during iterative development. Together, Git, GitHub, DVC, and MLflow provide an integrated open-source ecosystem for managing code repositories, versioning data, and tracking model experiments across collaborative data science, machine learning, and analytics projects.
★OS-179 : An Introduction to JSON
Jim Box, SAS Institute
JavaScript Object Notation (JSON) is becoming the dominant standard for exchanging structured data across modern computing environments. In this talk, we’ll do a practical introduction to JSON, focusing on its structure and some of its unique features. We’ll explore ways of using JSON in SAS environments, including the JSON LIBNAME statement in SAS 9 and PROC JSON in Viya, and we’ll also look at how it is implemented in R and Python.
★OS-180 : Python: Unleash Your Inner Coder, A SAS Programmer’s Guide to Python
Charu Shankar, SAS Institute
Join this practical introduction to Python for SAS professionals. Learn Python fundamentals, explore pandas and PROC PYTHON, and discover how Python complements SAS for data manipulation, automation, and analytics. Along the way, you’ll learn how to read, understand, and validate AI-generated code so you can use modern coding assistants effectively and confidently.
Pharma & Healthcare
PH-136 : Extending SAS GTL Beyond Reporting: A Framework for Interactive Clinical Review Portals
Brian Dong, San Diego State University
Clinical studies increasingly rely on imaging endpoints that require reviewers to evaluate images alongside subject information, visit history, and quantitative clinical measurements. Traditional workflows often distribute these components across separate image viewers, spreadsheets, and static reports, creating inefficiencies and limiting the ability to review data within a unified environment. This presentation describes a metadata-driven framework that combines SAS Graph Template Language (GTL), ODS HTML, and SAS macro automation to generate navigable clinical review environments directly from SAS. Rather than producing isolated reports or figures, the framework automatically organizes cohorts, subjects, visits, images, and endpoint data into an integrated HTML review structure. Navigation, content generation, and output organization are controlled entirely through SAS metadata, allowing complex review environments to be created and maintained through a single reproducible workflow. The framework uses GTL for image rendering and layout management while leveraging HTML generation techniques to create linked review content with hierarchical navigation and integrated clinical context. An ophthalmology implementation is presented as a real-world example, demonstrating how retinal images, subject-level data, and quantitative measurements can be combined into a unified review experience suitable for clinical data review and operational decision making. The session will demonstrate how SAS can be extended beyond traditional reporting to generate organized, navigable review environments that combine images, data, and workflow structure within a single deliverable. Particular emphasis will be placed on metadata-driven output generation, inline navigation control, and techniques that enable SAS to function similarly to modern document-generation and reporting frameworks while remaining entirely within the SAS ecosystem.
PH-137 : The Agent That Asks the Questions: Autonomous Hypothesis Generation Over CDISC Trial Data with SAS
Mehdi Hajmollaahmad Naraghi, Independent
Lida Gharibvand, Loma Linda University
Clinical AI today is mostly reactive: a user asks, the system answers. Biostatisticians, by contrast, spend weeks probing trial data for unexpected safety signals, demographic imbalances, and efficacy anomalies nobody thought to ask about. We study a cognitive analytics agent that explores a CDISC SDTM/ADaM dataset, learns reusable methods from its own prior work, and is independently checked by a SAS double-programming layer. The workflow rests on a safety stack: non-overridable CDISC constraints, independent SAS re-derivation of every answer, and a reproducibility path on SAS OnDemand for Academics that any attendee can run on a free account. SAS is the auditor, not the agent’s tool: its findings are recorded as audit evidence and are never fed back into the agent’s memory. The agent is built on a cognitive architecture (episodic and semantic memory, skill guides, confidence calibration, and a failure journal) designed to become more capable and more efficient with experience. On a 29-question held-out rolling-transfer benchmark using a deepseek-v4-flash model, learned-store transfer improved matched-cohort oracle accuracy from 0.649 to 0.754 while reducing tokens per question by about 21 percent. Independent SAS double programming, executed inline during the run, confirmed 56 answers and flagged 33, with a perfect wrong-answer catch rate and zero incomparable checks. Notably, a code-only agent checked by independent SAS outperformed an earlier variant that held SAS as a callable tool.
PH-144 : A Flexible Metadata-Driven and Modular Approach to SDTM Automation
Ruili Shi, Ascendis Pharma
Jiaying Zhang, Ascendis
Charles Chen, Ascendis
The generation of SDTM datasets remains a resource-intensive activity in many small- and mid-sized biopharmaceutical companies. Existing automation approaches often rely on highly standardized data collection processes, metadata repositories, or extensive infrastructure investments. While these approaches can achieve high levels of automation, they are not always practical for organizations that require flexible and rapidly deployable solutions. This presentation describes a metadata-driven and modular approach to SDTM automation developed using SAS. The method is based on a company-level SDTM mapping template that incorporates SDTM metadata, standard mapping rules, and reusable programming components. For study implementation, the primary study-specific activity is updating the source dataset and variable information collected from EDC systems and external data transfers. Standardized programming modules are then used to generate SDTM datasets based on the origin and type of mapping, including direct mappings, assigned values, protocol-driven values, and derived variables. Reusable utility macros are applied for common derivations such as ISO 8601 date conversion, study day, EPOCH, sequence variables, and baseline flags. The approach supports both EDC and external vendor data while maintaining flexibility for study-specific requirements. The presentation describes the design, implementation, and practical considerations of applying this approach in small- and mid-sized biopharmaceutical companies. The framework provides a practical method for reducing repetitive programming activities, improving consistency, and accelerating SDTM development without requiring a metadata repository or highly standardized data collection processes.
PH-146 : The Living Dead in Your Cohort: Immortal Time Bias Detection and Correction in SAS
Mehrnaz Siavoshi, UCLA
Immortal time bias is one of the most common and most consequential errors in real world evidence studies, and it almost always makes a treatment look more protective than it truly is. It arises whenever person time between cohort entry and the assignment of exposure is misclassified as exposed, or whenever exposure is defined using information that requires a patient to survive into the future. Because the bias is built into the structure of the analytic dataset rather than into a single modeling option, it cannot be removed by covariate adjustment. This paper provides a practical framework in SAS for recognizing immortal time bias at the design stage and removing it at the analysis stage. Using a fully reproducible simulated cohort in which the true treatment effect is null, we first reproduce the spurious protective hazard ratio that a naive time fixed Cox model returns, and we show how the same bias is already visible in the Kaplan-Meier curves. We then demonstrate three corrections in SAS: a time varying exposure model built with a counting process data layout and with a PROC PHREG programming statement, a landmark analysis, and a target trial emulation using the clone, censor, and weight approach. Each correction recovers the correct null result. The paper closes with a detection checklist so that attendees can audit their own studies.
PH-151 : Automating SDTM Subject Visits (SV) Derivation A Configuration-Driven, Meta-Programming Approach in SAS
Huiqing Chen, Ascendis Pharma
The SDTM Subject Visits (SV) domain records clinical trial visit dates for each study subject and serves as a structural anchor for all time-referenced observations. Its derivation typically requires integrating data from multiple EDC forms and vendor systems a task that, in conventional practice, is handled by manually each data source into a study-specific SAS program. This approach is expensive to maintain, difficult to validate across studies, and prone to transcription errors. This presentation presents a configuration-driven, meta-programming approach to SV derivation that eliminates study-specific logic from the program code entirely. Three configuration files an Annotated Listing Sheet (ALS), a study manifest, and a visit format mapping file define all study-specific information. The SAS program reads these files and constructs its processing logic at runtime. Four automation mechanisms are demonstrated: (1) metadata-driven EDC form discovery using the ALS, which automatically identifies date fields for inclusion without hard-coded form names; (2) runtime SAS code generation via CALL EXECUTE, which applies study-specific transformations stored as text in the configuration file; (3) dynamic code enable any number of sources to be processed in a single DATA step; and (4) a reusable %sv macro that encapsulates date span derivation, unscheduled visit numbering, and study-day calculation using FIRST/LAST processing and inline Boolean arithmetic. The approach described in this paper makes four distinct contributions to clinical SAS programming practice: Reduced maintenance: Study-agnostic logic remains unchanged across studies; only configuration files require updates and validation. Fewer errors: Configuration-driven metadata eliminates manual copy-paste edits. Scalability: New forms and vendors are handled without code changes. Transferability: The framework extends to other SDTM domains involving multi-source date collection.
★PH-152 : A Dashboard-Driven Approach to Metadata and Audit Trails with SAS Clinical Acceleration
Frances Gillespie, SAS Institute
Laura Watson, SAS Institute
Clinical trial organizations face increasing demands for transparency, traceability, and regulatory compliance. This presentation introduces the concept of growing regulatory expectations in clinical trials, followed by an overview of the importance of metadata and audit trails in ensuring data integrity and submission readiness. An interactive dashboard built using SAS Visual Analytics on Viya will be demonstrated, leveraging metadata and audit trail data from a clinical trial stored in SAS Clinical Acceleration Repository on Viya. The dashboard visualizes metadata changes and audit trail logs, illustrating why understanding and interpreting these elements is critical for compliance and efficient workflows. The session highlights how dashboard driven insights enable clinical programmers, data managers, and regulatory professionals to conduct faster data reviews, improve traceability, and support regulatory submissions through enhanced transparency.
PH-153 : If a Warning Falls in a SAS Log and Nobody Reads It: Evaluating Generative AI as a First-Pass Reviewer for SAS Enterprise Guide Logs
Patrick Leon, Keck Medicine of USC
SAS programmers have long relied on log review as a critical component of quality control. While ERROR messages often require immediate action, WARNING and NOTE messages frequently demand interpretation, contextual understanding, and professional judgment. In fast-paced programming environments, however, manual log review can be time-consuming and susceptible to oversight. This raises an interesting question: If a warning falls in a SAS log and nobody reads it, did the program really run correctly? Recent advances in generative artificial intelligence (AI) offer the potential to augment traditional programming workflows by serving as a first-pass reviewer of SAS Enterprise Guide logs. This paper evaluates the ability of large language models (LLMs) to identify, classify, and explain SAS log messages spanning common ERRORs, WARNINGs, data quality concerns, performance issues, and informational messages. AI-generated assessments are compared against expected programmer interpretations across multiple dimensions, including issue detection, severity classification, root-cause explanation, and remediation recommendations. Borrowing concepts from implementation science and intervention fidelity, this work explores not only whether AI can review SAS logs, but also whether it can do so consistently and reliably across varying programming scenarios. The objective is not to determine whether AI can replace SAS programmers, but rather to identify which aspects of log review may be effectively augmented by AI and where human expertise remains essential. As programming environments become increasingly complex and development timelines continue to shrink, AI-assisted log review may offer an additional quality-control layer while allowing programmers to focus on higher-value analytical and validation activities. Results highlight both the strengths and limitations of current AI systems and provide practical guidance for integrating AI-assisted log review into SAS programming workflows.
PH-157 : A Practical Roadmap for the 2026 Enterprise Generative AI Stack: AI Agent Architectures, Frameworks, and Secure Deployment for Regulated Industries
Ryan Lafler, Premier Analytics Consulting, LLC
Generative AI is rapidly reshaping how organizations search, reason over, and contextualize information, yet deploying these systems on private, confidential, and sensitive data introduces distinct architectural, performance, and governance challenges. This paper presents a practical roadmap for the 2026 enterprise generative AI stack, with emphasis on agentic AI architectures built on retrieval-augmented generation (RAG), vector embeddings, and secure model deployment. Core concepts including encoding, similarity search, and vector databases are introduced to explain how knowledge is stored, retrieved, and reused across AI agents, alongside API-driven patterns that enable tools for search, reasoning, and contextualization. The discussion contrasts proprietary large language models (LLMs) and open-source small language models (SLMs), highlighting trade-offs in output quality, performance, and deployment, while examining how ecosystems such as Hugging Face support localized inference and domain-specific adaptation. Implementation considerations are presented primarily in Python, with extensions to R and SAS Viya , focusing on secure, reproducible analytics workflows. This paper concludes with prompt engineering strategies and ethical considerations for responsible generative AI use on sensitive enterprise data in the life sciences, pharmaceutical, and healthcare domains.
PH-161 : From Raw to Compliant: Applying Domain-Specific SAS Macros for Data Cut-Off in Clinical Trials
Ballari Sen, Bristol Myers Squibb
The Data Cut-Off (DCO) serves as a critical temporal boundary in clinical drug development, governing the inclusion and exclusion of data across regulatory submissions, interim analyses, and final study reports (Croft PHUSE 2018, p. 1). When a clinical trial demonstrates early evidence of success, interim analysis data can serve as the foundational basis for an expedited regulatory submission (Croft, PHUSE 2018, Paper AS07). While it is standard practice to define a Data Cut-Off Date based on the occurrence of a pre-specified number of events, the actual complexity lies not in setting the date but in applying it correctly across all datasets. The cut-off must be handled with great care, and the approach to handling post-cut-off dates and results varies significantly depending on the nature of the data that is being populated (Meares, PHUSE 2018, Paper DH06). This paper walks you through the rules you need to apply the cut-off safely and correctly. You organize your cut-off decisions across three levels: subject level, visit level, and record level giving you a structured, end-to-end approach to managing your clinical data (Yang, PharmaSUG 2024, p.6). At each level, you work through how different date and result types determine whether you keep, modify, or drop a record. You apply the data cut-off using the start_date Treatment Start Date across both visit-structured and non-visit-structured forms and raw datasets. The paper also takes you through a SAS macro that puts this logic into practice so you have a reusable, submission-ready tool you can apply across your studies (Shi, Cai , Yan , PharmaSUG China 2021, Paper DM-023).
PH-164 : Jazz Up Your Profile: Perfect Patient Profiles in SAS using ODS Statistical Graphics
Josh Horstman, PharmaStat LLC
Richann Watson, DataRich Consulting
Patient profiles are often used to monitor the conduct of a clinical trial, detect safety signals, identify data entry errors, and catch protocol deviations. Each profile combines key data collected regarding a single subject everything from dosing to adverse events to lab results. In this presentation, two experienced statistical programmers share how to leverage the SAS Macro Language, Output Delivery System (ODS), the REPORT procedure, and ODS Statistical Graphics to blend both tabular and graphical elements. The result is beautiful, highly-customized, information-rich patient profiles that meet the requirements for managing a modern clinical trial.
★PH-178 : Clinical Analytics Innovation with SAS Clinical Acceleration:
Jim Box, SAS Institute
Clinical innovation depends on speed, but it also depends on trust. We will share how SAS Clinical Acceleration modernizes clinical analytics on SAS Viya with a secure, validated foundation that supports collaboration, governance and scalability in one environment. At the core is a governed repository with rolebased permissions, version control, electronic signatures and a full audit history, paired with a statistical compute environment that keeps analysts working where the data lives. Walk away with a clear view of how an integrated, cloudnative approach can reduce workflow friction and help teams stay audit ready while accelerating the path from insight to submission
★PH-182 : Stop Guessing. Start Matching. High-Impact SAS PRX Patterns in 20 minutes
Charu Shankar, SAS Institute
Messy text is everywhere in clinical programming IDs embedded in free text, inconsistent visit labels, unpredictable separators, and key-value strings that require precise parsing. SAS PRX brings Perl-compatible regular expressions into the DATA step, enabling accurate validation and extraction without brittle cascades of INDEX/SUBSTR logic. This 20-minute, code-forward session is delivered as three fast demo segments: 1. Anchors and boundaries to validate common values (such as USUBJID and visit labels) and eliminate false positives. 2. Capturing groups to extract structured components such as USUBJID and visit numbers from unstructured strings. 3. Lookarounds to target exactly the value you want (for example, extracting AESER from key-value text) without consuming labels or delimiters. We finish by layering a small set of standardization patterns normalizing separators, collapsing whitespace, and applying safe character filtering to make downstream derivations and reporting more reliable. Attendees will leave with a concise PRX recipe card and a compile-once/apply-many template they can drop into SDTM/ADaM preparation, mapping support, reporting pipelines, and QC workflows to reduce review churn and improve robustness.
Solutions Development
SD-114 : Fantasy in Three with PROC FCMP: Memoization of Resource-Intensive Calculations, in-Memory Hash Object Storage and Retrieval Operations, and Disk-Based Persistent Data Set Modification and Preservation
Troy Hughes, Data Llama Analytics
The SAS Function Compiler procedure (i.e., PROC FCMP) empowers SAS practitioners to design user-defined functions and subroutines that make software more maintainable, flexible, configurable, readable, and reusable. The SAS hash object, a built-in data structure and type of associative array, stores values in key-value pairs, and facilitates fast and efficient in-memory lookup operations that store and retrieve one or more values. Combining hash horsepower and FCMP finesse yields a function that is both powerful and pretty while abstracting (and hiding) complexity inside the function definition. Because of their key-value structure, hash objects commonly operationalize memoization the key-based caching of resource-intensive results so they do not need to be recalculated in the future. Even superheroes have flaws, and two documented limitations of FCMP hash functionality are its inability to store SAS arrays and its inability to save hash objects natively to SAS data sets for persistent storage and retrieval. This text introduces novel (i.e., brilliant) approaches that enable hash objects to represent character and numeric arrays, and to export their records to SAS data sets when a DATA step terminates. This combination of memoization, in-memory lookup operations, and disk-based data set preservation maximizes speed and efficiency, and is adapted from the author’s groundbreaking textbook: PROC FCMP User-Defined Functions: An Introduction to the SAS Function Compiler, Second Edition. (Hughes, 2026)
SD-115 : Code Hard and Put away Wet: Replacing Hardcoded SAS Software Quality Checks with Data-Driven Design and Defensive Programming Techniques That Validate Code and Control Data
Troy Hughes, Data Llama Analytics
You wouldn’t ride that pony hard and put her away wet, so why subject your SAS software to the same ill treatment?! Defensive programming describes a risk management strategy that aims to identify threats to software functionality and/or performance before they occur and, where possible, to identify pathways to programmatically mitigate those risks (or to communicate realized threats to stakeholders). This talk introduces defensive programming techniques that can be implemented when software executes, such as verifying SAS program file state (i.e., availability, accessibility) and program file metadata (e.g., filename, checksum, creation date, version). Data-driven software design further espouses the reality that “software” comprises not only code but also the underlying control data that drive that code’s functionality and flexibility. Thus, defensive data-driven design requires a fuller risk management strategy that evaluates risks not only to code but also to control data, including lookup tables, control tables, configuration files, and other control files. Finally, although not considered to be “software,” domain data sets and other data sources can be no less essential to ensuring software success, so the state and quality of these transactional data can be evaluated as well. Given this more expansive view, this text further demonstrates defensive programming techniques that evaluate the state and metadata of required input data, be they SAS data sets, spreadsheets, CSV files, XML, JSON, or other interoperable (i.e., canonical) formats. SAS user-defined subroutines, built using PROC FCMP, the SAS Function Compiler, call Python user-defined functions to extract file metadata and to calculate file checksums all of which aim to ensure the availability of software prerequisites at runtime. Defensive programming methods should be implemented where robust software must execute reliably, and data-driven software should incorporate these best practices.
SD-117 : OOTB (Out of the Box) Data Visualizations with SAS: An Introduction to what the ODS Graphics Statement Can Do for You
Louise Hadden, Independent Consultant
Creating graphic outputs with SAS software has been the subject of many a SAS paper over the years, including my own. Many maintenance releases and a version ago, SAS introduced a pre-production version of ODS GRAPHICS, a new graphics system which was template based, following in the Output Delivery System’s footsteps. This new system was moved to BASE SAS from SAS/Graph, and remains there today. In ODS GRAPHICS, many statistical procedures can produce one or more graphic, depending on options within the procedure, etc., simply by having the ODS GRAPHICS statement active. In SAS 9.2, SG family of procedures was introduced, which also interacted with the ODS GRAPHICS statement. Today the ODS GRAPHICS statement is the backbone of visualizations in SAS 9, interacting with other ODS statements, procedures, templates, and GTL (graphics template language). This presentation will focus on the ODS GRAPHICS statement and its many wonderful options, and why users might want to add some OOTB (out of the box) ODS graphics to their SAS toolboxes. Data elements are explored with ODS GRAPHICS visualizations both as single elements (univariate statistics and graphs) and as elements in conjunction with other elements (multivariate statistics and graphs), using the ODS GRAPHICS statement with various options with selected SAS statistical procedures that support ODS GRAPHICS. Although the ODS GRAPHICS statement supports the powerful SG (statistical graphics) procedures and works hand in hand with ODS statements, styles, and templates, this presentation focuses on statistical procedures included in BASE SAS, SAS/STAT, SAS ETS, etc. that produce plots.
◼SD-121 : A Map to Success with Data Visualization Using ODS Statistical Graphics
Richann Watson, DataRich Consulting
Louise Hadden, Independent Consultant
Creating custom graphics does not have to be a daunting experience. Anyone who has produced a graph using Output Delivery System (ODS) Graphics has unknowingly used the Graph Template Language (GTL). We take you on a guided tour of how to create a truly custom graph. Our first stop starts with an illustration of a basic plot with little complexity produced with Statistical Graphics (SG) procedures. We then make a pit stop with the TMPLOUT option to help convert the simple plot to GTL. On our road to create a custom graph we need to get out our map to build a map. Our last stop of this adventure takes us to the combining of these two graphs to illustrate the power of GTL to truly customize your graphs.
SD-133 : Data Step Your Workflow and Macro Your Way to Automation: Importing Thousands of Excel Reports That Aren’t Datasets
Richard Rivera, Arizona Supreme Court
Bert Cisneros, Arizona Supreme Court – Adminstrative Office of the Courts
Many organizations receive dozens or even thousands of Excel files each month and need a reliable way to import, clean, and organize them. These files often do not resemble structured datasets; instead, they appear as formatted summary reports with merged cells, embedded titles, section headers, and statistics arranged in visual matrices. Although the reports themselves may be structurally identical across courts, submitters often use inconsistent file naming conventions. Because of high volume of submissions and structural complexity, manually entering data is labor intensive, inconsistent, and prone to errors. We introduce a SAS based framework for automating the import and standardization of these Excel summary reports using familiar tools such as PROC IMPORT, DATA step programming, and modular SAS macros. We outline a macro driven architecture that identifies report types based on embedded content and routes each file through reusable processing steps that support scalable, long term reporting workflows. Using Arizona’s court system as an example, we demonstrate how to ingest multiple report types, align their structures, and store the results in SAS databases. The courts submit more than 17,000 Excel-based statistical summary reports annually, with roughly 90% originating from Municipal and Justice Courts. Each court submits eight monthly reports in, often with varying naming conventions. To ensure reliability, the process identifies report types using internal report characteristics rather than filenames. For demonstration purposes, we focus on a sample of Justice Courts to illustrate the automation framework in a clear and practical way. Attendees will gain practical insights into handling high-volume Excel ingestion, designing reusable macro architectures, and avoiding importing duplicate reports by implementing robust validation procedures within SAS. This session is ideal for beginning and intermediate SAS users who want to learn how to automate the workflow of converting Excel-based statistical summaries into consistent, analysis ready datasets.
SD-134 : Automating Excel Table of Contents Generation from SAS -Produced RTF Reports Without Predefined Metadata
Joshua Lin, Eikon Therapeutics, Inc.
Creating table of contents (TOC) files manually for large RTF report packages is time-consuming and error-prone, highlighting the need for a more efficient and reliable approach. After evaluating existing TOC generation methods and considering implementation experience, Excel-based architecture was chosen for its accessibility, flexibility, and support for cross-functional collaboration. This paper describes an automated two-step framework that builds a navigable Excel-based TOC directly from SAS -generated RTF reports without requiring predefined metadata. In the first step, a SAS or VBA macro recursively scans specified folders and subfolders, parses each RTF file, and extracts key information such as file paths, file names, and report titles into a structured Excel workbook. In the second step, an automated macro adds hyperlinks to each report entry, allowing reviewers to open individual reports with a single click. This framework makes TOC generation more streamlined, scalable, and efficient regardless of report volume, and it works in both local file systems and SharePoint environments, providing an enterprise-ready solution for report review, document navigation, and cross-functional document management.
SD-138 : Multi-Dimensional Suppression Algorithm to Preserve Privacy in Publicly Released Data
Oleg Korovyanko, Art of Problem Solving Academy
I present an algorithm for producing privacy-protected aggregate reports together with macro steps for its main building blocks. I adapt it to three-dimensional datasets by adding a third character variable. The algorithm is robust for any multi-dimensional (3 or more) complementary suppression. Suppression results depend on the sequence of the building blocks. I show how to reduce the number of suppressed cells by 10% or more. I also present suppression results for derived variables calculated as the sum or difference of originally suppressed counts. References Paper SAS2022-2018 Implementing Privacy Protection-Compliant SAS Aggregate Reports Leonid Batkhan, PhD, SAS Institute Inc.
SD-154 : Speeding up your Validation Process is as Easy as 1, 2 and 3
Alice Cheng, Independent
NOTE: No unequal values were found. All values compared are exactly equal.’ Are you excited to see these statements in your SAS output? After laboring for hours, finally, you got a match! Eureka! You finally did it! But before you pop a champagne bottle and celebrate, please note these statements are necessary but not sufficient for a perfect match! In this paper, the author explains why the aforementioned statements may not identify a perfect match. She introduces the use of &SYSINFO, an automatic macro variable generated by PROC COMPARE. This single value held by &SYSINFO enables users to know accurately the result of the comparison, which includes a perfect match. After a brief introduction, the author demonstrates how users can take advantage of the features of &SYSINFO to speed up the validation of numerous deliverables such as datasets, tables, listings and figures, and how users can use traffic-lighting technique and Excel spreadsheet features to make the result more readable. Armed with these techniques, speeding up the validation process is really as easy as 1, 2 and 3. KEYWORDS: PROC COMPARE, Validation, &SYSINFO, Speed Up, Traffic-Lighting, Excel Spreadsheet
★SD-173 : Why Your SAS Connections Fail: Understanding TLS and Certificates
Kim Wilson, SAS
When PROC HTTP, FILENAME EMAIL, FILENAME FTP, and other SAS code fail when attempting to connect to various remote servers using Secure Sockets Layer (SSL) and Transport Layer Security (TLS), the root cause is often not the SAS code itself but the underlying TLS and certificate configuration. As more SAS programs integrate with web services, email servers, and secure file transfers, understanding how TLS works has become essential for effective troubleshooting. This paper focuses on why TLS and certificates are such a common source of confusion and how they directly affect network enabled SAS features. Special attention is given to the changes introduced in SAS 9.4M8, including the shift to operating system provided cryptographic libraries and expanded support for TLS 1.3, and how these changes alter both behavior and debugging techniques. Differences between TLS 1.2 and TLS 1.3 are explained in practical terms, along with how TLS behavior varies across Windows, Linux/UNIX, and z/OS environments with SAS 9.4 and Viya. Attendees will leave with a clearer understanding of how TLS affects their SAS programs, how to recognize certificate related failures in the SAS log, and how to approach debugging network issues with confidence saving time, reducing frustration, and avoiding common pitfalls.
★SD-181 : The Log Whisperer: Still Reading SAS Logs? Start Ranking Them
Charu Shankar, SAS Institute
SAS logs are vital for QC, but review is often slow and inconsistent manual scanning, uneven triage, and too much time lost to noise. This paper introduces a SAS-only “Log Whisperer” that turns log review into a repeatable workflow using a rules control table, DATA step parsing, PRX pattern matching, and PROC SQL rollups. A lightweight rules dataset defines patterns, severity, and weight. The engine scans a folder of .log files, captures line-level hits, and rolls results up to a file score with stoplight status (RED/AMBER/YELLOW/GREEN). A rule-frequency view highlights the most common root causes across the project. Rather than reading every log line, reviewers get a ranked queue that focuses attention where it matters most reducing QC thrash and improving consistency without a heavy framework. Takeaway: a reusable SAS utility that helps focus reviewer attention where it counts, reduce QC thrash, and bring consistency to log review without a heavy framework. The solution is shared as 4 modular “Lego block” programs that can be run in sequence and reused across studies or projects.

