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.fhir.interceptor;
011
012import jakarta.annotation.Nonnull;
013import jakarta.annotation.Nullable;
014import org.hl7.fhir.r4.model.Consent;
015import org.hl7.fhir.r4.model.Coverage;
016import org.hl7.fhir.r4.model.Patient;
017
018public class MemberMatchConsentRequest extends MemberMatchRequest
019                implements IMemberMatchConsentRequest<Patient, Coverage, Consent> {
020        private final Consent myConsent;
021        private final Patient myMatchedPatient;
022
023        public MemberMatchConsentRequest(
024                        @Nonnull Patient thePatient, @Nonnull Coverage theCoverage, @Nonnull Consent theConsent) {
025                this(thePatient, theCoverage, theConsent, null);
026        }
027
028        public MemberMatchConsentRequest(
029                        @Nonnull Patient thePatient,
030                        @Nonnull Coverage theCoverage,
031                        @Nonnull Consent theConsent,
032                        @Nullable Patient theMatchedPatient) {
033                super(thePatient, theCoverage);
034                myConsent = theConsent;
035                myMatchedPatient = theMatchedPatient;
036        }
037
038        @Override
039        @Nonnull
040        public Consent getConsent() {
041                return myConsent;
042        }
043
044        @Override
045        @Nullable
046        public Patient getMatchedPatient() {
047                return myMatchedPatient;
048        }
049}