Esempio n. 1
0
        public static void Demo(string[] args)
        {
            Console.WriteLine("Documents demo begins...");
            documents.Configuration configuration = JsonConvert.DeserializeObject <documents.Configuration>(File.ReadAllText("../../configurations/Configuration.Documents.json"));
            // Documents tenant configuration info
            string documentRoot      = "MIMIC.DOCUMENT.OID";
            string documentExtension = "1";

            IRestClient client = new RestClient(configuration.BaseUrl)
            {
                Authenticator = new documents.Authenticator(configuration.AppId, configuration.AppSecret, configuration.TenantSecret)
            };

            // Create Restsharp request
            //Getting current document for given document root&extension

            IRestRequest request = configuration.NewRequest($"/api/v1/patient_document/{documentRoot}/{documentExtension}", Method.GET);

            IRestResponse response = client.Execute(request);

            if ((response.ResponseStatus == ResponseStatus.Completed) && (response.StatusCode == HttpStatusCode.OK))
            {
                documents.MinimalPatientDocument mPD = JsonConvert.DeserializeObject <documents.MinimalPatientDocument>(response.Content);

                Console.WriteLine($"mPD.document_root: {mPD.document_root}");
                Console.WriteLine($"mPD.document_extension: {mPD.document_extension}");
                Console.WriteLine($"mPD.document_type-description: {mPD.document_type_description}");
            }
            else
            {
                Console.WriteLine($"OOPS something wrong.{System.Environment.NewLine}\tResponseStatus: {response.ResponseStatus}{System.Environment.NewLine}\tHttpStatusCode: {response.StatusCode}{System.Environment.NewLine}\tContent: {response.Content}");
            }
            Console.WriteLine("Documents demo ends...");
        }
