1
0
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:
2025-07-07 01:17:58 +02:00
parent 8586b5dd39
commit e9ef03f791
2 changed files with 32 additions and 17 deletions

View File

@@ -88,15 +88,24 @@ public class KpaPatientDataMapper implements DataMapper<Patient> {
} }
private HealthInsurance getHealthInsurance(ResultSet data) { 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() var healthInsuranceCodingBuilder = HealthInsuranceCoding.builder()
.system("http://fhir.de/CodeSystem/versicherungsart-de-basis"); .system("http://fhir.de/CodeSystem/versicherungsart-de-basis");
String healthInsuranceType = data.getString("artderkrankenkasse"); var healthInsuranceType = data.getString("artderkrankenkasse");
if (healthInsuranceType == null) { if (healthInsuranceType == null) {
healthInsuranceCodingBuilder healthInsuranceCodingBuilder
.code(HealthInsuranceCodingCode.UNK) .code(HealthInsuranceCodingCode.UNK)
.build(); .build();
return HealthInsurance.builder().type(healthInsuranceCodingBuilder.build()).build(); return resultBuilder.type(healthInsuranceCodingBuilder.build()).build();
} }
switch (healthInsuranceType) { switch (healthInsuranceType) {
@@ -138,7 +147,7 @@ public class KpaPatientDataMapper implements DataMapper<Patient> {
healthInsuranceCodingBuilder.display(healthInsurancePropertyEntry.getDescription()); healthInsuranceCodingBuilder.display(healthInsurancePropertyEntry.getDescription());
return HealthInsurance.builder().type(healthInsuranceCodingBuilder.build()).build(); return resultBuilder.type(healthInsuranceCodingBuilder.build()).build();
} }
} }

View File

@@ -70,6 +70,7 @@ class KpaPatientDataMapperTest {
"geschlecht", "m", "geschlecht", "m",
"geburtsdatum", new java.sql.Date(Date.from(Instant.parse("2000-01-01T12:00:00Z")).getTime()), "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()), "todesdatum", new java.sql.Date(Date.from(Instant.parse("2024-06-19T12:00:00Z")).getTime()),
"krankenkasse", "12345678",
"artderkrankenkasse", "GKV" "artderkrankenkasse", "GKV"
); );
@@ -98,7 +99,9 @@ class KpaPatientDataMapperTest {
assertThat(actual.getBirthDate()).isEqualTo(Date.from(Instant.parse("2000-01-01T12:00:00Z"))); 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.getDateOfDeath()).isEqualTo(Date.from(Instant.parse("2024-06-19T12:00:00Z")));
assertThat(actual.getHealthInsurance()).isEqualTo( 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() HealthInsuranceCoding.builder()
.code(HealthInsuranceCodingCode.GKV) .code(HealthInsuranceCodingCode.GKV)
.display("Gesetzliche Krankenversicherung") .display("Gesetzliche Krankenversicherung")
@@ -114,6 +117,7 @@ class KpaPatientDataMapperTest {
"patient_id", "1", "patient_id", "1",
"geschlecht", "w", "geschlecht", "w",
"geburtsdatum", new java.sql.Date(Date.from(Instant.parse("2000-01-01T12:00:00Z")).getTime()), "geburtsdatum", new java.sql.Date(Date.from(Instant.parse("2000-01-01T12:00:00Z")).getTime()),
"krankenkasse", "12345678",
"artderkrankenkasse", "PKV" "artderkrankenkasse", "PKV"
); );
@@ -142,7 +146,9 @@ class KpaPatientDataMapperTest {
assertThat(actual.getBirthDate()).isEqualTo(Date.from(Instant.parse("2000-01-01T12:00:00Z"))); assertThat(actual.getBirthDate()).isEqualTo(Date.from(Instant.parse("2000-01-01T12:00:00Z")));
assertThat(actual.getDateOfDeath()).isNull(); assertThat(actual.getDateOfDeath()).isNull();
assertThat(actual.getHealthInsurance()).isEqualTo( 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() HealthInsuranceCoding.builder()
.code(HealthInsuranceCodingCode.PKV) .code(HealthInsuranceCodingCode.PKV)
.display("Private Krankenversicherung") .display("Private Krankenversicherung")