using adas_core.Domain.Models;

namespace adas_core.Application.Services.Interfaces;

public interface IPoCMappingService
{
    /// <summary>
    /// Asynchronously maps the specified <paramref name="original"/> patient location to a new <see cref="PatientLocation"/>, returning <c>null</c> when no corresponding mapping result is found.
    /// </summary>
    /// <param name="original">The source patient location to map from.</param>
    /// <returns>A task that yields the mapped <see cref="PatientLocation"/>, or <c>null</c> if no mapping result is available.</returns>
    Task<PatientLocation?> Map(PatientLocation original);
}