@Embeddable @Data public class RmSetupValue { Boolean hasRmSetupBeenPerformed = Boolean.FALSE; @ManyToOne(fetch = FetchType.LAZY) CareMonth rmSetupCareMonth; } @Embedded @Setter RmSetupValue rmSetupValueValue; @Embeddable @Data public class RmEligibilityValue { @Enumerated(EnumType.STRING) YesNoOrUnknown isEligibleForRm = YesNoOrUnknown.UNKNOWN; String whyEligibleForRmCategory; String whyEligibleForRmMemo; String whyNotEligibleForRmCategory; String whyNotEligibleForRmMemo; } @Embedded @Setter RmEligibilityValue rmEligibilityValue; @Embeddable @Data public class RmCurrentlyEnrolledValue { @Enumerated(EnumType.STRING) YesNoOrUnknown isCurrentlyEnrolledInRm = YesNoOrUnknown.UNKNOWN; String whyNotEnrolledInRmCategory; String whyNotEnrolledInRmMemo; } @Embedded @Setter RmCurrentlyEnrolledValue rmCurrentlyEnrolledValue; //// Boolean sendSmsOnBdtMeasurement = false; public void setSendSmsOnBdtMeasurementToTrue(AppSession performer) { this.sendSmsOnBdtMeasurement = true; } public void setSendSmsOnBdtMeasurementToFalse(AppSession performer) { this.sendSmsOnBdtMeasurement = false; } /* * ... BMI */ @Embedded @Setter BmiManagementSettingsValue bmiManagementValue; @Embeddable public class MostRecentWeightValue { Double mostRecentWeight; ZonedDateTime mostRecentWeightAt; @OneToOne Measurement mostRecentWeightMeasurement; } @Embedded @Setter MostRecentWeightValue mostRecentWeightValue; @Embeddable @Data public class DedicatedCellularScaleValue { // @JK maintained in service @OneToOne SupplyOrder dedicatedCellularScaleSupplyOrder; @OneToOne(cascade = CascadeType.ALL, orphanRemoval = false) ClientBDTDevice dedicatedCellularScaleClientBdtDevice; @Enumerated(EnumType.STRING) YesNoOrUnknown hasDedicatedCellularScaleBeenDelivered; ZonedDateTime dedicatedCellularScaleDeliveryReportedAt; String dedicatedCellularScaleDeliveryMemo; @Enumerated(EnumType.STRING) YesNoOrUnknown hasClientConfirmedReceiptOfDedicatedCellularScale; String clientConfirmedReceiptOfDedicatedCellularScaleMemo; @OneToOne Measurement firstDedicatedCellularScaleMeasurement; @OneToOne Measurement mostRecentDedicatedCellularScaleMeasurement; } @Embedded DedicatedCellularScaleValue dedicatedCellularScaleValue; @OneToOne(cascade = CascadeType.ALL, orphanRemoval = false) Status clientIntentForCellularScaleStatus; @OneToOne(cascade = CascadeType.ALL, orphanRemoval = false) Status mcpExpectationForCellularScaleStatus; @OneToOne(cascade = CascadeType.ALL, orphanRemoval = false) Status defaultNaExpectationForCellularScaleStatus; /* * ... BP */ @Embedded @Setter BpManagementSettingsValue bpManagementValue; @Embeddable @Data public class MostRecentBpValue { Double mostRecentSbp; Double mostRecentDbp; Double mostRecentPulse; ZonedDateTime mostRecentBpAt; @OneToOne Measurement mostRecentBpMeasurement; } @Embedded @Setter MostRecentBpValue mostRecentBPValue; @Embeddable @Data public class DedicatedCellularBpValue { // @JK maintained in service @OneToOne SupplyOrder dedicatedCellularBpSupplyOrder; @OneToOne ClientBDTDevice dedicatedCellularBpClientBdtDevice; @Enumerated(EnumType.STRING) YesNoOrUnknown hasDedicatedCellularBpBeenDelivered; ZonedDateTime dedicatedCellularBpDeliveryReportedAt; String dedicatedCellularBpDeliveryMemo; @Enumerated(EnumType.STRING) YesNoOrUnknown hasClientConfirmedReceiptOfDedicatedCellularBp; String clientConfirmedReceiptOfDedicatedCellularBpMemo; @OneToOne Measurement firstDedicatedCellularBpMeasurement; @OneToOne Measurement mostRecentDedicatedCellularBpMeasurement; } @Embedded DedicatedCellularBpValue dedicatedCellularBpValue; @OneToOne(cascade = CascadeType.ALL, orphanRemoval = false) Status clientIntentForCellularBpStatus; @OneToOne(cascade = CascadeType.ALL, orphanRemoval = false) Status mcpExpectationForCellularBpStatus; @OneToOne(cascade = CascadeType.ALL, orphanRemoval = false) Status defaultNaExpectationForCellularBpStatus; @Embeddable @Data public class EquipmentAwaitingSetupValue { @Enumerated(EnumType.STRING) YesNoOrUnknown isEquipmentAwaitingSetup = YesNoOrUnknown.UNKNOWN; String whatEquipmentIsAwaitingSetup; } @Embedded @Setter EquipmentAwaitingSetupValue equipmentAwaitingSetupValue; @Embeddable @Data public class EquipmentSetupCompletionValue { @Enumerated(EnumType.STRING) YesNoOrUnknown isEquipmentSetupCompleted = YesNoOrUnknown.UNKNOWN; String whatEquipmentSetupIsCompleted; } @Embedded @Setter EquipmentSetupCompletionValue equipmentSetupCompletionValue; @Embeddable @Data public class EquipmentServiceNeedValue { @Enumerated(EnumType.STRING) YesNoOrUnknown isEquipmentServiceNeeded = YesNoOrUnknown.UNKNOWN; String whatEquipmentServiceIsNeeded; } @Embedded @Setter EquipmentServiceNeedValue equipmentServiceNeedValue;