returnComposedObjects must have the value true (WP34_D342_V2.2)
OCL
(not self.responseOption.oclIsUndefined()) and (not self.responseOption.returnComposedObjects.oclIsUndefined()) and self.responseOption.returnComposedObjects=true
returnType MUST be “LeafClassWithRepositoryItem” (XCF) (WP34_D342_V2.2)
OCL
(not self.responseOption.oclIsUndefined()) and (not self.responseOption.returnType.oclIsUndefined()) and self.responseOption.returnType=ReturnTypeType::LEAFCLASSWITHREPOSITORYITEM
adhocQuery must be not null (WP34_D342_V2.2)
OCL
not self.adhocQuery.oclIsUndefined()
AdhocQueryRequest id MUST be urn:uuid:f2072993-9478-41df-a603-8f016706efe8 which indicates a Fetch (which is an adaption of the findDocu- ments Query as defined in ITI TF-2a:3.18.1)
OCL
(not self.adhocQuery.oclIsUndefined()) and (not self.adhocQuery.id.oclIsUndefined()) and self.adhocQuery.id='urn:uuid:f2072993-9478-41df-a603-8f016706efe8'
$XDSDocumentEntryPatientId is required on PatientService:list (WP34_D342_V2.2)
OCL
(not self.slot->isEmpty()) and self.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined()) and (sl.name='$XDSDocumentEntryPatientId'))->size()=1
$XDSDocumentEntryStatus is required on PatientService:list (WP34_D342_V2.2)
OCL
(not self.slot->isEmpty()) and self.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined()) and (sl.name='$XDSDocumentEntryStatus'))->size()=1
$XDSDocumentEntryClassCode is required on PatientService:list (WP34_D342_V2.2)
OCL
(not self.slot->isEmpty()) and self.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined()) and (sl.name='$XDSDocumentEntryClassCode'))->size()=1
typeCode is required on PatientService:list (WP34_D342_V2.2 3.3.1.1)
OCL
(not self.slot->isEmpty()) and self.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined()) and (sl.name='typeCode'))->size()=1
contentTypeCode is required on PatientService:list (WP34_D342_V2.2 3.3.1.1)
OCL
(not self.slot->isEmpty()) and self.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined()) and (sl.name='contentTypeCode'))->size()=1
$XDSDocumentEntryStatus must have the value 'urn:oasis:names:tc:ebxml-regrep:StatusType:Approved' (WP34_D342_V2.2 3.3.1.1)
OCL
self.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined()) and (sl.name='$XDSDocumentEntryStatus'))->forAll(sl : SlotType1 |
(not sl.valueList.oclIsUndefined()) and
sl.valueList.value->size()=1 and
sl.matches(sl.valueList.value->first(),'[\\(\u0027]*urn:oasis:names:tc:ebxml-regrep:StatusType:Approved[\u0027\\)]*')
)
$XDSDocumentEntryClassCode must have the value '60591-5^^2.16.840.1.113883.6.1' (WP34_D342_V2.2 3.3.1.1)
OCL
self.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined()) and (sl.name='$XDSDocumentEntryClassCode'))->forAll(sl : SlotType1 | (not sl.valueList.oclIsUndefined()) and sl.valueList.value->size()=1 and sl.matches(sl.valueList.value->first(),'[\\(\u0027]*60591-5\\^\\^2.16.840.1.113883.6.1[\u0027\\)]*') )
$XDSDocumentEntryTypeCode must have the value (WP34_D342_V2.2 3.3.1.1)
OCL
self.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined()) and (sl.name='$XDSDocumentEntryTypeCode'))->forAll(sl : SlotType1 | (not sl.valueList.oclIsUndefined()) and sl.valueList.value->size()=1 and sl.matches(sl.valueList.value->first(),'[\\(\u0027]*60591-5\\^\\^2.16.840.1.113883.6.1[\u0027\\)]*') )
For the full success scenario the response status MUST be set to urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success or urn:ihe:iti:2007:ResponseStatusType:PartialSuccess (WP34_D342_V2.2 3.3.1.4)
OCL
((not self.status.oclIsUndefined()) and (self.status='urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success' or self.status='urn:ihe:iti:2007:ResponseStatusType:PartialSuccess')) or
self.registryObjectList.oclIsUndefined() or
self.registryObjectList.ExtrinsicObject->size()=0
It MUST at least contain one child <rim:ExtrinsicObject/> element, if status not success. (WP34_D342_V2.2 3.3.1.4)
OCL
self.registryObjectList.oclIsUndefined() or (not self.registryObjectList.ExtrinsicObject->isEmpty()) or
self.status.oclIsUndefined() or
self.status<>'urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success'
If document relationships are defined, an ebRIM association MUST be used for declaring the epSOS pivot coded document as a transformation of the source coded document (WP34_D342_V2.2 3.3.1.4)
OCL
self.registryObjectList.oclIsUndefined() or
self.registryObjectList.Association->isEmpty() or
self.registryObjectList.Association->select(ass : AssociationType1 | (not ass.associationType.oclIsUndefined()) and (ass.associationType='urn:ihe:iti:2007:AssociationType:XFRM'))->forAll( ass : AssociationType1 |
(not ass.sourceObject.oclIsUndefined()) and
(not ass.targetObject.oclIsUndefined()) and
(ass.classification->size()<2) and
ass.classification->forAll(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:abd807a3-4432-4053-87b4-fd82c643d1f3' and
( cl.nodeRepresentation.oclIsUndefined() or (cl.nodeRepresentation='epSOS pivot')) and
cl.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined()) and sl.name='codingScheme')->forAll(sl : SlotType1 | (not sl.valueList.oclIsUndefined()) and (sl.valueList.value->size()=1) and sl.valueList.value->first()='epSOS translation types' )
)
)
status MUST be urn:oasis:names:tc:ebxml-regrep:StatusType:Approved (WP34_D342_V2.2 3.3.1.4)
OCL
(not self.status.oclIsUndefined()) and self.status='urn:oasis:names:tc:ebxml-regrep:StatusType:Approved'
MimeType MUST be text/xml for both epSOS pivot CDA and CDA- wrapped PDF (WP34_D342_V2.2 3.3.1.4)
OCL
(not self.mimeType.oclIsUndefined()) and self.mimeType='text/xml'
status is required (WP34_D342_V2.2 3.3.1.4)
OCL
not self.status.oclIsUndefined()
mimetype required (WP34_D342_V2.2 3.3.1.4)
OCL
not self.mimeType.oclIsUndefined()
name required and must be Patient Summary (WP34_D342_V2.2 3.3.1.4)
OCL
(not self.name.oclIsUndefined()) and (self.name.localizedString->size()=1) and (not self.name.localizedString->first().value.oclIsUndefined()) and (self.name.localizedString->first().value='Patient Summary')
VersionInfo required and must be 1.1 (WP34_D342_V2.2 3.3.1.4)
OCL
(not self.versionInfo.oclIsUndefined()) and (not self.versionInfo.versionName.oclIsUndefined()) and self.versionInfo.versionName='1.1'
creationTime should have the structure DTM (WP34_D342_V2.2 3.3.1.4)
OCL
self.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined()) and sl.name='creationTime')->forAll(sl : SlotType1 | sl.valueList.oclIsUndefined() or
(sl.valueList.value->isEmpty()) or
(
(sl.valueList.value->size()=1) and
(sl.isDTM(sl.valueList.value->first()))
)
)
sourcePatientId required and unique (WP34_D342_V2.2 3.3.1.4)
OCL
self.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined()) and sl.name='sourcePatientId')->size()=1
sourcePatientInfo is prohibited (WP34_D342_V2.2 3.3.1.4)
OCL
self.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined()) and sl.name='sourcePatientInfo')->size()=0
classCode is required, it must be 60591-5 // urn:oid:2.16.840.1.113883.6.1 (WP34_D342_V2.2 3.3.1.4)
OCL
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a')->size()=1 and
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a')->forAll(cl : ClassificationType | (not cl.nodeRepresentation.oclIsUndefined()) and
cl.nodeRepresentation='60591-5'
)
eventCodeList prohibited (WP34_D342_V2.2 3.3.1.4)
OCL
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:2c6b8cb7-8b2a-4051-b291-b1ae6a575ef4')->size()=0
author prohibited (WP34_D342_V2.2 3.3.1.4)
OCL
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:93606bcf-9494-43ec-9b4e-a7748d1a838d')->size()=0
confidentialityCode required (WP34_D342_V2.2 3.3.1.4)
OCL
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f')->size()=1
confidentialityCode SHOULD be set to N (WP34_D342_V2.2 3.3.1.4)
OCL
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f')->forAll(cl : ClassificationType | (not cl.nodeRepresentation.oclIsUndefined()) and cl.nodeRepresentation='N' )
formatCode required and MUST be urn:epSOS:ps:ps:2010 for epSOS pivot CDA and urn:ihe:iti:xds-sd:pdf:2008 for epSOS source coded PDF (WP34_D342_V2.2 3.3.1.4)
OCL
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d')->size()=1 and
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d')->forAll(cl : ClassificationType | (not cl.nodeRepresentation.oclIsUndefined()) and
(cl.nodeRepresentation='urn:epSOS:ps:ps:2010' or cl.nodeRepresentation='urn:ihe:iti:xds-sd:pdf:2008')
)
healthcareFacilityTypeCode required (WP34_D342_V2.2 3.3.1.4)
OCL
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1')->size()=1
practiceSettingCode required (WP34_D342_V2.2 3.3.1.4)
OCL
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead')->size()=1 and
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead')->forAll(cl : ClassificationType | (not cl.nodeRepresentation.oclIsUndefined()) and cl.nodeRepresentation='Not Used' )
XDSDocumentEntry.uniqueId required (WP34_D342_V2.2 3.3.1.4)
OCL
self.externalIdentifier->select(ext : ExternalIdentifierType | (not ext.identificationScheme.oclIsUndefined()) and ext.identificationScheme='urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab')->size()=1
XDSDocumentEntry.PatientId required (WP34_D342_V2.2 3.3.1.4)
OCL
self.externalIdentifier->select(ext : ExternalIdentifierType | (not ext.identificationScheme.oclIsUndefined()) and ext.identificationScheme='urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427')->size()=1
allowed slot are creationTime, hash, languageCode, repositoryUniqueId, serviceStartTime, serviceEndTime, size, sourcePatientId (WP34_D342_V2.2 3.3.1.4)
OCL
self.slot->forAll(sl : SlotType1 | sl.name.oclIsUndefined() or sl.name='creationTime' or sl.name='hash' or sl.name='languageCode' or sl.name='repositoryUniqueId' or sl.name='serviceStartTime' or sl.name='serviceEndTime' or sl.name='size' or sl.name='sourcePatientId' )
allowed classification are classCode, confidentialityCode, formatCode, healthcareFacilityTypeCode, practiceSettingCode (WP34_D342_V2.2 3.3.1.4)
OCL
self.classification->forAll(cl : ClassificationType | cl.classificationScheme.oclIsUndefined() or
cl.classificationScheme='urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a' or
cl.classificationScheme='urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f' or
cl.classificationScheme='urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d' or
cl.classificationScheme='urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1' or
cl.classificationScheme='urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead'
)
external identifier allowed are XDSDocumentEntry.uniqueId,XDSDocumentEntry.PatientId (WP34_D342_V2.2 3.3.1.4)
OCL
self.externalIdentifier->forAll(ext : ExternalIdentifierType | ext.identificationScheme.oclIsUndefined() or
ext.identificationScheme='urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab' or
ext.identificationScheme='urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427'
)
additional epsos errorCode are 4101, 2102, 4701, 4702, 4703, 1102, 4201, 4202, 4203, 4204 (WP34_D342_V2.2 3.3.1.4)
OCL
(not self.errorCode.oclIsUndefined()) and
(not self.codeContext.oclIsUndefined()) and
(
(self.errorCode='4101' and self.codeContext='Rendering incomplete') or
(self.errorCode='2102' and self.codeContext='Source coded document must be considered') or
(self.errorCode='4701' and self.codeContext='No Consent') or
(self.errorCode='4702' and self.codeContext='Weak Authentication') or
(self.errorCode='4703' and self.codeContext='Insufficient Rights') or
(self.errorCode='1102' and self.codeContext='No Data') or
(self.errorCode='4201' and self.codeContext='Unsupported Feature') or
(self.errorCode='4202' and self.codeContext='Unknown Signifier') or
(self.errorCode='4203' and self.codeContext='Transcoding Error') or
(self.errorCode='4204' and self.codeContext='Unknown Filter') or
(self.errorCode='XDSMissingDocument') or
(self.errorCode='XDSMissingDocumentMetadata') or
(self.errorCode='XDSRegistryNotAvailable') or
(self.errorCode='XDSRegistryError') or
(self.errorCode='XDSRepositoryError') or
(self.errorCode='XDSRegistryDuplicateUniqueIdInMessage') or
(self.errorCode='XDSRepositoryDuplicateUniqueIdInMessage') or
(self.errorCode='XDSDuplicateUniqueIdInRegistry') or
(self.errorCode='XDSNonIdenticalHash') or
(self.errorCode='XDSRegistryBusy') or
(self.errorCode='XDSRepositoryBusy') or
(self.errorCode='XDSRegistryOutOfResources') or
(self.errorCode='XDSRepositoryOutOfResources') or
(self.errorCode='XDSRegistryMetadataError') or
(self.errorCode='XDSRepositoryMetadataError') or
(self.errorCode='XDSTooManyResults') or
(self.errorCode='XDSExtraMetadataNotSaved') or
(self.errorCode='XDSUnknownPatientId') or
(self.errorCode='XDSPatientIdDoesNotMatch') or
(self.errorCode='XDSUnknownStoredQuery') or
(self.errorCode='XDSStoredQueryMissingParam') or
(self.errorCode='XDSStoredQueryParamNumber') or
(self.errorCode='XDSRegistryDeprecatedDocumentError') or
(self.errorCode='XDSUnknownRepositoryId') or
(self.errorCode='XDSDocumentUniqueIdError') or
(self.errorCode='XDSResultNotSinglePatient') or
(self.errorCode='PartialFolderContentNotProcessed') or
(self.errorCode='PartialReplaceContentNotProcessed') or
(self.errorCode='XDSUnknownCommunity') or
(self.errorCode='XDSMissingHomeCommunityId') or
(self.errorCode='XDSUnavailableCommunity')
)
returnComposedObjects must have the value true (WP34_D342_V2.2)
OCL
(not self.responseOption.oclIsUndefined()) and (not self.responseOption.returnComposedObjects.oclIsUndefined()) and self.responseOption.returnComposedObjects=true
returnType MUST be “LeafClassWithRepositoryItem” (XCF) (WP34_D342_V2.2)
OCL
(not self.responseOption.oclIsUndefined()) and (not self.responseOption.returnType.oclIsUndefined()) and self.responseOption.returnType=ReturnTypeType::LEAFCLASSWITHREPOSITORYITEM
adhocQuery must be not null (WP34_D342_V2.2)
OCL
not self.adhocQuery.oclIsUndefined()
MUST be urn:uuid:f2072993-9478-41df-a603-8f016706efe8 which indicates a Fetch (which is an adaption of the findDocuments Query as defined in ITI TF-2a:3.18.1
OCL
(not self.adhocQuery.oclIsUndefined()) and (not self.adhocQuery.id.oclIsUndefined()) and self.adhocQuery.id='urn:uuid:f2072993-9478-41df-a603-8f016706efe8'
$XDSDocumentEntryPatientId is required onOrderService:list (WP34_D342_V2.2)
OCL
(not self.slot->isEmpty()) and self.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined()) and sl.name='$XDSDocumentEntryPatientId')->size()=1
$XDSDocumentEntryStatus is required on OrderService:list (WP34_D342_V2.2)
OCL
(not self.slot->isEmpty()) and self.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined()) and sl.name='$XDSDocumentEntryStatus')->size()=1
$XDSDocumentEntryClassCode is required on OrderService:list (WP34_D342_V2.2)
OCL
(not self.slot->isEmpty()) and self.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined()) and sl.name='$XDSDocumentEntryClassCode')->size()=1
$XDSDocumentEntryStatus must have the value 'urn:oasis:names:tc:ebxml-regrep:StatusType:Approved' (WP34_D342_V2.2 3.4.1.1)
OCL
self.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined()) and sl.name='$XDSDocumentEntryStatus')->forAll(sl : SlotType1 | (not sl.valueList.oclIsUndefined()) and sl.valueList.value->size()=1 and sl.matches(sl.valueList.value->first(),'[\\(\u0027]*urn:oasis:names:tc:ebxml-regrep:StatusType:Approved[\u0027\\)]*') )
$XDSDocumentEntryClassCode must have the value '57833-6^^2.16.840.1.113883.6.1' (WP34_D342_V2.2 3.41.1)
OCL
self.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined()) and sl.name='$XDSDocumentEntryClassCode')->forAll(sl : SlotType1 | (not sl.valueList.oclIsUndefined()) and sl.valueList.value->size()=1 and sl.matches(sl.valueList.value->first(),'[\\(\u0027]*57833-6\\^\\^2.16.840.1.113883.6.1[\u0027\\)]*') )
$XDSDocumentEntryTypeCode must have the value (WP34_D342_V2.2 3.4.1.1)
OCL
self.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined()) and sl.name='$XDSDocumentEntryTypeCode')->forAll(sl : SlotType1 | (not sl.valueList.oclIsUndefined()) and sl.valueList.value->size()=1 and sl.matches(sl.valueList.value->first(),'[\\(\u0027]*57833-6\\^\\^2.16.840.1.113883.6.1[\u0027\\)]*') )
For the full success scenario the response status MUST be set to urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success or urn:ihe:iti:2007:ResponseStatusType:PartialSuccess (WP34_D342_V2.2 3.3.1.4)
OCL
(
(not self.status.oclIsUndefined())
and
(self.status='urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success' or self.status='urn:ihe:iti:2007:ResponseStatusType:PartialSuccess')
)
or
self.registryObjectList.oclIsUndefined() or
self.registryObjectList.ExtrinsicObject->size()=0
It MUST at least contain one child <rim:ExtrinsicObject/> element if status is success. (WP34_D342_V2.2 3.3.1.4)
OCL
(self.registryObjectList.oclIsUndefined() or (not self.registryObjectList.ExtrinsicObject->isEmpty())) or
self.status.oclIsUndefined() or
self.status<>'urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success'
If document relationships are defined, an ebRIM association MUST be used for declaring the epSOS pivot coded document as a transformation of the source coded document (WP34_D342_V2.2 3.3.1.4)
OCL
self.registryObjectList.oclIsUndefined() or
self.registryObjectList.Association->isEmpty() or
self.registryObjectList.Association->select(ass : AssociationType1 | (not ass.associationType.oclIsUndefined()) and (ass.associationType='urn:ihe:iti:2007:AssociationType:XFRM'))->forAll( ass : AssociationType1 |
(not ass.sourceObject.oclIsUndefined()) and
(not ass.targetObject.oclIsUndefined()) and
(ass.classification->size()<2) and
ass.classification->forAll(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:abd807a3-4432-4053-87b4-fd82c643d1f3' and
( cl.nodeRepresentation.oclIsUndefined() or (cl.nodeRepresentation='epSOS pivot')) and
cl.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined()) and sl.name='codingScheme')->forAll(sl : SlotType1 | (not sl.valueList.oclIsUndefined()) and (sl.valueList.value->size()=1) and sl.valueList.value->first()='epSOS translation types' )
)
)
status MUST be urn:oasis:names:tc:ebxml-regrep:StatusType:Approved (WP34_D342_V2.2 3.4.1.4)
OCL
(not self.status.oclIsUndefined()) and self.status='urn:oasis:names:tc:ebxml-regrep:StatusType:Approved'
MimeType MUST be text/xml for both epSOS pivot CDA and CDA- wrapped PDF (WP34_D342_V2.2 3.4.1.4)
OCL
(not self.mimeType.oclIsUndefined()) and self.mimeType='text/xml'
status is required (WP34_D342_V2.2 3.4.1.4)
OCL
not self.status.oclIsUndefined()
mimetype required (WP34_D342_V2.2 3.4.1.4)
OCL
not self.mimeType.oclIsUndefined()
name required and MAY be empty (WP34_D342_V2.2 3.4.1.4)
OCL
(not self.name.oclIsUndefined())
VersionInfo required and must be 1 (WP34_D342_V2.2 3.4.1.4)
OCL
(not self.versionInfo.oclIsUndefined()) and (not self.versionInfo.versionName.oclIsUndefined()) and self.versionInfo.versionName='1'
creationTime should have the structure DTM (WP34_D342_V2.2 3.4.1.4)
OCL
self.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined()) and sl.name='creationTime')->forAll(sl : SlotType1 | sl.valueList.oclIsUndefined() or
(sl.valueList.value->isEmpty()) or
(
(sl.valueList.value->size()=1) and
(sl.isDTM(sl.valueList.value->first()))
)
)
sourcePatientId required and unique (WP34_D342_V2.2 3.4.1.4)
OCL
self.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined()) and sl.name='sourcePatientId')->size()=1
sourcePatientInfo is prohibited (WP34_D342_V2.2 3.4.1.4)
OCL
self.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined()) and sl.name='sourcePatientInfo')->size()=0
classCode is required, it must be 57833-6 // urn:oid:2.16.840.1.113883.6.1 (WP34_D342_V2.2 3.4.1.4)
OCL
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a')->size()=1 and
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a')->forAll(cl : ClassificationType |
(not cl.nodeRepresentation.oclIsUndefined()) and
cl.nodeRepresentation='57833-6'
)
eventCodeList prohibited (WP34_D342_V2.2 3.4.1.4)
OCL
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:2c6b8cb7-8b2a-4051-b291-b1ae6a575ef4')->size()=0
author prohibited (WP34_D342_V2.2 3.4.1.4)
OCL
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:93606bcf-9494-43ec-9b4e-a7748d1a838d')->size()=0
confidentialityCode required (WP34_D342_V2.2 3.4.1.4)
OCL
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f')->size()=1
confidentialityCode SHOULD be set to N (WP34_D342_V2.2 3.4.1.4)
OCL
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f')->forAll(cl : ClassificationType |
(not cl.nodeRepresentation.oclIsUndefined()) and cl.nodeRepresentation='N'
)
formatCode required and MUST be urn:epSOS:ep:pre:2010 for epSOS pivot CDA and urn:ihe:iti:xds-sd:pdf:2008 for epSOS source coded PDF (WP34_D342_V2.2 3.4.1.4)
OCL
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d')->size()=1 and
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d')->forAll(cl : ClassificationType | (not cl.nodeRepresentation.oclIsUndefined()) and
(cl.nodeRepresentation='urn:epSOS:ep:pre:2010' or cl.nodeRepresentation='urn:ihe:iti:xds-sd:pdf:2008')
)
healthcareFacilityTypeCode required (WP34_D342_V2.2 3.4.1.4)
OCL
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1')->size()=1
practiceSettingCode required (WP34_D342_V2.2 3.4.1.4)
OCL
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead')->size()=1 and
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead')->forAll(cl : ClassificationType |
(not cl.nodeRepresentation.oclIsUndefined()) and cl.nodeRepresentation='Not Used'
)
XDSDocumentEntry.uniqueId required (WP34_D342_V2.2 3.4.1.4)
OCL
self.externalIdentifier->select(ext : ExternalIdentifierType | (not ext.identificationScheme.oclIsUndefined()) and ext.identificationScheme='urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab')->size()=1
XDSDocumentEntry.PatientId required (WP34_D342_V2.2 3.4.1.4)
OCL
self.externalIdentifier->select(ext : ExternalIdentifierType | (not ext.identificationScheme.oclIsUndefined()) and ext.identificationScheme='urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427')->size()=1
allowed slot are creationTime, hash, languageCode, repositoryUniqueId, serviceStartTime, serviceEndTime, size, sourcePatientId (WP34_D342_V2.2 3.4.1.4)
OCL
self.slot->forAll(sl : SlotType1 | sl.name.oclIsUndefined() or sl.name='creationTime' or sl.name='hash' or sl.name='languageCode' or sl.name='repositoryUniqueId' or sl.name='serviceStartTime' or sl.name='serviceEndTime' or sl.name='size' or sl.name='sourcePatientId' )
allowed classification are classCode, confidentialityCode, formatCode, healthcareFacilityTypeCode, practiceSettingCode (WP34_D342_V2.2 3.4.1.4)
OCL
self.classification->forAll(cl : ClassificationType | cl.classificationScheme.oclIsUndefined() or
cl.classificationScheme='urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a' or
cl.classificationScheme='urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f' or
cl.classificationScheme='urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d' or
cl.classificationScheme='urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1' or
cl.classificationScheme='urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead'
)
external identifier allowed are XDSDocumentEntry.uniqueId,XDSDocumentEntry.PatientId (WP34_D342_V2.2 3.4.1.4)
OCL
self.externalIdentifier->forAll(ext : ExternalIdentifierType | ext.identificationScheme.oclIsUndefined() or
ext.identificationScheme='urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab' or
ext.identificationScheme='urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427'
)
additional epsos errorCode are 4101, 4102, 2102, 2104, 2105, 4701, 4702, 4703, 1101, 4203, 4103, 4104, 4202 (WP34_D342_V2.2 3.3.1.4)
OCL
(not self.errorCode.oclIsUndefined()) and
(not self.codeContext.oclIsUndefined()) and
(
(self.errorCode='4101' and self.codeContext='Rendering incomplete') or
(self.errorCode='4102' and self.codeContext='Collection incomplete') or
(self.errorCode='2102' and self.codeContext='Source coded document must be considered') or
(self.errorCode='2104' and self.codeContext='Dependencies not checked') or
(self.errorCode='2105' and self.codeContext='No reimbursement') or
(self.errorCode='4701' and self.codeContext='No Consent') or
(self.errorCode='4702' and self.codeContext='Weak Authentication') or
(self.errorCode='4703' and self.codeContext='Insufficient Rights') or
(self.errorCode='1101' and self.codeContext='No Data') or
(self.errorCode='4203' and self.codeContext='Transcoding Error') or
(self.errorCode='4103' and self.codeContext='Registry Failure') or
(self.errorCode='4104' and self.codeContext='Data Access Failure') or
(self.errorCode='4202' and self.codeContext='Unknown Filter') or
(self.errorCode='XDSMissingDocument') or
(self.errorCode='XDSMissingDocumentMetadata') or
(self.errorCode='XDSRegistryNotAvailable') or
(self.errorCode='XDSRegistryError') or
(self.errorCode='XDSRepositoryError') or
(self.errorCode='XDSRegistryDuplicateUniqueIdInMessage') or
(self.errorCode='XDSRepositoryDuplicateUniqueIdInMessage') or
(self.errorCode='XDSDuplicateUniqueIdInRegistry') or
(self.errorCode='XDSNonIdenticalHash') or
(self.errorCode='XDSRegistryBusy') or
(self.errorCode='XDSRepositoryBusy') or
(self.errorCode='XDSRegistryOutOfResources') or
(self.errorCode='XDSRepositoryOutOfResources') or
(self.errorCode='XDSRegistryMetadataError') or
(self.errorCode='XDSRepositoryMetadataError') or
(self.errorCode='XDSTooManyResults') or
(self.errorCode='XDSExtraMetadataNotSaved') or
(self.errorCode='XDSUnknownPatientId') or
(self.errorCode='XDSPatientIdDoesNotMatch') or
(self.errorCode='XDSUnknownStoredQuery') or
(self.errorCode='XDSStoredQueryMissingParam') or
(self.errorCode='XDSStoredQueryParamNumber') or
(self.errorCode='XDSRegistryDeprecatedDocumentError') or
(self.errorCode='XDSUnknownRepositoryId') or
(self.errorCode='XDSDocumentUniqueIdError') or
(self.errorCode='XDSResultNotSinglePatient') or
(self.errorCode='PartialFolderContentNotProcessed') or
(self.errorCode='PartialReplaceContentNotProcessed') or
(self.errorCode='XDSUnknownCommunity') or
(self.errorCode='XDSMissingHomeCommunityId') or
(self.errorCode='XDSUnavailableCommunity')
)
mimetype must be text/xml (WP34_D342_V2.2 3.5.1.1)
OCL
(not self.mimeType.oclIsUndefined()) and self.mimeType='text/xml'
status must be urn:oasis:names:tc:ebxml-regrep:StatusType:Approved (WP34_D342_V2.2 3.5.1.1)
OCL
(not self.status.oclIsUndefined() ) and self.status='urn:oasis:names:tc:ebxml-regrep:StatusType:Approved'
sourcePatientId MUST be of the same value as $XDSDocumentEntry.PatientId (WP34_D342_V2.2 3.5.1.1)
OCL
self.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined() ) and sl.name='sourcePatientId' )->forAll(sl : SlotType1 |
(not sl.valueList.oclIsUndefined()) and
(sl.valueList.value->size()=1) and
self.externalIdentifier->select(ext : ExternalIdentifierType | (not ext.identificationScheme.oclIsUndefined()) and ext.identificationScheme='urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427' )->forAll(ext : ExternalIdentifierType |
(not ext.value.oclIsUndefined()) and
ext.value=sl.valueList.value->first()
)
)
practiceSettingCode MUST be set to Not Used (WP34_D342_V2.2 3.5.1.1)
OCL
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and (cl.classificationScheme='urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead') )->forAll(cl : ClassificationType |
(not cl.nodeRepresentation.oclIsUndefined()) and
cl.nodeRepresentation='Not Used'
)
confidentialityCode SHOULD be set to N (WP34_D342_V2.2 3.5.1.1)
OCL
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f')->forAll(cl : ClassificationType |
(not cl.nodeRepresentation.oclIsUndefined()) and
cl.nodeRepresentation='N'
)
classCode must be set to 60593-1 (WP34_D342_V2.2 3.5.1.1)
OCL
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a')->forAll(cl : ClassificationType |
(not cl.nodeRepresentation.oclIsUndefined()) and
cl.nodeRepresentation='60593-1'
)
formatCode must be as defined in table 1C of [epSOS D3.5.2C] (WP34_D342_V2.2 3.5.1.1)
OCL
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d')->forAll(cl : ClassificationType |
(not cl.nodeRepresentation.oclIsUndefined()) and
(
cl.nodeRepresentation='urn:epSOS:ep:pre:2010' or
cl.nodeRepresentation='urn:epSOS:ep:dis:2010' or
cl.nodeRepresentation='urn:epSOS:ps:ps:2010' or
cl.nodeRepresentation='urn:ihe:iti:xds-sd:pdf:2008'
)
)
allowed status are Success, partial success or failure (WP34_D342_V2.2 3.5.1.4)
OCL
(not self.status.oclIsUndefined()) and (
self.status='urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success' or
self.status='urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Failure' or
self.status='urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:PartialSuccess'
)
if the response has a success status, allowed error severity are only warning (WP34_D342_V2.2 3.5.1.4)
OCL
(not self.status.oclIsUndefined()) and
(
(not (self.status='urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success')) or
(
self.registryErrorList.oclIsUndefined() or
self.registryErrorList.registryError->forAll(re : RegistryErrorType | (not re.severity.oclIsUndefined()) and re.severity='urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning')
)
)
if the status of the response is success, the only allowed error is 2201 (WP34_D342_V2.2 3.5.1.4)
OCL
(not self.status.oclIsUndefined()) and
(not (self.status='urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success')) or
(
self.registryErrorList.oclIsUndefined() or
self.registryErrorList.registryError->forAll(re : RegistryErrorType | (not re.errorCode.oclIsUndefined()) and re.errorCode='2201')
)
if failure or partial failure, the response MUST contain a RegistryErrorList element that indicates the failure condition (WP34_D342_V2.2 3.5.1.5)
OCL
(not self.status.oclIsUndefined()) and
(
self.status='urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success' or
(
(not self.registryErrorList.oclIsUndefined()) and
(not (self.registryErrorList.registryError->size()=0))
)
)
if the response is not success, all RegistryError must have the severity error (WP34_D342_V2.2 3.5.1.5)
OCL
(not self.status.oclIsUndefined()) and
(
self.status='urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success' or
(
(not self.registryErrorList.oclIsUndefined()) and
self.registryErrorList.registryError->forAll(re : RegistryErrorType | re.severity.oclIsUndefined() or re.severity='urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error')
)
)
allowed errors are those defined by IHE and 2201, 4105, 4106, 4702, 4704, 4107, 4108 (WP34_D342_V2.2 3.5.1.5)
OCL
(not self.errorCode.oclIsUndefined()) and
(not self.codeContext.oclIsUndefined()) and
(
(self.errorCode='2201' and self.codeContext='Processing deferred') or
(self.errorCode='4105' and self.codeContext='No match') or
(self.errorCode='4106' and self.codeContext='Invalid Dispensation') or
(self.errorCode='4702' and self.codeContext='Weak Authentication') or
(self.errorCode='4704' and self.codeContext='No Signature') or
(self.errorCode='4107' and self.codeContext='Original data missing') or
(self.errorCode='4108' and self.codeContext='Pivot data missing') or
(self.errorCode='XDSMissingDocument') or
(self.errorCode='XDSMissingDocumentMetadata') or
(self.errorCode='XDSRegistryNotAvailable') or
(self.errorCode='XDSRegistryError') or
(self.errorCode='XDSRepositoryError') or
(self.errorCode='XDSRegistryDuplicateUniqueIdInMessage') or
(self.errorCode='XDSRepositoryDuplicateUniqueIdInMessage') or
(self.errorCode='XDSDuplicateUniqueIdInRegistry') or
(self.errorCode='XDSNonIdenticalHash') or
(self.errorCode='XDSRegistryBusy') or
(self.errorCode='XDSRepositoryBusy') or
(self.errorCode='XDSRegistryOutOfResources') or
(self.errorCode='XDSRepositoryOutOfResources') or
(self.errorCode='XDSRegistryMetadataError') or
(self.errorCode='XDSRepositoryMetadataError') or
(self.errorCode='XDSTooManyResults') or
(self.errorCode='XDSExtraMetadataNotSaved') or
(self.errorCode='XDSUnknownPatientId') or
(self.errorCode='XDSPatientIdDoesNotMatch') or
(self.errorCode='XDSUnknownStoredQuery') or
(self.errorCode='XDSStoredQueryMissingParam') or
(self.errorCode='XDSStoredQueryParamNumber') or
(self.errorCode='XDSRegistryDeprecatedDocumentError') or
(self.errorCode='XDSUnknownRepositoryId') or
(self.errorCode='XDSDocumentUniqueIdError') or
(self.errorCode='XDSResultNotSinglePatient') or
(self.errorCode='PartialFolderContentNotProcessed') or
(self.errorCode='PartialReplaceContentNotProcessed') or
(self.errorCode='XDSUnknownCommunity') or
(self.errorCode='XDSMissingHomeCommunityId') or
(self.errorCode='XDSUnavailableCommunity')
)
ObjectRefList required (WP34_D342_V2.2 3.5.2.1)
OCL
not self.objectRefList.oclIsUndefined()
ObjectRef required (WP34_D342_V2.2 3.5.2.1)
OCL
(not self.objectRefList.oclIsUndefined()) and (self.objectRefList.objectRef->size()>0)
For each eDispensation object, submission set and association to discard there MUST be a single ObjectRef element (WP34_D342_V2.2 3.5.2.1)
OCL
(not self.objectRefList.oclIsUndefined()) and
self.objectRefList.objectRef->forAll(orr : ObjectRefType |
(not orr.id.oclIsUndefined()) and
(self.objectRefList.objectRef->select(orr2 : ObjectRefType | (not orr2.id.oclIsUndefined()) and orr2.id=orr.id)->size()=1)
)
ObjectRef id must not be null (WP34_D342_V2.2 3.5.2.1)
OCL
self.objectRefList.oclIsUndefined() or
self.objectRefList.objectRef->forAll(oref : ObjectRefType | (not oref.id.oclIsUndefined()))
status required
OCL
not self.status.oclIsUndefined()
status of registryResponse can be success, failure or partialSuccess
OCL
self.status.oclIsUndefined() or
self.status='urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success' or
self.status='urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Failure' or
self.status='urn:ihe:iti:2007:ResponseStatusType:PartialSuccess'
if failure, the response must have registryErrorList
OCL
(not self.status.oclIsUndefined()) and
(
self.status='urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success' or
(
(not self.registryErrorList.oclIsUndefined()) and
(self.registryErrorList.registryError->size()>0)
)
)
severity is required and must be urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error
OCL
(not self.severity.oclIsUndefined()) and self.severity='urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error'
accepted errorCodes are those of IHE and 4105, 4703, 2201
OCL
(not self.errorCode.oclIsUndefined()) and
(not self.codeContext.oclIsUndefined()) and
(
(self.errorCode='4105' and self.codeContext='No match') or
(self.errorCode='4703' and self.codeContext='Insufficient rights') or
(self.errorCode='2201' and self.codeContext='Processing deferred') or
(self.errorCode='XDSMissingDocument') or
(self.errorCode='XDSMissingDocumentMetadata') or
(self.errorCode='XDSRegistryNotAvailable') or
(self.errorCode='XDSRegistryError') or
(self.errorCode='XDSRepositoryError') or
(self.errorCode='XDSRegistryDuplicateUniqueIdInMessage') or
(self.errorCode='XDSRepositoryDuplicateUniqueIdInMessage') or
(self.errorCode='XDSDuplicateUniqueIdInRegistry') or
(self.errorCode='XDSNonIdenticalHash') or
(self.errorCode='XDSRegistryBusy') or
(self.errorCode='XDSRepositoryBusy') or
(self.errorCode='XDSRegistryOutOfResources') or
(self.errorCode='XDSRepositoryOutOfResources') or
(self.errorCode='XDSRegistryMetadataError') or
(self.errorCode='XDSRepositoryMetadataError') or
(self.errorCode='XDSTooManyResults') or
(self.errorCode='XDSExtraMetadataNotSaved') or
(self.errorCode='XDSUnknownPatientId') or
(self.errorCode='XDSPatientIdDoesNotMatch') or
(self.errorCode='XDSUnknownStoredQuery') or
(self.errorCode='XDSStoredQueryMissingParam') or
(self.errorCode='XDSStoredQueryParamNumber') or
(self.errorCode='XDSRegistryDeprecatedDocumentError') or
(self.errorCode='XDSUnknownRepositoryId') or
(self.errorCode='XDSDocumentUniqueIdError') or
(self.errorCode='XDSResultNotSinglePatient') or
(self.errorCode='PartialFolderContentNotProcessed') or
(self.errorCode='PartialReplaceContentNotProcessed') or
(self.errorCode='XDSUnknownCommunity') or
(self.errorCode='XDSMissingHomeCommunityId') or
(self.errorCode='XDSUnavailableCommunity')
)
mimetype required and must be text/xml (WP34_D342_V2.2 3.6.1.1)
OCL
(not self.mimeType.oclIsUndefined() ) and self.mimeType='text/xml'
status is required and must be urn:oasis:names:tc:ebxml-regrep:StatusType:Approved (WP34_D342_V2.2 3.6.1.1)
OCL
(not self.status.oclIsUndefined()) and self.status='urn:oasis:names:tc:ebxml-regrep:StatusType:Approved'
sourcePatientId MUST be of the same value as $XDSDocumen- tEntry.PatientId (WP34_D342_V2.2 3.6.1.1)
OCL
self.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined() ) and sl.name='sourcePatientId' )->forAll(sl : SlotType1 |
(not sl.valueList.oclIsUndefined()) and
(sl.valueList.value->size()=1) and
self.externalIdentifier->select(ext : ExternalIdentifierType | (not ext.identificationScheme.oclIsUndefined()) and ext.identificationScheme='urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427' )->forAll(ext : ExternalIdentifierType |
(not ext.value.oclIsUndefined()) and
ext.value=sl.valueList.value->first()
)
)
practiceSettingCode MUST be set to Not Used (WP34_D342_V2.2 3.6.1.1)
OCL
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and (cl.classificationScheme='urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead') )->forAll(cl : ClassificationType |
(not cl.nodeRepresentation.oclIsUndefined()) and
cl.nodeRepresentation='Not Used'
)
confidentialityCode SHOULD be set to N (WP34_D342_V2.2 3.6.1.1)
OCL
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f')->forAll(cl : ClassificationType |
(not cl.nodeRepresentation.oclIsUndefined()) and
cl.nodeRepresentation='N'
)
classCode must be set to 57016-8 (WP34_D342_V2.2 3.6.1.1)
OCL
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a')->forAll(cl : ClassificationType |
(not cl.nodeRepresentation.oclIsUndefined()) and
cl.nodeRepresentation='57016-8'
)
formatCode MUST be urn:ihe:iti:bppc-sd:2007 if a scanned consent PDF document is included and urn:ihe:iti:bppc:2007 other- wise. As code system 1.3.6.1.4.1.19376.1.2.3 MUST be used (WP34_D342_V2.2 3.6.1.1)
OCL
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d')->forAll(cl : ClassificationType |
(not cl.nodeRepresentation.oclIsUndefined()) and
(
cl.nodeRepresentation='urn:ihe:iti:bppc-sd:2007' or
cl.nodeRepresentation='urn:ihe:iti:bppc:2007'
)
)
allowed slot are creationTime, languageCode, sourcePatientId (WP34_D342_V2.2 3.6.1.1)
OCL
self.slot->forAll(sl : SlotType1 | sl.name.oclIsUndefined() or sl.name='creationTime' or sl.name='languageCode' or sl.name='sourcePatientId')
allowed classification are healthcareFacilityTypeCode, practiceSettingCode, confidentialityCode, $XDSDocumentClassCode, $XDSDocumentFormatCode, $XDSDocumentEventCode (WP34_D342_V2.2 3.6.1.1)
OCL
self.classification->forAll(cl : ClassificationType | cl.classificationScheme.oclIsUndefined() or
cl.classificationScheme='urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1' or
cl.classificationScheme='urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead' or
cl.classificationScheme='urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f' or
cl.classificationScheme='urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a' or
cl.classificationScheme='urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d' or
cl.classificationScheme='urn:uuid:2c6b8cb7-8b2a-4051-b291-b1ae6a575ef4'
)
allowed externalIdentifier are patientId and uniqueId (WP34_D342_V2.2 3.6.1.1)
OCL
self.externalIdentifier->forAll(ext : ExternalIdentifierType | ext.identificationScheme.oclIsUndefined() or ext.identificationScheme='urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab' or ext.identificationScheme='urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1')
the code system of eventCode must be 1.3.6.1.4.1.12559.11.10.1.3.2.4.1 (WP34_D342_V2.2 3.6.1.1)
OCL
self.classification->select(cl : ClassificationType | (not cl.classificationScheme.oclIsUndefined()) and cl.classificationScheme='urn:uuid:2c6b8cb7-8b2a-4051-b291-b1ae6a575ef4')->forAll(cl : ClassificationType |
(not cl.nodeRepresentation.oclIsUndefined()) and
(
cl.nodeRepresentation='1.3.6.1.4.1.12559.11.10.1.3.2.4.1.1' or
cl.nodeRepresentation='1.3.6.1.4.1.12559.11.10.1.3.2.4.1.2'
)
)
registryObjectList_required (WP34_D342_V2.2 3.6.1.1)
OCL
not self.registryObjectList.oclIsUndefined()
a single ExtrinsicObject element must be set on registryObjectList (WP34_D342_V2.2 , 3.6.1.1)
OCL
self.registryObjectList.oclIsUndefined() or (self.registryObjectList.ExtrinsicObject->size()=1)
status required and allowed status are success, failure or partial failure (WP34_D342_V2.2 3.6.1.5)
OCL
(not self.status.oclIsUndefined()) and
(
self.status='urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success' or
self.status='urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Failure' or
self.status='urn:ihe:iti:2007:ResponseStatusType:PartialSuccess'
)
if response is success, allowed registry error allowed can be only warnings (WP34_D342_V2.2 3.6.1.5)
OCL
self.status.oclIsUndefined() or
(not (self.status='urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success')) or
(
self.registryErrorList.oclIsUndefined() or
self.registryErrorList.registryError->forAll(re : RegistryErrorType | (not re.severity.oclIsUndefined()) and re.severity='urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning')
)
severity should be urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning for errorCode 2201, or it must be urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error for the other codes (WP34_D342_V2.2 3.6.1.5)
OCL
(not self.errorCode.oclIsUndefined()) and
(not self.severity.oclIsUndefined()) and
(
(self.errorCode='2201' and self.severity='urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning') or
self.severity='urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error'
)
errorCodes allowed are those defined on IHE (XDSMissingDocument, XDSMissingDocumentMetadata, XDSRegistryNotAvailable, XDSRegistryError, XDSRepositoryError, XDSRegistryDuplicateUniqueIdInMessage, XDSRepositoryDuplicateUniqueIdInMessage, XDSDuplicateUniqueIdInRegistry, XDSNonIdenticalHash, XDSRegistryBusy,XDSRepositoryBusy,XDSRegistryOutOfResources, XDSRepositoryOutOfResources, XDSRegistryMetadataError, XDSRepositoryMetadataError, XDSTooManyResults, XDSExtraMetadataNotSaved, XDSUnknownPatientId, XDSPatientIdDoesNotMatch,XDSUnknownStoredQuery, XDSStoredQueryMissingParam, XDSStoredQueryParamNumbe0r,XDSRegistryDeprecatedDocumentError, XDSUnknownRepositoryId, XDSDocumentUniqueIdError, XDSResultNotSinglePatient, PartialFolderContentNotProcessed, PartialReplaceContentNotProcessed, XDSUnknownCommunity, XDSMissingHomeCommunityId, XDSUnavailableCommunity ), or [errorCode, codeContext] shall be from be [4705, 'Policy Violation'], [4702, 'Weak Authentication'], [4706, 'Unknown policy'], [4701, 'No consent'], [2201, 'Processing deferred'] (WP34_D342_V2.2 3.6.1.5)
OCL
(not self.errorCode.oclIsUndefined()) and
(not self.codeContext.oclIsUndefined()) and
(
(self.errorCode='2201' and self.codeContext='Processing deferred') or
(self.errorCode='4705' and self.codeContext='Policy Violation') or
(self.errorCode='4702' and self.codeContext='Weak Authentication') or
(self.errorCode='4706' and self.codeContext='Unknown policy') or
(self.errorCode='4701' and self.codeContext='No consent') or
(self.errorCode='XDSMissingDocument') or
(self.errorCode='XDSMissingDocumentMetadata') or
(self.errorCode='XDSRegistryNotAvailable') or
(self.errorCode='XDSRegistryError') or
(self.errorCode='XDSRepositoryError') or
(self.errorCode='XDSRegistryDuplicateUniqueIdInMessage') or
(self.errorCode='XDSRepositoryDuplicateUniqueIdInMessage') or
(self.errorCode='XDSDuplicateUniqueIdInRegistry') or
(self.errorCode='XDSNonIdenticalHash') or
(self.errorCode='XDSRegistryBusy') or
(self.errorCode='XDSRepositoryBusy') or
(self.errorCode='XDSRegistryOutOfResources') or
(self.errorCode='XDSRepositoryOutOfResources') or
(self.errorCode='XDSRegistryMetadataError') or
(self.errorCode='XDSRepositoryMetadataError') or
(self.errorCode='XDSTooManyResults') or
(self.errorCode='XDSExtraMetadataNotSaved') or
(self.errorCode='XDSUnknownPatientId') or
(self.errorCode='XDSPatientIdDoesNotMatch') or
(self.errorCode='XDSUnknownStoredQuery') or
(self.errorCode='XDSStoredQueryMissingParam') or
(self.errorCode='XDSStoredQueryParamNumber') or
(self.errorCode='XDSRegistryDeprecatedDocumentError') or
(self.errorCode='XDSUnknownRepositoryId') or
(self.errorCode='XDSDocumentUniqueIdError') or
(self.errorCode='XDSResultNotSinglePatient') or
(self.errorCode='PartialFolderContentNotProcessed') or
(self.errorCode='PartialReplaceContentNotProcessed') or
(self.errorCode='XDSUnknownCommunity') or
(self.errorCode='XDSMissingHomeCommunityId') or
(self.errorCode='XDSUnavailableCommunity')
)
ObjectRefList required (WP34_D342_V2.2 3.6.2.1)
OCL
not self.objectRefList.oclIsUndefined()
ObjectRef required (WP34_D342_V2.2 3.6.2.1)
OCL
(not self.objectRefList.oclIsUndefined()) and (self.objectRefList.objectRef->size()>0)
For each consent document, submission set and association to discard there MUST be a single ObjectRef element (WP34_D342_V2.2 3.6.2.1)
OCL
(not self.objectRefList.oclIsUndefined()) and
self.objectRefList.objectRef->forAll(orr : ObjectRefType |
(not orr.id.oclIsUndefined()) and
(self.objectRefList.objectRef->select(orr2 : ObjectRefType | (not orr2.id.oclIsUndefined()) and orr2.id=orr.id)->size()=1)
)
ObjectRef id must not be null (WP34_D342_V2.2 3.6.2.1)
OCL
self.objectRefList.oclIsUndefined() or
self.objectRefList.objectRef->forAll(oref : ObjectRefType | (not oref.id.oclIsUndefined()))
status required (WP34_D342_V2.2 3.6.2.5)
OCL
not self.status.oclIsUndefined()
status of registryResponse can be success, failure or partialSuccess (WP34_D342_V2.2 3.6.2.5)
OCL
self.status.oclIsUndefined() or
self.status='urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success' or
self.status='urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Failure' or
self.status='urn:ihe:iti:2007:ResponseStatusType:PartialSuccess'
if failure, the response must have registryErrorList (WP34_D342_V2.2 3.6.2.5)
OCL
(not self.status.oclIsUndefined()) and
(
self.status='urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success' or
(
(not self.registryErrorList.oclIsUndefined()) and
(self.registryErrorList.registryError->size()>0)
)
)
severity is required and must be urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error (WP34_D342_V2.2 3.6.2.5)
OCL
(not self.severity.oclIsUndefined()) and self.severity='urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error'
accepted errorCodes are those of IHE and 4105, 4703, 4109 (WP34_D342_V2.2 3.6.2.5)
OCL
(not self.errorCode.oclIsUndefined()) and
(not self.codeContext.oclIsUndefined()) and
(
(self.errorCode='4105' and self.codeContext='No match') or
(self.errorCode='4703' and self.codeContext='Insufficient rights') or
(self.errorCode='4109' and self.codeContext='Deprecation rejected') or
(self.errorCode='XDSMissingDocument') or
(self.errorCode='XDSMissingDocumentMetadata') or
(self.errorCode='XDSRegistryNotAvailable') or
(self.errorCode='XDSRegistryError') or
(self.errorCode='XDSRepositoryError') or
(self.errorCode='XDSRegistryDuplicateUniqueIdInMessage') or
(self.errorCode='XDSRepositoryDuplicateUniqueIdInMessage') or
(self.errorCode='XDSDuplicateUniqueIdInRegistry') or
(self.errorCode='XDSNonIdenticalHash') or
(self.errorCode='XDSRegistryBusy') or
(self.errorCode='XDSRepositoryBusy') or
(self.errorCode='XDSRegistryOutOfResources') or
(self.errorCode='XDSRepositoryOutOfResources') or
(self.errorCode='XDSRegistryMetadataError') or
(self.errorCode='XDSRepositoryMetadataError') or
(self.errorCode='XDSTooManyResults') or
(self.errorCode='XDSExtraMetadataNotSaved') or
(self.errorCode='XDSUnknownPatientId') or
(self.errorCode='XDSPatientIdDoesNotMatch') or
(self.errorCode='XDSUnknownStoredQuery') or
(self.errorCode='XDSStoredQueryMissingParam') or
(self.errorCode='XDSStoredQueryParamNumber') or
(self.errorCode='XDSRegistryDeprecatedDocumentError') or
(self.errorCode='XDSUnknownRepositoryId') or
(self.errorCode='XDSDocumentUniqueIdError') or
(self.errorCode='XDSResultNotSinglePatient') or
(self.errorCode='PartialFolderContentNotProcessed') or
(self.errorCode='PartialReplaceContentNotProcessed') or
(self.errorCode='XDSUnknownCommunity') or
(self.errorCode='XDSMissingHomeCommunityId') or
(self.errorCode='XDSUnavailableCommunity')
)
A failure location MUST NOT be given (WP34_D342_V2.2 3.6.2.5)
OCL
self.location.oclIsUndefined()
required metadatas in findDocuments in epSOS-2 transaction / request, are $XDSDocumentEntryPatientId, $XDSDocumentEntryClassCode, $XDSDocumentEntryStatus (WP3A_epSOS_EED_IHE_XCA_Binding, 2.1)
OCL
self.slot->exists(sl : SlotType1 | (not sl.name.oclIsUndefined()) and sl.name='$XDSDocumentEntryPatientId') and
self.slot->exists(sl : SlotType1 | (not sl.name.oclIsUndefined()) and sl.name='$XDSDocumentEntryClassCode') and
self.slot->exists(sl : SlotType1 | (not sl.name.oclIsUndefined()) and sl.name='$XDSDocumentEntryStatus')
Possible metadatas in findDocuments in epSOS-2 transaction / request, are $XDSDocumentEntryPatientId, $XDSDocumentEntryClassCode, $XDSDocumentEntryStatus, $XDSDocumentEntryFormatCode, $XDSDocumentEntryType (WP3A_epSOS_EED_IHE_XCA_Binding, 2.1)
OCL
self.slot->forAll(sl : SlotType1 |
(not sl.name.oclIsUndefined()) and
(
sl.name='$XDSDocumentEntryPatientId' or
sl.name='$XDSDocumentEntryClassCode' or
sl.name='$XDSDocumentEntryStatus' or
sl.name='$XDSDocumentEntryFormatCode' or
sl.name='$XDSDocumentEntryType'
)
)
XDSDocumentEntryPatientId MUST provide the HL7v3 II coded patient identifier (WP3A_epSOS_EED_IHE_XCA_Binding, 2.1)
OCL
self.slot->select(sl : SlotType1 |
(not sl.name.oclIsUndefined()) and
sl.name='$XDSDocumentEntryPatientId'
)->forAll(sl1 : SlotType1 |
sl1.valueList.oclIsUndefined() or
sl1.valueList.value->forAll(val : String |
sl1.valueList.extractValues(val)->forAll(st : String |
sl1.isCX_XDS(st)
)
)
)
$XDSDocumentEntryClassCode's values SHALL be from the valueSet 1.3.6.1.4.1.12559.11.4.1.5 http://gazelle.ihe.net/SVSSimulator/rest/RetrieveValueSetForSimulator?id=1.3.6.1.4.1.12559.11.4.1.5 (WP3A_epSOS_EED_IHE_XCA_Binding, 2.1)
OCL
self.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined()) and sl.name='$XDSDocumentEntryClassCode')->forAll(sl1 : SlotType1 |
sl1.valueList.oclIsUndefined() or
sl1.valueList.value->forAll(val : String |
sl1.valueList.extractValues(val)->forAll(st : String |
sl1.valueList.extractCodeFromAdhocValue(st)->size()=2 and
sl1.matchesValueSet('1.3.6.1.4.1.12559.11.4.1.5', sl1.valueList.extractCodeFromAdhocValue(st)->asSequence()->at(1), sl1.valueList.extractCodeFromAdhocValue(st)->asSequence()->at(2), null, null)
)
)
)
$XDSDocumentEntryFormatCode's values SHALL be from the valueSet 1.3.6.1.4.1.12559.11.4.1.3 http://gazelle.ihe.net/SVSSimulator/rest/RetrieveValueSetForSimulator?id=1.3.6.1.4.1.12559.11.4.1.3 (WP3A_epSOS_EED_IHE_XCA_Binding, 2.1)
OCL
self.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined()) and sl.name='$XDSDocumentEntryFormatCode')->forAll(sl1 : SlotType1 |
sl1.valueList.oclIsUndefined() or
sl1.valueList.value->forAll(val : String |
sl1.valueList.extractValues(val)->forAll(st : String |
sl1.valueList.extractCodeFromAdhocValue(st)->size()=2 and
sl1.matchesValueSet('1.3.6.1.4.1.12559.11.4.1.3', sl1.valueList.extractCodeFromAdhocValue(st)->asSequence()->at(1), sl1.valueList.extractCodeFromAdhocValue(st)->asSequence()->at(2), null, null)
)
)
)
$XDSDocumentEntryType's value SHALL be 'urn:uuid:34268e47-fdf5-41a6-ba33-82133c465248' or 'urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1' (WP3A_epSOS_EED_IHE_XCA_Binding, 2.1)
OCL
self.slot->select(sl : SlotType1 | (not sl.name.oclIsUndefined()) and sl.name='$XDSDocumentEntryType')->forAll(sl1 : SlotType1 |
sl1.valueList.oclIsUndefined() or
sl1.valueList.value->forAll(val : String |
sl1.valueList.extractValues(val)->forAll(st : String |
st='urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1' or
st='urn:uuid:34268e47-fdf5-41a6-ba33-82133c465248'
)
)
)
An ebRIM association MUST be used for declaring the epSOS pivot coded document as a transformation of the source coded document, for ePrescription document (WP3A_epSOS_EED_IHE_XCA_Binding, 2.2.1)
OCL
self.Association->exists(asso : AssociationType1 |
(not asso.associationType.oclIsUndefined()) and
asso.associationType='urn:ihe:iti:2007:AssociationType:XFRM' and
(
asso.classification->size()=0 or
asso.classification->forAll(cl : ClassificationType |
(not cl.classificationScheme.oclIsUndefined()) and
cl.classificationScheme='urn:uuid:abd807a3-4432-4053-87b4-fd82c643d1f3'
)
)
)
The ebRIM association used for declaring the epSOS pivot coded document as a transformation of the source coded document, shall have a sourceObject and targetObject (WP3A_epSOS_EED_IHE_XCA_Binding, 2.2.1)
OCL
self.Association->select(asso : AssociationType1 |
(not asso.associationType.oclIsUndefined()) and
asso.associationType='urn:ihe:iti:2007:AssociationType:XFRM' and
(
asso.classification->size()=0 or
asso.classification->forAll(cl : ClassificationType |
(not cl.classificationScheme.oclIsUndefined()) and
cl.classificationScheme='urn:uuid:abd807a3-4432-4053-87b4-fd82c643d1f3'
)
)
)->size()=0
or
self.Association->select(asso : AssociationType1 |
(not asso.associationType.oclIsUndefined()) and
asso.associationType='urn:ihe:iti:2007:AssociationType:XFRM' and
(
asso.classification->size()=0 or
asso.classification->forAll(cl : ClassificationType |
(not cl.classificationScheme.oclIsUndefined()) and
cl.classificationScheme='urn:uuid:abd807a3-4432-4053-87b4-fd82c643d1f3'
)
)
)->exists(asso : AssociationType1 |
(not asso.sourceObject.oclIsUndefined()) and
(not asso.targetObject.oclIsUndefined())
)
The classification in the ebRIM association used for declaring the epSOS pivot coded document as a transformation of the source coded document, shall have nodeRepresentation='epSOS pivot' if it is present (WP3A_epSOS_EED_IHE_XCA_Binding, 2.2.1)
OCL
self.Association->select(asso : AssociationType1 |
(not asso.associationType.oclIsUndefined()) and
asso.associationType='urn:ihe:iti:2007:AssociationType:XFRM' and
(
asso.classification->size()=0 or
asso.classification->forAll(cl : ClassificationType |
(not cl.classificationScheme.oclIsUndefined()) and
cl.classificationScheme='urn:uuid:abd807a3-4432-4053-87b4-fd82c643d1f3'
)
)
)->forAll(asso : AssociationType1 |
asso.classification->select(cl : ClassificationType |
(not cl.classificationScheme.oclIsUndefined()) and
cl.classificationScheme='urn:uuid:abd807a3-4432-4053-87b4-fd82c643d1f3'
)->forAll(cl : ClassificationType |
cl.nodeRepresentation.oclIsUndefined() or
cl.nodeRepresentation='epSOS pivot'
)
)
The classification in the ebRIM association used for declaring the epSOS pivot coded document as a transformation of the source coded document, shall have slot/ValueList/Value='epSOS translation types' if it is present (WP3A_epSOS_EED_IHE_XCA_Binding, 2.2.1)
OCL
self.Association->select(asso : AssociationType1 |
(not asso.associationType.oclIsUndefined()) and
asso.associationType='urn:ihe:iti:2007:AssociationType:XFRM' and
(
asso.classification->size()=0 or
asso.classification->forAll(cl : ClassificationType |
(not cl.classificationScheme.oclIsUndefined()) and
cl.classificationScheme='urn:uuid:abd807a3-4432-4053-87b4-fd82c643d1f3'
)
)
)->forAll(asso : AssociationType1 |
asso.classification->select(cl : ClassificationType |
(not cl.classificationScheme.oclIsUndefined()) and
cl.classificationScheme='urn:uuid:abd807a3-4432-4053-87b4-fd82c643d1f3'
)->forAll(cl : ClassificationType |
cl.slot->select(sl : SlotType1 |
(not sl.name.oclIsUndefined()) and
sl.name='codingScheme'
)->forAll(sl : SlotType1 |
sl.valueList.oclIsUndefined() or
(sl.valueList.value->size()=1 and sl.valueList.value->at(1)='epSOS translation types')
)
)
)
If at least one document was processed successfully, the response status MUST be set to 'urn:ihe:iti:2007:ResponseStatusType:PartialSuccess' if there are errors returned by the responding gateway (WP3A_epSOS_EED_IHE_XCA_Binding, 2.2.2)
OCL
self.status.oclIsUndefined() or
self.status<>'urn:ihe:iti:2007:ResponseStatusType:PartialSuccess' or
(
(not self.registryErrorList.oclIsUndefined()) and
self.registryErrorList.registryError->size()>0
)
The severity of each registry error message MUST be set to 'urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error' (WP3A_epSOS_EED_IHE_XCA_Binding, 2.2.2)
OCL
self.registryErrorList.registryError->select(re : RegistryErrorType |
(not re.errorCode.oclIsUndefined()) and
(
re.errorCode='4701' or
re.errorCode='4702' or
re.errorCode='4703' or
re.errorCode='4202' or
re.errorCode='4203' or
re.errorCode='4204' or
re.errorCode='4205' or
re.errorCode='4206'
)
)->forAll(re : RegistryErrorType |
(not re.severity.oclIsUndefined()) and
re.severity='urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error'
)
allowed code for registryErrorList/registryError/@errorCode attribute are specified in Table 4.1-11 of [IHE ITI TF-3], and in the section 2.2.2, epSOS XCA binding (WP3A_epSOS_EED_IHE_XCA_Binding, 2.2.2)
OCL
self.registryErrorList.oclIsUndefined() or
self.registryErrorList.registryError->forAll(re : RegistryErrorType |
(not re.errorCode.oclIsUndefined()) and
(
(re.errorCode='XDSMissingDocument') or
(re.errorCode='XDSMissingDocumentMetadata') or
(re.errorCode='XDSRegistryNotAvailable') or
(re.errorCode='XDSRegistryError') or
(re.errorCode='XDSRepositoryError') or
(re.errorCode='XDSRegistryDuplicateUniqueIdInMessage') or
(re.errorCode='XDSRepositoryDuplicateUniqueIdInMessage') or
(re.errorCode='XDSDuplicateUniqueIdInRegistry') or
(re.errorCode='XDSNonIdenticalHash') or
(re.errorCode='XDSRegistryBusy') or
(re.errorCode='XDSRepositoryBusy') or
(re.errorCode='XDSRegistryOutOfResources') or
(re.errorCode='XDSRepositoryOutOfResources') or
(re.errorCode='XDSRegistryMetadataError') or
(re.errorCode='XDSRepositoryMetadataError') or
(re.errorCode='XDSTooManyResults') or
(re.errorCode='XDSExtraMetadataNotSaved') or
(re.errorCode='XDSUnknownPatientId') or
(re.errorCode='XDSPatientIdDoesNotMatch') or
(re.errorCode='XDSUnknownStoredQuery') or
(re.errorCode='XDSStoredQueryMissingParam') or
(re.errorCode='XDSStoredQueryParamNumber') or
(re.errorCode='XDSRegistryDeprecatedDocumentError') or
(re.errorCode='XDSUnknownRepositoryId') or
(re.errorCode='XDSDocumentUniqueIdError') or
(re.errorCode='XDSResultNotSinglePatient') or
(re.errorCode='PartialFolderContentNotProcessed') or
(re.errorCode='PartialReplaceContentNotProcessed') or
(re.errorCode='XDSUnknownCommunity') or
(re.errorCode='XDSMissingHomeCommunityId') or
(re.errorCode='XDSUnavailableCommunity') or
(re.errorCode='4701') or
(re.errorCode='4702') or
(re.errorCode='4703') or
(re.errorCode='1102') or
(re.errorCode='4201') or
(re.errorCode='4202') or
(re.errorCode='4203') or
(re.errorCode='4204') or
(re.errorCode='4205') or
(re.errorCode='4206')
)
)
These error codes, when specified, the queryResponse shall have a status='urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Failure' : 4701, 4702, 4703, 4202, 4203, 4204, 4205, 4206 (WP3A_epSOS_EED_IHE_XCA_Binding, 2.2.2)
OCL
self.registryErrorList.oclIsUndefined() or
self.registryErrorList.registryError->select(re : RegistryErrorType |
(not re.errorCode.oclIsUndefined()) and
(
re.errorCode='4701' or
re.errorCode='4702' or
re.errorCode='4703' or
re.errorCode='4202' or
re.errorCode='4203' or
re.errorCode='4204' or
re.errorCode='4205' or
re.errorCode='4206'
)
)->size()=0 or
(
(not self.status.oclIsUndefined()) and
self.status='urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Failure'
)
status MUST be 'urn:oasis:names:tc:ebxml-regrep:StatusType:Approved' (WP3A_epSOS_EED_IHE_XDR_Binding, 2.1)
OCL
(not self.status.oclIsUndefined()) and self.status='urn:oasis:names:tc:ebxml-regrep:StatusType:Approved'
practiceSettingCode is required and SHALL have nodeRepresentation='Not Used' (WP3A_epSOS_EED_IHE_XDR_Binding, 2.1)
OCL
self.classification->select(cl : ClassificationType|
(not cl.classificationScheme.oclIsUndefined()) and
cl.classificationScheme='urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead'
)->forAll(cl : ClassificationType |
(not cl.nodeRepresentation.oclIsUndefined()) and
cl.nodeRepresentation='Not Used'
)
confidentialityCode MUST be provided for XDR compatibility.Value SHOULD be set to 'N' (WP3A_epSOS_EED_IHE_XDR_Binding, 2.1)
OCL
self.classification->select(cl : ClassificationType|
(not cl.classificationScheme.oclIsUndefined()) and
cl.classificationScheme='urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f'
)->forAll(cl : ClassificationType |
(not cl.nodeRepresentation.oclIsUndefined()) and
cl.nodeRepresentation='N'
)
Other metadata than the ones listed SHOULD NOT be provided by the service provider : creationTime, languageCode, sourcePatientID, healthcareFacilityTypeCode, practiceSettingCode, confidentialityCode, typeCode, XDSDocumentClassCode, XDSDocumentFormatCode, XDSDocumentEntry.PatientId, XDSDocument.UniqueId (WP3A_epSOS_EED_IHE_XDR_Binding, 2.1)
OCL
self.slot->forAll(sl : SlotType1 |
sl.name.oclIsUndefined() or
sl.name='creationTime' or
sl.name='languageCode' or
sl.name='sourcePatientId'
)
and
self.classification->forAll(cl : ClassificationType |
cl.classificationScheme.oclIsUndefined() or
cl.classificationScheme='urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1' or -- healthcareFacilityTypeCode
cl.classificationScheme='urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead' or -- practiceSettingCode
cl.classificationScheme='urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f' or -- confidentialityCode
cl.classificationScheme='urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a' or -- XDSDocumentClassCode
cl.classificationScheme='urn:uuid:f0306f51-975f-434e-a61c-c59651d33983' or -- XDSDocument.typeCode
cl.classificationScheme='urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d' -- XDSDocumentFormatCode
)
and
self.externalIdentifier->forAll(ext : ExternalIdentifierType |
ext.identificationScheme.oclIsUndefined() or
ext.identificationScheme='urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427' or -- XDSDocumentEntry.PatientId
ext.identificationScheme='urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab' -- XDSDocument.UniqueId
)
status MUST be 'urn:oasis:names:tc:ebxml-regrep:StatusType:Approved' (WP3A_epSOS_EED_IHE_XDR_Binding, 2.1)
OCL
(not self.status.oclIsUndefined()) and self.status='urn:oasis:names:tc:ebxml-regrep:StatusType:Approved'
practiceSettingCode is required and SHALL have nodeRepresentation='Not Used' (WP3A_epSOS_EED_IHE_XDR_Binding, 2.1)
OCL
self.classification->select(cl : ClassificationType|
(not cl.classificationScheme.oclIsUndefined()) and
cl.classificationScheme='urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead'
)->forAll(cl : ClassificationType |
(not cl.nodeRepresentation.oclIsUndefined()) and
cl.nodeRepresentation='Not Used'
)
confidentialityCode MUST be provided for XDR compatibility.Value SHOULD be set to 'N' (WP3A_epSOS_EED_IHE_XDR_Binding, 2.1)
OCL
self.classification->select(cl : ClassificationType|
(not cl.classificationScheme.oclIsUndefined()) and
cl.classificationScheme='urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f'
)->forAll(cl : ClassificationType |
(not cl.nodeRepresentation.oclIsUndefined()) and
cl.nodeRepresentation='N'
)
Other metadata than the ones listed SHOULD NOT be provided by the service provider : creationTime, languageCode, sourcePatientID, healthcareFacilityTypeCode, practiceSettingCode, confidentialityCode, XDSDocumentClassCode, XDSDocumentFormatCode, XDSDocumentEntry.PatientId, XDSDocument.UniqueId (WP3A_epSOS_EED_IHE_XDR_Binding, 2.1)
OCL
self.slot->forAll(sl : SlotType1 |
sl.name.oclIsUndefined() or
sl.name='creationTime' or
sl.name='languageCode' or
sl.name='sourcePatientId'
)
and
self.classification->forAll(cl : ClassificationType |
cl.classificationScheme.oclIsUndefined() or
cl.classificationScheme='urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1' or -- healthcareFacilityTypeCode
cl.classificationScheme='urn:uuid:cccf5598-8b07-4b77-a05e-ae952c785ead' or -- practiceSettingCode
cl.classificationScheme='urn:uuid:f4f85eac-e6cb-4883-b524-f2705394840f' or -- confidentialityCode
cl.classificationScheme='urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a' or -- XDSDocumentClassCode
cl.classificationScheme='urn:uuid:f0306f51-975f-434e-a61c-c59651d33983' or -- XDSDocument.typeCode
cl.classificationScheme='urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d' -- XDSDocumentFormatCode
)
and
self.externalIdentifier->forAll(ext : ExternalIdentifierType |
ext.identificationScheme.oclIsUndefined() or
ext.identificationScheme='urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427' or -- XDSDocumentEntry.PatientId
ext.identificationScheme='urn:uuid:2e82c1f6-a085-4c72-9da3-8640a32e42ab' -- XDSDocument.UniqueId
)
if status=urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success, all rs:RegistryError if exists shall have severity='urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning' (WP3A_epSOS_EED_IHE_XDR_Binding, 2.2.1)
OCL
self.status.oclIsUndefined() or
self.status<>'urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Success' or
self.registryErrorList.oclIsUndefined() or
self.registryErrorList.registryError->forAll(rg : RegistryErrorType |
rg.severity.oclIsUndefined() or
rg.severity='urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning'
)
if registryError list contains error codes (urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error), the status of the response shall be urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Failure or urn:ihe:iti:2007:ResponseStatusType:PartialSuccess (WP3A_epSOS_EED_IHE_XDR_Binding, 2.2.1)
OCL
self.registryErrorList.oclIsUndefined() or
self.registryErrorList.registryError->select(re : RegistryErrorType |
(not re.severity.oclIsUndefined()) and
re.severity='urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error'
)->size()=0 or
(
(not self.status.oclIsUndefined()) and
(
self.status='urn:oasis:names:tc:ebxml-regrep:ResponseStatusType:Failure' or
self.status='urn:ihe:iti:2007:ResponseStatusType:PartialSuccess'
)
)
allowed code for registryErrorList/registryError/@errorCode attribute are specified in Table 4.1-11 of [IHE ITI TF-3], and in the section 2.2.2, epSOS XDR binding (WP3A_epSOS_EED_IHE_XDR_Binding, 2.2.2)
OCL
self.registryErrorList.oclIsUndefined() or
self.registryErrorList.registryError->forAll(re : RegistryErrorType |
(not re.errorCode.oclIsUndefined()) and
(
(re.errorCode='XDSMissingDocument') or
(re.errorCode='XDSMissingDocumentMetadata') or
(re.errorCode='XDSRegistryNotAvailable') or
(re.errorCode='XDSRegistryError') or
(re.errorCode='XDSRepositoryError') or
(re.errorCode='XDSRegistryDuplicateUniqueIdInMessage') or
(re.errorCode='XDSRepositoryDuplicateUniqueIdInMessage') or
(re.errorCode='XDSDuplicateUniqueIdInRegistry') or
(re.errorCode='XDSNonIdenticalHash') or
(re.errorCode='XDSRegistryBusy') or
(re.errorCode='XDSRepositoryBusy') or
(re.errorCode='XDSRegistryOutOfResources') or
(re.errorCode='XDSRepositoryOutOfResources') or
(re.errorCode='XDSRegistryMetadataError') or
(re.errorCode='XDSRepositoryMetadataError') or
(re.errorCode='XDSTooManyResults') or
(re.errorCode='XDSExtraMetadataNotSaved') or
(re.errorCode='XDSUnknownPatientId') or
(re.errorCode='XDSPatientIdDoesNotMatch') or
(re.errorCode='XDSUnknownStoredQuery') or
(re.errorCode='XDSStoredQueryMissingParam') or
(re.errorCode='XDSStoredQueryParamNumber') or
(re.errorCode='XDSRegistryDeprecatedDocumentError') or
(re.errorCode='XDSUnknownRepositoryId') or
(re.errorCode='XDSDocumentUniqueIdError') or
(re.errorCode='XDSResultNotSinglePatient') or
(re.errorCode='PartialFolderContentNotProcessed') or
(re.errorCode='PartialReplaceContentNotProcessed') or
(re.errorCode='ParitalTransformNotProcessed') or
(re.errorCode='ParitalAppendContentNotProcessed') or
(re.errorCode='ParitalTransformReplaceNotProcessed') or
(re.errorCode='DocumentQueued') or
(re.errorCode='XDSUnknownCommunity') or
(re.errorCode='XDSMissingHomeCommunityId') or
(re.errorCode='XDSUnavailableCommunity') or
(re.errorCode='2201') or
(re.errorCode='4702') or
(re.errorCode='4704') or
(re.errorCode='4107') or
(re.errorCode='4108') or
(re.errorCode='4105') or
(re.errorCode='4106')
)
)
the severity of the following error is urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error : 4702, 4704, 4107, 4108, 4105, 4106 (WP3A_epSOS_EED_IHE_XDR_Binding, 2.2.1)
OCL
self.registryErrorList.oclIsUndefined() or
self.registryErrorList.registryError->select(re : RegistryErrorType |
(not re.errorCode.oclIsUndefined()) and
(
(re.errorCode='4702') or
(re.errorCode='4704') or
(re.errorCode='4107') or
(re.errorCode='4108') or
(re.errorCode='4105') or
(re.errorCode='4106')
)
)->forAll(re : RegistryErrorType |
(not re.severity.oclIsUndefined()) and
re.severity='urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error'
)
when using errorCode=2201, the severity SHALL be urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning (WP3A_epSOS_EED_IHE_XDR_Binding, 2.2.1)
OCL
self.errorCode.oclIsUndefined() or
self.errorCode<>'2201' or
(
(not self.severity.oclIsUndefined()) and
self.severity='urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning'
)
mimeType must be 'text/xml' (WP3A_epSOS_EED_IHE_XCA_Binding, 2.2)
OCL
(not self.mimeType.oclIsUndefined()) and self.mimeType='text/xml'
sourcePatientId MUST be the same value as $XDSDocumentEntry.PatientId (WP3A_epSOS_EED_IHE_XCA_Binding, 2.2)
OCL
self.slot->select(sl : SlotType1 |
(not sl.name.oclIsUndefined()) and
sl.name='sourcePatientId'
)->forAll(sl : SlotType1 |
(not sl.valueList.oclIsUndefined()) and
sl.valueList.value->forAll(st : String |
sl.valueList.extractValues(st)->asSequence()->forAll(st1 : String |
self.externalIdentifier->select(ext : ExternalIdentifierType |
(not ext.identificationScheme.oclIsUndefined()) and
ext.identificationScheme='urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427' and
(not ext.value.oclIsUndefined())
)->size()>0 and
st1=self.externalIdentifier->any(ext : ExternalIdentifierType |
(not ext.identificationScheme.oclIsUndefined()) and
ext.identificationScheme='urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427' and
(not ext.value.oclIsUndefined())
).value
)
)
)
healthcareFacilityTypeCode MUST be provided for XCA compatibility and correct addressing. It shall be conform to the valueSet http://gazelle.ihe.net/SVSSimulator/rest/RetrieveValueSetForSimulator?id=1.3.6.1.4.1.12559.11.4.1.7 (WP3A_epSOS_EED_IHE_XCA_Binding, 2.2)
OCL
self.classification->select(cl : ClassificationType|
(not cl.classificationScheme.oclIsUndefined()) and
cl.classificationScheme='urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1'
)->forAll(cl : ClassificationType |
cl.slot->select(sl : SlotType1 |
(not sl.name.oclIsUndefined()) and
sl.name='codingScheme'
)->forAll(sl : SlotType1 |
(not sl.valueList.oclIsUndefined()) and
sl.valueList.value->forAll(val : String |
sl.valueList.matchesValueSet('1.3.6.1.4.1.12559.11.4.1.7', cl.nodeRepresentation, val, null, null)
)
)
)
XDSDocumentEntry.classCode MUST be provided from the valueSet http://gazelle.ihe.net/SVSSimulator/rest/RetrieveValueSetForSimulator?id=1.3.6.1.4.1.12559.11.4.1.5 (WP3A_epSOS_EED_IHE_XCA_Binding, 2.2)
OCL
self.classification->select(cl : ClassificationType|
(not cl.classificationScheme.oclIsUndefined()) and
cl.classificationScheme='urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a'
)->forAll(cl : ClassificationType |
cl.slot->select(sl : SlotType1 |
(not sl.name.oclIsUndefined()) and
sl.name='codingScheme'
)->forAll(sl : SlotType1 |
(not sl.valueList.oclIsUndefined()) and
sl.valueList.value->forAll(val : String |
sl.valueList.matchesValueSet('1.3.6.1.4.1.12559.11.4.1.5', cl.nodeRepresentation, val, null, null)
)
)
)
XDSDocumentEntry.formatCode MUST be provided from the valueSet http://gazelle.ihe.net/SVSSimulator/rest/RetrieveValueSetForSimulator?id=1.3.6.1.4.1.12559.11.4.1.3 (WP3A_epSOS_EED_IHE_XCA_Binding, 2.2)
OCL
self.classification->select(cl : ClassificationType|
(not cl.classificationScheme.oclIsUndefined()) and
cl.classificationScheme='urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d'
)->forAll(cl : ClassificationType |
cl.slot->select(sl : SlotType1 |
(not sl.name.oclIsUndefined()) and
sl.name='codingScheme'
)->forAll(sl : SlotType1 |
(not sl.valueList.oclIsUndefined()) and
sl.valueList.value->forAll(val : String |
sl.valueList.matchesValueSet('1.3.6.1.4.1.12559.11.4.1.3', cl.nodeRepresentation, val, null, null)
)
)
)
XDSDocumentEntry.PatientId SHALL be encoded as hl7v3 II datatype (WP3A_epSOS_EED_IHE_XCA_Binding, 2.2)
OCL
self.externalIdentifier->select(ext : ExternalIdentifierType |
(not ext.identificationScheme.oclIsUndefined()) and
ext.identificationScheme='urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427'
)->forAll(ext : ExternalIdentifierType |
(not ext.value.oclIsUndefined()) and
ext.isCX_XDS(ext.value)
)
mimeType must be 'text/xml' (WP3A_epSOS_EED_IHE_XCA_Binding, 2.2)
OCL
(not self.mimeType.oclIsUndefined()) and self.mimeType='text/xml'
sourcePatientId MUST be the same value as $XDSDocumentEntry.PatientId (WP3A_epSOS_EED_IHE_XCA_Binding, 2.2)
OCL
self.slot->select(sl : SlotType1 |
(not sl.name.oclIsUndefined()) and
sl.name='sourcePatientId'
)->forAll(sl : SlotType1 |
(not sl.valueList.oclIsUndefined()) and
sl.valueList.value->forAll(st : String |
sl.valueList.extractValues(st)->asSequence()->forAll(st1 : String |
self.externalIdentifier->select(ext : ExternalIdentifierType |
(not ext.identificationScheme.oclIsUndefined()) and
ext.identificationScheme='urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427' and
(not ext.value.oclIsUndefined())
)->size()>0 and
st1=self.externalIdentifier->any(ext : ExternalIdentifierType |
(not ext.identificationScheme.oclIsUndefined()) and
ext.identificationScheme='urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427' and
(not ext.value.oclIsUndefined())
).value
)
)
)
healthcareFacilityTypeCode MUST be provided for XCA compatibility and correct addressing. It shall be conform to the valueSet http://gazelle.ihe.net/SVSSimulator/rest/RetrieveValueSetForSimulator?id=1.3.6.1.4.1.12559.11.4.1.7 (WP3A_epSOS_EED_IHE_XCA_Binding, 2.2)
OCL
self.classification->select(cl : ClassificationType|
(not cl.classificationScheme.oclIsUndefined()) and
cl.classificationScheme='urn:uuid:f33fb8ac-18af-42cc-ae0e-ed0b0bdb91e1'
)->forAll(cl : ClassificationType |
cl.slot->select(sl : SlotType1 |
(not sl.name.oclIsUndefined()) and
sl.name='codingScheme'
)->forAll(sl : SlotType1 |
(not sl.valueList.oclIsUndefined()) and
sl.valueList.value->forAll(val : String |
sl.valueList.matchesValueSet('1.3.6.1.4.1.12559.11.4.1.7', cl.nodeRepresentation, val, null, null)
)
)
)
XDSDocumentEntry.classCode MUST be provided from the valueSet http://gazelle.ihe.net/SVSSimulator/rest/RetrieveValueSetForSimulator?id=1.3.6.1.4.1.12559.11.4.1.5 (WP3A_epSOS_EED_IHE_XCA_Binding, 2.2)
OCL
self.classification->select(cl : ClassificationType|
(not cl.classificationScheme.oclIsUndefined()) and
cl.classificationScheme='urn:uuid:41a5887f-8865-4c09-adf7-e362475b143a'
)->forAll(cl : ClassificationType |
cl.slot->select(sl : SlotType1 |
(not sl.name.oclIsUndefined()) and
sl.name='codingScheme'
)->forAll(sl : SlotType1 |
(not sl.valueList.oclIsUndefined()) and
sl.valueList.value->forAll(val : String |
sl.valueList.matchesValueSet('1.3.6.1.4.1.12559.11.4.1.5', cl.nodeRepresentation, val, null, null)
)
)
)
XDSDocumentEntry.formatCode MUST be provided from the valueSet http://gazelle.ihe.net/SVSSimulator/rest/RetrieveValueSetForSimulator?id=1.3.6.1.4.1.12559.11.4.1.3 (WP3A_epSOS_EED_IHE_XCA_Binding, 2.2)
OCL
self.classification->select(cl : ClassificationType|
(not cl.classificationScheme.oclIsUndefined()) and
cl.classificationScheme='urn:uuid:a09d5840-386c-46f2-b5ad-9c3699a4309d'
)->forAll(cl : ClassificationType |
cl.slot->select(sl : SlotType1 |
(not sl.name.oclIsUndefined()) and
sl.name='codingScheme'
)->forAll(sl : SlotType1 |
(not sl.valueList.oclIsUndefined()) and
sl.valueList.value->forAll(val : String |
sl.valueList.matchesValueSet('1.3.6.1.4.1.12559.11.4.1.3', cl.nodeRepresentation, val, null, null)
)
)
)
XDSDocumentEntry.PatientId SHALL be encoded as hl7v3 II datatype (WP3A_epSOS_EED_IHE_XCA_Binding, 2.2)
OCL
self.externalIdentifier->select(ext : ExternalIdentifierType |
(not ext.identificationScheme.oclIsUndefined()) and
ext.identificationScheme='urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427'
)->forAll(ext : ExternalIdentifierType |
(not ext.value.oclIsUndefined()) and
ext.isCX_XDS(ext.value)
)