Tag Archives: Rules programming

The Only Three (3) [Programming] Languages You Should Learn Right Now (eClinical Speaking)

On a previous article that I wrote in 2012, I mentioned 4 programming languages that you should be learning when it comes to the development of clinical trials. Why is this important, you may ask? Clinical Trials is a method to determine if a new drug or treatment will work on disease or will it be beneficial to patients. Anayansi Gamboa - Clinical Data Management Process If you have never written a line of code in your life, you are in the right place. If you have some programming experience, but interesting in learning clinical programming, this information can be helpful.

But shouldn’t I be Learning ________?

Here are the latest eClinical programming languages you should learn:

1. SAS®: Data analysis and result reporting are two major tasks to SAS® programers. Currently, SAS is offering certifications as a Clinical Trials Programmer. Some of the skills you should learned are:

  • clinical trials process
  • accessing, managing, and transforming clinical trials data
  • statistical procedures and macro programming
  • reporting clinical trials results
  • validating clinical trial data reporting

2. ODM/XML: Operational Data Modeling or ODM uses XML to build the standard data exchange models that are being developed to support the data acquisition, exchange and archiving of operational data.

3. CDISC Language: Yes. This is not just any code. This is the standard language on clinical trials and you should be learning it right now. The future is here now. The EDC code as we know it will eventually go away as more and more vendors try to adapt their systems and technologies to meet rules and regulations. Some of the skills you should learn:

  • Annotation of variables and variable values – SDTM aCRF
  • Define XML – CDISC SDTM datasets
  • ADaM datasets – CDISC ADaM datasets

CDISC has established data standards to speed-up data review and FDA is now suggesting that soon this will become the norm. Pharmaceuticals, bio-technologies companies and many sponsors within clinical research are now better equipped to improve CDISC implementation.

Everyone should learn to code

Therefore, SAS® and XML are now cooperating. XML Engine in SAS® v9.0 is built up so one can import a wide variety of XML documentation. SAS® does what is does best – statistics, and XML does what it does best – creating reportquality tables by taking advantage of the full feature set of the publishing software. This conversation can produce report-quality tables in an automated hands-off/light out process.

Standards are more than just CDISC

If you are looking for your next career in Clinical Data Management, then SAS and CDISC SDTM should land you into the right path of career development and job security.

Conclusion: Learn the basics and advanced SAS clinical programming concepts such as reading and manipulating clinical data. Using the clinical features and basic SAS programming concepts of clinical trials, you will be able to import ADAM, CDISC or other standards for domain structure and contents into the metadata, build clinical domain target table metadata from those standards, create jobs to load clinical domains, validate the structure and content of the clinical domains based on the standards, and to generate CDISC standard define.xml files that describes the domain tables for clinical submissions.

Anayansi Gamboa has an extensive background in clinical data management as well as experience with different EDC systems including Oracle InForm, InForm Architect, Central Designer, CIS, Clintrial, Medidata Rave, Central Coding, OpenClinica – Open Source and Oracle Clinical.

Disclaimer: The legal entity on this blog is registered as Doing Business As (DBA) – Trade Name – Fictitious Name – Assumed Name as “GAMBOA”.

Source:

SAS Institute
CDISC

Advertisements

Central Designer : Custom Function

A few days ago I received an interesting mail from M. Gupta from my other personal website EDC Developer in which Gupta asked: “Custom Function not working. Hi Anayansi, I have developed a custom function in C# for Central designer but looks like it is not even executing could you please share the steps to create and deploy the custom function”.

First of all, sorry it took me a little longer to respond. My time is limited and I don’t often get this kind of emails from my EDC Developer personal site (this website is for recruiters / potential clients for consulting assignments). Here at {EDC} Developer wordpress, I shared knowledge-based and industry related practices.

anayansigamboa - c# programming
image credit courtesy of Google

Before you can start rules programming in Central Designer, you must make sure you have the following rights assigned to you:

Study Rule Design (either as a study designer or rule writer):

  • Import User-defined functions
  • Define/modify data entry rules
  • Define/modify constants

Some companies assigned a group of people to write rules (rule writers but without access to other modules/features in CD) and the study designer is in charged of the eCRF study build (forms design). That way, while a study designer is building a form, the rule programmer can start edit checks/rule programming activities on other forms.

