Jump to content

Recommended Posts

Posted (edited)

I do data entry for pharmaceutical research and have been assigned to enter 100 identical subjects into an online database for a mock study. The electronic data capture system we use is InForm by Oracle. Naturally, and to keep my sanity, I want to automate this task. There is no built-in way to copy and paste subjects, so I have to create a script. This is actually the second time I'm entering this many identical subjects. The first time, I created a crude script in AutoHotkey that emulated keystrokes and mouse clicks to fill out boxes, radio buttons, etc. This time, I'd like to write a more sophisticated script through AutoIt.

Unfortunately, the way the forms are coded don't seem compatible with AutoIt's IE functions. I'd post a picture of how it appears in the browser, but I don't have access to image hosting on this computer and can't seem to attach it directly here. Here's a sample of some form code:

<!--crf--><div id=crf class=formbody style=overflow:auto>
<SCRIPT>
oL=top.C.location;dcm=this.document;
oF=t.GetForms(d,'crf');
w=window;t.wndCur=w;
oForm=new t.FS(w)
t.oLastDate=t.oDateErr=null
P1="8833;0;8829"
o1=t.b('18837',1,2,0)
o2=t.b('',8,1,0,o1)
o3=t.a('18839',7,3,1,'"O","DMY","R","DMY","U","0","C","1","T","0"',o1)
P2="8833;0;8819"
o4=t.b('18840',0,2,0)
o5=t.a('18841',5,1,0,'"N","1"',o4)
o6=t.a('18842',5,1,1,'"N","1"',o4)
P3="8833;0;8806"
o7=t.a('18843',5,1,0,'"N","1"')
P4="8833;0;8797"
o8=t.a('18844',5,1,0,'"F","1","P","1"')
t.ASU(o8,'18844',2)
P5="8833;0;8783"
o9=t.a('18845',5,1,0,'"F","1","P","1"')
t.ASU(o9,'18845',2)
function BTN(t,p,a,q){u="./pfts.dll?C=TM_1&SI=40073&NM=0&EQ="+t+"&CT=1&FS=12342;0;1.000&IP="+oF[0].IPA.value+';'+p+(a==1?"&ID=1":"")
if(q>=0)u+=q>0?"&QID="+q:"&QID=0"
oL.href=u}

t.FH3(d,'pf8835','','')</SCRIPT>
<SCRIPT>t.HD(d,["IPA","SubmitID","!ut!18843","CSRFID"],["40407_0;12342_0!1.000;8835_356250311619067.000!1.000","1","8801","B436FE50705DB997FC2310C599D6F18D"]);t.MF(d,0);t.G4(d);t.I4(d,1,'1.',1);t.I3(d,50);t.O(d,'Date of Measurement');t.I5(d,50,0,'','1.');top.T(d);top.T2(d);t.V4(d,'18837','SAME','o1',0,0);t.O(d,'Same as the current Date of Visit');t.E6(d);top.T2(d);t.V4(d,'18837','DIFF','o1',0,1);t.BDT(d,"Different from the current Date of Visit, please provide",4,"18839","o3","DMY","",2011,2020,[-1,-1,-1],[],0,"/",0);t.E6(d);t.O(d,'</TABLE>');t.I6(d,1);t.BA(w,133,P1,'o1',0,0,'',0);t.O(d,'</TD></TR><TR>');t.I4(d,1,'2.',1);t.I3(d,50);t.O(d,'Blood Pressure');t.I5(d,50,0,'','2.');t.GCT(d,'Systolic / Diastolic');t.TBL2(d,2,2);t.TD2(d);t.TX(d,"18841",3,3,"","o5",3,'/',0,'');t.E14(d);t.TX(d,"18842",3,3,"","o6",3,'mmHg',0,'');t.E2(d);t.I6(d,1);t.BA(w,133,P2,'o4',0,0,'',0);t.O(d,'</TD></TR><TR>');t.I4(d,1,'3.',1);t.I3(d,50);t.O(d,'Pulse Rate');t.I5(d,50,0,'','3.');t.TX(d,"18843",3,3,"","o7",3,'',0,'<nobr>&nbsp;BEATS/MIN</nobr>');t.I6(d,1);t.BA(w,133,P3,'o7',0,0,'',0);t.O(d,'</TD></TR><TR>');t.I4(d,1,'4.',1);t.I3(d,50);t.O(d,'Height');t.I5(d,50,0,'','4.');t.TX(d,"18844",5,5,"","o8",4,'',1,'RU(dcm,"18844",-1,[8787,8792],["cm","IN"])');t.I6(d,1);t.BA(w,133,P4,'o8',0,0,'',0);t.O(d,'</TD></TR><TR>');t.I4(d,1,'5.',1);t.I3(d,50);t.O(d,'Weight');t.I5(d,50,0,'','5.');t.TX(d,"18845",5,5,"","o9",4,'',1,'RU(dcm,"18845",-1,[2974,8778],["kg","LB"])');t.I6(d,1);t.BA(w,133,P5,'o9',0,0,'',0);t.E12(d);t.T8(d)</SCRIPT><SCRIPT>t.E9(d);t.HF(d);</SCRIPT>
</div>

This doesn't look like a standard HTML form code, so I'd like to know what kind of code it is (CSS?) and whether I can still manipulate a browser to fill in and submit entries.

Any help is greatly appreciated.

Edited by gander

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...