260 likes | 437 Views
CHARM Technical Overview, Lessons Learned, and Demonstration. Dr. Stephen Clyde, Associate Professor Computer Science Department / Utah State University Stephen.Clyde@usu.edu UDOH Brown Bag January 30,2008. Immunizations. Birth/Death Registry (Vital Statistics). WIC. Neonatal Follow-up.
E N D
CHARM Technical Overview, Lessons Learned, and Demonstration Dr. Stephen Clyde, Associate Professor Computer Science Department / Utah State University Stephen.Clyde@usu.edu UDOH Brown Bag January 30,2008
Immunizations Birth/Death Registry (Vital Statistics) WIC NeonatalFollow-up LeadScreening EarlyIntervention Newborn BloodScreening BirthDefectsRegistry CSHCN Early Hearing Detection and Intervention Data Sharing Possibilities
Some Key Goals • Provide seamless real-time access to current and authoritative information based on standardized data attributes • Help identify and merge duplicate data • Alert users of exceptional conditions • Ensure that participating programs retain stewardship over their own data • Allow participating programs to define what will be shared and with whom
Some Key Goals • Ensure confidentiality of client data • Ensure that program and department security policies are enforced • Satisfy HIPAA requirements • Allow new participating programs to easily "plug-in" into CHARM • Allow independent evolution of the individual information systems • Allow CHARM to grow in scope & size
CHARM Integration Infrastructure CISWeb-basedAccess Immunizations Birth/Death Registry (Vital Statistics) CHECEPSDT WIC NeonatalFollow-up LeadScreening CHARMIntegration Infrastructure NEDSS BRN MedicaidCHIP ORSIS(DHS) EarlyIntervention Newborn BloodScreening SAFE(DHS) BirthDefectsRegistry Early Hearing Detection and Intervention CSHCN
Primary CHARM-II Components CHARM Agent PP’s Info System PP’s Info System CHARM Server PP’s Info System Alert Engine Alert Engine Alert Engine Shared CHARM Components Participating Programs PP-Specific CHARM Components
Sample Scenario User Interfaces PP Information Systems PP-specific CHARM Components Shared CHARM Components USIIS Agent WebKids User (Web Browser) WebKids User (Web Browser) WebKids User (Web Browser) USIIS USIIS Alert Engine (Utah’s Immunization System) CHARM Server EHDI Agent HiTrack User (Web Browser) HiTrack User (Web Browser) HiTrack User (Web Browser) HiTrack EHDI Alert Engine (Utah’s EHDI System) VS User (Stand-alone App) VR User (Stand-alone App) VS Agent VR User (Stand-alone App) Vital Statistics VS Alert Engine
Sample Scenario –Step 1 User Interfaces PP Information Systems PP-specific CHARM Components Shared CHARM Components USIIS Agent WebKids User (Web Browser) WebKids User (Web Browser) WebKids User (Web Browser) USIIS USIIS Alert Engine (Utah’s Immunization System) A WebKids User requests the Hearing Screening History and Risk Factors for a child CHARM Server EHDI Agent HiTrack User (Web Browser) HiTrack User (Web Browser) HiTrack User (Web Browser) HiTrack EHDI Alert Engine (Utah’s EHDI System) VS User (Stand-alone App) VR User (Stand-alone App) VS Agent VR User (Stand-alone App) Vital Statistics VS Alert Engine
Sample Scenario – Step 2 User Interfaces PP Information Systems PP-specific CHARM Components Shared CHARM Components USIIS Agent WebKids User (Web Browser) WebKids User (Web Browser) WebKids User (Web Browser) USIIS USIIS Alert Engine (Utah’s Immunization System) The USIIS system formulates the query using the USIIS ID for the child and submits the query to its agent CHARM Server EHDI Agent HiTrack User (Web Browser) HiTrack User (Web Browser) HiTrack User (Web Browser) HiTrack EHDI Alert Engine (Utah’s EHDI System) VS User (Stand-alone App) VR User (Stand-alone App) VS Agent VR User (Stand-alone App) Vital Statistics VS Alert Engine
Sample Scenario – Step 3 User Interfaces PP Information Systems PP-specific CHARM Components Shared CHARM Components USIIS Agent WebKids User (Web Browser) WebKids User (Web Browser) WebKids User (Web Browser) USIIS USIIS Alert Engine (Utah’s Immunization System) The USIIS Agent translates the USIIS ID to a CHARM ID and passes the query onto The CHARM Server CHARM Server EHDI Agent HiTrack User (Web Browser) HiTrack User (Web Browser) HiTrack User (Web Browser) HiTrack EHDI Alert Engine (Utah’s EHDI System) VS User (Stand-alone App) VR User (Stand-alone App) VS Agent VR User (Stand-alone App) Vital Statistics VS Alert Engine
Sample Scenario – Step 4 User Interfaces PP Information Systems PP-specific CHARM Components Shared CHARM Components USIIS Agent WebKids User (Web Browser) WebKids User (Web Browser) WebKids User (Web Browser) USIIS USIIS Alert Engine (Utah’s Immunization System) The CHARM Server determines that it needs data from both HiTrack and Vital Records and send out appropriate service requests in parallel CHARM Server EHDI Agent HiTrack User (Web Browser) HiTrack User (Web Browser) HiTrack User (Web Browser) HiTrack EHDI Alert Engine (Utah’s EHDI System) VS User (Stand-alone App) VR User (Stand-alone App) VS Agent VR User (Stand-alone App) Vital Statistics VS Alert Engine
Sample Scenario – Step 5 The EHDI Agent receives a service request, translates the CHARM ID to a HiTrack ID, executes the necessary service in the HiTrack system. Similar events occur in VS Agent User Interfaces PP Information Systems PP-specific CHARM Components Shared CHARM Components USIIS Agent WebKids User (Web Browser) WebKids User (Web Browser) WebKids User (Web Browser) USIIS USIIS Alert Engine (Utah’s Immunization System) CHARM Server EHDI Agent HiTrack User (Web Browser) HiTrack User (Web Browser) HiTrack User (Web Browser) HiTrack EHDI Alert Engine (Utah’s EHDI System) VS User (Stand-alone App) VR User (Stand-alone App) VS Agent VR User (Stand-alone App) Vital Statistics VS Alert Engine
Sample Scenario – Step 6 User Interfaces PP Information Systems PP-specific CHARM Components Shared CHARM Components The HiTrack system returns the Request Hearing Screening History data. Similarly, Vital Records returns The requested Risk Factor data. USIIS Agent WebKids User (Web Browser) WebKids User (Web Browser) WebKids User (Web Browser) USIIS USIIS Alert Engine (Utah’s Immunization System) CHARM Server EHDI Agent HiTrack User (Web Browser) HiTrack User (Web Browser) HiTrack User (Web Browser) HiTrack EHDI Alert Engine (Utah’s EHDI System) VS User (Stand-alone App) VR User (Stand-alone App) VS Agent VR User (Stand-alone App) Vital Statistics VS Alert Engine
Sample Scenario – Step 7 The respective agents translate program-specific ID to CHARM IDs and return the results to the CHARM Server User Interfaces PP Information Systems PP-specific CHARM Components Shared CHARM Components USIIS Agent WebKids User (Web Browser) WebKids User (Web Browser) WebKids User (Web Browser) USIIS USIIS Alert Engine (Utah’s Immunization System) CHARM Server EHDI Agent HiTrack User (Web Browser) HiTrack User (Web Browser) HiTrack User (Web Browser) HiTrack EHDI Alert Engine (Utah’s EHDI System) VS User (Stand-alone App) VR User (Stand-alone App) VS Agent VR User (Stand-alone App) Vital Statistics VS Alert Engine
Sample Scenario – Step 8 User Interfaces PP Information Systems PP-specific CHARM Components Shared CHARM Components USIIS Agent WebKids User (Web Browser) WebKids User (Web Browser) WebKids User (Web Browser) USIIS USIIS Alert Engine (Utah’s Immunization System) The CHARM Server combines the results and returns them to USIIS Agent CHARM Server EHDI Agent HiTrack User (Web Browser) HiTrack User (Web Browser) HiTrack User (Web Browser) HiTrack EHDI Alert Engine (Utah’s EHDI System) VS User (Stand-alone App) VR User (Stand-alone App) VS Agent VR User (Stand-alone App) Vital Statistics VS Alert Engine
Sample Scenario – Step 9 User Interfaces PP Information Systems PP-specific CHARM Components Shared CHARM Components USIIS Agent WebKids User (Web Browser) WebKids User (Web Browser) WebKids User (Web Browser) USIIS USIIS Alert Engine (Utah’s Immunization System) The USIIS Agent translates CHARMIDs to USIIS IDs and returns the results to USIIS CHARM Server EHDI Agent HiTrack User (Web Browser) HiTrack User (Web Browser) HiTrack User (Web Browser) HiTrack EHDI Alert Engine (Utah’s EHDI System) VS User (Stand-alone App) VR User (Stand-alone App) VS Agent VR User (Stand-alone App) Vital Statistics VS Alert Engine
Sample Scenario – Step 10 User Interfaces PP Information Systems PP-specific CHARM Components Shared CHARM Components USIIS Agent WebKids User (Web Browser) WebKids User (Web Browser) WebKids User (Web Browser) USIIS USIIS Alert Engine (Utah’s Immunization System) WebKids displays the results to the user CHARM Server EHDI Agent HiTrack User (Web Browser) HiTrack User (Web Browser) HiTrack User (Web Browser) HiTrack EHDI Alert Engine (Utah’s EHDI System) VS User (Stand-alone App) VR User (Stand-alone App) VS Agent VR User (Stand-alone App) Vital Statistics VS Alert Engine
CHARM Server Components Server Components Person Matcher Query Monitor Demographic Data Audit Trail Manager Query Manager Address Cleaner Security Manager Deferred Match Resolver Catalog Merger
Person Matcher • Designed to • Accommodate front-end and back-end matching • Varying matching rules across data sources • Reuse component among front-end and back components • Take advantage of Address Cleaning • Operate in a stand-alone • Be adaptable to other systems • Support experimentation
Person Matcher FE Matching Rules FE Matching Rules BE Matching Rules FE Matching Rules Front-End Candidate Set Builder Back-End Candidate Set Builder FE API Back-End Controller Core Data Candidate set Candidate set Classifier
Current Status WebKidsUser USIIS USIIS Agent USIIS Alert Eng. HiTrack for Windows Oliver HiTrack Vital Statistics VS Agent EHDI Agent VS Alert Eng. CHARM Server EHDI Alert Eng. EI Alert Eng. EI Agent BTOTS ORS Agent BTOTS, StateApp EI Web Service ORSIS BTOTS, ProvideApp ORS User Interface
Next Steps WebKidsUser USIIS USIIS Agent USIIS Alert Eng. HiTrack for Windows Oliver HiTrack Vital Statistics VS Agent EHDI Agent VS Alert Eng. CHARM Server EHDI Alert Eng. Web Agent EI Alert Eng. EI Agent NBS Alert Eng. NFP Alert Eng. CHARM Web BTOTS ORS Agent BTOTS, StateApp NFP Agent NBS Agent EI Web Service ORSIS NFP NBS BTOTS, ProvideApp NFP GUI ORS User Interface LIMS
Goals of CHARM, Version 2 • Improved Service-oriented Architecture • Cross-program Data Synchronization • Replace period “data loading” with real-time publication and distribution of changes • Improved Performance • Improved Maintainability • Few dependencies on third-party tools • Simpler Catalog • Better tools for defining new queries
Lessons Learned • Data Quality Issues • The devil’s in the details • Determining the semantics of existing data can be like interpreting the findings of an archeological dig • The meaning of data fields can change over time • When data is moved around its meaning can be inadvertently modified • Try to identify “special values”, their sources and relevant time frames • Systematic analysis of real data needs to be part of the project plan
Lessons Learned • Matching • Needs tuned for specific data sources • Needs to take into account drift in data semantics • Testing • Performance testing • Beta testing • System Operations • Setup and changes can take much longer than expected
Contact Information Stephen Clyde Utah State University Computer Science Department Old Main Hill 4205 Logan, UT 84322-4205 (435) 797-2307 Stephen.Clyde@usu.edu Angelique Crane Multimedia Data Service Corp. P.O. Box 73 Hyde Park, UT 84318 (435) 787-7429 angel@mdsc.com