170 likes | 332 Views
FHIR and Primary Care Systems; and a FHIR Query Tool. Robert Worden Open Mapping Software Ltd robert@OpenMapSW.com. Swindon CCG – Referrals from GPs to Urgent Care Centres. GPs to refer selected appointments to Urgent Care Centres (UCC)
E N D
FHIR and Primary Care Systems;and a FHIR Query Tool Robert Worden Open Mapping Software Ltd robert@OpenMapSW.com
Swindon CCG – Referrals from GPs to Urgent Care Centres • GPs to refer selected appointments to Urgent Care Centres (UCC) • Send patient’s care record from GP system to UCC system • Send updated care record back from UCC system to GP • GPs use EMIS Web, INPS, TPP • UCC uses EMIS Web • Using FHIR as a common exchange format • Not REST - push from the GP system (GP in charge) • Black Pear and Open Mapping Software developing • First proof of concept tested (EMIS only)
Technical Approach • Using Black Pear’s Pyrusium framework • Pyrusium provides a web app container, with browser on the GP Desktop • Pyrusium injects a javascript library to the web app which allows interaction with EMIS Web via the api. • GP composes referral • Extracts patient medical record in EMIS Open XML • Transformed to FHIR resources (developed through mappings) • Sent to UCC system • Transformed to EMIS Open medical record (round trip) and input to UCC . • UCC sends back updated care record by the same route.
Transforming the EMIS Open Patient Record to FHIR • Not a document or FHIR composition ; a bundle of FHIR resources: • Patient • Practitioner • Encounter • Condition • MedicationPrescription • Medication • AllergyIntolerance • Observation • Transforms and round-trips developed from mappings • No FHIR resource profiles needed (yet) • No need to be concerned about deep document structures • Semantic issues arise mainly from the EMIS web side, not the FHIR side
Semantic Issues • These have not arisen from limitations of the FHIR resource models (yet) • Ambiguities in interpreting elements in EMIS Web XML • Arise from how EMIS is used by practitioners to record information • Events may be nested inside consultations, or in event lists • Similar looking <event> element may represent a medication prescription, a condition, or an observation • But events have Read codes • HSCIC have published mappings from Read codes to Care Record Events • We are using these mappings to disambiguate EMIS events for transformation
Current Developments • Will extend this work to INPS, TPP • FHIR interfaces to GP systems are usable in other contexts – e.g. integration with Social care, community care, Health Information Exchange,... • An increasing range of applications are becoming FHIR enabled (GP systems, PAS, MPI, Social Care...) • Eases the path to local integration (FHIR is simpler, FHIR APIs exist) • May be relevant to GPSoC 2 Standard Open APIs
GPSoC 2 Standard Open APIs • GP System suppliers now provide Open APIs under GPSoC 2. • But each GP system has a different Open API • The NHS England intention is to move towards one standard Open API for GP systems. • Part of a broader Open API strategy • Should the GPSoC APIs be based on international standards? • Should they align with other open APIs used in NHS? • Is FHIR a candidate for the GPSoC Open API?
GPSoC Open API: Choices FHIR CDA V3 V2 13606 OpenEHR Use International Standards GPSoC Standard Open API UK Local Solution ? Is FHIR a candidate standard for non-document applications?
Need for a FHIR Query Tool • Semantic issues often arise from the non-FHIR end of an exchange • When FHIR interfaces exist, you can use FHIR to explore these issues • Need to compare FHIR resources side by side from one or more FHIR servers, or FHIR sources • Need convenient ways to select resources (i.e use FHIR search) , compare and save them • OMS are developing a query tool
FHIR By Example • Interactive, web-based query tool • Can query any FHIR server, for any FHIR resource • Compare resources from different servers side by side • Define selection of resources by filling in the blanks (like Query by Example, QBE) • One table per resource; columns defined by configuration files
Startup • Configured to access selected servers, for selected resources • Gets server metadata (Conformance resources) to check which servers support which resource • Shows this information as a matrix
Showing Resource Tables • Table columns are defined in a configuration file • Second row allows input of QBE filter criteria • Uses logical ‘AND’ of criteria entered • Uses FHIR search when supported by the server; otherwise filters resources itself
Running Searches • Enter criteria in QBE cells, then hit ‘Search’ button • Sends search requests to all active servers • Filters and displays results
Using Query Results • Sort results by any column for comparisons (within or across servers) • Manual filtering of resources • Save results, as a table or resource bundle
Status & Plans • Currently a wire-frame prototype; but it works • Considering how to do joins between resources • Runs as a web service under Tomcat • Will be a free download from OMS website • Beta testers needed soon • Contact rpworden@me.com for details.