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