public void ProcessorTest(string ehrID, int expectedResultSet)
        {
            RestDataAccess _data = TestConnection.Initialize();

            PatientListParameter patientParams = new PatientListParameter()
            {
                patientList = new List <string>()
                {
                    ehrID
                }
            };

            PatientLabordataFactory factory  = new PatientLabordataFactory(_data, NullLogger <PatientLabordataFactory> .Instance);
            List <LabDataModel>     actual   = factory.Process(patientParams);
            List <LabDataModel>     expected = GetExpectedLabDataModels(expectedResultSet);

            Assert.Equal(expected.Count, actual.Count);

            for (int i = 0; i < actual.Count; i++)
            {
                Assert.Equal(expected[i].PatientID, actual[i].PatientID);
                Assert.Equal(expected[i].FallID, actual[i].FallID);
                Assert.Equal(expected[i].Befund, actual[i].Befund);
                Assert.Equal(expected[i].Befunddatum.ToString("s"), actual[i].Befunddatum.ToUniversalTime().ToString("s"));
                Assert.Equal(expected[i].Befundkommentar, actual[i].Befundkommentar);
                Assert.Equal(expected[i].KeimID, actual[i].KeimID);
                Assert.Equal(expected[i].LabordatenID, actual[i].LabordatenID);
                Assert.Equal(expected[i].MaterialID, actual[i].MaterialID);
                Assert.Equal(expected[i].Material_l, actual[i].Material_l);
                Assert.Equal(expected[i].ProbeID, actual[i].ProbeID);
                Assert.Equal(expected[i].ZeitpunktProbeneingang.ToString("s"), actual[i].ZeitpunktProbeneingang.ToUniversalTime().ToString("s"));
                Assert.Equal(expected[i].ZeitpunktProbenentnahme.ToString("s"), actual[i].ZeitpunktProbenentnahme.ToUniversalTime().ToString("s"));
                //Assert.Equal(expected[i].Fachabteilung, actual[i].Fachabteilung); --> Exisitiert noch nicht, muss aber eingebunden werden
            }
        }
Exemple #2
0
        public void ProcessorTest(string ehrID, int ResultSetID)
        {
            RestDataAccess _data = TestConnection.Initialize();

            PatientListParameter patientParams = new PatientListParameter()
            {
                patientList = new List <string>()
                {
                    ehrID
                }
            };

            PatientMovementFactory      factory  = new PatientMovementFactory(_data, NullLogger <PatientMovementFactory> .Instance);
            List <PatientMovementModel> actual   = factory.Process(patientParams);
            List <PatientMovementModel> expected = GetExpectedPatientMovementModels(ResultSetID);

            Assert.Equal(expected.Count, actual.Count);

            for (int i = 0; i < actual.Count; i++)
            {
                Assert.Equal(expected[i].PatientID, actual[i].PatientID);
                Assert.Equal(expected[i].FallID, actual[i].FallID);
                Assert.Equal(expected[i].Bewegungsart_l, actual[i].Bewegungsart_l);
                Assert.Equal(expected[i].Bewegungstyp, actual[i].Bewegungstyp);
                Assert.Equal(expected[i].BewegungstypID, actual[i].BewegungstypID);
                Assert.Equal(expected[i].Beginn.ToString("s"), actual[i].Beginn.ToString("s"));
                Assert.Equal(expected[i].Ende.ToString("g"), actual[i].Ende.ToString("g"));
                Assert.Equal(expected[i].StationID, actual[i].StationID);
                Assert.Equal(expected[i].Raum, actual[i].Raum);
                //Assert.Equal(expected[i].Fachabteilung, actual[i].Fachabteilung);
            }
        }
Exemple #3
0
        public async void CreateTemplates()
        {
            List <string> templateIDs = new List <string>()
            {
                "Virologischer Befund", "Stationärer Versorgungsfall", "Symptom", "Impfstatus", "Patientenaufenthalt"
            };

            RestDataAccess _data = CreateDataAccess();

            List <string> exisitingTemplateID = _data.GetTemplates();

            Assert.NotNull(exisitingTemplateID);

            if (exisitingTemplateID.Count > 0)
            {
                foreach (string id in exisitingTemplateID)
                {
                    if (templateIDs.Contains(id))
                    {
                        templateIDs.Remove(id);
                    }
                }
            }

            if (templateIDs.Count > 0)
            {
                foreach (string id in templateIDs)
                {
                    if (id == "Stationärer Versorgungsfall" || id == "Patientenaufenthalt" || id == "Virologischer Befund")
                    {
                        XmlDocument xmlDoc = new XmlDocument();
                        xmlDoc.Load(@"../../../../TestData/templates/" + id.Replace(" ", "_") + ".opt");

                        StringWriter  stringWriter = new StringWriter();
                        XmlTextWriter xmlWriter    = new XmlTextWriter(stringWriter);
                        xmlDoc.WriteTo(xmlWriter);
                        string xmlString = stringWriter.ToString();
                        System.Diagnostics.Debug.WriteLine(xmlString);
                        HttpResponseMessage response = _data.SetTemplate(xmlString).Result;
                        Assert.Equal(HttpStatusCode.NoContent, response.StatusCode);
                    }
                }
            }
            else
            {
                Assert.Equal(templateIDs.Count, 0);
            }
        }
