コード例 #1
0
        /// <summary>
        /// Retrieve a document.
        /// </summary>
        /// <param name="pcehrHeader">PCEHR header.</param>
        /// <param name="requests">Request.</param>
        /// <returns>Response.</returns>
        public RetrieveDocumentSetResponseType GetDocument(CommonPcehrHeader pcehrHeader, RetrieveDocumentSetRequestTypeDocumentRequest[] requests)
        {
            // PCEHRHeaderValidator.Validate(pcehrHeader);
            Validation.ValidateArgumentRequired("requests", requests);

            return(client.GetDocument(pcehrHeader.GetHeader <PCEHRHeader>(), requests));
        }
コード例 #2
0
        /// <summary>
        /// Gets a list of documents based on the query criteria.
        /// </summary>
        /// <param name="pcehrHeader">PCEHR header.</param>
        /// <param name="adhocQueryRequest">Query request.</param>
        /// <returns>Query response.</returns>
        public AdhocQueryResponse GetDocumentList(CommonPcehrHeader pcehrHeader, AdhocQueryRequest adhocQueryRequest)
        {
            // PCEHRHeaderValidator.Validate(pcehrHeader);
            Validation.ValidateArgumentRequired("adhocQueryRequest", adhocQueryRequest);

            return(documentRegistryClient.GetDocumentList(pcehrHeader.GetHeader <PCEHRHeader>(), adhocQueryRequest));
        }
コード例 #3
0
        /// <summary>
        /// Gets a list of documents based on the query criteria. The IHI of the individual is specified within the PCEHR header. The
        /// document status is set to 'Approved'.
        /// </summary>
        /// <param name="pcehrHeader">PCEHR header.</param>
        /// <returns>Query request</returns>
        public AdhocQueryResponse GetDocumentList(CommonPcehrHeader pcehrHeader)
        {
            // PCEHRHeaderValidator.Validate(pcehrHeader);

            AdhocQueryBuilder adhocQueryBuilder = new AdhocQueryBuilder(pcehrHeader.IhiNumber, new[] { DocumentStatus.Approved });

            return(documentRegistryClient.GetDocumentList(pcehrHeader.GetHeader <PCEHRHeader>(), adhocQueryBuilder.BuildRequest()));
        }
コード例 #4
0
        /// <summary>
        /// Requests access to an individuals PCEHR. The IHI is specified within the PCEHR header.
        /// </summary>
        /// <param name="pcehrHeader">PCEHR header.</param>
        /// <param name="accessPcehrRecord">Access record.</param>
        /// <param name="individual">Matching individual.</param>
        /// <returns>Response.</returns>
        public responseStatusType GainPCEHRAccess(CommonPcehrHeader pcehrHeader, gainPCEHRAccessPCEHRRecord accessPcehrRecord,
                                                  out gainPCEHRAccessResponseIndividual individual)
        {
            // PCEHRHeaderValidator.Validate(pcehrHeader);
            Validation.ValidateArgumentRequired("accessPcehrRecord", accessPcehrRecord);

            return(profileClient.GainPCEHRAccess(pcehrHeader.GetHeader <PCEHRHeader>(), accessPcehrRecord, out individual));
        }
コード例 #5
0
        /// <summary>
        /// Upload a document to the PCEHR.
        /// </summary>
        /// <param name="pcehrHeader">PCEHR header.</param>
        /// <param name="request">Document and metadata.</param>
        /// <returns>Response.</returns>
        public RegistryResponseType UploadDocument(CommonPcehrHeader pcehrHeader, ProvideAndRegisterDocumentSetRequestType request)
        {
            // PCEHRHeaderValidator.Validate(pcehrHeader);
            var header = pcehrHeader.GetHeader <PCEHRHeader>();

            Validation.ValidateArgumentRequired("request", request);

            return(client.UploadDocument(header, request));
        }
コード例 #6
0
        /// <summary>
        /// Gets a list of documents based on the query criteria. The IHI of the individual is specified within the PCEHR header.
        /// </summary>
        /// <param name="pcehrHeader">PCEHR header.</param>
        /// <param name="documentStatus">Status of the documents.</param>
        /// <returns>Query response.</returns>
        public AdhocQueryResponse GetDocumentList(CommonPcehrHeader pcehrHeader, DocumentStatus documentStatus)
        {
            // PCEHRHeaderValidator.Validate(pcehrHeader);
            Validation.ValidateArgumentRequired("ihiNumber", pcehrHeader.IhiNumber);

            AdhocQueryBuilder adhocQueryBuilder = new AdhocQueryBuilder(pcehrHeader.IhiNumber, new[] { documentStatus });

            return(documentRegistryClient.GetDocumentList(pcehrHeader.GetHeader <PCEHRHeader>(), adhocQueryBuilder.BuildRequest()));
        }
コード例 #7
0
        /// <summary>
        /// Gets a PCEHR view.
        /// </summary>
        /// <param name="pcehrHeader">PCEHR header.</param>
        /// <returns>Response.</returns>
        public getViewResponse GetView(CommonPcehrHeader pcehrHeader, getView request)
        {
            var timestamp = new timestampType()
            {
                created = DateTime.Now
            };

            var signatureContainer = new signatureContainerType();

            return(getViewClient.getView(timestamp, ref signatureContainer, pcehrHeader.GetHeader <PCEHRHeader>(), request));
        }
