public IHttpActionResult Post(int doctorId, [FromBody] ObstetricConsult req)
 {
     if (service.SaveObstetricConsult(doctorId, req))
     {
         return(Ok());
     }
     else
     {
         return(NotFound());
     }
 }
Пример #2
0
        public bool SaveObstetricConsult(int doctorId, ObstetricConsult req)
        {
            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    var now = DateTime.Now;

                    Paciente p = Context.Paciente.FirstOrDefault(x => x.idPaciente == req.PatientConsult.PatientId);
                    p.AlergiaMedicina = req.PatientConsult.Allergies;
                    p.AlergiaOtros    = req.PatientConsult.Reserved;
                    p.Patologia       = req.PatientConsult.RelevantPathologies;
                    Context.SaveChanges();

                    var consult = new Consultas
                    {
                        idmedico         = doctorId,
                        idpaciente       = req.PatientConsult.PatientId,
                        Peso             = req.BasicConsult.Weight,
                        Altura           = req.BasicConsult.Size,
                        Temperatura      = req.BasicConsult.Temperature,
                        TensionArterial  = req.BasicConsult.BloodPressure_A,
                        TensionArterialB = req.BasicConsult.BloodPressure_B,
                        motivo           = req.BasicConsult.ReasonForConsultation,
                        Fecha            = now
                    };

                    Context.Consultas.Add(consult);
                    Context.SaveChanges();

                    var consultObst = new ConsultaObstetrica
                    {
                        idconsulta                  = consult.idconsulta,
                        noembarazo                  = req.PregnancyNumber,
                        activaSexualmente           = req.SexuallyActive,
                        abortos                     = req.Abortions,
                        FechaUltmoParto             = req.LastParturitionDate,
                        PrimerDiaUltimaMestruacuion = req.FirstDayOfLastMenstruation,
                        ToxemiasPrevias             = (byte?)(req.PreviousToxemias ? 1 : 0),
                        EspecifiqueToxemias         = req.PreviousToxemias ? req.SpecifyToxemias : null,
                        Partos                            = req.Parturition,
                        CesareasPrevia                    = req.PreviousCesarean,
                        UsoDeForceps                      = req.Forceps,
                        Motinatos                         = req.Stillbirths,
                        RMVivos                           = req.NewbornAlive,
                        EmbarazoEtopicos                  = (byte?)(req.EctopicPregnancies ? 1 : 0),
                        EmbrazoEtopicoExplique            = req.EctopicPregnancies ? req.SpecifyEctopicPregnancies : null,
                        EmbrazosComplicadosPrevios        = (byte?)(req.PreviousPregnacyComplications ? 1 : 0),
                        EmbarazosComplicadosExplique      = req.PreviousPregnacyComplications ? req.SpecifyPreviousPregnacyComplications : null,
                        NoComplicacionesPertinales        = (byte?)(req.PerinatalComplications ? 1 : 0),
                        ComplicacionesPerinatalesExplique = req.PerinatalComplications ? req.SpecifyPerinatalComplications : null,
                        NoEmbrazosAnormales               = (byte?)(req.AbnormalPregnancies ? 1 : 0),
                        EmbarazosAnormalesExplique        = req.AbnormalPregnancies ? req.SpecifyAbnormalPregnancies : null,
                        Observaciones                     = req.Observations,
                        FU                 = req.PregnancyControl.FU,
                        FCF                = req.PregnancyControl.FCF,
                        CC                 = req.PregnancyControl.CC,
                        CA                 = req.PregnancyControl.CA,
                        LF                 = req.PregnancyControl.LF,
                        DSP                = req.PregnancyControl.DBP,
                        Posicion           = req.PregnancyControl.Position,
                        Presentacion       = req.PregnancyControl.Presentation,
                        siuacuion          = req.PregnancyControl.Situtation,
                        Actitud            = req.PregnancyControl.Attitude,
                        MovimientosFetales = req.PregnancyControl.FetalMovements,
                        PesoAproxProducto  = req.PregnancyControl.ApproximateProductWeight,
                        TA                 = req.PregnancyControl.TA,
                        FCM                = req.PregnancyControl.FCM,
                        Edema              = req.PregnancyControl.Edema,
                        SeHizoUf           = req.PregnancyControl.MadeUf,
                        ultrasonido        = req.PregnancyControl.Ultrasound,
                        exploracionFisica  = req.PregnancyControl.PhysicalExploration
                    };

                    if (req.Parturition == 1)
                    {
                        consultObst.TipoDistocia              = (byte?)req.DystociaType;
                        consultObst.EspecifiqueTipoDistocia   = req.DystociaType == 3 ? req.SpecifyDystociaType : null;
                        consultObst.MotivoDistocia            = (byte?)req.DystociaReason;
                        consultObst.EspecifiqueMotivoDistocia = req.DystociaReason == 4 ? req.SpecifyDystociaReason : null;
                    }

                    Context.ConsultaObstetrica.Add(consultObst);
                    Context.SaveChanges();

                    scope.Complete();
                    return(true);
                }
            }
            catch (Exception ex)
            {
                Log.Write($"WebAPI.Services._Consults - SaveObstetricConsult => ${ex.Message}");
            }
            return(false);
        }