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 <> '')