Skip to content

Commit 815fe70

Browse files
optional field
1 parent 5b0a700 commit 815fe70

4 files changed

Lines changed: 13 additions & 9 deletions

File tree

apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/converter/ClaimLineDeductibleCoinsuranceCodeConverter.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,23 @@
33
import gov.cms.bfd.server.ng.claim.model.ClaimLineDeductibleCoinsuranceCode;
44
import jakarta.persistence.AttributeConverter;
55
import jakarta.persistence.Converter;
6+
import java.util.Optional;
67

78
/** Database code converter. */
89
@Converter(autoApply = true)
910
public class ClaimLineDeductibleCoinsuranceCodeConverter
10-
implements AttributeConverter<ClaimLineDeductibleCoinsuranceCode, String> {
11+
implements AttributeConverter<Optional<ClaimLineDeductibleCoinsuranceCode>, String> {
1112
@Override
1213
public String convertToDatabaseColumn(
13-
ClaimLineDeductibleCoinsuranceCode claimLineDeductibleCoinsuranceCode) {
14+
Optional<ClaimLineDeductibleCoinsuranceCode> claimLineDeductibleCoinsuranceCode) {
1415
// This is a read-only API so this method will never actually persist anything to the database.
15-
return claimLineDeductibleCoinsuranceCode.getCode();
16+
return claimLineDeductibleCoinsuranceCode
17+
.map(ClaimLineDeductibleCoinsuranceCode::getCode)
18+
.orElse("");
1619
}
1720

1821
@Override
19-
public ClaimLineDeductibleCoinsuranceCode convertToEntityAttribute(String idrCode) {
20-
return ClaimLineDeductibleCoinsuranceCode.fromCode(idrCode);
22+
public Optional<ClaimLineDeductibleCoinsuranceCode> convertToEntityAttribute(String idrCode) {
23+
return ClaimLineDeductibleCoinsuranceCode.tryFromCode(idrCode);
2124
}
2225
}

apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLine.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ ExplanationOfBenefit.ItemComponent toFhir() {
6363
revenueCenterCode.ifPresent(
6464
c -> {
6565
var revenueCoding =
66-
c.toFhir(institutional.map(ClaimLineInstitutional::getDeductibleCoinsuranceCode));
66+
c.toFhir(institutional.flatMap(ClaimLineInstitutional::getDeductibleCoinsuranceCode));
6767
line.setRevenue(revenueCoding);
6868
});
6969

apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineDeductibleCoinsuranceCode.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import gov.cms.bfd.server.ng.SystemUrls;
44
import java.util.Arrays;
5+
import java.util.Optional;
56
import lombok.AllArgsConstructor;
67
import lombok.Getter;
78
import org.hl7.fhir.r4.model.Coding;
@@ -42,8 +43,8 @@ public enum ClaimLineDeductibleCoinsuranceCode {
4243
* @param code database code
4344
* @return coinsurance code
4445
*/
45-
public static ClaimLineDeductibleCoinsuranceCode fromCode(String code) {
46-
return Arrays.stream(values()).filter(v -> v.code.equals(code)).findFirst().get();
46+
public static Optional<ClaimLineDeductibleCoinsuranceCode> tryFromCode(String code) {
47+
return Arrays.stream(values()).filter(v -> v.code.equals(code)).findFirst();
4748
}
4849

4950
Coding toFhir() {

apps/bfd-server-ng/src/main/java/gov/cms/bfd/server/ng/claim/model/ClaimLineInstitutional.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public class ClaimLineInstitutional {
2020
@EmbeddedId ClaimLineInstitutionalId claimLineInstitutionalId;
2121

2222
@Column(name = "clm_ddctbl_coinsrnc_cd")
23-
private ClaimLineDeductibleCoinsuranceCode deductibleCoinsuranceCode;
23+
private Optional<ClaimLineDeductibleCoinsuranceCode> deductibleCoinsuranceCode;
2424

2525
@Column(name = "clm_line_instnl_rev_ctr_dt")
2626
private LocalDate revenueCenterDate;

0 commit comments

Comments
 (0)