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 @Schema(description = "Configs for CRD Apply processor.") 042 @JsonProperty("crdApplyProcessorConfig") 043 private CrdApplyProcessorConfig myCrdApplyProcessorConfig; 044 045 public String getPayerPatientId() { 046 return myPayerPatientId; 047 } 048 049 public UserDetailsJson getUserDetails() { 050 return myUserDetails; 051 } 052 053 public OAuth2ClientDetailsJson getOAuth2ClientDetailsJson() { 054 return myOAuth2ClientDetailsJson; 055 } 056 057 public List<PriorAuthCrdCptCodesJson> getPriorAuthCrdCptCodes() { 058 return myPriorAuthCrdCptCodes; 059 } 060 061 public void setPayerPatientId(@Nonnull String thePayerPatientId) { 062 myPayerPatientId = thePayerPatientId; 063 } 064 065 public boolean hasPayerPatientId() { 066 return StringUtils.isNotBlank(myPayerPatientId); 067 } 068 069 public void setUserDetails(UserDetailsJson theUserDetails) { 070 myUserDetails = theUserDetails; 071 } 072 073 public void setOAuth2ClientDetailsJson(OAuth2ClientDetailsJson theOAuth2ClientDetailsJson) { 074 myOAuth2ClientDetailsJson = theOAuth2ClientDetailsJson; 075 } 076 077 public void setPriorAuthCrdCptCodes(List<PriorAuthCrdCptCodesJson> thePriorAuthCrdCptCodes) { 078 myPriorAuthCrdCptCodes = thePriorAuthCrdCptCodes; 079 } 080 081 public CrdApplyProcessorConfig getCrdApplyProcessorConfig() { 082 return myCrdApplyProcessorConfig; 083 } 084 085 public void setCrdApplyProcessorConfig(CrdApplyProcessorConfig theCrdApplyProcessorConfig) { 086 myCrdApplyProcessorConfig = theCrdApplyProcessorConfig; 087 } 088}