mirror of
https://github.com/pcvolkmer/mv64e-onkostar-data.git
synced 2025-09-13 07:52:52 +00:00
feat: enhance health insurance export
This commit is contained in:
@@ -88,15 +88,24 @@ public class KpaPatientDataMapper implements DataMapper<Patient> {
|
||||
}
|
||||
|
||||
private HealthInsurance getHealthInsurance(ResultSet data) {
|
||||
var resultBuilder = HealthInsurance.builder()
|
||||
.reference(
|
||||
Reference.builder()
|
||||
.id(data.getString("krankenkasse"))
|
||||
.system("https://www.dguv.de/arge-ik")
|
||||
.type("HealthInsurance")
|
||||
.build()
|
||||
);
|
||||
|
||||
var healthInsuranceCodingBuilder = HealthInsuranceCoding.builder()
|
||||
.system("http://fhir.de/CodeSystem/versicherungsart-de-basis");
|
||||
|
||||
String healthInsuranceType = data.getString("artderkrankenkasse");
|
||||
var healthInsuranceType = data.getString("artderkrankenkasse");
|
||||
if (healthInsuranceType == null) {
|
||||
healthInsuranceCodingBuilder
|
||||
.code(HealthInsuranceCodingCode.UNK)
|
||||
.build();
|
||||
return HealthInsurance.builder().type(healthInsuranceCodingBuilder.build()).build();
|
||||
return resultBuilder.type(healthInsuranceCodingBuilder.build()).build();
|
||||
}
|
||||
|
||||
switch (healthInsuranceType) {
|
||||
@@ -138,7 +147,7 @@ public class KpaPatientDataMapper implements DataMapper<Patient> {
|
||||
|
||||
healthInsuranceCodingBuilder.display(healthInsurancePropertyEntry.getDescription());
|
||||
|
||||
return HealthInsurance.builder().type(healthInsuranceCodingBuilder.build()).build();
|
||||
return resultBuilder.type(healthInsuranceCodingBuilder.build()).build();
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -70,6 +70,7 @@ class KpaPatientDataMapperTest {
|
||||
"geschlecht", "m",
|
||||
"geburtsdatum", new java.sql.Date(Date.from(Instant.parse("2000-01-01T12:00:00Z")).getTime()),
|
||||
"todesdatum", new java.sql.Date(Date.from(Instant.parse("2024-06-19T12:00:00Z")).getTime()),
|
||||
"krankenkasse", "12345678",
|
||||
"artderkrankenkasse", "GKV"
|
||||
);
|
||||
|
||||
@@ -98,7 +99,9 @@ class KpaPatientDataMapperTest {
|
||||
assertThat(actual.getBirthDate()).isEqualTo(Date.from(Instant.parse("2000-01-01T12:00:00Z")));
|
||||
assertThat(actual.getDateOfDeath()).isEqualTo(Date.from(Instant.parse("2024-06-19T12:00:00Z")));
|
||||
assertThat(actual.getHealthInsurance()).isEqualTo(
|
||||
HealthInsurance.builder().type(
|
||||
HealthInsurance.builder()
|
||||
.reference(Reference.builder().id("12345678").system("https://www.dguv.de/arge-ik").type("HealthInsurance").build())
|
||||
.type(
|
||||
HealthInsuranceCoding.builder()
|
||||
.code(HealthInsuranceCodingCode.GKV)
|
||||
.display("Gesetzliche Krankenversicherung")
|
||||
@@ -114,6 +117,7 @@ class KpaPatientDataMapperTest {
|
||||
"patient_id", "1",
|
||||
"geschlecht", "w",
|
||||
"geburtsdatum", new java.sql.Date(Date.from(Instant.parse("2000-01-01T12:00:00Z")).getTime()),
|
||||
"krankenkasse", "12345678",
|
||||
"artderkrankenkasse", "PKV"
|
||||
);
|
||||
|
||||
@@ -142,7 +146,9 @@ class KpaPatientDataMapperTest {
|
||||
assertThat(actual.getBirthDate()).isEqualTo(Date.from(Instant.parse("2000-01-01T12:00:00Z")));
|
||||
assertThat(actual.getDateOfDeath()).isNull();
|
||||
assertThat(actual.getHealthInsurance()).isEqualTo(
|
||||
HealthInsurance.builder().type(
|
||||
HealthInsurance.builder()
|
||||
.reference(Reference.builder().id("12345678").system("https://www.dguv.de/arge-ik").type("HealthInsurance").build())
|
||||
.type(
|
||||
HealthInsuranceCoding.builder()
|
||||
.code(HealthInsuranceCodingCode.PKV)
|
||||
.display("Private Krankenversicherung")
|
||||
|
Reference in New Issue
Block a user