This document is intended to provide a common set of rules to apply to the naming of clinical trials build using InForm EDC system.
Why use naming conventions?
Naming objects consistently, logically and in a predictable way will distinguish similar records from one another at a glance, and by doing so will facilitate the storage and retrieval of records, which will enable users to browse clinical objects more effectively and efficiently. Naming records according to agreed conventions should also make object naming easier for colleagues because they will not have to ‘re-think’ the process each time.
It has been said that InForm follows the “Hungarian” notation because it is one of Microsoft’s “Best Practices” for .Net standards when defining objects (the code to support those objects use it).
Component | Prefix |
Form (e.g., frmDemo…) | frm |
Section | sct |
Itemset | its |
Radio Control | rdc |
Item | itm |
Pulldown Control | pdc |
Text box | txt |
Date and time | dtm |
Group Control | grp |
Checkbox | chk |
Calculated Control | cal |
Simples | smp |
Study Element | elm |
Codelist | cl |
Study Event | evt |
Codelist Item | citm |
Workflow Rule | wr |
Global Conditions | gc |
Data Entry Rules (e.g., rulDMConsDTCompare) | rul |
DataType | Prefix |
Boolean | bln |
Byte | byt |
Character | chr |
Date | dtm |
Decimal | dec |
Double Precision | dbl |
Integer | int |
Long Integer | lng |
Object | obj |
Short Integer | sht |
Single Precision | sng |
String | str |
User-defined Type | udt |
Object | Prefix |
Button | btn |
CheckBox | chk |
ComboBox | cbo |
Control | ctr |
DataSet | ds |
DataTable | dt |
Form | frm |
GroupBox | grp |
Label | lbl |
ListBox | lst |
PictureBox | pic |
RadioButton | rdb |
String | str |
TextBox | txt |
Remember keep it consistent. This means that you stick to one particular pattern through out your clinical project. This also includes the words you use for namespaces, classes, methods, interfaces, properties and variables. A prerequisite is that they should be meaningful, significant, descriptive and easily understood with respect to purpose and functionality by anyone who reads the source code.
Happy Programming!
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.
Microsoft has actually been moving away from Hungarian notation, but, especially in the examples of components and objects above, I think it makes the most sense and is by far the easiest to read.
Especially thanks to code completion. For example, when you are coding up a form, and you want to change all of your textboxs to some value, it is a nightmare to remember that you have nameText and eMailText, and oops, I forgot phoneText. However, with statement completion I can type in txt and instantly get a list of all the textboxes on the page.
With Hungarian notation, its easy to see at a glance the what your name is, and what it applies to, so I am still a fan.