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) {
|
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();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -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,13 +99,15 @@ 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()
|
||||||
HealthInsuranceCoding.builder()
|
.reference(Reference.builder().id("12345678").system("https://www.dguv.de/arge-ik").type("HealthInsurance").build())
|
||||||
.code(HealthInsuranceCodingCode.GKV)
|
.type(
|
||||||
.display("Gesetzliche Krankenversicherung")
|
HealthInsuranceCoding.builder()
|
||||||
.system("http://fhir.de/CodeSystem/versicherungsart-de-basis")
|
.code(HealthInsuranceCodingCode.GKV)
|
||||||
.build()
|
.display("Gesetzliche Krankenversicherung")
|
||||||
).build()
|
.system("http://fhir.de/CodeSystem/versicherungsart-de-basis")
|
||||||
|
.build()
|
||||||
|
).build()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -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,13 +146,15 @@ 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()
|
||||||
HealthInsuranceCoding.builder()
|
.reference(Reference.builder().id("12345678").system("https://www.dguv.de/arge-ik").type("HealthInsurance").build())
|
||||||
.code(HealthInsuranceCodingCode.PKV)
|
.type(
|
||||||
.display("Private Krankenversicherung")
|
HealthInsuranceCoding.builder()
|
||||||
.system("http://fhir.de/CodeSystem/versicherungsart-de-basis")
|
.code(HealthInsuranceCodingCode.PKV)
|
||||||
.build()
|
.display("Private Krankenversicherung")
|
||||||
).build()
|
.system("http://fhir.de/CodeSystem/versicherungsart-de-basis")
|
||||||
|
.build()
|
||||||
|
).build()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user