Skip to content

Commit 423f6d9

Browse files
committed
Change stats model
1 parent 5cb8956 commit 423f6d9

File tree

4 files changed

+26
-9
lines changed

4 files changed

+26
-9
lines changed
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
package org.dtree.fhir.server.controller
22

3-
import org.dtree.fhir.server.services.ResultData
3+
import org.dtree.fhir.server.services.FacilityResultData
44
import org.dtree.fhir.server.services.StatsService
55
import org.koin.core.component.KoinComponent
66
import org.koin.core.component.inject
77

88
class StatsControllerImpl : StatsController, BaseController(), KoinComponent {
99
private val statsService by inject<StatsService>()
1010

11-
override suspend fun getStats(id: String): ResultData {
11+
override suspend fun getStats(id: String): FacilityResultData {
1212
return statsService.getFacilityStats(id)
1313
}
1414
}
1515

1616
interface StatsController {
17-
suspend fun getStats(id: String): ResultData
17+
suspend fun getStats(id: String): FacilityResultData
1818
}

server/src/main/kotlin/org/dtree/fhir/server/services/PatientType.kt

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ enum class PatientType(val value: String) {
2020
}
2121
}
2222

23-
suspend fun fetchDataTest(client: FhirClient, actions: List<FilterFormData>): ResultData {
23+
suspend fun fetchDataTest(client: FhirClient, actions: List<FilterFormData>): FacilityResultData {
2424
val requests = mutableListOf<Bundle.BundleEntryRequestComponent>()
2525
for (data in actions) {
2626
val filters = data.filters.map { filter ->
@@ -62,7 +62,17 @@ suspend fun fetchDataTest(client: FhirClient, actions: List<FilterFormData>): Re
6262
)
6363
)
6464
}
65-
return ResultData(summaries, LocalDate.now())
65+
return FacilityResultData(summaries.map {
66+
GroupedSummaryItem(
67+
groupKey = it.key,
68+
groupTitle = mapKeyToTitle(it.key),
69+
summaries = it.value,
70+
)
71+
}, LocalDate.now())
72+
}
73+
74+
fun mapKeyToTitle(key: String): String {
75+
return "Totals"
6676
}
6777

6878
fun createFilter(filter: FilterFormItem): List<Pair<String, String>> {

server/src/main/kotlin/org/dtree/fhir/server/services/ResultDataOld.kt

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,15 @@ package org.dtree.fhir.server.services
22

33
import java.time.LocalDate
44

5-
data class ResultDataOld(val summaries: List<SummaryItem>, val date: List<String>?)
5+
data class FacilityResultData(val groups: List<GroupedSummaryItem>, val date: LocalDate)
66

7-
data class ResultData(val summaries: Map<String, List<SummaryItem>>, val date: LocalDate)
7+
data class GroupedSummaryItem(
8+
val groupKey: String,
9+
val groupTitle: String,
10+
val summaries: List<SummaryItem>
11+
)
812

9-
data class SummaryItem(val name: String, val value: Int)
13+
data class SummaryItem(val name: String, val value: Int)
14+
15+
16+
data class ResultDataOld(val summaries: List<SummaryItem>, val date: List<String>?)

server/src/main/kotlin/org/dtree/fhir/server/services/StatsService.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import org.koin.core.component.inject
99
object StatsService : KoinComponent {
1010
val client by inject<FhirClient>()
1111

12-
suspend fun getFacilityStats(id: String): ResultData {
12+
suspend fun getFacilityStats(id: String): FacilityResultData {
1313
val locationFilter = filterByLocation(id)
1414
val baseFilters = listOf(locationFilter)
1515

0 commit comments

Comments
 (0)