InterventionsDiagnosisInvestigationsCcImpl.java 文件源码

java
阅读 23 收藏 0 点赞 0 评论 0

项目:openMAXIMS 作者:
public PatientDiagnosisAtConsultationVoCollection saveDiagnosis(PatientDiagnosisAtConsultationVoCollection diagnosis, CareContextRefVo careContext) throws StaleObjectException 
{
    if(diagnosis == null)
        throw new CodingRuntimeException("Cannot save a null PatientDiagnosisAtConsultationVoCollection.");

    if(!diagnosis.isValidated())
        throw new CodingRuntimeException("PatientDiagnosisAtConsultationVoCollection is not validated.");

    DomainFactory factory = getDomainFactory();
    PatientDiagnosisAtConsultationVoCollection coll = new PatientDiagnosisAtConsultationVoCollection();

    //WDEV-19239
    boolean isPatientDiagPrimary=false; 
    CareContextRefVo careContextRef = null;
    for(PatientDiagnosisAtConsultationVo diagnose : diagnosis)
    {
        if(diagnose == null)
            continue;

        careContextRef=diagnose.getCareContext();
        if (isPrimary(diagnose))
            isPatientDiagPrimary=true;

        PatientDiagnosis doDiagnose = PatientDiagnosisAtConsultationVoAssembler.extractPatientDiagnosis(factory, diagnose);

        factory.save(doDiagnose);
        coll.add(PatientDiagnosisAtConsultationVoAssembler.create(doDiagnose));
    }

    CodedDiagnosesForAttendanceVoCollection collCodedDiag = listCodedDiagnosesForAttendance(careContextRef, true);

    if (isPatientDiagPrimary && collCodedDiag!=null && collCodedDiag.size()>0)
    {
        for (CodedDiagnosesForAttendanceVo codedDiag : collCodedDiag)
        {
            codedDiag.setIsMain(false);

            CodedDiagForAttendance doCodedDiag = CodedDiagnosesForAttendanceVoAssembler.extractCodedDiagForAttendance(factory, codedDiag);
            factory.save(doCodedDiag);
        }
    }

    if(careContext != null)
    {
        AttendDiagInvTreatStatusVo attendDiagInvTreatStatus = getAttendDiagInvTreatStatus(careContext);

        if(attendDiagInvTreatStatus != null)
        {
            attendDiagInvTreatStatus.setNoDiagnoses(null);
            attendDiagInvTreatStatus.setDiagnosesNotRecorded(null);

            AttendDiagInvTreatStatus doAttendDiagInvTreatStatus = AttendDiagInvTreatStatusVoAssembler.extractAttendDiagInvTreatStatus(factory, attendDiagInvTreatStatus);
            factory.save(doAttendDiagInvTreatStatus);
        }
    }

    return coll;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号