Vous êtes sur la page 1sur 4

NOUS

Case Study
CMMi Level 5 SVC+SSD v1.3
ISO 9001:2008
INFOSYSTEMS
ISO/IEC 27001:2013
LEVERAGING INTELLECT

NONMEM PK/PD program for ClinicalResearchData


Analysis using FORTRAN 90/95
NOUS
SITUATION OVERVIEW parallelization use and cloud compatibility. The critical requirements
CMMi Level 5 SVC+SSD v1.3

The customer has NONMEM program built on Fortran 77, which pro- were: ISO 9001:2008
INFOSYSTEMS
ISO/IEC 27001:2013
vides for analyzing the Population Pharmaco-Kinetic/ Pharmaco-Dy- Restructuring the existing FORTRAN 77 based PK/PD appli LEVERAGING INTELLECT

namic data using the model 'NON-linear Mixed Eects Modeling'. This cation to FORTAN 90/95 The existing NONMEM code was written
program is used to develop dosing strategies and guidelines for in FORTRAN 77 programming language which was becoming
sub-populations with certain characteristics. The data is typically col- obsolete.
lected from clinical studies of pharmaceutical agents, involving the ad- Upgrade of numerical precisions from single to double. The existing
ministration of a drug to individuals to the subsequent observation of code had combination of single and double precisions.
drug levels (most often in the blood/plasma/serum). Proper modeling Dynamic memory allocation, which allowed ecient use of work
of this data involves accounting for both unexplainable inter- and space memory.
intra-subject eects (random eects), as well as measured concomi-
Provision of a single exit point which was helpful for code
tant eects (xed eects). This allows for simulating the subjects using
parallelization with existing code and structure, paral lelization of
the non-linear mixed models linking to clinical endpoint.
the code was dicult.

THE CHALLENGE: Code parallelization to reduce the execution time by distributing the
calculation across the multiple processors.
The customer wanted to migrate the existing Population Pharma-
Enhance the reading of the input les written for a mixed case.
co-Kinetic/ Pharmaco-Dynamic data analysis application as a cloud
based computing solution, rather than having the solutions running Skip the early termination of the problem and continuewith the

on the local environment for the users. The key challenge with the ex- next problems in case of multiple runs.

isting application was, that it was built on Fortran 77 and the perfor- Explore possibility for optimizing the code to increase the

mance benchmarks were not meeting to the latest requirements and execution speed.

system behaved slowly. Additionally the customer wanted to leverage Code documentation by providing code headers, the historical

the advancement with the latest version of FORTRAN and incorporate records of every subroutine, documentation of any lack of code,

the latest set of features. details of coding standards in the existing code.

THE REQUIREMENT: Existing NONMEM had Mixed Eect Modeling, a statistical model Domain - Clinical Research
To control the licensing and to have better revenue model, customers which incorporates both xed eects and random eects. This

wanted the application to be hosted on the cloud. To execute the model was useful especially when there are only a few pharmacoki- Platform Windows / Ubuntu
netic measurements from each individual sampled in the population,
NONMEM solutions, the end users should have a copy of the execut- (Linux) OS
ables with certain code with them. or when the data collection design varies considerably between
these individuals.
The demography of the end user was varied and users mainly came Technologies - Fortran 90/95,
from the Windows and Linux platforms and needed support in these However, NONMEM is a general program which can be used to t
models to a wide variety of data and supporting dierent estimation
MPICH2, Compiling for G95 or GFor-
platforms consistently. The program need to compile all of the four
dierent compiler (Fortran 90/95, MPICH2, Compiling for G95 or methods. The customer being a contract research organization tran on Windows, GFortran on Linux
GFortran on Windows, GFortran on Linux and Intel Fortran Compiler (CRO) providing clinical research, drug development, regulatory and Intel Fortran Compiler on both
aairs, laboratory services and imaging to the pharmaceutical and
on both Windows and Linux), apart from default compiler. Windows and Linux
biotech industry; wanted this solution for their modelling and esti-
The project aimed at re-writing the complete application in Fortran mation activities. Estimation methods available in NONMEM:
90/95, with the expectation to achieve better performance, allowed
NOUS
EM and Monte Carlo Methods. The solution proposed by Nous Infosystems considered the com- CMMi Level 5 SVC+SSD v1.3
Iterative Two Stage (ITS) Method. plete restructuring and regrouping of the existing code using For- INFOSYSTEMS ISO 9001:2008
Monte Carlo Importance Sampling EM. tran 90/95 having latest features. The solution to compile on Win- ISO/IEC 27001:2013
LEVERAGING INTELLECT
Monte Carlo Importance Sampling EM Assisted by Mode a dows with G95 or GFortran Compiler, GFortran on Ubuntu and Intel
Posteriori (MAP) estimation. Fortran Compiler on both Windows and Ubuntu OS apart from com-
Stochastic Approximation Expectation Maximization piling on default
(SAEM) Method. compilerBoth Windows and Linux to have their respective versions of
Full Markov Chain Monte Carlo (MCMC) Bayesian Analysis Method. MPICH2 for parallel execution. Having this cloud architecture facilitat-
Monte Carlo Direct Sampling. ed one version of code running on server, against each users having
The new application should support all of these models and bench the program on their individual systems. This being a cloud solution
mark stability and accuracy. allowed for running simulations and executions, without users having
to spend a lot on the hardware resources in individual capacity, which
NOUS SOLUTION
was required for the system to have a good RAM and memory to
Nous provided application requirement analysis, design and develop-
store the results generated, which may not be feasible for all kinds of
ment services. With the broader objectives of cloud deployment, par-
users using the product, thus leveraging the cloud capacities with this
allel processing and controlled licensing. We also, developed the solu-
new solution. Users had the choice of using cloud facility if required,
tion such that it helps with migration of existing functionalities to the
with the ability to choose the system (Windows/ Linux) for execution
new version. Furthermore, we also integrated new methods devel-
and type of execution (sequential/ parallel). But each of users re-
oped by customer and validated the same.
quired a NONMEM license for executing the program, thus con-
trolling the license. Typically, the daily users, only added the jobs,
viewed the jobs and downloaded the completed jobs. This cloud solu-
tion was provided as an option, while users had the option to setup
and run on their local environment. Ordinarily users were to use the
login/ logout pages when accessing the application.

