/// <summary>
        /// Gets the audit view for an individual.
        /// </summary>
        /// <param name="pcehrHeader">PCEHR header.</param>
        /// <param name="dates">The start and end dates</param>
        /// <returns>Response.</returns>
        public getAuditViewResponse GetAuditView(CommonPcehrHeader pcehrHeader, getAuditView dates)
        {
            // PCEHRHeaderValidator.Validate(pcehrHeader);

            var timestamp = new timestampType()
            {
                created = DateTime.Now
            };

            var signatureContainer = new signatureContainerType();

            return(auditViewClient.getAuditView(timestamp, ref signatureContainer, pcehrHeader.GetHeader <PCEHRHeader>(), dates));
        }
Exemplo n.º 2
0
        public void Sample()
        {
            // 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/getAuditView"
            // production endpoint is "https://services.ehealth.gov.au/getAuditView"
            GetAuditViewClient getAuditViewClient = new GetAuditViewClient(new Uri("https://GetAuditViewEndpoint"), cert, cert);

            // Add server certificate validation callback
            ServicePointManager.ServerCertificateValidationCallback += ValidateServiceCertificate;

            try
            {
                // Invoke the service
                getAuditViewResponseEventTrail[] eventTrails;

                // Set up the dates
                var dates = new getAuditView()
                {
                    dateFrom = DateTime.Parse("from date/time"),
                    dateTo   = DateTime.Parse("to date/time")
                };

                var responseStatus = getAuditViewClient.GetAuditView(header, dates);

                // Get the soap request and response
                string soapRequest  = getAuditViewClient.SoapMessages.SoapRequest;
                string soapResponse = getAuditViewClient.SoapMessages.SoapResponse;
            }
            catch (FaultException fex)
            {
                // Handle any errors
            }
        }