/// <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)); }
/// <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)); }
/// <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())); }
/// <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)); }
/// <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)); }
/// <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())); }
/// <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)); }
/// <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>(), "")); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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)); }
/// <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>())); }