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