public IActionResult GetRequisitionFile(string transID)
        {
            if (HttpContext.Session.GetString(Globals.currentPSPubK) == null || HttpContext.Session.GetString(Globals.currentPAPubK) == null)
            {
                return(RedirectToAction("Login"));
            }
            else
            {
                var result = _bigChainDbService.GetMetaDataAndAssetFromTransactionId <string, double>(transID);
                var patientAgreePrivateKey = HttpContext.Session.GetString(Globals.currentPAPriK);
                var patientSignPublicKey   = HttpContext.Session.GetString(Globals.currentPSPubK);
                if (result.metadata.AccessList.Keys.Contains(patientSignPublicKey))
                {
                    var hashedKey         = result.metadata.AccessList[patientSignPublicKey];
                    var dataDecryptionKey = EncryptionService.getDecryptedEncryptionKey(hashedKey, patientAgreePrivateKey);
                    var data  = EncryptionService.getDecryptedAssetData(result.data.Data, dataDecryptionKey);
                    var asset = JsonConvert.DeserializeObject <TestRequisitionAsset>(data);
                    //get encrypted file from ipfs
                    string encryptedFileData = _bigChainDbService.GetTextFromIPFS(asset.AttachedFile.Data);
                    string fileData          = EncryptionService.getDecryptedAssetData(encryptedFileData, dataDecryptionKey);

                    byte[] fileBytes = Convert.FromBase64String(fileData);
                    return(File(fileBytes, asset.AttachedFile.Type, asset.AttachedFile.Name));
                }
                return(new EmptyResult());
            }
        }