public void SampleForDIXmlResponses() { // Obtain the certificate for use with TLS and signing X509Certificate2 cert = X509CertificateUtil.GetCertificate( "Serial Number", X509FindType.FindBySerialNumber, StoreName.My, StoreLocation.CurrentUser, true ); // Create PCEHR header CommonPcehrHeader header = PcehrHeaderHelper.CreateHeader(); // Override this value to the current patient's IHI. header.IhiNumber = "IHI"; // Instantiate the client // SVT endpoint is "https://b2b.ehealthvendortest.health.gov.au/getView" // production endpoint is "https://services.ehealth.gov.au/getView" GetViewClient getViewClient = new GetViewClient(new Uri("https://GetViewEndpoint"), cert, cert); // Add server certificate validation callback ServicePointManager.ServerCertificateValidationCallback += ValidateServiceCertificate; try { getView request = new getView() { // Creates a diagnosticImagingReportView view = new diagnosticImagingReportView() { fromDate = DateTime.Now.AddDays(-10), toDate = DateTime.Now, // versionNumber can be found in the "PCEHR View Service - Technical Service Specification" via // https://digitalhealth.gov.au/implementation-resources/national-infrastructure/EP-2109-2015 // If the specification doesn't specify the version number then it is 1.0 versionNumber = "Version number here" } }; var responseStatus = getViewClient.GetView(header, request); // Convert XML response into Class for diagnosticImagingReportView XmlDocument xml = new XmlDocument(); xml.PreserveWhitespace = true; xml.LoadXml(Encoding.Default.GetString(responseStatus.view.data)); diagnosticImagingReportViewResponse data = new diagnosticImagingReportViewResponse(); data = (diagnosticImagingReportViewResponse)DeserialiseElementToClass(xml.DocumentElement, data); // Get the soap request and response string soapRequest = getViewClient.SoapMessages.SoapRequest; string soapResponse = getViewClient.SoapMessages.SoapResponse; } catch (FaultException fex) { // Handle any errors } }
public void GetMedicareOverview() { //Get Certificate and Header objects CertAndHeaderInfo CertAndHeaderInfo = Support.CertAndHeaderFactory.Get( certSerial: "06fba6", serialHPIO: "8003629900019338", patientType: Support.PatientType.CalebDerrington); // Obtain the certificate for use with TLS and signing X509Certificate2 cert = CertAndHeaderInfo.Certificate; // Create PCEHR header CommonPcehrHeader header = CertAndHeaderInfo.Header; // Instantiate the client // SVT endpoint is "https://b2b.ehealthvendortest.health.gov.au/getView" // production endpoint is "https://services.ehealth.gov.au/getView" GetViewClient getViewClient = new GetViewClient(new Uri("https://b2b.ehealthvendortest.health.gov.au/getView"), cert, cert); // Add server certificate validation callback ServicePointManager.ServerCertificateValidationCallback += Support.CertificateHelper.ValidateServiceCertificate; try { getView request = new getView() { // For MedicareOverview view = new medicareOverview() { fromDate = DateTime.Now.AddDays(-10), toDate = DateTime.Now, //versionNumber can be found in the "PCEHR View Service - Technical Service Specification" via //https://digitalhealth.gov.au/implementation-resources/national-infrastructure/EP-2109-2015 //If the specification doesn't specify the version number then it is 1.0 //Currently 1.0 and 1.1 versionNumber = "1.1" } }; var responseStatus = getViewClient.GetView(header, request); // Treat response like a getDocument - unzip package if (responseStatus.view != null) { var zipfile = responseStatus.view.data; // and Unzip } // Get the soap request and response string soapRequest = getViewClient.SoapMessages.SoapRequest; string soapResponse = getViewClient.SoapMessages.SoapResponse; } catch (FaultException fex) { // Handle any errors } }
public void GetHealthRecordOverview() { //Get Certificate and Header objects CertAndHeaderInfo CertAndHeaderInfo = Support.CertAndHeaderFactory.Get( certSerial: "06fba6", serialHPIO: "8003629900019338", patientType: Support.PatientType.CalebDerrington); // Obtain the certificate for use with TLS and signing X509Certificate2 cert = CertAndHeaderInfo.Certificate; // Create PCEHR header CommonPcehrHeader header = CertAndHeaderInfo.Header; // Instantiate the client // SVT endpoint is "https://b2b.ehealthvendortest.health.gov.au/getView" // production endpoint is "https://services.ehealth.gov.au/getView" GetViewClient getViewClient = new GetViewClient(new Uri("https://b2b.ehealthvendortest.health.gov.au/getView"), cert, cert); // Add server certificate validation callback ServicePointManager.ServerCertificateValidationCallback += Support.CertificateHelper.ValidateServiceCertificate; try { getView request = new getView() { // Creates a healthRecordOverView view = new healthRecordOverView() { clinicalSynopsisLength = 200, // versionNumber can be found in the "PCEHR View Service - Technical Service Specification" via // https://digitalhealth.gov.au/implementation-resources/national-infrastructure/EP-2109-2015 // If the specification doesn't specify the version number then it is 1.0 versionNumber = "1.1" } }; var responseStatus = getViewClient.GetView(header, request); // Get the soap request and response string soapRequest = getViewClient.SoapMessages.SoapRequest; string soapResponse = getViewClient.SoapMessages.SoapResponse; // Convert XML response into Class for healthRecordOverview XmlDocument xml = new XmlDocument(); xml.PreserveWhitespace = true; xml.LoadXml(Encoding.Default.GetString(responseStatus.view.data)); healthRecordOverviewResponse data = new healthRecordOverviewResponse(); data = (healthRecordOverviewResponse)DeserialiseElementToClass(xml.DocumentElement, data); } catch (FaultException fex) { // Handle any errors } }
public void GetPathologyView() { //Get Certificate and Header objects CertAndHeaderInfo CertAndHeaderInfo = Support.CertAndHeaderFactory.Get( certSerial: "06fba6", serialHPIO: "8003629900019338", patientType: Support.PatientType.CalebDerrington); // Obtain the certificate for use with TLS and signing X509Certificate2 cert = CertAndHeaderInfo.Certificate; // Create PCEHR header CommonPcehrHeader header = CertAndHeaderInfo.Header; // Instantiate the client // SVT endpoint is "https://b2b.ehealthvendortest.health.gov.au/getView" // production endpoint is "https://services.ehealth.gov.au/getView" GetViewClient getViewClient = new GetViewClient(new Uri("https://b2b.ehealthvendortest.health.gov.au/getView"), cert, cert); // Add server certificate validation callback ServicePointManager.ServerCertificateValidationCallback += Support.CertificateHelper.ValidateServiceCertificate; try { getView request = new getView() { // Creates a pathologyReportView view = new pathologyReportView() { //2 years = 365 * 2 Days fromDate = DateTime.Now.Subtract(new TimeSpan((365 * 2), 0, 0, 0)), toDate = DateTime.Now, // versionNumber can be found in the "PCEHR View Service - Technical Service Specification" via // https://digitalhealth.gov.au/implementation-resources/national-infrastructure/EP-2109-2015 // If the specification doesn't specify the version number then it is 1.0 versionNumber = "1.0" } }; var responseStatus = getViewClient.GetView(header, request); // Convert XML response into Class for pathologyReportView XmlDocument xml = new XmlDocument(); xml.PreserveWhitespace = true; xml.LoadXml(Encoding.Default.GetString(responseStatus.view.data)); pathologyReportViewResponse data = new pathologyReportViewResponse(); data = (pathologyReportViewResponse)DeserialiseElementToClass(xml.DocumentElement, data); // Get the soap request and response string soapRequest = getViewClient.SoapMessages.SoapRequest; string soapResponse = getViewClient.SoapMessages.SoapResponse; foreach (var item in data.pathologyReport.OrderByDescending(x => x.reportInformation.CDAeffectiveTime)) { Console.WriteLine($""); Console.WriteLine($"##################################################################################"); Console.WriteLine($"DocumentId: {item.reportInformation.documentId}"); Console.WriteLine($"DocumentLink: {item.reportInformation.documentLink}"); Console.WriteLine($"ReportName: {item.reportInformation.reportName}"); Console.WriteLine($"PathologistLocalReportId: {item.reportInformation.pathologistLocalReportId}"); Console.WriteLine($"ReportStatus(code): {item.reportInformation.reportStatus.code}"); Console.WriteLine($"DateTimeRequested: {item.testRequesterInformation.dateTimeRequested}"); Console.WriteLine($"CDAeffectiveTime: {item.reportInformation.CDAeffectiveTime}"); Console.WriteLine($"DateTimeReportAuthored: {item.reportInformation.dateTimeReportAuthored}"); Console.WriteLine($"DateTimeAuthorisation: {item.reportInformation.dateTimeAuthorisation}"); foreach (var Report in item.pathologyTestResult) { Console.WriteLine($" -------------------------------------------------"); Console.WriteLine($" TestResultName(code): {Report.testResultName.code}"); Console.WriteLine($" TestResultName(displayName): {Report.testResultName.displayName}"); Console.WriteLine($" TestResultName(originalText): {Report.testResultName.originalText}"); Console.WriteLine($" PathologyDiscipline(code): {Report.pathologyDiscipline.code}"); Console.WriteLine($" OverallTestResultStatus(code): {Report.overallTestResultStatus.code}"); Console.WriteLine($" SpecimenCollectionDate: {Report.specimenCollectionDate}"); } } } catch (FaultException fex) { // Handle any errors } }
// Sample code for these CDA response getViews // Nehta.VendorLibrary.PCEHR.PrescriptionAndDispenseView.prescriptionAndDispenseView // Nehta.VendorLibrary.PCEHR.MedicareOverview.medicareOverview // Nehta.VendorLibrary.PCEHR.HealthCheckScheduleView.healthCheckScheduleView // Nehta.VendorLibrary.PCEHR.ObservationView.observationView public void SampleForCdaDocumentResponses() { // Obtain the certificate for use with TLS and signing X509Certificate2 cert = X509CertificateUtil.GetCertificate( "Serial Number", X509FindType.FindBySerialNumber, StoreName.My, StoreLocation.CurrentUser, true ); // Create PCEHR header CommonPcehrHeader header = PcehrHeaderHelper.CreateHeader(); // Instantiate the client // SVT endpoint is "https://b2b.ehealthvendortest.health.gov.au/getView" // production endpoint is "https://services.ehealth.gov.au/getView" GetViewClient getViewClient = new GetViewClient(new Uri("https://GetViewEndpoint"), cert, cert); // Add server certificate validation callback ServicePointManager.ServerCertificateValidationCallback += ValidateServiceCertificate; try { getView request = new getView() { // For PrescriptionAndDispenseView view = new prescriptionAndDispenseView() { fromDate = DateTime.Now.AddDays(-10), toDate = DateTime.Now, // versionNumber can be found in the "PCEHR View Service - Technical Service Specification" via // https://digitalhealth.gov.au/implementation-resources/national-infrastructure/EP-2109-2015 // If the specification doesn't specify the version number then it is 1.0 versionNumber = "Version number here" } // For MedicareOverview //view = new medicareOverview() //{ // fromDate = DateTime.Now.AddDays(-10), // toDate = DateTime.Now, // versionNumber can be found in the "PCEHR View Service - Technical Service Specification" via // https://digitalhealth.gov.au/implementation-resources/national-infrastructure/EP-2109-2015 // If the specification doesn't specify the version number then it is 1.0 // versionNumber = "Version number here" //} // For HealthCheckScheduleView //view = new healthCheckScheduleView() //{ // jurisdiction = healthCheckScheduleViewJurisdiction.NSW, // versionNumber can be found in the "PCEHR View Service - Technical Service Specification" via // https://digitalhealth.gov.au/implementation-resources/national-infrastructure/EP-2109-2015 // If the specification doesn't specify the version number then it is 1.0 // versionNumber = "Version number here" //} // For ObservationView //view = new observationView() //{ // fromDate = DateTime.Now.AddDays(-10), // toDate = DateTime.Now, // versionNumber can be found in the "PCEHR View Service - Technical Service Specification" via // https://digitalhealth.gov.au/implementation-resources/national-infrastructure/EP-2109-2015 // If the specification doesn't specify the version number then it is 1.0 // versionNumber = "Version number here" // documentSource = observationViewDocumentSource.ALL, // observationType = observationViewObservationType.WEIGHT, // referenceData = observationViewReferenceData.CDC //} }; var responseStatus = getViewClient.GetView(header, request); // Treat response like a getDocument - unzip package if (responseStatus.view != null) { var zipfile = responseStatus.view.data; // and Unzip } // Get the soap request and response string soapRequest = getViewClient.SoapMessages.SoapRequest; string soapResponse = getViewClient.SoapMessages.SoapResponse; } catch (FaultException fex) { // Handle any errors } }