gICS_2.8.6
GICSService.java
1 package org.emau.icmvc.ganimed.ttp.cm2;
2 
3 /*
4  * ###license-information-start###
5  * gICS - a Generic Informed Consent Service
6  * __
7  * Copyright (C) 2014 - 2018 The MOSAIC Project - Institut fuer Community
8  * Medicine of the University Medicine Greifswald -
9  * mosaic-projekt@uni-greifswald.de
10  *
11  * concept and implementation
12  * l.geidel
13  * web client
14  * a.blumentritt, m.bialke
15  *
16  * Selected functionalities of gICS were developed as part of the MAGIC Project (funded by the DFG HO 1937/5-1).
17  *
18  * please cite our publications
19  * http://dx.doi.org/10.3414/ME14-01-0133
20  * http://dx.doi.org/10.1186/s12967-015-0545-6
21  * http://dx.doi.org/10.3205/17gmds146
22  * __
23  * This program is free software: you can redistribute it and/or modify
24  * it under the terms of the GNU Affero General Public License as published by
25  * the Free Software Foundation, either version 3 of the License, or
26  * (at your option) any later version.
27  *
28  * This program is distributed in the hope that it will be useful,
29  * but WITHOUT ANY WARRANTY; without even the implied warranty of
30  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
31  * GNU General Public License for more details.
32  *
33  * You should have received a copy of the GNU Affero General Public License
34  * along with this program. If not, see <http://www.gnu.org/licenses/>.
35  * ###license-information-end###
36  */
37 
38 import java.text.SimpleDateFormat;
39 import java.util.Date;
40 import java.util.List;
41 import java.util.Set;
42 
43 import javax.jws.WebParam;
44 import javax.jws.WebService;
45 import javax.xml.bind.annotation.XmlElement;
46 
83 
84 @WebService
85 public interface GICSService {
86 
105  public void addConsent(@XmlElement(required = true) @WebParam(name = "consentDTO") ConsentDTO consentDTO) throws UnknownDomainException,
108 
124  public boolean isConsented(@XmlElement(required = true) @WebParam(name = "signerIds") Set<SignerIdDTO> signerIdDTOs,
125  @XmlElement(required = true) @WebParam(name = "policyKey") PolicyKeyDTO policyKeyDTO,
126  @XmlElement(required = true) @WebParam(name = "config") CheckConsentConfig config) throws UnknownDomainException, UnknownPolicyException,
128 
147  public boolean isConsentedFromIncludingToIncluding(@XmlElement(required = true) @WebParam(name = "signerIds") Set<SignerIdDTO> signerIdDTOs,
148  @XmlElement(required = true) @WebParam(name = "domainName") String domainName,
149  @XmlElement(required = true) @WebParam(name = "policyName") String policyName,
150  @XmlElement(required = true) @WebParam(name = "versionFrom") String versionFrom,
151  @XmlElement(required = true) @WebParam(name = "versionTo") String versionTo,
152  @XmlElement(required = true) @WebParam(name = "config") CheckConsentConfig config)
154 
173  public boolean isConsentedFromExcludingToIncluding(@XmlElement(required = true) @WebParam(name = "signerIds") Set<SignerIdDTO> signerIdDTOs,
174  @XmlElement(required = true) @WebParam(name = "domainName") String domainName,
175  @XmlElement(required = true) @WebParam(name = "policyName") String policyName,
176  @XmlElement(required = true) @WebParam(name = "versionFrom") String versionFrom,
177  @XmlElement(required = true) @WebParam(name = "versionTo") String versionTo,
178  @XmlElement(required = true) @WebParam(name = "config") CheckConsentConfig config)
180 
199  public boolean isConsentedFromIncludingToExcluding(@XmlElement(required = true) @WebParam(name = "signerIds") Set<SignerIdDTO> signerIdDTOs,
200  @XmlElement(required = true) @WebParam(name = "domainName") String domainName,
201  @XmlElement(required = true) @WebParam(name = "policyName") String policyName,
202  @XmlElement(required = true) @WebParam(name = "versionFrom") String versionFrom,
203  @XmlElement(required = true) @WebParam(name = "versionTo") String versionTo,
204  @XmlElement(required = true) @WebParam(name = "config") CheckConsentConfig config)
206 
225  public boolean isConsentedFromExcludingToExcluding(@XmlElement(required = true) @WebParam(name = "signerIds") Set<SignerIdDTO> signerIdDTOs,
226  @XmlElement(required = true) @WebParam(name = "domainName") String domainName,
227  @XmlElement(required = true) @WebParam(name = "policyName") String policyName,
228  @XmlElement(required = true) @WebParam(name = "versionFrom") String versionFrom,
229  @XmlElement(required = true) @WebParam(name = "versionTo") String versionTo,
230  @XmlElement(required = true) @WebParam(name = "config") CheckConsentConfig config)
232 
248  public ConsentStatusType getConsentStatusType(@XmlElement(required = true) @WebParam(name = "signerIds") Set<SignerIdDTO> signerIdDTOs,
249  @XmlElement(required = true) @WebParam(name = "policyKey") PolicyKeyDTO policyKeyDTO,
250  @XmlElement(required = true) @WebParam(name = "config") CheckConsentConfig config) throws UnknownDomainException, UnknownPolicyException,
252 
272  @XmlElement(required = true) @WebParam(name = "signerIds") Set<SignerIdDTO> signerIdDTOs,
273  @XmlElement(required = true) @WebParam(name = "domainName") String domainName,
274  @XmlElement(required = true) @WebParam(name = "policyName") String policyName,
275  @XmlElement(required = true) @WebParam(name = "versionFrom") String versionFrom,
276  @XmlElement(required = true) @WebParam(name = "versionTo") String versionTo,
277  @XmlElement(required = true) @WebParam(name = "config") CheckConsentConfig config)
279 
299  @XmlElement(required = true) @WebParam(name = "signerIds") Set<SignerIdDTO> signerIdDTOs,
300  @XmlElement(required = true) @WebParam(name = "domainName") String domainName,
301  @XmlElement(required = true) @WebParam(name = "policyName") String policyName,
302  @XmlElement(required = true) @WebParam(name = "versionFrom") String versionFrom,
303  @XmlElement(required = true) @WebParam(name = "versionTo") String versionTo,
304  @XmlElement(required = true) @WebParam(name = "config") CheckConsentConfig config)
306 
326  @XmlElement(required = true) @WebParam(name = "signerIds") Set<SignerIdDTO> signerIdDTOs,
327  @XmlElement(required = true) @WebParam(name = "domainName") String domainName,
328  @XmlElement(required = true) @WebParam(name = "policyName") String policyName,
329  @XmlElement(required = true) @WebParam(name = "versionFrom") String versionFrom,
330  @XmlElement(required = true) @WebParam(name = "versionTo") String versionTo,
331  @XmlElement(required = true) @WebParam(name = "config") CheckConsentConfig config)
333 
353  @XmlElement(required = true) @WebParam(name = "signerIds") Set<SignerIdDTO> signerIdDTOs,
354  @XmlElement(required = true) @WebParam(name = "domainName") String domainName,
355  @XmlElement(required = true) @WebParam(name = "policyName") String policyName,
356  @XmlElement(required = true) @WebParam(name = "versionFrom") String versionFrom,
357  @XmlElement(required = true) @WebParam(name = "versionTo") String versionTo,
358  @XmlElement(required = true) @WebParam(name = "config") CheckConsentConfig config)
360 
370  public List<ConsentTemplateDTO> listConsentTemplates(@XmlElement(required = true) @WebParam(name = "domainName") String domainName)
372 
382  public List<ConsentTemplateDTO> listCurrentConsentTemplates(@XmlElement(required = true) @WebParam(name = "domainName") String domainName)
384 
399  public void addConsentTemplate(@XmlElement(required = true) @WebParam(name = "consentTemplate") ConsentTemplateDTO consentTemplateDTO)
402 
413  public void deleteConsentTemplate(@XmlElement(required = true) @WebParam(name = "consentTemplateKey") ConsentTemplateKeyDTO keyDTO)
416 
426  public List<ModuleDTO> listModules(@XmlElement(required = true) @WebParam(name = "domainName") String domainName)
428 
439  public void addModule(@XmlElement(required = true) @WebParam(name = "module") ModuleDTO moduleDTO)
441 
452  public void deleteModule(@XmlElement(required = true) @WebParam(name = "moduleKey") ModuleKeyDTO keyDTO)
454 
465  public ModuleDTO getModule(@XmlElement(required = true) @WebParam(name = "moduleKey") ModuleKeyDTO keyDTO)
467 
477  public List<PolicyDTO> listPolicies(@XmlElement(required = true) @WebParam(name = "domainName") String domainName)
479 
489  public void addPolicy(@XmlElement(required = true) @WebParam(name = "policy") PolicyDTO policyDTO)
491 
502  public void deletePolicy(@XmlElement(required = true) @WebParam(name = "policyKey") PolicyKeyDTO keyDTO)
504 
515  public PolicyDTO getPolicy(@XmlElement(required = true) @WebParam(name = "policyKey") PolicyKeyDTO keyDTO)
517 
528  public ConsentTemplateDTO getConsentTemplate(@XmlElement(required = true) @WebParam(name = "consentTemplateKey") ConsentTemplateKeyDTO keyDTO)
530 
542  @XmlElement(required = true) @WebParam(name = "consentTemplateName") String consentTemplateName,
543  @XmlElement(required = true) @WebParam(name = "domainName") String domainName)
545 
558  public List<SignedPolicyDTO> getPolicyStatesForSigner(@XmlElement(required = true) @WebParam(name = "domainName") String domainName,
559  @XmlElement(required = true) @WebParam(name = "signerIds") Set<SignerIdDTO> signerIdDTOs)
561 
574  public List<SignedPolicyDTO> getPolicyStatesForPolicyAndSigner(
575  @XmlElement(required = true) @WebParam(name = "policyKey") PolicyKeyDTO policyKeyDTO,
576  @XmlElement(required = true) @WebParam(name = "signerIds") Set<SignerIdDTO> signerIdDTOs)
578 
592  public List<SignedPolicyDTO> getPolicyStatesForPolicyNameAndSigner(@XmlElement(required = true) @WebParam(name = "domainName") String domainName,
593  @XmlElement(required = true) @WebParam(name = "policyName") String policyName,
594  @XmlElement(required = true) @WebParam(name = "signerIds") Set<SignerIdDTO> signerIdDTOs)
596 
610  public List<ConsentLightDTO> getAllConsentsForPerson(@XmlElement(required = true) @WebParam(name = "domainName") String domainName,
611  @XmlElement(required = true) @WebParam(name = "signerIds") Set<SignerIdDTO> signerIdDTOs) throws UnknownDomainException,
613 
631  @XmlElement(required = true) @WebParam(name = "consentTemplateKey") ConsentTemplateKeyDTO ctKeyDTO,
632  @XmlElement(required = true) @WebParam(name = "signerIds") Set<SignerIdDTO> signerIdDTOs,
633  @XmlElement(required = true) @WebParam(name = "ignoreVersionNumber") boolean ignoreVersionNumber)
636 
647  public List<ConsentLightDTO> getAllConsentsForConsentTemplate(
648  @XmlElement(required = true) @WebParam(name = "consentTemplateKey") ConsentTemplateKeyDTO ctKeyDTO) throws UnknownDomainException,
650 
661  public List<ConsentLightDTO> getAllConsentsForDomain(@XmlElement(required = true) @WebParam(name = "domainName") String domainName)
663 
674  public List<ConsentLightDTO> getAllConsentsForDomainWithoutScan(@XmlElement(required = true) @WebParam(name = "domainName") String domainName)
676 
693  public List<ConsentLightDTO> getConsentsForDomainPaginated(@XmlElement(required = true) @WebParam(name = "domainName") String domainName,
694  @XmlElement(required = true) @WebParam(name = "firstEntry") int firstEntry,
695  @XmlElement(required = true) @WebParam(name = "pageSize") int pageSize,
696  @XmlElement(required = true) @WebParam(name = "sortField") ConsentField sortField,
697  @XmlElement(required = true) @WebParam(name = "sortIsAscending") boolean sortIsAscending,
698  @XmlElement(required = true) @WebParam(name = "filter") HashMapWrapper<ConsentField, Object> filter)
700 
714  public ConsentDTO getConsent(@XmlElement(required = true) @WebParam(name = "consentKey") ConsentKeyDTO keyDTO)
717 
727  public void addDomain(@XmlElement(required = true) @WebParam(name = "domain") DomainDTO domainDTO)
729 
740  public void deleteDomain(@XmlElement(required = true) @WebParam(name = "domainName") String domainName)
742 
752  public DomainDTO getDomain(@XmlElement(required = true) @WebParam(name = "domainName") String domainName) throws UnknownDomainException;
753 
757  public List<DomainDTO> listDomains();
758 
771  public void updateDomain(@XmlElement(required = true) @WebParam(name = "domainName") String domainName,
772  @XmlElement(required = true) @WebParam(name = "label") String label, @XmlElement(required = true) @WebParam(name = "logo") String logo,
773  @XmlElement(required = true) @WebParam(name = "externProperties") String externProperties,
774  @XmlElement(required = true) @WebParam(name = "comment") String comment) throws UnknownDomainException;
775 
792  public void updateConsentTemplate(@XmlElement(required = true) @WebParam(name = "consentTemplateKey") ConsentTemplateKeyDTO consentTemplateKey,
793  @XmlElement(required = true) @WebParam(name = "title") String title,
794  @XmlElement(required = true) @WebParam(name = "externProperties") String externProperties,
795  @XmlElement(required = true) @WebParam(name = "comment") String comment,
796  @XmlElement(required = true) @WebParam(name = "scanBase64") String scanBase64,
797  @XmlElement(required = true) @WebParam(name = "scanFileType") String scanFileType)
799 
814  public void updatePolicy(@XmlElement(required = true) @WebParam(name = "policyKey") PolicyKeyDTO policyKey,
815  @XmlElement(required = true) @WebParam(name = "externProperties") String externProperties,
816  @XmlElement(required = true) @WebParam(name = "comment") String comment)
818 
835  public void updateModule(@XmlElement(required = true) @WebParam(name = "moduleKey") ModuleKeyDTO moduleKey,
836  @XmlElement(required = true) @WebParam(name = "title") String title,
837  @XmlElement(required = true) @WebParam(name = "externProperties") String externProperties,
838  @XmlElement(required = true) @WebParam(name = "comment") String comment)
840 
859  public void updateConsent(@XmlElement(required = true) @WebParam(name = "consentKey") ConsentKeyDTO consentKey,
860  @XmlElement(required = true) @WebParam(name = "externProperties") String externProperties,
861  @XmlElement(required = true) @WebParam(name = "comment") String comment,
862  @XmlElement(required = true) @WebParam(name = "scanBase64") String scanBase64,
863  @XmlElement(required = true) @WebParam(name = "scanFileType") String scanFileType)
866 
883  @Deprecated
884  public void addScanToConsent(@XmlElement(required = true) @WebParam(name = "consentKey") ConsentKeyDTO consentKeyDTO,
885  @XmlElement(required = true) @WebParam(name = "scanBase64") String scanBase64,
886  @XmlElement(required = true) @WebParam(name = "fileType") String fileType) throws UnknownDomainException, UnknownConsentTemplateException,
888 
897  public void addSignerIdType(@XmlElement(required = true) @WebParam(name = "domainName") String domainName,
898  @XmlElement(required = true) @WebParam(name = "signerIdTypeName") String signerIdTypeName)
900 
910  public void deleteSignerIdType(@XmlElement(required = true) @WebParam(name = "domainName") String domainName,
911  @XmlElement(required = true) @WebParam(name = "signerIdTypeName") String signerIdTypeName)
913 
923  public List<String> getAllIdsForSignerIdType(@XmlElement(required = true) @WebParam(name = "domainName") String domainName,
924  @XmlElement(required = true) @WebParam(name = "signerIdTypeName") String signerIdTypeName)
926 
940  public List<String> getAllConsentedIdsFor(@XmlElement(required = true) @WebParam(name = "signerIdTypeName") String signerIdTypeName,
941  @XmlElement(required = true) @WebParam(name = "policyKey") PolicyKeyDTO policyKeyDTO,
942  @XmlElement(required = true) @WebParam(name = "config") CheckConsentConfig config)
945 
964  public void validateConsent(@XmlElement(required = true) @WebParam(name = "consent") ConsentDTO consentDTO,
965  @XmlElement(required = true) @WebParam(name = "allowRevoke") boolean allowRevoke)
968 
988  public void invalidateConsent(@XmlElement(required = true) @WebParam(name = "consentKey") ConsentKeyDTO consentKeyDTO,
989  @XmlElement(required = true) @WebParam(name = "invalidationState") ConsentStatus invalidationState,
990  @XmlElement(required = true) @WebParam(name = "comment") String comment,
991  @XmlElement(required = false) @WebParam(name = "scanBase64") String scanBase64)
994 
1008  public void refuseConsent(@XmlElement(required = true) @WebParam(name = "consentTemplateKey") ConsentTemplateKeyDTO ctKeyDTO,
1009  @XmlElement(required = true) @WebParam(name = "signerIds") Set<SignerIdDTO> signerIdDTOs) throws InvalidVersionException,
1011 
1025  public void addSignerIdToConsent(@XmlElement(required = true) @WebParam(name = "consentKey") ConsentKeyDTO consentKeyDTO,
1026  @XmlElement(required = true) @WebParam(name = "signerId") SignerIdDTO signerIdDTO)
1029 
1042  public void addSignerIdToSignerId(@XmlElement(required = true) @WebParam(name = "domainName") String domainName,
1043  @XmlElement(required = true) @WebParam(name = "existentSignerId") SignerIdDTO existentSignerIdDTO,
1044  @XmlElement(required = true) @WebParam(name = "newSignerId") SignerIdDTO newSignerIdDTO)
1045  throws UnknownSignerIdTypeException, IllegalArgumentException, InternalException, UnknownDomainException;
1046 
1061  public Date getExpirationDate(@XmlElement(required = true) @WebParam(name = "consentKey") ConsentKeyDTO consentKeyDTO)
1064 }
should be thrown when the given object for a create operation already exists
List< ConsentLightDTO > getAllConsentsForDomainWithoutScan(@XmlElement(required=true) @WebParam(name="domainName") String domainName)
lists all consents for the given domain which doesn&#39;t have a scan attached
should be thrown whenever there&#39;s an error in the mandatory-fields-logic: all mandatory fields must ...
void addScanToConsent(@XmlElement(required=true) @WebParam(name="consentKey") ConsentKeyDTO consentKeyDTO, @XmlElement(required=true) @WebParam(name="scanBase64") String scanBase64, @XmlElement(required=true) @WebParam(name="fileType") String fileType)
add the given scan to the given consent
ConsentStatusType getConsentStatusTypeFromIncludingToExcluding( @XmlElement(required=true) @WebParam(name="signerIds") Set< SignerIdDTO > signerIdDTOs, @XmlElement(required=true) @WebParam(name="domainName") String domainName, @XmlElement(required=true) @WebParam(name="policyName") String policyName, @XmlElement(required=true) @WebParam(name="versionFrom") String versionFrom, @XmlElement(required=true) @WebParam(name="versionTo") String versionTo, @XmlElement(required=true) @WebParam(name="config") CheckConsentConfig config)
checks whether there&#39;s a signed consent for the given patient and policy in the given version range: ...
void deleteConsentTemplate(@XmlElement(required=true) @WebParam(name="consentTemplateKey") ConsentTemplateKeyDTO keyDTO)
deletes the given consent template (only if it&#39;s not in use, i.e.
should be thrown when the given converter string (in case of FreeTextType.Date) is not a valid string...
should be thrown when the given consent is not known for the given domain
ConsentDTO getConsent(@XmlElement(required=true) @WebParam(name="consentKey") ConsentKeyDTO keyDTO)
get the complete dto for the given key - thought to be used in addition to the list functions ...
PolicyDTO getPolicy(@XmlElement(required=true) @WebParam(name="policyKey") PolicyKeyDTO keyDTO)
returns all attributes of the requested policy
should be thrown when the given object can&#39;t be deleted
should be thrown when the given signerIdType is not known for the given domain
List< ModuleDTO > listModules(@XmlElement(required=true) @WebParam(name="domainName") String domainName)
lists all modules of the given domain
void refuseConsent(@XmlElement(required=true) @WebParam(name="consentTemplateKey") ConsentTemplateKeyDTO ctKeyDTO, @XmlElement(required=true) @WebParam(name="signerIds") Set< SignerIdDTO > signerIdDTOs)
stores a "refused" consent - the consent is not declined, the participant didn&#39;t want to fill a conse...
ConsentStatusType getConsentStatusTypeFromExcludingToIncluding( @XmlElement(required=true) @WebParam(name="signerIds") Set< SignerIdDTO > signerIdDTOs, @XmlElement(required=true) @WebParam(name="domainName") String domainName, @XmlElement(required=true) @WebParam(name="policyName") String policyName, @XmlElement(required=true) @WebParam(name="versionFrom") String versionFrom, @XmlElement(required=true) @WebParam(name="versionTo") String versionTo, @XmlElement(required=true) @WebParam(name="config") CheckConsentConfig config)
checks whether there&#39;s a signed consent for the given patient and policy in the given version range: ...
name - identifier label - label for the web-interface properties - semicolon separated key-value pa...
Definition: DomainDTO.java:53
should be thrown when there are signed consents which belongs to one module but have different consen...
void addModule(@XmlElement(required=true) @WebParam(name="module") ModuleDTO moduleDTO)
stores the given module
ConsentStatusType getConsentStatusTypeFromIncludingToIncluding( @XmlElement(required=true) @WebParam(name="signerIds") Set< SignerIdDTO > signerIdDTOs, @XmlElement(required=true) @WebParam(name="domainName") String domainName, @XmlElement(required=true) @WebParam(name="policyName") String policyName, @XmlElement(required=true) @WebParam(name="versionFrom") String versionFrom, @XmlElement(required=true) @WebParam(name="versionTo") String versionTo, @XmlElement(required=true) @WebParam(name="config") CheckConsentConfig config)
checks whether there&#39;s a signed consent for the given patient and policy in the given version range: ...
fields of the consent table, used for retrieving a sorted list of consents
wie wurde ein modul (und damit die enthaltenen policies) innerhalb eines consents konsentiert...
void updatePolicy(@XmlElement(required=true) @WebParam(name="policyKey") PolicyKeyDTO policyKey, @XmlElement(required=true) @WebParam(name="externProperties") String externProperties, @XmlElement(required=true) @WebParam(name="comment") String comment)
updates the given policy
List< ConsentTemplateDTO > listConsentTemplates(@XmlElement(required=true) @WebParam(name="domainName") String domainName)
lists all consent templates of the given domain
void updateModule(@XmlElement(required=true) @WebParam(name="moduleKey") ModuleKeyDTO moduleKey, @XmlElement(required=true) @WebParam(name="title") String title, @XmlElement(required=true) @WebParam(name="externProperties") String externProperties, @XmlElement(required=true) @WebParam(name="comment") String comment)
updates the given module
void deletePolicy(@XmlElement(required=true) @WebParam(name="policyKey") PolicyKeyDTO keyDTO)
deletes the given policy (only if it&#39;s not in use, i.e.
boolean isConsentedFromIncludingToExcluding(@XmlElement(required=true) @WebParam(name="signerIds") Set< SignerIdDTO > signerIdDTOs, @XmlElement(required=true) @WebParam(name="domainName") String domainName, @XmlElement(required=true) @WebParam(name="policyName") String policyName, @XmlElement(required=true) @WebParam(name="versionFrom") String versionFrom, @XmlElement(required=true) @WebParam(name="versionTo") String versionTo, @XmlElement(required=true) @WebParam(name="config") CheckConsentConfig config)
checks whether there&#39;s a signed consent for the given patient and policy in the given version range: ...
boolean isConsentedFromIncludingToIncluding(@XmlElement(required=true) @WebParam(name="signerIds") Set< SignerIdDTO > signerIdDTOs, @XmlElement(required=true) @WebParam(name="domainName") String domainName, @XmlElement(required=true) @WebParam(name="policyName") String policyName, @XmlElement(required=true) @WebParam(name="versionFrom") String versionFrom, @XmlElement(required=true) @WebParam(name="versionTo") String versionTo, @XmlElement(required=true) @WebParam(name="config") CheckConsentConfig config)
checks whether there&#39;s a signed consent for the given patient and policy in the given version range: ...
should be thrown when the given domain is not found within the db
ConsentStatusType getConsentStatusTypeFromExcludingToExcluding( @XmlElement(required=true) @WebParam(name="signerIds") Set< SignerIdDTO > signerIdDTOs, @XmlElement(required=true) @WebParam(name="domainName") String domainName, @XmlElement(required=true) @WebParam(name="policyName") String policyName, @XmlElement(required=true) @WebParam(name="versionFrom") String versionFrom, @XmlElement(required=true) @WebParam(name="versionTo") String versionTo, @XmlElement(required=true) @WebParam(name="config") CheckConsentConfig config)
checks whether there&#39;s a signed consent for the given patient and policy in the given version range: ...
should be thrown when the given module is not known for the given domain
List< PolicyDTO > listPolicies(@XmlElement(required=true) @WebParam(name="domainName") String domainName)
lists all policies of the given domain
boolean isConsentedFromExcludingToIncluding(@XmlElement(required=true) @WebParam(name="signerIds") Set< SignerIdDTO > signerIdDTOs, @XmlElement(required=true) @WebParam(name="domainName") String domainName, @XmlElement(required=true) @WebParam(name="policyName") String policyName, @XmlElement(required=true) @WebParam(name="versionFrom") String versionFrom, @XmlElement(required=true) @WebParam(name="versionTo") String versionTo, @XmlElement(required=true) @WebParam(name="config") CheckConsentConfig config)
checks whether there&#39;s a signed consent for the given patient and policy in the given version range: ...
void invalidateConsent(@XmlElement(required=true) @WebParam(name="consentKey") ConsentKeyDTO consentKeyDTO, @XmlElement(required=true) @WebParam(name="invalidationState") ConsentStatus invalidationState, @XmlElement(required=true) @WebParam(name="comment") String comment, @XmlElement(required=false) @WebParam(name="scanBase64") String scanBase64)
invalidates the given consent (stores a new consent with all policies set to invalidationState) ...
should be thrown when the given policy is not known for the given domain
void validateConsent(@XmlElement(required=true) @WebParam(name="consent") ConsentDTO consentDTO, @XmlElement(required=true) @WebParam(name="allowRevoke") boolean allowRevoke)
validates the given consentDTO checks the given domain, consent template and assures, that the given modules are part of the consent template all mandatory modules need to be either accepted or declined when there&#39;s at least one declined mandatory module, no module may be accepted no child module may be accepted if its parent is not when there&#39;s at least one accepted module, the two signatures have to be provided
void updateDomain(@XmlElement(required=true) @WebParam(name="domainName") String domainName, @XmlElement(required=true) @WebParam(name="label") String label, @XmlElement(required=true) @WebParam(name="logo") String logo, @XmlElement(required=true) @WebParam(name="externProperties") String externProperties, @XmlElement(required=true) @WebParam(name="comment") String comment)
updates the given domain
should be thrown whenever there&#39;s an error which can&#39;t be corrected by the client ...
configuration for the check whether the given policy is consented by the given person ...
signer id - combination of id and id type
eine policy ist die kleinstmoegliche unterteilung eines consents; sie repraesentiert eine atomare...
Definition: PolicyDTO.java:46
should be thrown whenever there&#39;s an error due to the consent status
ConsentTemplateDTO getCurrentConsentTemplate( @XmlElement(required=true) @WebParam(name="consentTemplateName") String consentTemplateName, @XmlElement(required=true) @WebParam(name="domainName") String domainName)
returns all attributes of the current (highest version) consent template with the given name ...
ordnet die verschiedenen status nach "zugestimmt", "verweigert" und "unbekannt" see ConsentStatus ...
wrapper class, because jaxb can&#39;t handle hashmaps - https://wiki.kuali.org/display/STUDENTDOC/5.2+Using+JAXB+Objects+in+Web+Services : Unfortunately, as of 2.1, this processing is only defined for bean properties and not when you marshal HashMap as a top-level object (such as a value in JAXBElement.) In such case, HashMap will be treated as a Java bean, and when you look at HashMap _as a bean it defines no getter/setter property pair...
Date getExpirationDate(@XmlElement(required=true) @WebParam(name="consentKey") ConsentKeyDTO consentKeyDTO)
returns the expiration date for the given consent returns a date in the future (aprox.
should be thrown when invalid properties are encountered
void addConsent(@XmlElement(required=true) @WebParam(name="consentDTO") ConsentDTO consentDTO)
stores the given consent the policies within the modulDTOs are ignored and therefore doesn&#39;t need to...
List< ConsentLightDTO > getAllConsentsForDomain(@XmlElement(required=true) @WebParam(name="domainName") String domainName)
lists all consents for the given domain
void deleteSignerIdType(@XmlElement(required=true) @WebParam(name="domainName") String domainName, @XmlElement(required=true) @WebParam(name="signerIdTypeName") String signerIdTypeName)
removes the given signer id type from the given domain
void updateConsent(@XmlElement(required=true) @WebParam(name="consentKey") ConsentKeyDTO consentKey, @XmlElement(required=true) @WebParam(name="externProperties") String externProperties, @XmlElement(required=true) @WebParam(name="comment") String comment, @XmlElement(required=true) @WebParam(name="scanBase64") String scanBase64, @XmlElement(required=true) @WebParam(name="scanFileType") String scanFileType)
updates the given consent
void addSignerIdType(@XmlElement(required=true) @WebParam(name="domainName") String domainName, @XmlElement(required=true) @WebParam(name="signerIdTypeName") String signerIdTypeName)
add a signer id type with the given name to the given domain
ConsentTemplateDTO getConsentTemplate(@XmlElement(required=true) @WebParam(name="consentTemplateKey") ConsentTemplateKeyDTO keyDTO)
returns all attributes of the requested consent template
List< SignedPolicyDTO > getPolicyStatesForPolicyAndSigner( @XmlElement(required=true) @WebParam(name="policyKey") PolicyKeyDTO policyKeyDTO, @XmlElement(required=true) @WebParam(name="signerIds") Set< SignerIdDTO > signerIdDTOs)
returns all signed policies for the given policy which are signed by the person with the given id ...
ModuleDTO getModule(@XmlElement(required=true) @WebParam(name="moduleKey") ModuleKeyDTO keyDTO)
returns all attributes of the requested module
void deleteDomain(@XmlElement(required=true) @WebParam(name="domainName") String domainName)
deletes the given domain
ConsentDTO getCurrentConsentForPersonAndCT( @XmlElement(required=true) @WebParam(name="consentTemplateKey") ConsentTemplateKeyDTO ctKeyDTO, @XmlElement(required=true) @WebParam(name="signerIds") Set< SignerIdDTO > signerIdDTOs, @XmlElement(required=true) @WebParam(name="ignoreVersionNumber") boolean ignoreVersionNumber)
returns the current consent for the given signerIds current means: the consent with the highest vers...
ConsentStatusType getConsentStatusType(@XmlElement(required=true) @WebParam(name="signerIds") Set< SignerIdDTO > signerIdDTOs, @XmlElement(required=true) @WebParam(name="policyKey") PolicyKeyDTO policyKeyDTO, @XmlElement(required=true) @WebParam(name="config") CheckConsentConfig config)
checks whether there&#39;s a signed consent for the given patient and policy in the given specific versio...
ein modul ist eine zustimmbare unterteilung eines consents; sie fasst mehrere policies zusammen...
Definition: ModuleDTO.java:48
should be thrown whenever there&#39;s an error due to the given free text (free text name is unknown with...
boolean isConsented(@XmlElement(required=true) @WebParam(name="signerIds") Set< SignerIdDTO > signerIdDTOs, @XmlElement(required=true) @WebParam(name="policyKey") PolicyKeyDTO policyKeyDTO, @XmlElement(required=true) @WebParam(name="config") CheckConsentConfig config)
checks whether there&#39;s a signed consent for the given patient and policy in the given specific versio...
void addSignerIdToSignerId(@XmlElement(required=true) @WebParam(name="domainName") String domainName, @XmlElement(required=true) @WebParam(name="existentSignerId") SignerIdDTO existentSignerIdDTO, @XmlElement(required=true) @WebParam(name="newSignerId") SignerIdDTO newSignerIdDTO)
adds newSignerId (e.g.
List< ConsentTemplateDTO > listCurrentConsentTemplates(@XmlElement(required=true) @WebParam(name="domainName") String domainName)
lists the most recent version of all consent templates of the given domain
should be thrown whenever there&#39;s an error instantiating the version converter class ...
should be thrown whenever there&#39;s an error due to the version string
boolean isConsentedFromExcludingToExcluding(@XmlElement(required=true) @WebParam(name="signerIds") Set< SignerIdDTO > signerIdDTOs, @XmlElement(required=true) @WebParam(name="domainName") String domainName, @XmlElement(required=true) @WebParam(name="policyName") String policyName, @XmlElement(required=true) @WebParam(name="versionFrom") String versionFrom, @XmlElement(required=true) @WebParam(name="versionTo") String versionTo, @XmlElement(required=true) @WebParam(name="config") CheckConsentConfig config)
checks whether there&#39;s a signed consent for the given patient and policy in the given version range: ...
List< SignedPolicyDTO > getPolicyStatesForSigner(@XmlElement(required=true) @WebParam(name="domainName") String domainName, @XmlElement(required=true) @WebParam(name="signerIds") Set< SignerIdDTO > signerIdDTOs)
returns all signed policies which are signed by the person with the given id
List< ConsentLightDTO > getConsentsForDomainPaginated(@XmlElement(required=true) @WebParam(name="domainName") String domainName, @XmlElement(required=true) @WebParam(name="firstEntry") int firstEntry, @XmlElement(required=true) @WebParam(name="pageSize") int pageSize, @XmlElement(required=true) @WebParam(name="sortField") ConsentField sortField, @XmlElement(required=true) @WebParam(name="sortIsAscending") boolean sortIsAscending, @XmlElement(required=true) @WebParam(name="filter") HashMapWrapper< ConsentField, Object > filter)
lists consents for the given domain with pagination
void addPolicy(@XmlElement(required=true) @WebParam(name="policy") PolicyDTO policyDTO)
stores the given policy
List< String > getAllConsentedIdsFor(@XmlElement(required=true) @WebParam(name="signerIdTypeName") String signerIdTypeName, @XmlElement(required=true) @WebParam(name="policyKey") PolicyKeyDTO policyKeyDTO, @XmlElement(required=true) @WebParam(name="config") CheckConsentConfig config)
list all consented ids for the given policy and signerIdType
void addConsentTemplate(@XmlElement(required=true) @WebParam(name="consentTemplate") ConsentTemplateDTO consentTemplateDTO)
stores the given consent template the policies within the modulDTOs are ignored and therefore doesn&#39;...
ein consent ist ein ausgefuelltes und unterschriebenes konsentdokument (consent template) ...
Definition: ConsentDTO.java:49
void addSignerIdToConsent(@XmlElement(required=true) @WebParam(name="consentKey") ConsentKeyDTO consentKeyDTO, @XmlElement(required=true) @WebParam(name="signerId") SignerIdDTO signerIdDTO)
adds the given signerId to the given consent
List< ConsentLightDTO > getAllConsentsForPerson(@XmlElement(required=true) @WebParam(name="domainName") String domainName, @XmlElement(required=true) @WebParam(name="signerIds") Set< SignerIdDTO > signerIdDTOs)
lists all consents for the person with the given id
void deleteModule(@XmlElement(required=true) @WebParam(name="moduleKey") ModuleKeyDTO keyDTO)
deletes the given module (only if it&#39;s not in use, i.e.
List< String > getAllIdsForSignerIdType(@XmlElement(required=true) @WebParam(name="domainName") String domainName, @XmlElement(required=true) @WebParam(name="signerIdTypeName") String signerIdTypeName)
returns all id for the given signer id type and domain
objekt fuer die m-n tabelle consent<->policy
List< ConsentLightDTO > getAllConsentsForConsentTemplate( @XmlElement(required=true) @WebParam(name="consentTemplateKey") ConsentTemplateKeyDTO ctKeyDTO)
lists all consents for the given consent template
should be thrown whenever the request is lacking a required object
List< SignedPolicyDTO > getPolicyStatesForPolicyNameAndSigner(@XmlElement(required=true) @WebParam(name="domainName") String domainName, @XmlElement(required=true) @WebParam(name="policyName") String policyName, @XmlElement(required=true) @WebParam(name="signerIds") Set< SignerIdDTO > signerIdDTOs)
returns all signed policies for the given policy name (thus ignoring the version number of the policy...
ein consent template kann mehrere module (mit jeweils mehreren policies) enthalten, es entspricht dem elektronischen aequivalent eines nicht ausgefuellten konsentdokumentes
DomainDTO getDomain(@XmlElement(required=true) @WebParam(name="domainName") String domainName)
returns all information for the given domain
void addDomain(@XmlElement(required=true) @WebParam(name="domain") DomainDTO domainDTO)
creates a new domain
data type of a free text field of a consent template if extended please pay attention to occurences ...
void updateConsentTemplate(@XmlElement(required=true) @WebParam(name="consentTemplateKey") ConsentTemplateKeyDTO consentTemplateKey, @XmlElement(required=true) @WebParam(name="title") String title, @XmlElement(required=true) @WebParam(name="externProperties") String externProperties, @XmlElement(required=true) @WebParam(name="comment") String comment, @XmlElement(required=true) @WebParam(name="scanBase64") String scanBase64, @XmlElement(required=true) @WebParam(name="scanFileType") String scanFileType)
updates the given consent template
ein consent ist ein ausgefuelltes und unterschriebenes konsentdokument (consent template) das light ...
should be thrown when the given consent template is not known for the given domain ...