BDB-DICOM Sample Program Capturing and using large data objects with BDB Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Berkeley DB The Purpose • The purpose of the sample program is to demonstrate how to use Oracle Berkeley DB in medical mobile applications. – It illustrates how Oracle Berkeley DB can be used to store, retrieve and query DICOM files for offline usage on Windows mobile devices – The sample program is written as a proof of concept, and is not supposed to be used directly in production. • The sample program is built with the typical three-tier architecture – Oracle DB as the persistent layer – The sample program includes both a server program and a client program for Windows mobile devices – The client program uses Oracle Berkeley DB for offline storage Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Berkeley DB 2 Issues/Trends/Challenges in Health Industry Oracle Differentiator DICOM Oracle Database 12c Multimedia ISSUES TREND CHALLENGES • Unable to share patients’ medical images between systems, labs, hospitals. • Hard to search and manage. • Centralized management in DICOM-tailored database Oracle Database Multimedia. • Digitalization and telemedicine • Doctor needs fast, easy access - local persistence. • Multiple Data Sources needs embedded database • Telemedicine - anytime and anywhere? Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Berkeley DB 3 Architecture db file or data stream Group db file or data stream HTTP HTTP Stream HTTP Request JDBC HTTP db file or data stream BDB Client DICOM Server Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Berkeley DB Oracle Database Multimedia 4 The Coding • The sample server is written in Java. It is responsible for serving client requests by retrieving DICOM objects from Oracle database and sending them to clients in a custom-made protocol. • The sample client is written in C++. To support offline access to the DICOM objects, Oracle Berkeley DB is used to provide persistent cache of the objects. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Berkeley DB 5 BDB-DICOM Client on Mobile Device Download & Storage • Download with HTTP protocol • Store serialized DICOM into BDB – DICOM = <key, value> • Key: DICOM id in Oracle database • Value: Predefined subset of DICOM metadata – Consistent with DICOM but more compact Content DICOM in DB DICOM Oracle database BDB Format Single file (X~XX MB) Blob (X~XX MB) Stream (X~XX KB) Metadata 2000+ XML metadata 2000+ attributes from XML in blob Predefined interesting attributes’ Image Binary data Image data in blob Thumbnail Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Berkeley DB 6 BDB-DICOM Client on Mobile Device Query & Retrieval • List DICOM in BDB – List grouped attributes – Display thumbnail (JPEG) • Query on attributes Patient Study name, sex, date, birth day, description, history, etc institution name, etc Acquisition operator, manufacturer, time, date, etc – Single query: $attribute = value – Combinational query: “AND” • Query hint – List all attributes – List all values on common attributes (patient’s name, modality, etc) • Query checking – Immediate checking on queried attribute’s name Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Berkeley DB 7 BDB-DICOM Client on Mobile Device Update & Delete • Modify DICOM attribute – Partially update the old record in BDB – Avoid rewriting other attributes and image content ID … Length value Length value Length value Length value … Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Berkeley DB 8 Accessing the demo • YouTube: https://www.youtube.com/watch?v=zpFrgXgSXrY • OTN: http://www.oracle.com/technetwork/database/databasetechnologies/berkeleydb/learnmore/index.html – Look for “DICOM video walkthrough” Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Berkeley DB 9
© Copyright 2026 Paperzz