Диплом: Автоматизация документооборота организации ОГБУЗ "Парфеньевская районная больница"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
107
// стомат услуги
pc.Add(new Path(DOCTOR_VISIT.sicDoctorVisitServices,
AMBULANCE_SURGICAL_OPERATION.siaRatio));
pc.Add(new Path(DOCTOR_VISIT.sicDoctorVisitServices,
AMBULANCE_SURGICAL_OPERATION.siaMkbCode));
pc.Add(new Path(DOCTOR_VISIT.sicDoctorVisitServices,
AMBULANCE_SURGICAL_OPERATION.siaUet));
pc.Add(new Path(DOCTOR_VISIT.sicDoctorVisitServices,
AMBULANCE_SURGICAL_OPERATION.siaToothNumber));
pc.Add(new Path(DOCTOR_VISIT.sicDoctorVisitServices,
AMBULANCE_SURGICAL_OPERATION.siaTreatmentStartDate));
pc.Add(new Path(DOCTOR_VISIT.sicDoctorVisitServices,
AMBULANCE_SURGICAL_OPERATION.sipPerformedServicePost, POST.sipV002Profile));
pc.Add(new Path(DOCTOR_VISIT.sicDoctorVisitServices,
AMBULANCE_SURGICAL_OPERATION.sipPerformedServicePost, POST.sipV021Speciality,
V021_SPECIALITY.siaId));
pc.Add(new Path(DOCTOR_VISIT.sicDoctorVisitServices,
AMBULANCE_SURGICAL_OPERATION.sipPerformedServicePost, POST.sipWorker,
WORKER.sipSnils));
pc.Add(new Path(DOCTOR_VISIT.sicDoctorVisitServices,
AMBULANCE_SURGICAL_OPERATION.sipPerformedServicePost, POST.sipWorker,
WORKER.siaFirstName));
pc.Add(new Path(DOCTOR_VISIT.sicDoctorVisitServices,
AMBULANCE_SURGICAL_OPERATION.sipPerformedServicePost, POST.sipWorker,
WORKER.siaLastName));
pc.Add(new Path(DOCTOR_VISIT.sicDoctorVisitServices,
AMBULANCE_SURGICAL_OPERATION.sipPerformedServicePost, POST.sipWorker,
WORKER.siaFatherName));
pc.Add(new Path(DOCTOR_VISIT.sicDoctorVisitServices,
AMBULANCE_SURGICAL_OPERATION.sipMedicalService, MEDICAL_SERVICE.siaCode));
this._builder.CollectRequiredAttributes(pc);
108
return pc;
}
}
public override void FillZap(StringBuilder errBilder, SCHET_ZAP sz, OMS_POLICY policy,
BaseObject bo)
{
base.FillZap(errBilder, sz, policy, bo);
}
public override void FillSluch(StringBuilder errBilder, SCHET_SLUCH sluch, BaseObject bo,
SCHET_ZAP zap)
{
SCHET_SLUCH_44 ss = (SCHET_SLUCH_44)sluch;
DOCTOR_VISIT visit = (DOCTOR_VISIT)bo;
AMBULANCE_EVENT ae = visit.AmbulanceEvent;
ss.USL_OK.Value = SCHET_SLUCH._USL_OK._3;
ss.VIDPOM.Value = SCHET_SLUCH._VIDPOM._1;
ss.IDSP.Value = SCHET_SLUCH._IDSP._22;
ss.NHISTORY.Value = ae.AmbulanceCard.Number.Value;
ss.DATE_1.Value = visit.VisitDate.Value;
ss.DATE_2.Value = visit.VisitDate.Value;
if (!ss.CODE_MES1.IsNull)
{
ss.T_KSG.Value = ss.CODE_MES1.Value;
}
if (ss.SchetZap.DR.Value.AddYears(18) > ss.DATE_1.Value)
{
ss.DET.Value = SCHET_SLUCH._DET._1;
}
else
{
ss.DET.Value = SCHET_SLUCH._DET._0;
}
109
if (visit.OutcomeRecord == null)
{
errBilder.AppendLine("Не найден исход посещения.");
}
else
{
OUTCOME_OF_INSPECTION outcome = visit.OutcomeRecord;
#region ONK_SL
if (outcome.OnkTreatmentCase != null)
{
SCHET_ONK_SL schetOnkSl =
(SCHET_ONK_SL)ss.Apartment.GetInstance(SCHET_ONK_SL._Entity, true);
if (outcome.OnkTreatmentCase.N018OnkReas != null)
{
schetOnkSl.DS1_T.Value =
outcome.OnkTreatmentCase.N018OnkReas.ID_REAS.Value;
}
else if (outcome.OnkTreatmentCase.N000Ds1T != null)
{
schetOnkSl.DS1_T.Value =
outcome.OnkTreatmentCase.N000Ds1T.ID_DS1_T.Value;
}
if (outcome.OnkTreatmentCase.N002OnkStad != null)
{
schetOnkSl.STAD.Value =
outcome.OnkTreatmentCase.N002OnkStad.ID_St.Value;
}
if (outcome.OnkTreatmentCase.N003OnkT != null)
{
schetOnkSl.ONK_T.Value = outcome.OnkTreatmentCase.N003OnkT.ID_T.Value;
}
if (outcome.OnkTreatmentCase.N004OnkN != null)
110
{
schetOnkSl.ONK_N.Value = outcome.OnkTreatmentCase.N004OnkN.ID_N.Value;
}
if (outcome.OnkTreatmentCase.N005OnkM != null)
{
schetOnkSl.ONK_M.Value =
outcome.OnkTreatmentCase.N005OnkM.ID_M.Value;
}
if (!outcome.OnkTreatmentCase.MTSTZ.IsNull &&
outcome.OnkTreatmentCase.MTSTZ.Value)
{
schetOnkSl.MTSTZ.Value = 1;
}
if (!outcome.OnkTreatmentCase.SOD.IsNull)
{
schetOnkSl.SOD.Value = outcome.OnkTreatmentCase.SOD.Value;
}
if (!outcome.OnkTreatmentCase.K_FR.IsNull)
{
schetOnkSl.K_FR.Value = outcome.OnkTreatmentCase.K_FR.Value;
}
if (!outcome.OnkTreatmentCase.Weight.IsNull)
{
schetOnkSl.WEI.Value = outcome.OnkTreatmentCase.Weight.Value;
}
if (!outcome.OnkTreatmentCase.Height.IsNull)
{
schetOnkSl.HEI.Value = outcome.OnkTreatmentCase.Height.Value;
}
if (!outcome.OnkTreatmentCase.BSA.IsNull)
{
schetOnkSl.BSA.Value = outcome.OnkTreatmentCase.BSA.Value;
}
foreach (B_DIAG bDiag in outcome.OnkTreatmentCase.BDiags)
{
111
SCHET_B_DIAG schetBDiag =
(SCHET_B_DIAG)ss.Apartment.GetInstance(SCHET_B_DIAG._Entity, true);
schetBDiag.DIAG_CODE.Value = bDiag.DIAG_TIP.Value ==
B_DIAG._DIAG_TIP._1 ? bDiag.N007OnkMrf.ID_Mrf.Value : bDiag.N010OnkIgh.ID_Igh.Value;
if (bDiag.N008OnkMrfRt != null || bDiag.N011OnkIghRt != null)
{
schetBDiag.DIAG_RSLT.Value = bDiag.DIAG_TIP.Value ==
B_DIAG._DIAG_TIP._1 ? bDiag.N008OnkMrfRt.ID_R_M.Value :
bDiag.N011OnkIghRt.ID_R_I.Value;
}
schetBDiag.DIAG_TIP.Value = bDiag.DIAG_TIP.Value;
if (!bDiag.DIAG_DATE.IsNull)
{
schetBDiag.DIAG_DATE.Value = bDiag.DIAG_DATE.Value;
}
schetBDiag.REC_RSLT.Value = bDiag.REC_RSLT.Value;
schetOnkSl.SchetBDiags.Add(schetBDiag);
}
foreach (B_PROT bProt in outcome.OnkTreatmentCase.BProts)
{
SCHET_B_PROT schetBProt =
(SCHET_B_PROT)ss.Apartment.GetInstance(SCHET_B_PROT._Entity, true);
schetBProt.PROT.Value = bProt.N001OnkPrOt.ID_PrOt.Value;
schetBProt.D_PROT.Value = bProt.D_PROT.Value;
schetOnkSl.SchetBProts.Add(schetBProt);
}
foreach (ONKO_SERVICE os in outcome.OnkTreatmentCase.OnkoServices)
{
#region ONK_USL
SCHET_ONK_USL schetOnkUsl =
(SCHET_ONK_USL)schetOnkSl.SchetOnkUsls.AddNewChild();
fillOnkUsl(schetOnkUsl, os);
#endregion
112
}
ss.SchetOnkSls = schetOnkSl;
}
#endregion
#region CONS
foreach (COUNCIL c in outcome.Councils)
{
SCHET_CONS schetCons =
(SCHET_CONS)ss.Apartment.GetInstance(SCHET_CONS._Entity, true);
schetCons.PR_CONS.Value = c.CouncilGoal.Code.Value;
if (!c.CouncilDate.IsNull)
{
schetCons.DT_CONS.Value = c.CouncilDate.Value;
}
ss.SchetConss.Add(schetCons);
}
#endregion
if (!outcome.DirectionMKB.IsEmpty)
{
ss.DS0.Value = outcome.DirectionMKB.Value;
}
ss.DS1.Value = outcome.MKBCode.Value;
foreach (ACCOMPANYING_DISEASES ad in outcome.AccompanyingDiseasess)
{
if (!ad.MKBCode.IsNull)
{
if (ss.DS2.IsEmpty)
{
ss.DS2.Value = ad.MKBCode.Value;
113
}
else
{
ss.DS2.Value += ";" + ad.MKBCode.Value;
}
}
}
}
if (visit.Rslt == null)
{
errBilder.AppendLine("Не указан результат обращения.");
}
else
{
ss.RSLT.Value = visit.Rslt.IDRMP.Value;
}
if (visit.Ishod == null)
{
errBilder.AppendLine("Не указан исход заболевания.");
}
else
{
ss.ISHOD.Value = visit.Ishod.IDIZ.Value;
}
ss.T_PRVD.Value = visit.Post.PostType.TFomsCode.Value;
if (visit.Post.Division.Branch.Category.Value == BRANCH._Category._5)
{
ss.ED_COL.Value = 1;
ss.PODR.Value = visit.Post.Division.CodeMz.Value;
}
else if
(visit.Post.Division.DivisionType.EqualsTo(EnumHolder.CurrentHolder["DivisionType", 12]))
114
{
ss.ED_COL.Value = 1;
ss.LPU_1.Value = visit.Post.Division.CodeMz.Value;
}
else if (!visit.Quantity.IsNull)
{
ss.ED_COL.Value = visit.Quantity.Value;
ss.PODR.Value = visit.Post.Division.CodeMz.Value;
}
else
{
//this.SchetBuilder.FillUsl(sluch, SCHET_USL_44._Entity, visit, this._builder);
ss.ED_COL.Value = 1;
ss.PODR.Value = visit.Post.Division.CodeMz.Value;
}
this.FillStomatUsl(errBilder, ss, visit);
// раздвигаем даты случая
foreach (SCHET_USL su in ss.SchetUsls)
{
if (su.DATE_IN.Value < ss.DATE_1.Value)
{
ss.DATE_1.Value = su.DATE_IN.Value;
}
if (su.DATE_OUT.Value > ss.DATE_2.Value)
{
ss.DATE_2.Value = su.DATE_OUT.Value;
}
}
// направления
foreach (ROUTE_RECORD item in
(IEnumerable)visit.GetAttribute(DOCTOR_VISIT.sicRouteRecords))
{
if (item.RouteToOnk != null)
115
{
bool isNotCanceled = true;
if (item.Description.Name == ROUTE_TO_DIAGNOSTICS._Entity)
{
foreach (MEDICAL_RECORD_RELATIONSHIP mrr in item.Relationships)
{
if (mrr.MedicalRecordLink.Description.Name ==
CANCEL_DIAGNOSTICS._Entity)
{
isNotCanceled = false;
}
}
}
// направления на Онко.
if (isNotCanceled)
{
SCHET_NAPR napr = (SCHET_NAPR)ss.SchetNaprs.AddNewChild();
napr.NAPR_DATE.Value = item.RouteDate.Value;
napr.NAPR_MO.Value = item.PerformerLpu.LpuCode.Value;
napr.NAPR_V.Value = item.RouteToOnk.V028ReferralType.IDVN.Value;
if (item.RouteToOnk.V029ResearchMethod != null && (item is
ROUTE_TO_DIAGNOSTICS))
{
napr.MET_ISSL.Value =
item.RouteToOnk.V029ResearchMethod.IDMET.Value;
napr.NAPR_USL.Value =
((ROUTE_TO_DIAGNOSTICS)item).Research.Code.Value;
}
if (item.RouteToOnk.DS_ONK.Value)
{
ss.DS_ONK.Value = 1;
}
}
}
}
116
// собираем посещения в осмотры
DOCTOR_INSPECTION di;
if (visit is DOCTOR_INSPECTION_RE)
{
di = ((DOCTOR_INSPECTION_RE)visit).DoctorInspection;
}
else
{
di = (DOCTOR_INSPECTION)visit;
}
ss.Event.Value = di.VisitID.Value;
ss.EntityIndex.Value = di.DataIndex;
List<SCHET_SLUCH> items;
if (!this.rlist.TryGetValue(ss.Event.Value, out items))
{
items = new List<SCHET_SLUCH>();
this.rlist.Add(ss.Event.Value, items);
}
items.Add(ss);
}
public override SCHET_SLUCH CreateNewSluch(SCHET_ZAP sz)
{
SCHET_SLUCH_44 sluch =
(SCHET_SLUCH_44)sz.Apartment.GetInstance(SCHET_SLUCH_44._Entity, true);
sz.SchetSluchs.Add(sluch);
return sluch;
}
public override void DoCustomAction()
{

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)