public PatientTimeline GetTimelineForPatient(string givenName, string familyName) { var patients = _patientManager.GetPatientsByName(givenName, familyName); if (!patients.Any()) { throw new Exception("Could not find a matching patient"); } if (patients.Count() > 1) { throw new Exception("More than one patient found matching this name."); } var patient = patients.Single(); var patientIdentifier = patient.Identifier.FirstOrDefault(); if (patientIdentifier == null) { throw new Exception("The patient does not have an associated identifier."); } var timeline = _timelineBuilder.GetTimelineForPatient(patientIdentifier.Key); return(new PatientTimeline { PatientGivenName = givenName, PatientFamilyName = familyName, Timeline = timeline }); }
public void Ensure_GetTimelineForPatient_returns_a_timeline_for_patient() { var patients = _patientManager.GetPatientsByName("Roelof Olaf", "Bor"); var patient = patients.FirstOrDefault(); if (patient == null) { Assert.Fail("Could not find a patient to get the timeline for."); } var patientIdentifier = patient.Identifier.FirstOrDefault(); if (patientIdentifier == null) { Assert.Fail("The patient does not have an associated identifier."); } var timeline = _timelineBuilder.GetTimelineForPatient(patientIdentifier.Key); Assert.IsNotNull(timeline); }