1.1. Identify the most competitive supplier
The most competitive in terms of both price and reliability. I had a disappointing
experience with a company on our list of appointed suppliers. Parts I ordered
didn't arrive and parts that did needed at times had to be replaced. Therefore I decided
to order from the slightly more expensive but more reliable supplier (Misco),
in order to prevent any delays with the project.
1.2. Place orders
This was a simple matter once I had identified a cost effective and
reliable supplier.
1.3. Assemble components
I was able to assemble the parts as they arrived to prevent a delay when
all parts were received.
1.4. Test
The internal temperatures remained very low, with everything properly
cooled. I needed to replace couple of hard drives as they had bad sectors but
otherwise everything went without major problems.
1.5. Implement basic software (operating systems
and software)
There were no problems here either. I tweaked the systems to get the best
results in every area of operation and then scanned for security holes with pen-testing software: OpenVAS
and Nmap vulnerability scanners.
1.6. Implement networking
I had to spend considerable time here, generating encryption keys,
implementing encryption protocols, setting up strict firewall rules and making
everything work together.
Transfer procedures between locations made me angaged in writing guides and
training staff on how to extract data from peripheral devices (specialised
medical devices that collect data in various formats – vendor support is
minimal or nonexistent.). I had to write programs and scripts to upload files
that could be converted from other formats to text format and then uploaded onto
the database, also to organise all files in a certain way so they could be
easily uploaded onto an encrypted hard drive, files older than one week needed
to be moved to another directory and renamed, so they would be stored out of reach for security reasons. Finally, I developed procedures
to ensure that files would not get corrupted or damaged in any way when
uploaded onto the second server.
My goal at this point was to keep all available data (except for the binary
files) in one centralised database. To achieve this I had to write programs
to automate processing feeds from peripheral devices in such a way, that they
would be easily populated into the database. Original copies of feeds are
stored in a protected directory on the server.
PDF file describing geographical allocation of Projects' infrastructure (73 KB)
Graphical representation of infrastructure located in UD (67 KB)
Graphical representation of infrastructure located in NIHSC (74 KB)
PDF file describing geographical allocation of Projects' infrastructure (73 KB)
Graphical representation of infrastructure located in UD (67 KB)
Graphical representation of infrastructure located in NIHSC (74 KB)
1.7. Design, develop, test and implement
software to support specific project requirements
I mentioned that I had to do some program design, coding, testing and
implementing.
The major areas were:
- Database design, development, testing process and implementation.
- Database design, development, testing process and implementation.
-
Data file collation, rotation, renaming, copying
to a backup directory and propagation to the database.
-
Database and server backup on a daily basis
(having a binary log in storage at all times).
-
Error reporting, so I can receive daily reports
from servers via e-mail when possible (from networked devices) and having the Munin
and Nagios in place for monitoring
-
A program to download a weekly feed of
demographic information about participants from RP over a secure
channel, decrypt encrypted archive, populate data into the database server, run
additional queries on the server to make the data available to clerical staff,
send emails informing the relevant parties about new data feed arrival, clean
up the local directory by renaming and copying downloaded files to a backup
location and clean source files from the remote directory, so our colleagues in Ipsos-MORI would know, that we had downloaded files.
-
PHP/MySQL web interface over https protocol (over
900 PHP files and scripts plus design of the database) for clinical assessment data entry, so nurses could
enter their data securely.
-
NICOLA website development as detailed
previously.
- Programs to make multi layer selective mail merges, so one
participant in the study gets a letter about one thing, another gets a letter
about the something else depending on some conditions, yet another receives a letter about yet another thing
and another does not receive anything as he/she refused to take part in any further
study, everything being depending on many factors and conditions. In this case everything relies on the data in
the demographics database. The script also ensures the correct usage of
lowercase and uppercase characters during addressing process.
-
Design a procedure for effective and secure participant
data sharing between centres, so nursing staff would know exactly who and when
is expected for Clinical health assessment. At this point I considered few
options including VMware Zimbra Collaboration Suite CRM which I fully
implemented and abandoned due to its size and high system utilisation in favour of direct access
from Belfast Trust to CAPI database using CITRIX gateway and also provided by QUB, MS SharePoint based document
sharing. I decided to use SharePoint as a temporary solution until Belfast Trus would be
connected to the Academic Network. Then, I would create restricted CAPI
database access for staff located in NIHSC (Belfast Trus) to maintain participant appointment
system.
ERR (enhanced entity-relationship) diagram of Clinical Health Assessment Database (885 KB)
Data Dictionary for Clinical Health Assessment Database (1 MB)
ERR (enhanced entity-relationship) diagram of CAPI Demographics database (226 KB)
ERR (enhanced entity-relationship) diagram of Clinical Health Assessment Database (885 KB)
Data Dictionary for Clinical Health Assessment Database (1 MB)
ERR (enhanced entity-relationship) diagram of CAPI Demographics database (226 KB)
1.8. Documentation
I
have produced full documentation to make the system as easy to use as possible,
especially as most of the end users will not be IT professionals. This included
producing many SOP sheets (Standard Operation Procedures) using simple language, using plenty of screenshots for demonstration purposes and also
supporting everything with hands on training. For anyone succeeding me in
looking after this project I have fully documented the script files and all program
source code. This blog entry could also be useful as an overview.
No comments:
Post a Comment