Artikel
Fire B.O.S.S. – BaseX oriented storage system for FHIR data
Suche in Medline nach
Autoren
Veröffentlicht: | 15. September 2023 |
---|
Gliederung
Text
Introduction: The Fast Healthcare Interoperability Resources (FHIR) standard has gained wide adoption in the healthcare industry for the exchange of medical data [1]. Efficient storage and retrieval of FHIR resources is crucial for healthcare organizations to enable interoperability and facilitate research on routine care data. However, querying FHIR resources according to the FHIR specification is limited by the capabilities of FHIR search [2]. One main limitation of FHIR search operations is that they require search parameters defined by FHIRPath expressions to be stored on the server in advance. In this abstract, we created a FHIR repository implementation based on BaseX [3], a high- performance XML database management system, for storing and managing FHIR resources, which supports XPath and XQuery as more powerful query languages.
Methods: The implementation was done using the Kotlin programming language and uses the capabilities of the HAPI FHIR library to create repositories by implementing a facade on top of existing databases and data structures. Create, read, update and delete (CRUD) operations were implemented by storing or retrieving the XML representation of FHIR resources directly in the BaseX database. A JSON representation is converted to XML, if necessary. To implement support for FHIR search, a converter for the basic operations of FHIRPath to XPath was created. This XPath query is evaluated in the BaseX database and the result is returned as FHIR Bundle. If a FHIR search query combines multiple search parameters, these XPath queries are combined to a larger XQuery.
Results: The Fire B.O.S.S. repository implements the key REST operations of a FHIR repository, providing a drop-in replacement for existing repository solutions. The successful conversion of FHIR search expressions to XQuery demonstrates that XQuery is at least as powerful as FHIR search.
Using BaseX to store FHIR data offers several advantages: The XML- document-oriented search capabilities allow efficient querying of FHIR resources based on any part of their content, making it easy to retrieve resource elements that are not accessible via FHIR search. Moreover, XQuery enables sophisticated transformations of FHIR data, such as combining information from multiple resources into a single XML document. The extensibility of XQuery also allows users to define custom functions that enable tailored solutions for specific requirements like pseudonymization.
The basic operations of the Fire B.O.S.S. repository were compared to the Blaze FHIR server [4]. Comparisons were performed with a small synthetic dataset. Real life application has yet to be accomplished. In this comparison, Blaze performed better for all tested operations. Create operations took an average of 176.91 ms per resource with our solution, while they took 15.29 ms with Blaze. Similarly, our solution took an average of 12667.00 ms per bundle, while it took 1242.73 ms with Blaze. Reads can be performed in 211 ms on average with our solution, while they take 48 ms with Blaze. When comparing FHIR search operations, our solution takes an average of 272 ms for different query types, while it takes 58 ms with Blaze.
The implementation is available under https://github.com/imi-muenster/Fire-B.O.S.S.
Discussion: The expanded capabilities of XQuery come with some drawbacks: Queries tend to be larger and more complex than their FHIR search counterpart. The XML representation of FHIR resources is less used than the JSON representation, so many people are not familiar with it. The comparisons with Blaze also show that BaseX as a storage solution is accompanied by a loss in performance compared to other FHIR servers. We are currently investigating the use of other document-oriented databases such as MongoDB that can store FHIR resources directly, whose query language might be easier to use. In this investigation we are also comparing the query capabilities of different languages such as CQL, SQL, MongoDB or XQuery with FHIR data.
Conclusion: BaseX offers a powerful and reliable solution for storing and managing FHIR data. The capabilities offered by XQuery go beyond those of FHIR search, making it a viable solution for managing and processing research data.
The authors declare that they have no competing interests.
The authors declare that an ethics committee vote is not required.
References
- 1.
- Vorisek CN, Lehne M, Klopfenstein SAI, Mayer PJ, Bartschke A, Haese T, Thun S. Fast Healthcare Interoperability Resources (FHIR) for Interoperability in Health Research: Systematic Review. JMIR Med Inform. 2022;10(7):e35724. DOI: 10.2196/35724
- 2.
- Gulden C, Mate S, Prokosch HU, Kraus S. Investigating the Capabilities of FHIR Search for Clinical Trial Phenotyping. Stud Health Technol Inform. 2018;253:3-7.
- 3.
- Grün C, Holupirek A, Scholl MH. Visually Exploring and Querying XML with BaseX. In: Kemper A, et al, editors. Datenbanksysteme in Business, Technologie und Web (BTW); 7.-9.3.2007; Aachen. Bonn: GI; 2007. p. 629-632. URN: urn:nbn:de:bsz:352-opus-118154
- 4.
- Kiel A, Deppenwiese N, Kroll B, Engels C, Ebert L, Lablans M, Hummel H. Feasibility Studies with HL7 FHIR® and Clinical Quality Language. In: Deutsche Gesellschaft für Medizinische Informatik, Biometrie und Epidemiologie, editor. 65th Annual Meeting of the German Association for Medical Informatics, Biometry and Epidemiology (GMDS), Meeting of the Central European Network (CEN: German Region, Austro-Swiss Region and Polish Region) of the International Biometric Society (IBS). Berlin, 06.-09.09.2020. Düsseldorf: GMS; 2021. DocAbstr. 284. DOI: 10.3205/20gmds080