Esempio n. 2
0
        public static void Demo(string[] args)
        {
            StreamReader streamReader = null;

            try
            {
                Console.WriteLine("Documents bulk load demo begins...");
                documents.Configuration configuration = JsonConvert.DeserializeObject <documents.Configuration>(File.ReadAllText("../../configurations/Configuration.Documents.json"));
                // Documents tenant configuration info

                string      sourceFilename = "../../data/PatientDocument.bulk.json";
                IRestClient client         = new RestClient(configuration.BaseUrl)
                {
                    Authenticator = new documents.Authenticator(configuration.AppId, configuration.AppSecret, configuration.TenantSecret)
                };

                // Create reusable Restsharp request
                IRestRequest request = new RestRequest("/api/v1/patient_document", Method.POST);
                request.RequestFormat  = DataFormat.Json;
                request.JsonSerializer = new JsonNetSerializer();

                // Adding hcOS Document Api required query parameters
                request.AddQueryParameter("user[root]", "UserRoot");
                request.AddQueryParameter("user[extension]", "UserExtension");
                request.AddQueryParameter("tid", configuration.TenantId);

                // Adding Content-Type
                request.AddHeader("Content-Type", "application/json");
                streamReader = new StreamReader(sourceFilename);
                string                    pdLine   = null;
                IRestResponse             response = null;
                documents.PatientDocument pd       = null;
                Results                   results  = new Results();
                do
                {
                    pdLine = streamReader.ReadLine();
                    if ((pdLine != null) && (pdLine.Length > 0))
                    {
                        results.Total++;
                        pd = JsonConvert.DeserializeObject <documents.PatientDocument>(pdLine);
                        request.AddOrUpdateParameter("application/json", JsonConvert.SerializeObject(pd), ParameterType.RequestBody);
                        response = client.Execute(request);
                        if ((response.ResponseStatus == ResponseStatus.Completed) && (response.StatusCode == HttpStatusCode.Created))
                        {
                            results.Success++;
                        }
                        else
                        {
                            results.Errors++;
                            Console.WriteLine($"OOPS something wrong.{System.Environment.NewLine}\tResponseStatus: {response.ResponseStatus}{System.Environment.NewLine}\tHttpStatusCode: {response.StatusCode}{System.Environment.NewLine}\tContent: {response.Content}");
                        }
                        Console.WriteLine(results.CurrentStats);
                    }
                } while (streamReader.EndOfStream == false);
                Console.WriteLine("Documents bulk load demo ends...");
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Unhandled exception.\n{ex.ToString()}");
            }
            finally
            {
                if (streamReader != null)
                {
                    streamReader.Close();
                }
            }
        }
        public static void Demo(string[] args)
        {
            Console.WriteLine("hcOS demo begins...");

            // Making sure Directory Exist
            if (!Directory.Exists("data"))
            {
                Directory.CreateDirectory("data");
            }
            //Initializing Documents
            documents.Configuration documentsConfiguration = JsonConvert.DeserializeObject <documents.Configuration>(File.ReadAllText("../../configurations/Configuration.Documents.json"));
            IRestClient             documentsClient        = new RestClient(documentsConfiguration.BaseUrl);

            documentsClient.Authenticator = new documents.Authenticator(documentsConfiguration.AppId, documentsConfiguration.AppSecret, documentsConfiguration.TenantSecret);

            //Initializing Searcj
            searching.Configuration searchConfiguration = JsonConvert.DeserializeObject <searching.Configuration>(File.ReadAllText("../../configurations/Configuration.Searching.json"));
            IRestClient             iSearchClient       = new RestClient(searchConfiguration.BaseUrl);

            iSearchClient.Authenticator = new searching.Authenticator(searchConfiguration.AppId, searchConfiguration.AppSecret, searchConfiguration.TenantId);

            // Creating search Search request
            IRestRequest iSearchRequest = searchConfiguration.NewRequest($"/api/v1/{searchConfiguration.TenantId}/document/search", Method.POST);
            string       literals       = "ulcerative colitis";

            Console.WriteLine($"Searching for documents containing '{literals}'");
            iSearchRequest.AddJsonBody(new searching.Query()
            {
                Criterion = $"literal='{literals}'"
            });

            // Making Search Request
            IRestResponse iSearchResponse = iSearchClient.Execute(iSearchRequest);

            if ((iSearchResponse.StatusCode == System.Net.HttpStatusCode.OK) && (iSearchResponse.ResponseStatus == ResponseStatus.Completed))
            {
                searching.QueryResponse queryResponse = JsonConvert.DeserializeObject <searching.QueryResponse>(iSearchResponse.Content);
                Console.WriteLine($"searchResponse.Offset: {queryResponse.Offset}");
                Console.WriteLine($"searchResponse.RecordCount: {queryResponse.RecordCount}");
                Console.WriteLine($"searchResponse.TotalRecordCount: {queryResponse.TotalRecordCount}");
                int    count = 1;
                string outFileName;
                foreach (searching.DocumentEntry entry in queryResponse.Hits)
                {
                    Console.WriteLine($"{count}) {entry.DocumentRoot}-{entry.DocumentExtension}-{entry.DocumentTypeExtension}");
                    IRestRequest  documentsRequest  = documentsConfiguration.NewRequest($"/api/v1/patient_document/{entry.DocumentRoot}/{entry.DocumentExtension}/text", Method.GET);
                    IRestResponse documentsResponse = documentsClient.Execute(documentsRequest);
                    if ((documentsResponse.StatusCode == System.Net.HttpStatusCode.OK) && (documentsResponse.ResponseStatus == ResponseStatus.Completed))
                    {
                        outFileName = $"./data/{entry.DocumentRoot}.{entry.DocumentExtension}.txt";
                        File.WriteAllText(outFileName, documentsResponse.Content);
                        Console.WriteLine($"Saved to {outFileName}");
                    }
                    else
                    {
                        Console.WriteLine($"documentsResponse.StatusCode: {documentsResponse.StatusCode}");
                        Console.WriteLine($"documentsResponse.ResponseStatus: {documentsResponse.ResponseStatus}");
                        Console.WriteLine($"documentsResponse.Content:{System.Environment.NewLine}{documentsResponse.Content}");
                        Console.WriteLine($"Halting...");
                        return;
                    }
                    count++;
                }
            }
            else
            {
                Console.WriteLine($"searchResponse.StatusCode: {iSearchResponse.StatusCode}");
                Console.WriteLine($"searchResponse.ResponseStatus: {iSearchResponse.ResponseStatus}");
                Console.WriteLine($"searchResponse.Content:{System.Environment.NewLine}{iSearchResponse.Content}");
                Console.WriteLine($"Halting...");
                return;
            }
            Console.WriteLine("hcOS demo ends...");
        }