diff --git a/commons/ihe/xds/src/main/java/org/openehealth/ipf/commons/ihe/xds/core/ebxml/ebxml30/EbXMLFactory30.java b/commons/ihe/xds/src/main/java/org/openehealth/ipf/commons/ihe/xds/core/ebxml/ebxml30/EbXMLFactory30.java index 8e0e74408b..7b61b4067b 100644 --- a/commons/ihe/xds/src/main/java/org/openehealth/ipf/commons/ihe/xds/core/ebxml/ebxml30/EbXMLFactory30.java +++ b/commons/ihe/xds/src/main/java/org/openehealth/ipf/commons/ihe/xds/core/ebxml/ebxml30/EbXMLFactory30.java @@ -1,12 +1,12 @@ /* * Copyright 2009 the original author or authors. - * + * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -34,6 +34,8 @@ import org.openehealth.ipf.commons.ihe.xds.core.stub.ebrs30.lcm.SubmitObjectsRequest; import org.openehealth.ipf.commons.ihe.xds.core.stub.xdsi.RetrieveImagingDocumentSetRequestType; +import static org.openehealth.ipf.commons.ihe.xds.core.metadata.Vocabulary.CLASSIFICATION_OBJECT_TYPE; + /** * Factory for EbXML 3.0 objects. * @author Jens Riemschneider @@ -65,7 +67,9 @@ public class EbXMLFactory30 implements EbXMLFactory { @Override public EbXMLClassification createClassification(EbXMLObjectLibrary objectLibrary) { - return new EbXMLClassification30(RIM_FACTORY.createClassificationType()); + var classificationType = RIM_FACTORY.createClassificationType(); + classificationType.setObjectType(CLASSIFICATION_OBJECT_TYPE); + return new EbXMLClassification30(classificationType); } @Override @@ -91,7 +95,7 @@ public EbXMLAssociation createAssociation(String id, EbXMLObjectLibrary objectLi objectLibrary.put(id, association); return new EbXMLAssociation30(association, objectLibrary); } - + @Override public EbXMLSubmitObjectsRequest createSubmitObjectsRequest() { var request = LCM_FACTORY.createSubmitObjectsRequest(); @@ -138,7 +142,7 @@ public EbXMLRetrieveDocumentSetResponse createRetrieveDocumentSetResponse() { response.setRegistryResponse(RS_FACTORY.createRegistryResponseType()); return new EbXMLRetrieveDocumentSetResponse30(response); } - + @Override public EbXMLAdhocQueryRequest createAdhocQueryRequest() { var request = QUERY_FACTORY.createAdhocQueryRequest(); @@ -149,10 +153,10 @@ public EbXMLAdhocQueryRequest createAdhocQueryRequest() { var query = RIM_FACTORY.createAdhocQueryType(); request.setAdhocQuery(query); - - return new EbXMLAdhocQueryRequest30(request); + + return new EbXMLAdhocQueryRequest30(request); } - + @Override public EbXMLQueryResponse createAdhocQueryResponse(EbXMLObjectLibrary objectLibrary, boolean returnsObjectRefs) { var response = QUERY_FACTORY.createAdhocQueryResponse(); diff --git a/commons/ihe/xds/src/main/java/org/openehealth/ipf/commons/ihe/xds/core/metadata/Vocabulary.java b/commons/ihe/xds/src/main/java/org/openehealth/ipf/commons/ihe/xds/core/metadata/Vocabulary.java index 5da7c9db88..4b313fd26a 100644 --- a/commons/ihe/xds/src/main/java/org/openehealth/ipf/commons/ihe/xds/core/metadata/Vocabulary.java +++ b/commons/ihe/xds/src/main/java/org/openehealth/ipf/commons/ihe/xds/core/metadata/Vocabulary.java @@ -1,12 +1,12 @@ /* * Copyright 2009 the original author or authors. - * + * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -34,19 +34,19 @@ public enum NodeRepresentationUsage {REQUIRED, PROHIBITED} "urn:uuid:93606bcf-9494-43ec-9b4e-a7748d1a838d"; /** classCode External Classification Scheme of the Document Entry */ - public static final String DOC_ENTRY_CLASS_CODE_CLASS_SCHEME = + public static final String DOC_ENTRY_CLASS_CODE_CLASS_SCHEME = "urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a"; /** confidentialityCode External Classification Scheme of the Document Entry */ - public static final String DOC_ENTRY_CONFIDENTIALITY_CODE_CLASS_SCHEME = + public static final String DOC_ENTRY_CONFIDENTIALITY_CODE_CLASS_SCHEME = "urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f"; - + /** eventCode External Classification Scheme of the Document Entry */ - public static final String DOC_ENTRY_EVENT_CODE_CLASS_SCHEME = - "urn:uuid:2c6b8cb7-8b2a-4051-b291-b1ae6a575ef4"; + public static final String DOC_ENTRY_EVENT_CODE_CLASS_SCHEME = + "urn:uuid:2c6b8cb7-8b2a-4051-b291-b1ae6a575ef4"; /** formatCode External Classification Scheme of the Document Entry */ - public static final String DOC_ENTRY_FORMAT_CODE_CLASS_SCHEME = + public static final String DOC_ENTRY_FORMAT_CODE_CLASS_SCHEME = "urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d"; /** healthcareFacilityTypeCode External Classification Scheme of the Document Entry */ @@ -56,7 +56,7 @@ public enum NodeRepresentationUsage {REQUIRED, PROHIBITED} /** practiceSettingCode ExternalIdentifier of the Document Entry */ public static final String DOC_ENTRY_PRACTICE_SETTING_CODE_CLASS_SCHEME = "urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead"; - + /** typeCode ExternalIdentifier of the Document Entry */ public static final String DOC_ENTRY_TYPE_CODE_CLASS_SCHEME = "urn:uuid:f0306f51-975f-434e-a61c-c59651d33983"; @@ -68,11 +68,11 @@ public enum NodeRepresentationUsage {REQUIRED, PROHIBITED} /** patientId ExternalIdentifier of the Document Entry */ public static final String DOC_ENTRY_PATIENT_ID_EXTERNAL_ID = "urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427"; - + /** uniqueId ExternalIdentifier of the Document Entry */ public static final String DOC_ENTRY_UNIQUE_ID_EXTERNAL_ID = "urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab"; - + /** Localized String used for the patient ID external identifier of a document entry */ public static final String DOC_ENTRY_LOCALIZED_STRING_PATIENT_ID = "XDSDocumentEntry.patientId"; @@ -80,12 +80,13 @@ public enum NodeRepresentationUsage {REQUIRED, PROHIBITED} public static final String DOC_ENTRY_LOCALIZED_STRING_UNIQUE_ID = "XDSDocumentEntry.uniqueId"; - - + /** ObjectType for Classifications */ + public static final String CLASSIFICATION_OBJECT_TYPE = "urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:Classification"; + /** XDSFolder classification node */ public static final String FOLDER_CLASS_NODE = - "urn:uuid:d9d542f3-6cc4-48b6-8870-ea235fbc94c2"; - + "urn:uuid:d9d542f3-6cc4-48b6-8870-ea235fbc94c2"; + /** codeList External Classification Scheme of the folder */ public static final String FOLDER_CODE_LIST_CLASS_SCHEME = "urn:uuid:1ba97051-7806-41a8-a48b-8fce7af683c5"; @@ -97,7 +98,7 @@ public enum NodeRepresentationUsage {REQUIRED, PROHIBITED} /** patientId ExternalIdentifier of the Folder */ public static final String FOLDER_PATIENT_ID_EXTERNAL_ID = "urn:uuid:f64ffdf0-4b97-4e06-b79f-a52b38ec2f8a"; - + /** uniqueId ExternalIdentifier of the Folder */ public static final String FOLDER_UNIQUE_ID_EXTERNAL_ID = "urn:uuid:75df8f67-9973-4fbe-a900-df66cefecc5a"; @@ -108,20 +109,20 @@ public enum NodeRepresentationUsage {REQUIRED, PROHIBITED} /** Localized String used for the unique ID external identifier of a folder */ public static final String FOLDER_LOCALIZED_STRING_UNIQUE_ID = "XDSFolder.uniqueId"; - - - + + + /** XDSSubmissionSet classification node */ - public static final String SUBMISSION_SET_CLASS_NODE = + public static final String SUBMISSION_SET_CLASS_NODE = "urn:uuid:a54d6aa5-d40d-43f9-88c5-b4633d873bdd"; - + /** Author External Classification Scheme of the Submission Set */ - public static final String SUBMISSION_SET_AUTHOR_CLASS_SCHEME = + public static final String SUBMISSION_SET_AUTHOR_CLASS_SCHEME = "urn:uuid:a7058bb9-b4e4-4307-ba5b-e3f0ab85e12d"; /** contentTypeCode External Classification Scheme of the Submission Set */ - public static final String SUBMISSION_SET_CONTENT_TYPE_CODE_CLASS_SCHEME = + public static final String SUBMISSION_SET_CONTENT_TYPE_CODE_CLASS_SCHEME = "urn:uuid:aa543740-bdda-424e-8c96-df4873be8500"; /** limitedMetadata External Classification Node of the Submission Set */ @@ -131,7 +132,7 @@ public enum NodeRepresentationUsage {REQUIRED, PROHIBITED} /** patientId ExternalIdentifier of the Submission Set */ public static final String SUBMISSION_SET_PATIENT_ID_EXTERNAL_ID = "urn:uuid:6b5aea1a-874d-4603-a4bc-96a0a7b38446"; - + /** uniqueId ExternalIdentifier of the Submission Set */ public static final String SUBMISSION_SET_UNIQUE_ID_EXTERNAL_ID = "urn:uuid:96fdda7c-d067-4183-912e-bf5ee74998a8"; @@ -149,10 +150,10 @@ public enum NodeRepresentationUsage {REQUIRED, PROHIBITED} /** Localized String used for the source ID external identifier of a submission set */ public static final String SUBMISSION_SET_LOCALIZED_STRING_SOURCE_ID = "XDSSubmissionSet.sourceId"; - - + + /** Documentation External Classification Scheme of the Association */ - public static final String ASSOCIATION_DOC_CODE_CLASS_SCHEME = + public static final String ASSOCIATION_DOC_CODE_CLASS_SCHEME = "urn:uuid:abd807a3-4432-4053-87b4-fd82c643d1f3"; @@ -160,7 +161,7 @@ public enum NodeRepresentationUsage {REQUIRED, PROHIBITED} /** Name of the slot that is used for author persons */ public static final String SLOT_NAME_AUTHOR_PERSON = "authorPerson"; - + /** Name of the slot that is used for author institutions */ public static final String SLOT_NAME_AUTHOR_INSTITUTION = "authorInstitution"; @@ -181,7 +182,7 @@ public enum NodeRepresentationUsage {REQUIRED, PROHIBITED} /** Name of the slot that is used for the last update time */ public static final String SLOT_NAME_LAST_UPDATE_TIME = "lastUpdateTime"; - + /** Name of the slot that is used for the hash code */ public static final String SLOT_NAME_HASH = "hash"; @@ -190,34 +191,34 @@ public enum NodeRepresentationUsage {REQUIRED, PROHIBITED} /** Name of the slot that is used for the legal authenticator */ public static final String SLOT_NAME_LEGAL_AUTHENTICATOR = "legalAuthenticator"; - + /** Name of the slot that is used for the service start time */ public static final String SLOT_NAME_SERVICE_START_TIME = "serviceStartTime"; /** Name of the slot that is used for the service stop time */ public static final String SLOT_NAME_SERVICE_STOP_TIME = "serviceStopTime"; - + /** Name of the slot that is used for the size */ public static final String SLOT_NAME_SIZE = "size"; - + /** Name of the slot that is used for the source patient ID */ public static final String SLOT_NAME_SOURCE_PATIENT_ID = "sourcePatientId"; /** Name of the slot that is used for the source patient info */ public static final String SLOT_NAME_SOURCE_PATIENT_INFO = "sourcePatientInfo"; - + /** Name of the slot that is used for the URI */ public static final String SLOT_NAME_URI = "URI"; - + /** Name of the slot that is used for the unique ID of the repository (using only in XDS.b) */ public static final String SLOT_NAME_REPOSITORY_UNIQUE_ID = "repositoryUniqueId"; - + /** Name of the slot that is used for the intended recipients */ public static final String SLOT_NAME_INTENDED_RECIPIENT = "intendedRecipient"; - + /** Name of the slot that is used for the submission time */ public static final String SLOT_NAME_SUBMISSION_TIME = "submissionTime"; - + /** Name of the slot that is used for association labeling of the submission set */ public static final String SLOT_NAME_SUBMISSION_SET_STATUS = "SubmissionSetStatus"; @@ -247,13 +248,13 @@ public enum NodeRepresentationUsage {REQUIRED, PROHIBITED} /** Universal ID Type to be used for all HD data types used with XDS */ public static final String UNIVERSAL_ID_TYPE_OID = "ISO"; - - + + /** Node representation for the author classification */ public static final String NODE_REPRESENTATION_AUTHOR = ""; - + /** Node representation for the class code classification */ - public static final String NODE_REPRESENTATION_CLASSCODE = "classCode"; + public static final String NODE_REPRESENTATION_CLASSCODE = "classCode"; /** Node representation for the class code classification */ public static final String NODE_REPRESENTATION_CONFIDENTIALITY_CODE = "confidentialityCode"; diff --git a/src/site/changes.xml b/src/site/changes.xml index df678f966c..df66046353 100644 --- a/src/site/changes.xml +++ b/src/site/changes.xml @@ -23,7 +23,10 @@ Christian Ohr - + + + Fix missing objectType attribute for XML element classification (for SubmissionSet and Folder). + Fix error handling in CH:PPQ-2