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. Technical Architecture Storyboard: Making the Referral 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 Use International Standards FHIR CDA V3 V2 13606 OpenEHR 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.