Research project for semantic queries on medical images (DICOM format)
It's a micro-services architecture developed in Java and run/deployed in Docker containers.
- Java 12
- Spring-boot 2.1.4.RELEASE
- Maven 3.6.1
- Docker & Docker-Compose
- MySQL
- Unit test with Mockito
The architecture is composed by the following micro services mounted on docker containers:
- Registry / Discovery: Service Discovery (Eureka)
- Gateway: Spring Cloud Gateway
- Dicom API:
- Eureka dashboard: http://localhost:8761/
- Dicom Swagger UI: http://localhost:8080/dicom/swagger-ui.html
- Entities
- List all images: http://localhost:8080/dicom/images/
- Get an specific image: http://localhost:8080/dicom/images/## where "##" is the image ID
- List all series: http://localhost:8080/dicom/series/
- Get an specific series: http://localhost:8080/dicom/series/## where "##" is the series ID
- List all studies: http://localhost:8080/dicom/studies/
- Get an specific study: http://localhost:8080/dicom/studies/## where "##" is the study ID
A complete study can be inserted with the help of Swagger by this JSON:
{
"id": "ST001",
"name": "X-Ray Angiography",
"patient": "Jhon Doe",
"series": [
{
"id": "SS001",
"images": [
{
"id": "IMG001",
"notes": "Medium and high right arm",
"series": { "id": "SS001" }
},
{
"id": "IMG002",
"notes": "High right leg",
"series": { "id": "SS001" }
}
],
"modality": "XA",
"study": { "id": "ST001" }
}
]
}