10
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | BDB-DICOM Sample Program Capturing and using large data objects with BDB Berkeley DB

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | BDB-DICOM Sample Program Capturing and using large data objects with BDB Berkeley

Embed Size (px)

Citation preview

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

BDB-DICOM Sample ProgramCapturing and using large data objects with BDB

Berkeley DB

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

2

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Berkeley DB

Issues/Trends/Challenges in Health Industry

3

• Unable to share patients’ medical images between systems, labs, hospitals.

• Hard to search and manage.

ISSUES

• 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?

Oracle Differentiator

TREND CHALLENGES

Oracle Database 12c Multimedia

DICOM

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Berkeley DB 4

Architecture

DICOM Server

Oracle Database MultimediaBDB Client

HTTP JDBC

HTTP

HTTP

HTTP

Request

Stream

Group

db file or data stream

db file or data stream

db file or data stream

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Berkeley DB

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.

5

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Berkeley DB 6

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 DICOMDICOM in DB

Oracle database BDB

Format Single file (X~XX MB) Blob (X~XX MB) Stream (X~XX KB)

Metadata 2000+ XML metadata

2000+ attributes fromXML 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 7

BDB-DICOM Client on Mobile Device Query & Retrieval

• List DICOM in BDB– List grouped attributes– Display thumbnail (JPEG)

• Query on attributes– 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

Patient Study Acquisition

name, sex, birth day, history, etc

date, description, institution name, etc

operator, manufacturer, time, date, etc

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Berkeley DB 8

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

Length value ID Length value Length value … …

Length value

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Berkeley DB

Accessing the demo

• YouTube: https://www.youtube.com/watch?v=zpFrgXgSXrY• OTN: http://

www.oracle.com/technetwork/database/database-technologies/berkeleydb/learnmore/index.html– Look for “DICOM video walkthrough”

9