From 0b596cdc3763d61ec235603a7e3e19e2031c4dbd Mon Sep 17 00:00:00 2001 From: aswincosq Date: Sun, 15 Dec 2024 11:57:22 +0530 Subject: [PATCH] Added new controller for getting observation by patient id and hl7 id --- Controllers/PatientsController.cs | 11 +++++++++++ Services/PatientService.cs | 10 ++++++++++ hl7.db-shm | Bin 32768 -> 32768 bytes hl7.db-wal | Bin 230752 -> 86552 bytes 4 files changed, 21 insertions(+) diff --git a/Controllers/PatientsController.cs b/Controllers/PatientsController.cs index 561a1dc..b966829 100644 --- a/Controllers/PatientsController.cs +++ b/Controllers/PatientsController.cs @@ -1,5 +1,6 @@ using AutoMapper; using Microsoft.AspNetCore.Mvc; +using SimpleLIS.DTO; using SimpleLIS.Models; using SimpleLIS.Services; @@ -41,6 +42,16 @@ public class PatientsController : ControllerBase return Ok(patientDto); } + [HttpGet("{id}/observations")] + public async Task GetPatientObservationById(string id){ + List observations; + if(int.TryParse(id, out int patientId)) + observations = await _patientService.GetPatientObservationById(patientId); + else + observations = await _patientService.GetPatientObservationByHL7PatientId(id); + return Ok(_mapper.Map>(observations)); + } + [HttpGet] public async Task ListPatients() { diff --git a/Services/PatientService.cs b/Services/PatientService.cs index 23df81b..bdff4ce 100644 --- a/Services/PatientService.cs +++ b/Services/PatientService.cs @@ -26,6 +26,16 @@ public class PatientService .FirstOrDefaultAsync(p => p.PatientId == id); } + public async Task> GetPatientObservationById(int id){ + return await _context.Observations.Include(observation=>observation.Message) + .Where(observation=>observation.Message.PatientId==id).ToListAsync(); + } + + public async Task> GetPatientObservationByHL7PatientId(string id){ + return await _context.Observations.Include(observation => observation.Message) + .Where(observation => observation.Message.Patient.HL7PatientId == id).ToListAsync(); + } + public async Task> ListPatientsAsync() { return await _context.Patients.ToListAsync(); diff --git a/hl7.db-shm b/hl7.db-shm index 499e34d80f16c26613a7767a20b59eba20b8c873..e5e6b3d4ff676007902e2b47da4669d6f6b69ca8 100644 GIT binary patch delta 233 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