Constraint Descriptor : asipd2lmfin095 (type: org.eclipse.emf.ecore.impl.DynamicEObjectImpl@46ab007f (eClass: org.eclipse.emf.ecore.impl.EClassImpl@4adb618 (name: OclInvalid_Class) (instanceClassName: null) (abstract: false, interface: false)), kind: Context)

Constraint : asipd2lmfin095

Constraint Name
asipd2lmfin095 (type: org.eclipse.emf.ecore.impl.DynamicEObjectImpl@46ab007f (eClass: org.eclipse.emf.ecore.impl.EClassImpl@4adb618 (name: OclInvalid_Class) (instanceClassName: null) (abstract: false, interface: false)), kind: Context)
Package
asipd2lmfin
Description
In Specifications Techniques De La FIN, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.2.250.1.213.1.1.1.27']/hl7:participant/hl7:associatedEntity/hl7:telecom shall verify this requirement : Erreur de conformité CI-SIS : , n'est pas conforme à une adresse de télécommunication préfixe:chaîne (avec préfixe = tel, fax, mailto, http, ftp ou mllp) ou est vide et sans nullFlavor, ou contient un nullFlavor non admis.
OCL
self.participant.associatedEntity.telecom->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '( (count(@*) = 1 and name(@*) = \u0027nullFlavor\u0027 and (@* = \u0027UNK\u0027 or @* = \u0027NASK\u0027 or @* = \u0027ASKU\u0027 or @* = \u0027NAV\u0027 or @* = \u0027MSK\u0027)) or (substring-after(@value, \u0027:\u0027) and ( substring-before(@value, \u0027:\u0027) = \u0027tel\u0027 or substring-before(@value, \u0027:\u0027) = \u0027fax\u0027 or substring-before(@value, \u0027:\u0027) = \u0027mailto\u0027 or substring-before(@value, \u0027:\u0027) = \u0027http\u0027 or substring-before(@value, \u0027:\u0027) = \u0027ftp\u0027 or substring-before(@value, \u0027:\u0027) = \u0027mllp\u0027)) )') )