001/*- 002 * #%L 003 * Smile CDR - CDR 004 * %% 005 * Copyright (C) 2016 - 2026 Smile CDR, Inc. 006 * %% 007 * All rights reserved. 008 * #L% 009 */ 010package ca.cdr.api.model.json; 011 012// Created by Claude Opus 4.1 013import ca.uhn.fhir.model.api.IModelJson; 014import com.fasterxml.jackson.annotation.JsonProperty; 015 016/** 017 * Response model for user's privacy notice acceptance status. 018 * Contains information about whether acceptance is required and version details. 019 */ 020public class PrivacyNoticeStatusJson implements IModelJson { 021 @JsonProperty("isRequired") 022 private boolean myIsRequired; 023 024 @JsonProperty("currentVersion") 025 private String myCurrentVersion; 026 027 @JsonProperty("acceptedVersion") 028 private String myAcceptedVersion; 029 030 @JsonProperty("acceptedDate") 031 private String myAcceptedDate; 032 033 @JsonProperty("expiryDate") 034 private String myExpiryDate; 035 036 public PrivacyNoticeStatusJson() { 037 // Default constructor for JSON deserialization 038 } 039 040 /** 041 * Constructor with required status and current version. 042 * 043 * @param theIsRequired whether privacy notice acceptance is required 044 * @param theCurrentVersion the current privacy notice version 045 */ 046 public PrivacyNoticeStatusJson(boolean theIsRequired, String theCurrentVersion) { 047 myIsRequired = theIsRequired; 048 myCurrentVersion = theCurrentVersion; 049 } 050 051 /** 052 * Get whether privacy notice acceptance is required. 053 * 054 * @return true if the user must accept the privacy notice 055 */ 056 public boolean getIsRequired() { 057 return myIsRequired; 058 } 059 060 /** 061 * Set whether privacy notice acceptance is required. 062 * 063 * @param theIsRequired the required status to set 064 */ 065 public void setIsRequired(boolean theIsRequired) { 066 myIsRequired = theIsRequired; 067 } 068 069 /** 070 * Get the current privacy notice version. 071 * 072 * @return the current version string 073 */ 074 public String getCurrentVersion() { 075 return myCurrentVersion; 076 } 077 078 /** 079 * Set the current privacy notice version. 080 * 081 * @param theCurrentVersion the current version to set 082 */ 083 public void setCurrentVersion(String theCurrentVersion) { 084 myCurrentVersion = theCurrentVersion; 085 } 086 087 /** 088 * Get the user's previously accepted version. 089 * 090 * @return the accepted version string, or null if none 091 */ 092 public String getAcceptedVersion() { 093 return myAcceptedVersion; 094 } 095 096 /** 097 * Set the user's previously accepted version. 098 * 099 * @param theAcceptedVersion the accepted version to set 100 */ 101 public void setAcceptedVersion(String theAcceptedVersion) { 102 myAcceptedVersion = theAcceptedVersion; 103 } 104 105 /** 106 * Get the date when user accepted the privacy notice. 107 * 108 * @return the acceptance date (ISO timestamp), or null if none 109 */ 110 public String getAcceptedDate() { 111 return myAcceptedDate; 112 } 113 114 /** 115 * Set the date when user accepted the privacy notice. 116 * 117 * @param theAcceptedDate the acceptance date to set (ISO timestamp) 118 */ 119 public void setAcceptedDate(String theAcceptedDate) { 120 myAcceptedDate = theAcceptedDate; 121 } 122 123 /** 124 * Get the expiry date for the user's acceptance. 125 * 126 * @return the expiry date (ISO timestamp), or null if none 127 */ 128 public String getExpiryDate() { 129 return myExpiryDate; 130 } 131 132 /** 133 * Set the expiry date for the user's acceptance. 134 * 135 * @param theExpiryDate the expiry date to set (ISO timestamp) 136 */ 137 public void setExpiryDate(String theExpiryDate) { 138 myExpiryDate = theExpiryDate; 139 } 140}