Example #1
0
        public void KmehrConsultConfigViaConfig()
        {
            X509Certificate2 auth = null; //TODO: select eID
            X509Certificate2 session = null; //TODO: select p12

            Binding sso = DoctorBuilder.CreateBinding("79021802145", "19997341001", new Uri("https://wwwacc.ehealth.fgov.be/sts_1_1/SecureTokenService"));
            var proxy = new GlobalMedicalFileConsultationPortTypeClient(sso, new EndpointAddress("https://services-acpt.ehealth.fgov.be/GlobalMedicalFileConsultation/v1"));
            //DoctorBuilder.ApplyBehaviors(proxy, auth, Path.GetTempPath(), TimeSpan.FromHours(12));
        }
Example #2
0
        public void KmehrConsultConfigViaConfig()
        {
            X509Certificate2 auth    = null; //TODO: select eID
            X509Certificate2 session = null; //TODO: select p12

            Binding sso   = DoctorBuilder.CreateBinding("79021802145", "19997341001", new Uri("https://wwwacc.ehealth.fgov.be/sts_1_1/SecureTokenService"));
            var     proxy = new GlobalMedicalFileConsultationPortTypeClient(sso, new EndpointAddress("https://services-acpt.ehealth.fgov.be/GlobalMedicalFileConsultation/v1"));
            //DoctorBuilder.ApplyBehaviors(proxy, auth, Path.GetTempPath(), TimeSpan.FromHours(12));
        }
Example #3
0
        public static ResponseReturnType Consult(this GlobalMedicalFileConsultationPortTypeClient client, CommonInputType common, RoutingType routing, BlobType detail)
        {
            SendRequestType request = new SendRequestType();

            request.CommonInput = common;
            request.Routing     = routing;
            request.Detail      = detail;
            //No xades required

            SendResponseType response = client.consultGlobalMedicalFile(request);

            if (response.Status.Code != "200")
            {
                throw new InvalidOperationException(String.Format("eHealth returned the following status: {0}, {1}", response.Status.Code, response.Status.Message[0].Value));
            }

            //No xades returned

            return(response.Return);
        }
Example #4
0
        public static ConsultResponse Consult(this GlobalMedicalFileConsultationPortTypeClient client, CommonInputType common, RoutingType routing, RetrieveTransactionRequestType detailValue, out ArchivingInfo archivingInfo)
        {
            var detail = new BlobType();

            detail.Id              = "_" + Guid.NewGuid().ToString();
            detail.ContentType     = "text/xml";
            detail.ContentEncoding = "none";
            var detailStream = new MemoryStream();
            var serializer   = new XmlSerializer(typeof(RetrieveTransactionRequestType));

            serializer.Serialize(detailStream, detailValue);
            detail.Value = detailStream.ToArray();

            ResponseReturnType super = client.Consult(common, routing, detail);

            archivingInfo = new ArchivingInfo();
            archivingInfo.RequestDetail  = detail;
            archivingInfo.RequestXadesT  = null;
            archivingInfo.ResponseDetail = super.Detail;
            archivingInfo.ResponseXadesT = super.XadesT;

            var retVal = new ConsultResponse();

            retVal.Common = super.CommonOutput;
            if (super.Detail.ContentType == "text/xml" &&
                super.Detail.ContentEncoding == "none")
            {
                var reader       = XmlReader.Create(new MemoryStream(super.Detail.Value));
                var deserializer = new XmlSerializer(typeof(RetrieveTransactionResponseType));
                if (deserializer.CanDeserialize(reader))
                {
                    retVal.DetailValue = deserializer.Deserialize(reader) as RetrieveTransactionResponseType;
                }
            }

            return(retVal);
        }