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.JsonCreator;
016import com.fasterxml.jackson.annotation.JsonProperty;
017import io.swagger.v3.oas.annotations.media.Schema;
018import jakarta.annotation.Nullable;
019import org.hl7.fhir.r4.model.Bundle;
020
021@Schema(name = "PriorAuthPasContextJson", description = "Prior Auth PAS Context")
022public class PriorAuthPasContextJson extends AbstractModelJson {
023
024        @Schema(description = "Details of user session")
025        @JsonProperty("userDetails")
026        private final UserDetailsJson myUserDetails;
027
028        @Schema(description = "Details of OAuth2 client details")
029        @JsonProperty("oauth2ClientDetails")
030        private final OAuth2ClientDetailsJson myOAuth2ClientDetailsJson;
031
032        @Schema(description = "The normalized Claim/$submit request saved on Payer system.")
033        @JsonProperty("normalizedClaimSubmitRequest")
034        private Bundle myNormalizedClaimSubmitRequest;
035
036        @JsonCreator
037        public PriorAuthPasContextJson(
038                        @Nullable UserDetailsJson theUserDetailsJson,
039                        @Nullable OAuth2ClientDetailsJson theOAuth2ClientDetailsJson) {
040                myUserDetails = theUserDetailsJson;
041                myOAuth2ClientDetailsJson = theOAuth2ClientDetailsJson;
042        }
043
044        public UserDetailsJson getUserDetails() {
045                return myUserDetails;
046        }
047
048        public OAuth2ClientDetailsJson getOAuth2ClientDetailsJson() {
049                return myOAuth2ClientDetailsJson;
050        }
051
052        public Bundle getNormalizedClaimSubmitRequest() {
053                return myNormalizedClaimSubmitRequest;
054        }
055
056        public void setNormalizedClaimSubmitRequest(Bundle theNormalizedClaimSubmitRequest) {
057                myNormalizedClaimSubmitRequest = theNormalizedClaimSubmitRequest;
058        }
059}