@@ -45,6 +45,7 @@ import infrastructure.digitaltwins.events.TwinProperties.RoomProperties.LUMINOSI
45
45
import infrastructure.digitaltwins.events.TwinProperties.RoomProperties.PRESENCE
46
46
import infrastructure.digitaltwins.events.TwinProperties.RoomProperties.TEMPERATURE
47
47
import infrastructure.digitaltwins.events.UpdateEvents
48
+ import infrastructure.kafka.EventProperties.EventKeys
48
49
49
50
/* *
50
51
* The parser of Azure Digital Twins Update Events.
@@ -70,22 +71,26 @@ class UpdateEventParser {
70
71
private fun manageRoomEvents (updateTwinEvent : UpdateEvents .UpdateTwinEvent ): Event <Any > =
71
72
when (updateTwinEvent.data.patch[0 ].path) {
72
73
TEMPERATURE .path -> RoomEvent (
74
+ key = EventKeys .TEMPERATURE_EVENT .name,
73
75
roomId = updateTwinEvent.id,
74
76
data = Temperature ((updateTwinEvent.data.patch[0 ].value as Number ).toDouble(), TemperatureUnit .CELSIUS ),
75
77
dateTime = updateTwinEvent.eventDateTime
76
78
)
77
79
HUMIDITY .path -> RoomEvent (
80
+ key = EventKeys .HUMIDITY_EVENT .name,
78
81
roomId = updateTwinEvent.id,
79
82
data = Humidity (updateTwinEvent.data.patch[0 ].value as Int ),
80
83
dateTime = updateTwinEvent.eventDateTime
81
84
)
82
85
LUMINOSITY .path -> RoomEvent (
86
+ key = EventKeys .LUMINOSITY_EVENT .name,
83
87
roomId = updateTwinEvent.id,
84
88
data = Luminosity ((updateTwinEvent.data.patch[0 ].value as Number ).toDouble(), LuminosityUnit .LUX ),
85
89
dateTime = updateTwinEvent.eventDateTime
86
90
)
87
91
PRESENCE .path -> {
88
92
RoomEvent (
93
+ key = EventKeys .PRESENCE_EVENT .name,
89
94
roomId = updateTwinEvent.id,
90
95
data = Presence (updateTwinEvent.data.patch[0 ].value as Boolean ),
91
96
dateTime = updateTwinEvent.eventDateTime
@@ -98,12 +103,14 @@ class UpdateEventParser {
98
103
when (updateTwinEvent.data.patch[0 ].path) {
99
104
IS_ON_OPERATING_TABLE .path -> {
100
105
ProcessEvent (
106
+ key = EventKeys .PATIENT_ON_OB_EVENT .name,
101
107
data = ProcessInfo (" Patient on Operating Bed" , updateTwinEvent.id),
102
108
dateTime = updateTwinEvent.eventDateTime
103
109
)
104
110
}
105
111
BODY_TEMPERATURE .path -> {
106
112
ProcessEvent (
113
+ key = EventKeys .PATIENT_BODY_TEMPERATURE_UPDATE_EVENT .name,
107
114
data = PatientData (
108
115
updateTwinEvent.id,
109
116
BodyTemperature ((updateTwinEvent.data.patch[0 ].value as Number ).toDouble())
@@ -113,6 +120,7 @@ class UpdateEventParser {
113
120
}
114
121
DIASTOLIC_PRESSURE .path -> {
115
122
ProcessEvent (
123
+ key = EventKeys .PATIENT_DIASTOLIC_PRESSURE_UPDATE_EVENT .name,
116
124
data = PatientData (
117
125
updateTwinEvent.id,
118
126
DiastolicPressure (updateTwinEvent.data.patch[0 ].value as Int )
@@ -122,6 +130,7 @@ class UpdateEventParser {
122
130
}
123
131
SYSTOLIC_PRESSURE .path -> {
124
132
ProcessEvent (
133
+ key = EventKeys .PATIENT_SYSTOLIC_PRESSURE_UPDATE_EVENT .name,
125
134
data = PatientData (
126
135
updateTwinEvent.id,
127
136
SystolicPressure (updateTwinEvent.data.patch[0 ].value as Int )
@@ -131,6 +140,7 @@ class UpdateEventParser {
131
140
}
132
141
RESPIRATORY_RATE .path -> {
133
142
ProcessEvent (
143
+ key = EventKeys .PATIENT_RESPIRATORY_RATE_UPDATE_EVENT .name,
134
144
data = PatientData (
135
145
updateTwinEvent.id,
136
146
RespiratoryRate (updateTwinEvent.data.patch[0 ].value as Int )
@@ -140,6 +150,7 @@ class UpdateEventParser {
140
150
}
141
151
SATURATION_PERCENTAGE .path -> {
142
152
ProcessEvent (
153
+ key = EventKeys .PATIENT_SATURATION_UPDATE_EVENT .name,
143
154
data = PatientData (
144
155
updateTwinEvent.id,
145
156
Saturation (updateTwinEvent.data.patch[0 ].value as Int )
@@ -149,6 +160,7 @@ class UpdateEventParser {
149
160
}
150
161
HEARTBEAT .path -> {
151
162
ProcessEvent (
163
+ key = EventKeys .PATIENT_HEARTBEAT_UPDATE_EVENT .name,
152
164
data = PatientData (
153
165
updateTwinEvent.id,
154
166
Heartbeat (updateTwinEvent.data.patch[0 ].value as Int )
@@ -158,6 +170,7 @@ class UpdateEventParser {
158
170
}
159
171
MEDICAL_TECHNOLOGY .path -> {
160
172
ProcessEvent (
173
+ key = EventKeys .MEDICAL_TECHNOLOGY_USAGE_EVENT .name,
161
174
data = MedicalTechnologyUsage (
162
175
updateTwinEvent.id,
163
176
updateTwinEvent.data.patch[0 ].value as Boolean
0 commit comments