Remember the custom functions are programs written outside Central Designer. Functions allow you to encapsulate a piece of code and call it from other parts of your code. You may very soon run into a situation where you need to repeat a piece of code, for multiple visits for example, and this is where functions come in.

You will need Visual Studio or C#. Once you program and test your code and assuming it is working, you can load it onto CD (see user rights and refer to the annotated eCRF).

Example: Query rules may not run as expected on initial submissions for an itemset, if there is a calculation rule that sets the value on an item in a different visit, and the calculation rule is attached to the same form as the query rule.

In a previous article about troubleshooting in CD, I discussed some ways to troubleshoot rules. It will give you some insights about what to check when a rule is not working.

Something else to consider during rule development:

  • Source control your code and binaries using VSS or similar tools.
  • dll versioning may cause existing functions to stop working.
  • You can deploy functions on a study or library level. Any changes will affect other studies.
  • Remove anything that is not being referenced
  • Try using Try-Catch
  • Remember to reference CD (still called PhaseForward or see other functions provided by Oracle/PhaseForward during the initial installation) still under the old name – PhaseForward
  • Unit test (extensively) in a test environment

Rules Unit Testing:

  • Turn on rule tracing in the InForm event log
  • Check the log (warnings / errors can give you some clues that something is not right with an edit check calling this new custom function
  • Write and run test cases for data-entry rules, global conditions or workflow rules (this is very important)

Now we are ready for testing in InForm (this requires deployment).

And if it all else fails, try this article about Learn How to Avoid The 10 Most Common C# Mistakes.

Good luck and thank you for connecting.

Comments? Please post it below.

Anayansi Gamboa, MPM, an EDC Developer Consultant and clinical programmer for the Pharmaceutical and Biotech industry with more than 13 years of experience.

Available for short-term contracts or ad-hoc requests. See my specialties section (Oracle, SQL Server, EDC Inform, EDC Rave, OpenClinica, SAS and other CDM tools)

4 Programming Languages You Should Learn Right Now (eClinical Speaking)

I am a strong believer that learning a new language makes you better at the others, but I am not a “learn to code” advocate since a foreign language (I know 3 languages and currently learning my 4th and I have a “to learn” language including Italian and Arabic, if I ever find some free time) or even music (I love to play drums) are equally beneficial. But if you want to obtain a job in the pharmaceutical industry, here are the list of programming languages you should learn:

  1. C#:

What it is: A general-purpose, compiled, object-oriented programming language developed by Microsoft as part of its .NET initiative.

Why you should learn it: If you are looking to become a Medidata Custom Function programmer or Oracle InForm EDC Developer then you should.

2. Python:

What it is: An interpreted, dynamically object-oriented, open-source programming language that utilizes automatic memory management.

Why you should learn it: If you are like me always looking to learn new technology, love Google platforms and perhaps want to become a Timaeus Trial Builder, you should learn it. It is used on a lot open-source technologies.

Everyone should learn to code

3. PL/SQL or SQL:

What it is: PL/SQL stands for Procedural Language/SQL.

Why you should learn it: If you are like me additive to databases then Oracle should be your choice. If you want to become an Oracle Clinical programmer or Database administrator, you should learn Oracle PL/SQL.

4- SAS

What it is: SAS stands for “Statistical Analysis System” (software). It is the most powerful and comprehensive statistics software available.

Why you should learn it: SAS skills are in high demand nowadays. If you are able to obtain the SAS Certification and a few years of experience in the Pharmaceutical industry, you will be in good shape. If you are new and looking for training there are several options available from SAS Institute to private vendors such as Clinovo to even learning on your own. I most warn you as it will be difficult to obtain a job without experience. Nevertheless, once you are in, it can only get better.

Remember that your job is not just to code but to solve real problems. Your ability to code covers a lot of range of skills: from critical thinking, problem analysis & solving, logic, etc.

So which one are you going to give a try?

Let me know what is your preference. Happy Programming!

The best thing about a boolean is even if you are wrong, you are only off by a bit.(Anonymous)

Anayansi Gamboa has an extensive background in clinical data management as well as experience with different EDC systems including Oracle InForm, InForm Architect, Central Designer, CIS, Clintrial, Medidata Rave, Central Coding, OpenClinica Open Source and Oracle Clinical.

Disclaimer: The legal entity on this blog is registered as Doing Business As (DBA) – Trade Name – Fictitious Name – Assumed Name as “GAMBOA”.

Source:
SAS Institute
Learn PL/SQL