Exemple #4
0
        public void CreateTestPatients()
        {
            JArray         patientArray = new JArray();
            RestDataAccess _data        = CreateDataAccess();

            for (int i = 17; i <= 34; i++)
            {
                JObject patientObj = new JObject();
                string  patientNo  = i.ToString();
                if (patientNo.Length == 1)
                {
                    patientNo = "0" + patientNo;
                }
                string ehr_id = ExistsPatient(_data, "Patient" + patientNo);
                if (ehr_id != null)
                {
                    patientObj.Add(new JProperty("EHR_ID", ehr_id));
                    patientObj.Add(new JProperty("Patient", "Patient" + patientNo));
                    patientArray.Add(patientObj);
                    continue;
                }

                HttpResponseMessage response = _data.CreateEhrIDWithStatus("SmICSTest", "Patient" + patientNo).Result;
                Assert.Equal(HttpStatusCode.Created, response.StatusCode);

                ehr_id = GetEHR_ID(response);

                string[] compositions = Directory.GetFiles(@"../../../../TestData/compositions/json/patient" + patientNo + "/");
                foreach (string comp in compositions)
                {
                    using (StreamReader reader = new StreamReader(comp))
                    {
                        string json = reader.ReadToEnd();
                        response = _data.CreateComposition(ehr_id, json).Result;
                        Assert.Equal(HttpStatusCode.Created, response.StatusCode);
                    }
                }
                patientObj.Add(new JProperty("EHR_ID", ehr_id));
                patientObj.Add(new JProperty("Patient", "Patient" + patientNo));
                patientArray.Add(patientObj);;
            }
            JSONFileStream.JSONWriter.Write(patientArray, @"../../../../TestData/", "GeneratedEHRIDs");
        }
Exemple #5
0
        public void ProcessorTest()
        {
            RestDataAccess _data = TestConnection.Initialize();

            EpiCurveParameter parameter = new EpiCurveParameter
            {
                Starttime     = new DateTime(2021, 1, 1),
                Endtime       = new DateTime(2021, 1, 10),
                PathogenCodes = new List <string>()
                {
                    "94500-6", "94745-7", "94558-4"
                }
            };

            EpiCurveFactory      epiCurveFactory = new EpiCurveFactory(_data, NullLogger <EpiCurveFactory> .Instance);
            List <EpiCurveModel> actual          = epiCurveFactory.Process(parameter);
            List <EpiCurveModel> expected        = GetExpectedEpiCurveModels();

            Assert.Equal(expected.Count, actual.Count);

            for (int i = 0; i < actual.Count; i++)
            {
                Assert.Equal(expected[i].Anzahl, actual[i].Anzahl);
                Assert.Equal(expected[i].Anzahl_cs, actual[i].Anzahl_cs);
                Assert.Equal(expected[i].anzahl_gesamt, actual[i].anzahl_gesamt);
                Assert.Equal(expected[i].anzahl_gesamt_av28, actual[i].anzahl_gesamt_av28);
                Assert.Equal(expected[i].anzahl_gesamt_av7, actual[i].anzahl_gesamt_av7);
                Assert.Equal(expected[i].Datum, actual[i].Datum);
                Assert.Equal(expected[i].ErregerBEZL, actual[i].ErregerBEZL);
                Assert.Equal(expected[i].ErregerBEZL, actual[i].ErregerBEZL);
                Assert.Equal(expected[i].ErregerID, actual[i].ErregerID);
                Assert.Equal(expected[i].MAVG28, actual[i].MAVG28);
                Assert.Equal(expected[i].MAVG28_cs, actual[i].MAVG28_cs);
                Assert.Equal(expected[i].MAVG7, actual[i].MAVG7);
                Assert.Equal(expected[i].MAVG7_cs, actual[i].MAVG7_cs);
                Assert.Equal(expected[i].StationID, actual[i].StationID);
            }
        }
Exemple #6
0
        private string ExistsPatient(RestDataAccess _data, string patientNo)
        {
            List <Patient> patient = _data.AQLQuery <Patient>(AQLCatalog.GetEHRID(patientNo));

            return(patient != null ? patient[0].PatientID : null);
        }