mahi research database
DESCRIPTION
MAHI Research Database. Project Directions June 7, 2001. Overview of Client Requirements. Quaterly reports (STS, ACC) Data to/from external organizations. General patient data Simple queries. Fast & reliable queries Add new data points. Efficient data storage - PowerPoint PPT PresentationTRANSCRIPT
MAHI Research MAHI Research DatabaseDatabase
Project DirectionsProject Directions
June 7, 2001June 7, 2001
Overview of Client RequirementsOverview of Client Requirements
Biostatisticians
IS Patients
Physicians
Management
MAHI Research Database
• Quaterly reports (STS, ACC)• Data to/from external organizations
• General patient data• Simple queries
• Fast & reliable queries• Add new data points
• Efficient data storage• Internal security• Extensibility • Maintenance
Q R A
Change Request/Record Editor
MGenerates user interface using DHTML, ASP
Processing, normalization using ATL, COM, C++
Ad-Hoc Query
ODBC
HL7
SAS
SPSS
ASCII
ACC
STS
PatientPrimary customer:
Physicians
T
HL7
ODBC
ASCII
Digital Sender
Management Database
(contains metadata)
MAHI DB Interface(HTML?)
DTS L
DB Explorer user interface
Currently manually implemented using SQL scripts
Digital form scanner/transmitter
(model HP 9100C)
Legacy database (no quarantine/data cleansing)
Interim Solution
Concept Diagram of MAHI Architecture(designed by: Kelly Kerns)
Cardiff (optical recognition
software)
Current ImplementationCurrent Implementation
Status:Status:
Interim solution in placeInterim solution in place
Angioplasty and Cardiac Angioplasty and Cardiac Cath data availableCath data available
Simple queries available Simple queries available via DB Explorervia DB Explorer
Limitations:Limitations:
Missing Surgical data Missing Surgical data (legacy database)(legacy database)
Unable to perform Unable to perform quarterly reportsquarterly reports
No single repository to No single repository to store common datastore common data
No simple analytic tools No simple analytic tools built-inbuilt-in
Why are we using a database?Why are we using a database?
To expose legacy dataTo expose legacy data
To record/store/maintain/access patient and treatment To record/store/maintain/access patient and treatment informationinformation
To allow extraction and investigative analysis of above To allow extraction and investigative analysis of above informationinformation
To meet clinical organization IS standardsTo meet clinical organization IS standards
To collect and store data from external entitiesTo collect and store data from external entities
Storage and ProcessingStorage and Processing
MAHI’s storage and processing needs are MAHI’s storage and processing needs are data-data-centriccentric (as opposed to document-centric), (as opposed to document-centric), related to related to dynamic procedures, dynamic procedures, andand patient- patient-oriented.oriented.
Storage and Retrieval technologiesStorage and Retrieval technologies
Database (relational, OO, hierarchical) and middleware Database (relational, OO, hierarchical) and middleware (built-in or 3(built-in or 3rdrd party) party)
Data warehousingData warehousing
XML serverXML server
- Native XML database to manage large numbers of XML - Native XML database to manage large numbers of XML
documentsdocuments
XML-enabled web server XML-enabled web server
- Web server that can build XML documents from data in a - Web server that can build XML documents from data in a
databasedatabase
Database features of XMLDatabase features of XML
Storage (XML documents)Storage (XML documents)
Schemas (DTDs, XML Schema)Schemas (DTDs, XML Schema)
Query language (XQuery)Query language (XQuery)
Programming interface (SAX, DOM)Programming interface (SAX, DOM)
Why XML as storage format? (contd.)Why XML as storage format? (contd.)
System needs to store data with repeating fieldsSystem needs to store data with repeating fields Example:Example:
Caregiver has several patients (some repeat patients)Caregiver has several patients (some repeat patients)Location can be used for multiple encountersLocation can be used for multiple encountersPatient may be administered multiple materials/medication (some Patient may be administered multiple materials/medication (some prescriptions are repeated)prescriptions are repeated)
XML provides mechanism to quickly parse and extract data with XML provides mechanism to quickly parse and extract data with repeating structure, or to generate new documents.repeating structure, or to generate new documents.
System needs to store data with arbitrary lengthSystem needs to store data with arbitrary length Example:Example:
Text of medical notesText of medical notes XML can store nested elements of arbitrary depth and length.XML can store nested elements of arbitrary depth and length.
Why XML as storage format? (contd.)Why XML as storage format? (contd.)
System needs to exchange information with other System needs to exchange information with other organizationsorganizations
Example:Example:External Stroke database, external Women’s Health Clinic External Stroke database, external Women’s Health Clinic database, external HL7 compliant database; currently this formatting database, external HL7 compliant database; currently this formatting has to be done manually because data formats are different. has to be done manually because data formats are different.
XML can be used to make formatting easier (similar data items XML can be used to make formatting easier (similar data items will have similar markup tags; more human readable), and will have similar markup tags; more human readable), and possibly automate some of the work by using DTDs/Schemas as possibly automate some of the work by using DTDs/Schemas as reference.reference.
Why XML as storage format? (contd.)Why XML as storage format? (contd.)
System needs to store standard queries/analytical System needs to store standard queries/analytical results for display on multiple end-user client appsresults for display on multiple end-user client apps
Example:Example:Currently, Kelly and biostatisticians have to make specialized query Currently, Kelly and biostatisticians have to make specialized query every time it is requested by a user.every time it is requested by a user.
Standard queries can be stored as SQL procedures, and query Standard queries can be stored as SQL procedures, and query results can be returned in a single XML format document (with results can be returned in a single XML format document (with its associated DTD) to be transformed into views for multiple its associated DTD) to be transformed into views for multiple end-users (e.g. via XML-enabled web server).end-users (e.g. via XML-enabled web server).
Why XML as storage format? (contd.)Why XML as storage format? (contd.)
System needs to store metadataSystem needs to store metadata Example:Example:
Medical groups access to information, originating source of data, Medical groups access to information, originating source of data, etc.etc.
Metadata can be easily incorporated into XML documents as Metadata can be easily incorporated into XML documents as attributes in the element tags.attributes in the element tags.
Example:Example: <Caregiver id=“1234” medgroup=“MHI”><Caregiver id=“1234” medgroup=“MHI”>
<name> … </name><name> … </name>
<ssn> … </ssn><ssn> … </ssn>
<type> … </type><type> … </type>
</Caregiver></Caregiver>
Limitations of XML as storage formatLimitations of XML as storage format
Efficient storage?Efficient storage?
Security?Security?
Transactions and data integrity?Transactions and data integrity?
Multi-user access?Multi-user access?
Recovery and fault-tolerance?Recovery and fault-tolerance?
Queries across multiple documents?Queries across multiple documents?
Others?Others?
An XML extension to existing architectureAn XML extension to existing architecture
Q R
Legacy
Extender
Converter
(e.g. Surgical database)
Current architecture
Neutral storage facility
Legacy storage
Q/R
H
Adaptable front-end apps for Query/Report
Report Harvester (e.g. ACC, STS)
I
Input data
Adapter
XQ XR
XML
Key tasks (initial thoughts)Key tasks (initial thoughts)
Develop storage facility for XML documentsDevelop storage facility for XML documents
Design schema/DTD for data to be converted and storedDesign schema/DTD for data to be converted and stored
Develop retrieval (via query) facility for searching, Develop retrieval (via query) facility for searching, indexing, extraction, and analysis of documentsindexing, extraction, and analysis of documents
Perform data conversion of legacy databasePerform data conversion of legacy database
Integrate into existing architecture Integrate into existing architecture
Modified Project TasksModified Project Tasks
Re-visit the tables in the Repository data storeRe-visit the tables in the Repository data store Re-engineerRe-engineer
Validate structure of Repository data modelValidate structure of Repository data model
Develop a X-Quarantine using XML (from Legacy & New Develop a X-Quarantine using XML (from Legacy & New Data)Data)
Develop a process from X-Quarantine to RepositoryDevelop a process from X-Quarantine to Repository
Develop a process from Repository to X-RepositoryDevelop a process from Repository to X-Repository
Query tool (for Bio-Statistician) from X-RepositoryQuery tool (for Bio-Statistician) from X-Repository
Other IssuesOther Issues
Ensure X-Repository information is ‘secure’ (i.e. bio-Ensure X-Repository information is ‘secure’ (i.e. bio-statisticians can ‘trust’.)statisticians can ‘trust’.)