package com.lantone.structure.ai;

import com.lantone.structure.client.CRFServiceClient;
import com.lantone.structure.client.SimilarityServiceClient;
import com.lantone.structure.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();
    ClinicalbloodAI clinicalbloodAI = new ClinicalbloodAI();
    StagesSummaryAI stagesSummaryAI = new StagesSummaryAI();
    RescueAI rescueAI = new RescueAI();
    CaesareanSectionAI caesareanSectionAI = new CaesareanSectionAI();

    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);
        clinicalbloodAI.medrec(inputInfo, crfServiceClient);
        stagesSummaryAI.medrec(inputInfo, crfServiceClient);
        rescueAI.medrec(inputInfo, crfServiceClient);
        caesareanSectionAI.medrec(inputInfo, crfServiceClient);
    }

}