You can add custom links by customizing the OpenEMR codes.
Please refer the attached screen to add custom links in left_nav.php.
changes in left nav.php → ( loadFrame2 ) function :
function loadFrame2(fname, frame, url,iscustom=false) {
if(iscustom){
var f = document.forms[0];
if(f.sel_frame)
{
var fi = f.sel_frame.selectedIndex;
if (fi == 1) frame = 'RTop'; else if (fi == 2) frame = 'RBot';
}
if (!f.cb_bot.checked) frame = 'RTop'; else if (!f.cb_top.checked) frame = 'RBot';
top.frames[frame].location = url;
}
else{
var usage = fname.substring(3);
if (active_pid == 0 && usage > '0') {
alert('<?php xl('You must first select or add a patient.','e') ?>');
return false;
}
if (active_encounter == 0 && usage > '1') {
alert('<?php xl('You must first select or create an encounter.','e') ?>');
return false;
}
if (encounter_locked && usage > '1') {
alert('<?php echo xls('This encounter is locked. No new forms can be added.') ?>');
return false;
}
var f = document.forms[0];
top.restoreSession();
var i = url.indexOf('{PID}');
if (i >= 0) url = url.substring(0,i) + active_pid + url.substring(i+5);
if(f.sel_frame)
{
var fi = f.sel_frame.selectedIndex;
if (fi == 1) frame = 'RTop'; else if (fi == 2) frame = 'RBot';
}
if (!f.cb_bot.checked) frame = 'RTop'; else if (!f.cb_top.checked) frame = 'RBot';
top.frames[frame].location = '<?php echo "$web_root/interface/" ?>'+ url;
if (frame == 'RTop') topName = fname; else botName = fname;
return false;
}
}
If you want to put your new link in the category of modules or report I can help you to create new module that redirects to external url. this better if you plan to upgrade your project in the future.
Thanks for contributing this module skeleton. This may be a really good thing for OpenEMR to bring into the main github repos (would basically bring it in as a separate repo) at OpenEMR · GitHub if you agree @Amiel . Thoughts on me doing this @robert.down ?