package com.njcn.gather.icd.mapping.service;

import com.fasterxml.jackson.databind.JsonNode;
import com.njcn.gather.icd.mapping.pojo.param.CsIcdPathParam;
import com.njcn.gather.icd.mapping.pojo.param.IcdCheckResultSaveParam;
import com.njcn.gather.icd.mapping.pojo.vo.CsIcdPathDetailVO;
import com.njcn.gather.icd.mapping.pojo.vo.CsIcdPathVO;

import java.util.List;

/**
 * ICD 存储记录服务。
 */
public interface CsIcdPathService {

    List<CsIcdPathVO> listIcdPaths(CsIcdPathParam.ListParam param);

    List<CsIcdPathVO> listReferenceIcdPaths();

    JsonNode getIcdCheckMsg(String icdId);

    CsIcdPathDetailVO getMappingDetail(String icdId);

    boolean addIcdPath(CsIcdPathParam param);

    boolean updateIcdPath(CsIcdPathParam.UpdateParam param);

    boolean activateIcdPath(String icdId);

    boolean deleteIcdPath(List<String> ids);

    boolean saveIcdCheckResult(String icdId, IcdCheckResultSaveParam param);
}
