public async Task <InClinicProcedureViewModel> GetInClinicProcedureAsync(int id) { if (id < 0) { throw new ArgumentException(nameof(id)); } return(await Task <InClinicProcedureViewModel> .Run(() => { InClinicProcedure inClinicProcedure = MedicContext.InClinicProcedures .Include(icp => icp.PatientBranch) .ThenInclude(pb => pb.HealthRegion) .Include(icp => icp.PatientHealthRegion) .SingleOrDefault(icp => icp.Id == id); if (inClinicProcedure == default) { return default; } PatientSummaryViewModel patient = base.GetPatient <PatientSummaryViewModel>(p => p.Id == inClinicProcedure.PatientId); HealthcarePractitionerSummaryViewModel sender = base.GetHealthcarePractitioner <HealthcarePractitionerSummaryViewModel>(hp => hp.Id == inClinicProcedure.SenderId); CeasedClinicalViewModel ceasedClinical = base.GetCeasedClinical <CeasedClinicalViewModel>(cc => cc.Id == inClinicProcedure.CeasedClinicalPathId); DiagPreviewViewModel firstMainDiag = base.GetDiag <DiagPreviewViewModel>(d => d.Id == inClinicProcedure.FirstMainDiagId); DiagPreviewViewModel secondMainDiag = base.GetDiag <DiagPreviewViewModel>(d => d.Id == inClinicProcedure.SecondMainDiagId); return new InClinicProcedureViewModel() { Id = inClinicProcedure.Id, Patient = patient, PatientBranch = inClinicProcedure?.PatientBranch?.HealthRegion?.Name ?? default, PatientHealthRegion = inClinicProcedure.PatientHealthRegion.Name, Sender = sender, APrSend = inClinicProcedure.APrSend, TypeProcSend = inClinicProcedure.TypeProcSend, DateSend = inClinicProcedure.DateSend, CPrPriem = inClinicProcedure.CPrPriem, APrPriem = inClinicProcedure.APrPriem, TypeProcPriem = inClinicProcedure.TypeProcPriem, ProcRefuse = inClinicProcedure.ProcRefuse, CeasedClinicalPath = ceasedClinical, IZNumChild = inClinicProcedure.IZNumChild, IZYearChild = inClinicProcedure.IZYearChild, FirstVisitDate = inClinicProcedure.FirstVisitDate, PlanVisitDate = inClinicProcedure.PlanVisitDate, VisitDoctorUniqueIdentifier = inClinicProcedure.VisitDoctorUniqueIdentifier, VisitDoctorName = inClinicProcedure.VisitDoctorName, FirstMainDiag = firstMainDiag, SecondMainDiag = secondMainDiag, PatientStatus = inClinicProcedure.PatientStatus, NZOKPay = inClinicProcedure.NZOKPay }; })); }
public async Task <DispObservationViewModel> GetDispObservationAsync(int id) { if (id < 1) { throw new ArgumentException(nameof(id)); } return(await Task <DispObservationViewModel> .Run(() => { DispObservation dispObservation = MedicContext.DispObservations .Include(disp => disp.PatientBranch) .ThenInclude(pb => pb.HealthRegion) .Include(disp => disp.PatientHRegion) .SingleOrDefault(disp => disp.Id == id); if (dispObservation == default) { return default; } PatientSummaryViewModel patient = base.GetPatient <PatientSummaryViewModel>(p => p.Id == dispObservation.PatientId); HealthcarePractitionerSummaryViewModel doctor = base.GetHealthcarePractitioner <HealthcarePractitionerSummaryViewModel>(hp => hp.Id == dispObservation.DoctorId); List <MDISummaryViewModel> MDIs = MedicContext.MDIs .Where(m => m.DispObservationId == dispObservation.Id) .ProjectTo <MDISummaryViewModel>(Configuration) .ToList(); DiagPreviewViewModel firstMainDiag = GetDiag <DiagPreviewViewModel>(d => d.Id == dispObservation.MainDiagFirstId); DiagPreviewViewModel secondMainDiag = GetDiag <DiagPreviewViewModel>(d => d.Id == dispObservation.MainDiagSecondId); return new DispObservationViewModel() { Id = dispObservation.Id, Patient = patient, PatientBranch = dispObservation?.PatientBranch?.HealthRegion?.Name ?? default, PatientHRegion = dispObservation?.PatientHRegion?.Name ?? default, Doctor = doctor, DispNum = dispObservation.DispNum, DispDate = dispObservation.DispDate, AprCode = dispObservation.AprCode, DiagDate = dispObservation.DiagDate, DispanserDate = dispObservation.DispanserDate, DispVisit = dispObservation.DispVisit, MDIs = MDIs, FirstMainDiag = firstMainDiag, SecondMainDiag = secondMainDiag, Anamnesa = dispObservation.Anamnesa, HState = dispObservation.HState, Therapy = dispObservation.Therapy, Sign = dispObservation.Sign, NZOKPay = dispObservation.NZOKPay }; })); }
private Cluster CreateDiagCluster(DiagPreviewViewModel model, string name) { if (model == default) { throw new ArgumentNullException(nameof(model)); } return(EhrManager.ClusterBuilder.Clear() .AddName(EhrManager.SimpleTextBuilder.Clear().AddOriginalText(name).Build()) .AddParts( EhrManager.ElementBuilder.Clear() .AddName(EhrManager.SimpleTextBuilder.Clear().AddOriginalText(nameof(model.Name)).Build()) .AddValue(EhrManager.SimpleTextBuilder.Clear().AddOriginalText(model.Name).Build()).Build(), EhrManager.ElementBuilder.Clear() .AddName(EhrManager.SimpleTextBuilder.Clear().AddOriginalText(nameof(model.Code)).Build()) .AddValue(EhrManager.SimpleTextBuilder.Clear().AddOriginalText(model.Code).Build()).Build() ).Build()); }
public async Task <TransferViewModel> GetTrasnferAsync(int id) { if (id == default) { throw new ArgumentException(nameof(id)); } return(await Task.Run(() => { Transfer transfer = this.MedicContext.Transfers .Include(t => t.CPFile) .ThenInclude(cp => cp.FileType) .SingleOrDefault(t => t.Id == id); if (transfer == default) { return default; } DiagPreviewViewModel firstMainDiag = base.GetDiag <DiagPreviewViewModel>(d => d.Id == transfer.FirstMainDiagId); DiagPreviewViewModel secondMainDiag = base.GetDiag <DiagPreviewViewModel>(d => d.Id == transfer.SecondMainDiagId); return new TransferViewModel() { Id = transfer.Id, IZYear = transfer.IZYear, IZNumber = transfer.IZNumber, FirstMainDiag = firstMainDiag, SecondMainDiag = secondMainDiag, CashPatient = transfer.CashPatient, ClinicalProcedure = transfer.CashPatient, ClinicalPath = transfer.ClinicalPath, AmbulatoryProcedure = transfer.AmbulatoryProcedure, DischargeWard = transfer.DischargeWard, TransferWard = transfer.TransferWard, TransferDateTime = transfer.TransferDateTime, CPFile = transfer.CPFile?.FileType?.Name ?? default }; })); }
protected Entry CreateDiagEntry(DiagPreviewViewModel model) { if (model == default) { throw new ArgumentNullException(nameof(model)); } return(EhrManager.EntryBuilder .Clear() .AddItems( EhrManager.ElementBuilder .Clear() .AddName(EhrManager.SimpleTextBuilder.Clear().AddOriginalText(nameof(model.Code)).Build()) .AddValue(EhrManager.SimpleTextBuilder.Clear().AddOriginalText(model.Code).Build()) .Build(), EhrManager.ElementBuilder .Clear() .AddName(EhrManager.SimpleTextBuilder.Clear().AddOriginalText(nameof(model.Name)).Build()) .AddValue(EhrManager.SimpleTextBuilder.Clear().AddOriginalText(model.Name).Build()) .Build()) .Build()); }
public async Task <CommissionAprViewModel> GetCommissionAprAsync(int id) { if (id < 1) { throw new ArgumentException(nameof(id)); } return(await Task <CommissionAprViewModel> .Run(() => { CommissionApr commissionApr = MedicContext.CommissionAprs .Include(ca => ca.PatientBranch) .ThenInclude(pb => pb.HealthRegion) .Include(ca => ca.PatientHRegion) .SingleOrDefault(ca => ca.Id == id); if (commissionApr == default) { return default; } PatientSummaryViewModel patient = base.GetPatient <PatientSummaryViewModel>(p => p.Id == commissionApr.PatientId); HealthcarePractitionerSummaryViewModel sender = base.GetHealthcarePractitioner <HealthcarePractitionerSummaryViewModel>(hp => hp.Id == commissionApr.SenderId); HealthcarePractitionerSummaryViewModel chairman = base.GetHealthcarePractitioner <HealthcarePractitionerSummaryViewModel>(hp => hp.Id == commissionApr.ChairmanId); DiagPreviewViewModel mainDiag = base.GetDiag <DiagPreviewViewModel>(d => d.Id == commissionApr.MainDiagId); List <DiagPreviewViewModel> addedDiag = base.GetDiags <DiagPreviewViewModel>(d => d.CommissionAprId == commissionApr.Id); APr38PreviewViewModel APr38 = MedicContext.APr38s .ProjectTo <APr38PreviewViewModel>(Configuration) .SingleOrDefault(apr => apr.Id == commissionApr.APr38Id); APr05PreviewViewModel APr05 = MedicContext.APr05s .ProjectTo <APr05PreviewViewModel>(Configuration) .SingleOrDefault(apr => apr.Id == commissionApr.APr05Id); return new CommissionAprViewModel() { Id = commissionApr.Id, Patient = patient, PatientBranch = commissionApr?.PatientBranch?.HealthRegion?.Name ?? default, PatientHRegion = commissionApr.PatientHRegion.Name, Sender = sender, AprSend = commissionApr.AprSend, SendDate = commissionApr.SendDate, AprPriem = commissionApr.AprPriem, SpecCommission = commissionApr.SpecCommission, NoDecision = commissionApr.NoDecision, DecisionDate = commissionApr.DecisionDate, Chairman = chairman, MainDiag = mainDiag, AddDiags = addedDiag, APr38 = APr38, APr05 = APr05, Sign = commissionApr.Sign, NZOKPay = commissionApr.NZOKPay }; })); }
public async Task <ProtocolDrugTherapyViewModel> GetProtocolDrugTherapyAsync(int id) { if (id < 1) { throw new ArgumentException(nameof(id)); } return(await Task <ProtocolDrugTherapyViewModel> .Run(() => { ProtocolDrugTherapy protocolDrugTherapy = MedicContext.ProtocolDrugTherapies .Include(pdt => pdt.PatientBranch) .ThenInclude(pb => pb.HealthRegion) .Include(pdt => pdt.PatientHRegion) .Include(pdt => pdt.CPFile) .ThenInclude(cp => cp.FileType) .SingleOrDefault(pdt => pdt.Id == id); if (protocolDrugTherapy == default) { return default; } PatientSummaryViewModel patient = base.GetPatient <PatientSummaryViewModel>(p => p.Id == protocolDrugTherapy.PatientId); PracticePreviewViewModel practice = MedicContext.Practices .ProjectTo <PracticePreviewViewModel>(Configuration) .SingleOrDefault(p => p.Id == protocolDrugTherapy.PracticeId); DiagPreviewViewModel diag = base.GetDiag <DiagPreviewViewModel>(d => d.Id == protocolDrugTherapy.DiagId); HematologyPartPreviewViewModel hematologyPart = MedicContext.HematologyParts .ProjectTo <HematologyPartPreviewViewModel>(Configuration) .SingleOrDefault(hp => hp.Id == protocolDrugTherapy.Id); ChemotherapyPartPreviewViewModel chemotherapyPart = MedicContext.ChemotherapyParts .ProjectTo <ChemotherapyPartPreviewViewModel>(Configuration) .SingleOrDefault(cp => cp.Id == protocolDrugTherapy.ChemotherapyPartId); List <DrugProtocolPreviewViewModel> drugProtocols = MedicContext.DrugProtocols .Where(dp => dp.ProtocolDrugTherapyId == protocolDrugTherapy.Id) .ProjectTo <DrugProtocolPreviewViewModel>(Configuration) .ToList(); List <AccompanyingDrugPreviewViewModel> accompanyingDrugs = MedicContext.AccompanyingDrugs .Where(ad => ad.ProtocolDrugTherapyId == protocolDrugTherapy.Id) .ProjectTo <AccompanyingDrugPreviewViewModel>(Configuration) .ToList(); HealthcarePractitionerSummaryViewModel chairman = base.GetHealthcarePractitioner <HealthcarePractitionerSummaryViewModel>(hp => hp.Id == protocolDrugTherapy.ChairmanId); return new ProtocolDrugTherapyViewModel() { Id = protocolDrugTherapy.Id, Patient = patient, PatientBranch = protocolDrugTherapy?.PatientBranch?.HealthRegion?.Name ?? default, PatientHRegion = protocolDrugTherapy?.PatientHRegion?.Name ?? default, Practice = practice, NumberOfDecision = protocolDrugTherapy.NumberOfDecision, DecisionDate = protocolDrugTherapy.DecisionDate, PracticeCodeProtocol = protocolDrugTherapy.PracticeCodeProtocol, NumberOfProtocol = protocolDrugTherapy.NumberOfProtocol, ProtocolDate = protocolDrugTherapy.ProtocolDate, Diag = diag, Height = protocolDrugTherapy.Height, Weight = protocolDrugTherapy.Weight, BSA = protocolDrugTherapy.BSA, TherapyLine = protocolDrugTherapy.TherapyLine, Scheme = protocolDrugTherapy.Scheme, CycleCount = protocolDrugTherapy.CycleCount, HematologyPart = hematologyPart, ChemotherapyPart = chemotherapyPart, DrugProtocols = drugProtocols, AccompanyingDrugs = accompanyingDrugs, Chairman = chairman, Sign = protocolDrugTherapy.Sign, CPFile = protocolDrugTherapy?.CPFile?.FileType.Name, }; })); }
public async Task <PathProcedureViewModel> GetPathProcedureByIdAsync(int id) { return(await Task <PathProcedureViewModel> .Run(() => { PathProcedure pathProcedure = MedicContext.PathProcedures .Include(pp => pp.PatientBranch) .ThenInclude(pb => pb.HealthRegion) .Include(pp => pp.PatientHRegion) .SingleOrDefault(pp => pp.Id == id); if (pathProcedure == default) { return default; } PatientSummaryViewModel patient = base.GetPatient <PatientSummaryViewModel>(p => p.Id == pathProcedure.PatientId); HealthcarePractitionerSummaryViewModel sender = base.GetHealthcarePractitioner <HealthcarePractitionerSummaryViewModel>(hp => hp.Id == pathProcedure.SenderId); CeasedClinicalViewModel CeasedProcedure = base.GetCeasedClinical <CeasedClinicalViewModel>(cc => cc.Id == pathProcedure.CeasedProcedureId); CeasedClinicalViewModel CeasedClinicalPath = base.GetCeasedClinical <CeasedClinicalViewModel>(cc => cc.Id == pathProcedure.CeasedClinicalPathId); DiagPreviewViewModel firstMainDiag = base.GetDiag <DiagPreviewViewModel>(d => d.Id == pathProcedure.FirstMainDiagId); DiagPreviewViewModel secondMainDiag = base.GetDiag <DiagPreviewViewModel>(d => d.Id == pathProcedure.SecondMainDiagId); List <ProcedureSummaryViewModel> doneNewProcedures = base.GetProcedures <ProcedureSummaryViewModel>(pr => pr.PathProcedureId == pathProcedure.Id); List <ClinicUsedDrugViewModel> usedDrugs = MedicContext.ClinicUsedDrugs .Where(ud => ud.PathProcedureId == pathProcedure.Id) .ProjectTo <ClinicUsedDrugViewModel>(Configuration) .ToList(); List <ClinicProcedureViewModel> clinicProcedure = MedicContext.ClinicProcedures .Where(cp => cp.PathProcedureId == pathProcedure.Id) .ProjectTo <ClinicProcedureViewModel>(Configuration) .ToList(); List <DoneProcedureViewModel> doneProcedures = MedicContext.DoneProcedures .Where(dp => dp.PathProcedureId == pathProcedure.Id) .ProjectTo <DoneProcedureViewModel>(Configuration) .ToList(); return new PathProcedureViewModel() { Id = pathProcedure.Id, Patient = patient, PatientBranch = pathProcedure?.PatientBranch?.HealthRegion?.Name ?? default, PatientHRegion = pathProcedure?.PatientHRegion?.Name ?? default, Sender = sender, CPrSend = pathProcedure.CPrSend, APrSend = pathProcedure.APrSend, TypeProcSend = pathProcedure.TypeProcSend, DateSend = pathProcedure.DateSend, CPrPriem = pathProcedure.CPrPriem, APrPriem = pathProcedure.APrPriem, MedicalWard = pathProcedure.MedicalWard, TypeProcPriem = pathProcedure.TypeProcPriem, ProcRefuse = pathProcedure.ProcRefuse, CeasedProcedure = CeasedProcedure, CeasedClinicalPath = CeasedClinicalPath, IZNumChild = pathProcedure.IZNumChild, IZYearChild = pathProcedure.IZYearChild, FirstVisitDate = pathProcedure.FirstVisitDate, DatePlanPriem = pathProcedure.DatePlanPriem, VisitDoctorUniqueIdentifier = pathProcedure.VisitDoctorUniqueIdentifier, VisitDoctorName = pathProcedure.VisitDoctorName, FirstMainDiag = firstMainDiag, SecondMainDiag = secondMainDiag, DateProcedureBegins = pathProcedure.DateProcedureBegins, DateProcedureEnd = pathProcedure.DateProcedureEnd, DoneNewProcedures = doneNewProcedures, UsedDrugs = usedDrugs, ClinicProcedures = clinicProcedure, DoneProcedures = doneProcedures, AllDoneProcedures = pathProcedure.AllDoneProcedures, AllDrugCost = pathProcedure.AllDrugCost, PatientStatus = pathProcedure.PatientStatus, OutUniqueIdentifier = pathProcedure.OutUniqueIdentifier, Sign = pathProcedure.Sign, NZOKPay = pathProcedure.NZOKPay }; })); }