public async Task <string> AddPatientAsync(PatientCreateRequest patient) { try { var newpa = new Hl7.Fhir.Model.Patient() { Active = true, BirthDate = patient.DateOfBirth?.ToString("yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture), Gender = patient.Gender.ToLower() == "female" ? AdministrativeGender.Female : AdministrativeGender.Male, Name = new List <HumanName>() { new HumanName() { Use = HumanName.NameUse.Usual, Text = patient.Firstname + patient.Lastname, Family = patient.Lastname, Given = new List <string>() { patient.Firstname } } }, Telecom = new List <ContactPoint>() { new ContactPoint() { Use = ContactPoint.ContactPointUse.Mobile, Rank = 1, Value = patient.PhoneNumber } } }; var fhirClient = new FhirClient("http://hapi.fhir.org/baseDstu3"); var result = await fhirClient.CreateAsync <Hl7.Fhir.Model.Patient>(newpa); return(result.Id); } catch (Exception ex) { return(null); } }
public async Task <ApiResponse> Create([FromBody] PatientCreateRequest request) { try { var FhirResult = _fhirPatientRequestService.AddPatientAsync(request); request.ExternalId = FhirResult.Result; var result = await _objControllerHelper.Create(request); if (result.Status == PatientCreateStatus.Success) { return(new ApiResponse(request.ExternalId)); } return(new ApiResponse(400, result.Error)); } catch (Exception ex) { throw new ApiException(ex); } }
public async Task <ResultDto <Guid, PatientCreateStatus> > Create(PatientCreateRequest request) { var model = _mapper.Map <PatientCreateRequest, Patient>(request); try { var result = await _repository.Create(model); return(result); } catch (DbUpdateConcurrencyException) { return(new ResultDto <Guid, PatientCreateStatus>(PatientCreateStatus.InternalServerError)); } catch (Exception ex) { return(new ResultDto <Guid, PatientCreateStatus>(PatientCreateStatus.InternalServerError)); } }