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