RetrieveImagingDocumetnSetRequest SHALL have one or more StudyRequest elements (RAD TF Vol3, 4.69.5) OCL self.studyRequest->size()>0 studyRequest elements SHALL have studyInstanceUID attribute (RAD TF Vol3, 4.69.5) OCL self.studyRequest->forAll(sr : StudyRequestType | (not sr.studyInstanceUID.oclIsUndefined()) and (sr.studyInstanceUID<>'')) transferSyntaxUIDList is a required element (RAD TF Vol3, 4.69.5) OCL not self.transferSyntaxUIDList.oclIsUndefined() One or more TransferSyntaxUID are required (RAD TF Vol3, 4.69.5) OCL (not self.transferSyntaxUIDList.oclIsUndefined()) and self.transferSyntaxUIDList.transferSyntaxUID->size()>0 each element of seriesRequest SHALL constains a seriesInstanceUID (RAD TF Vol3, 4.69.5) OCL self.seriesRequest->forAll(sr : SeriesRequestType | (not sr.seriesInstanceUID.oclIsUndefined()) and (sr.seriesInstanceUID<>'') ) seach StudyRequest SHALL have one or more SeriesRequest (RAD TF Vol3, 4.69.5) OCL self.seriesRequest->size()>0 Each SeriesRequest SHALL have on or more DocumentRequest (RAD TF Vol3, 4.69.5) OCL self.seriesRequest->forAll(sr : SeriesRequestType | sr.documentRequest->size()>0) Each DocumentRequest SHALL have a repositoryUniqueId (RAD TF Vol3, 4.69.5) OCL self.seriesRequest->forAll(sr : SeriesRequestType | sr.documentRequest->forAll(dr : DocumentRequestType | (not dr.repositoryUniqueId.oclIsUndefined()) and (dr.repositoryUniqueId<>'') ) ) documentUniqueId required on each documentRequest (RAD TF Vol3, 4.69.5) OCL self.seriesRequest->forAll(sr : SeriesRequestType | sr.documentRequest->forAll(dr : DocumentRequestType | (not dr.documentUniqueId.oclIsUndefined()) and (dr.documentUniqueId<>'') ) ) registryResponse required (TF RAD Vol 3, 4.69.5) OCL not self.registryResponse.oclIsUndefined() if DocumentResponse present, it shall contains repositoryUniqueId (TF RAD Vol 3, 4.69.5) OCL self.documentResponse->forAll(doc : DocumentResponseType | not doc.repositoryUniqueId.oclIsUndefined()) if DocumentResponse present, it shall contains documentUniqueId (TF RAD Vol 3, 4.69.5) OCL self.documentResponse->forAll(doc : DocumentResponseType | not doc.documentUniqueId.oclIsUndefined()) if DocumentResponse present, it shall contains Document element (TF RAD Vol 3, 4.69.5) OCL self.documentResponse->forAll(doc : DocumentResponseType | not doc.document.oclIsUndefined()) if DocumentResponse present, it shall contains mimeType element (TF RAD Vol 3, 4.69.5) OCL self.documentResponse->forAll(doc : DocumentResponseType | not doc.mimeType.oclIsUndefined()) RegistryResponse@sstatus SHALL be one of urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success, urn:ihe:iti:2007:ResponseStatusType:PartialSuccess, urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Failure (TF RAD Vol 3, 4.69.5) OCL self.registryResponse.oclIsUndefined() or ( (not self.registryResponse.status.oclIsUndefined()) and ( self.registryResponse.status='urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success' or self.registryResponse.status='urn:ihe:iti:2007:ResponseStatusType:PartialSuccess' or self.registryResponse.status='urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Failure' ) ) allowed error codes on Retrieve Imaging Document Set transaction are XDSRepositoryError, XDSRepositoryBusy, XDSRepositoryOutOfResources, XDSUnknownRepositoryId, XDSDocumentUniqueIdError, XDSResultNotSinglePatient, XDSUnknownCommunity, XDSMissingHomeCommunityId, XDSUnavailableCommunity.(TF RAD Vol 3, 4.69.5) OCL self.registryResponse.oclIsUndefined() or self.registryResponse.registryErrorList.oclIsUndefined() or self.registryResponse.registryErrorList.registryError->forAll(re : RegistryErrorType | (not re.errorCode.oclIsUndefined()) and ( (re.errorCode='XDSRepositoryError') or (re.errorCode='XDSRepositoryBusy') or (re.errorCode='XDSRepositoryOutOfResources') or (re.errorCode='XDSUnknownRepositoryId') or (re.errorCode='XDSDocumentUniqueIdError') or (re.errorCode='XDSResultNotSinglePatient') or (re.errorCode='XDSUnknownCommunity') or (re.errorCode='XDSMissingHomeCommunityId') or (re.errorCode='XDSUnavailableCommunity') ) ) ResponseSlotList is not used in this transaction (TF RAD Vol 3, 4.69.5) OCL self.registryResponse.oclIsUndefined() or self.registryResponse.responseSlotList.oclIsUndefined() RegistryResponse@requestId is not used in this transaction (TF RAD Vol 3, 4.69.5) OCL self.registryResponse.oclIsUndefined() or self.registryResponse.requestId.oclIsUndefined() if a registryError is reported, it SHALL contains severity, errorCode, codeContext, and location attributes. And the severity SHALL be error or warning (TF RAD Vol 3, 4.69.5) OCL self.registryResponse.oclIsUndefined() or self.registryResponse.registryErrorList.oclIsUndefined() or self.registryResponse.registryErrorList.registryError->forAll(re : RegistryErrorType | (not re.severity.oclIsUndefined()) and ( re.severity='urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error' or re.severity='urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning' ) and (not re.errorCode.oclIsUndefined()) and (not re.location.oclIsUndefined()) and (not re.codeContext.oclIsUndefined()) ) if no error or warning were returned, a DocumentResponse/Document element SHALL be present (TF RAD Vol 3, 4.69.5) OCL ( (not self.registryResponse.oclIsUndefined()) and (not self.registryResponse.registryErrorList.oclIsUndefined()) and self.registryResponse.registryErrorList.registryError->size()>0 ) or ( (self.documentResponse->size()>0) and self.documentResponse->forAll(doc : DocumentResponseType | not doc.document.oclIsUndefined()) ) If errors reported, no document shall be returned related to the error (TF RAD Vol 3, 4.69.5) OCL self.registryResponse.oclIsUndefined() or self.registryResponse.registryErrorList.oclIsUndefined() or self.registryResponse.registryErrorList.registryError->forAll(err : RegistryErrorType | (err.severity.oclIsUndefined()) or err.severity<>'urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error' or self.documentResponse->isEmpty() or self.documentResponse->select(dr : DocumentResponseType | (not dr.documentUniqueId.oclIsUndefined()) and dr.documentUniqueId=err.location)->size()=0 ) homeCommunityId shall be present if the responder is an Initiating Imaging Gateway (IHE RAD Suppl XCA-I, 4.69.5) OCL (not self.homeCommunityId.oclIsUndefined()) and (self.homeCommunityId <> '') homeCommunityId shall be present (IHE RAD Suppl XCA-I, 4.75.1) OCL (not self.homeCommunityId.oclIsUndefined()) and (self.homeCommunityId <> '')