requirements, researchers need other services related
to the management of the data. These other services
implemented in PICNIC are described in this
section.
4.1 Upload Images
The portal includes “Jupload” and “Jdownload”
applications to allow users to transfer files (images
mainly) to the server. The images have to be in a
well-defined directory tree, due the fact that the
“Jupload” script verifies the tree directory to save
the data correctly in a temporal destination. Taking
into account that the images travel via Internet, even
if HTTPS protocol is used, for security reasons the
platform requires that they are correctly de-
identified at the moment of the upload. However, to
ensure that all the images in the platform are
anonymous, a de-identification process is executed.
Afterwards the images are added to the database.
4.2 Image De-Identification
After the upload process, the images are saved in a
temporal directory and the de-identification process
is automatically executed. The objective is to extract
personal data of the subject from the header of the
image. Some of the fields of the header that have to
be erased are: subject's name, acquisition's date,
gender, date of birth, hospital information...
When the de-identification process of a subject
finishes, the de-identifier sends an e-mail to the
administrator with the log of the process, indicating
if upload has finished properly and if not, the
problems that arose in the process. It also sends
another e-mail to the user indicating if the process
finished successfully. If everything was fine,
PICNIC adds a new entry to the database with the
image and the subject information.
The de-identification process is transparent to the
user and it runs in background after the upload
process has finished, independently if the user closes
the browser or the session.
4.3 Image Visualization
For radiologists, it is very important to have the
possibility to visualize the images. Therefore,
PICNIC includes an image viewer, MANGO, with
the possibility to visualize the images in three
formats (DICOM, NIFTI and ANALYZE). Like
other software commented before, the viewer uses
NX to load the images, opened in a new window.
If multiple images are opened at the same time,
the platform loads the viewer only once and the
viewer will open a different window for every image
to be loaded.
4.4 Jobs Monitoring
Some of the software tools used in PICNIC send the
jobs to the cluster of machines of PIC. The job
scheduler mechanism used at PIC is PBS (Portable
Batch System). PICNIC offers the possibility to
monitor the state of each job that has been sent to the
cluster at every moment (queued, running, out).
Moreover, it gives information like the number of
the job and the number of action at which the job
belongs to, useful information in case of problems.
Finally, it is also possible to stop the job with only a
one click and the system will automatically kill the
job in the cluster and update the status of the job in
the database.
5 SECURITY
The platform has to satisfy the requirements exposed
previously to keep it as safe as possible. With this
objective, some considerations have been taken into
account.
A module to encrypt the data transmission with
SSL (Secure Socket Layer) protocol has been
installed in Apache.
Other options of the Apache have been
configured to deny the access to paths or URLs
of the server and also to put as default mode of
access the HTTPS protocol.
At the network level, only a minimum number
of ports have been opened (22 for NX and 80
for the web connections).
Finally, at the implementation level, two
considerations have been taking into account:
1. The database queries are protected against
SQL Injection escaping characters (like ',
“”, \, /, |), using techniques that PHP offers.
2. The access to the hardware and data is very
restrictive to ensure that the user can only
reach the contents at which he/she has
privileges, noted in a white list policy.
6 VALIDATION
Some validation tests have been performed in the
way to get indicative results of the operation of the
BIOINFORMATICS 2010 - International Conference on Bioinformatics
242