コード例 #8
0
        /// <summary>
        /// Get a representative list.
        /// </summary>
        /// <param name="pcehrHeader">PCEHR header.</param>
        /// <returns>Response.</returns>
        public getRepresentativeListResponse GetRepresentativeList(CommonPcehrHeader pcehrHeader)
        {
            var timestamp = new timestampType()
            {
                created = DateTime.Now
            };

            var signatureContainer = new signatureContainerType();

            return(getRepresentativeListClient.getRepresentativeList(timestamp, ref signatureContainer, pcehrHeader.GetHeader <PCEHRHeader>(), ""));
        }
コード例 #9
0
        /// <summary>
        /// Register a person for PCEHR.
        /// </summary>
        /// <param name="pcehrHeader">PCEHR header.</param>
        /// <param name="request">The request object.</param>
        /// <returns>Response.</returns>
        public registerPCEHRResponse RegisterPCEHR(CommonPcehrHeader pcehrHeader, registerPCEHR request)
        {
            var timestamp = new timestampType()
            {
                created = DateTime.Now
            };

            var signatureContainer = new signatureContainerType();

            return(registerPcehrClient.registerPCEHR(timestamp, ref signatureContainer, pcehrHeader.GetHeader <PCEHRHeader>(), request));
        }
コード例 #10
0
        /// <summary>
        /// Removes a document with the document ID.
        /// </summary>
        /// <param name="pcehrHeader">PCEHR header.</param>
        /// <param name="request">Document unique ID and reason for removal.</param>
        /// <returns>Response.</returns>
        public removeDocumentResponse RemoveDocument(CommonPcehrHeader pcehrHeader, removeDocument request)
        {
            Validation.ValidateArgumentRequired("request", request);

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

            var signatureContainer = new signatureContainerType();

            return(removeDocumentClient.removeDocument(timestamp, ref signatureContainer, pcehrHeader.GetHeader <PCEHRHeader>(), request));
        }
コード例 #11
0
        /// <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));
        }
コード例 #12
0
        /// <summary>
        /// Gets the change history view for a document.
        /// </summary>
        /// <param name="pcehrHeader">PCEHR header.</param>
        /// <param name="request">Document unique ID.</param>
        /// <returns>Change history for the document.</returns>
        public getChangeHistoryViewResponse GetChangeHistoryView(CommonPcehrHeader pcehrHeader, getChangeHistoryView request)
        {
            // PCEHRHeaderValidator.Validate(pcehrHeader);
            Validation.ValidateArgumentRequired("request", request);

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

            var signatureContainer = new signatureContainerType();

            return(changeHistoryClient.getChangeHistoryView(timestamp, ref signatureContainer, pcehrHeader.GetHeader <PCEHRHeader>(), request));
        }
コード例 #13
0
        /// <summary>
        /// Searches for a template.
        /// </summary>
        /// <param name="pcehrHeader">PCEHR header.</param>
        /// <param name="request">Template ID and metadata of the search.</param>
        /// <returns>Response.</returns>
        public searchTemplateResponse SearchTemplate(CommonPcehrHeader pcehrHeader, searchTemplate request)
        {
            // PCEHRHeaderValidator.Validate(pcehrHeader);

            Validation.ValidateArgumentRequired("request", request);
            Validation.ValidateArgumentAtLeastOneRequired(new Dictionary <string, object>()
            {
                { "templateId", request.templateID },
                { "templateMetadata", request.templateMetadata }
            });

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

            var signatureContainer = new signatureContainerType();

            return(templateClient.searchTemplate(timestamp, ref signatureContainer, pcehrHeader.GetHeader <PCEHRHeader>(), request));
        }
コード例 #14
0
 /// <summary>
 /// Upload metadata for a document.
 /// </summary>
 /// <param name="pcehrHeader">PCEHR header.</param>
 /// <param name="submitObjectsRequest">Metadata.</param>
 /// <returns>Response.</returns>
 public RegistryResponseType UploadDocumentMetadata(CommonPcehrHeader pcehrHeader, SubmitObjectsRequest submitObjectsRequest)
 {
     return(documentRegistryClient.UploadDocumentMetadata(pcehrHeader.GetHeader <PCEHRHeader>(), submitObjectsRequest));
 }
コード例 #15
0
        /// <summary>
        /// Checks if a PCEHR exists for an individual. The IHI of the individual is specified wihin the PCEHR header.
        /// </summary>
        /// <param name="pcehrHeader">PCEHR header.</param>
        /// <returns>Response indicating the existence of a PCEHR.</returns>
        public doesPCEHRExistResponse DoesPCEHRExist(CommonPcehrHeader pcehrHeader)
        {
            // PCEHRHeaderValidator.Validate(pcehrHeader);

            return(profileClient.DoesPCEHRExist(pcehrHeader.GetHeader <PCEHRHeader>()));
        }