In the new version, code restructuring using MODULEs for replicating


COMMON block declarations; similarly CONTAINs feature was used
to separate main program from internal routines and functions; DATA
statements from dierent routines were moved into a single module
and made available to these subroutines via USE statement. Typical
to these re-factored changes resulted in compact and readable code.

Appropriate information for each routine including descriptions, algo-


rithms and code level comments were provided. Universal accepted
coding standards used for easy code maintenance and future en-
hancements. The coding standards are well maintained by having the
following:
Identifying repeated pieces of statements within the code level as
well as routine
NOUS
Provided single exit point and code that is ready to be parallelized. CMMi Level 5 SVC+SSD v1.3
level and putting them in a single le or using CONTAINS, thus Execution of multiple problems without interruption in case of early ISO 9001:2008
INFOSYSTEMS
reducing the number of lines of code. termination. ISO/IEC 27001:2013
LEVERAGING INTELLECT
Usage of intrinsic functions that are Fortran90/95 Dynamic memory allocation for ecient use of memory.
features. Extensive code level documentation, appropriate
Meaningful variable names. information for each routine including description,
A denite structure/approach to every routine. algorithms and code level comments were provided.
Appropriate header sections Easier code maintainability and enhancement for universal
standards used for easy code maintenance and enhancement.
The new solution helped the customer to get SDLC process certica-
Allowed for daily application users to only add the jobs,view the jobs
tion for their products. The new version was subjected to extensive
and download the completed jobs.
testing through a unit level, for functionality and integration to cover
Users had the choice of using cloud facility if required,with the
all the dierent supported estimation methods.
ability to choose the system (Windows/ Linux) for execution and type
CUSTOMER BENEFITS of execution (sequential/parallel).
The migrated and restructured code had the following key benets:
Modernized Code: Easier code maintenance and enhancements that
reduce maintenance eort and cost.
Multiple runs: With central error processing, there is a decreased like-
lihood of early termination of runs using multiple problems and/or the
Super Problem feature.
Parallel Processing: Runs on parallel environment, helps in quicker
problem solution.
Servicing through cloud based computing: Allowed for servicing of
users, those with limited computing resources, through cloud based
computing.
Re-structured code that is compliant to industry standard coding
format improved readability and compatibility. Copyright Nous Infosystems. All rights
More accuracy by doubling precision. reserved. No part of this document may be
Optimized code with improved performance (executionspeed). reproduced, stored in a retrieval system,
Replaced old IMSL routines with new IMSL routines and improved transmitted in any form or by any means,
numerical stability. electronic, mechanical, photocopying, recording
or otherwise, without written permission by Nous
Infosystems. All other trademarks
mentioned herein are the property of their
CONTACT US
respective owners.
New Jersey, USA Brentford, UK Toronto, Canada Mainz, Germany
Tel: +1 732 985 9533 Tel: +44 208 587 1411 Tel: +1 905 402 9943 Tel: +49 6131 28910 31 For more informtion, Please
visit - www.nousinfosystems.com or mail us at
Sharjah, UAE Bangalore, India Coimbatore, India
Tel: +971 526264954 Tel: +91 80 41939400 Tel: +91 422 3058800 info@nousinfo.com

Vous aimerez peut-être aussi