Esempio n. 1
0
        public void Get_Result_By_TargetCode_And_Barcode(Bundle lisOrder)
        {
            // Отправляем заявку на исследование
            var orderResponse = FhirClient.Transaction(lisOrder);

            ValidationHelper.ValidateLisOrderResponse(orderResponse);

            // Запрашиваем заказ по barcode и targecode
            var orderCodes       = IntegrationHelper.GetOrderCodes(orderResponse).First();
            var getOrderResponse = FhirResourceHelper.GetOrderOperation(targetCode: orderCodes.Item1,
                                                                        barcode: orderCodes.Item2);
            var order = (Order)getOrderResponse.Parameter.Find(x => x.Name == "Order").Resource;

            // Создаем результат лабораторного исследования для заказа
            var labResult = IntegrationHelper.CreateLabResultForOrder(order);

            // Отправляем результат на сервер
            var labResultResponse = FhirClient.Transaction(labResult);

            ValidationHelper.ValidateLabResultResponse(labResultResponse);

            // Запрашиваем результат по OrderMisID и targecode
            var resultCode    = IntegrationHelper.GetResultCodes(order);
            var resultRespose = FhirResourceHelper.GetResultOperation(targetCode: resultCode.Item1,
                                                                      orderMisId: resultCode.Item2);

            ValidationHelper.ValidateLabResultOrderResponse(resultRespose);
        }
Esempio n. 2
0
        public void Get_Order_By_TargetCode_And_Barcode(Bundle lisOrder)
        {
            //Создаем заказ
            var orderResponse = FhirClient.Transaction(lisOrder);

            var validTargetCodesAndBarcodes = IntegrationHelper.GetOrderCodes(orderResponse);

            foreach (var validTargetCodesAndBarcode in validTargetCodesAndBarcodes)
            {
                var response = FhirResourceHelper.GetOrderOperation(
                    targetCode: validTargetCodesAndBarcode.Item1,
                    barcode: validTargetCodesAndBarcode.Item2);

                Assert.That(response, Is.Not.Null);
                Assert.That(response.Parameter, Is.Not.Null);
                Assert.That(response.Parameter.Count, Is.EqualTo(1));

                var bundleOrder = orderResponse
                                  .With(x => x.Entry)
                                  .With(x => x.FirstOrDefault(y => y.Resource is Order));

                Assert.That(bundleOrder, Is.Not.Null);
                Assert.That(bundleOrder.Resource, Is.Not.Null);

                var order = response
                            .With(x => x.Parameter)
                            .With(x => x.FirstOrDefault(y => y.Resource is Order));

                Assert.That(order, Is.Not.Null);
                Assert.That(order.Resource, Is.Not.Null);
                Assert.That(order.Resource.Id, Is.EqualTo(bundleOrder.Resource.Id));
            }
        }
Esempio n. 3
0
        public void Test_Patient_CRUD()
        {
            var createdPatient = FhirResourceHelper.CreatePatient();

            Assert.That(createdPatient, Is.Not.Null);
            Assert.That(createdPatient.VersionId, Is.Not.Empty);

            var patient = Client.Read <Patient>(string.Format("Patient/{0}", createdPatient.Id));

            Assert.That(patient, Is.Not.Null);
            Assert.That(patient.VersionId, Is.Not.Empty);

            createdPatient.Name.Add(HumanName.ForFamily("Kramer").WithGiven("Hello"));
            var updatedPatient = Client.Update(createdPatient);

            Assert.That(createdPatient.VersionId, Is.Not.EqualTo(updatedPatient.VersionId));
            Assert.That(updatedPatient.Name.Exists(x => x.Given.Any(y => y == "Hello")), Is.True);

            Client.Delete(updatedPatient);
        }