diff --git a/src/main/kotlin/application/presenter/api/model/SurgeryReportApiDto.kt b/src/main/kotlin/application/presenter/api/model/SurgeryReportApiDto.kt index 5aaf360..e555435 100644 --- a/src/main/kotlin/application/presenter/api/model/SurgeryReportApiDto.kt +++ b/src/main/kotlin/application/presenter/api/model/SurgeryReportApiDto.kt @@ -12,7 +12,7 @@ import application.presenter.api.model.healthcareuser.HealthcareUserApiDto import application.presenter.api.model.healthcareuser.PatientVitalSignsApiDto import application.presenter.api.model.measurements.AggregateDataApiDto import application.presenter.api.model.medicaldevice.ImplantableMedicalDeviceApiDto -import application.presenter.api.model.medicaldevice.MedicalTechnologyApiDto +import application.presenter.api.model.medicaldevice.MedicalTechnologyUsageApiDto import application.presenter.api.model.process.SurgicalProcessStepApiDto import application.presenter.api.model.room.RoomApiDto import application.presenter.api.model.room.RoomApiDtoType @@ -53,7 +53,7 @@ data class SurgeryReportApiDto( val healthcareUser: HealthcareUserApiDto?, val stepData: Map, val consumedImplantableMedicalDevice: Set, - val medicalTechnologyUsageData: Set>, + val medicalTechnologyUsageData: Set, val healthProfessionalTrackingInformation: List, val additionalData: String, ) diff --git a/src/main/kotlin/application/presenter/api/model/medicaldevice/MedicalTechnologyApiDto.kt b/src/main/kotlin/application/presenter/api/model/medicaldevice/MedicalTechnologyApiDto.kt index 0eb9cf1..e52d14a 100644 --- a/src/main/kotlin/application/presenter/api/model/medicaldevice/MedicalTechnologyApiDto.kt +++ b/src/main/kotlin/application/presenter/api/model/medicaldevice/MedicalTechnologyApiDto.kt @@ -32,3 +32,12 @@ enum class MedicalTechnologyApiDtoType { ENDOSCOPE, XRAY, } + +/** + * Presenter class that represent the usage of a [medicalTechnology] in a specific [dateTime]. + */ +@Serializable +data class MedicalTechnologyUsageApiDto( + val dateTime: String, + val medicalTechnology: MedicalTechnologyApiDto, +) diff --git a/src/main/kotlin/application/presenter/api/serialization/SurgeryReportSerializer.kt b/src/main/kotlin/application/presenter/api/serialization/SurgeryReportSerializer.kt index 8afb48c..939060c 100644 --- a/src/main/kotlin/application/presenter/api/serialization/SurgeryReportSerializer.kt +++ b/src/main/kotlin/application/presenter/api/serialization/SurgeryReportSerializer.kt @@ -12,6 +12,7 @@ import application.presenter.api.model.SurgeryReportApiDto import application.presenter.api.model.SurgeryReportEntry import application.presenter.api.model.SurgicalProcessStepAggregateDataApiDto import application.presenter.api.model.measurements.AggregateDataApiDto +import application.presenter.api.model.medicaldevice.MedicalTechnologyUsageApiDto import application.presenter.api.serialization.HealthcareUserSerializer.toApiDto import application.presenter.api.serialization.MedicalDeviceSerializer.toApiDto import application.presenter.api.serialization.RoomSerializer.toApiDto @@ -55,7 +56,7 @@ object SurgeryReportSerializer { .mapValues { (_, data) -> data.toApiDto() }, consumedImplantableMedicalDevice = this.consumedImplantableMedicalDevices.map { it.toApiDto() }.toSet(), medicalTechnologyUsageData = this.medicalTechnologyUsageData - .map { it.first.toString() to it.second.toApiDto() } + .map { MedicalTechnologyUsageApiDto(it.first.toString(), it.second.toApiDto()) } .toSet(), healthProfessionalTrackingInformation = this.healthProfessionalTrackingInformation.map { it.toApiDto() }, additionalData = this.additionalData,