Ejemplo n.º 1
0
        public async Task <Response <Procedure> > UpdateItem(int id, ProcedureRequest procedureRequest)
        {
            try
            {
                if (id != procedureRequest.Id)
                {
                    return(new Response <Procedure>(false, "Failure: Id sent in body does not match object Id", null));
                }
                Procedure procedure = await _db.Procedures.FirstOrDefaultAsync(x => x.Id == id);

                if (procedure == null)
                {
                    return(new Response <Procedure>(false, "Failure: Data doesn't exist.", null));
                }
                procedure.Name           = procedureRequest.Name;
                procedure.Executant      = procedureRequest.Executant;
                procedure.ExecutantShare = procedureRequest.ExecutantShare;
                procedure.Charges        = procedureRequest.Charges;
                procedure.Consent        = procedureRequest.Consent;
                await _db.SaveChangesAsync();

                return(new Response <Procedure>(true, "Success: Updated data.", procedure));
            }
            catch (Exception exception)
            {
                return(new Response <Procedure>(false, $"Server Failure: Unable to update data. Because {exception.Message}", null));
            }
        }
        public async Task <IActionResult> Create([FromBody] ProcedureRequest request)
        {
            try
            {
                if (request.NurseId == null)
                {
                    request.NurseId = new Guid(User.Identity.Name);
                }

                await procedureService.CreateAsync(request);

                appointmentService.SetDoneAsync((Guid)request.AppointmentId).Wait();

                var procedure = await procedureService.GetProcedureByAppointmentId((Guid)request.AppointmentId);

                await deviceService.SetDeviceStateAsync((Guid)request.DeviceId, Models.Users.DeviceState.Active);

                await orderService.AddOrder((Guid)procedure.Appointment.MedicamentId, 1);

                await noteService.AddNote((Guid)procedure.Appointment.MedicamentId);

                return(Ok());
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
Ejemplo n.º 3
0
        static void Procedure()
        {
            var sqlRest = new SqlRest();
            var req     = new ProcedureRequest
            {
                Name        = "Flights.dbo.AirportsByAirline",
                Parameters  = JObject.FromObject(new { airlineId = 109 }),
                ExecuteOnly = false
            };

            var results = sqlRest.Procedure(req).Result;

            WriteResults(results);
        }
        public async Task CreateAsync(ProcedureRequest request)
        {
            Procedure procedure = new Procedure((Guid)request.NurseId, (Guid)request.DeviceId, (Guid)request.AppointmentId, request.Speed, request.Volume);

            Procedure isInBase = await applicationContext.Procedures.FirstOrDefaultAsync(p => p.AppointmentId == procedure.AppointmentId);

            if (isInBase != null)
            {
                throw new Exception(localizer["Procedure already exists."]);
            }

            await applicationContext.Procedures.AddAsync(procedure);

            await applicationContext.SaveChangesAsync();
        }
Ejemplo n.º 5
0
        private ProcedureRequest CreateProcRequest(LabRequestViewModel procRequest)
        {
            string           identifier     = "CT12345";
            string           practitionerId = "smart-Practitioner-71081332";
            ProcedureRequest proc           = new ProcedureRequest();

            proc.Identifier = new List <Identifier>
            {
                new Identifier()
                {
                    Value = identifier, System = SystemName
                }
            };
            proc.Status   = RequestStatus.Active;
            proc.Intent   = RequestIntent.Order;
            proc.Category = new List <CodeableConcept> {
                new CodeableConcept
                {
                    Coding = new List <Coding>
                    {
                        new Coding("http://snomed.info/sct",
                                   "103693007", "Diagnostic procedure")
                    }
                }
            };

            string measurement = string.Empty;
            string procCode    = string.Empty;
            string system      = string.Empty;

            if (procRequest.Biochemistry == "Glucose" && procRequest.Sample == "Blood")
            {
                measurement = "Glucose measurement, blood (procedure)";
                procCode    = "33474003";
                system      = "2.16.840.1.113883.6.96";
            }
            proc.Code      = new CodeableConcept(system, procCode, measurement);
            proc.Requester = new ProcedureRequest.RequesterComponent();
            string practitionerRef = "Practitioner/" + practitionerId;

            proc.Requester.Agent = new ResourceReference(practitionerRef);
            string subjectRef     = "Patient/" + procRequest.Patient.Id;
            string subjectDisplay = procRequest.Name.ToString();

            proc.Subject = new ResourceReference(subjectRef, subjectDisplay);
            return(proc);
        }
        public async Task <IActionResult> Edit([FromRoute] Guid id, [FromBody] ProcedureRequest request)
        {
            try
            {
                if (User.IsInRole(Roles.NURSE))
                {
                    request.NurseId = new Guid(User.Identity.Name);
                }

                var procedure = await procedureService.EditAsync(id, request);

                return(Ok(procedure));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
Ejemplo n.º 7
0
        public async Task <Response <Procedure> > InsertItem(ProcedureRequest procedureRequest)
        {
            try
            {
                Procedure procedure = new Procedure();
                procedure.Name           = procedureRequest.Name;
                procedure.Executant      = procedureRequest.Executant;
                procedure.ExecutantShare = procedureRequest.ExecutantShare;
                procedure.Charges        = procedureRequest.Charges;
                procedure.Consent        = procedureRequest.Consent;
                await _db.Procedures.AddAsync(procedure);

                await _db.SaveChangesAsync();

                return(new Response <Procedure>(true, "Success: Inserted data.", procedure));
            }
            catch (Exception exception)
            {
                return(new Response <Procedure>(false, $"Server Failure: Unable to insert data. Because {exception.Message}", null));
            }
        }
Ejemplo n.º 8
0
    public async Task <QueryResponse> Procedure(ProcedureRequest proc)
    {
        client = new HttpClient();
        var serializer = new DataContractJsonSerializer(typeof(QueryResponse));

        var request = new StringContent(JsonConvert.SerializeObject(proc), Encoding.UTF8, "application/json");

        SetSqlRestHeaders(request);

        var resp = await client.PostAsync("http://localhost:5050/v1/procedure", request);

        if (resp.StatusCode != HttpStatusCode.OK)
        {
            Console.WriteLine("None 200 response code");
            return(null);
        }

        var response = serializer.ReadObject(await resp.Content.ReadAsStreamAsync()) as QueryResponse;

        return(response);
    }
        public async Task <Procedure> EditAsync(Guid id, ProcedureRequest request)
        {
            Procedure newProcedure = new Procedure((Guid)request.NurseId, (Guid)request.DeviceId, (Guid)request.AppointmentId, request.Speed, request.Volume);

            newProcedure.HasProblem   = request.HasProblem;
            newProcedure.IsAutonomous = request.IsAutonomous;

            Procedure procedure = await GetAsync(id);

            if (procedure == null)
            {
                throw new Exception(localizer["Procedure with this identifier doesn`t exist."]);
            }

            procedure    = newProcedure;
            procedure.Id = id;

            applicationContext.Procedures.Update(procedure);
            await applicationContext.SaveChangesAsync();

            return(await GetAsync(procedure.Id));
        }