Requirements, Architecture Design and Implementation
5- Security requirements
7.7 Verification of SVSEPRS model using the concept of Induction theory
7.7.2 Broadcasting database queries Vs. SVSEPRS model
Scenario 1: for n=1, proving that ππππππ (π)β€ β ππππππ (π)
If only one local database (e.g. Db1) that belongs to a particular healthcare organization which needs to be queried using the broadcasting model to access some records belonging to a particular patient, then the time needed to access this database will be explained in this section:
Db1 = { db|db Π Db1, db{Table1, Table2, β¦. Tablen }}
Db1.Table1= {tb|tb Π Table1, tb{Record1, Record2, β¦Recordn}}
Db1.Table2= {tb|tb Π Table2, tb{Record1, Record2, β¦ Recordn}}
β΄ Db1.Tablen={dbtb|dbtb Π Db1.Tablen, dbtb {Record1, Record2, β¦ Recordn }}
Where Db1.Tablen is the totaltables belong to Db1.
If Db= {Db1.Tablen} βtime needed for querying records stored at Db1 is:
π‘1= Ξ΄ti
ππ·π 1.ππππππ
π=1
Where, nDb1.Tablen is the total number of records stored in all tables of Db1.
β΄ π‘π‘ππ‘ππ = t1
Where, ttotal is the total time required to search this database for a specific query using a broadcasting model.
Scenario 2: for n=2, proving ππππππ (π)β€ β ππππππ (π)
In this scenario, two databases (Db1 and Db2) that belong to different healthcare organizations are queried directly using an ordinary system (broadcasting model) in order to collect some EPRs that have been created and stored locally. The time needed to access these records in these databases is showing here:
Db1 = {db|db Π Db1, db {Table11, Table21, β¦. Tablen1}}
Db1.Table1= {tb|tb Π Table11, tb{Record11-1, Record21-1, β¦Recordn-1-1}}
Db1.Table2= {tb|tb Π Table2, tb{Record12-1, Record22-1, β¦ Recordn-2-1 }}
Db1.Tablen={dbtb|dbtb Π Db1.Tablen, dbtb {Record1n-1, Record2n-1, β¦ Recordn-n-1 }}
Db2 = {db|db Π Db2, db{Table12, Table22, β¦. Tablen2 }}
Db2.Table1= {tb|tb Π Table1, tb{Record11-2, Record21-2, β¦Recordn-1-2}}
Db2.Table2= {tb|tb Π Table2, tb{Record12-2, Record22-2, β¦ Recordn-2-2 }}
Db2.Tablen= {dbtb|dbtb Π Db2.Tablen, dbtb {Record1 n-2, Record2 n-2, β¦ Recordn-n-2 }}
If Db= {Db1.Tablen, Db2.Tablen} βtime needed for querying each of these two databases is:
π‘1= Ξ΄ti
ππ·π 1.ππππππ
π=1
π‘2 = Ξ΄ti
ππ·π 2.ππππππ
π=1
Where, π‘1 and π‘2 are the times needed to query and search the whole records of the whole tables placed in π·π1 andπ·π2 respectively.
ππ«ππ. π»πππππ and ππ«ππ. π»πππππ refers to the maximum number of records of maximum tables in Db1 and Db2 respectively.
β΄ π‘π‘ππ‘ππ = π‘1+ π‘2
π‘π‘ππ‘ππ = Ξ΄ti
ππ·π 1.ππππππ
π=1
+ Ξ΄ti
ππ·π 2.ππππππ
ππππππ is the total time needed to search the whole records of the whole tables π=1
placed at database1 and database2 (i.e. the databases of two healthcare clinics).
Dbc= Db1.Tablen β© Db2.Tablen
= { dbtb|dbtb Π Db1.Tablen & dbtb Π Db2.Tablen}
Dbc refer to the records which are common in both databases.
This occurs when a patient visits two health locations and at each one an EPR was created and stored.
As π‘π‘ππ‘ππ = π‘1+ π‘2 By using decompose:
π‘1 = π‘1 + π‘π
Where π‘1 is the time of the query needed to search the records of the tables in Db1 which are not in common with Db2.
While π‘π is the time of the query needed to search the records of the tables in Db1 which are in common with the other database (i.e. Db2).
π‘2 = π‘2 + π‘π
ππππππ= ππ + ππ + πππ
Dbs= Db1.Tablen βͺ Db2.Tablen β© Dbc.Tablen
= {dbtb|dbtb Π Db1.Tablen or dbtb Π Db2.Tablen and dbtb Π Dbc.Tablen}
ππππππβ = ( Ξ΄ti healthcare organizations. Assuming that these databases are queried directly using an ordinary system (broadcasting models) in order to access records that are created and stored locally for a particular patient. The time needed to search Db1, Db2 and Db3 are as follows:
As mentioned earlier:
Db1.Tablen= {dbtb|dbtb Π Db1.Tablen, dbtb {Record1n-1, Record2n-1, β¦ Recordn-n-1 }}
Db2.Tablen= {dbtb|dbtb Π Db2.Tablen, dbtb {Record1 n-2, Record2 n-2, β¦ Recordn-n-2 }}
The third database can be defined as:
Db3 = {db|db Π Db3, db {Table13, Table23, β¦. Tablen3}}
Db3.Table1= {tb|tb Π Table13, tb {Record11-3, Record21-3, β¦Recordn-1-3}}
Db3.Table2= {tb|tb Π Table2, tb {Record12-3, Record22-3, β¦ Recordn-2-3}}
Db3.Tablen={dbtb|dbtb Π Db3.Tablen, dbtb {Record1n-3, Record2n-3, β¦ Recordn-n-3 }} whole tables placed in π·π1, π·π2 πππ π·π3 respectivly.
ππ«ππ. π»πππππ is the maximum number of records of all tables in Db3.
β΄ π‘π‘ππ‘ππ = π‘1+ π‘2+ π‘3
π‘π‘ππ‘ππ = Ξ΄ti
ππ·π 1.ππππππ
π=1
+ Ξ΄ti
ππ·π 2.ππππππ
π=1
+ Ξ΄ti
ππ·π 3.ππππππ
π=1
ππππππ is the total time needed to search the whole records of the whole tables placed at database 1, 2 and 3 using broadcasting model.
Dbc= Db1.Tablen β© Db2.Tablen β© Db3.Tablen
= { dbtb|dbtb Π Db1.Tablen & dbtb Π Db2.Tablen & dbtb Π Db3.Tablen }
Dbc refers to the records which are common in all the databases.
This occurs when a patient visits three health locations and at each one an EPR is created and stored locally.
As π‘π‘ππ‘ππ = π‘1+ π‘2+ π‘3
By using decompose:
π‘1 = π‘1 + π‘π + π‘π1,2+ π‘π1,3 π‘2 = π‘2 + π‘π+ π‘π2,3+ π‘π1,2 π‘3 = π‘3 + π‘π+ π‘π2,3+ π‘π1,3
Where, π‘1 is the time of the query needed to search the records of the tables which are not in common with other databases.
While π‘π is the time of the query needed to search the records of the tables which are in common with the other databases.
π‘π‘ππ‘ππ = (π‘1 + π‘2 + π‘3 ) + 3π‘π + 2π‘π1,2+ 2π‘π1,3+ 2π‘π2,3
For scenario 3:
ππππππβ = ( Ξ΄ti
SVSEPRS facilitates searching and viewing a selective EPRs fragments on cliniciansβ needs among scattered Healthcare organizations over the Internet is simulated mathematically as follows:
π‘1 = π‘1 + π‘π + π‘π1,2+ π‘π1,2,3+ β― + π‘π1,2,3,β¦,π + β― which are not in common with other databases.
While π‘π is the time of the query needed to search the records of the tables which are in common with the other databases.
π‘π‘ππ‘ππ = π‘1 + π‘2 + β― + π‘π + ππ‘π+ 2π‘π1,2+ 2π‘π1,3+ 2π‘π2,3+ β―
By using decomposition: which are not in common with other databases.
While π‘π is the time of the query needed to search the records of the tables which are in common with the other databases.
π‘π‘ππ‘ππ = π‘1 + π‘2 + β― + π‘π+1 + (π + 1)π‘π+ 2π‘π1,2+ 2π‘π1,3+ 2π‘π2,3+ β―
7.8 Summary
In this chapter, the requirements, design, architecture, and implementation processes of the proposed SVSEPRS are described as a federated system with a client-server multidimensional search engine.
Each local healthcare organisation creates and stores its own EPRs and the standard contents must be in compliance with a central server which maintains outlined EPR information dispatched by local systems. This can be used for searching, mapping, and viewing (using stored links pointing) EPR segments that are stored at various healthcare locations (feeder local system).
Each local server(s) has pointers to the central server(s) which can be used to dispatch the basic and essential EPR fields of information soon after creating it and storing it locally.
Using CMDSM, the core of the SVSEPRS, the system offers the participating healthcare professionals the opportunity to search on the more beneficial and relevant EPR segment for medical diagnosis or decision making which are stored at different OLAP cubes using the process of rolls up and drill down.
Using the most up-to-date Java technologies such as JSP and Servlets, this web based client server model allows participants healthcare providers and researchers to share a vital EPR segments using not just normal work station, but also for remote machine control such as PDAs. Thus, adoption of servlet technology allows the SVSEPRS service to activate in a scalable, reliable and robust manner as well as increasing the availability of the service.
Finally, this model is compared with a model that does not use client server (e.g. broadcasting peer-to-peer model) using the mathematical induction theory.
The results conclude that the proposed model (SVSEPRS) is faster in querying for a particular record stored at a specific location than the broadcasting model.