package com.eitc.patient.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.eitc.patient.domain.MedicalHistory;
import com.eitc.patient.dto.DiagnosisTypeTemplateDto;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * IMedicalHistoryService
 *
 * @author mtx
 * @date: 2024/05/21 17:28
 */
@Service
public interface IMedicalHistoryService extends IService<MedicalHistory> {

    /**
     * 获取病史列表
     *
     * @param contents        病史内容
     * @param medicalRecordId 病历id
     * @param patientId       患者id
     * @param diseaseType     病史类型
     * @param diseaseSource   病史来源
     * @return 病史列表
     * @author mtx
     * @date: 2024/5/22 9:15
     */
    List<MedicalHistory> encapsulationMedicalHistoryList(String contents,
                                                         String medicalRecordId,
                                                         String patientId,
                                                         Integer diseaseType,
                                                         Integer diseaseSource);

    /**
     * 封装病史列表
     *
     * @param allergyHistory  过敏史
     * @param pastHistory     既往史
     * @param familyHistory   家族史
     * @param medicalRecordId 病历id
     * @param patientId       患者id
     * @param diseaseSource   来源
     * @author mtx
     * @date: 2024/5/22 10:18
     */
    void saveMedicalHistoryList(String allergyHistory,
                                String pastHistory,
                                String familyHistory,
                                String medicalRecordId,
                                String patientId,
                                Integer diseaseSource);

    /**
     * 查询患者的病史保存到历史记录中
     *
     * @param patientId       患者id
     * @param medicalRecordId 病历id
     * @author mtx
     * @date: 2024/5/22 13:57
     */
    void saveMedicalHistoryToMedicalRecordIdByPatientId(String patientId, String medicalRecordId);

    /**
     * 查询患者的病史
     *
     * @param patientId   患者id
     * @param diseaseType 类型
     * @param detailsVO   模板信息
     * @author mtx
     * @date: 2024/06/07 14:01
     */
    void findMedicalHistory(String patientId, Integer diseaseType, DiagnosisTypeTemplateDto detailsVO);
}
