@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;