package com.lantone.qc.kernel.structure.ai;

import com.lantone.qc.kernel.client.CRFServiceClient;
import com.lantone.qc.kernel.client.SimilarityServiceClient;
import com.lantone.qc.pub.model.InputInfo;
import lombok.extern.slf4j.Slf4j;

@Slf4j
public class AIAnalyze {

    private CRFServiceClient crfServiceClient;
    private SimilarityServiceClient similarityServiceClient;
    BeHospitalizedAI beHospitalizedAI = new BeHospitalizedAI();
    FirstCourseRecordAI firstCourseRecordAI = new FirstCourseRecordAI();
    LeaveHospitalAI leaveHospitalAI = new LeaveHospitalAI();
    ThreeLevelWardAI threeLevelWardAI = new ThreeLevelWardAI();
    OperationAI operationAI = new OperationAI();
    ConsultationAI consultationAI = new ConsultationAI();

    public AIAnalyze(CRFServiceClient crfService, SimilarityServiceClient similarityServiceClient) {
        this.crfServiceClient = crfService;
        this.similarityServiceClient = similarityServiceClient;
    }

    public void aiProcess(InputInfo inputInfo) {
        beHospitalizedAI.medrec(inputInfo, crfServiceClient);
        firstCourseRecordAI.medrec(inputInfo, crfServiceClient, similarityServiceClient);
        leaveHospitalAI.medrec(inputInfo, crfServiceClient);
        threeLevelWardAI.medrec(inputInfo, crfServiceClient);
        operationAI.medrec(inputInfo, crfServiceClient);
        consultationAI.medrec(inputInfo, crfServiceClient);
    }

}