Skip to content

feat(mpps): add service for modality performed procedure step - #76

Open
feliwir wants to merge 1 commit into
UMEssen:mainfrom
mbits-imaging:mpps
Open

feliwir wants to merge 1 commit into
UMEssen:mainfrom
mbits-imaging:mpps

Conversation

@feliwir

@feliwir feliwir commented Oct 26, 2026

Copy link
Copy Markdown
Contributor

This implements the MPPS part of #26 . We already have MWL-RS.
Uses parts of #63

Validated against dcm4chee, which is the only open MPPS implementation i know about

Validated against dcm4chee, which is the only open MPPS implementation i know about
Comment thread src/api/mpps/service.rs
Comment on lines +20 to +24
#[async_trait]
pub trait MppsService: Send + Sync {
/// Create Transaction.
/// <https://dicom.nema.org/medical/dicom/current/output/chtml/part18/sect_15.4.html>
async fn create(&self, request: MppsCreateRequest) -> Result<(), MppsError>;
Comment thread src/api/mpps/service.rs
Comment on lines +20 to +28
#[async_trait]
pub trait MppsService: Send + Sync {
/// Create Transaction.
/// <https://dicom.nema.org/medical/dicom/current/output/chtml/part18/sect_15.4.html>
async fn create(&self, request: MppsCreateRequest) -> Result<(), MppsError>;

/// Update Transaction.
/// <https://dicom.nema.org/medical/dicom/current/output/chtml/part18/sect_15.5.html>
async fn update(&self, request: MppsUpdateRequest) -> Result<(), MppsError>;
Comment thread src/api/mpps/service.rs
Comment on lines +20 to +32
#[async_trait]
pub trait MppsService: Send + Sync {
/// Create Transaction.
/// <https://dicom.nema.org/medical/dicom/current/output/chtml/part18/sect_15.4.html>
async fn create(&self, request: MppsCreateRequest) -> Result<(), MppsError>;

/// Update Transaction.
/// <https://dicom.nema.org/medical/dicom/current/output/chtml/part18/sect_15.5.html>
async fn update(&self, request: MppsUpdateRequest) -> Result<(), MppsError>;

/// Retrieve Transaction.
/// <https://dicom.nema.org/medical/dicom/current/output/chtml/part18/sect_15.6.html>
async fn retrieve(&self, request: MppsRetrieveRequest) -> Result<InMemDicomObject, MppsError>;
Comment thread src/api/mpps/service.rs
Comment on lines +20 to +24
#[async_trait]
pub trait MppsService: Send + Sync {
/// Create Transaction.
/// <https://dicom.nema.org/medical/dicom/current/output/chtml/part18/sect_15.4.html>
async fn create(&self, request: MppsCreateRequest) -> Result<(), MppsError>;
Comment thread src/api/mpps/service.rs
Comment on lines +20 to +28
#[async_trait]
pub trait MppsService: Send + Sync {
/// Create Transaction.
/// <https://dicom.nema.org/medical/dicom/current/output/chtml/part18/sect_15.4.html>
async fn create(&self, request: MppsCreateRequest) -> Result<(), MppsError>;

/// Update Transaction.
/// <https://dicom.nema.org/medical/dicom/current/output/chtml/part18/sect_15.5.html>
async fn update(&self, request: MppsUpdateRequest) -> Result<(), MppsError>;
Comment thread src/api/mpps/service.rs
Comment on lines +20 to +32
#[async_trait]
pub trait MppsService: Send + Sync {
/// Create Transaction.
/// <https://dicom.nema.org/medical/dicom/current/output/chtml/part18/sect_15.4.html>
async fn create(&self, request: MppsCreateRequest) -> Result<(), MppsError>;

/// Update Transaction.
/// <https://dicom.nema.org/medical/dicom/current/output/chtml/part18/sect_15.5.html>
async fn update(&self, request: MppsUpdateRequest) -> Result<(), MppsError>;

/// Retrieve Transaction.
/// <https://dicom.nema.org/medical/dicom/current/output/chtml/part18/sect_15.6.html>
async fn retrieve(&self, request: MppsRetrieveRequest) -> Result<InMemDicomObject, MppsError>;
@nickamzol
nickamzol self-requested a review October 27, 2026 07:51
@nickamzol nickamzol added service:mpps This issue affects the MPPS service backend:dimse This issue affects the DIMSE backend labels Oct 27, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend:dimse This issue affects the DIMSE backend service:mpps This issue affects the MPPS service

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants