Exception Resolving System MAHI DATABASE FRAMEWORK CS 551 FALL’02 -SANJEEV NAGARADDI -DIKSHA...
-
Upload
angela-williamson -
Category
Documents
-
view
212 -
download
0
Transcript of Exception Resolving System MAHI DATABASE FRAMEWORK CS 551 FALL’02 -SANJEEV NAGARADDI -DIKSHA...
Exception Resolving System
MAHI DATABASE FRAMEWORK
CS 551
FALL’02
-SANJEEV NAGARADDI
-DIKSHA AGARWAL
-PAMAJA NEELAM
-SONAL PATIDAR
Why the need for our web service?
The Shawnee Mission Health System admits thousands of patients each day for various medical concerns. One of the branches of this health system is the Mid America Heart Institute (MAHI), which deals with people who suffer from some cardiac ailment. Each night a proprietary application known as the Star Enterprise System FTPs an ASCII document that contains admission information about patients to intermediary systems that will eventually store this information in a clinical repository.
In this nightly batch processing of Admission data from the enterprise systems it is possible for exceptions to occur preventing the creation of patient or admission data in the Clinical Explorer database.
A Snapshot from the Exception file
<exception exception_text="Data for 'patient' entity differs between incoming record and database record!" record_number="11" exception_code="5" entity_type="patient">- <entity record_number="11"> <lname quoted_type="true" uses_table="patient">AINSWORTH</lname> <fname quoted_type="true" uses_table="patient">BETTY</fname> <middle quoted_type="true" uses_table="patient">JO</middle> <cpi quoted_type="true" uses_table="patient_xref" xref_id_type="312">00648910</cpi> <adm_date quoted_type="true" uses_table="admit">07/30/2002</adm_date> <dob quoted_type="true" uses_table="patient">11/17/1925</dob> <sex uses_table="patient">1650</sex> <race uses_table="patient">360</race> <adm_dx quoted_type="true" uses_table="admit">V76.12-SCREEN MAMMOGRAM NEC</adm_dx> <mrno quoted_type="true" uses_table="patient_xref" xref_id_type="311">0000006545</mrno> <ssn quoted_type="true" uses_table="patient">494209227</ssn> <contact_type uses_table="contact">44</contact_type> <address1 quoted_type="true" uses_table="contact">7411 W 101ST TERRACE</address1> <city quoted_type="true" uses_table="contact">SHAWNEE MISSION</city> <state_province_id uses_table="contact">KS</state_province_id> <postal_code quoted_type="true" uses_table="contact">66212</postal_code> <ptacctno quoted_type="true" uses_table="admit">0221100638</ptacctno> <hosp_location_id uses_table="admit">6</hosp_location_id> </entity>- <database_record> <patient_id>349205</patient_id> <legacyid>56387</legacyid> <lname>AINSWORTH</lname> <fname>BETTY</fname> <middle>J</middle> <sex>1650</sex> <race>360</race> <ssn>493300290</ssn> <dob>5/8/1930</dob> <complete>0</complete> <username>dbo</username> <modify_time>2/1/2001</modify_time> </database_record>
A Snapshot from Exception Files
<exception exception_text="Entity record matches more than 1 'patient' record in database!" record_number="27" exception_code="1" entity_type="patient">- <entity record_number="27"> <lname quoted_type="true" uses_table="patient">ANDERSON</lname> <fname quoted_type="true" uses_table="patient">CAMYLA</fname> <cpi quoted_type="true" uses_table="patient_xref" xref_id_type="312">01464644</cpi> <adm_date quoted_type="true" uses_table="admit">07/30/2002</adm_date> <dob quoted_type="true" uses_table="patient">01/25/1979</dob> <sex uses_table="patient">1650</sex> <race uses_table="patient">360</race> <mrno quoted_type="true" uses_table="patient_xref" xref_id_type="311">0001314600</mrno> <ssn quoted_type="true" uses_table="patient">508119412</ssn> <contact_type uses_table="contact">44</contact_type> <address1 quoted_type="true" uses_table="contact">195 SE 51 RD</address1> <city quoted_type="true" uses_table="contact">WARRENSBURG</city> <state_province_id uses_table="contact">MO</state_province_id> <postal_code quoted_type="true" uses_table="contact">64093</postal_code> <ptacctno quoted_type="true" uses_table="admit">0221100716</ptacctno> <hosp_location_id uses_table="admit">2</hosp_location_id> </entity>- <matches>- <entities> <entity weight="1095" entity_id="18433" /> <entity weight="1095" entity_id="132576" /> </entities> <entity_count>2</entity_count> </matches> </exception>
Why the need for our web service?cont..
A query component was proposed that would query these exception files when a query by the user returns no rows against the database.Our component would locate a record in the exception files which is in XML format.The entity data within the exception file will be extracted and reformatted into another XML file format, which is used for data recovery in the Clinical Explorer UI. This file is then bound to a form in the UI allowing the user to create the entity in the database.
MAHI Repository
COMComponents
NT Services
.NetComponents(Wrappers)
.Net WebServices
.Net WebControls
.Net WebApplications
Web Browser
ClinicalExplorer
(WindowsClient)
SOAP Calls
HTTP CallsHTTP Calls
.Net to COM Calls
COM Calls
ADO and ODBC Calls
System Clients
WebApplications and
Controls:MahiDBAdminToolsSite,
MahiWebControls
Web Services:MahiDBWebService
Data Store
Core SystemComponents:
MahiCodeCache,MahiDataBroker,
MahiDBAdminTools
Back OfficeSystems:
DataMoverMonitorService,MahiCodeCacheService .Net/COM Interop:
MahiDBAdminToolsWrapper,MahiDataExceptionHandling
ADO.Net Calls
ADO.Net Calls
Exception Resolving SystemException Resolving System
.Net Component
FindEntityDB CheckDBResult
FindEntityExFile CheckCEResponse
CheckExFileResult
PassThroughService
MAHIDBWebService
DeleteNode
MAHIExWebService ExFilesSearchService
ConfirmDeleteService
Clinical Explorer
<<include>><<include>>
<<extend>>
<<extend>> <<extend>>
Exception Resolving System
Exception Resolving System
Forwarding search request
Receiving Query - Mahi DB
searching exception files
returning results to clinical explorer
returning recovery file to clinical explorer
returning null string to clinical explorer
receiving choice of node
receving confirmation for deleting node
returning results to clinical explorer
Deleting the node
Advanced search initiated
zero matches returned
more than zero matches returned
>1 match found
exactly one match found
no match found
Exception Resolving System
:Clinical Explorer
: MahiExWebService : MahiDBWebService
ExFilesDirectory
:MahiExFileResolver
1: Advanced Search
8: Return null string
2: Find Entity in DB
3: Return zero matches
4: Find in exception files
5: Search in exception files
6: Return zero matches
7: Pass null string
Totally new patient – no matches found in the database or Exception Files
Exception Resolving SystemNo matches found in the Database but a single match found in exception files
:Clinical Explorer:MahiExWebService
: MahiDBWebService
ExFilesDirectory
:MahiExFileResolver
5: Search in Exception Files 6: Return Single Record
4:Find in Exception Files7: Recovery File
2: Find Entity in DB1: Advanced Search
3: Return Zero matches8: Pass Recovery File
Exception Resolving SystemNo matches found in the database but more than one found in exception files
:Clinical Explorer
: MahiExWebService : MahiDBWebService
ExFilesDirectory
:MahiExFileResolver
5: Search in exception files
4: Find in exception files
11: Pass recovery file
6: Return all matches
7: Pass all matches
10: Pass selected choice
14: Perform Delete
15: Delete the node
1: Advanced Search
8: Pass all matches
9: Pass selected choice
12: Pass recovery file
13: Send delete confirmation
2: Find Entity in DB
3: Return zero matches
1: Advanced Search 2: Find Entity in DB
4: Pass all matches 3: Return all matches
One or more match found in the Database
Exception Resolving System
:Clinical Explorer
: MahiExWebService
:MahiDBWebService
Exception Resolving System
Class Diagram