package com.gnx.telemedicine.dto.medical;

import com.gnx.telemedicine.model.enums.LabResultStatus;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;

import java.time.Instant;
import java.util.UUID;

public record LabResultRequestDto(
        UUID medicalRecordId, // Optional: lab results can exist independently of medical records

        @NotNull(message = "Patient ID cannot be null")
        UUID patientId,

        @NotBlank(message = "Test name cannot be blank")
        String testName,

        String testCode,
        String resultValue,
        String unit,
        String referenceRange,
        LabResultStatus status,
        Instant performedAt,
        String resultFileUrl
) {}

