HMS Analytical Software

HMS Analytical Software is a German company dealing with the fields of software development, clinical research and statistics. The company owns 4 sites across Germany : one of them is in the suburbs of Frankfurt am Main at Sulzbach (Taunus) – which is the one where I am doing my internship.

In Sulzbach, HMS has two branches : first they are dealing with statistical analyses. That is to say they take the data that the pharmaceutical companies provide to them, they analyze them and then they return the results. The second branch is more focused on software development : indeed HMS provides software solutions in the form of programs and macro programs coded under SAS so that customers can process with their own data.

The company provides services in statistics and computer science as for example helping with data mining, statistical studies, processing data advice, data warehousing, individual training and software solutions allowing customers to process with their own data.

Missions of the internship

The topic of my internship is the development and the validation of SAS programs to facilitate the analysis and reporting phases of clinical studies.

Over the course of my internship, I had the opportunity to support a long project entrusted to me by the company. My missions were to develop and validate SAS programs and macros that generate tables to analyze the data and to present the results. First I tested a generic macro previously developed by a statistical programmer at HMS Analytical Software and then I developed a generic macro calculating descriptive statistics. A generic macro is developed for repetitive use by many users without changes on the macro. Later in the placement, this summer, I will have the chance to learn and to practice the application of data and industry standards (CDISC etc.) on the macro I created and others.


Today, pharmaceutical companies and clinical studies have to be more and more accurate in their data processing. The results must be trusted and verified. Health organizations establish rules and recommendations for data analysis and management in clinical trials and the healthcare industries.

Why the development and the validation of SAS programs for the analysis and the reporting of clinical studies are so important ? I could answer to that question thanks to a course I had about Good Clinical Practice (GCP) for Statistical Programmers. Indeed these GCP rules include recommendations about data analysis, reporting and data management. It is important to know that clinical studies involve experimenting on human so rules are very important. Indeed, in the past, public has witnessed some major scandals dealing with drugs and medical devices. These tragedies led to the development of more structured rules and regulations and the drafting of principles and guidelines about ethical research and statistical analyses. Since 1997, the main reference guidance is ICH E6 “Good Clinical Practice”. In this guidance we find some major regulations about all the work that is done within the clinical studies but also around.

In this guidance, one of these rules mandated that all software, programs, and macro-programs must be carefully tested and analyzed through extensive and well-documented validation processes.


The main objective of programs and macro-programs validation is to ensure : accuracy, reliability, consistent intended performance (under all operation conditions including limits or unintended use), and the ability of the macro to detect invalid or altered records. This is essential because they are going to be used by other users as a generic macro, so errors and mistakes must be corrected to avoid severe consequences.

Biostatisticians need reliable programs so that the quality of their results can be trusted. They need to be sure that the work of the programmer has been checked and tested – credibility is crucial. There are specific cases of validation for the SAS programs. Applying these principles to the INITCALC macro was the central objective of my first project. This macro calculates total columns.

In my second project I had to develop a generic macro called DESCCALC macro. Its aim is to calculate descriptive statistics to be included in clinical trial reports such as : N (number), NMiss (number of missings), Min (minimum), Max (maximum), Mean, Median, SD (standard deviation) and Quantiles. This macro will be used and re-used across many projects, after the end of my internship by team members at HMS Analytical Software across different projects to calculate descriptive statistics for statistical analyses reports.

In order to carry out these missions I used the SAS software on a Linux operating system. I have also carried out various searches in books and statistical programming sites in order to develop the DESCCALC generic macro.


Lexicon :

– Industry Data Standards : “Data Standards provide consistent meaning to data shared among different information systems, programs, and cagencies throughout the product’s life cycle. These include representation, format, definition, structuring, tagging, transmission, manipulation, use, and management of data”. – U.S. Food and Drug Administration

– Macro programs : The macro programs are parametrized SAS programs, framed between a start and an end-of-program instruction. They are compiled and stored in catalogs while waiting for a macro call.

– To warehouse : To store, as in a warehouse. –

Bibliography :

Carpenter, Art. Carpenter’s Complete Guide to the SAS Macro Language, Second Edition.
500 pages. Publisher : SAS Publishing. Edition : 2nd Revised edition (March 16, 2004).
ISBN-10: 1590473841. ISBN-13: 978-1590473849.

CDISC : Strength Through Collaboration. What We Do [Online].

Dempsey, Elaine. PharmaSUG2010 – Paper IB02. GCP101 : Good Clinical Practices OR
“Why we do What we do the Way we do it“. [Online]. PDF available on

Haag, Uwe, Dr.. (2017). Short Course : Good Clinical Practice for Statistical Programmers
[PowerPoint presentation then printed on paper]. HaaPACS training material.

HMS Analytical Software. About Us [Online].

ICH, harmonization for better health. ICH harmonized tripartite guideline / Guideline for
Good Clinical Practice E6(R1). Current Step 4 version, dated from 10 June 1996. Guideline
published in May 1996. [Online]. PDF available on

PhUSE Wiki. Good Programming Practice Guidance [Online]. Good Programming Practice for Clinical Trials [Online].

WHO : World Health Organization. Handbook for Good Clinical Research Practice (GCP) :
Guidance for implementation. Published in 2005. [Online]. PDF available on

Laisser un commentaire