Exemple #1
0
        public async Task <bool> Handle(LoadFromEmrCommand request, CancellationToken cancellationToken)
        {
            var extractIds = request.Extracts.Select(x => x.Extract.Id).ToList();

            await _mediator.Send(new ClearAllExtracts(extractIds), cancellationToken);


            var patientProfile = request.Extracts.FirstOrDefault(x => x.Extract.IsPriority);

            //Generate extract patient command
            if (patientProfile != null)
            {
                var extractPatient = new ExtractPatient()
                {
                    //todo check if extracts from all emrs are loaded
                    Extract          = patientProfile.Extract,
                    DatabaseProtocol = patientProfile.DatabaseProtocol
                };

                var result = await _mediator.Send(extractPatient, cancellationToken);

                if (!result)
                {
                    return(false);
                }
            }
            return(await ExtractAll(request, cancellationToken));
        }
Exemple #2
0
        public async Task <IActionResult> Load([FromBody] ExtractPatient request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            var result = await _mediator.Send(request, HttpContext.RequestAborted);

            return(Ok(result));
        }