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
012/**
013 * Outcome of a custom consent validation performed by a {@link CdrPointcut#MEMBER_MATCH_CONSENT_VALIDATION} hook.
014 * <p>
015 * A hook returns one of these values to override the built-in consent determination for a matched member. Returning
016 * {@code null} (or {@code void}) instead abstains, in which case the default consent validation is applied.
017 */
018public enum MemberMatchConsentDecision {
019        /**
020         * The consent determination is valid and the member-match operation may proceed.
021         */
022        VALID,
023
024        /**
025         * The consent is constrained; the member-match operation fails with a {@code 422 Unprocessable Entity} response.
026         */
027        CONSTRAINED
028}