コード例 #1
0
        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
            });
        }
コード例 #2
0
        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);
        }