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)); } }
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); }