001/*-
002 * #%L
003 * Smile CDR - CDR
004 * %%
005 * Copyright (C) 2016 - 2025 Smile CDR, Inc.
006 * %%
007 * All rights reserved.
008 * #L%
009 */
010package ca.cdr.api.priorauth;
011
012import ca.cdr.api.model.json.AbstractModelJson;
013import ca.cdr.api.model.json.OAuth2ClientDetailsJson;
014import ca.cdr.api.model.json.UserDetailsJson;
015import com.fasterxml.jackson.annotation.JsonProperty;
016import io.swagger.v3.oas.annotations.media.Schema;
017import jakarta.annotation.Nonnull;
018import org.apache.commons.lang3.StringUtils;
019
020import java.util.List;
021
022@Schema(name = "PriorAuthCrdContext", description = "Prior Auth CRD Context")
023public class PriorAuthCrdContextJson extends AbstractModelJson {
024
025        @Schema(description = "Patient ID for the payer system in context.")
026        @JsonProperty("payerPatientId")
027        private String myPayerPatientId;
028
029        @Schema(description = "Details of user session")
030        @JsonProperty("userDetails")
031        private UserDetailsJson myUserDetails;
032
033        @Schema(description = "Details of OAuth2 client details")
034        @JsonProperty("oauth2ClientDetails")
035        private OAuth2ClientDetailsJson myOAuth2ClientDetailsJson;
036
037        @Schema(description = "Details of CPT codes.")
038        @JsonProperty("priorAuthCrdCptCodes")
039        private List<PriorAuthCrdCptCodesJson> myPriorAuthCrdCptCodes;
040
041        public String getPayerPatientId() {
042                return myPayerPatientId;
043        }
044
045        public UserDetailsJson getUserDetails() {
046                return myUserDetails;
047        }
048
049        public OAuth2ClientDetailsJson getOAuth2ClientDetailsJson() {
050                return myOAuth2ClientDetailsJson;
051        }
052
053        public List<PriorAuthCrdCptCodesJson> getPriorAuthCrdCptCodes() {
054                return myPriorAuthCrdCptCodes;
055        }
056
057        public void setPayerPatientId(@Nonnull String thePayerPatientId) {
058                myPayerPatientId = thePayerPatientId;
059        }
060
061        public boolean hasPayerPatientId() {
062                return StringUtils.isNotBlank(myPayerPatientId);
063        }
064
065        public void setUserDetails(UserDetailsJson theUserDetails) {
066                myUserDetails = theUserDetails;
067        }
068
069        public void setOAuth2ClientDetailsJson(OAuth2ClientDetailsJson theOAuth2ClientDetailsJson) {
070                myOAuth2ClientDetailsJson = theOAuth2ClientDetailsJson;
071        }
072
073        public void setPriorAuthCrdCptCodes(List<PriorAuthCrdCptCodesJson> thePriorAuthCrdCptCodes) {
074                myPriorAuthCrdCptCodes = thePriorAuthCrdCptCodes;
075        }
076}