public CreateResourceValidator(
            IModelAttributeValidator modelAttributeValidator,
            INarrativeHtmlSanitizer narrativeHtmlSanitizer,
            IProfileValidator profileValidator,
            RequestContextAccessor <IFhirRequestContext> fhirRequestContextAccessor,
            IOptions <CoreFeatureConfiguration> config)
        {
            var contentValidator = new ResourceProfileValidator(
                modelAttributeValidator,
                profileValidator,
                fhirRequestContextAccessor,
                config.Value.ProfileValidationOnCreate);

            RuleFor(x => x.Resource)
            .SetValidator(new ResourceElementValidator(contentValidator, narrativeHtmlSanitizer));
        }
        public UpsertResourceValidator(
            IModelAttributeValidator modelAttributeValidator,
            INarrativeHtmlSanitizer narrativeHtmlSanitizer,
            IProfileValidator profileValidator,
            RequestContextAccessor <IFhirRequestContext> fhirRequestContextAccessor,
            IOptions <CoreFeatureConfiguration> config)
        {
            RuleFor(x => x.Resource.Id)
            .NotEmpty().WithMessage(Core.Resources.UpdateRequestsRequireId);

            var contentValidator = new ResourceProfileValidator(
                modelAttributeValidator,
                profileValidator,
                fhirRequestContextAccessor,
                config.Value.ProfileValidationOnUpdate);

            RuleFor(x => x.Resource)
            .SetValidator(new ResourceElementValidator(contentValidator, narrativeHtmlSanitizer));
        }